atmNutWallFunction
boundary condition provides a wall constraint on the turbulent viscosity, i.e. nut
, based on the turbulent kinetic energy, i.e. k
, and velocity, i.e. U
, for atmospheric boundary layer modelling.atmNutWallFunction
condition inherits the traits of the nutkWallFunction
boundary condition.Required fields:
nut | Turbulent viscosity [m2/s] k | Turbulent kinetic energy [m2/s2]
The boundary condition expression is (([63], Eq. 6-7), ([71], Eq. 7), ([80], Eq. 25)):
\[ \nu_{t_w} = max(\nu_{t_w}^\prime, 0) \]
with
\[ \nu_{t_w}^\prime = \frac{ \tau_w y}{max( u_p, \zeta )} - \nu_w \]
\[ \tau_w = {u^*_{u_p}} {u^*_k} \]
\[ u^*_{u_p} = \frac{\kappa u_p }{\ln \left( max (E^\prime, 1 + \zeta) \right)} \]
\[ E^\prime = \frac{y + z_0}{z_0 + z_{0_{min}} } \]
\[ u^*_k = C_{\mu}^{1/4} \sqrt{k} \]
where
\( \tau_w \) | = | Characteristic wall shear stress [m2/s2] |
\( u^*_{u_p} \) | = | Local friction velocity based on near-ground velocity [m/s] |
\( u^*_k \) | = | Local friction velocity based on near-ground k [m/s] |
\( \kappa \) | = | von Kármán constant [-] |
\( u_p \) | = | Magnitude of near-ground velocity field [m/s] |
\( y \) | = | Ground-normal coordinate [m] |
\( z_0 \) | = | Surface roughness length [m] |
\( z_{0_{min}} \) | = | Minimum surface roughness length [m] |
\( C_\mu \) | = | Empirical model constant [-] |
\( k \) | = | Turbulent kinetic energy [m2/s2] |
\( \zeta \) | = | Small value to prevent floating point exceptions [-] |
Example of the boundary condition specification:
<patchName> { // Mandatory entries (unmodifiable) type atmNutWallFunction; z0Min 0.001; // Mandatory entries (runtime modifiable) z0 uniform 0.001; // Optional (inherited) entries kappa 0.41; }
where the entries mean:
Property | Description | Type | Required | Default |
---|---|---|---|---|
type | Type name: atmNutWallFunction | word | yes | - |
z0 | Surface roughness length [m] | PatchFunction1<scalar> | yes | - |
z0Min | Minimum surface roughness length [m] | scalar | yes | - |
kappa | von Kármán constant | scalar | no | 0.41 |
The inherited entries are elaborated in:
Source code
History