# SIMPLE algorithm

### From CFD-Wiki

(Difference between revisions)

(→SIMPLE Solver Algorithm) |
|||

Line 26: | Line 26: | ||

#Update density due to pressure changes. | #Update density due to pressure changes. | ||

+ | [[Sample code for solving Lid-Driven_cavity test (Re=1000) - Fortran 90]] | ||

---- | ---- | ||

<i> Return to [[Numerical methods | Numerical Methods]] </i> | <i> Return to [[Numerical methods | Numerical Methods]] </i> |

## Revision as of 16:59, 2 May 2010

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

* Return to Numerical Methods *