 \documentstyle[12pt]{article}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% P A G E   L A Y O U T . . . 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\textwidth6.25in
\textheight8.5in
\evensidemargin0in
\oddsidemargin0in
\topmargin-.5in
\parindent0em
\parskip=12pt
\def\baselinestretch{1.2}
\pagestyle{empty}
\input{psfig}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%\landscape
%\special{landscape}
\begin{document}
%
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% F O N T S . . .   
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% M A C R O S . . . 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newcommand{\BEGINSLIDE}[1]{\vspace*{#1}}
\newcommand{\ENDSLIDE}[1]{\vspace*{#1}\pagebreak}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
{\LARGE
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% B E G I N    S L I D E S
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\BEGINSLIDE{0.0in}
\section{ Texas Evolution code(T2) development  }
\vskip -3in
\begin{center}
   Randy~Correll \\
   Mijan~Huq \\
   Scott~Klasky \\
   Richard~Matzner \\
	Tom~Haupt \\
   David~Rideout  \\
\today
\end{center}
{\Large
\begin{enumerate}
\item Equations used in code. 
\item Modules in DAGH and HPF.
\item Derivative routines.
\item Outer boundary. 
\item Gauge conditions.
\item Future Plans. 
\end{enumerate}
}
\ENDSLIDE{0.00in}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\BEGINSLIDE{0.0in}
\section{Equations used in code (1)}
The evolution equations that the {\tt TCODE} solves are as follows:
\begin{eqnarray}
\label{evolg.eqn}
\partial_t g_{ij} & = & - 2 \alpha K_{ij} + D_i \beta_j + D_j \beta_i \\
\label{evolk.eqn}
\partial_t K^i_j  & = & {\cal L}_{\beta} K^i_j - D^i D_j \alpha +
\alpha \left( R^i_j + K K^i_j \right)
\label{evol.eqn}
\end{eqnarray}
where $g_{ij}$ is the 3-metric,

$K^i_j$ is the extrinsic curvature,
$D_i$ is the covariant derivative compatible with $g_{ij}$,

 $\alpha$ is the lapse function, $\beta^i$ is the shift vector 

and ${\cal L}_{\beta}$ is the Lie
derivative along the vector field $\beta$. 

${\cal L}_{\beta} K^i_j$ is given
by the following equation:
\begin{equation}
{\cal L}_{\beta} K^i_j = \beta^k D_k K^i_j + \beta^i D_k K^k_j -
\beta_j g^{kl} D_l K^i_k
\label{lie.term}
\end{equation}
\ENDSLIDE{0.00in}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\BEGINSLIDE{0.0in}
\section{Code Design}
\begin{itemize}
	\item We use a Leapfrog scheme to solve the equations using three
         levels (n-1,n,n+1), where the n+1 and n-1 levels are identified.
	\item In general we have designed the T-CODE with the intent of
         using the DAGH infrastructure for implementing parallel AMR. 
	\item We have tried to keep all the routines as modular as possible
         and attempted to make it easy to switch modules with minimal effort.
	\item The code has been implemented in
         {\tt F77, F90} with {\tt F77} and DAGH {\tt C++} drivers.
	\item The code has also been implemented in {\tt HPF}, and {\tt F90} with
         AMR.
\end{itemize}
\ENDSLIDE{0.00in}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\BEGINSLIDE{0.0in}
\section{Problems to look at and Convergence Tests}
	\begin{enumerate}
		\item Black hole (Geodesic slicing) 
      \item Black hole ( Quasi-Isotropic gauge) 
      \item Black hole ( Eddington-Finkelstein coordinates) 
      \item Gravitational waves (Teukolsky waves, Strong field waves, etc) 
	\end{enumerate}
\begin{center} Convergence Testing \end{center}
\begin{itemize}
	\item geodesic slicing runs compared to semi-analytic Novikov data.
	\item Teukolsky wave initial data
	\item Evolution is carried out to 2nd order in $h$ 
   \item In the construction of the code the 
         convergence tests on the RHS operators of Eqn.~(\ref{evolg.eqn}) and
         Eqn.~(\ref{evolk.eqn}) and found to be $O(h^2)$.
\end{itemize}
\ENDSLIDE{0.0in}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\BEGINSLIDE{-1.0in}
\section{Inner and Outer boundaries}
\begin{itemize}
\item At the boundaries the T-code currently uses one-sided
      differencing for derivatives.
\item  Future work will involve the implementation of inner and outer
        boundaries.
\item  It is expected that Cauchy-Characteristic matching will be used
       at the outer boundary.
\item At the inner boundary we currently have the
      infrastructure for horizon location/tracking.
\item We need the proper differencing of the
      shift terms in the evolution equations.
\item Currently we are working on a multigrid code to solve the
       maximal slicing equation.
\item  A SOR version is already working with a hole cut out of the interior
       boundary (multigrid version onway).
\item  In the future we hope to tackle the minimal distortion shift
       much the same way. 
\end{itemize}
\ENDSLIDE{0.00in}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Variable Storage}
\BEGINSLIDE{0.0in}
{\Large
\begin{tabular}{ll}
\hline
Grid Function & Number of independent components \\ \hline
$g_{ij}$  & $6\times 2$ independent components(two = n+1 timestep) \\
$g^{ij}$  & 6 independent components(required for various stages) \\
$K^i_j$   & $9\times 2$ components (multiply by two for n+1 timestep) \\
$\Gamma^i_{jk}$ & 18 components (stored instead of $g_{ij,k}$) \\
$R_{ij}$  & 6 components (Raised when needed in eqn.~(\ref{evolk.eqn})) \\
$\alpha$  & scalar function \\
$\beta^i$ & 3 components ($\beta_i$ can be obtained using $g_{ij}$) \\
\hline
\end{tabular}
}
\vskip 0.25in
The lower limit on required variables for the solution to the evolution
is $64$ grid variables.

\ENDSLIDE{0.00in}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\BEGINSLIDE{-1.0in}
\section{Modules for the connection coefficients}
The calculation of the connection coefficients can be broken up into several
stages.

The connection coefficients are given by
\begin{equation}
\Gamma^i_{jk} = \frac{1}{2} g^{il} \left( g_{lj,k} + g_{lk,j} - g_{jk,l}
\right)
\label{connect.1}
\end{equation}

The calculation can be broken up into three separate sets using $9$ temporary
variables.

There are 3 steps: \\
{\Large
For the first term in eqn.~(\ref{connect.1})
\begin{eqnarray}
\Gamma^i_{jk} 
 =  \frac{1}{2} \left(g^{i1} g_{1j,k} + g^{i2} g_{2j,k} + g^{i3} g_{3j,k}
\right) \label{connect.2}
\end{eqnarray}
We label these parts C1-C3.
For the second term in eqn.~(\ref{connect.1})
\begin{eqnarray}
\Gamma^i_{jk} 
 =  \Gamma^i_{jk} + \frac{1}{2} \left(g^{i1} g_{1k,j} + g^{i2} g_{2k,j}
+ g^{i3} g_{3k,j} \right) \label{connect.3}
\end{eqnarray}
We label these parts C4-C6.
For the third term in eqn.~(\ref{connect.1})
\begin{eqnarray}
\Gamma^i_{jk} 
 =  \Gamma^i_{jk} - \frac{1}{2} \left(g^{i1} g_{jk,1} + g^{i2} g_{jk,2}
+ g^{i3} g_{jk,3} \right) \label{connect.4}
\end{eqnarray}
We label these parts C7-C9.
}
\ENDSLIDE{0.00in}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\BEGINSLIDE{0.0in}
\section {Ricci tensor}
Break up into several pieces using just $9$ temporary grid functions. 
\begin{equation}
R_{ij} = \Gamma^a_{ij,a} - \Gamma^a_{ia,j} +
\Gamma^a_{ab} \Gamma^b_{ij} - \Gamma^a_{bj} \Gamma^b_{ia}
\label{ricci.1}
\end{equation}
The evaluation of the Ricci tensor
is broken as follows:
\begin{eqnarray}
R_{ij} & = & \Gamma^a_{ij,a} \nonumber \\
& = & \Gamma^1_{ij,1} + \Gamma^2_{ij,2} + \Gamma^3_{ij,3}
\label{ricci.2}
\end{eqnarray}
\begin{eqnarray}
R_{ij} & = & R_{ij} - \Gamma^a_{ia,j} \nonumber \\
& = & R_{ij} - \left(\Gamma^1_{i1,j} + \Gamma^2_{i2,j} + \Gamma^3_{i3,j}
\right)
\label{ricci.3}
\end{eqnarray}
\begin{eqnarray}
R_{ij} & = & R_{ij} + \Gamma^a_{ab} \Gamma^b_{ij} - \Gamma^a_{bj} \Gamma^b_{ia}
\label{ricci.4}
\end{eqnarray}
where in eqns.~(\ref{ricci.1},\ref{ricci.2}) terms like $\Gamma^1_{ij,1}$ and
$ \Gamma^1_{i1,j}$ are calculated using temporary arrays.
\ENDSLIDE{0.00in}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\BEGINSLIDE{-1.0in}
\section{Evolution equations} 
\begin{eqnarray}
\partial_t g_{ij} & = & - 2 \alpha K_{ij} + D_i \beta_j + D_j \beta_i. 
\end{eqnarray}
\begin{itemize}
	\item Use $9$ temporary grid functions for evaulation of the second and
         third terms.
	\item  Recall that $\beta^i$, the contravariant
          form of the shift, is stored.
   \item Since $g_{ij}$ is compatible with $D_i$ we can
         rewrite $D_i \beta_j = g_{jk} D_i \beta^k$.
	\item We are left with calculating
\begin{eqnarray}
\label{gshift.eqn}
D_i \beta_j = g_{jk} \left( \partial_i \beta^k - \Gamma^k_{il}\beta^l \right).
\end{eqnarray}
	\item Use  $9$ grid functions to store the components of
   $\partial_i \beta^k$ first and then add $\Gamma^k_{il}\beta^l$
	\item  Evaluating eqn.~(\ref{evolg.eqn}) means using the temporary
           variables for $D_i \beta_j$.
	\item Use second order differencing for derivatives.
	\item 5 Modules for these routines for the evolution of the 3 metric.
\end{itemize}
\ENDSLIDE{0.00in}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\BEGINSLIDE{-1.0in}
\section{Evolution equations} 
\begin{center} extrinsic curvature \end{center}
\begin{eqnarray}
\nonumber
\partial_t K^i_j  & = & {\cal L}_{\beta} K^i_j - D^i D_j \alpha +
\alpha \left( R^i_j + K K^i_j \right)
\end{eqnarray}
We break this equation up into 5 parts(5 modules)

\ENDSLIDE{0.00in}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\BEGINSLIDE{-1.25in}
\section{Derivative routines, Vertex Centered}
Spatial derivative routines contain routines for Inner boundary, Outer boundary
and interior. Time derivatives, $O(h^2)$ use a 3 level leap frog scheme.
All derivative routines are second order for the first derivative in 
$x,y,z$ directions.

To handle the hole, 2 non-distributed lists are created, {\tt m(nl),d(nl)}
where {\tt m(l)} contains the {i,j,k} location of the ``hole'' points
and {\tt d(l)} contains either (1,-1,0) indicating either forward,
backwards or centered. 

The derivatives around the hole
are determined to second order.  Second derivatives, {\it for example $f_{xx}$,
are only first order accurate}. The interior second derivatives are 
second order accurate.
\ENDSLIDE{-1.0in}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% E N D    S L I D E S
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
}
\end  {document}
