pisoFoam and simpleFoam are both k-epsilon turbulent solvers for incompressible fluids.

They differ in that pisoFoam is a transient solver (so runs with timesteps, each of which capture the fluctuations associated with turbulence) but simpleFoam

is steadystate. Which means it just aims to reach a converged solution in a set number of iterations (which do NOT represent “time”). They both should

on AVERAGE reach the same result, but a steady-state solver cannot show you the dynamic formation of eddies and so on – only a “snapshot” of an

averaged solution to a given set of initial & boundary conditions.

So for things like finding out Drag, Lift and Pressure Drop – a steady state solver is basically fine. But if you want to actually see what the turbulent flow is doing,

you will need to use a transient solver like pisoFoam. Transient solvers will require alot of computation time compared to steady state, because the steady state solver

is basically making ONE solution, but the transient one has to make a complete solution for EVERY timestep !

Here is a comparison of results from both solvers.

Fluid = water at 80 deg C

Inlet = 2 Bar positive pressure

Outlet = -0.7m/second flowrate

Remember that OpenFOAM uses pressure units of Kinematic Pressure…NOT Pascals !!!! So convert before you set your conditions up.

The mesh has 3 viscous layers, and was created with SnappyHexMesh. It has 1.3 million cells, and with simpleFoam converged in about 20minuites on my workstation.

Supermicro X7DWA-N Server Board

Twin quad 3.33 GHz XEONs

32 GB Ram

Performance = 100GigaFlops

Below are some stills from the pisoFoam transient case, with flowlines showing the kind of variations that can be captured. These variations cannot be

seen with a steady state solver like simpleFoam. However on average the major variables like pressure-drop and velocity profiles should basically match.

Hi Calum Douglas,

Firstly congratulations for your website!

Referring to simpleFoam and PisoFoam, they are algorithms (Pressure-based solvers) for solving Navier-Stoke equations. This is not related to which turbulent model you can use (is not just k-epsilon)., indeed you can choose whatever RANS model in RASpropierties in the constant directory. On the other hand the transient problem might not have the same solution as steady state problem, it depends on if the problem with your boundary condictions have a steady state solution (It’s not obvious). In such case transient and steady problem will reach the same solution.

Best regard,

David