Loading...
Searching...
No Matches
atmBoundaryLayerInletEpsilonFvPatchScalarField Class Reference

This boundary condition provides a log-law type ground-normal inlet boundary condition for the turbulent kinetic energy dissipation rate (i.e. epsilon) for homogeneous, two-dimensional, dry-air, equilibrium and neutral atmospheric boundary layer modelling. More...

#include <atmBoundaryLayerInletEpsilonFvPatchScalarField.H>

Inheritance diagram for atmBoundaryLayerInletEpsilonFvPatchScalarField:
Collaboration diagram for atmBoundaryLayerInletEpsilonFvPatchScalarField:

Public Member Functions

 TypeName ("atmBoundaryLayerInletEpsilon")
 Runtime type information.
 atmBoundaryLayerInletEpsilonFvPatchScalarField (const fvPatch &, const DimensionedField< scalar, volMesh > &)
 Construct from patch and internal field.
 atmBoundaryLayerInletEpsilonFvPatchScalarField (const fvPatch &, const DimensionedField< scalar, volMesh > &, const dictionary &)
 Construct from patch, internal field and dictionary.
 atmBoundaryLayerInletEpsilonFvPatchScalarField (const atmBoundaryLayerInletEpsilonFvPatchScalarField &, const fvPatch &, const DimensionedField< scalar, volMesh > &, const fvPatchFieldMapper &)
 Construct by mapping given atmBoundaryLayerInletEpsilonFvPatchScalarField onto a new patch.
 atmBoundaryLayerInletEpsilonFvPatchScalarField (const atmBoundaryLayerInletEpsilonFvPatchScalarField &, const DimensionedField< scalar, volMesh > &)
 Construct as copy setting internal field reference.
virtual tmp< fvPatchField< scalar > > clone () const
 Return a clone.
virtual tmp< fvPatchField< scalar > > clone (const DimensionedField< scalar, volMesh > &iF) const
 Clone with an internal field reference.
virtual void updateCoeffs ()
 Update the coefficients associated with the patch field.
virtual void autoMap (const fvPatchFieldMapper &)
 Map (and resize as needed) from self given a mapping object.
virtual void rmap (const fvPatchScalarField &, const labelList &)
 Reverse map the given fvPatchField onto this fvPatchField.
virtual void write (Ostream &) const
 Write.
Public Member Functions inherited from atmBoundaryLayer
 atmBoundaryLayer (const Time &time, const polyPatch &pp)
 Construct null from time.
 atmBoundaryLayer (const Time &time, const polyPatch &pp, const dictionary &dict)
 Construct from the time database and dictionary.
 atmBoundaryLayer (const atmBoundaryLayer &abl, const fvPatch &patch, const fvPatchFieldMapper &mapper)
 Construct by mapping given atmBoundaryLayer onto a new patch.
 atmBoundaryLayer (const atmBoundaryLayer &)
 Construct as copy.
vector flowDir () const
 Return flow direction.
vector zDir () const
 Return the ground-normal direction.
tmp< scalarFieldUstar (const scalarField &z0) const
 Return friction velocity.
void autoMap (const fvPatchFieldMapper &)
 Map (and resize as needed) from self given a mapping object.
void rmap (const atmBoundaryLayer &, const labelList &)
 Reverse map the given fvPatchField onto this fvPatchField.
tmp< vectorFieldU (const vectorField &pCf) const
 Return the velocity distribution for the ATM.
tmp< scalarFieldk (const vectorField &pCf) const
 Return the turbulent kinetic energy distribution for the ATM.
tmp< scalarFieldepsilon (const vectorField &pCf) const
 Return the turbulent dissipation rate distribution for the ATM.
tmp< scalarFieldomega (const vectorField &pCf) const
 Return the specific dissipation rate distribution for the ATM.
void write (Ostream &) const
 Write.

Additional Inherited Members

Protected Attributes inherited from atmBoundaryLayer
bool initABL_
 Flag to initialise profiles with the theoretical ABL expressions, otherwise initialises by using "value" entry content.

Detailed Description

This boundary condition provides a log-law type ground-normal inlet boundary condition for the turbulent kinetic energy dissipation rate (i.e. epsilon) for homogeneous, two-dimensional, dry-air, equilibrium and neutral atmospheric boundary layer modelling.

The ground-normal epsilon profile expression:

\‍[        \epsilon = \frac{(u^*)^3}{\kappa (z - d + z_0)}
        \sqrt{C_1 \ln \left( \frac{z - d + z_0}{z_0} \right) + C_2}
\‍]

where

$      \epsilon $=Ground-normal TKE dissipation rate profile [m^2/s^3]
$      u^*      $=Friction velocity [m/s]
$      \kappa   $=von Kármán constant [-]
$      z        $=Ground-normal coordinate component [m]
$      z_0      $=Aerodynamic roughness length [m]
$      d        $=Ground-normal displacement height [m]
$      C_1      $=Curve-fitting coefficient for YGCJ profiles [-]
$      C_2      $=Curve-fitting coefficient for YGCJ profiles [-]

Required fields:

        epsilon   | Turbulent kinetic energy dissipation rate   [m2/s3]
Usage
Example of the boundary condition specification:
inlet
{
    // Mandatory entries (unmodifiable)
    type            atmBoundaryLayerInletEpsilon;

    // Mandatory/Optional (inherited) entries (unmodifiable)
    ...
}

where the entries mean:

Property Description Type Reqd Deflt
type Type name: atmBoundaryLayerInletEpsilon word yes -

The inherited entries are elaborated in:

See also
Source files

Definition at line 152 of file atmBoundaryLayerInletEpsilonFvPatchScalarField.H.

Constructor & Destructor Documentation

◆ atmBoundaryLayerInletEpsilonFvPatchScalarField() [1/4]

atmBoundaryLayerInletEpsilonFvPatchScalarField ( const fvPatch & p,
const DimensionedField< scalar, volMesh > & iF )

Construct from patch and internal field.

Definition at line 36 of file atmBoundaryLayerInletEpsilonFvPatchScalarField.C.

References atmBoundaryLayer::atmBoundaryLayer(), and p.

Referenced by atmBoundaryLayerInletEpsilonFvPatchScalarField(), atmBoundaryLayerInletEpsilonFvPatchScalarField(), rmap(), and TypeName().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ atmBoundaryLayerInletEpsilonFvPatchScalarField() [2/4]

atmBoundaryLayerInletEpsilonFvPatchScalarField ( const fvPatch & p,
const DimensionedField< scalar, volMesh > & iF,
const dictionary & dict )

Construct from patch, internal field and dictionary.

Definition at line 48 of file atmBoundaryLayerInletEpsilonFvPatchScalarField.C.

References atmBoundaryLayer::atmBoundaryLayer(), dict, epsilon, atmBoundaryLayer::initABL_, IOobjectOption::MUST_READ, Field< scalar >::operator=(), and p.

Here is the call graph for this function:

◆ atmBoundaryLayerInletEpsilonFvPatchScalarField() [3/4]

atmBoundaryLayerInletEpsilonFvPatchScalarField ( const atmBoundaryLayerInletEpsilonFvPatchScalarField & psf,
const fvPatch & p,
const DimensionedField< scalar, volMesh > & iF,
const fvPatchFieldMapper & mapper )

Construct by mapping given atmBoundaryLayerInletEpsilonFvPatchScalarField onto a new patch.

Definition at line 77 of file atmBoundaryLayerInletEpsilonFvPatchScalarField.C.

References atmBoundaryLayer::atmBoundaryLayer(), atmBoundaryLayerInletEpsilonFvPatchScalarField(), and p.

Here is the call graph for this function:

◆ atmBoundaryLayerInletEpsilonFvPatchScalarField() [4/4]

atmBoundaryLayerInletEpsilonFvPatchScalarField ( const atmBoundaryLayerInletEpsilonFvPatchScalarField & psf,
const DimensionedField< scalar, volMesh > & iF )

Construct as copy setting internal field reference.

Definition at line 91 of file atmBoundaryLayerInletEpsilonFvPatchScalarField.C.

References atmBoundaryLayer::atmBoundaryLayer(), and atmBoundaryLayerInletEpsilonFvPatchScalarField().

Here is the call graph for this function:

Member Function Documentation

◆ TypeName()

TypeName ( "atmBoundaryLayerInletEpsilon" )

Runtime type information.

References atmBoundaryLayerInletEpsilonFvPatchScalarField().

Here is the call graph for this function:

◆ clone() [1/2]

virtual tmp< fvPatchField< scalar > > clone ( ) const
inlinevirtual

Return a clone.

Definition at line 211 of file atmBoundaryLayerInletEpsilonFvPatchScalarField.H.

References fvPatchField< Type >::Clone().

Here is the call graph for this function:

◆ clone() [2/2]

virtual tmp< fvPatchField< scalar > > clone ( const DimensionedField< scalar, volMesh > & iF) const
inlinevirtual

Clone with an internal field reference.

Definition at line 219 of file atmBoundaryLayerInletEpsilonFvPatchScalarField.H.

References fvPatchField< Type >::Clone().

Here is the call graph for this function:

◆ updateCoeffs()

void updateCoeffs ( )
virtual

Update the coefficients associated with the patch field.

Definition at line 105 of file atmBoundaryLayerInletEpsilonFvPatchScalarField.C.

References epsilon.

◆ autoMap()

void autoMap ( const fvPatchFieldMapper & m)
virtual

Map (and resize as needed) from self given a mapping object.

Definition at line 118 of file atmBoundaryLayerInletEpsilonFvPatchScalarField.C.

References atmBoundaryLayer::autoMap().

Here is the call graph for this function:

◆ rmap()

void rmap ( const fvPatchScalarField & psf,
const labelList & addr )
virtual

Reverse map the given fvPatchField onto this fvPatchField.

Definition at line 128 of file atmBoundaryLayerInletEpsilonFvPatchScalarField.C.

References atmBoundaryLayerInletEpsilonFvPatchScalarField(), Foam::refCast(), and atmBoundaryLayer::rmap().

Here is the call graph for this function:

◆ write()

void write ( Ostream & os) const
virtual

Write.

Definition at line 143 of file atmBoundaryLayerInletEpsilonFvPatchScalarField.C.

References os(), atmBoundaryLayer::write(), fvPatchField< Type >::write(), and fvPatchField< Type >::writeValueEntry().

Here is the call graph for this function:

The documentation for this class was generated from the following files: