Monotonised central-difference limiter with tunable beta (AMRVAC's mcbeta; beta=2 recovers the classic MC limiter, van Leer 1979)
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=dp), | intent(in) | :: | a | |||
| real(kind=dp), | intent(in) | :: | b |
pure real(dp) function mcbeta(a, b) result(phi) real(dp), intent(in) :: a, b real(dp), parameter :: c_mcbeta = 1.4_dp real(dp) :: ab ab = a * b if (ab > 0) then phi = sign(1.0_dp, a + b) * min(c_mcbeta*abs(a), c_mcbeta*abs(b), abs(a+b)*0.5_dp) else phi = 0.0_dp end if end function mcbeta