nutUSpaldingWallFunction boundary condition provides a wall constraint on the turbulent viscosity, i.e. nut, based on velocity, i.e. U for low- and high-Reynolds number turbulence models.nut profile to the wall.nutUSpaldingWallFunction condition inherits the traits of the nutWallFunction boundary condition.Required fields:
nut | Turbulent viscosity [m2/s]
The model expressions:
\[ \nu_t = \max(0, \frac{u_{\tau^*}^2}{|\grad{\u}| + \zeta} -\nu_w) \]
with
\[ y^+ = u^+ + \frac{1}{E} \left[exp(\kappa u^+) - 1 - \kappa u^+\, - 0.5 (\kappa u^+)^2 - \frac{1}{6} (\kappa u^+)^3\right] \]
where
| \( \nu_t \) | = | Turbulent viscosity [m2/s] |
| \( \nu_w \) | = | Kinematic viscosity of fluid near wall [m2/s] |
| \( y^+ \) | = | Estimated wall-normal height of the cell centre in wall units |
| \( u^+ \) | = | Velocity near wall in wall units |
| \( \kappa \) | = | von Kármán constant [-] |
| \( E \) | = | Wall roughness parameter [-] |
| \( C_\mu \) | = | Empirical model constant [-] |
| \( y \) | = | Wall-normal height [m] |
Example of the boundary condition specification:
<patchName>
{
// Mandatory entries (unmodifiable)
type nutUSpaldingWallFunction;
// Optional entries (unmodifiable)
maxIter 10;
tolerance 0.0001;
// Optional (inherited) entries
...
}
where the entries mean:
| Property | Description | Type | Required | Default |
|---|---|---|---|---|
| type | Type name: nutUSpaldingWallFunction | word | yes | - |
| maxIter | Number of Newton-Raphson iterations | label | no | 10 |
| tolerance | Convergence tolerance | scalar | no | 0.0001 |
The inherited entries are elaborated in:
correctNut() (called through turbulence->validate) returns a slightly different value every time it is called. This is since the seed for the Newton-Raphson iteration uses the current value of *this (=nut ).maxIter 100; tolerance 1e-7;
Tutorial
Source code