45 void Foam::LESModels::vanDriestDelta::calcDelta()
59 mesh.time().constant(),
78 nuw/
sqrt((nuw + nuSgsw)*
mag(Uw.snGrad()) + vSmall);
87 WallLocationYPlus<wallPoint>::trackData td;
88 td.yPlusCutOff = yPlusCutOff_;
90 fvPatchDistWave::calculateAndCorrect<WallLocationYPlus>
93 mesh.boundaryMesh().findIndices<wallPolyPatch>(),
104 (kappa_/Cdelta_)*((scalar(1) + small) -
exp(-
y/yStar/Aplus_))*
y
128 kappa_(
dict.lookupOrDefault<scalar>(
"kappa", 0.41)),
131 dict.subDict(
type() +
"Coeffs").lookupOrDefault<scalar>
139 dict.subDict(
type() +
"Coeffs").lookupOrDefault<scalar>
155 dict.subDict(
type() +
"Coeffs").lookupOrDefault<scalar>
163 dict.subDict(
type() +
"Coeffs").lookupOrDefault<scalar>
165 "minWallFaceFraction",
170 delta_ = geometricDelta_();
180 geometricDelta_().read(coeffsDict);
181 dict.readIfPresent<scalar>(
"kappa", kappa_);
192 if (momentumTransportModel_.mesh().time().timeIndex() % calcInterval_ == 0)
194 geometricDelta_().correct();
#define forAll(list, i)
Loop across all elements in list.
Macros for easy insertion into run-time selection tables.
GeometricBoundaryField< Type, PatchField, GeoMesh > Boundary
Type of the boundary field.
static tmp< GeometricField< Type, PatchField, GeoMesh > > New(const word &name, const Internal &, const PtrList< PatchField< Type >> &, const HashPtrTable< Source > &=HashPtrTable< Source >())
Return a temporary field constructed from name,.
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
Apply van Driest damping function to the specified geometric delta to improve near-wall behavior or L...
vanDriestDelta(const word &name, const momentumTransportModel &turbulence, const dictionary &)
Construct from name, momentumTransportModel and dictionary.
virtual void read(const dictionary &)
Read the LESdelta dictionary.
Abstract base class for LES deltas.
const momentumTransportModel & momentumTransportModel_
A list of keyword definitions, which are a keyword followed by any number of values (e....
bool readIfPresent(const word &, T &, bool recursive=false, bool patternMatch=true) const
Find an entry if present, and assign to T.
Abstract base class for turbulence models (RAS, LES and laminar).
virtual tmp< volScalarField > nut() const =0
Return the turbulence viscosity.
const fvMesh & mesh() const
const volVectorField & U() const
Access function to velocity field.
virtual tmp< volScalarField > nu() const
Return the laminar viscosity.
A class for handling words, derived from string.
const fvPatchList & patches
defineTypeNameAndDebug(cubeRootVolDelta, 0)
addToRunTimeSelectionTable(LESdelta, cubeRootVolDelta, dictionary)
const char *const group
Group name for atomic constants.
dimensionedScalar exp(const dimensionedScalar &ds)
VolField< vector > volVectorField
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
word name(const bool)
Return a word representation of a bool.
const dimensionSet dimLength
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
layerAndWeight min(const layerAndWeight &a, const layerAndWeight &b)
dimensionedScalar sqrt(const dimensionedScalar &ds)
PtrList< fvPatch > fvPatchList
container classes for fvPatch
VolField< scalar > volScalarField
dimensioned< scalar > mag(const dimensioned< Type > &)
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh >> &tdf1, const word &name, const dimensionSet &dimensions)
fvPatchField< vector > fvPatchVectorField
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
fileType type(const fileName &, const bool checkVariants=true, const bool followLink=true)
Return the file type: directory or file.
autoPtr< incompressible::momentumTransportModel > turbulence(incompressible::momentumTransportModel::New(U, phi, viscosity))