Base class implementation of the k-omega-SST turbulence model for incompressible and compressible flows. More...
Public Types | |
typedef BasicEddyViscosityModel::alphaField | alphaField |
typedef BasicEddyViscosityModel::rhoField | rhoField |
typedef BasicEddyViscosityModel::transportModel | transportModel |
Public Member Functions | |
kOmegaSSTBase (const word &type, const alphaField &alpha, const rhoField &rho, const volVectorField &U, const surfaceScalarField &alphaRhoPhi, const surfaceScalarField &phi, const transportModel &transport, const word &propertiesName=turbulenceModel::propertiesName) | |
Construct from components. More... | |
virtual | ~kOmegaSSTBase ()=default |
Destructor. More... | |
virtual bool | read () |
Re-read model coefficients if they have changed. More... | |
tmp< volScalarField > | DkEff (const volScalarField &F1) const |
Return the effective diffusivity for k. More... | |
tmp< volScalarField > | DomegaEff (const volScalarField &F1) const |
Return the effective diffusivity for omega. More... | |
virtual tmp< volScalarField > | k () const |
Return the turbulence kinetic energy. More... | |
virtual tmp< volScalarField > | omega () const |
Return the turbulence kinetic energy dissipation rate. More... | |
virtual void | correct () |
Solve the turbulence equations and correct the turbulence viscosity. More... | |
Protected Attributes | |
dimensionedScalar | alphaK1_ |
dimensionedScalar | alphaK2_ |
dimensionedScalar | alphaOmega1_ |
dimensionedScalar | alphaOmega2_ |
dimensionedScalar | gamma1_ |
dimensionedScalar | gamma2_ |
dimensionedScalar | beta1_ |
dimensionedScalar | beta2_ |
dimensionedScalar | betaStar_ |
dimensionedScalar | a1_ |
dimensionedScalar | b1_ |
dimensionedScalar | c1_ |
Switch | F3_ |
Flag to include the F3 term. More... | |
const volScalarField & | y_ |
Wall distance. More... | |
volScalarField | k_ |
volScalarField | omega_ |
Switch | decayControl_ |
Flag to include the decay control. More... | |
dimensionedScalar | kInf_ |
dimensionedScalar | omegaInf_ |
Base class implementation of the k-omega-SST turbulence model for incompressible and compressible flows.
Turbulence model described in:
Menter, F. R. & Esch, T. (2001). Elements of Industrial Heat Transfer Prediction. 16th Brazilian Congress of Mechanical Engineering (COBEM).
with updated coefficients from
Menter, F. R., Kuntz, M., and Langtry, R. (2003). Ten Years of Industrial Experience with the SST Turbulence Model. Turbulence, Heat and Mass Transfer 4, ed: K. Hanjalic, Y. Nagano, & M. Tummers, Begell House, Inc., 625 - 632.
but with the consistent production terms from the 2001 paper as form in the 2003 paper is a typo, see
http://turbmodels.larc.nasa.gov/sst.html
and the addition of the optional F3 term for rough walls from
Hellsten, A. (1998). Some Improvements in Menter's k-omega-SST turbulence model 29th AIAA Fluid Dynamics Conference, AIAA-98-2554.
and the optional decay control from:
Spalart, P. R. and Rumsey, C. L. (2007). Effective Inflow Conditions for Turbulence Models in Aerodynamic Calculations AIAA Journal, 45(10), 2544 - 2553.
Note that this implementation is written in terms of alpha diffusion coefficients rather than the more traditional sigma (alpha = 1/sigma) so that the blending can be applied to all coefficients in a consistent manner. The paper suggests that sigma is blended but this would not be consistent with the blending of the k-epsilon and k-omega models.
Also note that the error in the last term of equation (2) relating to sigma has been corrected.
Wall-functions are applied in this implementation by using equations (14) to specify the near-wall omega as appropriate.
The blending functions (15) and (16) are not currently used because of the uncertainty in their origin, range of applicability and that if y+ becomes sufficiently small blending u_tau in this manner clearly becomes nonsense.
The default model coefficients are
kOmegaSSTBaseCoeffs { alphaK1 0.85; alphaK2 1.0; alphaOmega1 0.5; alphaOmega2 0.856; beta1 0.075; beta2 0.0828; betaStar 0.09; gamma1 5/9; gamma2 0.44; a1 0.31; b1 1.0; c1 10.0; F3 no; // Optional decay control decayControl yes; kInf \<far-field k value\>; omegaInf \<far-field omega value\>; }
Definition at line 128 of file kOmegaSSTBase.H.
typedef BasicEddyViscosityModel::alphaField alphaField |
Definition at line 290 of file kOmegaSSTBase.H.
typedef BasicEddyViscosityModel::rhoField rhoField |
Definition at line 291 of file kOmegaSSTBase.H.
typedef BasicEddyViscosityModel::transportModel transportModel |
Definition at line 292 of file kOmegaSSTBase.H.
kOmegaSSTBase | ( | const word & | type, |
const alphaField & | alpha, | ||
const rhoField & | rho, | ||
const volVectorField & | U, | ||
const surfaceScalarField & | alphaRhoPhi, | ||
const surfaceScalarField & | phi, | ||
const transportModel & | transport, | ||
const word & | propertiesName = turbulenceModel::propertiesName |
||
) |
Construct from components.
Definition at line 224 of file kOmegaSSTBase.C.
|
virtualdefault |
Destructor.
|
protected |
Definition at line 432 of file kOmegaSSTBase.C.
References dict, Foam::endl(), and Foam::Info.
|
protectedvirtual |
Reimplemented in kOmegaSSTLM< BasicTurbulenceModel >.
Definition at line 42 of file kOmegaSSTBase.C.
References Foam::dimless, Foam::dimTime, Foam::max(), Foam::min(), mu, Foam::pow4(), Foam::sqr(), Foam::sqrt(), and Foam::tanh().
|
protectedvirtual |
Definition at line 72 of file kOmegaSSTBase.C.
References Foam::max(), Foam::min(), mu, Foam::sqr(), Foam::sqrt(), and Foam::tanh().
|
protectedvirtual |
Definition at line 89 of file kOmegaSSTBase.C.
References Foam::min(), mu, Foam::pow4(), Foam::sqr(), and Foam::tanh().
|
protectedvirtual |
Definition at line 102 of file kOmegaSSTBase.C.
References F2, F3, and tmp< T >::ref().
|
inlineprotected |
Definition at line 197 of file kOmegaSSTBase.H.
References F1, psi1, and psi2.
Referenced by kOmegaSSTBase< BasicEddyViscosityModel >::alphaK(), kOmegaSSTBase< BasicEddyViscosityModel >::alphaOmega(), kOmegaSSTBase< BasicEddyViscosityModel >::beta(), and kOmegaSSTBase< BasicEddyViscosityModel >::gamma().
|
inlineprotected |
Definition at line 207 of file kOmegaSSTBase.H.
|
inlineprotected |
Definition at line 217 of file kOmegaSSTBase.H.
References kOmegaSSTBase< BasicEddyViscosityModel >::alphaK1_, kOmegaSSTBase< BasicEddyViscosityModel >::alphaK2_, kOmegaSSTBase< BasicEddyViscosityModel >::blend(), and F1.
Referenced by kOmegaSSTBase< BasicEddyViscosityModel >::DkEff().
|
inlineprotected |
Definition at line 222 of file kOmegaSSTBase.H.
References kOmegaSSTBase< BasicEddyViscosityModel >::alphaOmega1_, kOmegaSSTBase< BasicEddyViscosityModel >::alphaOmega2_, kOmegaSSTBase< BasicEddyViscosityModel >::blend(), and F1.
Referenced by kOmegaSSTBase< BasicEddyViscosityModel >::DomegaEff().
|
inlineprotected |
Definition at line 227 of file kOmegaSSTBase.H.
References kOmegaSSTBase< BasicEddyViscosityModel >::beta1_, kOmegaSSTBase< BasicEddyViscosityModel >::beta2_, kOmegaSSTBase< BasicEddyViscosityModel >::blend(), Time::New(), and Foam::type().
|
inlineprotected |
Definition at line 239 of file kOmegaSSTBase.H.
References kOmegaSSTBase< BasicEddyViscosityModel >::blend(), kOmegaSSTBase< BasicEddyViscosityModel >::gamma1_, kOmegaSSTBase< BasicEddyViscosityModel >::gamma2_, Time::New(), and Foam::type().
|
protectedvirtual |
Reimplemented in kOmegaSSTSato< BasicTurbulenceModel >, kOmegaSSTDES< BasicTurbulenceModel >, and kOmegaSST< BasicTurbulenceModel >.
Definition at line 116 of file kOmegaSSTBase.C.
References Foam::max(), Time::New(), and Foam::sqrt().
|
protectedvirtual |
Reimplemented in kOmegaSSTDES< BasicTurbulenceModel >, and kOmegaSST< BasicTurbulenceModel >.
Definition at line 129 of file kOmegaSSTBase.C.
References Foam::fvc::grad(), Foam::magSqr(), and Foam::symm().
|
protectedvirtual |
Return k production rate.
Reimplemented in kOmegaSSTLM< BasicTurbulenceModel >.
Definition at line 136 of file kOmegaSSTBase.C.
References Foam::min().
Referenced by kOmegaSSTLM< BasicTurbulenceModel >::Pk().
|
protectedvirtual |
Return epsilon/k which for standard RAS is betaStar*omega.
Reimplemented in kOmegaSSTDES< BasicTurbulenceModel >, and kOmegaSSTLM< BasicTurbulenceModel >.
Definition at line 147 of file kOmegaSSTBase.C.
Referenced by kOmegaSSTLM< BasicTurbulenceModel >::epsilonByk().
|
protectedvirtual |
Return G/nu.
Reimplemented in kOmegaSSTDES< BasicTurbulenceModel >.
Definition at line 158 of file kOmegaSSTBase.C.
References F2, Foam::max(), Foam::min(), and Foam::sqrt().
|
protectedvirtual |
Definition at line 175 of file kOmegaSSTBase.C.
References Foam::dimTime, and Foam::dimVolume.
|
protectedvirtual |
Definition at line 189 of file kOmegaSSTBase.C.
|
protectedvirtual |
Reimplemented in kOmegaSSTSAS< BasicTurbulenceModel >.
Definition at line 203 of file kOmegaSSTBase.C.
References Foam::dimTime, and Foam::dimVolume.
|
virtual |
Re-read model coefficients if they have changed.
Reimplemented in kOmegaSSTSato< BasicTurbulenceModel >, kOmegaSSTDDES< BasicTurbulenceModel >, kOmegaSSTDES< BasicTurbulenceModel >, kOmegaSSTIDDES< BasicTurbulenceModel >, kOmegaSSTLM< BasicTurbulenceModel >, and kOmegaSSTSAS< BasicTurbulenceModel >.
Definition at line 456 of file kOmegaSSTBase.C.
|
inline |
Return the effective diffusivity for k.
Definition at line 321 of file kOmegaSSTBase.H.
References kOmegaSSTBase< BasicEddyViscosityModel >::alphaK(), F1, and nu.
|
inline |
Return the effective diffusivity for omega.
Definition at line 330 of file kOmegaSSTBase.H.
References kOmegaSSTBase< BasicEddyViscosityModel >::alphaOmega(), F1, and nu.
|
inlinevirtual |
Return the turbulence kinetic energy.
Definition at line 343 of file kOmegaSSTBase.H.
References kOmegaSSTBase< BasicEddyViscosityModel >::k_.
|
inlinevirtual |
Return the turbulence kinetic energy dissipation rate.
Definition at line 349 of file kOmegaSSTBase.H.
References kOmegaSSTBase< BasicEddyViscosityModel >::omega_.
|
virtual |
Solve the turbulence equations and correct the turbulence viscosity.
Reimplemented in kOmegaSSTSato< BasicTurbulenceModel >, and kOmegaSSTLM< BasicTurbulenceModel >.
Definition at line 484 of file kOmegaSSTBase.C.
References Foam::fvc::absolute(), alpha, beta(), Foam::bound(), tmp< T >::clear(), optionList::constrain(), optionList::correct(), Foam::fvm::ddt(), Foam::dev(), Foam::fvc::div(), Foam::fvm::div(), divU, F1, fvOptions, gamma, Foam::fvc::grad(), Foam::fvm::laplacian(), Foam::magSqr(), Time::New(), nut, phi, tmp< T >::ref(), rho, solve(), Foam::fvm::Sp(), Foam::sqr(), Foam::fvm::SuSp(), Foam::symm(), Foam::twoSymm(), Foam::type(), and U.
|
protected |
Definition at line 147 of file kOmegaSSTBase.H.
Referenced by kOmegaSSTBase< BasicEddyViscosityModel >::alphaK().
|
protected |
Definition at line 148 of file kOmegaSSTBase.H.
Referenced by kOmegaSSTBase< BasicEddyViscosityModel >::alphaK().
|
protected |
Definition at line 150 of file kOmegaSSTBase.H.
Referenced by kOmegaSSTBase< BasicEddyViscosityModel >::alphaOmega().
|
protected |
Definition at line 151 of file kOmegaSSTBase.H.
Referenced by kOmegaSSTBase< BasicEddyViscosityModel >::alphaOmega().
|
protected |
Definition at line 153 of file kOmegaSSTBase.H.
Referenced by kOmegaSSTBase< BasicEddyViscosityModel >::gamma().
|
protected |
Definition at line 154 of file kOmegaSSTBase.H.
Referenced by kOmegaSSTBase< BasicEddyViscosityModel >::gamma().
|
protected |
Definition at line 156 of file kOmegaSSTBase.H.
Referenced by kOmegaSSTBase< BasicEddyViscosityModel >::beta().
|
protected |
Definition at line 157 of file kOmegaSSTBase.H.
Referenced by kOmegaSSTBase< BasicEddyViscosityModel >::beta().
|
protected |
Definition at line 159 of file kOmegaSSTBase.H.
|
protected |
Definition at line 161 of file kOmegaSSTBase.H.
|
protected |
Definition at line 162 of file kOmegaSSTBase.H.
|
protected |
Definition at line 163 of file kOmegaSSTBase.H.
|
protected |
Flag to include the F3 term.
Definition at line 166 of file kOmegaSSTBase.H.
|
protected |
Wall distance.
Note: different to wall distance in parent RASModel which is for near-wall cells only
Definition at line 174 of file kOmegaSSTBase.H.
|
protected |
Definition at line 176 of file kOmegaSSTBase.H.
Referenced by kOmegaSSTBase< BasicEddyViscosityModel >::k().
|
protected |
Definition at line 177 of file kOmegaSSTBase.H.
Referenced by kOmegaSSTBase< BasicEddyViscosityModel >::omega().
|
protected |
Flag to include the decay control.
Definition at line 183 of file kOmegaSSTBase.H.
|
protected |
Definition at line 184 of file kOmegaSSTBase.H.
|
protected |
Definition at line 185 of file kOmegaSSTBase.H.