46 template<
class LimitedScheme>
52 scalar lowerBound_, upperBound_;
54 void checkParameters(
Istream& is)
56 if (lowerBound_ > upperBound_)
59 <<
"Invalid bounds. Lower = " << lowerBound_
60 <<
" Upper = " << upperBound_
61 <<
". Lower bound is higher than the upper bound." 71 const scalar lowerBound,
72 const scalar upperBound,
77 lowerBound_(lowerBound),
78 upperBound_(upperBound)
95 const scalar cdWeight,
96 const scalar faceFlux,
107 (faceFlux > 0 && (phiP < lowerBound_ || phiN > upperBound_))
108 || (faceFlux < 0 && (phiN < lowerBound_ || phiP > upperBound_))
errorManipArg< error, int > exit(error &err, const int errNo=1)
Class to create NVD/TVD limited weighting-factors.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
LimitedLimiter(const scalar lowerBound, const scalar upperBound, Istream &is)
scalar limiter(const scalar cdWeight, const scalar faceFlux, const scalar phiP, const scalar phiN, const vector &gradcP, const vector &gradcN, const vector &d) const
virtual tmp< surfaceScalarField > limiter(const GeometricField< Type, fvPatchField, volMesh > &) const
Return the interpolation weighting factors.
bool readScalar(const char *buf, doubleScalar &s)
Read whole of buf as a scalar. Return true if successful.
#define FatalIOErrorInFunction(ios)
Report an error message using Foam::FatalIOError.