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