# SIMPLE algorithm

(Difference between revisions)
 Revision as of 16:59, 2 May 2010 (view source)Michail (Talk | contribs) (→SIMPLE Solver Algorithm)← Older edit Revision as of 20:29, 28 December 2011 (view source)Bluebase (Talk | contribs) (Added Reference)Newer edit → 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}} + ---- ---- Return to [[Numerical methods | Numerical Methods]] Return to [[Numerical methods | Numerical Methods]]

## 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.

## 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.