Go to the documentation of this file.
46 const label patchi =
patch().index();
48 const auto& turbModel =
54 internalField().
group()
66 auto&
nutw = tnutw.ref();
70 const scalar t = db().time().timeOutputValue();
74 for (
const scalar z : z0)
79 <<
"z0 field can only contain positive values. "
80 <<
"Please check input field z0."
93 const scalar uStar = Cmu25*
sqrt(
k[celli]);
94 const scalar
yPlus = uStar*
y[facei]/nuw[facei];
95 const scalar Edash = (
y[facei] + z0[facei])/z0[facei];
132 boundNut_(ptf.boundNut_),
133 z0_(ptf.z0_.clone(
p.
patch()))
145 boundNut_(
dict.getOrDefault<
bool>(
"boundNut", false)),
156 boundNut_(rwfpsf.boundNut_),
168 boundNut_(rwfpsf.boundNut_),
180 nutkWallFunctionFvPatchScalarField::autoMap(m);
191 nutkWallFunctionFvPatchScalarField::rmap(ptf, addr);
194 refCast<const atmNutkWallFunctionFvPatchScalarField>(ptf);
196 z0_->rmap(nrwfpsf.z0_(), addr);
204 os.writeEntry(
"boundNut", boundNut_);
206 writeEntry(
"value",
os);
215 atmNutkWallFunctionFvPatchScalarField
Abstract base class with a fat-interface to all derived classes covering all possible ways in which t...
fvPatchField< scalar > fvPatchScalarField
virtual void write(Ostream &) const
virtual void autoMap(const fvPatchFieldMapper &)
constexpr const char *const group
A class for managing temporary objects.
virtual tmp< scalarField > calcNut() const
static const word propertiesName
dimensionedScalar pow025(const dimensionedScalar &ds)
Generic templated field type.
Bound the given scalar field if it has gone unbounded.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
atmNutkWallFunctionFvPatchScalarField(const fvPatch &, const DimensionedField< scalar, volMesh > &)
virtual tmp< scalarField > yPlus() const
label max(const labelHashSet &set, label maxValue=labelMin)
This boundary condition provides a wall constraint on the turbulent viscosity (i.e....
Abstract base class for turbulence models (RAS, LES and laminar).
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
dimensionedScalar log(const dimensionedScalar &ds)
OBJstream os(runTime.globalPath()/outputName)
Macros for easy insertion into run-time selection tables.
Top level data entry class for use in dictionaries. Provides a mechanism to specify a variable as a c...
errorManipArg< error, int > exit(error &err, const int errNo=1)
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh >> &tdf1, const word &name, const dimensionSet &dimensions)
virtual void write(Ostream &) const
#define FatalErrorInFunction
static const nutWallFunctionFvPatchScalarField & nutw(const turbulenceModel &turbModel, const label patchi)
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
dimensionedScalar sqrt(const dimensionedScalar &ds)
const dimensionedScalar e
static tmp< T > New(Args &&... args)
virtual void rmap(const fvPatchScalarField &, const labelList &)
Foam::fvPatchFieldMapper.
static word groupName(StringType base, const word &group)
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
makePatchTypeField(fvPatchScalarField, atmBoundaryLayerInletEpsilonFvPatchScalarField)
T getOrDefault(const word &keyword, const T &deflt, enum keyType::option matchOpt=keyType::REGEX) const
Generic GeometricField class.
Smooth ATC in cells next to a set of patches supplied by type.
virtual void writeLocalEntries(Ostream &) const
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
This boundary condition provides a wall constraint on the turbulent viscosity, i.e....