atmNutkWallFunction boundary condition provides a wall constraint on the turbulent viscosity, i.e. nut, based on the turbulent kinetic energy, i.e. k, for atmospheric boundary layer modelling.atmNutkWallFunction 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 (based on ([24], Eq. 5)):
\[ \nu_{t_w} = \nu_w \left( \frac{y^+ \kappa}{\ln \left( max (E^\prime, 1 + 10^{-4}) \right) } - 1 \right) \]
with
\[ u^* = C_\mu^{1/4} \sqrt{k} \]
\[ y^+ = \frac{u^* y}{\nu_w} \]
\[ E^\prime = \frac{y + z_0}{z_0} \]
where
| \( \nu_{t_w} \) | = | Turbulent viscosity [m2/s] |
| \( \nu_w \) | = | Kinematic viscosity of fluid near wall [m2/s] |
| \( y^+ \) | = | Wall-normal distance in wall units [-] |
| \( \kappa \) | = | von Kármán constant [-] |
| \( u^* \) | = | Friction velocity [m/s] |
| \( C_\mu \) | = | Empirical model constant [-] |
| \( k \) | = | Turbulent kinetic energy [m2/s2] |
| \( z_0 \) | = | Surface roughness length [m] |
Example of the boundary condition specification:
<patchName>
{
// Mandatory entries (unmodifiable)
type atmNutkWallFunction;
// Mandatory entries (runtime modifiable)
z0 uniform 0.001;
// Optional entries (unmodifiable)
boundNut false;
// Optional (inherited) entries
Cmu 0.09;
kappa 0.41;
}
where the entries mean:
| Property | Description | Type | Required | Default |
|---|---|---|---|---|
| type | Type name: atmNutkWallFunction | word | yes | - |
| z0 | Surface roughness length [m] | PatchFunction1<scalar> | yes | - |
| boundNut | Flag: zero-bound nut near wall | bool | no | false |
| Cmu | Empirical model constant | scalar | no | 0.09 |
| kappa | von Kármán constant | scalar | no | 0.41 |
The inherited entries are elaborated in:
Tutorial:
Source code
History