/[MITgcm]/manual/s_under_dvlp/text/time_stepping_dvlp.tex
ViewVC logotype

Diff of /manual/s_under_dvlp/text/time_stepping_dvlp.tex

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

revision 1.2 by jmc, Tue Aug 24 22:46:34 2010 UTC revision 1.3 by jmc, Wed Aug 25 03:00:54 2010 UTC
# Line 18  Comparison of the oscillatory response o Line 18  Comparison of the oscillatory response o
18  \label{fig:ab_oscill_response}  \label{fig:ab_oscill_response}
19  \end{figure}  \end{figure}
20    
21  As seen on fig.\ref{fig:adams-bashforth-respons}  The third-order Adams-Bashforth time stepping (AB-3) provides
22  The third-order Adams-Bashforth time stepping (AB-3) can be used instead  several advantages (see, e.g., \cite{durr:91}) compared to
23  of the default quasi-second order Adams-Bashforth (AB-2),  the default quasi-second order Adams-Bashforth (AB-2):
 with several advantages (see, e.g., \cite{durr:91}):  
24  \begin{itemize}  \begin{itemize}
25  \item higher accuracy.  \item higher accuracy;
26  \item stable with a longer time-step (for an oscillatory problem  \item stable with a longer time-step;
27  like advection or Coriolis, stable up to a CFL of 0.72,  \item no additional computation (just requires the storage of one additional
28  compared to only 0.50 with AB-2 and $\epsilon_{AB} = 0.1$)   time level).
 (fig.\ref{fig:ab_oscill_response})  
 \item no additional computation, but only requires to store one additional  
  time level.  
29  \end{itemize}  \end{itemize}
30    
31  The extrapolation forward in time of the tendency (replacing equation  The $3^{rd}$ order Adams-Bashforth can be used to
32  \ref{eq:adams-bashforth2} can be written:  extrapolate forward in time the tendency
33    (replacing equation \ref{eq:adams-bashforth2})
34    which writes:
35  \begin{equation}  \begin{equation}
36  G_\tau^{(n+1/2)} = ( 1 + \alpha_{AB} + \beta_{AB}) G_\tau^n  G_\tau^{(n+1/2)} = ( 1 + \alpha_{AB} + \beta_{AB}) G_\tau^n
37  - ( \alpha_{AB} + 2 \beta_{AB}) G_\tau^{n-1}  - ( \alpha_{AB} + 2 \beta_{AB}) G_\tau^{n-1}
38  + \beta_{AB} G_\tau^{n-2}  + \beta_{AB} G_\tau^{n-2}
39  \label{eq:adams-bashforth3}  \label{eq:adams-bashforth3}
40  \end{equation}  \end{equation}
41  with $(\alpha_{AB},\beta_{AB}) = (1/2, 5/12)$ corresponding to the  The 3rd order AB is obtained
42  3rd order AB. One can also recover  with $(\alpha_{AB},\,\beta_{AB}) = (1/2,\,5/12)$.
43  The quasi-2nd order AB corresponds to the particular case  Note that selecting
44  $(\alpha_{AB},\beta_{AB}) = (1/2+\epsilon_{AB}, 0)$.  $(\alpha_{AB},\,\beta_{AB}) = (1/2+\epsilon_{AB},\,0)$
45    one recovers the quasi-2nd order AB.
46  One can also extend the stability limit  %as illustrated on fig.\ref{fig:adams-bashforth-respons}.
47  up to a CFL of 0.786 for an oscillatory problem  
48    The AB-3 time stepping improves the stability limit
49    for an oscillatory problem like advection or Coriolis.
50    As seen from Fig.\ref{fig:ab_oscill_response},
51    it remains stable up to a CFL of 0.72,
52    compared to only 0.50 with AB-2 and $\epsilon_{AB} = 0.1$.
53    %
54    It is interesting to note that the stability limit can be further
55    extended up to a CFL of 0.786 for an oscillatory problem
56  (see fig.\ref{fig:ab_oscill_response})  (see fig.\ref{fig:ab_oscill_response})
57  using $(\alpha_{AB},\beta_{AB}) = (0.5, 0.2811)$  using $(\alpha_{AB},\,\beta_{AB}) = (0.5,\,0.2811)$
58  but then the scheme is only 2nd order accurate.  but then the scheme is only 2nd order accurate.
59    
60  \begin{figure}[ht]  \begin{figure}[ht]
# Line 68  with $\epsilon_{AB} = 0.1$) with the AB- Line 74  with $\epsilon_{AB} = 0.1$) with the AB-
74    
75  A way to enable the use of a longer time step is  A way to enable the use of a longer time step is
76  to keep the dissipation terms outside the AB extrapolation  to keep the dissipation terms outside the AB extrapolation
77  (therefore using a simple forward time-stepping) (setting  (setting {\em momDissip\_In\_AB=.FALSE.} in main parameter file
78  momDissip\_In\_AB=.FALSE. in main parameter file "data",  "\texttt{data}", namelist {\em PARM03}),
79  namelist PARM03), and use AB-3 for advection and Coriolis terms.  thus returning to a simple forward time-stepping for dissipation,
80    and to use AB-3 only for advection and Coriolis terms.
81    
82  The AB-3 time stepping is activated by defining the option  The AB-3 time stepping is activated by defining the option
83  \#define ALLOW\_ADAMSBASHFORTH\_3  {\em \#define ALLOW\_ADAMSBASHFORTH\_3}
84  in CPP\_OPTIONS.h  in "\texttt{CPP\_OPTIONS.h}".
85  The parameters $\alpha_{AB},\beta_{AB}$ can be set from the  The parameters $\alpha_{AB},\beta_{AB}$ can be set from the
86  main parameter file "data" (namelist "PARM03") and their  main parameter file "\texttt{data}" (namelist {\em PARM03}) and their
87  default values correspond to the 3rd order Adams-Bashforth.  default value corresponds to the 3rd order Adams-Bashforth.
88  A simple example is provided in verification/advect\_xy/input.ab3\_c4.  A simple example is provided in "\texttt{verification/advect\_xy/input.ab3\_c4}".
89    
90  The AB-3 is not yet available for  The AB-3 is not yet available for
91  the vertical momentum equation (Non-Hydrostatic) and passive  the vertical momentum equation (Non-Hydrostatic)
92  tracers.  neither for passive tracers.
93    
94  \subsection{Time-extrapolation of tracer (rather than tendency)}  \subsection{Time-extrapolation of tracer (rather than tendency)}
95   (to be continued ...)   (to be continued ...)

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

  ViewVC Help
Powered by ViewVC 1.1.22