Class EquilibriumODEExplicitLawOfTheWall

Inheritance Relationships

Base Type

Class Documentation

class EquilibriumODEExplicitLawOfTheWall : public ExplicitLawOfTheWall

An explicit approximation of the equilibrium ODE wall model.

The equilibrium ODE profile is obtained by integrating

\[ \frac{du^+}{dy^+} = \frac{1}{1 + \kappa y^+ \left(1 - \exp(-y^+/A^+)\right)^2}. \]

Evaluating the corresponding wall stress from a sampled velocity requires an iterative solve. This class replaces that 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 \(\kappa\) and \(A^+\). The approximant entry controls which coefficient set is used:

        auto       Select highRe for kappa=0.387, Aplus=15.2516;
                   select classical for kappa=0.41, Aplus=17;
                   otherwise select global.
        highRe     Fixed three-Gaussian fit for high-Re constants
                   kappa=0.387, Aplus=15.2516. The reported maximum relative
                   error with respect to the original equilibrium ODE model is
                   below 0.04%.
        classical  Fixed three-Gaussian fit for classical constants
                   kappa=0.41, Aplus=17. The reported maximum relative
                   error with respect to the original equilibrium ODE model is
                   below 0.04%.
        global     One-Gaussian regression in kappa and Aplus for other
                   constants. This is the fallback for user-selected constants
                   and is constructed to remain within the 1% relative-error
                   target.

Usage:

    Law
    {
        type        EquilibriumODE;
        kappa      value; (default 0.41)
        Aplus      value; (default 17)
        approximant auto; (default auto; highRe, classical or global)
    }

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

EquilibriumODEExplicitLawOfTheWall(const dictionary&)

Construct provided dictionary.

EquilibriumODEExplicitLawOfTheWall(const word &lawname, const dictionary&)

Construct provided TypeName and dictionary.

EquilibriumODEExplicitLawOfTheWall(const scalar kappa, const scalar Aplus)

Construct from model constants.

EquilibriumODEExplicitLawOfTheWall(const EquilibriumODEExplicitLawOfTheWall&) = default

Copy constructor.

EquilibriumODEExplicitLawOfTheWall &operator=(const EquilibriumODEExplicitLawOfTheWall&) = default

Assignment.

inline virtual autoPtr<ExplicitLawOfTheWall> clone() const override

Clone.

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

Return the kappa constant.

inline scalar Aplus() const

Return the Aplus 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 friction velocity.