54 const T & phi_downwind,
55 const VectorValue<T> * grad_phi_upwind,
56 const VectorValue<T> * grad_phi_downwind,
61 const bool & )
const override final 63 mooseAssert(grad_phi_upwind,
"QUICK limiter requires a gradient");
67 if (grad_phi_downwind)
69 const auto & r_f = this->
rf_grad(grad_phi_upwind, grad_phi_downwind, dCD);
70 const auto & beta = T(1.0);
78 const auto & r_f =
Moose::FV::rF(phi_upwind, phi_downwind, *grad_phi_upwind, dCD);
79 limiter = (3.0 * r_f) / 4.0;
86 bool constant() const override final {
return false; }
Base class for defining slope limiters for finite volume or potentially reconstructed Discontinuous-G...
T limit(const T &phi_upwind, const T &phi_downwind, const VectorValue< T > *grad_phi_upwind, const VectorValue< T > *grad_phi_downwind, const RealVectorValue &dCD, const Real &, const Real &, const FaceInfo *, const bool &) const override final
This method overrides the pure virtual limit method in the base Limiter class.
The QUICK (Quadratic Upstream Interpolation for Convective Kinematics) limiter function is derived fr...
Scalar rF(const Scalar &phiC, const Scalar &phiD, const Vector &gradC, const RealVectorValue &dCD)
From Moukalled 12.30.
auto max(const L &left, const R &right)
This data structure is used to store geometric and variable related metadata about each cell face in ...
bool constant() const override final
MOOSE now contains C++17 code, so give a reasonable error message stating what the user can do to add...
InterpMethod interpMethod() const override final
InterpMethod
This codifies a set of available ways to interpolate with elem+neighbor solution information to calcu...
auto min(const L &left, const R &right)
T rf_grad(const VectorValue< T > *grad_phi_upwind, const VectorValue< T > *grad_phi_downwind, const RealVectorValue &dCD) const