atmBoundaryLayerInletVelocityFvPatchVectorField Class Reference

This boundary condition provides a log-law type ground-normal inlet boundary condition for the streamwise component of wind velocity (i.e. u) for homogeneous, two-dimensional, dry-air, equilibrium and neutral atmospheric boundary layer modelling. More...

Inheritance diagram for atmBoundaryLayerInletVelocityFvPatchVectorField:
[legend]
Collaboration diagram for atmBoundaryLayerInletVelocityFvPatchVectorField:
[legend]

Public Member Functions

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

Additional Inherited Members

- Protected Attributes inherited from atmBoundaryLayer
bool initABL_
 

Detailed Description

This boundary condition provides a log-law type ground-normal inlet boundary condition for the streamwise component of wind velocity (i.e. u) for homogeneous, two-dimensional, dry-air, equilibrium and neutral atmospheric boundary layer modelling.

The ground-normal streamwise flow speed profile expression:

\[ u = \frac{u^*}{\kappa} \ln \left( \frac{z - d + z_0}{z_0} \right) \]

\[ v = w = 0 \]

where

\( u \) = Ground-normal streamwise flow speed profile [m/s]
\( v \) = Spanwise flow speed [m/s]
\( w \) = Ground-normal flow speed [m/s]
\( u^* \) = Friction velocity [m/s]
\( \kappa \) = von Kármán constant [-]
\( z \) = Ground-normal coordinate component [m]
\( d \) = Ground-normal displacement height [m]
\( z_0 \) = Aerodynamic roughness length [m]

Required fields:

        U   | Velocity                                          [m/s]
Usage
Example of the boundary condition specification:
inlet
{
    // Mandatory entries (unmodifiable)
    type            atmBoundaryLayerInletVelocity;

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

where the entries mean:

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

The inherited entries are elaborated in:

See also
Source files

Definition at line 159 of file atmBoundaryLayerInletVelocityFvPatchVectorField.H.

Constructor & Destructor Documentation

◆ atmBoundaryLayerInletVelocityFvPatchVectorField() [1/4]

Construct from patch and internal field.

Definition at line 42 of file atmBoundaryLayerInletVelocityFvPatchVectorField.C.

◆ atmBoundaryLayerInletVelocityFvPatchVectorField() [2/4]

Construct from patch, internal field and dictionary.

Definition at line 54 of file atmBoundaryLayerInletVelocityFvPatchVectorField.C.

References dict, dictionary::getOrDefault(), atmBoundaryLayer::initABL_, Field< vector >::operator=(), p, UList< T >::size(), U, and Foam::Zero.

Here is the call graph for this function:

◆ atmBoundaryLayerInletVelocityFvPatchVectorField() [3/4]

◆ atmBoundaryLayerInletVelocityFvPatchVectorField() [4/4]

Construct as copy setting internal field reference.

Definition at line 97 of file atmBoundaryLayerInletVelocityFvPatchVectorField.C.

Member Function Documentation

◆ TypeName()

TypeName ( "atmBoundaryLayerInletVelocity"  )

Runtime type information.

◆ clone() [1/2]

virtual tmp< fvPatchVectorField > clone ( ) const
inlinevirtual

Construct and return a clone.

Definition at line 199 of file atmBoundaryLayerInletVelocityFvPatchVectorField.H.

◆ clone() [2/2]

virtual tmp< fvPatchVectorField > clone ( const DimensionedField< vector, volMesh > &  iF) const
inlinevirtual

Construct and return a clone setting internal field reference.

Definition at line 215 of file atmBoundaryLayerInletVelocityFvPatchVectorField.H.

◆ updateCoeffs()

void updateCoeffs ( )
virtual

Update the coefficients associated with the patch field.

Definition at line 111 of file atmBoundaryLayerInletVelocityFvPatchVectorField.C.

References U.

◆ autoMap()

void autoMap ( const fvPatchFieldMapper m)
virtual

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

Definition at line 124 of file atmBoundaryLayerInletVelocityFvPatchVectorField.C.

References atmBoundaryLayer::autoMap().

Here is the call graph for this function:

◆ rmap()

void rmap ( const fvPatchVectorField pvf,
const labelList addr 
)
virtual

Reverse map the given fvPatchField onto this fvPatchField.

Definition at line 134 of file atmBoundaryLayerInletVelocityFvPatchVectorField.C.

References atmBoundaryLayer::rmap().

Here is the call graph for this function:

◆ write()

void write ( Ostream os) const
virtual

Write.

Definition at line 149 of file atmBoundaryLayerInletVelocityFvPatchVectorField.C.

References os(), ObukhovLength::write(), and Ostream::writeEntryIfDifferent().

Here is the call graph for this function:

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