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 ()=default |
Destructor. More... | |
virtual bool | read () |
Re-read model coefficients if they have changed. 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 ()=default |
Destructor. More... | |
virtual bool | read ()=0 |
Re-read model coefficients if they have changed. 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< volScalarField > | k () const=0 |
Return the turbulence kinetic energy. More... | |
virtual tmp< volSymmTensorField > | R () const |
Return the Reynolds stress tensor. More... | |
virtual void | validate () |
Validate the turbulence fields after construction. More... | |
virtual void | correct ()=0 |
Solve the turbulence equations and correct the turbulence viscosity. More... | |
Public Member Functions inherited from linearViscousStress< BasicTurbulenceModel > | |
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 ()=default |
Destructor. More... | |
virtual bool | read ()=0 |
Re-read model coefficients if they have changed. More... | |
virtual tmp< volSymmTensorField > | devRhoReff () const |
Return the effective stress tensor. More... | |
virtual tmp< volSymmTensorField > | devRhoReff (const volVectorField &U) const |
Return the effective stress tensor based on a given velocity field. 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... | |
virtual void | correct ()=0 |
Solve the turbulence equations and correct the turbulence viscosity. More... | |
Protected Member Functions | |
virtual void | correctNut () |
virtual void | correctNut ()=0 |
Additional Inherited Members | |
Public Types inherited from eddyViscosity< incompressible::RASModel > | |
typedef BasicTurbulenceModel::alphaField | alphaField |
typedef BasicTurbulenceModel::rhoField | rhoField |
typedef BasicTurbulenceModel::transportModel | transportModel |
Public Types inherited from linearViscousStress< BasicTurbulenceModel > | |
typedef BasicTurbulenceModel::alphaField | alphaField |
typedef BasicTurbulenceModel::rhoField | rhoField |
typedef BasicTurbulenceModel::transportModel | transportModel |
Low Reynolds-number k-kl-omega turbulence model for incompressible flows.
Reference:
Standard model: 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. DOI:10.1115/1.2979230 Typo corrections: Furst, J. (2013). Numerical simulation of transitional flows with laminar kinetic energy. Engineering MECHANICS, 20(5), 379-388.
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 225 of file kkLOmega.C.
References Foam::bound(), GeometricField< Type, PatchField, GeoMesh >::correctBoundaryConditions(), kkLOmega::epsilon_, kkLOmega::kl_, kkLOmega::kt_, eddyViscosity< incompressible::RASModel >::nut_, kkLOmega::omega_, and Foam::type().
|
virtualdefault |
Destructor.
|
protectedvirtual |
Implements eddyViscosity< incompressible::RASModel >.
Definition at line 215 of file kkLOmega.C.
References NotImplemented.
TypeName | ( | "kkLOmega" | ) |
Runtime type information.
|
virtual |
Re-read model coefficients if they have changed.
Implements eddyViscosity< incompressible::RASModel >.
Definition at line 557 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_.
|
inline |
Return the effective diffusivity for k.
Definition at line 242 of file kkLOmega.H.
References nu, and kkLOmega::Sigmak_.
Referenced by kkLOmega::correct().
|
inline |
Return the effective diffusivity for omega.
Definition at line 251 of file kkLOmega.H.
References nu, and kkLOmega::Sigmaw_.
Referenced by kkLOmega::correct().
|
inlinevirtual |
Return the laminar kinetic energy.
Definition at line 260 of file kkLOmega.H.
References kkLOmega::kl_.
|
inlinevirtual |
Return the turbulence kinetic energy.
Definition at line 266 of file kkLOmega.H.
References kkLOmega::kt_.
|
inlinevirtual |
Return the turbulence specific dissipation rate.
Definition at line 272 of file kkLOmega.H.
References kkLOmega::omega_.
|
inlinevirtual |
Return the total fluctuation kinetic energy.
Implements eddyViscosity< incompressible::RASModel >.
Definition at line 278 of file kkLOmega.H.
References GeometricField< Type, PatchField, GeoMesh >::boundaryField(), kkLOmega::kl_, kkLOmega::kt_, kkLOmega::omega_, and GeometricBoundaryField< Type, PatchField, GeoMesh >::types().
|
inlinevirtual |
Return the total fluctuation kinetic energy dissipation rate.
Definition at line 297 of file kkLOmega.H.
References kkLOmega::epsilon_.
|
virtual |
Validate the turbulence fields after construction.
Update turbulence viscosity and other derived fields as requires
Reimplemented from eddyViscosity< incompressible::RASModel >.
Definition at line 597 of file kkLOmega.C.
Referenced by exprDriver::addVariables(), Foam::argList::get< Foam::fileName >(), dictionary::csearchCompat(), fvExprDriver::evaluateVariableRemote(), STLAsciiParseManual::execute(), IOobject::fileNameComponents(), Foam::getStopAction(), entry::New(), Foam::operator>>(), NASedgeFormat::read(), OBJedgeFormat::read(), functionObjectList::readFunctionObject(), STARCDsurfaceFormatCore::readInpCellTable(), FIREMeshReader::readSelections(), and ABAQUSCore::readHelper::readSurfaceElements().
|
virtual |
Solve the turbulence equations and correct the turbulence viscosity.
Implements eddyViscosity< incompressible::RASModel >.
Definition at line 601 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_, D, Foam::fvm::ddt(), Foam::dev(), Foam::dimLength, Foam::dimless, Foam::fvm::div(), kkLOmega::DkEff(), kkLOmega::DomegaEff(), kkLOmega::epsilon_, Foam::exp(), fv(), 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(), solve(), Foam::fvm::Sp(), Foam::sqr(), Foam::sqrt(), Foam::fvm::SuSp(), Foam::symm(), GeometricBoundaryField< Type, PatchField, GeoMesh >::updateCoeffs(), and kkLOmega::y_.
|
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::DkEff(), and kkLOmega::read().
|
protected |
Definition at line 189 of file kkLOmega.H.
Referenced by kkLOmega::DomegaEff(), and kkLOmega::read().
|
protected |
Definition at line 194 of file kkLOmega.H.
Referenced by kkLOmega::correct(), kkLOmega::k(), kkLOmega::kkLOmega(), and kkLOmega::kt().
|
protected |
Definition at line 195 of file kkLOmega.H.
Referenced by kkLOmega::correct(), kkLOmega::k(), kkLOmega::kkLOmega(), and kkLOmega::kl().
|
protected |
Definition at line 196 of file kkLOmega.H.
Referenced by kkLOmega::correct(), kkLOmega::k(), 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().