SIMPLE法

Category: 流体解析(CFD) | Integrated 2026-04-06
CAE visualization for simple algorithm theory - technical simulation diagram
SIMPLE法 — 理論と圧力-速度連成の基礎

Theory and Physics

Overview of the SIMPLE Method

🧑‍🎓

Professor, I often hear the name SIMPLE method, but what does it stand for and what kind of method is it?


🎓

SIMPLE stands for Semi-Implicit Method for Pressure-Linked Equations. It's a pressure-velocity coupling algorithm published by Patankar and Spalding in 1972. When solving the incompressible Navier-Stokes equations with the finite volume method, it solves the problem of how to consistently obtain pressure and velocity.


🧑‍🎓

Why is pressure-velocity coupling so troublesome?


🎓

In incompressible flow, the continuity equation (Mass Conservation) does not contain an independent equation for pressure. Since density is constant, pressure cannot be determined from the equation of state. As a result, we need to find a pressure field and velocity field that simultaneously satisfy the momentum equation and the continuity equation. This is the pressure-velocity coupling problem.


Governing Equations

🧑‍🎓

First, please tell me the basic equations.


🎓

The governing equations for incompressible flow are as follows.


Continuity Equation (Mass Conservation):


$$ \nabla \cdot \mathbf{u} = 0 $$

Momentum Equation (Navier-Stokes Equation):


$$ \frac{\partial \mathbf{u}}{\partial t} + (\mathbf{u} \cdot \nabla)\mathbf{u} = -\frac{1}{\rho}\nabla p + \nu \nabla^2 \mathbf{u} $$

Here, $\mathbf{u}$ is the velocity vector, $p$ is pressure, $\rho$ is density, and $\nu$ is the kinematic viscosity coefficient.


🧑‍🎓

There are 4 unknowns (u, v, w, p) and 4 equations, so in principle it should be solvable, right?


🎓

Yes. However, directly deriving and solving the pressure Poisson equation simultaneously is computationally expensive. The SIMPLE method uses a "predictor-corrector" approach to efficiently separate and solve this coupling.


SIMPLE Method Algorithm

🧑‍🎓

Please tell me the specific procedure.


🎓

One iteration of the SIMPLE method consists of the following 4 steps.


Step 1: Solve the momentum equation with a tentative pressure $p^*$


$$ a_P \mathbf{u}_P^* = \sum_N a_N \mathbf{u}_N^* + \mathbf{b} - \nabla p^* $$

This yields a tentative velocity $\mathbf{u}^*$. This velocity field generally does not satisfy the continuity equation.


Step 2: Solve the pressure correction equation


Find the pressure correction $p'$ to eliminate the residual of the continuity equation:


$$ \nabla \cdot \left(\frac{1}{a_P} \nabla p'\right) = \nabla \cdot \mathbf{u}^* $$

Step 3: Correct pressure and velocity


$$ p = p^* + \alpha_p \, p' $$
$$ \mathbf{u} = \mathbf{u}^* - \frac{1}{a_P} \nabla p' $$

Here, $\alpha_p$ is the pressure relaxation factor.


Step 4: Solve other scalar equations and perform convergence check


🧑‍🎓

$a_P$ is the diagonal coefficient of the momentum equation, right? The right-hand side of the pressure correction equation being the divergence of velocity means it's driving the residual of the continuity equation towards zero.


🎓

Exactly. As iterations are repeated, $\nabla \cdot \mathbf{u}^* \to 0$, and mass conservation is satisfied.


Role of Relaxation Factors

🧑‍🎓

What does the relaxation factor $\alpha_p$ mean?


🎓

In the SIMPLE method, there is an approximation where the contribution of neighboring cell coefficients (the $a_N$ term) is omitted in the pressure correction, which tends to cause over-correction in a single step. Therefore, it's common to apply under-relaxation, typically around $\alpha_p = 0.3$ for pressure and $\alpha_u = 0.7$ for velocity. As a rule of thumb, some practices use $\alpha_u + \alpha_p \approx 1$.


🧑‍🎓

I see, relaxation is needed as a trade-off for the approximation. Is this the reason it's called "Semi-Implicit" in SIMPLE?


🎓

Yes. Solving it fully implicitly would require a coupled solver, but the SIMPLE method is very efficient as a segregated solver.


Coffee Break Trivia Corner

The story of Patankar running the SIMPLE method on 1970s computers

S.V. Patankar, who developed the SIMPLE method (Semi-Implicit Method for Pressure-Linked Equations), took on the challenge of solving the Navier-Stokes equations with the computers of 1972. The memory back then was less than one ten-thousandth of a modern smartphone. The strategy he adopted was an iterative method of "separating and alternately solving pressure and velocity"—this is the essence of SIMPLE. The paradigm shift of not having to solve the perfect system of equations all at once was a wisdom to maximize the use of limited computational resources. The fact that SIMPLE is still used for CFD analyses with millions of cells today is a testament to the simplicity and proven track record of this "segregated iteration" approach.

Physical Meaning of Each Term
  • Temporal Term $\partial(\rho\phi)/\partial t$: Imagine the moment you turn on a faucet. At first, water comes out in an unstable, spluttering manner, but after a while, it becomes a steady flow, right? This "period of change" is described by the temporal term. The pulsation of blood flow from a heartbeat, or the flow fluctuation each time an engine valve opens and closes—all are unsteady phenomena. So what is steady-state analysis? It's looking only at "after sufficient time has passed and the flow has settled down"—meaning setting this term to zero. Since computational cost drops significantly, trying a steady-state solution first is a basic CFD strategy.
  • Convection Term $\nabla \cdot (\rho \mathbf{u} \phi)$: What happens if you drop a leaf into a river? It gets carried downstream by the flow, right? This is "convection"—the effect where fluid motion transports things. Warm air from a heater reaching the far corner of a room is also because the air, as a "carrier," transports heat via convection. Here's the interesting part—this term contains "velocity × velocity," making it nonlinear. That is, as flow speed increases, this term rapidly strengthens, making it difficult to control. This is the root cause of turbulence. A common misconception: "Convection and conduction are similar things" → They are completely different! Convection is carried by flow, conduction is transmitted by molecules. There's an order of magnitude difference in efficiency.
  • Diffusion Term $\nabla \cdot (\Gamma \nabla \phi)$: Have you ever put milk in coffee and left it? Even without stirring, after a while it naturally mixes, right? That's molecular diffusion. Now a question—honey and water, which flows more easily? Obviously water, right? Honey has high viscosity ($\mu$), so it flows poorly. When viscosity is large, the diffusion term becomes strong, and the fluid moves in a "thick" manner. In low Reynolds number flow (slow, viscous), diffusion is dominant. Conversely, in high Re number flow, convection overwhelms and diffusion plays a supporting role.
  • Pressure Term $-\nabla p$: When you push the plunger of a syringe, liquid shoots out forcefully from the needle tip, right? Why? Because the plunger side is high pressure, the needle tip is low pressure—this pressure difference provides the force that pushes the fluid. Dam discharge works on the same principle. On a weather map, where isobars are tightly packed? That's right, strong winds blow. "Where there is a pressure difference, flow is generated"—this is the physical meaning of the pressure term in the Navier-Stokes equations. A point of confusion here: "Pressure" in CFD is often gauge pressure, not absolute pressure. When switching to compressible analysis, if results suddenly become strange, it might be due to confusion between absolute/gauge pressure.
  • Source Term $S_\phi$: Warmed air rises—why? Because it becomes lighter (lower density) than its surroundings, so it's pushed upward by buoyancy. This buoyancy is added to the equation as a source term. Other examples: chemical reaction heat generated by a gas stove flame, Lorentz force acting on molten metal in a factory's electromagnetic pump... These are all actions that "inject energy or force into the fluid from the outside," expressed by the source term. What happens if you forget the source term? In natural convection analysis, forgetting to include buoyancy means the fluid doesn't move at all—a physically impossible result where warm air doesn't rise in a room with the heater on in winter.
Assumptions and Applicability Limits
  • Continuum Assumption: Valid for Knudsen number Kn < 0.01 (mean free path of molecules ≪ characteristic length)
  • Newtonian Fluid Assumption: Shear stress and strain rate have a linear relationship (non-Newtonian fluids require viscosity models)
  • Incompressibility Assumption (for Ma < 0.3): Treat density as constant. For Mach numbers above 0.3, compressibility effects must be considered.
  • Boussinesq Approximation (Natural Convection): Consider density changes only in the buoyancy term, using constant density in other terms.
  • Non-applicable Cases: Rarefied gases (Kn > 0.1), supersonic/hypersonic flow (shock capturing required), free surface flow (VOF/Level Set etc. required)
Dimensional Analysis and Unit Systems
VariableSI UnitNotes / Conversion Memo
Velocity $u$m/sWhen converting from volumetric flow rate for inlet conditions, pay attention to cross-sectional area units.
Pressure $p$PaDistinguish between gauge pressure and absolute pressure. Use absolute pressure for compressible analysis.
Density $\rho$kg/m³Air: approx. 1.225 kg/m³ @20°C, Water: approx. 998 kg/m³ @20°C
Viscosity Coefficient $\mu$Pa·sBe careful not to confuse with kinematic viscosity coefficient $\nu = \mu/\rho$ [m²/s]
Reynolds Number $Re$Dimensionless$Re = \rho u L / \mu$. Indicator for laminar/turbulent transition.
CFL NumberDimensionless$CFL = u \Delta t / \Delta x$. Directly related to time step stability.

Numerical Methods and Implementation

Comparison of SIMPLE Family Algorithms

🧑‍🎓

I also hear about SIMPLEC and SIMPLER besides SIMPLE. What's the difference?


🎓

There are several variations that improve upon the SIMPLE method. Let's compare the main ones.


SIMPLEC (SIMPLE-Consistent)

Proposed by Van Doormaal and Raithby (1984). An improved version that partially considers the influence of neighboring cell coefficients in the pressure correction equation.

$$ \mathbf{u} = \mathbf{u}^* - \frac{1}{a_P - \sum a_N} \nabla p' $$

Using $a_P - \sum a_N$ instead of $a_P$ allows the pressure relaxation factor to be closer to 1.0. Convergence is often faster.

SIMPLER (SIMPLE-Revised)

Proposed as an improved version by Patankar (1980). A method that solves a separate pressure equation before pressure correction to estimate a better pressure field.

🧑‍🎓

It's great that SIMPLEC allows larger relaxation factors. Which one is commonly used in practice?


🎓
AlgorithmRelaxation Factor (Pressure)Convergence RateStabilityCost per Iteration
SIMPLE0.2~0.5SlowHighLow
SIMPLEC0.7~1.0MediumMediumLow
SIMPLER0.5~0.8FastMediumHigh (solves pressure twice)

For steady-state calculations, SIMPLEC is a practical choice. For unsteady calculations, the PISO method is often used.


Rhie-Chow Interpolation

🧑‍🎓

When implementing SIMPLE with the finite volume method, how are the pressure and velocity grid arrangements handled?


🎓

This is a very important point. Using a collocated grid (placing pressure and velocity at the same location) causes the problem of pressure checkerboard patterns.


Rhie-Chow interpolation (1983) is a technique to solve this. When calculating velocity on cell faces, it adds a term akin to the third derivative of pressure to suppress checkerboard oscillations.


$$ u_f = \overline{u_f} - \overline{d_f} \left(\frac{\partial p}{\partial x}\bigg|_f - \overline{\frac{\partial p}{\partial x}\bigg|_f}\right) $$

Most current commercial CFD codes adopt collocated grids + Rhie-Chow interpolation.


🧑‍🎓

Is it unnecessary for staggered grids (placing velocity and pressure at different locations)?


🎓

In staggered grids, the checkerboard problem is naturally avoided. However, extension to unstructured grids is difficult, so collocated grids are mainstream in modern CFD codes.


Linear Equation System Solvers

関連シミュレーター

この分野のインタラクティブシミュレーターで理論を体感しよう

シミュレーター一覧

関連する分野

熱解析V&V・品質保証構造解析
この記事の評価
ご回答ありがとうございます!
参考に
なった
もっと
詳しく
誤りを
報告
参考になった
0
もっと詳しく
0
誤りを報告
0
Written by NovaSolver Contributors
Anonymous Engineers & AI — サイトマップ
About the Authors