This boundary condition provides a wall constraint on turbulent kinetic energy dissipation rate, i.e. epsilon
, for low- and high-Reynolds number turbulence models.
More...
Public Member Functions | |
TypeName ("epsilonWallFunction") | |
Runtime type information. More... | |
epsilonWallFunctionFvPatchScalarField (const fvPatch &, const DimensionedField< scalar, volMesh > &) | |
Construct from patch and internal field. More... | |
epsilonWallFunctionFvPatchScalarField (const fvPatch &, const DimensionedField< scalar, volMesh > &, const dictionary &) | |
Construct from patch, internal field and dictionary. More... | |
epsilonWallFunctionFvPatchScalarField (const epsilonWallFunctionFvPatchScalarField &, const fvPatch &, const DimensionedField< scalar, volMesh > &, const fvPatchFieldMapper &) | |
epsilonWallFunctionFvPatchScalarField (const epsilonWallFunctionFvPatchScalarField &) | |
Construct as copy. More... | |
virtual tmp< fvPatchScalarField > | clone () const |
Construct and return a clone. More... | |
epsilonWallFunctionFvPatchScalarField (const epsilonWallFunctionFvPatchScalarField &, const DimensionedField< scalar, volMesh > &) | |
Construct as copy setting internal field reference. More... | |
virtual tmp< fvPatchScalarField > | clone (const DimensionedField< scalar, volMesh > &iF) const |
Construct and return a clone setting internal field reference. More... | |
virtual | ~epsilonWallFunctionFvPatchScalarField ()=default |
Destructor. More... | |
scalarField & | G (bool init=false) |
Return non-const access to the master's G field. More... | |
scalarField & | epsilon (bool init=false) |
Return non-const access to the master's epsilon field. More... | |
virtual void | updateCoeffs () |
Update the coefficients associated with the patch field. More... | |
virtual void | updateWeightedCoeffs (const scalarField &weights) |
Update the coefficients associated with the patch field. More... | |
virtual void | manipulateMatrix (fvMatrix< scalar > &matrix) |
Manipulate matrix. More... | |
virtual void | manipulateMatrix (fvMatrix< scalar > &matrix, const scalarField &weights) |
Manipulate matrix with given weights. More... | |
virtual void | write (Ostream &) const |
Write. More... | |
Public Member Functions inherited from fixedValueFvPatchField< scalar > | |
TypeName ("fixedValue") | |
Runtime type information. More... | |
fixedValueFvPatchField (const fvPatch &, const DimensionedField< scalar, volMesh > &) | |
Construct from patch and internal field. More... | |
fixedValueFvPatchField (const fvPatch &, const DimensionedField< scalar, volMesh > &, const scalar &value) | |
Construct from patch, internal field and value. More... | |
fixedValueFvPatchField (const fvPatch &, const DimensionedField< scalar, volMesh > &, const dictionary &, const bool valueRequired=true) | |
Construct from patch, internal field and dictionary. More... | |
fixedValueFvPatchField (const fixedValueFvPatchField< scalar > &, const fvPatch &, const DimensionedField< scalar, volMesh > &, const fvPatchFieldMapper &) | |
Construct by mapping the given fixedValueFvPatchField<Type> More... | |
fixedValueFvPatchField (const fixedValueFvPatchField< scalar > &) | |
Construct as copy. More... | |
fixedValueFvPatchField (const fixedValueFvPatchField< scalar > &, const DimensionedField< scalar, volMesh > &) | |
Construct as copy setting internal field reference. More... | |
virtual bool | fixesValue () const |
Return true if this patch field fixes a value. More... | |
virtual bool | assignable () const |
Return false: this patch field is not altered by assignment. More... | |
virtual tmp< Field< scalar > > | valueInternalCoeffs (const tmp< scalarField > &) const |
Return the matrix diagonal coefficients corresponding to the. More... | |
virtual tmp< Field< scalar > > | valueBoundaryCoeffs (const tmp< scalarField > &) const |
Return the matrix source coefficients corresponding to the. More... | |
virtual tmp< Field< scalar > > | gradientInternalCoeffs () const |
Return the matrix diagonal coefficients corresponding to the. More... | |
virtual tmp< Field< scalar > > | gradientBoundaryCoeffs () const |
Return the matrix source coefficients corresponding to the. More... | |
virtual void | operator= (const UList< scalar > &) |
virtual void | operator= (const fvPatchField< scalar > &) |
virtual void | operator= (const scalar &) |
virtual void | operator+= (const fvPatchField< scalar > &) |
virtual void | operator+= (const Field< scalar > &) |
virtual void | operator+= (const scalar &) |
virtual void | operator-= (const fvPatchField< scalar > &) |
virtual void | operator-= (const Field< scalar > &) |
virtual void | operator-= (const scalar &) |
virtual void | operator*= (const fvPatchField< scalar > &) |
virtual void | operator*= (const Field< scalar > &) |
virtual void | operator*= (const scalar) |
virtual void | operator/= (const fvPatchField< scalar > &) |
virtual void | operator/= (const Field< scalar > &) |
virtual void | operator/= (const scalar) |
Public Member Functions inherited from fvPatchField< scalar > | |
TypeName ("fvPatchField") | |
Runtime type information. More... | |
declareRunTimeSelectionTable (tmp, fvPatchField, patch,(const fvPatch &p, const DimensionedField< scalar, volMesh > &iF),(p, iF)) | |
declareRunTimeSelectionTable (tmp, fvPatchField, patchMapper,(const fvPatchField< scalar > &ptf, const fvPatch &p, const DimensionedField< scalar, volMesh > &iF, const fvPatchFieldMapper &m),(dynamic_cast< const fvPatchFieldType & >(ptf), p, iF, m)) | |
declareRunTimeSelectionTable (tmp, fvPatchField, dictionary,(const fvPatch &p, const DimensionedField< scalar, volMesh > &iF, const dictionary &dict),(p, iF, dict)) | |
fvPatchField (const fvPatch &, const DimensionedField< scalar, volMesh > &) | |
Construct from patch and internal field. More... | |
fvPatchField (const fvPatch &, const DimensionedField< scalar, volMesh > &, const scalar &value) | |
Construct from patch, internal field and value. More... | |
fvPatchField (const fvPatch &, const DimensionedField< scalar, volMesh > &, const word &patchType) | |
Construct from patch and internal field and patch type. More... | |
fvPatchField (const fvPatch &, const DimensionedField< scalar, volMesh > &, const Field< scalar > &) | |
Construct from patch and internal field and patch field. More... | |
fvPatchField (const fvPatch &, const DimensionedField< scalar, volMesh > &, const dictionary &, const bool valueRequired=true) | |
Construct from patch, internal field and dictionary. More... | |
fvPatchField (const fvPatchField< scalar > &, const fvPatch &, const DimensionedField< scalar, volMesh > &, const fvPatchFieldMapper &) | |
Construct by mapping the given fvPatchField onto a new patch. More... | |
fvPatchField (const fvPatchField< scalar > &) | |
Construct as copy. More... | |
fvPatchField (const fvPatchField< scalar > &, const DimensionedField< scalar, volMesh > &) | |
Construct as copy setting internal field reference. More... | |
Foam::tmp< Foam::fvPatchField< scalar > > | NewCalculatedType (const fvPatchField< Type2 > &pf) |
virtual | ~fvPatchField ()=default |
Destructor. More... | |
virtual bool | coupled () const |
Return true if this patch field is coupled. More... | |
const objectRegistry & | db () const |
Return local objectRegistry. More... | |
const fvPatch & | patch () const |
Return patch. More... | |
const DimensionedField< scalar, volMesh > & | internalField () const |
Return dimensioned internal field reference. More... | |
const Field< scalar > & | primitiveField () const |
Return internal field reference. More... | |
const word & | patchType () const |
Optional patch type. More... | |
word & | patchType () |
Optional patch type. More... | |
bool | updated () const |
Return true if the boundary condition has already been updated. More... | |
bool | manipulatedMatrix () const |
Return true if the matrix has already been manipulated. More... | |
virtual void | autoMap (const fvPatchFieldMapper &) |
Map (and resize as needed) from self given a mapping object. More... | |
virtual void | rmap (const fvPatchField< scalar > &, const labelList &) |
Reverse map the given fvPatchField onto this fvPatchField. More... | |
virtual tmp< Field< scalar > > | snGrad () const |
Return patch-normal gradient. More... | |
virtual tmp< Field< scalar > > | snGrad (const scalarField &deltaCoeffs) const |
Return patch-normal gradient for coupled-patches. More... | |
virtual tmp< Field< scalar > > | patchInternalField () const |
Return internal field next to patch as patch field. More... | |
virtual void | patchInternalField (Field< scalar > &) const |
Return internal field next to patch as patch field. More... | |
virtual tmp< Field< scalar > > | patchNeighbourField () const |
Return patchField on the opposite patch of a coupled patch. More... | |
virtual void | initEvaluate (const Pstream::commsTypes commsType=Pstream::commsTypes::blocking) |
Initialise the evaluation of the patch field. More... | |
virtual void | evaluate (const Pstream::commsTypes commsType=Pstream::commsTypes::blocking) |
Evaluate the patch field, sets Updated to false. More... | |
virtual tmp< Field< scalar > > | valueInternalCoeffs (const tmp< Field< scalar >> &) const |
Return the matrix diagonal coefficients corresponding to the. More... | |
virtual tmp< Field< scalar > > | valueBoundaryCoeffs (const tmp< Field< scalar >> &) const |
Return the matrix source coefficients corresponding to the. More... | |
virtual tmp< Field< scalar > > | gradientInternalCoeffs (const scalarField &deltaCoeffs) const |
Return the matrix diagonal coefficients corresponding to the. More... | |
virtual tmp< Field< scalar > > | gradientBoundaryCoeffs (const scalarField &deltaCoeffs) const |
Return the matrix source coefficients corresponding to the. More... | |
void | check (const fvPatchField< scalar > &) const |
Check fvPatchField<Type> against given fvPatchField<Type> More... | |
virtual void | operator== (const fvPatchField< scalar > &) |
virtual void | operator== (const Field< scalar > &) |
virtual void | operator== (const scalar &) |
Protected Member Functions | |
virtual void | setMaster () |
virtual void | createAveragingWeights () |
virtual epsilonWallFunctionFvPatchScalarField & | epsilonPatch (const label patchi) |
Helper function to return non-const access to an epsilon patch. More... | |
virtual void | calculateTurbulenceFields (const turbulenceModel &turbulence, scalarField &G0, scalarField &epsilon0) |
Main driver to calculate the turbulence fields. More... | |
virtual void | calculate (const turbulenceModel &turbulence, const List< scalar > &cornerWeights, const fvPatch &patch, scalarField &G, scalarField &epsilon) |
Calculate the epsilon and G. More... | |
virtual label & | master () |
Return non-const access to the master patch ID. More... | |
Protected Attributes | |
bool | lowReCorrection_ |
Apply low-Re correction term; default = no. More... | |
bool | initialised_ |
Initialised flag. More... | |
label | master_ |
Master patch ID. More... | |
scalarField | G_ |
Local copy of turbulence G field. More... | |
scalarField | epsilon_ |
Local copy of turbulence epsilon field. More... | |
List< List< scalar > > | cornerWeights_ |
List of averaging corner weights. More... | |
Static Protected Attributes | |
static scalar | tolerance_ = 1e-5 |
Tolerance used in weighted calculations. More... | |
Additional Inherited Members | |
Public Types inherited from fvPatchField< scalar > | |
typedef fvPatch | Patch |
typedef calculatedFvPatchField< scalar > | Calculated |
Static Public Member Functions inherited from fvPatchField< scalar > | |
static tmp< fvPatchField< scalar > > | New (const word &, const fvPatch &, const DimensionedField< scalar, volMesh > &) |
Return a pointer to a new patchField created on freestore given. More... | |
static tmp< fvPatchField< scalar > > | New (const word &, const word &actualPatchType, const fvPatch &, const DimensionedField< scalar, volMesh > &) |
Return a pointer to a new patchField created on freestore given. More... | |
static tmp< fvPatchField< scalar > > | New (const fvPatchField< scalar > &, const fvPatch &, const DimensionedField< scalar, volMesh > &, const fvPatchFieldMapper &) |
Return a pointer to a new patchField created on freestore from. More... | |
static tmp< fvPatchField< scalar > > | New (const fvPatch &, const DimensionedField< scalar, volMesh > &, const dictionary &) |
Return a pointer to a new patchField created on freestore. More... | |
static tmp< fvPatchField< scalar > > | NewCalculatedType (const fvPatch &) |
Return a pointer to a new calculatedFvPatchField created on. More... | |
static tmp< fvPatchField< scalar > > | NewCalculatedType (const fvPatchField< Type2 > &) |
Return a pointer to a new calculatedFvPatchField created on. More... | |
static const word & | calculatedType () |
Return the type of the calculated for of fvPatchField. More... | |
Static Public Attributes inherited from fvPatchField< scalar > | |
static int | disallowGenericFvPatchField |
Debug switch to disallow the use of genericFvPatchField. More... | |
This boundary condition provides a wall constraint on turbulent kinetic energy dissipation rate, i.e. epsilon
, for low- and high-Reynolds number turbulence models.
The condition can be applied to wall boundaries for which it
epsilon
and G
epsilon
valuewhere
\( epsilon \) | = | turbulent kinetic energy dissipation rate field |
\( G \) | = | turbulent kinetic energy production field (divergence-free) |
The low-Re correction is activated by setting the entry lowReCorrection
to 'on'; in this mode the model switches between viscous and turbulent functions based on the viscous-to-turbulent y+
value derived from the kappa
and E
.
When the lowReCorrection
is inactive, the wall function operates in high-Re mode.
Property | Description | Required | Default value |
---|---|---|---|
lowReCorrection | Low-Re correction active | no | off |
Example of the boundary condition specification:
<patchName> { // Mandatory entries type epsilonWallFunction; // Optional entries }
Cmu
, kappa
, and E
are obtained from the specified nutWallFunction
in order to ensure that each patch possesses the same set of values for these coefficients.Definition at line 119 of file epsilonWallFunctionFvPatchScalarField.H.
epsilonWallFunctionFvPatchScalarField | ( | const fvPatch & | p, |
const DimensionedField< scalar, volMesh > & | iF | ||
) |
Construct from patch and internal field.
Definition at line 246 of file epsilonWallFunctionFvPatchScalarField.C.
Referenced by epsilonWallFunctionFvPatchScalarField::clone().
epsilonWallFunctionFvPatchScalarField | ( | const fvPatch & | p, |
const DimensionedField< scalar, volMesh > & | iF, | ||
const dictionary & | dict | ||
) |
Construct from patch, internal field and dictionary.
Definition at line 282 of file epsilonWallFunctionFvPatchScalarField.C.
References Foam::operator==().
epsilonWallFunctionFvPatchScalarField | ( | const epsilonWallFunctionFvPatchScalarField & | ptf, |
const fvPatch & | p, | ||
const DimensionedField< scalar, volMesh > & | iF, | ||
const fvPatchFieldMapper & | mapper | ||
) |
Construct by mapping given epsilonWallFunctionFvPatchScalarField onto a new patch
Definition at line 263 of file epsilonWallFunctionFvPatchScalarField.C.
epsilonWallFunctionFvPatchScalarField | ( | const epsilonWallFunctionFvPatchScalarField & | ewfpsf | ) |
Construct as copy.
Definition at line 303 of file epsilonWallFunctionFvPatchScalarField.C.
epsilonWallFunctionFvPatchScalarField | ( | const epsilonWallFunctionFvPatchScalarField & | ewfpsf, |
const DimensionedField< scalar, volMesh > & | iF | ||
) |
Construct as copy setting internal field reference.
Definition at line 319 of file epsilonWallFunctionFvPatchScalarField.C.
|
virtualdefault |
Destructor.
|
protectedvirtual |
Set the master patch - master is responsible for updating all wall function patches
Definition at line 42 of file epsilonWallFunctionFvPatchScalarField.C.
References epsilonWallFunctionFvPatchScalarField::epsilon(), epsilonWallFunctionFvPatchScalarField::epsilonPatch(), forAll, fvPatchField< scalar >::internalField(), epsilonWallFunctionFvPatchScalarField::master(), and epsilonWallFunctionFvPatchScalarField::master_.
|
protectedvirtual |
Create the averaging weights for cells which are bounded by multiple wall function faces
Definition at line 72 of file epsilonWallFunctionFvPatchScalarField.C.
References polyMesh::changing(), Foam::dimless, epsilon, forAll, mesh, IOobject::NO_READ, IOobject::NO_WRITE, fvPatchField< Type >::patchInternalField(), fvMesh::time(), Time::timeName(), and Foam::Zero.
|
protectedvirtual |
Helper function to return non-const access to an epsilon patch.
Definition at line 133 of file epsilonWallFunctionFvPatchScalarField.C.
References epsilon.
Referenced by epsilonWallFunctionFvPatchScalarField::setMaster().
|
protectedvirtual |
Main driver to calculate the turbulence fields.
Definition at line 150 of file epsilonWallFunctionFvPatchScalarField.C.
References epsilonWallFunctionFvPatchScalarField::calculate(), Foam::constant::electromagnetic::epsilon0, fvPatch::faceCells(), forAll, Foam::constant::electromagnetic::G0, fvPatchField< Type >::patch(), and turbulence.
|
protectedvirtual |
Calculate the epsilon and G.
Definition at line 183 of file epsilonWallFunctionFvPatchScalarField.C.
References GeometricField< Type, PatchField, GeoMesh >::boundaryField(), nutWallFunctionFvPatchScalarField::Cmu(), Foam::constant::electromagnetic::epsilon0, forAll, Foam::constant::electromagnetic::G0, k, turbulenceModel::k(), nutWallFunctionFvPatchScalarField::kappa(), Foam::mag(), turbulenceModel::nu(), nutWallFunctionFvPatchScalarField::nutw(), Foam::foamVersion::patch, Foam::pow(), Foam::pow025(), fvPatchField< Type >::snGrad(), Foam::sqr(), Foam::sqrt(), turbulenceModel::U(), y, turbulenceModel::y(), yPlus, and nutWallFunctionFvPatchScalarField::yPlusLam().
Referenced by epsilonWallFunctionFvPatchScalarField::calculateTurbulenceFields().
|
inlineprotectedvirtual |
Return non-const access to the master patch ID.
Definition at line 184 of file epsilonWallFunctionFvPatchScalarField.H.
References epsilonWallFunctionFvPatchScalarField::master_.
Referenced by epsilonWallFunctionFvPatchScalarField::setMaster().
TypeName | ( | "epsilonWallFunction" | ) |
Runtime type information.
|
inlinevirtual |
Construct and return a clone.
Reimplemented from fixedValueFvPatchField< scalar >.
Definition at line 231 of file epsilonWallFunctionFvPatchScalarField.H.
References epsilonWallFunctionFvPatchScalarField::epsilonWallFunctionFvPatchScalarField().
|
inlinevirtual |
Construct and return a clone setting internal field reference.
Reimplemented from fixedValueFvPatchField< scalar >.
Definition at line 248 of file epsilonWallFunctionFvPatchScalarField.H.
References epsilonWallFunctionFvPatchScalarField::epsilonWallFunctionFvPatchScalarField().
Foam::scalarField & G | ( | bool | init = false | ) |
Return non-const access to the master's G field.
Definition at line 337 of file epsilonWallFunctionFvPatchScalarField.C.
References Foam::foamVersion::patch.
Foam::scalarField & epsilon | ( | bool | init = false | ) |
Return non-const access to the master's epsilon field.
Definition at line 356 of file epsilonWallFunctionFvPatchScalarField.C.
References Foam::foamVersion::patch.
Referenced by epsilonWallFunctionFvPatchScalarField::setMaster().
|
virtual |
Update the coefficients associated with the patch field.
Reimplemented from fvPatchField< scalar >.
Definition at line 374 of file epsilonWallFunctionFvPatchScalarField.C.
References epsilon, Foam::constant::electromagnetic::epsilon0, forAll, Foam::constant::universal::G, Foam::constant::electromagnetic::G0, turbulenceModel::GName(), Foam::constant::atomic::group, IOobject::groupName(), Foam::foamVersion::patch, turbulenceModel::propertiesName, and fvPatchField< Type >::updateCoeffs().
|
virtual |
Update the coefficients associated with the patch field.
Reimplemented from fvPatchField< scalar >.
Definition at line 420 of file epsilonWallFunctionFvPatchScalarField.C.
References epsilon, Foam::constant::electromagnetic::epsilon0, forAll, Foam::constant::universal::G, Foam::constant::electromagnetic::G0, turbulenceModel::GName(), Foam::constant::atomic::group, IOobject::groupName(), Foam::foamVersion::patch, turbulenceModel::propertiesName, and fvPatchField< Type >::updateCoeffs().
|
virtual |
Manipulate matrix.
Reimplemented from fvPatchField< scalar >.
Definition at line 477 of file epsilonWallFunctionFvPatchScalarField.C.
References fvPatchField< Type >::manipulateMatrix(), Foam::foamVersion::patch, and fvMatrix< Type >::setValues().
|
virtual |
Manipulate matrix with given weights.
Reimplemented from fvPatchField< scalar >.
Definition at line 493 of file epsilonWallFunctionFvPatchScalarField.C.
References Foam::expressions::patchExpr::debug, Foam::endl(), fld, forAll, fvPatchField< Type >::manipulateMatrix(), Foam::foamVersion::patch, Foam::Pout, and fvMatrix< Type >::setValues().
|
virtual |
Write.
Reimplemented from fixedValueFvPatchField< scalar >.
Definition at line 536 of file epsilonWallFunctionFvPatchScalarField.C.
References fixedValueFvPatchField< Type >::write(), and Ostream::writeEntry().
|
staticprotected |
Tolerance used in weighted calculations.
Definition at line 128 of file epsilonWallFunctionFvPatchScalarField.H.
|
protected |
Apply low-Re correction term; default = no.
Definition at line 131 of file epsilonWallFunctionFvPatchScalarField.H.
|
protected |
Initialised flag.
Definition at line 134 of file epsilonWallFunctionFvPatchScalarField.H.
|
protected |
Master patch ID.
Definition at line 137 of file epsilonWallFunctionFvPatchScalarField.H.
Referenced by epsilonWallFunctionFvPatchScalarField::master(), and epsilonWallFunctionFvPatchScalarField::setMaster().
|
protected |
Local copy of turbulence G field.
Definition at line 140 of file epsilonWallFunctionFvPatchScalarField.H.
|
protected |
Local copy of turbulence epsilon field.
Definition at line 143 of file epsilonWallFunctionFvPatchScalarField.H.
List of averaging corner weights.
Definition at line 146 of file epsilonWallFunctionFvPatchScalarField.H.