41 template<
class BasicTurbulenceModel>
50 simpleFilter_(
dev(filter_(
sqr(this->U_)) - (
sqr(filter_(this->U_)))))
66 simpleFilter_(0.5*(LL && MM))
78 template<
class BasicTurbulenceModel>
87 simpleFilter_(this->nuEff()*(filter_(
magSqr(
D)) -
magSqr(filter_(
D))))
88 /simpleFilter_(
pow(KK, 1.5)/(2.0*this->
delta()))
96 template<
class BasicTurbulenceModel>
103 0.5*(filter_(
magSqr(this->U_)) -
magSqr(filter_(this->U_)))
111 template<
class BasicTurbulenceModel>
118 this->nut_ = Ck(
D, KK)*
sqrt(k_)*this->
delta();
119 this->nut_.correctBoundaryConditions();
122 BasicTurbulenceModel::correctNut();
126 template<
class BasicTurbulenceModel>
131 0.5*(filter_(
magSqr(this->U_)) -
magSqr(filter_(this->U_)))
138 template<
class BasicTurbulenceModel>
151 template<
class BasicTurbulenceModel>
154 const alphaField&
alpha,
160 const word& propertiesName,
189 simpleFilter_(this->mesh_),
190 filterPtr_(
LESfilter::
New(this->mesh_, this->coeffDict())),
191 filter_(filterPtr_())
195 if (type == typeName)
204 template<
class BasicTurbulenceModel>
209 filter_.read(this->coeffDict());
218 template<
class BasicTurbulenceModel>
221 if (!this->turbulence_)
227 const alphaField&
alpha = this->alpha_;
228 const rhoField&
rho = this->rho_;
246 tmp<fvScalarMatrix> kEqn
263 bound(k_, this->kMin_);
Eddy viscosity LES SGS model base class.
void clamp_min(const Type &lower)
Impose lower (floor) clamp on the field values (in-place)
virtual bool read()
Read model coefficients if they have changed.
void correct(GeometricField< Type, PatchField, GeoMesh > &field)
Apply correction to field.
GeometricField< symmTensor, fvPatchField, volMesh > volSymmTensorField
Abstract class for LES filters.
tmp< GeometricField< typename outerProduct< vector, Type >::type, fvPatchField, volMesh >> grad(const GeometricField< Type, fvsPatchField, surfaceMesh > &ssf)
dimensioned< typename typeOfMag< Type >::type > mag(const dimensioned< Type > &dt)
virtual void correct()
Correct Eddy-Viscosity and related properties.
const dimensionedScalar G
Newtonian constant of gravitation.
label max(const labelHashSet &set, label maxValue=labelMin)
Find the max value in labelHashSet, optionally limited by second argument.
dimensionedSymmTensor sqr(const dimensionedVector &dv)
tmp< GeometricField< Type, fvPatchField, volMesh > > div(const GeometricField< Type, fvsPatchField, surfaceMesh > &ssf)
dimensionedScalar sqrt(const dimensionedScalar &ds)
virtual void printCoeffs(const word &type)
Print model coefficients.
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh >> &tf1, const word &name, const dimensionSet &dimensions, const bool initCopy=false)
Global function forwards to reuseTmpDimensionedField::New.
SymmTensor< Cmpt > devSymm(const SymmTensor< Cmpt > &st)
Return the deviatoric part of the symmetric part of a SymmTensor.
GeometricField< vector, fvPatchField, volMesh > volVectorField
constexpr const char *const group
Group name for atomic constants.
GeometricField< scalar, fvPatchField, volMesh > volScalarField
virtual void correct()=0
Solve the turbulence equations and correct the turbulence viscosity.
fileName::Type type(const fileName &name, const bool followLink=true)
Return the file type: DIRECTORY or FILE, normally following symbolic links.
const dimensionSet dimVolume(pow3(dimLength))
dimensionedSymmTensor dev(const dimensionedSymmTensor &dt)
volScalarField Ck(const volSymmTensorField &D, const volScalarField &KK) const
Calculate Ck by filtering the velocity field U.
A class for handling words, derived from Foam::string.
tmp< fvMatrix< Type > > ddt(const GeometricField< Type, fvPatchField, volMesh > &vf)
static tmp< T > New(Args &&... args)
Construct tmp with forwarding arguments.
zeroField SuSp(const Foam::zero, const GeometricField< Type, fvPatchField, volMesh > &)
A no-op source.
virtual void correctNut()
zeroField Sp(const Foam::zero, const GeometricField< Type, fvPatchField, volMesh > &)
A no-op source.
SolverPerformance< Type > solve(faMatrix< Type > &, const dictionary &solverControls)
Solve returning the solution statistics given convergence tolerance.
volScalarField Ce() const
tmp< fvMatrix< Type > > div(const surfaceScalarField &flux, const GeometricField< Type, fvPatchField, volMesh > &vf, const word &name)
virtual bool read()
Read model coefficients if they have changed.
dimensionedScalar pow(const dimensionedScalar &ds, const dimensionedScalar &expt)
Dynamic one equation eddy-viscosity model.
tmp< surfaceScalarField > absolute(const tmp< surfaceScalarField > &tphi, const volVectorField &U)
Return the given relative flux in absolute form.
volScalarField & bound(volScalarField &, const dimensionedScalar &lowerBound)
Bound the given scalar field if it has gone unbounded.
dimensionedSymmTensor symm(const dimensionedSymmTensor &dt)
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
tmp< fvMatrix< Type > > laplacian(const GeometricField< Type, fvPatchField, volMesh > &vf, const word &name)
Base-class for all transport models used by the incompressible turbulence models. ...
dimensionedScalar kMin_
Lower limit of k.
const dimensionSet dimTime(0, 0, 1, 0, 0, 0, 0)
virtual tmp< fvScalarMatrix > kSource() const
const dimensionedScalar & D
A class for managing temporary objects.
GeometricField< scalar, fvsPatchField, surfaceMesh > surfaceScalarField
static options & New(const fvMesh &mesh)
Construct fvOptions and register to database if not present.
const dimensionedScalar alpha
Fine-structure constant: default SI units: [].
Defines the attributes of an object for which implicit objectRegistry management is supported...
dimensioned< typename typeOfMag< Type >::type > magSqr(const dimensioned< Type > &dt)
const dimensionSet & dimensions() const noexcept
Return dimensions.
static constexpr const zero Zero
Global zero (0)