Skip to content

ENH: Improve and verify atmBoundaryLayerInlet conditions

Kutalmış Berçin requested to merge feature-atmInletBCs into develop


  • Related to the 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: Generalises Richards-Hoxey expressions. This allows to input experimental profiles or heuristic spatial-variant profiles in a mathematically consistent way.

      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.
  • ENH: Adds new generalised atmBoundaryLayerInletOmega boundary condition by using:

      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.
  • ENH: Adds new verification case tutorials/verificationAndValidation/atmosphericFlows/HargreavesWright_2007 by using:

    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.
    Benchmark data:
      HW, 2007 FIG 6
  • BUG: Fixes value-entry behaviour in atmBoundaryLayerInlet (fixes #1578) (Thanks to @perjorgensen for the bug report).

    • 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.
  • BUG: Ensures atmBoundaryInlet conditions are Galilean-invariant (fixes #1692)

  • DOC: Improves atmBoundaryLayerInlet header documentation

Resolved bugs (If applicable)

#1578 #1692

Details of new models (If applicable)


Ux_upstream Ux_mid Ux_downstream epsilon k


Ux_upstream Ux_mid Ux_downstream k omega



Bitwise regression is preserved.

Changes to user input
  • zGround is silently deprecated, and its functionality is now inherently computed.
  • d is introduced for displacement height.
  • Uref and Zref are noisily deprecated:
    • Uref is renamed as uRef since it refers to a scalar rather than a vector U.
    • Zref is renamed as zRef since it was always a scalar.

Future work

  • These inlet conditions are limited to the surface layer portion of the atmospheric boundary layer:
    • Neutral-stratified
    • Dry-air
    • No Ekman layer
  • These inlet conditions can/should be generalised to stable/unstable stratification as well as into the Ekman layer since neutral conditions are very rare.
  • Spatial variation in input of aerodynamic roughness length, z0, and displacement height, d.
  • Further consistent boundary conditions are required to improve the verification case in terms of nut predictions for
    • Top boundaries
    • Ground boundaries
Edited by Kutalmış Berçin

Merge request reports