41template<
class BasicTurbulenceModel>
50 simpleFilter_(
dev(filter_(
sqr(this->U_)) - (
sqr(filter_(this->U_)))))
66 simpleFilter_(0.5*(LL && MM))
78template<
class BasicTurbulenceModel>
87 simpleFilter_(this->nuEff()*(filter_(
magSqr(
D)) -
magSqr(filter_(
D))))
88 /simpleFilter_(
pow(KK, 1.5)/(2.0*this->
delta()))
96template<
class BasicTurbulenceModel>
103 0.5*(filter_(
magSqr(this->U_)) -
magSqr(filter_(this->U_)))
111template<
class BasicTurbulenceModel>
118 this->nut_ = Ck(
D, KK)*
sqrt(k_)*this->
delta();
119 this->nut_.correctBoundaryConditions();
122 BasicTurbulenceModel::correctNut();
126template<
class BasicTurbulenceModel>
131 0.5*(filter_(
magSqr(this->U_)) -
magSqr(filter_(this->U_)))
138template<
class BasicTurbulenceModel>
146 dimVolume*this->rho_.dimensions()*k_.dimensions()
155template<
class BasicTurbulenceModel>
164 const word& propertiesName,
184 IOobject::groupName(
"k", this->alphaRhoPhi_.group()),
193 simpleFilter_(this->mesh_),
194 filterPtr_(
LESfilter::
New(this->mesh_, this->coeffDict())),
195 filter_(filterPtr_())
199 if (
type == typeName)
201 this->printCoeffs(
type);
208template<
class BasicTurbulenceModel>
213 filter_.read(this->coeffDict());
222template<
class BasicTurbulenceModel>
225 if (!this->turbulence_)
267 bound(k_, this->kMin_);
const dimensionSet & dimensions() const
Return dimensions.
void max(const dimensioned< Type > &dt)
Use the maximum of the field and specified value.
Defines the attributes of an object for which implicit objectRegistry management is supported,...
Eddy viscosity LES SGS model base class.
Dynamic one equation eddy-viscosity model.
BasicTurbulenceModel::alphaField alphaField
volScalarField Ce() const
BasicTurbulenceModel::rhoField rhoField
volScalarField Ck(const volSymmTensorField &D, const volScalarField &KK) const
Calculate Ck by filtering the velocity field U.
virtual void correct()
Correct Eddy-Viscosity and related properties.
virtual void correctNut()
virtual tmp< fvScalarMatrix > kSource() const
BasicTurbulenceModel::transportModel transportModel
virtual bool read()
Read model coefficients if they have changed.
One equation eddy-viscosity model.
Abstract class for LES filters.
virtual void correct()
Solve the turbulence equations and correct the turbulence viscosity.
static autoPtr< Time > New()
Construct (dummy) Time - no functionObjects or libraries.
A special matrix type and solver, designed for finite volume solutions of scalar equations....
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)
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
label max(const labelHashSet &set, label maxValue=labelMin)
Find the max value in labelHashSet, optionally limited by second argument.
dimensionedSymmTensor symm(const dimensionedSymmTensor &dt)
dimensionedSymmTensor sqr(const dimensionedVector &dv)
volScalarField & bound(volScalarField &, const dimensionedScalar &lowerBound)
Bound the given scalar field if it has gone unbounded.
const dimensionSet dimTime(0, 0, 1, 0, 0, 0, 0)
fileName::Type type(const fileName &name, const bool followLink=true)
Return the file type: DIRECTORY or FILE, normally following symbolic links.
dimensionedScalar pow(const dimensionedScalar &ds, const dimensionedScalar &expt)
dimensionedScalar sqrt(const dimensionedScalar &ds)
dimensioned< typename typeOfMag< Type >::type > mag(const dimensioned< Type > &dt)
static constexpr const zero Zero
Global zero (0)
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh > > &tdf1, const word &name, const dimensionSet &dimensions)
Global function forwards to reuseTmpDimensionedField::New.
const dimensionSet dimVolume(pow3(dimLength))
dimensioned< typename typeOfMag< Type >::type > magSqr(const dimensioned< Type > &dt)
const dimensionedScalar & D