42template<
class BasicTurbulenceModel>
45 this->nut_ = k_/omega_;
46 this->nut_.correctBoundaryConditions();
49 BasicTurbulenceModel::correctNut();
55template<
class BasicTurbulenceModel>
64 const word& propertiesName,
130 IOobject::groupName(
"k", alphaRhoPhi.group()),
142 IOobject::groupName(
"omega", alphaRhoPhi.group()),
154 if (
type == typeName)
156 this->printCoeffs(
type);
163template<
class BasicTurbulenceModel>
168 Cmu_.readIfPresent(this->coeffDict());
169 beta_.readIfPresent(this->coeffDict());
170 gamma_.readIfPresent(this->coeffDict());
171 alphaK_.readIfPresent(this->coeffDict());
172 alphaOmega_.readIfPresent(this->coeffDict());
181template<
class BasicTurbulenceModel>
184 if (!this->turbulence_)
213 omega_.boundaryFieldRef().updateCoeffs();
228 omegaEqn.
ref().relax();
230 omegaEqn.
ref().boundaryManipulate(omega_.boundaryFieldRef());
233 bound(omega_, this->omegaMin_);
253 bound(k_, this->kMin_);
Bound the given scalar field if it has gone unbounded.
Defines the attributes of an object for which implicit objectRegistry management is supported,...
Templated abstract base class for RAS turbulence models.
Standard high Reynolds-number k-omega turbulence model for incompressible and compressible flows.
BasicTurbulenceModel::alphaField alphaField
BasicTurbulenceModel::rhoField rhoField
virtual void correct()
Solve the turbulence equations and correct the turbulence viscosity.
virtual void correctNut()
BasicTurbulenceModel::transportModel transportModel
virtual bool read()
Read RASProperties dictionary.
static autoPtr< Time > New()
Construct (dummy) Time - no functionObjects or libraries.
Generic dimensioned Type class.
Eddy viscosity turbulence model base class.
A class for managing temporary objects.
void clear() const noexcept
A class for handling words, derived from Foam::string.
tmp< GeometricField< typename outerProduct< vector, Type >::type, fvPatchField, volMesh > > grad(const GeometricField< Type, fvsPatchField, surfaceMesh > &ssf)
tmp< GeometricField< Type, fvPatchField, volMesh > > div(const GeometricField< Type, fvsPatchField, surfaceMesh > &ssf)
tmp< surfaceScalarField > absolute(const tmp< surfaceScalarField > &tphi, const volVectorField &U)
Return the given relative flux in absolute form.
tmp< fvMatrix< Type > > laplacian(const GeometricField< Type, fvPatchField, volMesh > &vf, const word &name)
tmp< fvMatrix< Type > > div(const surfaceScalarField &flux, const GeometricField< Type, fvPatchField, volMesh > &vf, const word &name)
tmp< fvMatrix< Type > > ddt(const GeometricField< Type, fvPatchField, volMesh > &vf)
zeroField SuSp(const Foam::zero, const GeometricField< Type, fvPatchField, volMesh > &)
A no-op source.
zeroField Sp(const Foam::zero, const GeometricField< Type, fvPatchField, volMesh > &)
A no-op source.
dimensionedSymmTensor dev(const dimensionedSymmTensor &dt)
bool read(const char *buf, int32_t &val)
Same as readInt32.
volScalarField & bound(volScalarField &, const dimensionedScalar &lowerBound)
Bound the given scalar field if it has gone unbounded.
dimensionedSymmTensor twoSymm(const dimensionedSymmTensor &dt)
fileName::Type type(const fileName &name, const bool followLink=true)
Return the file type: DIRECTORY or FILE, normally following symbolic links.