1 |
jmc |
1.2 |
% $Header: /u/gcmpack/manual/under_dvlp/time_stepping_dvlp.tex,v 1.1 2008/01/17 22:36:10 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 |
|
|
\resizebox{10cm}{!}{\includegraphics{under_dvlp/stab_AB3_oscil.eps}} |
14 |
|
|
\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 |
|
|
As seen on fig.\ref{fig:adams-bashforth-respons} |
22 |
|
|
The third-order Adams-Bashforth time stepping (AB-3) can be used instead |
23 |
|
|
of the default quasi-second order Adams-Bashforth (AB-2), |
24 |
|
|
with several advantages (see, e.g., \cite{durr:91}): |
25 |
|
|
\begin{itemize} |
26 |
|
|
\item higher accuracy. |
27 |
|
|
\item stable with a longer time-step (for an oscillatory problem |
28 |
jmc |
1.2 |
like advection or Coriolis, stable up to a CFL of 0.72, |
29 |
jmc |
1.1 |
compared to only 0.50 with AB-2 and $\epsilon_{AB} = 0.1$) |
30 |
|
|
(fig.\ref{fig:ab_oscill_response}) |
31 |
|
|
\item no additional computation, but only requires to store one additional |
32 |
|
|
time level. |
33 |
|
|
\end{itemize} |
34 |
|
|
|
35 |
|
|
The extrapolation forward in time of the tendency (replacing equation |
36 |
|
|
\ref{eq:adams-bashforth2} can be written: |
37 |
|
|
\begin{equation} |
38 |
|
|
G_\tau^{(n+1/2)} = ( 1 + \alpha_{AB} + \beta_{AB}) G_\tau^n |
39 |
jmc |
1.2 |
- ( \alpha_{AB} + 2 \beta_{AB}) G_\tau^{n-1} |
40 |
|
|
+ \beta_{AB} G_\tau^{n-2} |
41 |
jmc |
1.1 |
\label{eq:adams-bashforth3} |
42 |
|
|
\end{equation} |
43 |
|
|
with $(\alpha_{AB},\beta_{AB}) = (1/2, 5/12)$ corresponding to the |
44 |
|
|
3rd order AB. One can also recover |
45 |
|
|
The quasi-2nd order AB corresponds to the particular case |
46 |
|
|
$(\alpha_{AB},\beta_{AB}) = (1/2+\epsilon_{AB}, 0)$. |
47 |
|
|
|
48 |
|
|
One can also extend the stability limit |
49 |
|
|
up to a CFL of 0.786 for an oscillatory problem |
50 |
|
|
(see fig.\ref{fig:ab_oscill_response}) |
51 |
|
|
using $(\alpha_{AB},\beta_{AB}) = (0.5, 0.2811)$ |
52 |
|
|
but then the scheme is only 2nd order accurate. |
53 |
|
|
|
54 |
jmc |
1.2 |
\begin{figure}[ht] |
55 |
|
|
\begin{center} |
56 |
|
|
\resizebox{10cm}{!}{\includegraphics{under_dvlp/stab_AB3_dampR.eps}} |
57 |
|
|
\end{center} |
58 |
|
|
\caption{ |
59 |
|
|
Comparison of the damping (diffusion like) response of Adams-Bashforth schemes. |
60 |
|
|
} |
61 |
|
|
\label{fig:ab_damp_response} |
62 |
|
|
\end{figure} |
63 |
|
|
|
64 |
jmc |
1.1 |
However, the behavior of the AB-3 for a damping problem (like diffusion) |
65 |
|
|
is less favorable, since the stability limit is reduced to |
66 |
|
|
0.54 only (and 0.64 with $\beta_{AB} = 0.2811$) compared to 1. (and 0.9 |
67 |
|
|
with $\epsilon_{AB} = 0.1$) with the AB-2 (see fig.\ref{fig:ab_damp_response}). |
68 |
|
|
|
69 |
|
|
A way to enable the use of a longer time step is |
70 |
jmc |
1.2 |
to keep the dissipation terms outside the AB extrapolation |
71 |
jmc |
1.1 |
(therefore using a simple forward time-stepping) (setting |
72 |
|
|
momDissip\_In\_AB=.FALSE. in main parameter file "data", |
73 |
jmc |
1.2 |
namelist PARM03), and use AB-3 for advection and Coriolis terms. |
74 |
jmc |
1.1 |
|
75 |
|
|
The AB-3 time stepping is activated by defining the option |
76 |
|
|
\#define ALLOW\_ADAMSBASHFORTH\_3 |
77 |
|
|
in CPP\_OPTIONS.h |
78 |
|
|
The parameters $\alpha_{AB},\beta_{AB}$ can be set from the |
79 |
|
|
main parameter file "data" (namelist "PARM03") and their |
80 |
|
|
default values correspond to the 3rd order Adams-Bashforth. |
81 |
|
|
A simple example is provided in verification/advect\_xy/input.ab3\_c4. |
82 |
|
|
|
83 |
|
|
The AB-3 is not yet available for |
84 |
|
|
the vertical momentum equation (Non-Hydrostatic) and passive |
85 |
|
|
tracers. |
86 |
|
|
|
87 |
jmc |
1.2 |
\subsection{Time-extrapolation of tracer (rather than tendency)} |
88 |
|
|
(to be continued ...) |