Class EquilibriumODEExplicitLawOfTheWall
Defined in File EquilibriumODEExplicitLawOfTheWall.H
Inheritance Relationships
Base Type
public ExplicitLawOfTheWall(Class ExplicitLawOfTheWall)
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
approximantentry 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
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.
-
EquilibriumODEExplicitLawOfTheWall(const dictionary&)