1 |
jmc |
1.4 |
% $Header: /u/gcmpack/manual/s_under_dvlp/text/time_stepping_dvlp.tex,v 1.3 2010/08/25 03:00:54 jmc Exp $ |
2 |
jmc |
1.1 |
% $Name: $ |
3 |
|
|
|
4 |
|
|
\section{Other Time-stepping Options} |
5 |
|
|
%\begin{rawhtml} |
6 |
|
|
%<!-- CMIREDIR:dvlp-time-stepping: --> |
7 |
|
|
%\end{rawhtml} |
8 |
|
|
|
9 |
|
|
\subsection{Adams-Bashforth III} |
10 |
jmc |
1.2 |
|
11 |
|
|
\begin{figure}[ht] |
12 |
jmc |
1.1 |
\begin{center} |
13 |
jmc |
1.4 |
\resizebox{10cm}{!}{\includegraphics{s_under_dvlp/figs/stab_AB3_oscil.eps}} |
14 |
jmc |
1.1 |
\end{center} |
15 |
|
|
\caption{ |
16 |
jmc |
1.2 |
Comparison of the oscillatory response of Adams-Bashforth scheme. |
17 |
jmc |
1.1 |
} |
18 |
|
|
\label{fig:ab_oscill_response} |
19 |
|
|
\end{figure} |
20 |
|
|
|
21 |
jmc |
1.3 |
The third-order Adams-Bashforth time stepping (AB-3) provides |
22 |
|
|
several advantages (see, e.g., \cite{durr:91}) compared to |
23 |
|
|
the default quasi-second order Adams-Bashforth (AB-2): |
24 |
jmc |
1.1 |
\begin{itemize} |
25 |
jmc |
1.3 |
\item higher accuracy; |
26 |
|
|
\item stable with a longer time-step; |
27 |
|
|
\item no additional computation (just requires the storage of one additional |
28 |
|
|
time level). |
29 |
jmc |
1.1 |
\end{itemize} |
30 |
|
|
|
31 |
jmc |
1.3 |
The $3^{rd}$ order Adams-Bashforth can be used to |
32 |
|
|
extrapolate forward in time the tendency |
33 |
|
|
(replacing equation \ref{eq:adams-bashforth2}) |
34 |
|
|
which writes: |
35 |
jmc |
1.1 |
\begin{equation} |
36 |
|
|
G_\tau^{(n+1/2)} = ( 1 + \alpha_{AB} + \beta_{AB}) G_\tau^n |
37 |
jmc |
1.2 |
- ( \alpha_{AB} + 2 \beta_{AB}) G_\tau^{n-1} |
38 |
|
|
+ \beta_{AB} G_\tau^{n-2} |
39 |
jmc |
1.1 |
\label{eq:adams-bashforth3} |
40 |
|
|
\end{equation} |
41 |
jmc |
1.3 |
The 3rd order AB is obtained |
42 |
|
|
with $(\alpha_{AB},\,\beta_{AB}) = (1/2,\,5/12)$. |
43 |
|
|
Note that selecting |
44 |
|
|
$(\alpha_{AB},\,\beta_{AB}) = (1/2+\epsilon_{AB},\,0)$ |
45 |
|
|
one recovers the quasi-2nd order AB. |
46 |
|
|
%as illustrated on fig.\ref{fig:adams-bashforth-respons}. |
47 |
|
|
|
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 |
jmc |
1.1 |
(see fig.\ref{fig:ab_oscill_response}) |
57 |
jmc |
1.3 |
using $(\alpha_{AB},\,\beta_{AB}) = (0.5,\,0.2811)$ |
58 |
jmc |
1.1 |
but then the scheme is only 2nd order accurate. |
59 |
|
|
|
60 |
jmc |
1.2 |
\begin{figure}[ht] |
61 |
|
|
\begin{center} |
62 |
jmc |
1.4 |
\resizebox{10cm}{!}{\includegraphics{s_under_dvlp/figs/stab_AB3_dampR.eps}} |
63 |
jmc |
1.2 |
\end{center} |
64 |
|
|
\caption{ |
65 |
|
|
Comparison of the damping (diffusion like) response of Adams-Bashforth schemes. |
66 |
|
|
} |
67 |
|
|
\label{fig:ab_damp_response} |
68 |
|
|
\end{figure} |
69 |
|
|
|
70 |
jmc |
1.1 |
However, the behavior of the AB-3 for a damping problem (like diffusion) |
71 |
|
|
is less favorable, since the stability limit is reduced to |
72 |
|
|
0.54 only (and 0.64 with $\beta_{AB} = 0.2811$) compared to 1. (and 0.9 |
73 |
|
|
with $\epsilon_{AB} = 0.1$) with the AB-2 (see fig.\ref{fig:ab_damp_response}). |
74 |
|
|
|
75 |
|
|
A way to enable the use of a longer time step is |
76 |
jmc |
1.2 |
to keep the dissipation terms outside the AB extrapolation |
77 |
jmc |
1.3 |
(setting {\em momDissip\_In\_AB=.FALSE.} in main parameter file |
78 |
|
|
"\texttt{data}", namelist {\em PARM03}), |
79 |
|
|
thus returning to a simple forward time-stepping for dissipation, |
80 |
|
|
and to use AB-3 only for advection and Coriolis terms. |
81 |
jmc |
1.1 |
|
82 |
|
|
The AB-3 time stepping is activated by defining the option |
83 |
jmc |
1.3 |
{\em \#define ALLOW\_ADAMSBASHFORTH\_3} |
84 |
|
|
in "\texttt{CPP\_OPTIONS.h}". |
85 |
jmc |
1.1 |
The parameters $\alpha_{AB},\beta_{AB}$ can be set from the |
86 |
jmc |
1.3 |
main parameter file "\texttt{data}" (namelist {\em PARM03}) and their |
87 |
|
|
default value corresponds to the 3rd order Adams-Bashforth. |
88 |
|
|
A simple example is provided in "\texttt{verification/advect\_xy/input.ab3\_c4}". |
89 |
jmc |
1.1 |
|
90 |
|
|
The AB-3 is not yet available for |
91 |
jmc |
1.3 |
the vertical momentum equation (Non-Hydrostatic) |
92 |
|
|
neither for passive tracers. |
93 |
jmc |
1.1 |
|
94 |
jmc |
1.2 |
\subsection{Time-extrapolation of tracer (rather than tendency)} |
95 |
|
|
(to be continued ...) |