Turbulence Model

Turbulence is set in the constant/turbulenceProperties file as follows

simulationType  RAS;
RAS
{
    RASModel            kOmegaSST;
    turbulence          on;
    printCoeffs         on;
    viscosityRatioMax   1e5;
}

Set simulationType and corresponding dictionary. The simulationType can be laminar, RAS, LES, etc.

turbulence and printCoeffs are always on.

viscosityRatioMax is the input value of Maximum Viscosity Ratio at [Numerical Conditions] – [Advanced].

Turbublence models

Laminar

simulationType  laminar;

For Newtonian fluids, there are no additional settings. For non-Newtonian flow, set the model in the laminar dictionary. Non-Newtonian models can be Cross, Herschel-Bulkley, Bird-Carreau, or Non-Newtonian power law. The coefficients for each model are set as follows

Cross

laminar
{
    model           generalizedNewtonian;
    viscosityModel  CrossPowerLaw;
    CrossPowerLawCoeffs
    {
        nu0     <value>;
        nuInf   <value>;
        m       <value>;
        n       <value>;
        tauStar <value>;
    }
}

Herschel-Bulkley

laminar
{
    model           generalizedNewtonian;
    viscosityModel  HerschelBulkley;
    HerschelBulkleyCoeffs
    {
        nu0     <value>;
        tau0    <value>;
        k       <value>;
        n       <value>;
    }
}

Bird-Carreau

laminar
{
    model           generalizedNewtonian;
    viscosityModel  BirdCarreau;
    BirdCarreauCoeffs
    {
        nu0     <value>;
        nuInf   <value>;
        k       <value>;
        n       <value>;
        a       <value>;
    }
}

Non-Newtonian power law

laminar
{
    model           generalizedNewtonian;
    viscosityModel  powerLaw;
    powerLawCoeffs
    {
        nuMax   <value>;
        nuMin   <value>;
        k       <value>;
        n       <value>;
    }
}

Spalart-Allmaras

Always as follows

simulationType  RAS;
RAS
{
    RASModel            SpalartAllmaras;
    turbulence          on;
    printCoeffs         on;
    viscosityRatioMax   <value>;
}

k-epsilon

simulationType  RAS;
RAS
{
    RASModel            kEpsilon; // RNGkEpsilon, realizableKE
    turbulence          on;
    printCoeffs         on;
    viscosityRatioMax   <value>;
    kEpsilonCoeffs
    {
        Prt     <value>;
        Sct     <value>;
    }
    ReyStar     60;
    deltaRey    10;
}

RASModel is kEpsilon for Standard일, RNGkEpsilon for RNG, realizableKE for Realizable.

Prt is the input of ‘for internal Field’ of ‘Turbulent Prandtl Number’.

Sct is the input of ‘Turbulent Schmidt Number’.

ReyStar and deltaRey is used for Enhanced Wall Treatment(two layer) and is fixed as 60 and 10.

k-omega SST

Always as follows

simulationType  RAS;
RAS
{
    RASModel            kOmegaSST;
    turbulence          on;
    printCoeffs         on;
    viscosityRatioMax   <value>;
}

LES

simulationType of LES is LES. ‘Subgrid-Scale model’, ‘Length-Scale model’ and corresponding dictionaries are needed.

Subgrid-Scale model is set at LESModel and Length-Scale model is at delta.

simulationType          LES;
LES
{
    LESModel            <Smagorinsky or WALE or dynamicKEqn or kEqn>;
    turbulence          on;
    printCoeffs         off;
    delta               <cubeRootVol or dynamicKEqn or kEqn>; 
    viscosityRatioMax   <value>;
    SmagorinskyCoeffs
    {
        Ck              <value>;
        Ce              <value>;
        Sct             <value>;
    }
    cubeRootVolCoeffs
    {
        deltaCoeff      1;
    }
}

Subgrid-Scale model

You can choose between Smagorinsky-Lilly(Smagorinsky), WALE(WALE), Kinetic-Energy Transport(dynamicKEqn), One Equation Eddy Viscosity(kEqn). For Smagorinsky-Lilly, the dictionary looks like the above, and for the rest, it looks like this

WALE

    WALECoeffs
    {
        Ck      <value>;
        Ce      <value>;
        Cw      <value>;
        Sct     <value>;
    }

Kinetic-Energy Transport

    dynamicKEqnCoeffs
    {
        filter      simple;
        Sct         <value>;
    }

One Equation Eddy Viscosity

    kEqnCoeffs
    {
        Ck      <value>;
        Ce      <value>;
        Sct     <value>;
    }

Sct is turbulent Schmidt number and only use for species transport. If species is not included, always use 0.7.

Length-Scale model

You can choose between Cube-root Volume(cubeRootVol), Van Driest(dynamicKEqn), smooth(smooth). For Cube-root Volume, the dictionary looks like the above, and for the rest, it looks like this.

Van Driest

    vanDriestCoeffs
    {
        delta           cubeRootVol;
        kappa           0.41;
        Aplus           26;
        Cdelta          0.158;
        calcInterval    1;
        cubeRootVolCoeffs
        {
            deltaCoeff  2.0;
        }
    }

smooth

    smoothCoeffs
    {
        delta           cubeRootVol;
        maxDeltaRatio   1.1;
        cubeRootVolCoeffs
        {
            deltaCoeff  1;
        }
    }

DES

simulationType of DES model is LES.

RAS Model, DES Option, Length-Scale Model and corresponding dictionaries are needed.

simulationType          LES;
LES
{
    LESModel            SpalartAllmarasDES; //kOmegaSSTDES; 
    turbulence          on;
    delta               <cubeRootVol or dynamicKEqn or smooth>;
    viscosityRatioMax   <value>;
    SpalartAllmarasDESCoeffs
    {
        CDES            <value>;
        lowReCorrection <yes or no>;
        Sct             <value>;
    }
    kOmegaSSTDES
    {
        CDESkom         <value>;
        CDESkeps        <value>;
        Sct             <value>;
    }
    cubeRootVolCoeffs
    {
        deltaCoeff      1;
    }
}

RAS Model is set at LESModel and Length-Scale Model is at delta.

RAS Model

You can choose between Spalart-Allmaras(SpalartAllmarasDES), k-omega SST(kOmegaSSTDES).

For Spalart-Allmaras, there is Low-Re Damping option. When useing this option, lowReCorrection of SpalartAllmarasDESCoeffs is yes and otherwise no.

DES Option

For Delayed DES, there is Shielding Function options of DDES and IDDES. For IDDES, Lengh-Scale Model disappears.

For DDES, LESModel is SpalartAllmarasDDES or kOmegaSSTDDES according to RAS Model.

simulationType          LES;
LES
{
    LESModel            SpalartAllmarasDDES; //kOmegaSSTDDES;
    turbulence          on;
    delta               <cubeRootVol or dynamicKEqn or smooth>;
    viscosityRatioMax   <value>;
    SpalartAllmarasDDESCoeffs
    {
        CDES            <value>;
        lowReCorrection <yes or no>;
        Sct             <value>;
    }
    kOmegaSSTDDES
    {
        CDESkom         <value>;
        CDESkeps        <value>;
        Sct             <value>;
    }
    cubeRootVolCoeffs
    {
        deltaCoeff      1;
    }
}

For IDDES, LESModel is SpalartAllmarasIDDES or kOmegaSSTIDDES according to RAS Model.

simulationType          LES;
LES
{
    LESModel            SpalartAllmarasIDDES; //kOmegaSSTIDDES;
    turbulence          on;
    delta               IDDESDelta;
    viscosityRatioMax   1e5;
    SpalartAllmarasIDDESCoeffs
    {
        CDES            <value>;
        lowReCorrection <yes or no>;
        Sct             <value>;
    }
    kOmegaSSTIDDES
    {
        CDESkom         <value>2;
        CDESkeps        <value>;
        Sct             <value>;
    }
    IDDESDeltaCoeffs
    {
        hmax maxDeltaxyzCubeRoot;
        maxDeltaxyzCubeRootCoeffs
        {
        }
    }
}

Length-Scale Model

Lengh-Scale Model is same as LES.