Class ReichardtExplicitLawOfTheWall

Inheritance Relationships

Base Type

Class Documentation

class ReichardtExplicitLawOfTheWall : public ExplicitLawOfTheWall

An explicit approximation of Reichardt’s law.

\[ u^+ = \frac{1}{\kappa } \ln (1 + \kappa y^+) + C \left( 1 - \exp (-y^+/B_1)- \frac{y^+}{B_1} \exp(-y^+/B_2) \right) \]

Reichardt’s law is explicit in \(u^+(y^+)\) but implicit in the wall stress when the sampled velocity and wall-normal distance are known. This class replaces the resulting nonlinear wall-stress solve by the explicit approximation of Nuca, Mukha, and Parsani. The approximation is constructed by adding a Gaussian perturbation to the explicit law of Cai and Sagaut.

The approximation coefficients depend on the model constants. The approximant entry controls which coefficient set is used:

        auto       Select highRe for kappa=0.387, B1=11, B2=3 and
                   C=6.663;
                   select classical for kappa=0.41, B1=11, B2=3 and C=7.8;
                   otherwise select global.
        highRe     Fixed three-Gaussian fit for the high-Re constants above.
                   The reported maximum relative error with respect to the
                   original Reichardt law is below 0.04%.
        classical  Fixed three-Gaussian fit for the classical constants above.
                   The reported maximum relative error with respect to the
                   original Reichardt law is below 0.04%.
        global     One-Gaussian regression in kappa and C for B1=11, B2=3.
                   This is the fallback for user-selected constants and is
                   constructed to remain within the 1% relative-error target.

Usage:

    Law
    {
        type      Reichardt;
        kappa     value; (default 0.41)
        B1        value; (default 11)
        B2        value; (default 3)
        C         value; (default 7.8)
        approximant auto; (default auto; highRe, classical or global)
    }

Reference for the original law:

        Reichardt, H. (1951).
        Vollstandige Darstellung der turbulenten Geschwindigkeitsverteilung in
        glatten Leitungen.
        Zeitschrift fur Angewandte Mathematik und Mechanik 31(7) (pp. 208-219).

Reference for the explicit approximation:

        Nuca, R., Mukha, T., and Parsani, M. (2025).
        Explicit formulations of widely used wall models for large-eddy
        simulation.
        Physics of Fluids, 37, 035215.
        https://doi.org/10.1063/5.0253882

Contributors/Copyright: 2024-2026 Timofey Mukha

Source files

Public Functions

ReichardtExplicitLawOfTheWall(const dictionary&)

Construct provided dictionary.

ReichardtExplicitLawOfTheWall(const word &lawname, const dictionary&)

Construct provided TypeName and dictionary.

ReichardtExplicitLawOfTheWall(const scalar kappa, const scalar B1, const scalar B2, const scalar C)

Construct from model constants.

ReichardtExplicitLawOfTheWall(const ReichardtExplicitLawOfTheWall&) = default

Copy constructor.

ReichardtExplicitLawOfTheWall &operator=(const ReichardtExplicitLawOfTheWall&) = default

Assignment.

inline virtual autoPtr<ExplicitLawOfTheWall> clone() const override

Clone.

inline virtual ~ReichardtExplicitLawOfTheWall()
inline scalar kappa() const

Return the kappa constant.

inline scalar B1() const

Return the B1 constant.

inline scalar B2() const

Return the B2 constant.

inline scalar C() const

Return the C constant.

inline scalar B() const

Return the equivalent log-law B constant.

inline word approximant() const

Return the selected approximant.

inline scalar p() const

Return the Cai-Sagaut p coefficient.

inline scalar s() const

Return the Cai-Sagaut s coefficient.

virtual void printCoeffs() const override

Print info to terminal.

virtual scalar uTau(const SingleCellSampler &sampler, label index, scalar nu) const override

Return the value of the implicit function defining the law.