Go to the documentation of this file.
44 #ifndef limitedLinear_H
45 #define limitedLinear_H
58 template<
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);
Class with limiter function which returns the limiter for the TVD limited linear 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)....
label max(const labelHashSet &set, label maxValue=labelMin)
Find the max value in labelHashSet, optionally limited by second argument.
errorManipArg< error, int > exit(error &err, const int errNo=1)
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
limitedLinearLimiter(Istream &is)
#define FatalIOErrorInFunction(ios)
Report an error message using Foam::FatalIOError.