MinModLimiter Class Reference#
|
DiFfRG
Discretization Framework for functional Renormalization Group flows
|
DiFfRG::def::MinModLimiter Class Reference
MinMod slope limiter. More...
#include <minmod_limiter.hh>
Static Public Member Functions | |
| template<typename NumberType > | |
| static NumberType | slope_limit (const NumberType &du_1, const NumberType &du_2) |
Static Private Member Functions | |
| template<typename NumberType > | |
| static NumberType | abs_with_zero_tie_derivative (const NumberType &value) |
| template<size_t order, typename NumberType > | |
| static autodiff::Real< order, NumberType > | abs_with_zero_tie_derivative (const autodiff::Real< order, NumberType > &value) |
Detailed Description
MinMod slope limiter.
Implements the classic minmod TVD limiter: slope_limit(a, b) = 0.5 * (sgn(a) + sgn(b)) * min(|a|, |b|)
When the two one-sided slopes have the same sign, the limiter returns the smaller one (in absolute value). When they have opposite signs (indicating a local extremum), it returns zero.
Satisfies the HasSlopeLimiter concept so it can be passed as the Limiter template parameter of the TVDReconstructor:
using Assembler = FV::KurganovTadmor::Assembler<Discretization, Model,
Definition KurganovTadmor.hh:645
TVD gradient reconstructor parameterised by a slope limiter.
Definition tvd_reconstructor.hh:46
Member Function Documentation
◆ abs_with_zero_tie_derivative() [1/2]
template<size_t order, typename NumberType >
|
inlinestaticprivate |
◆ abs_with_zero_tie_derivative() [2/2]
template<typename NumberType >
|
inlinestaticprivate |
◆ slope_limit()
template<typename NumberType >
|
inlinestatic |
The documentation for this class was generated from the following file:
- /home/runner/work/DiFfRG_current/DiFfRG_current/DiFfRG/include/DiFfRG/discretization/FV/limiter/minmod_limiter.hh
Generated by