52 const VectorValue<T> * grad_phi_upwind,
53 const VectorValue<T> * ,
55 const Real & max_value,
56 const Real & min_value,
58 const bool & )
const override final 60 mooseAssert(grad_phi_upwind,
"SOU limiter requires a gradient");
62 T delta_face =
std::abs((*grad_phi_upwind) * dCD);
63 T delta_max =
std::abs(max_value - min_value);
65 if (delta_face > 1e-10)
66 return std::min(1.0, delta_max / delta_face);
71 bool constant() const override final {
return false; }
MetaPhysicL::DualNumber< V, D, asd > abs(const MetaPhysicL::DualNumber< V, D, asd > &a)
bool constant() const override final
Base class for defining slope limiters for finite volume or potentially reconstructed Discontinuous-G...
The SOU limiter is used for reproducing the second-order-upwind scheme.
This data structure is used to store geometric and variable related metadata about each cell face in ...
T limit(const T &, const T &, const VectorValue< T > *grad_phi_upwind, const VectorValue< T > *, const RealVectorValue &dCD, const Real &max_value, const Real &min_value, const FaceInfo *, const bool &) const override final
This method overrides the pure virtual limit method in the base Limiter class.
InterpMethod interpMethod() const override final
MOOSE now contains C++17 code, so give a reasonable error message stating what the user can do to add...
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)