ENH: add generalised 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 ENH: remove `zGround` entry, which is now automatically computed ENH: add `displacement height` entry, `d` ENH: add generalised atmBoundaryLayerInletOmega boundary condition ENH: add a verification case for atmBoundaryLayerInlet BCs DOC: improve atmBoundaryLayerInlet header documentation BUG: fix value-entry behaviour in atmBoundaryLayerInlet (fixes #1578) Without this change: - for serial-parallel computations, if `value` entry is available in an `atmBoundaryLayerInlet` BC, the theoretical ABL profile expressions are not computed, and the `value` entry content is used as a profile data - for parallel computations, if `value` entry is not available, `decomposePar` could not be executed. With this change: - assuming `value` entry is always be present, the use of `value` entry for the ABL profile specification is determined by a flag `initABL` - the default value of the optional flag `initABL` is `true`, but whenever `initABL=true` is executed, `initABL` is overwritten as `false` for the subsequent runs, so that `value` entry can be safely used. Thanks Per Jørgensen for the bug report. BUG: ensure atmBoundaryInlet conditions are Galilean-invariant (fixes #1692) Related references: The ground-normal profile expressions (tag:RH): Richards, P. J., & Hoxey, R. P. (1993). Appropriate boundary conditions for computational wind engineering models using the k-ε turbulence model. In Computational Wind Engineering 1 (pp. 145-153). DOI:10.1016/B978-0-444-81688-7.50018-8 Modifications to preserve the profiles downstream (tag:HW): 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 Expression generalisations to allow height variation for turbulence quantities (tag:YGCJ): Yang, Y., Gu, M., Chen, S., & Jin, X. (2009). New inflow boundary conditions for modelling the neutral equilibrium atmospheric boundary layer in computational wind engineering. J. of Wind Engineering and Industrial Aerodynamics, 97(2), 88-95. DOI:10.1016/j.jweia.2008.12.001 The generalised ground-normal profile expression for omega (tag:YGJ): Yang, Y., Gu, M., & Jin, X., (2009). New inflow boundary conditions for modelling the neutral equilibrium atmospheric boundary layer in SST k-ω model. In: The Seventh Asia-Pacific Conference on Wind Engineering, November 8-12, Taipei, Taiwan. Reproduced benchmark: Rectangular prism shown in FIG 1 of 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 Benchmark data: HW, 2007 FIG 6 TUT: update simpleFoam/turbineSiting tutorial accordingly
118 lines
4.2 KiB
Plaintext
118 lines
4.2 KiB
Plaintext
#------------------------------------------------------------------------------
|
||
|
||
Overview
|
||
|
||
"By setting appropriate profiles for wind velocity and the turbulence
|
||
quantities at the inlet, it is often assumed that the boundary layer will
|
||
be maintained up to the buildings or obstructions in the flow." (HW:p. 355).
|
||
However, it was quantified by (HW:p. 355) that "even in the absence of
|
||
obstructions, ..., the velocity and turbulence profiles decay along the
|
||
fetch" (HW:p. 355). It was shown by (HW:p. 355) that a set of modifications
|
||
were required to maintain a neutral atmospheric boundary layer throughout
|
||
an empty and long computational domain of a RANS computation.
|
||
|
||
Aim:
|
||
|
||
Verification of the following boundary conditions in terms of the
|
||
maintenance of inlet quantities downstream within a RANS computation:
|
||
|
||
- atmBoundaryLayerInletVelocity
|
||
- atmBoundaryLayerInletK
|
||
- atmBoundaryLayerInletEpsilon
|
||
- atmBoundaryLayerInletOmega
|
||
|
||
Benchmark (Physical phenomenon):
|
||
|
||
The benchmark is an empty fetch computational domain, steady-state
|
||
RANS simulation involving the following traits:
|
||
|
||
- External flow
|
||
- The surface layer portion of the neutral-stratified equilibrium
|
||
atmospheric boundary layer (no Ekman layer)
|
||
- Dry air
|
||
- Homogeneous, smooth terrain
|
||
- Spatiotemporal-invariant aerodynamic roughness length
|
||
- No displacement height
|
||
- Newtonian, single-phase, incompressible, non-reacting
|
||
|
||
Benchmark scenario:
|
||
|
||
- Computational domain: (HW:Fig. 1)
|
||
- Benchmark dataset: (HW:Fig. 6) (Obtained by the WebPlotDigitizer-4.2
|
||
(Rohatgi, 2019))
|
||
|
||
Resources:
|
||
|
||
Computational study (tag:HW):
|
||
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
|
||
|
||
Wind profile (tag:RQP):
|
||
Richards, P. J., Quinn, A. D., & Parker, S. (2002).
|
||
A 6 m cube in an atmospheric boundary layer flow-Part 2.
|
||
Computational solutions. Wind and structures, 5(2_3_4), 177-192.
|
||
DOI:10.12989/was.2002.5.2_3_4.177
|
||
|
||
Physical modelling:
|
||
|
||
- The governing equations for:
|
||
- Steady-state, Newtonian, single-phase, incompressible fluid flows,
|
||
excluding any thermal chemical, electromagnetic and scalar
|
||
interactions
|
||
- Mathematical approach for the turbulence modelling:
|
||
- Reynolds-averaged Navier-Stokes simulation (RANS)
|
||
- Turbulence closure model:
|
||
- kEpsilon and kOmegaSST linear eddy viscosity closure models
|
||
- The sets of input (HW:Table 1):
|
||
- Reference height, Zref = 6 [m]
|
||
- Aerodynamic roughness height, z0 = 0.01 [m]
|
||
- Displacement height, d = 0 [m]
|
||
- Reference mean wind speed, Uref = 10 [m/s]
|
||
|
||
Computational domain modelling:
|
||
|
||
- Rectangular prism
|
||
- (x1, x2, x3)
|
||
= (5000, 100, 500) [m]
|
||
= (streamwise, spanwise, ground-normal) directions
|
||
|
||
Computational domain discretisation:
|
||
|
||
- Spatial resolution:
|
||
- (x1, x2, x3) = (500, 5, 50) [cells]
|
||
- Refer to the `system/blockMeshDict` for the grading details
|
||
- Temporal resolution: Steady state
|
||
|
||
Equation discretisation:
|
||
|
||
- Spatial derivatives and variables:
|
||
- Convection: Second order
|
||
- Others: Second order with various limiters
|
||
|
||
- Temporal derivatives and variables: First order
|
||
|
||
Numerical boundary/initial conditions:
|
||
|
||
- Refer to `0.orig`
|
||
|
||
Pressure-velocity coupling algorithm:
|
||
|
||
- SIMPLEC
|
||
|
||
Linear solvers:
|
||
|
||
- Refer to `system/fvSolution`
|
||
|
||
Initialisation and sampling:
|
||
|
||
- No initialisation/averaging
|
||
- Sampling at the end of the simulation via `system/sampleDict`
|
||
- Refer to `system/controlDict` for further details
|
||
|
||
|
||
#------------------------------------------------------------------------------
|