/[MITgcm]/manual/s_algorithm/text/time_stepping.tex
ViewVC logotype

Diff of /manual/s_algorithm/text/time_stepping.tex

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

revision 1.27 by jmc, Fri Aug 27 13:08:18 2010 UTC revision 1.30 by jmc, Wed May 4 22:42:48 2011 UTC
# Line 13  passive and dynamically active tracers a Line 13  passive and dynamically active tracers a
13  \input{s_algorithm/text/notation}  \input{s_algorithm/text/notation}
14    
15  \section{Time-stepping}  \section{Time-stepping}
16    \label{sec:time_stepping}
17  \begin{rawhtml}  \begin{rawhtml}
18  <!-- CMIREDIR:time-stepping: -->  <!-- CMIREDIR:time-stepping: -->
19  \end{rawhtml}  \end{rawhtml}
# Line 50  evaluated explicitly in time. Since the Line 51  evaluated explicitly in time. Since the
51  independent of the particular time-stepping scheme chosen we will  independent of the particular time-stepping scheme chosen we will
52  describe first the over-arching algorithm, known as the pressure  describe first the over-arching algorithm, known as the pressure
53  method, with a rigid-lid model in section  method, with a rigid-lid model in section
54  \ref{sect:pressure-method-rigid-lid}. This algorithm is essentially  \ref{sec:pressure-method-rigid-lid}. This algorithm is essentially
55  unchanged, apart for some coefficients, when the rigid lid assumption  unchanged, apart for some coefficients, when the rigid lid assumption
56  is replaced with a linearized implicit free-surface, described in  is replaced with a linearized implicit free-surface, described in
57  section \ref{sect:pressure-method-linear-backward}. These two flavors  section \ref{sec:pressure-method-linear-backward}. These two flavors
58  of the pressure-method encompass all formulations of the model as it  of the pressure-method encompass all formulations of the model as it
59  exists today. The integration of explicit in time terms is out-lined  exists today. The integration of explicit in time terms is out-lined
60  in section \ref{sect:adams-bashforth} and put into the context of the  in section \ref{sec:adams-bashforth} and put into the context of the
61  overall algorithm in sections \ref{sect:adams-bashforth-sync} and  overall algorithm in sections \ref{sec:adams-bashforth-sync} and
62  \ref{sect:adams-bashforth-staggered}. Inclusion of non-hydrostatic  \ref{sec:adams-bashforth-staggered}. Inclusion of non-hydrostatic
63  terms requires applying the pressure method in three dimensions  terms requires applying the pressure method in three dimensions
64  instead of two and this algorithm modification is described in section  instead of two and this algorithm modification is described in section
65  \ref{sect:non-hydrostatic}. Finally, the free-surface equation may be  \ref{sec:non-hydrostatic}. Finally, the free-surface equation may be
66  treated more exactly, including non-linear terms, and this is  treated more exactly, including non-linear terms, and this is
67  described in section \ref{sect:nonlinear-freesurface}.  described in section \ref{sec:nonlinear-freesurface}.
68    
69    
70  \section{Pressure method with rigid-lid}  \section{Pressure method with rigid-lid}
71  \label{sect:pressure-method-rigid-lid}  \label{sec:pressure-method-rigid-lid}
72  \begin{rawhtml}  \begin{rawhtml}
73  <!-- CMIREDIR:pressure_method_rigid_lid: -->  <!-- CMIREDIR:pressure_method_rigid_lid: -->
74  \end{rawhtml}  \end{rawhtml}
# Line 204  that are treated implicitly in time, Line 205  that are treated implicitly in time,
205  such as the vertical viscosity when using the backward time-stepping scheme  such as the vertical viscosity when using the backward time-stepping scheme
206  (\varlink{implicitViscosity}{implicitViscosity} {\it =.TRUE.}).  (\varlink{implicitViscosity}{implicitViscosity} {\it =.TRUE.}).
207  The method used to solve those implicit terms is provided in  The method used to solve those implicit terms is provided in
208  section \ref{sect:implicit-backward-stepping}, and modifies  section \ref{sec:implicit-backward-stepping}, and modifies
209  equations \ref{eq:discrete-time-u} and \ref{eq:discrete-time-v} to  equations \ref{eq:discrete-time-u} and \ref{eq:discrete-time-v} to
210  give:  give:
211  \begin{eqnarray}  \begin{eqnarray}
# Line 217  v^{n+1} - \Delta t \partial_z A_v \parti Line 218  v^{n+1} - \Delta t \partial_z A_v \parti
218    
219    
220  \section{Pressure method with implicit linear free-surface}  \section{Pressure method with implicit linear free-surface}
221  \label{sect:pressure-method-linear-backward}  \label{sec:pressure-method-linear-backward}
222  \begin{rawhtml}  \begin{rawhtml}
223  <!-- CMIREDIR:pressure_method_linear_backward: -->  <!-- CMIREDIR:pressure_method_linear_backward: -->
224  \end{rawhtml}  \end{rawhtml}
# Line 253  pressure method is then replaced by the Line 254  pressure method is then replaced by the
254  where the use of flow at time level $n+1$ makes the method implicit  where the use of flow at time level $n+1$ makes the method implicit
255  and backward in time. This is the preferred scheme since it still  and backward in time. This is the preferred scheme since it still
256  filters the fast unresolved wave motions by damping them. A centered  filters the fast unresolved wave motions by damping them. A centered
257  scheme, such as Crank-Nicholson (see section \ref{sect:freesurf-CrankNick}),  scheme, such as Crank-Nicholson (see section \ref{sec:freesurf-CrankNick}),
258  would alias the energy of the fast modes onto slower modes of motion.  would alias the energy of the fast modes onto slower modes of motion.
259    
260  As for the rigid-lid pressure method, equations  As for the rigid-lid pressure method, equations
# Line 262  As for the rigid-lid pressure method, eq Line 263  As for the rigid-lid pressure method, eq
263  \begin{eqnarray}  \begin{eqnarray}
264  u^{*} & = & u^{n} + \Delta t G_u^{(n+1/2)} \label{eq:ustar-backward-free-surface} \\  u^{*} & = & u^{n} + \Delta t G_u^{(n+1/2)} \label{eq:ustar-backward-free-surface} \\
265  v^{*} & = & v^{n} + \Delta t G_v^{(n+1/2)} \label{eq:vstar-backward-free-surface} \\  v^{*} & = & v^{n} + \Delta t G_v^{(n+1/2)} \label{eq:vstar-backward-free-surface} \\
266  \eta^* & = & \epsilon_{fs} \left( \eta^{n} + \Delta t (P-E) \right)- \Delta t  \eta^* & = & \epsilon_{fs} \left( \eta^{n} + \Delta t (P-E) \right)
267    \partial_x H \widehat{u^{*}}           - \Delta t \left( \partial_x H \widehat{u^{*}}
268  + \partial_y H \widehat{v^{*}}                           + \partial_y H \widehat{v^{*}} \right)
269  \\  \\
270    \partial_x g H \partial_x \eta^{n+1}    \partial_x g H \partial_x \eta^{n+1}
271  & + & \partial_y g H \partial_y \eta^{n+1}  & + & \partial_y g H \partial_y \eta^{n+1}
# Line 297  pressure-method. Line 298  pressure-method.
298    
299    
300  \section{Explicit time-stepping: Adams-Bashforth}  \section{Explicit time-stepping: Adams-Bashforth}
301  \label{sect:adams-bashforth}  \label{sec:adams-bashforth}
302  \begin{rawhtml}  \begin{rawhtml}
303  <!-- CMIREDIR:adams_bashforth: -->  <!-- CMIREDIR:adams_bashforth: -->
304  \end{rawhtml}  \end{rawhtml}
# Line 307  time discretization of the explicit term Line 308  time discretization of the explicit term
308  the quasi-second order Adams-Bashforth method for all explicit terms  the quasi-second order Adams-Bashforth method for all explicit terms
309  in both the momentum and tracer equations. This is still the default  in both the momentum and tracer equations. This is still the default
310  mode of operation but it is now possible to use alternate schemes for  mode of operation but it is now possible to use alternate schemes for
311  tracers (see section \ref{sect:tracer-advection}).  tracers (see section \ref{sec:tracer-advection}).
312    
313  \begin{figure}  \begin{figure}
314  \begin{center} \fbox{ \begin{minipage}{4.5in} \begin{tabbing}  \begin{center} \fbox{ \begin{minipage}{4.5in} \begin{tabbing}
# Line 396  The right column represents the damping Line 397  The right column represents the damping
397    
398    
399  \section{Implicit time-stepping: backward method}  \section{Implicit time-stepping: backward method}
400  \label{sect:implicit-backward-stepping}  \label{sec:implicit-backward-stepping}
401  \begin{rawhtml}  \begin{rawhtml}
402  <!-- CMIREDIR:implicit_time-stepping_backward: -->  <!-- CMIREDIR:implicit_time-stepping_backward: -->
403  \end{rawhtml}  \end{rawhtml}
# Line 424  using the Adams-Bashforth method as desc Line 425  using the Adams-Bashforth method as desc
425  \end{eqnarray}  \end{eqnarray}
426  where ${\cal L}_\tau^{-1}$ is the inverse of the operator  where ${\cal L}_\tau^{-1}$ is the inverse of the operator
427  \begin{equation}  \begin{equation}
428  {\cal L} = \left[ 1 + \Delta t \partial_r \kappa_v \partial_r \right]  {\cal L}_\tau = \left[ 1 + \Delta t \partial_r \kappa_v \partial_r \right]
429  \end{equation}  \end{equation}
430  Equation \ref{eq:taustar-implicit} looks exactly as \ref{eq:taustar}  Equation \ref{eq:taustar-implicit} looks exactly as \ref{eq:taustar}
431  while \ref{eq:tau-n+1-implicit} involves an operator or matrix  while \ref{eq:tau-n+1-implicit} involves an operator or matrix
# Line 444  unconditionally stable, no-slip boundary Line 445  unconditionally stable, no-slip boundary
445  implicit and are thus cast as a an explicit drag term.  implicit and are thus cast as a an explicit drag term.
446    
447  \section{Synchronous time-stepping: variables co-located in time}  \section{Synchronous time-stepping: variables co-located in time}
448  \label{sect:adams-bashforth-sync}  \label{sec:adams-bashforth-sync}
449  \begin{rawhtml}  \begin{rawhtml}
450  <!-- CMIREDIR:adams_bashforth_sync: -->  <!-- CMIREDIR:adams_bashforth_sync: -->
451  \end{rawhtml}  \end{rawhtml}
# Line 564  time-step. The corresponding calling tre Line 565  time-step. The corresponding calling tre
565  \ref{fig:call-tree-adams-bashforth-sync}.  \ref{fig:call-tree-adams-bashforth-sync}.
566    
567  \section{Staggered baroclinic time-stepping}  \section{Staggered baroclinic time-stepping}
568  \label{sect:adams-bashforth-staggered}  \label{sec:adams-bashforth-staggered}
569  \begin{rawhtml}  \begin{rawhtml}
570  <!-- CMIREDIR:adams_bashforth_staggered: -->  <!-- CMIREDIR:adams_bashforth_staggered: -->
571  \end{rawhtml}  \end{rawhtml}
# Line 612  thermodynamics solver is delayed from ha Line 613  thermodynamics solver is delayed from ha
613  allowing the use of the most recent velocities to compute  allowing the use of the most recent velocities to compute
614  the advection terms. Once the thermodynamics fields are  the advection terms. Once the thermodynamics fields are
615  updated, the hydrostatic pressure is computed  updated, the hydrostatic pressure is computed
616  to step forwrad the dynamics.  to step forward the dynamics.
617  Note that the pressure gradient must also be taken out of the  Note that the pressure gradient must also be taken out of the
618  Adams-Bashforth extrapolation. Also, retaining the integer time-levels,  Adams-Bashforth extrapolation. Also, retaining the integer time-levels,
619  $n$ and $n+1$, does not give a user the sense of where variables are  $n$ and $n+1$, does not give a user the sense of where variables are
# Line 709  time-level variables and terms correspon Line 710  time-level variables and terms correspon
710    
711    
712  \section{Non-hydrostatic formulation}  \section{Non-hydrostatic formulation}
713  \label{sect:non-hydrostatic}  \label{sec:non-hydrostatic}
714  \begin{rawhtml}  \begin{rawhtml}
715  <!-- CMIREDIR:non-hydrostatic_formulation: -->  <!-- CMIREDIR:non-hydrostatic_formulation: -->
716  \end{rawhtml}  \end{rawhtml}
# Line 717  time-level variables and terms correspon Line 718  time-level variables and terms correspon
718  The non-hydrostatic formulation re-introduces the full vertical  The non-hydrostatic formulation re-introduces the full vertical
719  momentum equation and requires the solution of a 3-D elliptic  momentum equation and requires the solution of a 3-D elliptic
720  equations for non-hydrostatic pressure perturbation. We still  equations for non-hydrostatic pressure perturbation. We still
721  intergrate vertically for the hydrostatic pressure and solve a 2-D  integrate vertically for the hydrostatic pressure and solve a 2-D
722  elliptic equation for the surface pressure/elevation for this reduces  elliptic equation for the surface pressure/elevation for this reduces
723  the amount of work needed to solve for the non-hydrostatic pressure.  the amount of work needed to solve for the non-hydrostatic pressure.
724    
# Line 801  u^{**} & = & u^{*} - \Delta t g \partial Line 802  u^{**} & = & u^{*} - \Delta t g \partial
802  v^{**} & = & v^{*} - \Delta t g \partial_y \eta^{n+1} \label{eq:vnx-nh}\\  v^{**} & = & v^{*} - \Delta t g \partial_y \eta^{n+1} \label{eq:vnx-nh}\\
803  \partial_{xx} \phi_{nh}^{n+1} + \partial_{yy} \phi_{nh}^{n+1} +  \partial_{xx} \phi_{nh}^{n+1} + \partial_{yy} \phi_{nh}^{n+1} +
804  \partial_{rr} \phi_{nh}^{n+1} & = &  \partial_{rr} \phi_{nh}^{n+1} & = &
805  \partial_x u^{**} + \partial_y v^{**} + \partial_r w^{*} \\  \partial_x u^{**} + \partial_y v^{**} + \partial_r w^{*}  \label{eq:phi-nh}\\
806  u^{n+1} & = & u^{**} - \Delta t \partial_x \phi_{nh}^{n+1} \label{eq:un+1-nh}\\  u^{n+1} & = & u^{**} - \Delta t \partial_x \phi_{nh}^{n+1} \label{eq:un+1-nh}\\
807  v^{n+1} & = & v^{**} - \Delta t \partial_y \phi_{nh}^{n+1} \label{eq:vn+1-nh}\\  v^{n+1} & = & v^{**} - \Delta t \partial_y \phi_{nh}^{n+1} \label{eq:vn+1-nh}\\
808  \partial_r w^{n+1} & = & - \partial_x u^{n+1} - \partial_y v^{n+1}  \partial_r w^{n+1} & = & - \partial_x u^{n+1} - \partial_y v^{n+1}
# Line 812  $w^{n+1}$. Line 813  $w^{n+1}$.
813    
814    
815  \section{Variants on the Free Surface}  \section{Variants on the Free Surface}
816  \label{sect:free-surface}  \label{sec:free-surface}
817    
818  We now describe the various formulations of the free-surface that  We now describe the various formulations of the free-surface that
819  include non-linear forms, implicit in time using Crank-Nicholson,  include non-linear forms, implicit in time using Crank-Nicholson,
# Line 925  at the same point in the code. Line 926  at the same point in the code.
926    
927    
928  \subsection{Crank-Nickelson barotropic time stepping}  \subsection{Crank-Nickelson barotropic time stepping}
929  \label{sect:freesurf-CrankNick}  \label{sec:freesurf-CrankNick}
930    
931  The full implicit time stepping described previously is  The full implicit time stepping described previously is
932  unconditionally stable but damps the fast gravity waves, resulting in  unconditionally stable but damps the fast gravity waves, resulting in
# Line 949  Equations \ref{eq:ustar-backward-free-su Line 950  Equations \ref{eq:ustar-backward-free-su
950  \frac{ \vec{\bf v}^{n+1} }{ \Delta t }  \frac{ \vec{\bf v}^{n+1} }{ \Delta t }
951  + {\bf \nabla}_h b_s [ \beta {\eta}^{n+1} + (1-\beta) {\eta}^{n} ]  + {\bf \nabla}_h b_s [ \beta {\eta}^{n+1} + (1-\beta) {\eta}^{n} ]
952  + \epsilon_{nh} {\bf \nabla}_h {\phi'_{nh}}^{n+1}  + \epsilon_{nh} {\bf \nabla}_h {\phi'_{nh}}^{n+1}
953   = \frac{ \vec{\bf v}^* }{ \Delta t }   = \frac{ \vec{\bf v}^{n} }{ \Delta t }
954     + \vec{\bf G}_{\vec{\bf v}} ^{(n+1/2)}
955     + {\bf \nabla}_h {\phi'_{hyd}}^{(n+1/2)}
956  \end{eqnarray*}  \end{eqnarray*}
957  \begin{eqnarray}  \begin{eqnarray}
958  \epsilon_{fs} \frac{ {\eta}^{n+1} - {\eta}^{n} }{ \Delta t}  \epsilon_{fs} \frac{ {\eta}^{n+1} - {\eta}^{n} }{ \Delta t}
# Line 958  Equations \ref{eq:ustar-backward-free-su Line 961  Equations \ref{eq:ustar-backward-free-su
961  = \epsilon_{fw} (P-E)  = \epsilon_{fw} (P-E)
962  \label{eq:eta-n+1-CrankNick}  \label{eq:eta-n+1-CrankNick}
963  \end{eqnarray}  \end{eqnarray}
964  where:  We set
965  \begin{eqnarray*}  \begin{eqnarray*}
966  \vec{\bf v}^* & = &  \vec{\bf v}^* & = &
967  \vec{\bf v} ^{n} + \Delta t \vec{\bf G}_{\vec{\bf v}} ^{(n+1/2)}  \vec{\bf v} ^{n} + \Delta t \vec{\bf G}_{\vec{\bf v}} ^{(n+1/2)}

Legend:
Removed from v.1.27  
changed lines
  Added in v.1.30

  ViewVC Help
Powered by ViewVC 1.1.22