SuperbeeLimiter Class Reference#

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

Superbee slope limiter (Roe, 1986). More...

#include <superbee_limiter.hh>

Static Public Member Functions

template<typename NumberType >
static NumberType slope_limit (const NumberType &du_1, const NumberType &du_2)
 

Detailed Description

Superbee slope limiter (Roe, 1986).

The widest of the second-order TVD slope limiters: slope_limit(a, b) = maxmod( minmod(2a, b), minmod(a, 2b) ) where minmod(x, y) = sgn(x)+sgn(y) all-same-sign ? sign·min(|x|,|y|) : 0 maxmod(x, y) = sgn(x)+sgn(y) all-same-sign ? sign·max(|x|,|y|) : 0

Equivalent compact form (Sweby 1984): for r = du_1 / du_2, phi(r) = max(0, min(2r, 1), min(r, 2)) and the limited slope is phi(r)·du_2.

Superbee returns the steepest slope still consistent with the TVD region. Sharpens discontinuities much more aggressively than MinMod; uses identity uniform-sign-of-the-two-arguments check the same way.

Member Function Documentation

◆ slope_limit()

template<typename NumberType >
static NumberType DiFfRG::def::SuperbeeLimiter::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/superbee_limiter.hh