59 sqr(
calcUTau(magGradU))/(magGradU + ROOTVSMALL) - nuw
94 scalar ut =
sqrt((nutw[faceI] + nuw[faceI])*magGradU[faceI]);
103 scalar kUu =
min(
kappa_*magUp[faceI]/ut, 50);
104 scalar fkUu =
exp(kUu) - 1 - kUu*(1 + 0.5*kUu);
107 - ut*y[faceI]/nuw[faceI]
109 + 1/
E_*(fkUu - 1.0/6.0*kUu*
sqr(kUu));
113 + magUp[faceI]/
sqr(ut)
116 scalar uTauNew = ut + f/df;
117 err =
mag((ut - uTauNew)/ut);
120 }
while (ut > ROOTVSMALL && err > 0.01 && ++iter < 10);
122 uTau[faceI] =
max(0.0, ut);
216 writeEntry(
"value", os);
dimensionedScalar sqrt(const dimensionedScalar &ds)
virtual void writeLocalEntries(Ostream &) const
Write local wall function variables.
virtual tmp< Field< Type > > snGrad() const
Return patch-normal gradient.
virtual tmp< scalarField > calcUTau(const scalarField &magGradU) const
Calculate the friction velocity.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
dimensioned< scalar > mag(const dimensioned< Type > &)
GeometricBoundaryField & boundaryField()
Return reference to GeometricBoundaryField.
const char *const group
Group name for atomic constants.
virtual tmp< volScalarField > nu() const =0
Return the laminar viscosity.
virtual tmp< scalarField > yPlus() const
Calculate and return the yPlus at the boundary.
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.
dimensionedScalar exp(const dimensionedScalar &ds)
A list of keyword definitions, which are a keyword followed by any number of values (e...
virtual void write(Ostream &) const
Write.
nutUSpaldingWallFunctionFvPatchScalarField(const fvPatch &, const DimensionedField< scalar, volMesh > &)
Construct from patch and internal field.
scalar kappa_
Von Karman constant.
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
static word groupName(Name name, const word &group)
This boundary condition provides a turbulent kinematic viscosity condition when using wall functions ...
virtual tmp< Field< Type > > patchInternalField() const
Return internal field next to patch as patch field.
dimensioned< Type > max(const dimensioned< Type > &, const dimensioned< Type > &)
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...
rDeltaT dimensionedInternalField()
Abstract base class for turbulence models (RAS, LES and laminar).
An Ostream is an abstract base class for all output systems (streams, files, token lists...
virtual tmp< scalarField > calcNut() const
Calculate the turbulence viscosity.
static const word propertiesName
Default name of the turbulence properties dictionary.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
const volVectorField & U() const
Access function to velocity field.
makePatchTypeField(fvPatchVectorField, SRFFreestreamVelocityFvPatchVectorField)
dimensionedSymmTensor sqr(const dimensionedVector &dv)
dimensioned< Type > min(const dimensioned< Type > &, const dimensioned< Type > &)
nutWallFunctionFvPatchScalarField(const fvPatch &, const DimensionedField< scalar, volMesh > &)
Construct from patch and internal field.
A class for managing temporary objects.
virtual void write(Ostream &os) const
Write.