Low Reynolds-number k-kl-omega turbulence model for incompressible flows. More...
Public Member Functions | |
TypeName ("kkLOmega") | |
Runtime type information. More... | |
kkLOmega (const geometricOneField &alpha, const geometricOneField &rho, const volVectorField &U, const surfaceScalarField &alphaRhoPhi, const surfaceScalarField &phi, const transportModel &transport, const word &propertiesName=turbulenceModel::propertiesName, const word &type=typeName) | |
Construct from components. More... | |
virtual | ~kkLOmega () |
Destructor. More... | |
virtual bool | read () |
Read RASProperties dictionary. More... | |
tmp< volScalarField > | DkEff (const volScalarField &alphaT) const |
Return the effective diffusivity for k. More... | |
tmp< volScalarField > | DomegaEff (const volScalarField &alphaT) const |
Return the effective diffusivity for omega. More... | |
virtual tmp< volScalarField > | kl () const |
Return the laminar kinetic energy. More... | |
virtual tmp< volScalarField > | kt () const |
Return the turbulence kinetic energy. More... | |
virtual tmp< volScalarField > | omega () const |
Return the turbulence specific dissipation rate. More... | |
virtual tmp< volScalarField > | k () const |
Return the total fluctuation kinetic energy. More... | |
virtual tmp< volScalarField > | epsilon () const |
Return the total fluctuation kinetic energy dissipation rate. More... | |
virtual void | validate () |
Validate the turbulence fields after construction. More... | |
virtual void | correct () |
Solve the turbulence equations and correct the turbulence viscosity. More... | |
Public Member Functions inherited from eddyViscosity< incompressible::RASModel > | |
eddyViscosity (const word &modelName, const alphaField &alpha, const rhoField &rho, const volVectorField &U, const surfaceScalarField &alphaRhoPhi, const surfaceScalarField &phi, const transportModel &transport, const word &propertiesName) | |
Construct from components. More... | |
virtual | ~eddyViscosity () |
Destructor. More... | |
volScalarField & | evNut () |
Return non-const access to the turbulence viscosity. More... | |
virtual tmp< volScalarField > | nut () const |
Return the turbulence viscosity. More... | |
virtual tmp< scalarField > | nut (const label patchi) const |
Return the turbulence viscosity on patch. More... | |
virtual tmp< volSymmTensorField > | R () const |
Return the Reynolds stress tensor. More... | |
Public Member Functions inherited from linearViscousStress< incompressible::RASModel > | |
linearViscousStress (const word &modelName, const alphaField &alpha, const rhoField &rho, const volVectorField &U, const surfaceScalarField &alphaRhoPhi, const surfaceScalarField &phi, const transportModel &transport, const word &propertiesName) | |
Construct from components. More... | |
virtual | ~linearViscousStress () |
Destructor. More... | |
virtual tmp< volSymmTensorField > | devRhoReff () const |
Return the effective stress tensor. More... | |
virtual tmp< fvVectorMatrix > | divDevRhoReff (volVectorField &U) const |
Return the source term for the momentum equation. More... | |
virtual tmp< fvVectorMatrix > | divDevRhoReff (const volScalarField &rho, volVectorField &U) const |
Return the source term for the momentum equation. More... | |
Protected Member Functions | |
virtual void | correctNut () |
Additional Inherited Members | |
Public Types inherited from eddyViscosity< incompressible::RASModel > | |
typedef incompressible::RASModel::alphaField | alphaField |
typedef incompressible::RASModel::rhoField | rhoField |
typedef incompressible::RASModel::transportModel | transportModel |
Public Types inherited from linearViscousStress< incompressible::RASModel > | |
typedef incompressible::RASModel::alphaField | alphaField |
typedef incompressible::RASModel::rhoField | rhoField |
typedef incompressible::RASModel::transportModel | transportModel |
Low Reynolds-number k-kl-omega turbulence model for incompressible flows.
This turbulence model is described in:
Walters, D. K., & Cokljat, D. (2008). A three-equation eddy-viscosity model for Reynolds-averaged Navier–Stokes simulations of transitional flow. Journal of Fluids Engineering, 130(12), 121401.
however the paper contains several errors which must be corrected for the model to operation correctly as explained in
Furst, J. (2013). Numerical simulation of transitional flows with laminar kinetic energy. Engineering MECHANICS, 20(5), 379-388.
All these corrections and updates are included in this implementation.
The default model coefficients are
kkLOmegaCoeffs { A0 4.04 As 2.12 Av 6.75 Abp 0.6 Anat 200 Ats 200 CbpCrit 1.2 Cnc 0.1 CnatCrit 1250 Cint 0.75 CtsCrit 1000 CrNat 0.02 C11 3.4e-6 C12 1.0e-10 CR 0.12 CalphaTheta 0.035 Css 1.5 CtauL 4360 Cw1 0.44 Cw2 0.92 Cw3 0.3 CwR 1.5 Clambda 2.495 CmuStd 0.09 Prtheta 0.85 Sigmak 1 Sigmaw 1.17 }
Definition at line 110 of file kkLOmega.H.
kkLOmega | ( | const geometricOneField & | alpha, |
const geometricOneField & | rho, | ||
const volVectorField & | U, | ||
const surfaceScalarField & | alphaRhoPhi, | ||
const surfaceScalarField & | phi, | ||
const transportModel & | transport, | ||
const word & | propertiesName = turbulenceModel::propertiesName , |
||
const word & | type = typeName |
||
) |
Construct from components.
Definition at line 223 of file kkLOmega.C.
References Foam::bound(), GeometricField< Type, PatchField, GeoMesh >::correctBoundaryConditions(), kkLOmega::epsilon_, kkLOmega::kl_, kkLOmega::kt_, eddyViscosity< incompressible::RASModel >::nut_, and kkLOmega::omega_.
Referenced by kkLOmega::correctNut().
|
inlinevirtual |
Destructor.
Definition at line 233 of file kkLOmega.H.
References kkLOmega::read().
|
protectedvirtual |
Implements eddyViscosity< incompressible::RASModel >.
Definition at line 212 of file kkLOmega.C.
References kkLOmega::kkLOmega(), and NotImplemented.
TypeName | ( | "kkLOmega" | ) |
Runtime type information.
|
virtual |
Read RASProperties dictionary.
Implements eddyViscosity< incompressible::RASModel >.
Definition at line 554 of file kkLOmega.C.
References kkLOmega::A0_, kkLOmega::Abp_, kkLOmega::Anat_, kkLOmega::As_, kkLOmega::Ats_, kkLOmega::Av_, kkLOmega::C11_, kkLOmega::C12_, kkLOmega::CalphaTheta_, kkLOmega::CbpCrit_, kkLOmega::Cint_, kkLOmega::Clambda_, kkLOmega::CmuStd_, kkLOmega::CnatCrit_, kkLOmega::Cnc_, kkLOmega::CR_, kkLOmega::CrNat_, kkLOmega::Css_, kkLOmega::CtauL_, kkLOmega::CtsCrit_, kkLOmega::Cw1_, kkLOmega::Cw2_, kkLOmega::Cw3_, kkLOmega::CwR_, kkLOmega::Prtheta_, dimensioned< Type >::readIfPresent(), kkLOmega::Sigmak_, and kkLOmega::Sigmaw_.
Referenced by kkLOmega::~kkLOmega().
|
inline |
Return the effective diffusivity for k.
Definition at line 243 of file kkLOmega.H.
References nu.
Referenced by kkLOmega::correct().
|
inline |
Return the effective diffusivity for omega.
Definition at line 252 of file kkLOmega.H.
References nu.
Referenced by kkLOmega::correct().
|
inlinevirtual |
Return the laminar kinetic energy.
Definition at line 261 of file kkLOmega.H.
References kkLOmega::kl_.
|
inlinevirtual |
Return the turbulence kinetic energy.
Definition at line 267 of file kkLOmega.H.
References kkLOmega::kt_.
|
inlinevirtual |
Return the turbulence specific dissipation rate.
Definition at line 273 of file kkLOmega.H.
References kkLOmega::omega_.
|
inlinevirtual |
Return the total fluctuation kinetic energy.
Implements eddyViscosity< incompressible::RASModel >.
Definition at line 279 of file kkLOmega.H.
References GeometricField< Type, PatchField, GeoMesh >::boundaryField().
|
inlinevirtual |
Return the total fluctuation kinetic energy dissipation rate.
Definition at line 298 of file kkLOmega.H.
References kkLOmega::correct(), kkLOmega::epsilon_, and kkLOmega::validate().
|
virtual |
Validate the turbulence fields after construction.
Update turbulence viscosity and other derived fields as requires
Reimplemented from eddyViscosity< incompressible::RASModel >.
Definition at line 596 of file kkLOmega.C.
Referenced by kkLOmega::epsilon().
|
virtual |
Solve the turbulence equations and correct the turbulence viscosity.
Implements eddyViscosity< incompressible::RASModel >.
Definition at line 600 of file kkLOmega.C.
References kkLOmega::Abp_, kkLOmega::Anat_, Foam::bound(), GeometricField< Type, PatchField, GeoMesh >::boundaryFieldRef(), kkLOmega::C11_, kkLOmega::C12_, kkLOmega::Clambda_, kkLOmega::Cnc_, eddyViscosity< BasicTurbulenceModel >::correct(), GeometricField< Type, PatchField, GeoMesh >::correctBoundaryConditions(), kkLOmega::CR_, kkLOmega::CrNat_, kkLOmega::Cw1_, kkLOmega::Cw2_, kkLOmega::Cw3_, kkLOmega::CwR_, Foam::fvm::ddt(), Foam::dev(), Foam::dimLength, Foam::dimless, Foam::fvm::div(), kkLOmega::DkEff(), kkLOmega::DomegaEff(), kkLOmega::epsilon_, Foam::exp(), Foam::fvc::grad(), kkLOmega::kl_, kkLOmega::kt_, Foam::fvm::laplacian(), Foam::mag(), Foam::magSqr(), Foam::min(), nu, eddyViscosity< incompressible::RASModel >::nut_, kkLOmega::omega_, Foam::pow(), Foam::pow3(), tmp< T >::ref(), Foam::skew(), Foam::solve(), Foam::fvm::Sp(), Foam::sqr(), Foam::sqrt(), Foam::fvm::SuSp(), Foam::symm(), and kkLOmega::y_.
Referenced by kkLOmega::epsilon().
|
protected |
Definition at line 163 of file kkLOmega.H.
Referenced by kkLOmega::read().
|
protected |
Definition at line 164 of file kkLOmega.H.
Referenced by kkLOmega::read().
|
protected |
Definition at line 165 of file kkLOmega.H.
Referenced by kkLOmega::read().
|
protected |
Definition at line 166 of file kkLOmega.H.
Referenced by kkLOmega::correct(), and kkLOmega::read().
|
protected |
Definition at line 167 of file kkLOmega.H.
Referenced by kkLOmega::correct(), and kkLOmega::read().
|
protected |
Definition at line 168 of file kkLOmega.H.
Referenced by kkLOmega::read().
|
protected |
Definition at line 169 of file kkLOmega.H.
Referenced by kkLOmega::read().
|
protected |
Definition at line 170 of file kkLOmega.H.
Referenced by kkLOmega::correct(), and kkLOmega::read().
|
protected |
Definition at line 171 of file kkLOmega.H.
Referenced by kkLOmega::read().
|
protected |
Definition at line 172 of file kkLOmega.H.
Referenced by kkLOmega::read().
|
protected |
Definition at line 173 of file kkLOmega.H.
Referenced by kkLOmega::read().
|
protected |
Definition at line 174 of file kkLOmega.H.
Referenced by kkLOmega::correct(), and kkLOmega::read().
|
protected |
Definition at line 175 of file kkLOmega.H.
Referenced by kkLOmega::correct(), and kkLOmega::read().
|
protected |
Definition at line 176 of file kkLOmega.H.
Referenced by kkLOmega::correct(), and kkLOmega::read().
|
protected |
Definition at line 177 of file kkLOmega.H.
Referenced by kkLOmega::correct(), and kkLOmega::read().
|
protected |
Definition at line 178 of file kkLOmega.H.
Referenced by kkLOmega::read().
|
protected |
Definition at line 179 of file kkLOmega.H.
Referenced by kkLOmega::read().
|
protected |
Definition at line 180 of file kkLOmega.H.
Referenced by kkLOmega::read().
|
protected |
Definition at line 181 of file kkLOmega.H.
Referenced by kkLOmega::correct(), and kkLOmega::read().
|
protected |
Definition at line 182 of file kkLOmega.H.
Referenced by kkLOmega::correct(), and kkLOmega::read().
|
protected |
Definition at line 183 of file kkLOmega.H.
Referenced by kkLOmega::correct(), and kkLOmega::read().
|
protected |
Definition at line 184 of file kkLOmega.H.
Referenced by kkLOmega::correct(), and kkLOmega::read().
|
protected |
Definition at line 185 of file kkLOmega.H.
Referenced by kkLOmega::correct(), and kkLOmega::read().
|
protected |
Definition at line 186 of file kkLOmega.H.
Referenced by kkLOmega::read().
|
protected |
Definition at line 187 of file kkLOmega.H.
Referenced by kkLOmega::read().
|
protected |
Definition at line 188 of file kkLOmega.H.
Referenced by kkLOmega::read().
|
protected |
Definition at line 189 of file kkLOmega.H.
Referenced by kkLOmega::read().
|
protected |
Definition at line 194 of file kkLOmega.H.
Referenced by kkLOmega::correct(), kkLOmega::kkLOmega(), and kkLOmega::kt().
|
protected |
Definition at line 195 of file kkLOmega.H.
Referenced by kkLOmega::correct(), kkLOmega::kkLOmega(), and kkLOmega::kl().
|
protected |
Definition at line 196 of file kkLOmega.H.
Referenced by kkLOmega::correct(), kkLOmega::kkLOmega(), and kkLOmega::omega().
|
protected |
Definition at line 197 of file kkLOmega.H.
Referenced by kkLOmega::correct(), kkLOmega::epsilon(), and kkLOmega::kkLOmega().
|
protected |
Wall distance.
Note: different to wall distance in parent RASModel which is for near-wall cells only
Definition at line 202 of file kkLOmega.H.
Referenced by kkLOmega::correct().