Public Member Functions | Private Attributes
atmBoundaryLayer Class Reference

This class provides functions to evaluate the velocity and turbulence distributions appropriate for atmospheric boundary layers (ABL). More...

Inheritance diagram for atmBoundaryLayer:
Inheritance graph
[legend]
Collaboration diagram for atmBoundaryLayer:
Collaboration graph
[legend]

Public Member Functions

 atmBoundaryLayer ()
 Construct null. More...
 
 atmBoundaryLayer (const vectorField &p, const dictionary &)
 Construct from the coordinates field and dictionary. More...
 
 atmBoundaryLayer (const atmBoundaryLayer &, const fvPatchFieldMapper &)
 Construct by mapping given. More...
 
 atmBoundaryLayer (const atmBoundaryLayer &)
 Construct as copy. More...
 
const vectorflowDir () const
 Return flow direction. More...
 
const vectorzDir () const
 Return z-direction. More...
 
const scalarFieldUstar () 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 &p) const
 Return the velocity distribution for the ATM. More...
 
tmp< scalarFieldk (const vectorField &p) const
 Return the turbulent kinetic energy distribution for the ATM. More...
 
tmp< scalarFieldepsilon (const vectorField &p) const
 Return the turbulent dissipation rate distribution for the ATM. More...
 
void write (Ostream &) const
 Write. More...
 

Private Attributes

vector flowDir_
 Flow direction. More...
 
vector zDir_
 Direction of the z-coordinate. More...
 
const scalar kappa_
 Von Karman constant. More...
 
const scalar Cmu_
 Turbulent viscosity coefficient. More...
 
const scalar Uref_
 Reference velocity. More...
 
const scalar Zref_
 Reference height. More...
 
scalarField z0_
 Surface roughness height. More...
 
scalarField zGround_
 Minimum coordinate value in z direction. More...
 
scalarField Ustar_
 Friction velocity. More...
 

Detailed Description

This class provides functions to evaluate the velocity and turbulence distributions appropriate for atmospheric boundary layers (ABL).

The profile is derived from the friction velocity, flow direction and "vertical" direction:

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

\[ k = \frac{(U^*)^2}{\sqrt{C_{\mu}}} \]

\[ \epsilon = \frac{(U^*)^3}{\kappa(z - z_g + z_0)} \]

where

$ U^* $ = Friction velocity
$ \kappa $ = von Karman's constant
$ C_{\mu} $ = Turbulence viscosity coefficient
$ z $ = Vertical coordinate
$ z_0 $ = Surface roughness height [m]
$ z_g $ = Minimum z-coordinate [m]

and

\[ U^* = \kappa\frac{U_{ref}}{ln\left(\frac{Z_{ref} + z_0}{z_0}\right)} \]

where

$ U_{ref} $ = Reference velocity at $Z_{ref}$ [m/s]
$ Z_{ref} $ = Reference height [m]

Use in the atmBoundaryLayerInletVelocity, atmBoundaryLayerInletK and atmBoundaryLayerInletEpsilon boundary conditions.

Reference: D.M. Hargreaves and N.G. Wright, "On the use of the k-epsilon model in commercial CFD software to model the neutral atmospheric boundary layer", Journal of Wind Engineering and Industrial Aerodynamics 95(2007), pp 355-369.


Patch usage

Property Description Required Default
flowDir Flow direction yes
zDir Vertical direction yes
kappa von Karman's constant no 0.41
Cmu Turbulence viscosity coefficient no 0.09
Uref Reference velocity [m/s] yes
Zref Reference height [m] yes
z0 Surface roughness height [m] yes
zGround Minimum z-coordinate [m] yes

Example of the boundary condition specification:

    ground
    {
        type            atmBoundaryLayerInletVelocity;
        flowDir         (1 0 0);
        zDir            (0 0 1);
        Uref            10.0;
        Zref            20.0;
        z0              uniform 0.1;
        zGround         uniform 0.0;
    }
Note
D.M. Hargreaves and N.G. Wright recommend Gamma epsilon in the k-epsilon model should be changed from 1.3 to 1.11 for consistency. The roughness height (Er) is given by Er = 20 z0 following the same reference.
Source files

Definition at line 206 of file atmBoundaryLayer.H.

Constructor & Destructor Documentation

◆ atmBoundaryLayer() [1/4]

Construct null.

Definition at line 35 of file atmBoundaryLayer.C.

◆ atmBoundaryLayer() [2/4]

atmBoundaryLayer ( const vectorField p,
const dictionary dict 
)

◆ atmBoundaryLayer() [3/4]

atmBoundaryLayer ( const atmBoundaryLayer ptf,
const fvPatchFieldMapper mapper 
)

Construct by mapping given.

atmBoundaryLayer onto a new patch

Definition at line 77 of file atmBoundaryLayer.C.

◆ atmBoundaryLayer() [4/4]

atmBoundaryLayer ( const atmBoundaryLayer blpvf)

Construct as copy.

Definition at line 94 of file atmBoundaryLayer.C.

Member Function Documentation

◆ flowDir()

const vector& flowDir ( ) const
inline

Return flow direction.

Definition at line 265 of file atmBoundaryLayer.H.

References atmBoundaryLayer::flowDir_.

◆ zDir()

const vector& zDir ( ) const
inline

Return z-direction.

Definition at line 271 of file atmBoundaryLayer.H.

References atmBoundaryLayer::zDir_.

◆ Ustar()

const scalarField& Ustar ( ) const
inline

Return friction velocity.

Definition at line 277 of file atmBoundaryLayer.H.

References atmBoundaryLayer::Ustar_.

◆ autoMap()

void autoMap ( const fvPatchFieldMapper m)

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

Definition at line 110 of file atmBoundaryLayer.C.

References Field::autoMap(), atmBoundaryLayer::Ustar_, atmBoundaryLayer::z0_, and atmBoundaryLayer::zGround_.

Referenced by atmBoundaryLayerInletEpsilonFvPatchScalarField::autoMap(), atmBoundaryLayerInletKFvPatchScalarField::autoMap(), and atmBoundaryLayerInletVelocityFvPatchVectorField::autoMap().

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

◆ rmap()

void rmap ( const atmBoundaryLayer blptf,
const labelList addr 
)

◆ U()

tmp< vectorField > U ( const vectorField p) const

Return the velocity distribution for the ATM.

Definition at line 130 of file atmBoundaryLayer.C.

References atmBoundaryLayer::flowDir_, atmBoundaryLayer::kappa_, Foam::log(), p, atmBoundaryLayer::Ustar_, atmBoundaryLayer::z0_, atmBoundaryLayer::zDir_, and atmBoundaryLayer::zGround_.

Here is the call graph for this function:

◆ k()

tmp< scalarField > k ( const vectorField p) const

Return the turbulent kinetic energy distribution for the ATM.

Definition at line 142 of file atmBoundaryLayer.C.

References atmBoundaryLayer::Cmu_, Foam::sqr(), Foam::sqrt(), and atmBoundaryLayer::Ustar_.

Here is the call graph for this function:

◆ epsilon()

tmp< scalarField > epsilon ( const vectorField p) const

Return the turbulent dissipation rate distribution for the ATM.

Definition at line 148 of file atmBoundaryLayer.C.

References atmBoundaryLayer::kappa_, p, Foam::pow3(), atmBoundaryLayer::Ustar_, atmBoundaryLayer::z0_, atmBoundaryLayer::zDir_, and atmBoundaryLayer::zGround_.

Here is the call graph for this function:

◆ write()

void write ( Ostream os) const

Field Documentation

◆ flowDir_

vector flowDir_
private

◆ zDir_

vector zDir_
private

◆ kappa_

const scalar kappa_
private

◆ Cmu_

const scalar Cmu_
private

Turbulent viscosity coefficient.

Definition at line 220 of file atmBoundaryLayer.H.

Referenced by atmBoundaryLayer::k(), and atmBoundaryLayer::write().

◆ Uref_

const scalar Uref_
private

Reference velocity.

Definition at line 223 of file atmBoundaryLayer.H.

Referenced by atmBoundaryLayer::atmBoundaryLayer(), and atmBoundaryLayer::write().

◆ Zref_

const scalar Zref_
private

Reference height.

Definition at line 226 of file atmBoundaryLayer.H.

Referenced by atmBoundaryLayer::atmBoundaryLayer(), and atmBoundaryLayer::write().

◆ z0_

scalarField z0_
private

◆ zGround_

scalarField zGround_
private

Minimum coordinate value in z direction.

Definition at line 232 of file atmBoundaryLayer.H.

Referenced by atmBoundaryLayer::autoMap(), atmBoundaryLayer::epsilon(), atmBoundaryLayer::rmap(), atmBoundaryLayer::U(), and atmBoundaryLayer::write().

◆ Ustar_

scalarField Ustar_
private

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