/[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.2 - (show annotations) (download)
Fri Jun 21 20:49:50 2013 UTC (10 years, 11 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint64y, checkpoint64x, checkpoint64z, checkpoint64o, checkpoint64q, checkpoint64p, checkpoint64s, checkpoint64r, checkpoint64u, checkpoint64t, checkpoint64w, checkpoint64v, checkpoint66g, checkpoint66f, checkpoint66e, checkpoint66d, checkpoint66c, checkpoint66b, checkpoint66a, checkpoint64n, checkpoint66o, checkpoint66n, checkpoint66m, checkpoint66l, checkpoint66k, checkpoint66j, checkpoint66i, checkpoint66h, checkpoint65z, checkpoint65x, checkpoint65y, checkpoint65r, checkpoint65s, checkpoint65p, checkpoint65q, checkpoint65v, checkpoint65w, checkpoint65t, checkpoint65u, checkpoint65j, checkpoint65k, checkpoint65h, checkpoint65i, checkpoint65n, checkpoint65o, checkpoint65l, checkpoint65m, checkpoint65b, checkpoint65c, checkpoint65a, checkpoint65f, checkpoint65g, checkpoint65d, checkpoint65e, checkpoint64k, checkpoint65, checkpoint64j, checkpoint64m, checkpoint64l, HEAD
Changes since 1.1: +4 -1 lines
add CVS Header and Name

1 C $Header: $
2 C $Name: $
3
4 #include "CPP_OPTIONS.h"
5
6 ! _RL FUNCTION SLOPE_LIMITER (num, denom)
7
8 _RL FUNCTION SLOPE_LIMITER (Cr)
9
10 ! _RL num, denom
11 ! _RL SLOPE_LIMITER
12 ! _RL r
13 _RL Cr
14
15 ! used for flux limiting in advective subroutines
16 ! Van Leer limiter (source: Wikipedia!)
17
18 ! if (denom .eq. 0.0) then
19 ! SLOPE_LIMITER = 0.0
20 ! elseif (num*denom .le. 0.0) then
21 ! SLOPE_LIMITER = 0.0
22 ! else
23 ! r = num/denom
24 ! SLOPE_LIMITER = (r+abs(r))/(1+abs(r))
25 ! endif
26
27 SLOPE_LIMITER = max(0.D0,max(min(1.D0,2.D0*Cr),
28 & min(2.D0,Cr)))
29
30
31 RETURN
32 END

  ViewVC Help
Powered by ViewVC 1.1.22