Implementation of the k-omega-SST turbulence model for incompressible and compressible flows. More...
Public Types | |
typedef BasicMomentumTransportModel::alphaField | alphaField |
typedef BasicMomentumTransportModel::rhoField | rhoField |
Public Member Functions | |
kOmegaSST (const word &type, const alphaField &alpha, const rhoField &rho, const volVectorField &U, const surfaceScalarField &alphaRhoPhi, const surfaceScalarField &phi, const viscosity &viscosity) | |
Construct from components. More... | |
kOmegaSST (const kOmegaSST &)=delete | |
Disallow default bitwise copy construction. More... | |
virtual | ~kOmegaSST () |
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 > | epsilon () const |
Return the turbulence kinetic energy dissipation rate. 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... | |
void | operator= (const kOmegaSST &)=delete |
Disallow default bitwise assignment. More... | |
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.
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 coefficuients 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
kOmegaSSTCoeffs { 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; }
Definition at line 112 of file kOmegaSSTBase.H.
typedef BasicMomentumTransportModel::alphaField alphaField |
Definition at line 240 of file kOmegaSSTBase.H.
typedef BasicMomentumTransportModel::rhoField rhoField |
Definition at line 241 of file kOmegaSSTBase.H.
kOmegaSST | ( | const word & | type, |
const alphaField & | alpha, | ||
const rhoField & | rho, | ||
const volVectorField & | U, | ||
const surfaceScalarField & | alphaRhoPhi, | ||
const surfaceScalarField & | phi, | ||
const viscosity & | viscosity | ||
) |
Construct from components.
Definition at line 220 of file kOmegaSSTBase.C.
Disallow default bitwise copy construction.
|
inlinevirtual |
Destructor.
Reimplemented in kOmegaSST< BasicMomentumTransportModel >.
Definition at line 263 of file kOmegaSSTBase.H.
|
protectedvirtual |
Reimplemented in kOmegaSSTLM< BasicMomentumTransportModel >.
Definition at line 49 of file kOmegaSSTBase.C.
References Foam::dimless, Foam::dimTime, Foam::max(), Foam::min(), Foam::pow4(), Foam::sqr(), Foam::sqrt(), Foam::tanh(), and y.
Referenced by kOmegaSST< MomentumTransportModel, BasicMomentumTransportModel >::alphaK(), kOmegaSST< MomentumTransportModel, BasicMomentumTransportModel >::alphaOmega(), kOmegaSST< MomentumTransportModel, BasicMomentumTransportModel >::beta(), kOmegaSST< MomentumTransportModel, BasicMomentumTransportModel >::blend(), kOmegaSST< MomentumTransportModel, BasicMomentumTransportModel >::DkEff(), kOmegaSST< MomentumTransportModel, BasicMomentumTransportModel >::DomegaEff(), and kOmegaSST< MomentumTransportModel, BasicMomentumTransportModel >::gamma().
|
protectedvirtual |
Definition at line 79 of file kOmegaSSTBase.C.
References Foam::max(), Foam::min(), Foam::sqr(), Foam::sqrt(), Foam::tanh(), and y.
|
protectedvirtual |
Definition at line 96 of file kOmegaSSTBase.C.
References Foam::min(), Foam::pow4(), Foam::sqr(), Foam::tanh(), and y.
|
protectedvirtual |
Definition at line 109 of file kOmegaSSTBase.C.
References F2, F3, and tmp< T >::ref().
|
inlineprotected |
Definition at line 156 of file kOmegaSSTBase.H.
References kOmegaSST< MomentumTransportModel, BasicMomentumTransportModel >::F1().
Referenced by kOmegaSST< MomentumTransportModel, BasicMomentumTransportModel >::alphaK(), kOmegaSST< MomentumTransportModel, BasicMomentumTransportModel >::alphaOmega(), kOmegaSST< MomentumTransportModel, BasicMomentumTransportModel >::beta(), and kOmegaSST< MomentumTransportModel, BasicMomentumTransportModel >::gamma().
|
inlineprotected |
Definition at line 166 of file kOmegaSSTBase.H.
References kOmegaSST< MomentumTransportModel, BasicMomentumTransportModel >::F1().
|
inlineprotected |
Definition at line 176 of file kOmegaSSTBase.H.
References kOmegaSST< MomentumTransportModel, BasicMomentumTransportModel >::alphaK1_, kOmegaSST< MomentumTransportModel, BasicMomentumTransportModel >::alphaK2_, kOmegaSST< MomentumTransportModel, BasicMomentumTransportModel >::blend(), and kOmegaSST< MomentumTransportModel, BasicMomentumTransportModel >::F1().
Referenced by kOmegaSST< MomentumTransportModel, BasicMomentumTransportModel >::DkEff().
|
inlineprotected |
Definition at line 181 of file kOmegaSSTBase.H.
References kOmegaSST< MomentumTransportModel, BasicMomentumTransportModel >::alphaOmega1_, kOmegaSST< MomentumTransportModel, BasicMomentumTransportModel >::alphaOmega2_, kOmegaSST< MomentumTransportModel, BasicMomentumTransportModel >::blend(), and kOmegaSST< MomentumTransportModel, BasicMomentumTransportModel >::F1().
Referenced by kOmegaSST< MomentumTransportModel, BasicMomentumTransportModel >::DomegaEff().
|
inlineprotected |
Definition at line 186 of file kOmegaSSTBase.H.
References kOmegaSST< MomentumTransportModel, BasicMomentumTransportModel >::beta1_, kOmegaSST< MomentumTransportModel, BasicMomentumTransportModel >::beta2_, kOmegaSST< MomentumTransportModel, BasicMomentumTransportModel >::blend(), and kOmegaSST< MomentumTransportModel, BasicMomentumTransportModel >::F1().
|
inlineprotected |
Definition at line 194 of file kOmegaSSTBase.H.
References kOmegaSST< MomentumTransportModel, BasicMomentumTransportModel >::blend(), kOmegaSST< MomentumTransportModel, BasicMomentumTransportModel >::F1(), kOmegaSST< MomentumTransportModel, BasicMomentumTransportModel >::gamma1_, and kOmegaSST< MomentumTransportModel, BasicMomentumTransportModel >::gamma2_.
|
protected |
Bound omega.
Definition at line 41 of file kOmegaSSTBase.C.
References Foam::max().
|
protectedvirtual |
Reimplemented in kOmegaSSTSato< BasicMomentumTransportModel >.
Definition at line 123 of file kOmegaSSTBase.C.
References F2, Foam::max(), dictionary::New(), and Foam::sqrt().
|
protectedvirtual |
Definition at line 136 of file kOmegaSSTBase.C.
References Foam::fvc::grad(), Foam::magSqr(), and Foam::symm().
|
protectedvirtual |
Return k production rate.
Reimplemented in kOmegaSSTLM< BasicMomentumTransportModel >.
Definition at line 145 of file kOmegaSSTBase.C.
References Foam::constant::universal::G, and Foam::min().
|
protectedvirtual |
Return epsilon/k which for standard RAS is betaStar*omega.
Reimplemented in kOmegaSSTLM< BasicMomentumTransportModel >, and kOmegaSSTDES< BasicMomentumTransportModel >.
Definition at line 156 of file kOmegaSSTBase.C.
|
protectedvirtual |
Definition at line 168 of file kOmegaSSTBase.C.
References Foam::dimTime, and Foam::dimVolume.
|
protectedvirtual |
Definition at line 183 of file kOmegaSSTBase.C.
References Foam::dimTime, and Foam::dimVolume.
|
protectedvirtual |
Reimplemented in kOmegaSSTSAS< BasicMomentumTransportModel >.
Definition at line 199 of file kOmegaSSTBase.C.
|
virtual |
Re-read model coefficients if they have changed.
Reimplemented in kOmegaSSTSato< BasicMomentumTransportModel >, kOmegaSSTSAS< BasicMomentumTransportModel >, kOmegaSSTLM< BasicMomentumTransportModel >, and kOmegaSSTDES< BasicMomentumTransportModel >.
Definition at line 393 of file kOmegaSSTBase.C.
References Foam::blockMeshTools::read().
|
inline |
Return the effective diffusivity for k.
Definition at line 273 of file kOmegaSSTBase.H.
References kOmegaSST< MomentumTransportModel, BasicMomentumTransportModel >::alphaK(), kOmegaSST< MomentumTransportModel, BasicMomentumTransportModel >::F1(), and GeometricField< Type, PatchField, GeoMesh >::New().
|
inline |
Return the effective diffusivity for omega.
Definition at line 283 of file kOmegaSSTBase.H.
References kOmegaSST< MomentumTransportModel, BasicMomentumTransportModel >::alphaOmega(), kOmegaSST< MomentumTransportModel, BasicMomentumTransportModel >::F1(), and GeometricField< Type, PatchField, GeoMesh >::New().
|
inlinevirtual |
Return the turbulence kinetic energy.
Definition at line 293 of file kOmegaSSTBase.H.
References kOmegaSST< MomentumTransportModel, BasicMomentumTransportModel >::k_.
|
inlinevirtual |
Return the turbulence kinetic energy dissipation rate.
Definition at line 299 of file kOmegaSSTBase.H.
References kOmegaSST< MomentumTransportModel, BasicMomentumTransportModel >::betaStar_, kOmegaSST< MomentumTransportModel, BasicMomentumTransportModel >::k_, GeometricField< Type, PatchField, GeoMesh >::New(), and kOmegaSST< MomentumTransportModel, BasicMomentumTransportModel >::omega_.
|
inlinevirtual |
Return the turbulence kinetic energy dissipation rate.
Definition at line 309 of file kOmegaSSTBase.H.
References kOmegaSST< MomentumTransportModel, BasicMomentumTransportModel >::omega_.
|
virtual |
Solve the turbulence equations and correct the turbulence viscosity.
Reimplemented in kOmegaSSTSato< BasicMomentumTransportModel >, and kOmegaSSTLM< BasicMomentumTransportModel >.
Definition at line 421 of file kOmegaSSTBase.C.
References Foam::fvc::absolute(), alpha(), Foam::bound(), tmp< T >::clear(), fvConstraints::constrain(), Foam::MULES::correct(), Foam::fvm::ddt(), Foam::dev(), Foam::fvc::div(), Foam::fvm::div(), F1, fvConstraints(), fvModels(), Foam::constant::universal::G, Foam::fvc::grad(), Foam::fvm::laplacian(), Foam::magSqr(), Foam::max(), Foam::min(), dictionary::New(), nut, tmp< T >::ref(), rho, Foam::solve(), fvModels::source(), Foam::fvm::Sp(), Foam::sqrt(), Foam::fvm::SuSp(), Foam::symm(), Foam::twoSymm(), and U.
|
delete |
Disallow default bitwise assignment.
|
protected |
Definition at line 122 of file kOmegaSSTBase.H.
Referenced by kOmegaSST< MomentumTransportModel, BasicMomentumTransportModel >::alphaK().
|
protected |
Definition at line 123 of file kOmegaSSTBase.H.
Referenced by kOmegaSST< MomentumTransportModel, BasicMomentumTransportModel >::alphaK().
|
protected |
Definition at line 125 of file kOmegaSSTBase.H.
Referenced by kOmegaSST< MomentumTransportModel, BasicMomentumTransportModel >::alphaOmega().
|
protected |
Definition at line 126 of file kOmegaSSTBase.H.
Referenced by kOmegaSST< MomentumTransportModel, BasicMomentumTransportModel >::alphaOmega().
|
protected |
Definition at line 128 of file kOmegaSSTBase.H.
Referenced by kOmegaSST< MomentumTransportModel, BasicMomentumTransportModel >::gamma().
|
protected |
Definition at line 129 of file kOmegaSSTBase.H.
Referenced by kOmegaSST< MomentumTransportModel, BasicMomentumTransportModel >::gamma().
|
protected |
Definition at line 131 of file kOmegaSSTBase.H.
Referenced by kOmegaSST< MomentumTransportModel, BasicMomentumTransportModel >::beta().
|
protected |
Definition at line 132 of file kOmegaSSTBase.H.
Referenced by kOmegaSST< MomentumTransportModel, BasicMomentumTransportModel >::beta().
|
protected |
Definition at line 134 of file kOmegaSSTBase.H.
Referenced by kOmegaSST< MomentumTransportModel, BasicMomentumTransportModel >::epsilon().
|
protected |
Definition at line 136 of file kOmegaSSTBase.H.
|
protected |
Definition at line 137 of file kOmegaSSTBase.H.
|
protected |
Definition at line 138 of file kOmegaSSTBase.H.
|
protected |
Definition at line 140 of file kOmegaSSTBase.H.
|
protected |
Definition at line 145 of file kOmegaSSTBase.H.
Referenced by kOmegaSST< MomentumTransportModel, BasicMomentumTransportModel >::epsilon(), and kOmegaSST< MomentumTransportModel, BasicMomentumTransportModel >::k().
|
protected |
Definition at line 146 of file kOmegaSSTBase.H.
Referenced by kOmegaSST< MomentumTransportModel, BasicMomentumTransportModel >::epsilon(), and kOmegaSST< MomentumTransportModel, BasicMomentumTransportModel >::omega().