70 for (
const scalar z : z0)
75 <<
"z0 field can only contain positive values. "
76 <<
"Please check input field z0."
89 const scalar w = cornerWeights[facei];
92 w*
sqrt(
k[celli])/(Cmu25*kappa*(
y[facei] + z0[facei]));
96 *(nutw[facei] + nuw[facei])
99 /(kappa*(
y[facei] + z0[facei]));
114 wallCoeffs_.writeEntries(
os);
120Foam::atmOmegaWallFunctionFvPatchScalarField::
121atmOmegaWallFunctionFvPatchScalarField
132Foam::atmOmegaWallFunctionFvPatchScalarField::
133atmOmegaWallFunctionFvPatchScalarField
142 z0_(ptf.z0_.clone(
p.patch()))
146Foam::atmOmegaWallFunctionFvPatchScalarField::
147atmOmegaWallFunctionFvPatchScalarField
159Foam::atmOmegaWallFunctionFvPatchScalarField::
160atmOmegaWallFunctionFvPatchScalarField
166 z0_(owfpsf.z0_.clone(this->patch().patch()))
170Foam::atmOmegaWallFunctionFvPatchScalarField::
171atmOmegaWallFunctionFvPatchScalarField
178 z0_(owfpsf.z0_.clone(this->patch().patch()))
207 refCast<const atmOmegaWallFunctionFvPatchScalarField>(ptf);
211 z0_->rmap(atmpsf.z0_(), addr);
222 writeLocalEntries(
os);
223 writeEntry(
"value",
os);
Macros for easy insertion into run-time selection tables.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
const Boundary & boundaryField() const
Return const-reference to the boundary field.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Top level data entry class for use in dictionaries. Provides a mechanism to specify a variable as a c...
scalar timeOutputValue() const
Return current time value.
void autoMap(const fvPatchFieldMapper &)
Map (and resize as needed) from self given a mapping object.
void rmap(const atmBoundaryLayer &, const labelList &)
Reverse map the given fvPatchField onto this fvPatchField.
This boundary condition provides a wall constraint on the specific dissipation rate (i....
virtual void autoMap(const fvPatchFieldMapper &)
Map (and resize as needed) from self given a mapping object.
virtual void calculate(const turbulenceModel &turbulence, const List< scalar > &cornerWeights, const fvPatch &patch, scalarField &G, scalarField &omega)
Calculate the omega and G.
autoPtr< PatchFunction1< scalar > > z0_
Surface roughness length field [m].
void writeLocalEntries(Ostream &) const
Write local wall function variables.
virtual void rmap(const fvPatchScalarField &, const labelList &)
Reverse map the given fvPatchField onto this fvPatchField.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Smooth ATC in cells next to a set of patches supplied by type.
virtual bool write()
Write the output fields.
A FieldMapper for finite-volume patch fields.
virtual tmp< Field< Type > > snGrad() const
Return patch-normal gradient.
const objectRegistry & db() const
Return local objectRegistry.
const fvPatch & patch() const
Return patch.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
label index() const
Return the index of this patch in the fvBoundaryMesh.
virtual const labelUList & faceCells() const
Return faceCells.
const Time & time() const noexcept
Return time registry.
This boundary condition provides a wall function for the specific dissipation rate (i....
wallFunctionCoefficients wallCoeffs_
Wall-function coefficients.
A class for managing temporary objects.
Abstract base class for turbulence models (RAS, LES and laminar).
const volVectorField & U() const
Access function to velocity field.
virtual tmp< volScalarField > k() const =0
Return the turbulence kinetic energy.
virtual tmp< volScalarField > nu() const =0
Return the laminar viscosity.
virtual tmp< volScalarField > nut() const =0
Return the turbulence viscosity.
const nearWallDist & y() const
Return the near wall distances.
scalar kappa() const noexcept
Return the object: kappa.
scalar Cmu() const noexcept
Return the object: Cmu.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
OBJstream os(runTime.globalPath()/outputName)
#define makePatchTypeField(PatchTypeField, typePatchTypeField)
dimensionedScalar sqrt(const dimensionedScalar &ds)
dimensioned< typename typeOfMag< Type >::type > mag(const dimensioned< Type > &dt)
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh > > &tdf1, const word &name, const dimensionSet &dimensions)
Global function forwards to reuseTmpDimensionedField::New.
errorManipArg< error, int > exit(error &err, const int errNo=1)
dimensionedScalar pow025(const dimensionedScalar &ds)
#define forAll(list, i)
Loop across all elements in list.