Go to the documentation of this file.
45 #ifndef filteredLinear3V_H
46 #define filteredLinear3V_H
59 template<
class LimiterFunc>
80 <<
"coefficient = " << k_
81 <<
" should be >= 0 and <= 1"
88 const scalar cdWeight,
89 const scalar faceFlux,
90 const typename LimiterFunc::phiType& phiP,
91 const typename LimiterFunc::phiType& phiN,
92 const typename LimiterFunc::gradPhiType& gradcP,
93 const typename LimiterFunc::gradPhiType& gradcN,
102 scalar df = dfV & dfV;
106 scalar dP = 2*(dfV & (d & gradcP));
107 scalar dN = 2*(dfV & (d & gradcN));
110 scalar
limiter = 1 - k_*(dN - df)*(dP - df)/
max(
sqr(dN + dP), SMALL);
filteredLinear3VLimiter(Istream &is)
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)....
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
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)
dimensionedSymmTensor sqr(const dimensionedVector &dv)
Class to generate weighting factors for the filteredLinear3V differencing scheme.
#define FatalIOErrorInFunction(ios)
Report an error message using Foam::FatalIOError.