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