OpenFOAM® v2006: New boundary conditions

30/06/2020

New tools for atmospheric boundary layer modelling

OpenFOAM v2006 includes the first release of a major new suite of tools that target atmospheric boundary layer modelling. These were developed via a collaboration between ESI-OpenCFD Ltd., ENERCON GmbH, and CENER.

The improvements comprise comprehensive modelling of surface and Ekman atmosphere layers under (slightly/very) stable/unstable/neutral atmospheric stability conditions over spatiotemporal-variant terrain, e.g. partially forestry plain.

The code is under active development, and further extensions are expected to be released in the near future.

New boundary conditions

Eight new boundary conditions on various flow quantities have been introduced for atmospheric boundary layer modelling (six of them are wall constraints):

Source code
$FOAM_SRC/atmosphericModels/derivedFvPatchFields/wallFunctions/atmAlphatkWallFunction$FOAM_SRC/atmosphericModels/derivedFvPatchFields/wallFunctions/atmEpsilonWallFunction
$FOAM_SRC/atmosphericModels/derivedFvPatchFields/wallFunctions/atmNutUWallFunction$FOAM_SRC/atmosphericModels/derivedFvPatchFields/wallFunctions/atmNutWallFunction
$FOAM_SRC/atmosphericModels/derivedFvPatchFields/wallFunctions/atmNutkWallFunction$FOAM_SRC/atmosphericModels/derivedFvPatchFields/wallFunctions/atmOmegaWallFunction
$FOAM_SRC/atmosphericModels/derivedFvPatchFields/atmTurbulentHeatFluxTemperature$FOAM_SRC/atmosphericModels/derivedFvPatchFields/atmBoundaryLayerInletOmega
Tutorial
$FOAM_TUTORIALS/verificationAndValidation/atmosphericModels/atmForestStability$FOAM_TUTORIALS/verificationAndValidation/atmosphericModels/atmFlatTerrain $FOAM_TUTORIALS/verificationAndValidation/atmosphericModels/HargreavesWright_2007 Improved boundary conditions The atmBoundaryLayer boundary conditions provide log-law type ground-normal inlet boundary conditions for wind velocity and turbulence quantities for homogeneous, two-dimensional, dry-air, equilibrium and neutral atmospheric boundary layer (ABL) modelling. The pre-v2006 implementation of atmBoundaryLayer boundary conditions was based on Richards and Hoxey, 1993 where the turbulent kinetic energy is constant with height. The new implementation for atmBoundaryLayer conditions (based on Yang et al., 2009) generalises the expressions due to Richards and Hoxey, 1993, so that experimental or heuristic spatial-variant profiles for turbulence quantities can be input in a mathematically consistent way. One practical benefit is that this allows the turbulent kinetic energy ground-normal profile varying as a function of height. To this end, two new optional curve-fitting coefficients, i.e. C1 and C2, which can be determined by nonlinear fitting with the experimental data for the turbulent kinetic energy (as shown in Yang et al., 2009, Eqs. 19-20), are introduced. inlet { type atmBoundaryLayerInlet{Epsilon,K,Omega,Velocity}; ... C1 0.0; C2 1.0; } Source code$FOAM_SRC/atmosphericModels/derivedFvPatchFields/atmBoundaryLayer/atmBoundaryLayer.H
$FOAM_SRC/atmosphericModels/derivedFvPatchFields/atmBoundaryLayer/atmBoundaryLayerInletEpsilon.H$FOAM_SRC/atmosphericModels/derivedFvPatchFields/atmBoundaryLayer/atmBoundaryLayerInletK.H
$FOAM_SRC/atmosphericModels/derivedFvPatchFields/atmBoundaryLayer/atmBoundaryLayerInletVelocity.H Tutorial$FOAM_TUTORIALS/verificationAndValidation/atmosphericModels/HargreavesWright_2007
Extended code guide
atmBoundaryLayer
atmBoundaryLayerInletEpsilon
atmBoundaryLayerInletK
atmBoundaryLayerInletVelocity

New and improved fvOptions

Eight new fvOptions have been introduced, and one fvOptions has been improved for atmospheric boundary layer modelling:

Source code
$FOAM_SRC/atmosphericModels/fvOptions/atmAmbientTurbSource$FOAM_SRC/atmosphericModels/fvOptions/atmBuoyancyTurbSource
$FOAM_SRC/atmosphericModels/fvOptions/atmCoriolisUSource$FOAM_SRC/atmosphericModels/fvOptions/atmLengthScaleTurbSource
$FOAM_SRC/atmosphericModels/fvOptions/atmNutSource$FOAM_SRC/atmosphericModels/fvOptions/atmPlantCanopyTSource
$FOAM_SRC/atmosphericModels/fvOptions/atmPlantCanopyTurbSource$FOAM_SRC/atmosphericModels/fvOptions/atmPlantCanopyUSource
$FOAM_SRC/fvOptions/sources/derived/actuationDiskSource Tutorial$FOAM_TUTORIALS/verificationAndValidation/atmosphericModels/atmForestStability
$FOAM_TUTORIALS/verificationAndValidation/atmosphericModels/atmFlatTerrain$FOAM_TUTORIALS/incompressible/simpleFoam/turbineSiting

New verification tutorials

Three new verification tutorials have been introduced for atmospheric boundary layer modelling.

These assess the performance of log-law-type ground-normal inflow boundary conditions for wind velocity and turbulence quantities for homogeneous, two-dimensional, dry-air, equilibrium and neutral atmospheric boundary layer (ABL) modelling.

The first verification case is the well-known empty-fetch case detailed by Hargreaves-Wright, 2007 where the preservation of the atmospheric inlet profiles of velocity and turbulence quantities downstream was illustrated for homogeneous, two-dimensional, dry-air, equilibrium and neutral atmospheric boundary layer over flat terrain:

Fig. 1:
Hargreaves, D. M., & Wright, N. G. (2007).
On the use of the k model in commercial CFD software
to model the neutral atmospheric boundary layer.
Journal of wind engineering and
industrial aerodynamics, 95(5), 355-369.
DOI:10.1016/j.jweia.2006.08.002

Tutorials
$FOAM_TUTORIALS/verificationAndValidation/atmosphericModels/HargreavesWright_2007$FOAM_TUTORIALS/resources/dataset/atm-HargreavesWright-2007

The second verification case is another well-known field experiment from Leipzig, Germany via Lettau, 1950 wherein buoyancy, Coriolis and simple plantation effects on ground-normal velocity profiles were shown:

Lettau, H. (1950).
A re-examination of the "Leipzig wind profile" considering some
relations between wind and turbulence in the frictional layer.
Tellus, 2(2), 125-129.
DOI:10.3402/tellusa.v2i2.8534

Fig. 4.1:
Koblitz, T. (2013).
CFD Modeling of Non-Neutral Atmospheric Boundary Layer Conditions.
DTU Wind Energy. DTU Wind Energy PhD, No. 0019(EN).

Tutorials
$FOAM_TUTORIALS/verificationAndValidation/atmosphericFlows/atmFlatTerrain$FOAM_TUTORIALS/resources/dataset/atm-Koblitz-2013

The final verification case is based on a more recent field experiment conducted over a complex forested landscape at Ryningsnas in Sweden Arnqvist et al., 2015 to test the new capabilities for atmospheric stability modelling:

Datasets:
Arnqvist, J., Segalini, A., Dellwik, E., & Bergstrm, H. (2015).
Wind statistics from a forested landscape.
Boundary-Layer Meteorology, 156(1), 53-71.
DOI:10.1007/s10546-015-0016-x

k-epsilon

k-omega-sst

Tutorials
$FOAM_TUTORIALS/verificationAndValidation/atmosphericFlows/atmForestStability$FOAM_TUTORIALS/resources/dataset/atm-Arnqvist-2015

OpenCFD would like to thank Hamza Musaddiq, Michael Alletto, and Judith Langner (ENERCON Gmbh), and Roberto Chavez (CENER) for the initial implementations of various functionalities, many useful discussions, and helpful suggestions.

New wall-blending for low- and high-Reynolds number flows

Appropriate use of wall functions requires that the first wall-normal grid height is compatible with the model’s derivation and assumptions. However, the task is often time-consuming and fragile since the local Reynolds number is spatiotemporal variant and unknown prior to the computation, and controlling the mesh near a wall boundary of a complex geometry is not trivial.

To alleviate these difficulties this version introduces new wall-function blending methods to smoothly or intentionally discontinuously blend contributions from each wall layer, so that a wall function can be confidently and automatically used irrespective where the first wall-normal grid resides.

The new wall-function blending options are:

 Blending description stepwise Stepwise switch (discontinuous) max Maximum value switch (discontinuous) binomial Binomial blending (smooth) exponential Exponential blending (smooth) tanh Tanh blending (smooth)

for the following wall functions: