OpenFOAM® v2006: New boundary conditions
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):
- Kinematic turbulent thermal conductivity, alphat: atmAlphatkWallFunction
- Turbulent kinetic energy dissipation rate, epsilon: atmEpsilonWallFunction
- Turbulent viscosity, nut, based on velocity, U: atmNutUWallFunction
- Turbulent viscosity, nut, based on turbulent kinetic energy, k, and velocity, U: atmNutWallFunction
- Turbulent viscosity, nut, based on turbulent kinetic energy, k: atmNutkWallFunction
- Specific dissipation rate, quoteTextomega: atmOmegaWallFunction
- Temperature, T, with heat flux, q: atmTurbulentHeatFluxTemperature
- Inlet condition for specific dissipation rate, omega: atmBoundaryLayerInletOmega
- 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.
{
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:
- atmAmbientTurbSource
- atmBuoyancyTurbSource
- atmCoriolisUSource
- atmLengthScaleTurbSource
- atmNutSource
- atmPlantCanopyTSource
- atmPlantCanopyTurbSource
- atmPlantCanopyUSource
- actuationDiskSource
- 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:
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:
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:
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
- Attribution
- 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:
- Attribution
- OpenCFD would like to thank Mirza Popovac (Austrian Institute of Technology) for the useful discussions, and his suggestions.