aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorhawke <hawke@578cdeb0-5ea1-4b81-8215-5a3b8777ee0b>2003-08-12 12:08:19 +0000
committerhawke <hawke@578cdeb0-5ea1-4b81-8215-5a3b8777ee0b>2003-08-12 12:08:19 +0000
commit579471ae87529bef4f6b0134918ae3adef92a8e3 (patch)
tree00e9558b8471ad9439d44c69320298fdb2ad52ec /doc
parentb18926e6de794bb786988f3f61b2943ffbd6da1a (diff)
Description of the individual methods.
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@33 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
Diffstat (limited to 'doc')
-rw-r--r--doc/documentation.tex78
1 files changed, 78 insertions, 0 deletions
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}