nutURoughWallFunction 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 for rough walls.nutURoughWallFunction condition inherits the traits of the nutWallFunction boundary condition.Required fields:
nut | Turbulent viscosity [m2/s]
The model expressions:
\[ \nu_t = 0 \qquad if \quad y^+ <= y^+_{lam} \]
\[ \nu_t = \nu_w \left( \frac{(y^+)^2}{Re} -1 \right) \qquad if \quad y^+ > y^+_{lam} \]
with
\[ Re = \frac{u_p y}{\nu_w} + \zeta \]
where
| \( \nu_t \) | = | Turbulent viscosity [m2/s] |
| \( Re \) | = | Reynolds number [-] |
| \( \nu_w \) | = | Kinematic viscosity of fluid near wall [m2/s] |
| \( y^+ \) | = | Estimated wall-normal height of the cell centre in wall units |
| \( \zeta \) | = | Small value to prevent floating point exceptions |
Example of the boundary condition specification:
<patchName>
{
// Mandatory entries (unmodifiable)
type nutURoughWallFunction;
roughnessHeight 1e-5;
roughnessConstant 0.5;
roughnessFactor 1;
// Optional entries (unmodifiable)
maxIter 10;
tolerance 0.0001;
// Optional (inherited) entries
...
}
where the entries mean:
| Property | Description | Type | Required | Default |
|---|---|---|---|---|
| type | Type name: nutURoughWallFunction | word | yes | - |
| roughnessHeight | Roughness height | scalar | yes | - |
| roughnessConstant | Roughness constant | scalar | yes | - |
| roughnessFactor | Scaling factor | scalar | 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. See nutUSpaldingWallFunction.Foam::nutURoughWallFunctionFvPatchScalarField::calcYPlus function for the details on how \(y^+\) is computed.Source code