OpenFOAM includes support for the following types of turbulence modelling:


Turbulence models are specified in the $FOAM_CASE/constant/turbulenceProperties file, taking the form, e.g. when specifying the RAS kOmegaSST model:

simulationType      RAS;

    RASModel                kOmegaSST;

    // On/off switch
    turbulence              on

    // Optionally write the model coefficients at run-time
    printCoeffs             no;

    // Optionally override default model coefficients

Default coefficients are available for all models, based on their reference literature. Optionally users may override the default values by specifying a <model>Coeffs sub-dictionary. Coefficient names can be found by observing the solver output when setting the printCoeffs to yes.

Mesh requirements

Effective use of turbulence models requires close attention to their respective meshing requirements, particularly in near-wall regions.

Near wall velocity profile

DNS data from Lee and Moser [39]


  • high Reynolds number: first cell height should be in the region of 30 < \(y^{+}\) < 200. Note that the upper limit is imposed by the location of the outer layer, which depends on the Reynolds number
  • low Reynolds number: mesh required to resolve the viscous sub-layer, typically using 10-20 layers


  • mesh required to resolve the viscous sub-layer
  • requires high order schemes to adequately resolve the high-energy containing eddies
  • preferably isotropic mesh

Numerical settings

Turbulence generation is driven by the velocity gradient. Errors arising from the gradient calculation, e.g. due to poor quality meshes, can lead to spurious turbulence predictions and solver instability. This effect can be partly compensated by the application of limited schemes.

Further information

Source code: