64 label faceCellI = patch().faceCells()[faceI];
66 scalar uStar = Cmu25*
sqrt(k[faceCellI]);
67 scalar
yPlus = uStar*y[faceI]/nuw[faceI];
69 scalar Edash = (y[faceI] +
z0_[faceI])/
z0_[faceI];
76 Info<<
"yPlus = " << yPlus
77 <<
", Edash = " << Edash
78 <<
", nutw = " << nutw[faceI]
158 nutkWallFunctionFvPatchScalarField::autoMap(m);
169 nutkWallFunctionFvPatchScalarField::rmap(ptf, addr);
172 refCast<const nutkAtmRoughWallFunctionFvPatchScalarField>(ptf);
183 writeEntry(
"value", os);
dimensionedScalar sqrt(const dimensionedScalar &ds)
virtual void writeLocalEntries(Ostream &) const
Write local wall function variables.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
nutkWallFunctionFvPatchScalarField(const fvPatch &, const DimensionedField< scalar, volMesh > &)
Construct from patch and internal 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 void autoMap(const fvPatchFieldMapper &)
Map (and resize as needed) from self given a mapping object.
nutkAtmRoughWallFunctionFvPatchScalarField(const fvPatch &, const DimensionedField< scalar, volMesh > &)
Construct from patch and internal field.
A list of keyword definitions, which are a keyword followed by any number of values (e...
This boundary condition provides a turbulent kinematic viscosity for atmospheric velocity profiles...
virtual void write(Ostream &) const
Write.
scalar kappa_
Von Karman constant.
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
static word groupName(Name name, const word &group)
virtual tmp< scalarField > calcNut() const
Calculate the turbulence viscosity.
dimensionedScalar log(const dimensionedScalar &ds)
const double e
Elementary charge.
Ostream & endl(Ostream &os)
Add newline and flush stream.
void autoMap(const FieldMapper &map)
Map from self.
dimensioned< Type > max(const dimensioned< Type > &, const dimensioned< Type > &)
label k
Boltzmann constant.
void writeEntry(const word &keyword, Ostream &os) const
Write the field as a dictionary entry.
dimensionedScalar pow025(const dimensionedScalar &ds)
scalarField z0_
Surface roughness length.
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...
virtual void rmap(const fvPatchScalarField &, const labelList &)
Reverse map the given fvPatchField onto this fvPatchField.
rDeltaT dimensionedInternalField()
virtual void write(Ostream &) const
Write.
Abstract base class for turbulence models (RAS, LES and laminar).
void rmap(const UList< Type > &mapF, const labelUList &mapAddressing)
1 to 1 reverse-map from the given field
scalar Cmu_
Cmu coefficient.
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.
virtual tmp< volScalarField > k() const =0
Return the turbulence kinetic energy.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
makePatchTypeField(fvPatchVectorField, SRFFreestreamVelocityFvPatchVectorField)
Evaluates and outputs turbulence y+ for models. Values written to time directories as field 'yPlus'...
virtual label size() const
Return size.
A class for managing temporary objects.