ENH: New wall-function blending approaches

Merged Kutalmış Berçin requested to merge feature-wall-functions into develop


This merge request is a discussion placeholder for two topics:

  • Potential improvements to the wall-function hierarchies
  • Wall-function blending treatments between viscous and inertial sublayers
Wall-function hierarchy

Arguably, the wall-function hierarchies need a reexamination as the relations have "grown organically" in the course of time. One recent problem is that {omega,epsilon,k}Wall functions use data members from nutWallFunction base class even though the former group is not derived from the latter.

One practical consequence is that {omega,epsilon,k}Wall always require a nut wall function is defined in the nut dictionary, otherwise simulation in question noisily fails without informing the user with useful information, e.g. CFD-Online:Error with k-omega SST and simpleFoam (21-Feb-20), and the bug-fix:55776069.

Wall-blending treatments
  • Four wall-function blending treatments were introduced:

    • MAX
  • .. For the following wall functions:

    • epsilonWallFunction
    • omegaWallFunction
    • nut{k,U}WallFunction
  • The header-file documentations were improved for the following wall functions for which the blending treatments were not applicable (e.g. due to the continuous treatment in nutUSpaldingWallFunction):

    • nutU{Spalding,Tabulated,Blended}WallFunction
    • nut{k,U}RoughWallFunction
    • nutLowReWallFunction
    • {kLowRe,kqR}WallFunction
  • Based on:

    • Viegas and Rubesin (1983); Viegas et al. (1985) (i.e. the option: STEPWISE)
    • Menter and Esch (2001) (i.e. the option: BINOMIAL)
    • Popovac and Hanjalić (2007) (i.e. the options: MAX, EXPONENTIAL)
    • Knopp et al. (2006) (i.e. the option: TANH only for omega)

Resolved bugs



High risk, yet bitwise backward compatibility, and regression were verified for each modified functionality.

@mark @Sergio @Mattijs

Edited by Kutalmış Berçin

Merge request reports