44 if (!isA<wallFvPatch>(
patch()))
46 FatalErrorIn(
"fWallFunctionFvPatchScalarField::checkType()")
47 <<
"Invalid wall function specification" <<
nl 48 <<
" Patch type for patch " <<
patch().
name()
49 <<
" must be wall" <<
nl 50 <<
" Current patch type is " <<
patch().type() <<
nl <<
endl 72 for (
int i=0; i<10; i++)
184 const v2fBase& v2fModel = refCast<const v2fBase>(turbModel);
209 scalar
uTau = Cmu25*
sqrt(k[faceCellI]);
211 scalar
yPlus = uTau*y[faceI]/nuw[faceI];
216 scalar v2c = v2[faceCellI];
217 scalar epsc = epsilon[faceCellI];
218 scalar kc = k[faceCellI];
220 f[faceI] = N*v2c*epsc/(
sqr(kc) + ROOTVSMALL);
221 f[faceI] /=
sqr(uTau) + ROOTVSMALL;
dimensionedScalar sqrt(const dimensionedScalar &ds)
scalar yPlusLam(const scalar kappa, const scalar E)
Calculate the Y+ at the edge of the laminar sublayer.
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
virtual void write(Ostream &) const
Write.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
const char *const group
Group name for atomic constants.
virtual tmp< volScalarField > nu() const =0
Return the laminar viscosity.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
Foam::fvPatchFieldMapper.
virtual const labelUList & faceCells() const
Return faceCells.
makePatchTypeField(fvPatchScalarField, fWallFunctionFvPatchScalarField)
bool updated() const
Return true if the boundary condition has already been updated.
A list of keyword definitions, which are a keyword followed by any number of values (e...
const word & name() const
Return name.
This boundary condition provides a turbulence damping function, f, wall function condition for low- a...
Abstract base-class for v2-f models to provide BCs access to the v2 and f fields. ...
fWallFunctionFvPatchScalarField(const fvPatch &, const DimensionedField< scalar, volMesh > &)
Construct from patch and internal field.
static word groupName(Name name, const word &group)
dimensionedScalar log(const dimensionedScalar &ds)
Ostream & endl(Ostream &os)
Add newline and flush stream.
scalar yPlusLam_
Y+ at the edge of the laminar sublayer.
virtual void writeLocalEntries(Ostream &) const
Write local wall function variables.
dimensioned< Type > max(const dimensioned< Type > &, const dimensioned< Type > &)
commsTypes
Types of communications.
label k
Boltzmann constant.
virtual void evaluate(const Pstream::commsTypes)
Evaluate the patchField.
virtual tmp< volScalarField > epsilon() const =0
Return the turbulence kinetic energy dissipation rate.
dimensionedScalar pow025(const dimensionedScalar &ds)
const Type & lookupObject(const word &name) const
Lookup and return the object of the given Type.
scalar kappa_
Von Karman constant.
Macros for easy insertion into run-time selection tables.
const nearWallDist & y() const
Return the near wall distances.
Abstract base class with a fat-interface to all derived classes covering all possible ways in which t...
errorManip< error > abort(error &err)
label index() const
Return the index of this patch in the fvBoundaryMesh.
virtual void evaluate(const Pstream::commsTypes commsType=Pstream::blocking)
Evaluate the patch field, sets Updated to false.
Ostream & writeKeyword(const keyType &)
Write the keyword followed by an appropriate indentation.
#define FatalErrorIn(functionName)
Report an error message using Foam::FatalError.
Abstract base class for turbulence models (RAS, LES and laminar).
T lookupOrDefault(const word &, const T &, bool recursive=false, bool patternMatch=true) const
Find and return a T,.
const objectRegistry & db() const
Return local objectRegistry.
virtual void write(Ostream &) const
Write.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
static const word propertiesName
Default name of the turbulence properties dictionary.
scalar Cmu_
Cmu coefficient.
virtual tmp< volScalarField > k() const =0
Return the turbulence kinetic energy.
const DimensionedField< Type, volMesh > & dimensionedInternalField() const
Return dimensioned internal field reference.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
virtual void checkType()
Check the type of the patch.
dimensionedSymmTensor sqr(const dimensionedVector &dv)
Evaluates and outputs turbulence y+ for models. Values written to time directories as field 'yPlus'...
const fvPatch & patch() const
Return patch.
const dimensionedScalar kappa
Coulomb constant: default SI units: [N.m2/C2].
A class for managing temporary objects.