MinModLimiter Class Reference#

DiFfRG: DiFfRG::def::MinModLimiter Class Reference
DiFfRG
Discretization Framework for functional Renormalization Group flows

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 >
static autodiff::Real< order, NumberType > DiFfRG::def::MinModLimiter::abs_with_zero_tie_derivative ( const autodiff::Real< order, NumberType > & value)
inlinestaticprivate

◆ abs_with_zero_tie_derivative() [2/2]

template<typename NumberType >
static NumberType DiFfRG::def::MinModLimiter::abs_with_zero_tie_derivative ( const NumberType & value)
inlinestaticprivate

◆ slope_limit()

template<typename NumberType >
static NumberType DiFfRG::def::MinModLimiter::slope_limit ( const NumberType & du_1,
const NumberType & du_2 )
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