OpenFOAM Solver Processing in 2026 - BCs, Models & Numerics (Guide)

OpenFOAM · Solver Processing · 2026

OpenFOAM Solver Processing in 2026

The heart of every simulation: how to configure boundary conditions, mesh motion, physics models, numerical schemes and the right solver application to run an OpenFOAM case correctly.

Pre-processing builds the mesh; post-processing shows the results — but processing is where the physics actually gets solved. This is the stage where OpenFOAM turns your case files into a flow field, and it's where the most important decisions live: the boundary conditions, any mesh motion, the physics models, the numerics, and the solver application you run. Get these right and the solver converges to an accurate answer; get them wrong and it diverges. This 2026 guide walks through all five, so you can set up the processing stage with confidence.

Open Foam Solver Processing in 2026


What Is the Processing Stage?

Processing (the solving stage) sits between pre-processing and post-processing. It's configured through five areas — the exact structure of this guide:

Boundary Conditions

Mesh Motion

Models

Numerics

Solver Applications

Where it fits: after you've built the case and mesh (see our OpenFOAM learning guide) and applied the setup hacks, processing is where you choose how the equations are solved.

1. Boundary Conditions

Every field (velocity U, pressure p, turbulence k/epsilon…) needs a boundary condition on every patch. These are set in the field files in the 0/ directory. The most important ones:

ConditionWhat it doesTypical use
fixedValueSets a fixed valueInlet velocity/temperature
zeroGradientZero normal gradientOutlet, fully-developed flow
inletOutletzeroGradient out, fixedValue on backflowOutlets (backflow protection)
totalPressure / prghTotalPressureFixes total pressurePressure-driven inlets/outlets
pressureInletOutletVelocityVelocity for pressure boundariesWith totalPressure
noSlip / slipWall: zero / frictionless velocitySolid walls
cyclicLinks two patches as periodicRepeated geometry
emptyMarks a direction as 2D2D simulations
Discover them yourself: list every condition a solver supports with simpleFoam -listScalarBCs -listVectorBCs, and get a description of any one with foamInfo inletOutlet. Set inlet turbulence values with the turbulence intensity calculator.
#1 divergence cause: unphysical or mismatched BCs. Every field needs a sensible condition on every patch, and outlets should use inletOutlet to survive backflow.

2. Mesh Motion

When parts of your geometry move — valves, pistons, rotating machinery, floating objects — the mesh must move too. This is dynamic mesh, configured in constant/dynamicMeshDict and run with a motion-capable solver.

ApproachBest for
Solid-body / morphing motionPrescribed movement, deforming domains
MRF (Multiple Reference Frame)Steady rotation (fans, pumps) — cheap
Overset (chimera) meshBodies moving through a background mesh
AMR (adaptive mesh refinement)Refine where the solution needs it (e.g. interfaces)

Transient solvers like pimpleFoam with dynamic mesh (historically pimpleDyMFoam) advance the mesh each time step using a hybrid PISO-SIMPLE (PIMPLE) algorithm. Keep the Courant number in check for moving meshes.

3. Models

The models define the physics OpenFOAM solves. The most important is the turbulence model, set in constant/momentumTransport (or turbulenceProperties):

ApproachModelsCost / fidelity
RANSk-ε, k-ω SST, Spalart-AllmarasLow cost — most engineering flows
LESSmagorinsky, WALE, k-equationHigher cost — resolves large eddies
DNS(no model — resolve all scales)Research only — very expensive

Other model families:

  • Thermophysical models — how density, viscosity, conductivity behave (incompressible, compressible, Boussinesq).
  • Multiphase models — e.g. the Volume of Fluid (VOF) method in interFoam for free surfaces.
  • Transport / source models (fvModels, fvOptions) — add porosity, MRF zones, heat sources, etc.
Model choice drives everything: k-ω SST is the reliable default for wall-bounded and separated flows; match the near-wall mesh to it with the y+ calculator, and confirm the flow regime with the Reynolds number calculator.

4. Numerics

The numerics control how the equations are discretized and solved — via two files in system/:

fvSchemes — discretization schemes

ddtSchemes      { default   steadyState; }   // time
gradSchemes     { default   Gauss linear; }   // gradients
divSchemes      { div(phi,U) bounded Gauss linearUpwind grad(U); }  // convection
laplacianSchemes{ default   Gauss linear corrected; } // diffusion
interpolationSchemes { default linear; }

fvSolution — linear solvers & control

solvers
{
    p   { solver GAMG;  preconditioner DIC;  tolerance 1e-6; }
    U   { solver smoothSolver; smoother GaussSeidel; tolerance 1e-8; }
}
relaxationFactors { U 0.7;  p 0.3; }        // under-relaxation (SIMPLE)
SIMPLE { nNonOrthogonalCorrectors 2; }      // mesh non-orthogonality
PIMPLE { nCorrectors 2; nOuterCorrectors 3; } // transient inner/outer loops
  • Pressure usually uses GAMG or PCG (with DIC); velocity uses smoothSolver or PBICGStab (with DILU).
  • Under-relaxation (steady/SIMPLE) keeps the solution from oscillating.
  • nNonOrthogonalCorrectors handles skewed meshes; nCorrectors/nOuterCorrectors control the PIMPLE loops.
Golden rule of numerics: start with robust, low-order schemes (upwind) to get a stable solution, then switch to higher-order (linearUpwind, limitedLinear) for accuracy. Verify results don't depend on the mesh with a grid-independence test.

5. Solver Applications

Finally, you pick the solver application — the executable that matches your physics. OpenFOAM ships dozens; the essentials:

SolverPhysics
simpleFoamSteady, incompressible, turbulent (SIMPLE)
pimpleFoamTransient, incompressible, turbulent (PIMPLE)
icoFoamTransient, incompressible, laminar
interFoamTwo-phase (VOF) free-surface flow
buoyantSimpleFoamSteady buoyant / HVAC flow
rhoCentralFoam / sonicFoamCompressible / high-speed flow
chtMultiRegionFoamConjugate heat transfer (fluid + solid)
The first processing decision: match the solver to steady vs transient, incompressible vs compressible, and single- vs multi-phase. Run it from the case directory, redirecting to a log to monitor residuals. Explore the ecosystem in our best open-source CFD tools guide.

The Processing Workflow

  1. Boundary conditions — set every field/patch in 0/.
  2. Mesh motion — configure dynamicMeshDict if parts move.
  3. Models — pick turbulence (+ thermophysical/multiphase) in constant/.
  4. Numerics — set fvSchemes & fvSolution in system/.
  5. Solver application — choose & run the matching solver.
  6. Monitor — watch residuals & a physical quantity for convergence.
Authoritative external references: the OpenFOAM User Guide (boundaries, numerics, solvers) and the OpenFOAM documentation.

Frequently Asked Questions

What is the processing stage in OpenFOAM?

The solving stage, between pre- and post-processing. It's configured via boundary conditions, mesh motion, physics models, numerical schemes (fvSchemes/fvSolution) and the solver application.

What are the main boundary conditions in OpenFOAM?

fixedValue (inlet), zeroGradient (outlet), inletOutlet (backflow protection), wall/slip, cyclic (periodic), empty (2D), plus pressure conditions. List them with -listScalarBCs/-listVectorBCs.

How does mesh motion work in OpenFOAM?

Via dynamicMeshDict and a motion-capable solver (e.g. pimpleFoam with dynamic mesh). Options: solid-body/morphing motion, MRF for steady rotation, overset meshes, and adaptive mesh refinement.

What are fvSchemes and fvSolution in OpenFOAM?

fvSchemes sets discretization (ddt/grad/div/laplacian schemes); fvSolution sets linear solvers (GAMG/PCG/smoothSolver), relaxation and corrector loops. Together they control accuracy and stability.

Which OpenFOAM solver application should I use?

Match the physics: simpleFoam (steady incompressible), pimpleFoam (transient), interFoam (two-phase), rhoCentralFoam (compressible), chtMultiRegionFoam (conjugate heat transfer).

What turbulence models does OpenFOAM support?

RANS (k-ε, k-ω SST), LES (Smagorinsky, WALE) and DNS. Chosen in the momentum transport properties, with the choice driven by required accuracy vs cost.

Conclusion

Processing is where an OpenFOAM case comes alive — and it comes down to five decisions: physical boundary conditions on every patch, the right mesh motion for moving parts, the correct physics models (especially turbulence), stable-then-accurate numerics in fvSchemes and fvSolution, and the solver application that matches your flow. Set these deliberately — start robust, verify convergence, and refine — and OpenFOAM will reward you with accurate, stable results. Master the processing stage, and you've mastered the core of running CFD in OpenFOAM.


For more OpenFOAM, CFD and simulation tutorials plus free engineering calculators, explore Free CFD Tutorial. If this guide helped you, please share it with your fellow CFD engineers and students.

Comments

Popular posts from this blog

Ceiling Fan Simulation in a Room Using Ansys Fluent | Adding Fan Boundary Condition in CFD

TUTORIAL 03: CFD ANALYSIS OF DATA CENTER USING OPEN FOAM SOFTWARE

FDS-01: SIMPLE FLUID FLOW ANALYSIS USING FDS (FIRE DYNAMICS SIMULATOR) TOOL