This boundary condition provides a wall constraint on the turbulent viscosity (i.e. nut
) based on the turbulent kinetic energy (i.e. k
) and velocity (i.e. U
) for atmospheric boundary layer modelling.
More...
Public Member Functions | |
TypeName ("atmNutWallFunction") | |
Runtime type information. More... | |
atmNutWallFunctionFvPatchScalarField (const fvPatch &, const DimensionedField< scalar, volMesh > &) | |
Construct from patch and internal field. More... | |
atmNutWallFunctionFvPatchScalarField (const fvPatch &, const DimensionedField< scalar, volMesh > &, const dictionary &) | |
Construct from patch, internal field and dictionary. More... | |
atmNutWallFunctionFvPatchScalarField (const atmNutWallFunctionFvPatchScalarField &, const fvPatch &, const DimensionedField< scalar, volMesh > &, const fvPatchFieldMapper &) | |
Construct by mapping given atmNutWallFunctionFvPatchScalarField onto a new patch. More... | |
atmNutWallFunctionFvPatchScalarField (const atmNutWallFunctionFvPatchScalarField &) | |
Construct as copy. More... | |
atmNutWallFunctionFvPatchScalarField (const atmNutWallFunctionFvPatchScalarField &, const DimensionedField< scalar, volMesh > &) | |
Construct as copy setting internal field reference. More... | |
virtual tmp< fvPatchField< scalar > > | clone () const |
Return a clone. More... | |
virtual tmp< fvPatchField< scalar > > | clone (const DimensionedField< scalar, volMesh > &iF) const |
Clone with an internal field reference. More... | |
virtual void | autoMap (const fvPatchFieldMapper &) |
Map (and resize as needed) from self given a mapping object. More... | |
virtual void | rmap (const fvPatchScalarField &, const labelList &) |
Reverse map the given fvPatchField onto this fvPatchField. More... | |
virtual void | write (Ostream &) const |
Write. More... | |
Public Member Functions inherited from nutkWallFunctionFvPatchScalarField | |
TypeName ("nutkWallFunction") | |
Runtime type information. More... | |
nutkWallFunctionFvPatchScalarField (const fvPatch &, const DimensionedField< scalar, volMesh > &) | |
Construct from patch and internal field. More... | |
nutkWallFunctionFvPatchScalarField (const fvPatch &, const DimensionedField< scalar, volMesh > &, const dictionary &) | |
Construct from patch, internal field and dictionary. More... | |
nutkWallFunctionFvPatchScalarField (const nutkWallFunctionFvPatchScalarField &, const fvPatch &, const DimensionedField< scalar, volMesh > &, const fvPatchFieldMapper &) | |
Construct by mapping given nutkWallFunctionFvPatchScalarField onto a new patch. More... | |
nutkWallFunctionFvPatchScalarField (const nutkWallFunctionFvPatchScalarField &) | |
Construct as copy. More... | |
nutkWallFunctionFvPatchScalarField (const nutkWallFunctionFvPatchScalarField &, const DimensionedField< scalar, volMesh > &) | |
Construct as copy setting internal field reference. More... | |
virtual tmp< scalarField > | yPlus () const |
Calculate and return the yPlus at the boundary. More... | |
Public Member Functions inherited from nutWallFunctionFvPatchScalarField | |
TypeName ("nutWallFunction") | |
Runtime type information. More... | |
nutWallFunctionFvPatchScalarField (const fvPatch &, const DimensionedField< scalar, volMesh > &) | |
Construct from patch and internal field. More... | |
nutWallFunctionFvPatchScalarField (const fvPatch &, const DimensionedField< scalar, volMesh > &, const dictionary &) | |
Construct from patch, internal field and dictionary. More... | |
nutWallFunctionFvPatchScalarField (const nutWallFunctionFvPatchScalarField &, const fvPatch &, const DimensionedField< scalar, volMesh > &, const fvPatchFieldMapper &) | |
Construct by mapping given nutWallFunctionFvPatchScalarField onto a new patch. More... | |
nutWallFunctionFvPatchScalarField (const nutWallFunctionFvPatchScalarField &) | |
Construct as copy. More... | |
nutWallFunctionFvPatchScalarField (const nutWallFunctionFvPatchScalarField &, const DimensionedField< scalar, volMesh > &) | |
Construct as copy setting internal field reference. More... | |
const wallFunctionCoefficients & | wallCoeffs () const noexcept |
Return wallFunctionCoefficients. More... | |
virtual void | updateCoeffs () |
Update the coefficients associated with the patch field. More... | |
Protected Member Functions | |
virtual tmp< scalarField > | calcNut () const |
Calculate the turbulent viscosity. More... | |
void | writeLocalEntries (Ostream &) const |
Write local wall function variables. More... | |
Protected Member Functions inherited from nutkWallFunctionFvPatchScalarField | |
void | writeLocalEntries (Ostream &) const |
Write local wall function variables. More... | |
Protected Member Functions inherited from nutWallFunctionFvPatchScalarField | |
virtual const volVectorField & | U (const turbulenceModel &turb) const |
Helper to return the velocity field either from the turbulence model (default) or the mesh database. More... | |
virtual void | checkType () |
Check the type of the patch. More... | |
void | writeLocalEntries (Ostream &) const |
Write local wall function variables. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from nutWallFunctionFvPatchScalarField | |
static const nutWallFunctionFvPatchScalarField & | nutw (const turbulenceModel &turbModel, const label patchi) |
Return the nut patchField for the given wall patch. More... | |
Protected Attributes inherited from nutWallFunctionFvPatchScalarField | |
word | UName_ |
Name of velocity field. More... | |
wallFunctionCoefficients | wallCoeffs_ |
Wall-function coefficients. More... | |
This boundary condition provides a wall constraint on the turbulent viscosity (i.e. nut
) based on the turbulent kinetic energy (i.e. k
) and velocity (i.e. U
) for atmospheric boundary layer modelling.
The governing equation of the boundary condition:
with
where
= | wall shear stress | |
= | local friction velocity based on near-ground velocity | |
= | local friction velocity based on near-ground k | |
= | von Kármán constant | |
= | near-ground velocity | |
= | vertical coordinate | |
= | surface roughness length [m] | |
= | empirical model constant | |
= | turbulent kinetic energy |
References:
Theoretical expressions (tags:RH, SBJM, SM): Richards, P. J., & Hoxey, R. P. (1993). Appropriate boundary conditions for computational wind engineering models using the k-ε turbulence model. In Computational Wind Engineering 1 (pp. 145-153). DOI:10.1016/B978-0-444-81688-7.50018-8 Sørensen, N. N., Bechmann, A., Johansen, J., Myllerup, L., Botha, P., Vinther, S., & Nielsen, B. S. (2007). Identification of severe wind conditions using a Reynolds Averaged Navier-Stokes solver. In Journal of Physics: Conference series (Vol. 75, No. 1, p. 012053). DOI:10.1088/1742-6596/75/1/012053 Sumner, J., & Masson, C. (2012). k−ε simulations of the neutral atmospheric boundary layer: analysis and correction of discretization errors on practical grids. International journal for numerical methods in fluids, 70(6), 724-741. DOI:10.1002/fld.2709
Required fields:
nut | Turbulent viscosity [m2/s] k | Turbulent kinetic energy [m2/s2]
<patchName> { // Mandatory entries type atmNutWallFunction; z0Min <scalar>; z0 <PatchFunction1<scalar>>; // Inherited entries ... }
where the entries mean:
Property | Description | Type | Reqd | Deflt |
---|---|---|---|---|
type | Type name: nutAtmWallFunction | word | yes | - |
z0Min | Minimum surface roughness length [m] | scalar | yes | - |
z0 | Surface roughness length [m] | PatchFunction1<scalar> | yes | - |
The inherited entries are elaborated in:
Definition at line 200 of file atmNutWallFunctionFvPatchScalarField.H.
atmNutWallFunctionFvPatchScalarField | ( | const fvPatch & | p, |
const DimensionedField< scalar, volMesh > & | iF | ||
) |
Construct from patch and internal field.
Definition at line 125 of file atmNutWallFunctionFvPatchScalarField.C.
atmNutWallFunctionFvPatchScalarField | ( | const fvPatch & | p, |
const DimensionedField< scalar, volMesh > & | iF, | ||
const dictionary & | dict | ||
) |
Construct from patch, internal field and dictionary.
Definition at line 151 of file atmNutWallFunctionFvPatchScalarField.C.
atmNutWallFunctionFvPatchScalarField | ( | const atmNutWallFunctionFvPatchScalarField & | ptf, |
const fvPatch & | p, | ||
const DimensionedField< scalar, volMesh > & | iF, | ||
const fvPatchFieldMapper & | mapper | ||
) |
Construct by mapping given atmNutWallFunctionFvPatchScalarField onto a new patch.
Definition at line 137 of file atmNutWallFunctionFvPatchScalarField.C.
atmNutWallFunctionFvPatchScalarField | ( | const atmNutWallFunctionFvPatchScalarField & | rwfpsf | ) |
Construct as copy.
Definition at line 172 of file atmNutWallFunctionFvPatchScalarField.C.
atmNutWallFunctionFvPatchScalarField | ( | const atmNutWallFunctionFvPatchScalarField & | rwfpsf, |
const DimensionedField< scalar, volMesh > & | iF | ||
) |
Construct as copy setting internal field reference.
Definition at line 183 of file atmNutWallFunctionFvPatchScalarField.C.
|
protectedvirtual |
Calculate the turbulent viscosity.
Reimplemented from nutkWallFunctionFvPatchScalarField.
Definition at line 36 of file atmNutWallFunctionFvPatchScalarField.C.
References wallFunctionCoefficients::Cmu(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, forAll, Foam::constant::atomic::group, IOobject::groupName(), k, Foam::constant::electromagnetic::kappa, wallFunctionCoefficients::kappa(), Foam::log(), Foam::mag(), magUp, Foam::max(), tmp< T >::New(), nutWallFunctionFvPatchScalarField::nutw(), Foam::foamVersion::patch, fvPatchField< Type >::patchInternalField(), Foam::pow025(), turbulenceModel::propertiesName, Foam::sqrt(), tauw, nutWallFunctionFvPatchScalarField::wallCoeffs_, and y.
|
protected |
Write local wall function variables.
Definition at line 109 of file atmNutWallFunctionFvPatchScalarField.C.
References os(), and Ostream::writeEntryIfDifferent().
Referenced by atmNutWallFunctionFvPatchScalarField::write().
TypeName | ( | "atmNutWallFunction" | ) |
Runtime type information.
|
inlinevirtual |
Return a clone.
Reimplemented from nutkWallFunctionFvPatchScalarField.
Definition at line 295 of file atmNutWallFunctionFvPatchScalarField.H.
References fvPatchField< Type >::Clone().
|
inlinevirtual |
Clone with an internal field reference.
Reimplemented from nutkWallFunctionFvPatchScalarField.
Definition at line 304 of file atmNutWallFunctionFvPatchScalarField.H.
References fvPatchField< Type >::Clone().
|
virtual |
Map (and resize as needed) from self given a mapping object.
Definition at line 197 of file atmNutWallFunctionFvPatchScalarField.C.
|
virtual |
Reverse map the given fvPatchField onto this fvPatchField.
Definition at line 211 of file atmNutWallFunctionFvPatchScalarField.C.
|
virtual |
Write.
Reimplemented from nutkWallFunctionFvPatchScalarField.
Definition at line 228 of file atmNutWallFunctionFvPatchScalarField.C.
References os(), nutWallFunctionFvPatchScalarField::write(), atmNutWallFunctionFvPatchScalarField::writeLocalEntries(), and fvPatchField< Type >::writeValueEntry().