Back to home page

MITgcm

 
 

    


File indexing completed on 2018-03-02 18:40:59 UTC

view on githubraw file Latest commit add29e06 on 2018-01-31 20:35:05 UTC
28d97917ae Alis*0001 CBOP
                0002 C !ROUTINE: GAD_FLUX_LIMITER.h
                0003 
                0004 C !INTERFACE:
                0005 C #include "GAD_FLUX_LIMITER.h"
                0006 C       _RL Limiter
                0007 C       Limiter(Cr)
                0008 
                0009 C !DESCRIPTION:
                0010 C Contains statement function defining limiter function.
                0011 C
                0012 C A trivial limit for the limiter recovers the upwind scheme:
                0013 C \begin{equation*}
                0014 C Limiter(Cr)=0
                0015 C \end{equation*}
                0016 C Lax-Wendroff is recovered with:
                0017 C \begin{equation*}
                0018 C Limiter(Cr)=1
                0019 C \end{equation*}
3440679da0 Jean*0020 C The Min-Mod limiter is obtained with:
                0021 C \begin{equation*}
                0022 C Limiter(Cr)=max(0,min(1,Cr))
                0023 C \end{equation*}
28d97917ae Alis*0024 C The current limiter of choice is the "Superbee" limiter:
                0025 C \begin{equation*}
                0026 C Limiter(Cr)=max(0,max(min(1,2*Cr),min(2,Cr)))
                0027 C \end{equation*}
                0028 C which is the default.
                0029 CEOP
                0030 
31566b6684 Alis*0031 C Statement function to describe flux limiter
                0032       _RL Limiter
                0033 C Upwind        Limiter(Cr)=0.
                0034 C Lax-Wendroff  Limiter(Cr)=1.
3440679da0 Jean*0035 C Min-Mod       Limiter(Cr)=max(0.,min(1.,Cr))
31566b6684 Alis*0036 C Suberbee      Limiter(Cr)=max(0.,max(min(1.,2*Cr),min(2.,Cr)))
                0037 
                0038 c     Limiter(Cr)=0.
                0039 c     Limiter(Cr)=1.
3440679da0 Jean*0040 c     Limiter(Cr)=max(0.D0,min(1.D0,Cr))
3fd406ca6b Patr*0041       Limiter(Cr)=max(0.D0,max(min(1.D0,2.D0*Cr),
3440679da0 Jean*0042      &                         min(2.D0,Cr)))