Parent Directory
|
Revision Log
|
Revision Graph
rewrite to make like GAD_FLUX_LIMITER, but as function not header
1 | #include "CPP_OPTIONS.h" |
2 | |
3 | ! _RL FUNCTION SLOPE_LIMITER (num, denom) |
4 | |
5 | _RL FUNCTION SLOPE_LIMITER (Cr) |
6 | |
7 | ! _RL num, denom |
8 | ! _RL SLOPE_LIMITER |
9 | ! _RL r |
10 | _RL Cr |
11 | |
12 | ! used for flux limiting in advective subroutines |
13 | ! Van Leer limiter (source: Wikipedia!) |
14 | |
15 | ! if (denom .eq. 0.0) then |
16 | ! SLOPE_LIMITER = 0.0 |
17 | ! elseif (num*denom .le. 0.0) then |
18 | ! SLOPE_LIMITER = 0.0 |
19 | ! else |
20 | ! r = num/denom |
21 | ! SLOPE_LIMITER = (r+abs(r))/(1+abs(r)) |
22 | ! endif |
23 | |
24 | SLOPE_LIMITER = max(0.D0,max(min(1.D0,2.D0*Cr), |
25 | & min(2.D0,Cr))) |
26 | |
27 | |
28 | RETURN |
29 | END |
ViewVC Help | |
Powered by ViewVC 1.1.22 |