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)
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)
Vector< scalar > vector
A scalar version of the templated Vector.
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)