PISO Method

Category: Fluid Analysis (CFD) | Integrated 2026-04-06
CAE visualization for piso algorithm theory - technical simulation diagram
PISO Method โ€” Theory and Transient Pressure Correction

PISO Method: Theoretical Foundations

Overview of the PISO Method

๐Ÿง‘โ€๐ŸŽ“

Professor, what's the difference between the PISO method and the SIMPLE method?


๐ŸŽ“

PISO (Pressure-Implicit with Splitting of Operators) is a pressure-velocity coupling algorithm proposed by Issa in 1986. While the SIMPLE method converges by running many outer iterations, the PISO method performs two pressure corrections within one time step to ensure time accuracy without outer iterations.


๐Ÿง‘โ€๐ŸŽ“

Does not needing outer iterations mean it's advantageous for unsteady calculations?


๐ŸŽ“

Exactly. For unsteady flows (LES, DNS, moving mesh problems, etc.), the continuity equation must be strictly satisfied at each time step. PISO has a higher computational cost per time step, but since it doesn't require outer iterations, it is often more efficient overall.


PISO Algorithm Procedure

๐Ÿง‘โ€๐ŸŽ“

Could you explain the specific steps?


๐ŸŽ“

The PISO method proceeds with the following steps.


Step 1: Momentum Predictor


Solve the momentum equation using the pressure from the previous time step $p^n$ to obtain a tentative velocity $\mathbf{u}^*$:


$$ a_P \mathbf{u}_P^* = H(\mathbf{u}^*) - \nabla p^n $$

Step 2: First Corrector


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

Correct the velocity: $\mathbf{u}^{**} = \frac{H(\mathbf{u}^*)}{a_P} - \frac{1}{a_P}\nabla p'$


Step 3: Second Corrector


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

Final velocity: $\mathbf{u}^{n+1} = \frac{H(\mathbf{u}^{**})}{a_P} - \frac{1}{a_P}\nabla(p' + p'')$


๐Ÿง‘โ€๐ŸŽ“

So while SIMPLE uses only one pressure correction per outer iteration, PISO completes with two corrections.


๐ŸŽ“

Precisely, the second correction in PISO reflects the update of the neighbor cell coefficients $H$, which improves the approximation omission in SIMPLE. As a result, relaxation factors become unnecessary and time accuracy is maintained.


Theoretical Comparison with SIMPLE Method

๐ŸŽ“

Let's organize the essential differences between the two.


CharacteristicSIMPLEPISO
Pressure Corrections1 per outer iteration2 (or more) per time step
Outer IterationsRequired (10 to several hundred)Not required
Relaxation FactorRequired (0.2 to 0.8)Not required
Main ApplicationSteady-state calculationsUnsteady calculations
Time AccuracyPseudo time marchingTrue time accuracy
CFL LimitNone (implicit)Recommended CFL < 1 to 5
๐Ÿง‘โ€๐ŸŽ“

Does PISO also have a CFL number limit? Isn't it implicit?


๐ŸŽ“

The time discretization itself is implicit, but to sufficiently reduce the splitting error with PISO's two corrections, the CFL number needs to be kept somewhat low. Practically, CFL < 1 is safe, and a maximum of CFL < 5 is recommended. If the CFL number is too large, accuracy deteriorates.


Coffee Break Casual Talk

The "Mathematical Reason" Why PISO is Stronger than SIMPLE for Unsteady Flows

The decisive difference between the PISO method (Pressure Implicit with Splitting of Operators) and SIMPLE is that it "repeats pressure correction two or more times within one time step." In unsteady flows, the flow changes significantly within one step, so a single pressure correction cannot fully satisfy the continuity equation (mass conservation). PISO can reduce the mass conservation error in the velocity field to almost zero with its second correctionโ€”this is its theoretical strength. This is why PISO is chosen for problems where "the flow changes instantaneously," such as heart valve opening/closing simulations or combustion flow inside engine cylinders. The strategy of using SIMPLE for steady-state analysis and PISO for unsteady analysis remains a valid basic approach.

Computational Methods for the PISO Method

PISO Method Implementation Details

๐Ÿง‘โ€๐ŸŽ“

When implementing the PISO method, what is the H operator?


๐ŸŽ“

It's an expression often seen in the OpenFOAM context. Discretizing the momentum equation gives:


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

Here, define $H(\mathbf{u}) = -\sum_N a_N \mathbf{u}_N + \mathbf{b}$. Then:


$$ \mathbf{u}_P = \frac{H(\mathbf{u})}{a_P} - \frac{\nabla p}{a_P} $$

In this form, velocity can be expressed as a function of the pressure gradient. Substituting this into the continuity equation yields the pressure Poisson equation.


nCorrectors and nNonOrthogonalCorrectors

๐Ÿง‘โ€๐ŸŽ“

In OpenFOAM settings, there's a parameter called nCorrectors. What is that?


๐ŸŽ“

nCorrectors is the number of PISO pressure correction steps. The default is 2, but it can be set to 3-4 for higher CFL numbers or when higher accuracy is desired.


nNonOrthogonalCorrectors are additional iterations to correct mesh non-orthogonality. For non-orthogonal meshes, non-orthogonal contributions arise in the pressure Laplacian, which need to be corrected iteratively.


```

PISO

{

nCorrectors 2;

nNonOrthogonalCorrectors 1;

}

```


PIMPLE Method (PISO-SIMPLE Hybrid)

๐Ÿง‘โ€๐ŸŽ“

I've heard of the PIMPLE method. How is it different from PISO?


๐ŸŽ“

The PIMPLE method is a PISO and SIMPLE hybrid implemented in OpenFOAM. It performs outer iterations (SIMPLE-like loops) within a time step, finishing with PISO corrections.


```

PIMPLE

{

nOuterCorrectors 2; // SIMPLE-like outer iteration

nCorrectors 1; // PISO correction

nNonOrthogonalCorrectors 1;

}

```


ParameterMeaning of Value
nOuterCorrectors = 1Pure PISO
nOuterCorrectors > 1PIMPLE (PISO+SIMPLE)
nOuterCorrectors large, nCorrectors=0Pure SIMPLE

The advantage of the PIMPLE method is that it can significantly relax the CFL number limit. With sufficient nOuterCorrectors, stable calculation is possible even for CFL >> 1.


๐Ÿง‘โ€๐ŸŽ“

So the PIMPLE method is a "best of both worlds" approach that is "stable even with large time steps" and "ensures time accuracy."


๐ŸŽ“

However, increasing nOuterCorrectors increases the cost per time step. If CFL < 1, pure PISO (nOuterCorrectors=1) is more efficient.


Combination with Time Discretization Schemes

๐Ÿง‘โ€๐ŸŽ“

How should time be discretized?


๐ŸŽ“

Let's compare common time discretizations combined with the PISO method.


SchemeAccuracyStabilityOpenFOAM Name
Implicit Euler1st orderUnconditionally stableEuler
2nd Order Backward Difference2nd orderUnconditionally stablebackward
Crank-Nicolson2nd orderUnconditionally stableCrankNicolson

For LES calculations, the 2nd order backward or CrankNicolson should be used. For pseudo-transient RANS steady-state calculations, Euler is sufficient.


Coffee Break Casual Talk

PIMPLE Methodโ€”A "Best of Both Worlds" Implementation Combining PISO and SIMPLE

If you use OpenFOAM, you've probably seen the name PIMPLE. This is a hybrid algorithm combining PISO and SIMPLE. It has a structure where, within one time step, it runs SIMPLE's outer iterations (called the PIMPLE loop) while performing PISO's internal pressure corrections inside it. Its greatest strength is that it can stably advance calculations even when the CFL number exceeds 1โ€”in other words, it combines SIMPLE's advantage of "advancing with large time steps" with PISO's "unsteady accuracy." It's a practical implementation valued in cases where being constrained to CFL=0.5~1 for LES or turbulent unsteady analysis is burdensome.

Practical CAE quality notes for the PISO method

The PISO method should be treated as an engineering model, not as an isolated formula. In fluid simulation, reliable results come from a clear chain of assumptions: governing physics, material data, boundary conditions, numerical discretization, solver settings, and post-processing criteria. Before using this note in a design review, identify which quantities are prescribed, which are solved, and which are only diagnostic indicators.

Model setup checklist

  • Define the scope: decide whether the PISO method is being used for screening, detailed design, failure investigation, or verification of another simulation.
  • Check dimensions and units: keep SI units internally and document every conversion applied to loads, geometry, material constants, and time or frequency scales.
  • State assumptions explicitly: record linearity, steady-state or transient behavior, small-deformation limits, continuum assumptions, and any symmetry or ideal boundary conditions.
  • Compare with a baseline: use a hand calculation, limiting case, mesh refinement trend, or independent solver result before accepting the final value.

Validation signals

Review itemWhat to verifyTypical warning sign
InputsGeometry, material data, loads, and constraints match the intended fluid simulation problem.Correct-looking plots with unrealistic magnitudes or units.
NumericsMesh, time step, convergence tolerance, and solver options are adequate for Piso Algorithm.Large changes after small mesh or tolerance adjustments.
PhysicsThe selected theory remains valid in the expected stress, temperature, velocity, or frequency range.Results are used outside the assumptions stated in the model.

For production use, keep the model file, input table, result plots, and review comments together. This makes the PISO method traceable and prevents the page from being used as a black-box answer without engineering judgment.

Related Simulators

Experience the theory firsthand with the interactive simulator for this field

All Simulators

Related fields

Thermal AnalysisV&V ยท Quality AssuranceStructural Analysis
Rate this article
Thank you for your feedback!
Helpful
More details
Report error
Helpful
0
More details
0
Report error
0
Written by NovaSolver Contributors
Anonymous Engineers & AI โ€” Sitemap
About the Authors