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.

When Enhanced wall treatment option is on realizableKEtwoLayer

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. If the “Enhanced wall treatment” option is enabled, it uses “realizableKEtwoLayer.”

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.