{
 "id": "epkqa3z4es",
 "slug": "simple-algorithm",
 "title": "SIMPLE algorithm",
 "updated": "2026-10-15",
 "topic_path": [
  {
   "id": "technology",
   "label": "Technology and the built world",
   "api_url": "https://www.edgepedia.org/api/v1/topics/technology"
  },
  {
   "id": "technology.computing",
   "label": "Computing and digital systems",
   "api_url": "https://www.edgepedia.org/api/v1/topics/technology.computing"
  },
  {
   "id": "technology.computing.ai",
   "label": "Artificial intelligence and data",
   "api_url": "https://www.edgepedia.org/api/v1/topics/technology.computing.ai"
  },
  {
   "id": "technology.computing.ai.algorithms",
   "label": "Algorithms and computational methods",
   "api_url": "https://www.edgepedia.org/api/v1/topics/technology.computing.ai.algorithms"
  },
  {
   "id": "technology.computing.ai.numerical_string_geometry",
   "label": "Numerical, string, and geometric algorithms",
   "api_url": "https://www.edgepedia.org/api/v1/topics/technology.computing.ai.numerical_string_geometry"
  },
  {
   "id": "technology.computing.ai.numerical_string_geometry.numerical_analysis_methods",
   "label": "Numerical methods and approximation",
   "api_url": "https://www.edgepedia.org/api/v1/topics/technology.computing.ai.numerical_string_geometry.numerical_analysis_methods"
  }
 ],
 "geo": [
  {
   "id": "geo.nongeo.t1946.technology.computing.ai.numerical_string_geometry.numerical_analysis_methods",
   "label": "Non-geographic · 1946 to 2000: Numerical methods and approximation",
   "api_url": "https://www.edgepedia.org/api/v1/geo/geo.nongeo.t1946.technology.computing.ai.numerical_string_geometry.numerical_analysis_methods",
   "path": [
    {
     "id": "geo.nongeo",
     "label": "Non-geographic",
     "api_url": "https://www.edgepedia.org/api/v1/geo/geo.nongeo"
    },
    {
     "id": "geo.nongeo.t1946",
     "label": "Non-geographic · 1946 to 2000",
     "api_url": "https://www.edgepedia.org/api/v1/geo/geo.nongeo.t1946"
    },
    {
     "id": "geo.nongeo.t1946.technology",
     "label": "Technology and the built world",
     "api_url": "https://www.edgepedia.org/api/v1/geo/geo.nongeo.t1946.technology"
    },
    {
     "id": "geo.nongeo.t1946.technology.computing",
     "label": "Computing and digital systems",
     "api_url": "https://www.edgepedia.org/api/v1/geo/geo.nongeo.t1946.technology.computing"
    },
    {
     "id": "geo.nongeo.t1946.technology.computing.ai",
     "label": "Artificial intelligence and data",
     "api_url": "https://www.edgepedia.org/api/v1/geo/geo.nongeo.t1946.technology.computing.ai"
    },
    {
     "id": "geo.nongeo.t1946.technology.computing.ai.algorithms",
     "label": "Algorithms and computational methods",
     "api_url": "https://www.edgepedia.org/api/v1/geo/geo.nongeo.t1946.technology.computing.ai.algorithms"
    },
    {
     "id": "geo.nongeo.t1946.technology.computing.ai.numerical_string_geometry",
     "label": "Numerical, string, and geometric algorithms",
     "api_url": "https://www.edgepedia.org/api/v1/geo/geo.nongeo.t1946.technology.computing.ai.numerical_string_geometry"
    },
    {
     "id": "geo.nongeo.t1946.technology.computing.ai.numerical_string_geometry.numerical_analysis_methods",
     "label": "Numerical methods and approximation",
     "api_url": "https://www.edgepedia.org/api/v1/geo/geo.nongeo.t1946.technology.computing.ai.numerical_string_geometry.numerical_analysis_methods"
    }
   ]
  }
 ],
 "excerpt": "The SIMPLE algorithm (Semi-Implicit Method for Pressure-Linked Equations) is an iterative pressure-correction method for computing incompressible fluid flows, introduced by Patankar and Spalding in 1972 and still standard in CFD software.",
 "snippet": "The SIMPLE algorithm (Semi-Implicit Method for Pressure-Linked Equations) is an iterative pressure-correction method for computing incompressible fluid flows, introduced by Patankar and Spalding in 1972 and still standard in CFD software.",
 "node": "technology.computing.ai.numerical_string_geometry.numerical_analysis_methods",
 "markdown": "# SIMPLE algorithm\n\nThe SIMPLE algorithm (Semi-Implicit Method for Pressure-Linked Equations) is an iterative pressure-correction procedure for computing incompressible fluid flows, introduced by S.V. Patankar and D.B. Spalding in 1972.<sup>[1](https://doi.org/10.1016/0017-9310%2872%2990054-3)</sup> It relates pressure corrections to velocity corrections so that each outer iteration ends with a velocity and pressure field whose face fluxes satisfy the discretized continuity equation.<sup>[2](https://www.afs.enea.it/project/neptunius/docs/fluent/html/th/node373.htm)</sup> Van Doormaal and Raithby record that it dominated for a decade the numerical simulation of [incompressible flows](https://www.edgepedia.org/incompressible-flow) after its appearance <sup>[3](https://doi.org/10.1080/01495728408961817)</sup>, and it remains a standard pressure–velocity coupling option in ANSYS Fluent and, in modified form, in OpenFOAM.<sup>[2](https://www.afs.enea.it/project/neptunius/docs/fluent/html/th/node373.htm)</sup><sup> • </sup><sup>[4](https://www.sciencedirect.com/science/article/abs/pii/S0017931023000522)</sup>\n\n| Fact | Detail |\n|---|---|\n| Full name and origin | Semi-Implicit Method for Pressure-Linked Equations; Patankar and Spalding, 1972 <sup>[1](https://doi.org/10.1016/0017-9310%2872%2990054-3)</sup> |\n| Output | Velocity and pressure fields whose corrected face flux satisfies the discrete continuity equation identically at every outer iteration <sup>[2](https://www.afs.enea.it/project/neptunius/docs/fluent/html/th/node373.htm)</sup> |\n| Core equation | Poisson-type pressure-correction equation \\( \\nabla \\cdot \\left( \\frac{1}{A} \\nabla p' \\right) = \\nabla \\cdot \\mathbf{u}^{*} \\) <sup>[5](https://novasolver.jp/en/fluid/solver-methods/index.html)</sup> |\n| Typical pressure under-relaxation | 0.1 to 0.3 for steady flows; 0.3 to 0.9 for transient flows <sup>[6](http://www.prague-sum.com/download/2016/Peric_lectures_SIMPLE.pdf)</sup> |\n| Algorithm family | SIMPLER, SIMPLEC, SIMPLEX, SIMPLEST, SIMPLEM, PRIME, and PISO <sup>[7](https://doi.org/10.1016/j.matcom.2020.09.010)</sup> |\n| Convergence example | On a \\( 22^{2} \\) lid-driven cavity at Re = 100, SIMPLER needed 121 outer iterations versus 405 for SIMPLE <sup>[8](https://pypi.org/project/pysimpler-fvm/)</sup> |\n| Main cost | The pressure-correction linear solve is the principal bottleneck of the algorithm <sup>[9](https://repository.tudelft.nl/record/uuid:3f770348-5900-4129-a3c4-357a0dd90437)</sup> |\n\n## How it works\n\nSIMPLE proceeds by a successive guess-and-correct cycle: each iteration computes an intermediate velocity field satisfying the linearized momentum equations for a guessed pressure distribution, then invokes mass conservation to adjust the velocities and pressures.<sup>[10](https://ntrl.ntis.gov/NTRL/dashboard/searchResults/titleDetail/N7322238.xhtml)</sup>\n\n**Two approximations** define the method's character: the initial velocity and pressure are given independently, neglecting their interconnection, and the velocity corrections at neighboring grid points are discarded when the pressure-correction equation is derived.<sup>[11](http://nht.xjtu.edu.cn/paper/en/2005211new.pdf)</sup> The neglect tends to overpredict the pressure correction, so under-relaxation of the correction is needed to stabilize the iteration.<sup>[11](http://nht.xjtu.edu.cn/paper/en/2005211new.pdf)</sup>\n\nThe pressure-correction equation is a Poisson equation, \\( \\nabla \\cdot \\left( \\frac{1}{A} \\nabla p' \\right) = \\nabla \\cdot \\mathbf{u}^{*} \\), where \\( \\mathbf{u}^{*} \\) is the intermediate velocity and \\( A \\) the momentum-equation coefficient, with updates \\( p^{n+1} = p^{n} + \\alpha_{p} \\, p' \\) and \\( \\mathbf{u}^{n+1} = \\mathbf{u}^{*} - \\frac{1}{A} \\nabla p' \\). The corrected face flux then satisfies the discrete continuity equation identically each iteration, while the momentum equation is only approximately satisfied because of the introduced approximation.<sup>[2](https://www.afs.enea.it/project/neptunius/docs/fluent/html/th/node373.htm)</sup><sup> • </sup><sup>[6](http://www.prague-sum.com/download/2016/Peric_lectures_SIMPLE.pdf)</sup>\n\nOn collocated grids, where velocity and pressure live at the same nodes, direct interpolation produces oscillatory (checkerboard) pressure; the usual remedy is the Rhie–Chow correction added to the interpolated velocity, proportional to the third derivative of pressure multiplied by mesh spacing squared.<sup>[6](http://www.prague-sum.com/download/2016/Peric_lectures_SIMPLE.pdf)</sup> The interpolation takes its name from Rhie and Chow's AIAA Journal study of turbulent flow past an airfoil with trailing edge separation, published in 1983.<sup>[12](https://doi.org/10.2514/3.8284)</sup>\n\n## How it is done\n\nA practitioner codes or runs one SIMPLE outer iteration as follows <sup>[6](http://www.prague-sum.com/download/2016/Peric_lectures_SIMPLE.pdf)</sup>:\n\n1. Guess a pressure field (or take the previous iterate) and solve the under-relaxed, linearized momentum equations for the intermediate velocity \\( \\mathbf{u}^{*} \\).\n2. Enforce continuity to obtain the pressure-correction equation, and solve it with a linear solver.\n3. Correct the pressure by adding only a fraction of \\( p' \\): typically 0.1 to 0.3 for steady-state flows and 0.3 to 0.9 for transient flows, depending on time-step size and grid non-orthogonality.\n4. Correct the velocities using the pressure correction, apply velocity under-relaxation, and update the coefficients.\n5. Repeat until convergence; an appropriate convergence condition should include both mass conservation and momentum conservation requirements.<sup>[13](http://nht.xjtu.edu.cn/paper/en/2003203.pdf)</sup>\n\n## Origin\n\nPatankar and Spalding published the method in the International Journal of Heat and Mass Transfer in 1972, as a numerical marching procedure for three-dimensional parabolic flows.<sup>[1](https://doi.org/10.1016/0017-9310%2872%2990054-3)</sup> A NASA-sponsored Imperial College report described two procedures for steady, fully three-dimensional flows with recirculation: SIVA (simultaneous variable adjustment, fully implicit) and SIMPLE, both extensions of earlier methods devised for three-dimensional boundary layers.<sup>[10](https://ntrl.ntis.gov/NTRL/dashboard/searchResults/titleDetail/N7322238.xhtml)</sup>\n\nThe 1972 paper shares features with finite-difference procedures of Harlow and Welch, Amsden and Harlow, and Chorin, in which pressure is deduced from combined continuity and momentum equations through a first approximation followed by a correction <sup>[1](https://doi.org/10.1016/0017-9310%2872%2990054-3)</sup>; Chorin's projection method appeared in Mathematics of Computation in 1968.<sup>[14](https://doi.org/10.1090/s0025-5718-1968-0242392-2)</sup> Rival three-dimensional boundary-layer methods by Caretto, Curr, and Spalding appeared in 1972.<sup>[15](https://doi.org/10.1016/0045-7825%2872%2990020-5)</sup> Within Imperial College, SIVA was overshadowed by SIMPLE, which combined low memory requirement with coding simplicity.<sup>[16](https://www.aub.edu.lb/msfea/research/Documents/CFD-P38.pdf)</sup>\n\n## Variants\n\nAbout ten SIMPLE-family variants were proposed over three decades.<sup>[13](http://nht.xjtu.edu.cn/paper/en/2003203.pdf)</sup> **SIMPLER** was introduced by Suhas V. Patankar in 1981 in Numerical Heat Transfer <sup>[17](https://doi.org/10.1080/01495728108961801)</sup>; it solves a separate equation for pressure, with the same coefficients as the \\( p' \\) equation but a different source term <sup>[3](https://doi.org/10.1080/01495728408961817)</sup>, and requires much more CPU time than SIMPLE.<sup>[7](https://doi.org/10.1016/j.matcom.2020.09.010)</sup> **SIMPLEC** was introduced by J.P. Van Doormaal and G.D. Raithby in 1984 <sup>[3](https://doi.org/10.1080/01495728408961817)</sup>; instead of neglecting the velocity correction at neighbor nodes, it approximates its effect, and needs no under-relaxation of the pressure correction.<sup>[3](https://doi.org/10.1080/01495728408961817)</sup>\n\n**PISO** (Pressure Implicit with Split Operator) was introduced by R.I. Issa in the Journal of Computational Physics in 1986 <sup>[18](https://doi.org/10.1016/0021-9991%2886%2990099-9)</sup>; it includes one prediction step and two corrector steps <sup>[7](https://doi.org/10.1016/j.matcom.2020.09.010)</sup>, no under-relaxation of the pressure correction is needed, and it is seldom used for steady-state problems but often for transient ones.<sup>[6](http://www.prague-sum.com/download/2016/Peric_lectures_SIMPLE.pdf)</sup>\n\nA 2020 study by Jian Qin and colleagues introduced SIMPLE-C, combining artificial compressibility with the SIMPLE pressure Poisson equation; it allows larger Courant numbers and enhanced robustness and convergence while avoiding velocity and pressure under-relaxation.<sup>[7](https://doi.org/10.1016/j.matcom.2020.09.010)</sup>\n\n## Applications\n\nANSYS Fluent offers five pressure–velocity coupling algorithms: SIMPLE, SIMPLEC, PISO, Coupled, and, for unsteady flows with non-iterative time advancement, Fractional Step; all except Coupled are predictor-corrector schemes.<sup>[2](https://www.afs.enea.it/project/neptunius/docs/fluent/html/th/node373.htm)</sup> In OpenFOAM, SIMPLE has replaced the pressure-correction equation with the pressure equation.<sup>[4](https://www.sciencedirect.com/science/article/abs/pii/S0017931023000522)</sup>\n\n## Limitations and alternatives\n\nSIMPLE's deterministic pressure–velocity coupling together with the under-relaxation factor is possibly the major reason for its slow convergence compared with its variants.<sup>[7](https://doi.org/10.1016/j.matcom.2020.09.010)</sup> In a fine-grid (about 100×100) comparison, SIMPLE and SIMPLEC needed the least CPU time, SIMPLER came next, and SIMPLEX needed the largest; on robustness, SIMPLE was the worst of the four variants, and SIMPLEC is recommended especially for fine-grid computation.<sup>[13](http://nht.xjtu.edu.cn/paper/en/2003203.pdf)</sup> On a \\( 22^{2} \\) lid-driven cavity at Re = 100, SIMPLER reached a mass imbalance below 1e-8 in 121 outer iterations against 405 for SIMPLE.<sup>[8](https://pypi.org/project/pysimpler-fvm/)</sup>\n\nThe pressure-corrector equation is the main bottleneck: the choice of linear solver can change SIMPLE runtime by more than one order of magnitude without changing the final discrete solution, and on a 2.3-million-cell kiln case a conjugate gradient solver with a multigrid preconditioner was fastest, with speed-ups up to a factor of 7.<sup>[9](https://repository.tudelft.nl/record/uuid:3f770348-5900-4129-a3c4-357a0dd90437)</sup>\n\n**Coupled solvers** solve the momentum and pressure-based continuity equations together, with implicit discretization of pressure gradient terms and face mass flux including Rhie–Chow pressure dissipation terms.<sup>[2](https://www.afs.enea.it/project/neptunius/docs/fluent/html/th/node373.htm)</sup> **Projection methods**, beginning with Chorin in 1968 <sup>[14](https://doi.org/10.1090/s0025-5718-1968-0242392-2)</sup>, need only a sequence of decoupled elliptic solves per time step, making them efficient for large-scale simulation.<sup>[19](https://people.tamu.edu/~guermond/PUBLICATIONS/guermond_minev_shen_CMAME_2006.pdf)</sup> SIMPLE-type methods have been proven to have second-order temporal accuracy for unsteady flows and are united with the classical second-order projection method within a general projection framework <sup>[20](https://onlinelibrary.wiley.com/doi/10.1002/nme.2054)</sup>, of which the Bell–Colella–Glaz second-order projection method of 1989 is a representative.<sup>[21](https://doi.org/10.1016/0021-9991%2889%2990151-4)</sup>\n\n## References\n\n1. [A calculation procedure for heat, mass and momentum transfer in three-dimensional parabolic flows (International Journal of Heat and Mass Transfer, 1972)](https://doi.org/10.1016/0017-9310%2872%2990054-3)\n2. [ANSYS FLUENT 12.0 Theory Guide, Pressure-Velocity Coupling](https://www.afs.enea.it/project/neptunius/docs/fluent/html/th/node373.htm)\n3. [J. P. Van Doormaal, G. D. Raithby (1984). ENHANCEMENTS OF THE SIMPLE METHOD FOR PREDICTING INCOMPRESSIBLE FLUID FLOWS. Numerical Heat Transfer.](https://doi.org/10.1080/01495728408961817)\n4. [Performance analysis and comparison of IDEAL and SIMPLERR algorithms for incompressible fluid flow and heat transfer problems (2023)](https://www.sciencedirect.com/science/article/abs/pii/S0017931023000522)\n5. [CFD Solver Methods, Pressure-Velocity Coupling and Discretization (NovaSolver)](https://novasolver.jp/en/fluid/solver-methods/index.html)\n6. [Computation of Incompressible Flows: SIMPLE and related Algorithms (Perić lecture notes)](http://www.prague-sum.com/download/2016/Peric_lectures_SIMPLE.pdf)\n7. [Jian Qin and colleagues (2020). Introducing compressibility with SIMPLE algorithm. Mathematics and Computers in Simulation.](https://doi.org/10.1016/j.matcom.2020.09.010)\n8. [pysimpler-fvm v0.1.0 (PyPI, 2026)](https://pypi.org/project/pysimpler-fvm/)\n9. [Linear Solvers in OpenFOAM: A Technical Review and SIMPLE Convergence Study (Fluids, vol. 11, art. 148, 2026)](https://repository.tudelft.nl/record/uuid:3f770348-5900-4129-a3c4-357a0dd90437)\n10. [Two Calculation Procedures for Steady, Three-Dimensional Flows with Recirculation (Caretto, Gosman, Patankar, Spalding, 1972, NTIS N7322238)](https://ntrl.ntis.gov/NTRL/dashboard/searchResults/titleDetail/N7322238.xhtml)\n11. [A simple method for improving the SIMPLER algorithm (consistent-SIMPLER)](http://nht.xjtu.edu.cn/paper/en/2005211new.pdf)\n12. [C. M. Rhie, W. L. Chow (1983). Numerical study of the turbulent flow past an airfoil with trailing edge separation. AIAA Journal.](https://doi.org/10.2514/3.8284)\n13. [A comparison study of the convergence characteristics and robustness for four variants of SIMPLE-family at fine grids (Zeng & Tao, 2003)](http://nht.xjtu.edu.cn/paper/en/2003203.pdf)\n14. [Alexandre Joel Chorin (1968). Numerical solution of the Navier-Stokes equations. Mathematics of Computation.](https://doi.org/10.1090/s0025-5718-1968-0242392-2)\n15. [Two numerical methods for three-dimensional boundary layers (Computer Methods in Applied Mechanics and Engineering, 1972)](https://doi.org/10.1016/0045-7825%2872%2990020-5)\n16. [Development of a Pressure-Based Coupled CFD Solver for Turbulent and Compressible Flows in Turbomachinery Applications](https://www.aub.edu.lb/msfea/research/Documents/CFD-P38.pdf)\n17. [Suhas V. Patankar (1981). A CALCULATION PROCEDURE FOR TWO-DIMENSIONAL ELLIPTIC SITUATIONS. Numerical Heat Transfer.](https://doi.org/10.1080/01495728108961801)\n18. [Solution of the implicitly discretised fluid flow equations by operator-splitting (Journal of Computational Physics, 1986)](https://doi.org/10.1016/0021-9991%2886%2990099-9)\n19. [An overview of projection methods for incompressible flows (Guermond, Minev, Shen, CMAME 2006)](https://people.tamu.edu/~guermond/PUBLICATIONS/guermond_minev_shen_CMAME_2006.pdf)\n20. [A bridge between projection methods and SIMPLE type methods for incompressible Navier–Stokes equations (Ni, 2007, IJNME)](https://onlinelibrary.wiley.com/doi/10.1002/nme.2054)\n21. [A second-order projection method for the incompressible navier-stokes equations (Journal of Computational Physics, 1989)](https://doi.org/10.1016/0021-9991%2889%2990151-4)\n\n---\n*Topic: Encyclopedia › Technology and the built world › Computing and digital systems › Artificial intelligence and data › Algorithms and computational methods › Numerical, string, and geometric algorithms › Numerical methods and approximation*\n\n*Initially written Sep 29, 2026 · Edited: Oct 15, 2026*\n\n*Copyright 2026 EdgeChat AI, a subsidiary of Biostate AI.*\n\nLicense: Edgepedia Community License 1.0, https://www.edgepedia.org/edgepedia/license\n",
 "same_as": [
  "https://people.tamu.edu/~guermond/PUBLICATIONS/guermond_minev_shen_CMAME_2006.pdf"
 ],
 "url": "https://www.edgepedia.org/simple-algorithm",
 "markdown_url": "https://www.edgepedia.org/simple-algorithm.md",
 "license": {
  "name": "Edgepedia Community License 1.0",
  "url": "https://www.edgepedia.org/edgepedia/license",
  "summary": "Free with credit, commercial use included. AI training is open to everyone. For other uses, organizations over USD 100M in revenue or 100M monthly users license separately.",
  "spdx": "LicenseRef-Edgepedia-Community-1.0"
 },
 "credit": "\"SIMPLE algorithm\", Edgepedia (EdgeChat), https://www.edgepedia.org/simple-algorithm. Edgepedia Community License 1.0.",
 "credit_md": "\"[SIMPLE algorithm](https://www.edgepedia.org/simple-algorithm)\", Edgepedia (EdgeChat), [https://www.edgepedia.org/simple-algorithm](https://www.edgepedia.org/simple-algorithm). [Edgepedia Community License 1.0](https://www.edgepedia.org/edgepedia/license).",
 "credit_html": "\"<a href=\"https://www.edgepedia.org/simple-algorithm\">SIMPLE algorithm</a>\", Edgepedia (EdgeChat), <a href=\"https://www.edgepedia.org/simple-algorithm\">https://www.edgepedia.org/simple-algorithm</a>. <a href=\"https://www.edgepedia.org/edgepedia/license\">Edgepedia Community License 1.0</a>.",
 "speakable": "The SIMPLE algorithm is an iterative pressure-correction method for computing incompressible fluid flows, introduced by Patankar and Spalding in 1972 and still standard in CFD software."
}
