SIMPLE algorithm
From CFD-Wiki
(Difference between revisions)
(Added Reference) |
|||
(5 intermediate revisions not shown) | |||
Line 1: | Line 1: | ||
- | == | + | ==SIMPLE [Semi-Implicit Method for Pressure-Linked Equations]== |
If a steady-state problem is being solved iteratively, it is not necessary to fully resolve | If a steady-state problem is being solved iteratively, it is not necessary to fully resolve | ||
Line 10: | Line 10: | ||
* Velocities are corrected and a new set of conservative fluxes is calculated. | * 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: | ||
+ | |||
+ | #Set the boundary conditions. | ||
+ | #Compute the gradients of velocity and pressure. | ||
+ | #Solve the discretized momentum equation to compute the intermediate velocity field . | ||
+ | #Compute the uncorrected mass fluxes at faces . | ||
+ | #Solve the pressure correction equation to produce cell values of the pressure correction . | ||
+ | #Update the pressure field: <math> p^{k + 1} = p^k + urf \bullet p^' </math> where urf is the under-relaxation factor for pressure. | ||
+ | #Update the boundary pressure corrections <math> p_b^' </math>. | ||
+ | #Correct the face mass fluxes: <math>\dot m_f^{k + 1} = \dot m_f^* + \dot m_f^' </math> | ||
+ | #Correct the cell velocities: <math> \vec v^{k + 1} = \vec v^* - \frac{{Vol\nabla p^' }}{{\vec a_P^v }} </math> ; where <math> {\nabla p^' } </math> is the gradient of the pressure corrections, <math> {\vec a_P^v } </math> is the vector of central coefficients for the discretized linear system representing the velocity equation and Vol is the cell volume. | ||
+ | #Update density due to pressure changes. | ||
+ | |||
+ | [[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> |
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:
- Set the boundary conditions.
- Compute the gradients of velocity and pressure.
- Solve the discretized momentum equation to compute the intermediate velocity field .
- Compute the uncorrected mass fluxes at faces .
- Solve the pressure correction equation to produce cell values of the pressure correction .
- Update the pressure field: where urf is the under-relaxation factor for pressure.
- Update the boundary pressure corrections .
- Correct the face mass fluxes:
- Correct the cell velocities: ; where is the gradient of the pressure corrections, is the vector of central coefficients for the discretized linear system representing the velocity equation and Vol is the cell volume.
- 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