Class SpaldingExplicitLawOfTheWall
Defined in File SpaldingExplicitLawOfTheWall.H
Inheritance Relationships
Base Type
public ExplicitLawOfTheWall(Class ExplicitLawOfTheWall)
Class Documentation
-
class SpaldingExplicitLawOfTheWall : public ExplicitLawOfTheWall
An explicit approximation of Spalding’s law.
\[ y^+ = u^+ + \exp(-\kappa B) \left( \exp (\kappa B) - 1 - \kappa u^+ - \frac{1}{2}(\kappa u^+)^2 - \frac{1}{6}(\kappa u^+)^3 \right) \]Spalding’s law is implicit in the wall stress. In a wall model this means that every wall face requires an iterative solve for \(u_\tau\) at every update. This class replaces that nonlinear 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, which makes the wall-stress evaluation algebraic while retaining the accuracy of the original implicit Spalding relation.
The approximation coefficients depend on the logarithmic-law constants. The
approximantentry controls which coefficient set is used:auto Select highRe for kappa=0.387, B=4.21; select classical for kappa=0.4, B=5.5; otherwise select global. highRe Fixed three-Gaussian fit for high-Re constants kappa=0.387, B=4.21. The reported maximum relative error with respect to the original Spalding law is below 0.04%. classical Fixed three-Gaussian fit for classical constants kappa=0.4, B=5.5. The reported maximum relative error with respect to the original Spalding law is below 0.04%. global One-Gaussian regression in kappa and B for other constants. This is the fallback for user-selected constants and is constructed to remain within the 1% relative-error target.
The errors above are relative to the wall stress obtained from the original implicit Spalding relation solved iteratively.
Usage:
Law { type Spalding; kappa value; (default 0.4) B value; (default 5.5) approximant auto; (default auto; highRe, classical or global) }
Reference for the original law:
Spalding, D. B. (1961). A single formula for the 'law of the wall'. Journal of Applied Mechanics, 28(3), 455-458.
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
-
SpaldingExplicitLawOfTheWall(const dictionary&)
Construct provided dictionary.
-
SpaldingExplicitLawOfTheWall(const word &lawname, const dictionary&)
Construct provided TypeName and dictionary.
-
SpaldingExplicitLawOfTheWall(const scalar kappa, const scalar B)
Construct from model constants.
-
SpaldingExplicitLawOfTheWall(const SpaldingExplicitLawOfTheWall&) = default
Copy constructor.
-
SpaldingExplicitLawOfTheWall &operator=(const SpaldingExplicitLawOfTheWall&) = default
Assignment.
-
inline virtual autoPtr<ExplicitLawOfTheWall> clone() const override
Clone.
-
inline virtual ~SpaldingExplicitLawOfTheWall()
-
inline scalar kappa() const
Return the kappa constant.
-
inline scalar B() const
Return the 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.
-
SpaldingExplicitLawOfTheWall(const dictionary&)