Go to the documentation of this file.
59 template<
class LimiterFunc>
72 const scalar cdWeight,
73 const scalar faceFlux,
74 const typename LimiterFunc::phiType& phiP,
75 const typename LimiterFunc::phiType& phiN,
76 const typename LimiterFunc::gradPhiType& gradcP,
77 const typename LimiterFunc::gradPhiType& gradcN,
81 vector gradfV = phiN - phiP;
83 scalar phiCD = gradfV & (cdWeight*phiP + (1 - cdWeight)*phiN);
90 phif = 0.5*(phiCD + phiU + (1 - cdWeight)*(gradfV & (d & gradcP)));
95 phif = 0.5*(phiCD + phiU - cdWeight*(gradfV & (d & gradcN)));
99 scalar QLimiter = (phif - phiU)/
stabilise(phiCD - phiU, SMALL);
102 return max(
min(QLimiter, 2), 0);
Class with limiter function which returns the limiter for the quadratic-upwind differencing scheme.
label min(const labelHashSet &set, label minValue=labelMax)
Find the min value in labelHashSet, optionally limited by second argument.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
tmp< DimensionedField< scalar, GeoMesh > > stabilise(const DimensionedField< scalar, GeoMesh > &dsf, const dimensioned< scalar > &ds)
label max(const labelHashSet &set, label maxValue=labelMin)
Find the max value in labelHashSet, optionally limited by second argument.
scalar limiter(const scalar cdWeight, const scalar faceFlux, const typename LimiterFunc::phiType &phiP, const typename LimiterFunc::phiType &phiN, const typename LimiterFunc::gradPhiType &gradcP, const typename LimiterFunc::gradPhiType &gradcN, const vector &d) const