8.2 Turbulence models

Turbulence modelling is part of general momentum transport which is concerned with models for the viscous stress in a fluid. Momentum transport is configured through the momentumTransport file in the constant directory of a case. The file includes the mandatory simulationType keyword that specifies how turbulence is modelled, which includes the following options:


laminar

uses no turbulence models;


RAS

uses Reynolds-averaged simulation (RAS) modelling;


LES

uses large-eddy simulation (LES) modelling.

The file then includes a sub-dictionary of the same name as the chosen simulationType which contains the model selections. A typical example is shown below that uses the eqneqn (k-epsilon) turbulence model.

16

17simulationType RAS;

18

19RAS

20{

21    model           kEpsilon;

22

23    turbulence      on;

24

25    printCoeffs     on;

26}

27

28// ************************************************************************* //
   

The file shows the selected RAS simulation followed by the RAS sub-dictionary containing the model selections, in particular the model which is set to kEpsilon. The choice of RAS models is described in section 8.2.1 and more information can be found in Chapter 7 of Notes on Computational Fluid Dynamics: General Principles. The LES models are listed in section 8.2.3 .

Where the laminar option is selected, the sub-dictionary is optional and will default to a Newtonian model, using the viscosity specified in the physicalProperties file. Other models, including non-Newtonian and visco-elastic models, are described in section 8.3 . Non-Newtonian models can also be combined with turbulence models (whereas visco-elastic models cannot).

For a general introduction to turbulence for CFD, the reader may also wish to consult Chapter 6 of Notes on Computational Fluid Dynamics: General Principles.

8.2.1 Reynolds-averaged simulation (RAS) modelling

If RAS is selected, the choice of RAS modelling is specified in a RAS sub-dictionary which requires the following entries.

  • model: name of RAS turbulence model.

  • turbulence: switch to turn the solving of turbulence modelling on/off.

  • printCoeffs: optional switch to print model coeffs to terminal at simulation start up, defaults to false.

  • <model>Coeffs: optional dictionary of coefficients for the respective model, defaults to standard coefficients.

Turbulence models can be listed by running foamToC with a relevant table listed from the RAS or LES tables. For example, the RAS tables are listed by running the following command.


    foamToC -table RAS
This returns several sub-tables. The user can then list the models within one of those tables, e.g. the incompressible models.


    foamToC -table RASincompressibleMomentumTransportModel
The RAS models used in the tutorials can be listed using foamSearch with the following command. The lists of available models are given in the following sections.


    foamSearch $FOAM_TUTORIALS momentumTransport RAS/model
Users can locate tutorials using a particular model, e.g. buoyantKEpsilon, using foamInfo.


    foamInfo buoyantKEpsilon

8.2.2 RAS turbulence models

For incompressible flows, the RAS model can be chosen from the list below.


LRR

Launder, Reece and Rodi Reynolds-stress turbulence model for incompressible flows.


LamBremhorstKE

Lam and Bremhorst low-Reynolds number k-epsilon turbulence model for incompressible flows.


LaunderSharmaKE

Launder and Sharma low-Reynolds k-epsilon turbulence model for incompressible flows.


LienCubicKE

Lien cubic non-linear low-Reynolds k-epsilon turbulence models for incompressible flows.


LienLeschziner

Lien and Leschziner low-Reynolds number k-epsilon turbulence model for incompressible flows.


RNGkEpsilon

Renormalization group k-epsilon turbulence model for incompressible flows.


SSG

Speziale, Sarkar and Gatski Reynolds-stress turbulence model for incompressible flows.


ShihQuadraticKE

Shih’s quadratic algebraic Reynolds stress k-epsilon turbulence model for incompressible flows


SpalartAllmaras

Spalart-Allmaras one-eqn mixing-length model for incompressible external flows.


kEpsilon

Standard k-epsilon turbulence model for incompressible flows.


kEpsilonLopesdaCosta

Variant of the standard k-epsilon turbulence model with additional source terms to handle the changes in turbulence in porous regions for atmospheric flows over forested terrain.


kOmega

Standard high Reynolds-number k-omega turbulence model for incompressible flows.


kOmega2006

Standard (2006) high Reynolds-number k-omega turbulence model for incompressible flows.


kOmegaSST

Implementation of the k-omega-SST turbulence model for incompressible flows.


kOmegaSSTLM

Langtry-Menter 4-equation transitional SST model based on the k-omega-SST RAS model.


kOmegaSSTSAS

Scale-adaptive URAS model based on the k-omega-SST RAS model.


kkLOmega

Low Reynolds-number k-kl-omega turbulence model for incompressible flows.


qZeta

Gibson and Dafa’Alla’s q-zeta two-equation low-Re turbulence model for incompressible flows


realizableKE

Realizable k-epsilon turbulence model for incompressible flows.


v2f

Lien and Kalitzin’s v2-f turbulence model for incompressible flows, with a limit imposed on the turbulent viscosity given by Davidson et al.

For compressible flows, the RAS model can be chosen from the list below.


LRR

Launder, Reece and Rodi Reynolds-stress turbulence model for compressible flows.


LaunderSharmaKE

Launder and Sharma low-Reynolds k-epsilon turbulence model for compressible and combusting flows including rapid distortion theory (RDT) based compression term.


RNGkEpsilon

Renormalization group k-epsilon turbulence model for compressible flows.


SSG

Speziale, Sarkar and Gatski Reynolds-stress turbulence model for compressible flows.


SpalartAllmaras

Spalart-Allmaras one-eqn mixing-length model for compressible external flows.


buoyantKEpsilon

Additional buoyancy generation/dissipation term applied to the k and epsilon equations of the standard k-epsilon model.


kEpsilon

Standard k-epsilon turbulence model for compressible flows including rapid distortion theory (RDT) based compression term.


kOmega

Standard high Reynolds-number k-omega turbulence model for compressible flows.


kOmega2006

Standard (2006) high Reynolds-number k-omega turbulence model for compressible flows.


kOmegaSST

Implementation of the k-omega-SST turbulence model for compressible flows.


kOmegaSSTLM

Langtry-Menter 4-equation transitional SST model based on the k-omega-SST RAS model.


kOmegaSSTSAS

Scale-adaptive URAS model based on the k-omega-SST RAS model.


realizableKE

Realizable k-epsilon turbulence model for compressible flows.


v2f

Lien and Kalitzin’s v2-f turbulence model for compressible flows, with a limit imposed on the turbulent viscosity given by Davidson et al.

8.2.3 Large eddy simulation (LES) modelling

If LES is selected, the choice of LES modelling is specified in a LES sub-dictionary which requires the following entries.

  • model: name of LES turbulence model.

  • turbulence: switch to turn the solving of turbulence modelling on/off.

  • delta: name of delta eqn model.

  • printCoeffs: optional switch to print model coeffs to terminal at simulation start up, defaults to false.

  • <model>Coeffs:

  • <model>Coeffs: optional dictionary of coefficients for the respective model, to override the default coefficients.

  • <delta>Coeffs: dictionary of coefficients for the delta model.

The LES models used in the tutorials can be listed using foamSearch with the following command. The lists of available models are given in the following sections.


    foamSearch $FOAM_TUTORIALS momentumTransport LES/model

8.2.4 LES turbulence models

For incompressible and compressible flows, the LES model can be chosen from the list below.


DeardorffDiffStress

Differential SGS Stress Equation Model for incompressible flows


Smagorinsky

The Smagorinsky SGS model.


SpalartAllmarasDDES

SpalartAllmaras DDES turbulence model for incompressible flows


SpalartAllmarasDES

SpalartAllmarasDES DES turbulence model for incompressible flows


SpalartAllmarasIDDES

SpalartAllmaras IDDES turbulence model for incompressible flows


WALE

The Wall-adapting local eddy-viscosity (WALE) SGS model.


dynamicKEqn

Dynamic one equation eddy-viscosity model


dynamicLagrangian

Dynamic SGS model with Lagrangian averaging


kEqn

One equation eddy-viscosity model


kOmegaSSTDES

Implementation of the k-omega-SST-DES turbulence model for incompressible flows.

8.2.5 Model coefficients

The coefficients for the RAS turbulence models are given default values in their respective source code. If the user wishes to override these default values, then they can do so by adding a sub-dictionary entry to the RAS sub-dictionary file, whose keyword name is that of the model with Coeffs appended, e.g. kEpsilonCoeffs for the kEpsilon model. If the printCoeffs switch is on in the RAS sub-dictionary, an example of the relevant …Coeffs dictionary is printed to standard output when the model is created at the beginning of a run. The user can simply copy this into the RAS sub-dictionary file and edit the entries as required.

8.2.6 Wall functions

A range of wall function models is available in OpenFOAM that are applied as boundary conditions on individual patches. This enables different wall function models to be applied to different wall regions. The choice of wall function model is specified through the turbulent viscosity field eqn in the 0/nut file. For example, a 0/nut file:

16

17dimensions      [0 2 -1 0 0 0 0];

18

19internalField   uniform 0;

20

21boundaryField

22{

23    inlet

24    {

25        type            calculated;

26        value           uniform 0;

27    }

28    outlet

29    {

30        type            calculated;

31        value           uniform 0;

32    }

33    upperWall

34    {

35        type            nutkWallFunction;

36        value           uniform 0;

37    }

38    lowerWall

39    {

40        type            nutkWallFunction;

41        value           uniform 0;

42    }

43    frontAndBack

44    {

45        type            empty;

46    }

47}

48

49

50// ************************************************************************* //
   

There are a number of wall function models available in the release, e.g. nutWallFunction, nutRoughWallFunction, nutUSpaldingWallFunction, nutkWallFunction and nutkAtmWallFunction. The user can get the full list of wall function models using foamInfo:


    foamToC -scalarBCs | grep nut
Within each wall function boundary condition the user can over-ride default settings for eqn, eqn and eqn through optional E, kappa and Cmu keyword entries.

Having selected the particular wall functions on various wall patches in the nut file, the user should select the following boundary conditions at wall patches for other turbulence fields.

  • epsilon field: apply the epsilonWallFunction to corresponding patches.

  • omega field: apply the omegaWallFunction to corresponding patches.

  • k, q or R field: apply kqRwallFunction to corresponding patches.

OpenFOAM v12 User Guide - 8.2 Turbulence models