38 template<
class BasicMomentumTransportModel>
45 this->nut_.correctBoundaryConditions();
50 template<
class BasicMomentumTransportModel>
59 template<
class BasicMomentumTransportModel>
87 this->runTime_.timeName(),
99 this->runTime_.timeName(),
116 simpleFilter_(U.mesh()),
118 filter_(filterPtr_()),
120 flm0_(
"flm0", flm_.dimensions(), 0.0),
121 fmm0_(
"fmm0", fmm_.dimensions(), vSmall)
123 if (type == typeName)
125 this->printCoeffs(type);
132 template<
class BasicMomentumTransportModel>
137 filter_.read(this->coeffDict());
138 theta_.readIfPresent(this->coeffDict());
149 template<
class BasicMomentumTransportModel>
152 if (!this->turbulence_)
179 2.0*
sqr(this->
delta())*(filter_(magS*S) - 4.0*magSf*Sf)
184 alpha*rho*(1.0/(theta_.value()*this->
delta()))*
pow(flm_*fmm_, 1.0/8.0)
Eddy viscosity LES SGS model base class.
tmp< GeometricField< typename outerProduct< vector, Type >::type, fvPatchField, volMesh >> grad(const GeometricField< Type, fvsPatchField, surfaceMesh > &ssf)
void correct(GeometricField< Type, fvPatchField, volMesh > &field)
Apply correction to field.
dimensionedSymmTensor sqr(const dimensionedVector &dv)
dynamicLagrangian(const alphaField &alpha, const rhoField &rho, const volVectorField &U, const surfaceScalarField &alphaRhoPhi, const surfaceScalarField &phi, const transportModel &transport, const word &type=typeName)
Construct from components.
Generic dimensioned Type class.
tmp< fvMatrix< Type > > Sp(const volScalarField::Internal &, const GeometricField< Type, fvPatchField, volMesh > &)
virtual void correct()=0
Solve the turbulence equations and correct the turbulence viscosity.
BasicMomentumTransportModel::transportModel transportModel
dimensionedSymmTensor dev(const dimensionedSymmTensor &dt)
A class for handling words, derived from string.
static word groupName(Name name, const word &group)
tmp< fvMatrix< Type > > ddt(const GeometricField< Type, fvPatchField, volMesh > &vf)
A special matrix type and solver, designed for finite volume solutions of scalar equations. Face addressing is used to make all matrix assembly and solution loops vectorise.
autoPtr< surfaceVectorField > Uf
void constrain(fvMatrix< Type > &eqn)
Apply constraints to equation.
virtual bool read()
Read model coefficients if they have changed.
SolverPerformance< Type > solve(const dictionary &)
Solve segregated or coupled returning the solution statistics.
tmp< fvMatrix< Type > > div(const surfaceScalarField &flux, const GeometricField< Type, fvPatchField, volMesh > &vf, const word &name)
void relax(const scalar alpha)
Relax matrix (for steady-state solution).
dimensionedScalar pow(const dimensionedScalar &ds, const dimensionedScalar &expt)
BasicMomentumTransportModel::rhoField rhoField
volScalarField & bound(volScalarField &, const dimensionedScalar &lowerBound)
Bound the given scalar field if it has gone unbounded.
dimensionedSymmTensor symm(const dimensionedSymmTensor &dt)
fileType type(const fileName &, const bool checkVariants=true, const bool followLink=true)
Return the file type: directory or file.
dimensioned< scalar > mag(const dimensioned< Type > &)
volScalarField alpha(IOobject("alpha", runTime.timeName(), mesh, IOobject::READ_IF_PRESENT, IOobject::AUTO_WRITE), lambda *max(Ua &U, zeroSensitivity))
A class for managing temporary objects.
static options & New(const fvMesh &mesh)
Construct fvOptions and register to datbase if not present.
virtual void correct()
Correct Eddy-Viscosity and related properties.
static autoPtr< LESfilter > New(const fvMesh &, const dictionary &, const word &filterDictName="filter")
Return a reference to the selected LES filter.
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
BasicMomentumTransportModel::alphaField alphaField
virtual void correctNut()