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);
layerAndWeight max(const layerAndWeight &a, const layerAndWeight &b)
errorManipArg< error, int > exit(error &err, const int errNo=1)
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 Gamma interpolation scheme based on phi...
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
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.
GammaLimiter(Istream &is)
#define FatalIOErrorInFunction(ios)
Report an error message using Foam::FatalIOError.