44#ifndef limitedLinear_H
45#define limitedLinear_H
58template<
class LimiterFunc>
75 <<
"coefficient = " << k_
76 <<
" should be >= 0 and <= 1"
81 twoByk_ = 2.0/
max(k_, SMALL);
86 const scalar cdWeight,
87 const scalar faceFlux,
88 const typename LimiterFunc::phiType& phiP,
89 const typename LimiterFunc::phiType& phiN,
90 const typename LimiterFunc::gradPhiType& gradcP,
91 const typename LimiterFunc::gradPhiType& gradcN,
95 scalar r = LimiterFunc::r
97 faceFlux, phiP, phiN, gradcP, gradcN, d
100 return max(
min(twoByk_*r, 1), 0);
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
Class with limiter function which returns the limiter for the TVD limited linear differencing scheme ...
limitedLinearLimiter(Istream &is)
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
#define FatalIOErrorInFunction(ios)
Report an error message using Foam::FatalIOError.
label max(const labelHashSet &set, label maxValue=labelMin)
Find the max value in labelHashSet, optionally limited by second argument.
label min(const labelHashSet &set, label minValue=labelMax)
Find the min value in labelHashSet, optionally limited by second argument.
errorManipArg< error, int > exit(error &err, const int errNo=1)