/[MITgcm]/MITgcm_contrib/dgoldberg/streamice/slope_limiter.F
ViewVC logotype

Diff of /MITgcm_contrib/dgoldberg/streamice/slope_limiter.F

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

revision 1.2 by dgoldberg, Thu May 23 22:12:33 2013 UTC revision 1.3 by dgoldberg, Tue Jun 11 20:19:45 2013 UTC
# Line 1  Line 1 
1  #include "CPP_OPTIONS.h"  #include "CPP_OPTIONS.h"
2    
3        _RL FUNCTION SLOPE_LIMITER (num, denom)  !      _RL FUNCTION SLOPE_LIMITER (num, denom)
4    
5         _RL num, denom         _RL FUNCTION SLOPE_LIMITER (Cr)
6    
7    !       _RL num, denom
8  !       _RL SLOPE_LIMITER  !       _RL SLOPE_LIMITER
9         _RL r  !       _RL r
10           _RL Cr
11    
12  ! used for flux limiting in advective subroutines  ! used for flux limiting in advective subroutines
13  ! Van Leer limiter (source: Wikipedia!)  ! Van Leer limiter (source: Wikipedia!)
14    
15         if (denom .eq. 0.0) then  !       if (denom .eq. 0.0) then
16          SLOPE_LIMITER = 0.0  !        SLOPE_LIMITER = 0.0
17         elseif (num*denom .le. 0.0) then  !       elseif (num*denom .le. 0.0) then
18          SLOPE_LIMITER = 0.0  !        SLOPE_LIMITER = 0.0
19         else  !       else
20          r = num/denom  !        r = num/denom
21          SLOPE_LIMITER = (r+abs(r))/(1+abs(r))  !        SLOPE_LIMITER = (r+abs(r))/(1+abs(r))
22         endif  !       endif
23    
24           SLOPE_LIMITER = max(0.D0,max(min(1.D0,2.D0*Cr),
25         &                 min(2.D0,Cr)))
26    
27    
28         RETURN         RETURN
29         END         END

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.3

  ViewVC Help
Powered by ViewVC 1.1.22