CFD Online URL
[Sponsors]
Home > Wiki > SIMPLE algorithm

SIMPLE algorithm

From CFD-Wiki

(Difference between revisions)
Jump to: navigation, search
(SIMPLE Solver Algorithm)
(Added Reference)
 
Line 27: Line 27:
[[Sample code for solving Lid-Driven_cavity test (Re=1000) - Fortran 90]]
[[Sample code for solving Lid-Driven_cavity test (Re=1000) - Fortran 90]]
-
+
 
 +
 
 +
== References ==
 +
 
 +
* {{reference-paper|author=Patankar, S. V. and Spalding, D.B.|year=1972|title=A calculation procedure for heat, mass and momentum transfer in three-dimensional parabolic flows|rest=Int. J. of Heat and Mass Transfer, Volume 15, Issue 10, October 1972, Pages 1787-1806}}
 +
 
----
----
<i> Return to [[Numerical methods | Numerical Methods]] </i>
<i> Return to [[Numerical methods | Numerical Methods]] </i>

Latest revision as of 20:29, 28 December 2011

SIMPLE [Semi-Implicit Method for Pressure-Linked Equations]

If a steady-state problem is being solved iteratively, it is not necessary to fully resolve the linear pressure-velocity coupling, as the changes between consecutive solutions are no longer small. The SIMPLE algorithm:

  • An approximation of the velocity field is obtained by solving the momentum equation. The pressure gradient term is calculated using the pressure distribution from the previous iteration or an initial guess.
  • The pressure equation is formulated and solved in order to obtain the new pressure distribution.
  • Velocities are corrected and a new set of conservative fluxes is calculated.

SIMPLE Solver Algorithm

The algorithm may be summarized as follows:

The basic steps in the solution update are as follows:

  1. Set the boundary conditions.
  2. Compute the gradients of velocity and pressure.
  3. Solve the discretized momentum equation to compute the intermediate velocity field .
  4. Compute the uncorrected mass fluxes at faces .
  5. Solve the pressure correction equation to produce cell values of the pressure correction .
  6. Update the pressure field:  p^{k + 1}  = p^k  + urf \bullet p^' where urf is the under-relaxation factor for pressure.
  7. Update the boundary pressure corrections  p_b^' .
  8. Correct the face mass fluxes: \dot m_f^{k + 1}  = \dot m_f^*  + \dot m_f^'
  9. Correct the cell velocities:  \vec v^{k + 1}  = \vec v^*  - \frac{{Vol\nabla p^' }}{{\vec a_P^v }}  ; where  {\nabla p^' } is the gradient of the pressure corrections,  {\vec a_P^v } is the vector of central coefficients for the discretized linear system representing the velocity equation and Vol is the cell volume.
  10. Update density due to pressure changes.

Sample code for solving Lid-Driven_cavity test (Re=1000) - Fortran 90


References

  • Patankar, S. V. and Spalding, D.B. (1972), "A calculation procedure for heat, mass and momentum transfer in three-dimensional parabolic flows", Int. J. of Heat and Mass Transfer, Volume 15, Issue 10, October 1972, Pages 1787-1806.

Return to Numerical Methods

My wiki