45#ifndef filteredLinear2V_H
46#define filteredLinear2V_H
59template<
class LimiterFunc>
90 <<
"coefficient = " << k_
91 <<
" should be >= 0 and <= 1"
98 <<
"coefficient = " << l_
99 <<
" should be >= 0 and <= 1"
108 const scalar cdWeight,
109 const scalar faceFlux,
110 const typename LimiterFunc::phiType& phiP,
111 const typename LimiterFunc::phiType& phiN,
112 const typename LimiterFunc::gradPhiType& gradcP,
113 const typename LimiterFunc::gradPhiType& gradcN,
122 scalar df = dfV & dfV;
126 scalar tdcP = 2*(dfV & (d & gradcP));
127 scalar tdcN = 2*(dfV & (d & gradcN));
135 - k_*
min(
max(df - tdcP, 0),
max(df - tdcN, 0))
141 - k_*
min(
max(tdcP - df, 0),
max(tdcN - df, 0))
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
Class to generate weighting factors for the filteredLinear2V differencing scheme.
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
filteredLinear2VLimiter(Istream &is)
#define FatalIOErrorInFunction(ios)
Report an error message using Foam::FatalIOError.
label max(const labelHashSet &set, label maxValue=labelMin)
Find the max value in labelHashSet, optionally limited by second argument.
dimensioned< typename typeOfMag< Type >::type > mag(const dimensioned< Type > &dt)
label min(const labelHashSet &set, label minValue=labelMax)
Find the min value in labelHashSet, optionally limited by second argument.
errorManipArg< error, int > exit(error &err, const int errNo=1)