Module with slope/flux limiters
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| double precision, | public | :: | cada3_radius |
radius of the asymptotic region [0.001, 10], larger means more accurate in smooth region but more overshooting at discontinuities |
|||
| integer, | public, | parameter | :: | limiter_albada | = | 6 | |
| integer, | public, | parameter | :: | limiter_cada | = | 8 | |
| integer, | public, | parameter | :: | limiter_cada3 | = | 9 | |
| integer, | public, | parameter | :: | limiter_koren | = | 7 | |
| integer, | public, | parameter | :: | limiter_mcbeta | = | 3 | |
| integer, | public, | parameter | :: | limiter_minmod | = | 1 | |
| integer, | public, | parameter | :: | limiter_mp5 | = | 13 | |
| integer, | public, | parameter | :: | limiter_mpweno7 | = | 25 | |
| integer, | public, | parameter | :: | limiter_ppm | = | 12 | |
| integer, | public, | parameter | :: | limiter_schmid | = | 10 | |
| integer, | public, | parameter | :: | limiter_superbee | = | 4 | |
| integer, | public, | parameter | :: | limiter_teno5ad | = | 23 | |
| integer, | public, | parameter | :: | limiter_vanleer | = | 5 | |
| integer, | public, | parameter | :: | limiter_venk | = | 11 | |
| integer, | public, | parameter | :: | limiter_weno3 | = | 14 | |
| integer, | public, | parameter | :: | limiter_weno5 | = | 16 | |
| integer, | public, | parameter | :: | limiter_weno5cu6 | = | 22 | |
| integer, | public, | parameter | :: | limiter_weno5nm | = | 17 | |
| integer, | public, | parameter | :: | limiter_weno7 | = | 24 | |
| integer, | public, | parameter | :: | limiter_wenoyc3 | = | 15 | |
| integer, | public, | parameter | :: | limiter_wenoz5 | = | 18 | |
| integer, | public, | parameter | :: | limiter_wenoz5nm | = | 19 | |
| integer, | public, | parameter | :: | limiter_wenozp5 | = | 20 | |
| integer, | public, | parameter | :: | limiter_wenozp5nm | = | 21 | |
| integer, | public, | parameter | :: | limiter_woodward | = | 2 | |
| double precision, | public | :: | schmid_rad1 | ||||
| double precision, | public | :: | schmid_rad2 | ||||
| double precision, | public | :: | schmid_rad3 |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(in) | :: | namelim |
Limit the centered dwC differences within ixC for iw in direction idim. The limiter is chosen according to typelim.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| double precision, | intent(in) | :: | dwC(ixImin1:ixImax1,ixImin2:ixImax2,ixImin3:ixImax3) | |||
| integer, | intent(in), | value | :: | ixImin1 | ||
| integer, | intent(in), | value | :: | ixImin2 | ||
| integer, | intent(in), | value | :: | ixImin3 | ||
| integer, | intent(in), | value | :: | ixImax1 | ||
| integer, | intent(in), | value | :: | ixImax2 | ||
| integer, | intent(in), | value | :: | ixImax3 | ||
| integer, | intent(in), | value | :: | ixCmin1 | ||
| integer, | intent(in), | value | :: | ixCmin2 | ||
| integer, | intent(in), | value | :: | ixCmin3 | ||
| integer, | intent(in), | value | :: | ixCmax1 | ||
| integer, | intent(in), | value | :: | ixCmax2 | ||
| integer, | intent(in), | value | :: | ixCmax3 | ||
| integer, | intent(in), | value | :: | idims | ||
| integer, | intent(in) | :: | typelim | |||
| double precision, | intent(out), | optional | :: | ldw(ixImin1:ixImax1,ixImin2:ixImax2,ixImin3:ixImax3) |
Result using left-limiter (same as right for symmetric) |
|
| double precision, | intent(out), | optional | :: | rdw(ixImin1:ixImax1,ixImin2:ixImax2,ixImin3:ixImax3) |
Result using right-limiter (same as left for symmetric) |
|
| double precision, | intent(in), | optional, | value | :: | a2max |