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

SIMPLE algorithm

From CFD-Wiki

(Difference between revisions)
Jump to: navigation, search
(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:

  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


Return to Numerical Methods

My wiki