MPI-AMRVAC
3.1
The MPI - Adaptive Mesh Refinement - Versatile Advection Code (development version)
|
Module with slope/flux limiters. More...
Functions/Subroutines | |
integer function | limiter_type (namelim) |
pure logical function | limiter_symmetric (typelim) |
subroutine | dwlimiter2 (dwC, ixIL, ixCL, idims, typelim, ldw, rdw, a2max) |
Limit the centered dwC differences within ixC for iw in direction idim. The limiter is chosen according to typelim. More... | |
Variables | |
double precision | cada3_radius |
radius of the asymptotic region [0.001, 10], larger means more accurate in smooth region but more overshooting at discontinuities More... | |
double precision | schmid_rad |
double precision | d |
integer, parameter | limiter_minmod = 1 |
integer, parameter | limiter_woodward = 2 |
integer, parameter | limiter_mcbeta = 3 |
integer, parameter | limiter_superbee = 4 |
integer, parameter | limiter_vanleer = 5 |
integer, parameter | limiter_albada = 6 |
integer, parameter | limiter_koren = 7 |
integer, parameter | limiter_cada = 8 |
integer, parameter | limiter_cada3 = 9 |
integer, parameter | limiter_schmid = 10 |
integer, parameter | limiter_venk = 11 |
integer, parameter | limiter_ppm = 12 |
integer, parameter | limiter_mp5 = 13 |
integer, parameter | limiter_weno3 = 14 |
integer, parameter | limiter_wenoyc3 = 15 |
integer, parameter | limiter_weno5 = 16 |
integer, parameter | limiter_weno5nm = 17 |
integer, parameter | limiter_wenoz5 = 18 |
integer, parameter | limiter_wenoz5nm = 19 |
integer, parameter | limiter_wenozp5 = 20 |
integer, parameter | limiter_wenozp5nm = 21 |
integer, parameter | limiter_weno5cu6 = 22 |
integer, parameter | limiter_teno5ad = 23 |
integer, parameter | limiter_weno7 = 24 |
integer, parameter | limiter_mpweno7 = 25 |
Module with slope/flux limiters.
subroutine mod_limiter::dwlimiter2 | ( | double precision, dimension(ixi^s), intent(in) | dwC, |
integer, intent(in) | ixI, | ||
integer, intent(in) | L, | ||
integer, intent(in) | ixC, | ||
L, | |||
integer, intent(in) | idims, | ||
integer, intent(in) | typelim, | ||
double precision, dimension(ixi^s), intent(out), optional | ldw, | ||
double precision, dimension(ixi^s), intent(out), optional | rdw, | ||
double precision, intent(in), optional | a2max | ||
) |
Limit the centered dwC differences within ixC for iw in direction idim. The limiter is chosen according to typelim.
Note that this subroutine is called from upwindLR (hence from methods like tvdlf, hancock, hll(c) etc) or directly from tvd.t, but also from the gradientS and divvectorS subroutines in geometry.t Accordingly, the typelim here corresponds to one of limiter or one of gradient_limiter.
[out] | ldw | Result using left-limiter (same as right for symmetric) |
[out] | rdw | Result using right-limiter (same as left for symmetric) |
Definition at line 128 of file mod_limiter.t.
pure logical function mod_limiter::limiter_symmetric | ( | integer, intent(in) | typelim | ) |
Definition at line 109 of file mod_limiter.t.
integer function mod_limiter::limiter_type | ( | character(len=*), intent(in) | namelim | ) |
double precision mod_limiter::cada3_radius |
radius of the asymptotic region [0.001, 10], larger means more accurate in smooth region but more overshooting at discontinuities
Definition at line 13 of file mod_limiter.t.
double precision mod_limiter::d |
Definition at line 14 of file mod_limiter.t.
integer, parameter mod_limiter::limiter_albada = 6 |
Definition at line 20 of file mod_limiter.t.
integer, parameter mod_limiter::limiter_cada = 8 |
Definition at line 22 of file mod_limiter.t.
integer, parameter mod_limiter::limiter_cada3 = 9 |
Definition at line 23 of file mod_limiter.t.
integer, parameter mod_limiter::limiter_koren = 7 |
Definition at line 21 of file mod_limiter.t.
integer, parameter mod_limiter::limiter_mcbeta = 3 |
Definition at line 17 of file mod_limiter.t.
integer, parameter mod_limiter::limiter_minmod = 1 |
Definition at line 15 of file mod_limiter.t.
integer, parameter mod_limiter::limiter_mp5 = 13 |
Definition at line 28 of file mod_limiter.t.
integer, parameter mod_limiter::limiter_mpweno7 = 25 |
Definition at line 40 of file mod_limiter.t.
integer, parameter mod_limiter::limiter_ppm = 12 |
Definition at line 27 of file mod_limiter.t.
integer, parameter mod_limiter::limiter_schmid = 10 |
Definition at line 24 of file mod_limiter.t.
integer, parameter mod_limiter::limiter_superbee = 4 |
Definition at line 18 of file mod_limiter.t.
integer, parameter mod_limiter::limiter_teno5ad = 23 |
Definition at line 38 of file mod_limiter.t.
integer, parameter mod_limiter::limiter_vanleer = 5 |
Definition at line 19 of file mod_limiter.t.
integer, parameter mod_limiter::limiter_venk = 11 |
Definition at line 25 of file mod_limiter.t.
integer, parameter mod_limiter::limiter_weno3 = 14 |
Definition at line 29 of file mod_limiter.t.
integer, parameter mod_limiter::limiter_weno5 = 16 |
Definition at line 31 of file mod_limiter.t.
integer, parameter mod_limiter::limiter_weno5cu6 = 22 |
Definition at line 37 of file mod_limiter.t.
integer, parameter mod_limiter::limiter_weno5nm = 17 |
Definition at line 32 of file mod_limiter.t.
integer, parameter mod_limiter::limiter_weno7 = 24 |
Definition at line 39 of file mod_limiter.t.
integer, parameter mod_limiter::limiter_wenoyc3 = 15 |
Definition at line 30 of file mod_limiter.t.
integer, parameter mod_limiter::limiter_wenoz5 = 18 |
Definition at line 33 of file mod_limiter.t.
integer, parameter mod_limiter::limiter_wenoz5nm = 19 |
Definition at line 34 of file mod_limiter.t.
integer, parameter mod_limiter::limiter_wenozp5 = 20 |
Definition at line 35 of file mod_limiter.t.
integer, parameter mod_limiter::limiter_wenozp5nm = 21 |
Definition at line 36 of file mod_limiter.t.
integer, parameter mod_limiter::limiter_woodward = 2 |
Definition at line 16 of file mod_limiter.t.
double precision mod_limiter::schmid_rad |
Definition at line 14 of file mod_limiter.t.