From 579471ae87529bef4f6b0134918ae3adef92a8e3 Mon Sep 17 00:00:00 2001 From: hawke Date: Tue, 12 Aug 2003 12:08:19 +0000 Subject: Description of the individual methods. git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@33 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b --- doc/documentation.tex | 78 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) (limited to 'doc') diff --git a/doc/documentation.tex b/doc/documentation.tex index 7274602..8c3e4e6 100644 --- a/doc/documentation.tex +++ b/doc/documentation.tex @@ -214,6 +214,9 @@ currently restricted to {\tt RK} for the standard TVD Runge-Kutta methods (first to fourth order) and {\tt ICN} for the implementation of the Iterative Crank Nicholson method in generic form. +Full descriptions of the currently implemented methods are given in +section~\ref{AlphaThorns_MoL_sec:methods}. + The parameter {\tt MoL\_Intermediate\_Steps} controls the number of intermediate steps for the ODE solver. For the generic Runge-Kutta solvers it controls the order of accuracy of the method. For the {\tt @@ -587,6 +590,81 @@ variables back to the standard ADM variables in {\tt ADM\_BSSN\_StandardVariables}, and also update the time derivative of the lapse in {\tt ADM\_BSSN\_LapseChange}. +\section{Time evolution methods provided by MoL} +\label{AlphaThorns_MoL_sec:methods} + +The default method is Iterative Crank-Nicholson. There are many ways +of implementing this. The standard {\tt "ICN"} and {\tt + "Generic"}/{\tt"ICN"} methods both implement the following, assuming +an $N$ iteration method: +\begin{eqnarray} + \label{AlphaThorns_MoL_eq:icn} + {\bf q}^{(0)} & = & {\bf q}^{n}, \\ + {\bf q}^{(i)} & = & {\bf q}^{(0)} + \frac{\Delta t}{2} {\bf L}({\bf + q}^{(i-1)}), \quad i = 1,\dots,N-1, \\ + {\bf q}^{(N)} & = & {\bf q}^{(N-1)} + \Delta t {\bf L}({\bf + q}^{(N-1)}), \\ + {\bf q}^{n+1} & = & {\bf q}^{(N)} +\end{eqnarray} + +The ``averaging'' ICN method {\tt "ICN-avg"} instead calculates +intermediate steps before averaging: +\begin{eqnarray} + \label{AlphaThorns_MoL_eq:icn-avg} + {\bf q}^{(0)} & = & {\bf q}^{n}, \\ + \tilde{{\bf q}}^{(i)} & = & \frac{1}{2}\left( {\bf q}^{(i)} + {\bf + q}^{n} \right), \quad i = 0,\dots,N-1 \\ + {\bf q}^{(i)} & = & {\bf q}^{(0)} + \Delta t {\bf L}(\tilde{{\bf + q}}^{(N-1)}), \\ + {\bf q}^{n+1} & = & {\bf q}^{(N)} +\end{eqnarray} + +The Runge-Kutta methods are those typically used in hydrodynamics by, +e.g., Shu and others - see~\cite{AlphaThorns_MoL_Shu99} for +example. Explicitly the first order method is the Euler method: +\begin{eqnarray} + \label{AlphaThorns_MoL_eq:rk1} + {\bf q}^{(0)} & = & {\bf q}^{n}, \\ + {\bf q}^{(1)} & = & {\bf q}^{(0)} + \Delta t {\bf L}(\tilde{{\bf + q}}^{(0)}), \\ + {\bf q}^{n+1} & = & {\bf q}^{(1)}. +\end{eqnarray} +The second order method is: +\begin{eqnarray} + \label{AlphaThorns_MoL_eq:rk2} + {\bf q}^{(0)} & = & {\bf q}^{n}, \\ + {\bf q}^{(1)} & = & {\bf q}^{(0)} + \Delta t {\bf L} ({\bf q}^{(0)}), \\ + {\bf q}^{(2)} & = & \frac{1}{2} \left( {\bf q}^{(0)} + {\bf q}^{(1)} + + \Delta t {\bf L} ({\bf q}^{(1)}) \right), \\ + {\bf q}^{n+1} & = & {\bf q}^{(2)}. +\end{eqnarray} +The third order method is: +\begin{eqnarray} + \label{AlphaThorns_MoL_eq:rk3} + {\bf q}^{(0)} & = & {\bf q}^{n}, \\ + {\bf q}^{(1)} & = & {\bf q}^{(0)} + \Delta t {\bf L} ({\bf q}^{(0)}), \\ + {\bf q}^{(2)} & = & \frac{1}{4} \left( 3 {\bf q}^{(0)} + {\bf q}^{(1)} + + \Delta t {\bf L} ({\bf q}^{(1)}) \right), \\ + {\bf q}^{(3)} & = & \frac{1}{3} \left( {\bf q}^{(0)} + 2 {\bf + q}^{(2)} + 2 \Delta t {\bf L} ({\bf q}^{(2)}) \right), \\ + {\bf q}^{n+1} & = & {\bf q}^{(3)}. +\end{eqnarray} +The fourth order method, which is not strictly TVD, is: +\begin{eqnarray} + \label{AlphaThorns_MoL_eq:rk4} + {\bf q}^{(0)} & = & {\bf q}^{n}, \\ + {\bf q}^{(1)} & = & {\bf q}^{(0)} + \frac{1}{2} \Delta t {\bf L} + ({\bf q}^{(0)}), \\ + {\bf q}^{(2)} & = & {\bf q}^{(0)} + \frac{1}{2} \Delta t {\bf L} + ({\bf q}^{(1)}), \\ + {\bf q}^{(3)} & = & {\bf q}^{(0)} + \Delta t {\bf \L} ({\bf + q}^{(2)}), \\ + {\bf q}^{(4)} & = & \frac{1}{6} \left( - 2 {\bf q}^{(0)} + 2 {\bf + q}^{(1)} + 4 {\bf q}^{(2)} + 2 {\bf q}^{(3)} + \Delta t{\bf L} + ({\bf q}^{(3)}) \right), \\ + {\bf q}^{n+1} & = & {\bf q}^{(4)}. +\end{eqnarray} + \section{Functions provided by MoL} \label{AlphaThorns_MoL_sec:molfns} -- cgit v1.2.3