53 template<
class LimiterFunc>
69 <<
"coefficient = " << k_
70 <<
" should be >= 0 and <= 1"
76 k_ =
max(k_/2.0, small);
81 const scalar cdWeight,
82 const scalar faceFlux,
83 const typename LimiterFunc::phiType& phiP,
84 const typename LimiterFunc::phiType& phiN,
85 const typename LimiterFunc::gradPhiType& gradcP,
86 const typename LimiterFunc::gradPhiType& gradcN,
90 scalar phict = LimiterFunc::phict
92 faceFlux, phiP, phiN, gradcP, gradcN, d
95 return min(
max(phict/k_, 0), 1);
Class with limiter function which returns the limiter for the Gamma interpolation scheme based on phi...
GammaLimiter(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
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
#define FatalIOErrorInFunction(ios)
Report an error message using Foam::FatalIOError.
errorManipArg< error, int > exit(error &err, const int errNo=1)
layerAndWeight min(const layerAndWeight &a, const layerAndWeight &b)
bool readScalar(const char *buf, doubleScalar &s)
Read whole of buf as a scalar. Return true if successful.
layerAndWeight max(const layerAndWeight &a, const layerAndWeight &b)