/[MITgcm]/MITgcm/pkg/streamice/slope_limiter.F
ViewVC logotype

Contents of /MITgcm/pkg/streamice/slope_limiter.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.1 - (show annotations) (download)
Wed Jun 12 21:30:21 2013 UTC (10 years, 11 months ago) by dgoldberg
Branch: MAIN
CVS Tags: checkpoint64i
new package from CONTRIB branch

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