Go to the documentation of this file.
51 { blendingType::STEPWISE ,
"stepwise" },
52 { blendingType::MAX ,
"max" },
53 { blendingType::BINOMIAL ,
"binomial" },
54 { blendingType::EXPONENTIAL,
"exponential" }
62 if (!isA<wallFvPatch>(
patch()))
65 <<
"Invalid wall function specification" <<
nl
66 <<
" Patch type for patch " <<
patch().name()
67 <<
" must be wall" <<
nl
97 if (blending_ == blendingType::BINOMIAL)
121 fixedValueFvPatchScalarField(
p, iF),
122 blending_(blendingType::STEPWISE),
128 yPlusLam_(yPlusLam(kappa_, E_))
142 fixedValueFvPatchScalarField(ptf,
p, iF, mapper),
143 blending_(ptf.blending_),
149 yPlusLam_(ptf.yPlusLam_)
162 fixedValueFvPatchScalarField(
p, iF,
dict),
165 blendingTypeNames.getOrDefault
169 blendingType::STEPWISE
174 dict.getCheckOrDefault<scalar>
182 Cmu_(
dict.getOrDefault<scalar>(
"Cmu", 0.09)),
188 yPlusLam_(yPlusLam(kappa_, E_))
199 fixedValueFvPatchScalarField(wfpsf),
200 blending_(wfpsf.blending_),
202 UName_(wfpsf.UName_),
204 kappa_(wfpsf.kappa_),
206 yPlusLam_(wfpsf.yPlusLam_)
218 fixedValueFvPatchScalarField(wfpsf, iF),
219 blending_(wfpsf.blending_),
221 UName_(wfpsf.UName_),
223 kappa_(wfpsf.kappa_),
225 yPlusLam_(wfpsf.yPlusLam_)
241 refCast<const nutWallFunctionFvPatchScalarField>
243 turbModel.
nut()().boundaryField()[patchi],
257 for (label i = 0; i < 10; ++i)
277 case blendingType::STEPWISE:
279 if (
yPlus > yPlusLam_)
290 case blendingType::MAX:
293 nutw =
max(nutVis, nutLog);
297 case blendingType::BINOMIAL:
303 pow(nutVis, n_) +
pow(nutLog, n_),
309 case blendingType::EXPONENTIAL:
313 const scalar invGamma = 1.0/(Gamma + ROOTVSMALL);
315 nutw = nutVis*
exp(-Gamma) + nutLog*
exp(-invGamma);
339 fixedValueFvPatchScalarField::updateCoeffs();
349 writeLocalEntries(
os);
350 writeEntry(
"value",
os);
nutWallFunctionFvPatchScalarField(const fvPatch &, const DimensionedField< scalar, volMesh > &)
virtual void write(Ostream &) const
Enum is a wrapper around a list of names/values that represent particular enumeration (or int) values...
A class for handling words, derived from Foam::string.
virtual void updateCoeffs()
virtual tmp< volScalarField > nut() const =0
virtual const volVectorField & U(const turbulenceModel &turb) const
Ostream & endl(Ostream &os)
dimensionedScalar exp(const dimensionedScalar &ds)
const dimensionedScalar kappa
dimensionedScalar pow4(const dimensionedScalar &ds)
tmp< faMatrix< Type > > operator==(const faMatrix< Type > &, const faMatrix< Type > &)
ThermalDiffusivity< CompressibleTurbulenceModel< fluidThermo > > turbulenceModel
virtual void write(Ostream &) const
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
enum blendingType blending_
T getCheckOrDefault(const word &keyword, const T &deflt, const Predicate &pred, enum keyType::option matchOpt=keyType::REGEX) const
dimensionedScalar pow(const dimensionedScalar &ds, const dimensionedScalar &expt)
label max(const labelHashSet &set, label maxValue=labelMin)
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.
errorManip< error > abort(error &err)
#define FatalErrorInFunction
scalar blend(const scalar nutVis, const scalar nutLog, const scalar yPlus) const
static const Enum< blendingType > blendingTypeNames
static MinMax< T > ge(const T &minVal)
static const nutWallFunctionFvPatchScalarField & nutw(const turbulenceModel &turbModel, const label patchi)
Ostream & writeEntry(const keyType &key, const T &value)
Foam::fvPatchFieldMapper.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
T getOrDefault(const word &keyword, const T &deflt, enum keyType::option matchOpt=keyType::REGEX) const
Generic GeometricField class.
The class nutWallFunction is a base class that parents the derived boundary conditions which provide ...
compressible::turbulenceModel & turb
defineTypeNameAndDebug(combustionModel, 0)
A min/max value pair with additional methods. In addition to conveniently storing values,...
virtual void writeLocalEntries(Ostream &) const
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...