nutkRoughWallFunction
boundary condition provides a wall constraint on the turbulent viscosity, i.e. nut
, when using wall functions for rough walls, based on the turbulent kinetic energy, i.e. k
. The condition manipulates the wall roughness parameter, i.e. E
, to account for roughness effects.nutkRoughWallFunction
condition inherits the traits of the nutkWallFunction boundary condition.Parameter ranges:
- Roughness height = sand-grain roughness (0 for smooth walls) - Roughness constant = 0.5-1.0
Required fields:
nut | Turbulent viscosity [m2/s]
The model expressions:
\[ \nu_{t_w} = \max \left( \min \left(\nu_w \frac{y^+ \kappa}{\ln (\max (E^\prime y^+, 1 + 10^{-4})) - 1}, 2\nu_{t_{lim}} \right), 0.5 \nu_{t_{lim}} \right) \]
with
\[ \nu_{t_{lim}} = \max \left( \nu_{t_w}, \nu_w \right) \]
\[ E^\prime = E \qquad if \quad K_s^+ <= 2.25 \]
\[ E^\prime = \frac{E}{f_n} \qquad if \quad K_s^+ > 2.25 \]
\[ K_s^+ = \frac{u^* K_s}{\nu_w} \]
\[ y^+ = \frac{u^* y}{\nu_w} \]
\[ u^* = C_\mu^{1/4} \sqrt{k} \]
\[ f_n = 1 + C_s K_s^+ \qquad if \quad K_s^+ >= 90 \]
\[ f_n = \left(\frac{K_s^+ - 2.25}{87.75} + C_s K_s^+ \right)^{sin(0.4258 (\ln (K_s^+)) - 0.811)} \qquad if \quad K_s^+ < 90 \]
where
\( k \) | = | Turbulent kinetic energy [m2/s2] |
\( y \) | = | Wall-normal height [m] |
\( y^+ \) | = | Estimated wall-normal height of the cell centre in wall units |
\( C_\mu \) | = | Empirical model constant [-] |
\( \nu_w \) | = | Kinematic viscosity of fluid near wall [m2/s] |
\( \nu_{t_w} \) | = | Turbulent viscosity near wall [m2/s] |
\( \nu_{t_{lim}} \) | = | Limited kinematic viscosity near wall [m2/s] |
\( \kappa \) | = | von Kármán constant [-] |
\( E \) | = | Wall roughness parameter [-] |
\( E^\prime \) | = | Modified wall roughness parameter [-] |
\( K_s \) | = | Sand-grain roughness height |
\( K_s^+ \) | = | Sand-grain roughness height in wall units |
\( f_n \) | = | Roughness function parameter |
\( C_s \) | = | Roughness constant [-] |
\( u^* \) | = | Shear velocity [m/s] |
Example of the boundary condition specification:
<patchName> { // Mandatory entries (unmodifiable) type nutkRoughWallFunction; Ks uniform 0; Cs uniform 0.5; // Optional (inherited) entries ... }
where the entries mean:
Property | Description | Type | Required | Default |
---|---|---|---|---|
type | Type name: nutkRoughWallFunction | word | yes | - |
Ks | Sand-grain roughness height | scalarField | yes | - |
Cs | Roughness constant | scalarField | yes | - |
The inherited entries are elaborated in:
Tutorial
Source code