48 momentumTransportModel::typeName,
49 internalField().
group()
60 sqr(
calcUTau(magGradU))/(magGradU + rootVSmall) - nuw
77 momentumTransportModel::typeName,
78 internalField().
group()
96 scalar ut =
sqrt((nutw[facei] + nuw[facei])*magGradU[facei]);
105 scalar kUu =
min(
kappa_*magUp[facei]/ut, 50);
106 scalar fkUu =
exp(kUu) - 1 - kUu*(1 + 0.5*kUu);
109 - ut*y[facei]/nuw[facei]
111 + 1/
E_*(fkUu - 1.0/6.0*kUu*
sqr(kUu));
115 + magUp[facei]/
sqr(ut)
118 scalar uTauNew = ut + f/df;
119 err =
mag((ut - uTauNew)/ut);
122 }
while (ut > rootVSmall && err > 0.01 && ++iter < 10);
124 uTau[facei] =
max(0.0, ut);
192 momentumTransportModel::typeName,
193 internalField().
group()
const char *const group
Group name for atomic constants.
virtual tmp< volScalarField > nu() const
Return the laminar viscosity.
#define forAll(list, i)
Loop across all elements in list.
layerAndWeight max(const layerAndWeight &a, const layerAndWeight &b)
virtual tmp< Field< Type > > snGrad() const
Return patch-normal gradient.
virtual void writeLocalEntries(Ostream &) const
Write local wall function variables.
A list of keyword definitions, which are a keyword followed by any number of values (e...
const Boundary & boundaryField() const
Return const-reference to the boundary field.
T & ref() const
Return non-const reference or generate a fatal error.
dimensionedSymmTensor sqr(const dimensionedVector &dv)
dimensionedScalar sqrt(const dimensionedScalar &ds)
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
Abstract base class with a fat-interface to all derived classes covering all possible ways in which t...
virtual void write(Ostream &) const
Write.
virtual tmp< scalarField > calcUTau(const scalarField &magGradU) const
Calculate the friction velocity.
const volScalarField::Boundary & y() const
Return the near wall distance.
Macros for easy insertion into run-time selection tables.
static const nutWallFunctionFvPatchScalarField & nutw(const momentumTransportModel &turbModel, const label patchi)
Return the nut patchField for the given wall patch.
virtual tmp< scalarField > nut() const
Calculate the turbulence viscosity.
This boundary condition provides a turbulent kinematic viscosity condition when using wall functions ...
dimensionedScalar exp(const dimensionedScalar &ds)
nutUSpaldingWallFunctionFvPatchScalarField(const fvPatch &, const DimensionedField< scalar, volMesh > &)
Construct from patch and internal field.
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
static word groupName(Name name, const word &group)
virtual void write(Ostream &os) const
Write.
Foam::fvPatchFieldMapper.
layerAndWeight min(const layerAndWeight &a, const layerAndWeight &b)
scalar kappa_
Von Karman constant.
virtual tmp< scalarField > yPlus() const
Calculate and return the yPlus at the boundary.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
virtual tmp< Field< Type > > patchInternalField() const
Return internal field next to patch as patch field.
void writeEntry(Ostream &os, const HashTable< T, Key, Hash > &ht)
Abstract base class for turbulence models (RAS, LES and laminar).
const volVectorField & U() const
Access function to velocity field.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
dimensioned< scalar > mag(const dimensioned< Type > &)
nutWallFunctionFvPatchScalarField(const fvPatch &, const DimensionedField< scalar, volMesh > &)
Construct from patch and internal field.
A class for managing temporary objects.
makePatchTypeField(fvPatchScalarField, atmBoundaryLayerInletEpsilonFvPatchScalarField)