% *======================================================================*
%  Cactus Thorn template for ThornGuide documentation
%  Author: Ian Kelley
%  Date: Sun Jun 02, 2002
%  $Header$
%
%  Thorn documentation in the latex file doc/documentation.tex
%  will be included in ThornGuides built with the Cactus make system.
%  The scripts employed by the make system automatically include
%  pages about variables, parameters and scheduling parsed from the
%  relevant thorn CCL files.
%
%  This template contains guidelines which help to assure that your
%  documentation will be correctly added to ThornGuides. More
%  information is available in the Cactus UsersGuide.
%
%  Guidelines:
%   - Do not change anything before the line
%       % START CACTUS THORNGUIDE",
%     except for filling in the title, author, date, etc. fields.
%        - Each of these fields should only be on ONE line.
%        - Author names should be separated with a \\ or a comma.
%   - You can define your own macros, but they must appear after
%     the START CACTUS THORNGUIDE line, and must not redefine standard
%     latex commands.
%   - To avoid name clashes with other thorns, 'labels', 'citations',
%     'references', and 'image' names should conform to the following
%     convention:
%       ARRANGEMENT_THORN_LABEL
%     For example, an image wave.eps in the arrangement CactusWave and
%     thorn WaveToyC should be renamed to CactusWave_WaveToyC_wave.eps
%   - Graphics should only be included using the graphicx package.
%     More specifically, with the "\includegraphics" command.  Do
%     not specify any graphic file extensions in your .tex file. This
%     will allow us to create a PDF version of the ThornGuide
%     via pdflatex.
%   - References should be included with the latex "\bibitem" command.
%   - Use \begin{abstract}...\end{abstract} instead of \abstract{...}
%   - Do not use \appendix, instead include any appendices you need as
%     standard sections.
%   - For the benefit of our Perl scripts, and for future extensions,
%     please use simple latex.
%
% *======================================================================*
%
% Example of including a graphic image:
%    \begin{figure}[ht]
% 	\begin{center}
%    	   \includegraphics[width=6cm]{/home/runner/work/tests/tests/arrangements/CanudaX/CanudaX_ExactID/doc/MyArrangement_MyThorn_MyFigure}
% 	\end{center}
% 	\caption{Illustration of this and that}
% 	\label{MyArrangement_MyThorn_MyLabel}
%    \end{figure}
%
% Example of using a label:
%   \label{MyArrangement_MyThorn_MyLabel}
%
% Example of a citation:
%    \cite{MyArrangement_MyThorn_Author99}
%
% Example of including a reference
%   \bibitem{MyArrangement_MyThorn_Author99}
%   {J. Author, {\em The Title of the Book, Journal, or periodical}, 1 (1999),
%   1--16. {\tt http://www.nowhere.com/}}
%
% *======================================================================*

% If you are using CVS use this line to give version information
% $Header$

\documentclass{article}

% Use the Cactus ThornGuide style file
% (Automatically used from Cactus distribution, if you have a
%  thorn without the Cactus Flesh download this from the Cactus
%  homepage at www.cactuscode.org)
\usepackage{../../../../../doc/latex/cactus}

\newlength{\tableWidth} \newlength{\maxVarWidth} \newlength{\paraWidth} \newlength{\descWidth} \begin{document}

% The author of the documentation
\author{Cheng-Hsin Cheng}

% The title of the document (not necessarily the name of the Thorn)
\title{CanudaX\_ExactID}

% the date your document was last changed, if your document is in CVS,
% please use:
%    \date{$ $Date$ $}
% when using git instead record the commit ID:
%    \date{\gitrevision{<path-to-your-.git-directory>}}
\date{April 15, 2026}

\maketitle

% Do not delete next line
% START CACTUS THORNGUIDE

% Add all definitions used in this documentation here
%   \def\mydef etc

% Add an abstract for this thorn's documentation
\begin{abstract}
\texttt{CanudaX\_ExactID} provides exact initial data of vacuum spacetimes for use in \texttt{ADMBaseX}.
Currently, \texttt{CanudaX\_ExactID} can set up initial data for a single Kerr BH, Teukolsky waves, and Apples with Apples tests.
\end{abstract}

% The following sections are suggestive only.
% Remove them or add your own.

\section{Introduction}

This thorn provides exact initial data for vacuum spacetimes, which currently includes the following cases.

\subsection{Kerr BH in quasi-isotropic coordinates}
  Based on the \texttt{KerrQuasiIsotropic} thorn from \texttt{Lean}.
  The original \texttt{KerrQuasiIsotropic} thorn provides analytic initial data for a rotating black hole, spinning around the z-axis, in quasi-isotropic coordinates where the radial coordinate is defined by 
  \begin{equation}
    r_{\rm BL} = r \left(1 + \frac{r_{+}}{4r} \right)^2.
  \end{equation}
  We employ the construction of~\cite{Liu:2009al}, with our specific construction outlined in Eqs.~(46)--(48) of~\cite{Okawa:2014nda}.

\subsection{Teukolsky waves}
  Based on \texttt{EinsteinInitialData/IDLinearWaves}.
  Teukolsky waves are quadrupolar waves in linearized GR in transverse-traceless gauge~\cite{Teukolsky:1982nz}.
  Please see the original documentation for \texttt{IDLinearWaves} for more detail.

\subsection{Apples with apples tests}
Provides initial data for the gauge wave, shifted gauge wave, linearized wave tests. For details, see the references~\cite{Alcubierre:2003pc} \cite{Babiuc:2007vr} \cite{Daverio:2018tjf}.


\section{Applications}
\begin{itemize}
  \item Evolution of extra fields in Kerr spacetime, reproducing e.g. quasinormal modes of scalar perturbations

  \item Testing code for gravitational wave extraction using a short evolution of Teukolsky wave initial data

  \item Benchmarking and testing code, following `apples with apples' tests
\end{itemize}



\begin{thebibliography}{9}

\bibitem{Liu:2009al}
Y.~T.~Liu, Z.~B.~Etienne and S.~L.~Shapiro,
%``Evolution of near-extremal-spin black holes using the moving puncture technique,''
Phys. Rev. D \textbf{80}, 121503 (2009)
doi:10.1103/PhysRevD.80.121503
[arXiv:1001.4077 [gr-qc]].
%42 citations counted in INSPIRE as of 16 Apr 2026

\bibitem{Okawa:2014nda}
H.~Okawa, H.~Witek and V.~Cardoso,
``Black holes and fundamental fields in Numerical Relativity: initial data construction and evolution of bound states,''
Phys. Rev. D \textbf{89}, no.10, 104032 (2014)
doi:10.1103/PhysRevD.89.104032
[arXiv:1401.1548 [gr-qc]].

\bibitem{Teukolsky:1982nz}
S.~A.~Teukolsky,
``LINEARIZED QUADRUPOLE WAVES IN GENERAL RELATIVITY AND THE MOTION OF TEST PARTICLES,''
Phys. Rev. D \textbf{26}, 745-750 (1982)
doi:10.1103/PhysRevD.26.745

\bibitem{Alcubierre:2003pc}
M.~Alcubierre, G.~Allen, C.~Bona, D.~Fiske, T.~Goodale, F.~S.~Guzman, I.~Hawke, S.~H.~Hawley, S.~Husa and M.~Koppitz, \textit{et al.}
``Toward standard testbeds for numerical relativity,''
Class. Quant. Grav. \textbf{21}, no.2, 589-613 (2004)
doi:10.1088/0264-9381/21/2/019
[arXiv:gr-qc/0305023 [gr-qc]].

\bibitem{Babiuc:2007vr}
M.~C.~Babiuc, S.~Husa, D.~Alic, I.~Hinder, C.~Lechner, E.~Schnetter, B.~Szilagyi, Y.~Zlochower, N.~Dorband and D.~Pollney, \textit{et al.}
``Implementation of standard testbeds for numerical relativity,''
Class. Quant. Grav. \textbf{25}, 125012 (2008)
doi:10.1088/0264-9381/25/12/125012
[arXiv:0709.3559 [gr-qc]].

\bibitem{Daverio:2018tjf}
D.~Daverio, Y.~Dirian and E.~Mitsou,
``Apples with Apples comparison of 3+1 conformal numerical relativity schemes,''
[arXiv:1810.12346 [gr-qc]].

\end{thebibliography}

% Do not delete next line
% END CACTUS THORNGUIDE



\section{Parameters} 


\parskip = 0pt

\setlength{\tableWidth}{160mm}

\setlength{\paraWidth}{\tableWidth}
\setlength{\descWidth}{\tableWidth}
\settowidth{\maxVarWidth}{schedule\_in\_admbasex\_initialdata}

\addtolength{\paraWidth}{-\maxVarWidth}
\addtolength{\paraWidth}{-\columnsep}
\addtolength{\paraWidth}{-\columnsep}
\addtolength{\paraWidth}{-\columnsep}

\addtolength{\descWidth}{-\columnsep}
\addtolength{\descWidth}{-\columnsep}
\addtolength{\descWidth}{-\columnsep}
\noindent \begin{tabular*}{\tableWidth}{|c|l@{\extracolsep{\fill}}r|}
\hline
\multicolumn{1}{|p{\maxVarWidth}}{eps\_r} & {\bf Scope:} private & REAL \\\hline
\multicolumn{3}{|p{\descWidth}|}{{\bf Description:}   {\em Floor value for radial distance}} \\
\hline{\bf Range} & &  {\bf Default:} 1.0d-12 \\\multicolumn{1}{|p{\maxVarWidth}|}{\centering 0:*} & \multicolumn{2}{p{\paraWidth}|}{any small positive value} \\\hline
\end{tabular*}

\vspace{0.5cm}\noindent \begin{tabular*}{\tableWidth}{|c|l@{\extracolsep{\fill}}r|}
\hline
\multicolumn{1}{|p{\maxVarWidth}}{kqi\_m\_plus} & {\bf Scope:} private & REAL \\\hline
\multicolumn{3}{|p{\descWidth}|}{{\bf Description:}   {\em Mass of the Kerr BH}} \\
\hline{\bf Range} & &  {\bf Default:} 1.0 \\\multicolumn{1}{|p{\maxVarWidth}|}{\centering 0.0:*} & \multicolumn{2}{p{\paraWidth}|}{any positive value} \\\hline
\end{tabular*}

\vspace{0.5cm}\noindent \begin{tabular*}{\tableWidth}{|c|l@{\extracolsep{\fill}}r|}
\hline
\multicolumn{1}{|p{\maxVarWidth}}{kqi\_pos\_plus} & {\bf Scope:} private & REAL \\\hline
\multicolumn{3}{|p{\descWidth}|}{{\bf Description:}   {\em Position of the Kerr BH}} \\
\hline{\bf Range} & &  {\bf Default:} 0.0 \\\multicolumn{1}{|p{\maxVarWidth}|}{\centering *:*} & \multicolumn{2}{p{\paraWidth}|}{any value possible; for zero spin set pos\_plus[0]=0.0001} \\\hline
\end{tabular*}

\vspace{0.5cm}\noindent \begin{tabular*}{\tableWidth}{|c|l@{\extracolsep{\fill}}r|}
\hline
\multicolumn{1}{|p{\maxVarWidth}}{kqi\_spin\_plus} & {\bf Scope:} private & REAL \\\hline
\multicolumn{3}{|p{\descWidth}|}{{\bf Description:}   {\em Dimensionless spin of the Kerr BH with z being the rotation axis}} \\
\hline{\bf Range} & &  {\bf Default:} 0.0 \\\multicolumn{1}{|p{\maxVarWidth}|}{\centering 0:1} & \multicolumn{2}{p{\paraWidth}|}{any value between 0 and 1} \\\hline
\end{tabular*}

\vspace{0.5cm}\noindent \begin{tabular*}{\tableWidth}{|c|l@{\extracolsep{\fill}}r|}
\hline
\multicolumn{1}{|p{\maxVarWidth}}{schedule\_in\_admbasex\_initialdata} & {\bf Scope:} private & BOOLEAN \\\hline
\multicolumn{3}{|p{\descWidth}|}{{\bf Description:}   {\em Schedule in (instead of after) ADMBaseX\_InitialData}} \\
\hline & & {\bf Default:} yes \\\hline
\end{tabular*}

\vspace{0.5cm}\noindent \begin{tabular*}{\tableWidth}{|c|l@{\extracolsep{\fill}}r|}
\hline
\multicolumn{1}{|p{\maxVarWidth}}{teukolsky\_mvalue} & {\bf Scope:} private & INT \\\hline
\multicolumn{3}{|p{\descWidth}|}{{\bf Description:}   {\em m value for Teukolsky waves: integer from -2 to 2}} \\
\hline{\bf Range} & &  {\bf Default:} (none) \\\multicolumn{1}{|p{\maxVarWidth}|}{\centering -2:2} & \multicolumn{2}{p{\paraWidth}|}{implemented : m = -2, -1, 0, 1, 2} \\\hline
\end{tabular*}

\vspace{0.5cm}\noindent \begin{tabular*}{\tableWidth}{|c|l@{\extracolsep{\fill}}r|}
\hline
\multicolumn{1}{|p{\maxVarWidth}}{teukolsky\_packet} & {\bf Scope:} private & KEYWORD \\\hline
\multicolumn{3}{|p{\descWidth}|}{{\bf Description:}   {\em Wave packet shape for Teukolsky waves}} \\
\hline{\bf Range} & &  {\bf Default:} eppley \\\multicolumn{1}{|p{\maxVarWidth}|}{\centering eppley} & \multicolumn{2}{p{\paraWidth}|}{Eppley packet: x exp(-x\^2)} \\\multicolumn{1}{|p{\maxVarWidth}|}{\centering evans} & \multicolumn{2}{p{\paraWidth}|}{Evans packet: w\^4 (1-x\^2/w\^2)\^6} \\\multicolumn{1}{|p{\maxVarWidth}|}{\centering square} & \multicolumn{2}{p{\paraWidth}|}{Square packet: (1-x\^2/w\^2)\^2} \\\hline
\end{tabular*}

\vspace{0.5cm}\noindent \begin{tabular*}{\tableWidth}{|c|l@{\extracolsep{\fill}}r|}
\hline
\multicolumn{1}{|p{\maxVarWidth}}{teukolsky\_parity} & {\bf Scope:} private & KEYWORD \\\hline
\multicolumn{3}{|p{\descWidth}|}{{\bf Description:}   {\em Parity for Teukolsky waves: even or odd}} \\
\hline{\bf Range} & &  {\bf Default:} even \\\multicolumn{1}{|p{\maxVarWidth}|}{\centering even} & \multicolumn{2}{p{\paraWidth}|}{even parity} \\\multicolumn{1}{|p{\maxVarWidth}|}{\centering odd} & \multicolumn{2}{p{\paraWidth}|}{odd parity} \\\hline
\end{tabular*}

\vspace{0.5cm}\noindent \begin{tabular*}{\tableWidth}{|c|l@{\extracolsep{\fill}}r|}
\hline
\multicolumn{1}{|p{\maxVarWidth}}{teukolsky\_wavecenter} & {\bf Scope:} private & REAL \\\hline
\multicolumn{3}{|p{\descWidth}|}{{\bf Description:}   {\em Center of propagation for Teukolsky waves}} \\
\hline{\bf Range} & &  {\bf Default:} 0.0 \\\multicolumn{1}{|p{\maxVarWidth}|}{\centering :} & \multicolumn{2}{p{\paraWidth}|}{} \\\hline
\end{tabular*}

\vspace{0.5cm}\noindent \begin{tabular*}{\tableWidth}{|c|l@{\extracolsep{\fill}}r|}
\hline
\multicolumn{1}{|p{\maxVarWidth}}{teukolsky\_wavelength} & {\bf Scope:} private & REAL \\\hline
\multicolumn{3}{|p{\descWidth}|}{{\bf Description:}   {\em Wave length of Teukolsky waves}} \\
\hline{\bf Range} & &  {\bf Default:} 2.0 \\\multicolumn{1}{|p{\maxVarWidth}|}{\centering 0:} & \multicolumn{2}{p{\paraWidth}|}{positive wavelength} \\\hline
\end{tabular*}

\vspace{0.5cm}\noindent \begin{tabular*}{\tableWidth}{|c|l@{\extracolsep{\fill}}r|}
\hline
\multicolumn{1}{|p{\maxVarWidth}}{teukolsky\_wavepulse} & {\bf Scope:} private & REAL \\\hline
\multicolumn{3}{|p{\descWidth}|}{{\bf Description:}   {\em Pulse length/duration for purely ingoing Teukolsky waves}} \\
\hline{\bf Range} & &  {\bf Default:} 1.0 \\\multicolumn{1}{|p{\maxVarWidth}|}{\centering 0:} & \multicolumn{2}{p{\paraWidth}|}{positive pulse} \\\hline
\end{tabular*}

\vspace{0.5cm}\noindent \begin{tabular*}{\tableWidth}{|c|l@{\extracolsep{\fill}}r|}
\hline
\multicolumn{1}{|p{\maxVarWidth}}{teukolsky\_wavesgoing} & {\bf Scope:} private & KEYWORD \\\hline
\multicolumn{3}{|p{\descWidth}|}{{\bf Description:}   {\em Wave propagation direction for Teukolsky waves}} \\
\hline{\bf Range} & &  {\bf Default:} both \\\multicolumn{1}{|p{\maxVarWidth}|}{\centering in} & \multicolumn{2}{p{\paraWidth}|}{Ingoing wave} \\\multicolumn{1}{|p{\maxVarWidth}|}{\centering out} & \multicolumn{2}{p{\paraWidth}|}{Outgoing wave} \\\multicolumn{1}{|p{\maxVarWidth}|}{\centering both} & \multicolumn{2}{p{\paraWidth}|}{In and outgoing wave} \\\hline
\end{tabular*}

\vspace{0.5cm}\noindent \begin{tabular*}{\tableWidth}{|c|l@{\extracolsep{\fill}}r|}
\hline
\multicolumn{1}{|p{\maxVarWidth}}{wave\_amplitude} & {\bf Scope:} private & REAL \\\hline
\multicolumn{3}{|p{\descWidth}|}{{\bf Description:}   {\em Amplitude of gauge wave or linear wave}} \\
\hline{\bf Range} & &  {\bf Default:} 1.0 \\\multicolumn{1}{|p{\maxVarWidth}|}{\centering 0.0:*} & \multicolumn{2}{p{\paraWidth}|}{any positive value} \\\hline
\end{tabular*}

\vspace{0.5cm}\noindent \begin{tabular*}{\tableWidth}{|c|l@{\extracolsep{\fill}}r|}
\hline
\multicolumn{1}{|p{\maxVarWidth}}{wave\_period} & {\bf Scope:} private & REAL \\\hline
\multicolumn{3}{|p{\descWidth}|}{{\bf Description:}   {\em Period of the gauge wave or linear wave}} \\
\hline{\bf Range} & &  {\bf Default:} 1.0 \\\multicolumn{1}{|p{\maxVarWidth}|}{\centering 0.0:*} & \multicolumn{2}{p{\paraWidth}|}{any positive value} \\\hline
\end{tabular*}

\vspace{0.5cm}\noindent \begin{tabular*}{\tableWidth}{|c|l@{\extracolsep{\fill}}r|}
\hline
\multicolumn{1}{|p{\maxVarWidth}}{initial\_data} & {\bf Scope:} shared from ADMBASEX & KEYWORD \\\hline
\multicolumn{3}{|l|}{\bf Extends ranges:}\\ 
\hline\multicolumn{1}{|p{\maxVarWidth}|}{\centering KQI\_ana} & \multicolumn{2}{p{\paraWidth}|}{"KerrQuasiIsotropic: 
 Analytic initial data for single Kerr BH in quasi-isotropic coordinates"} \\\multicolumn{1}{|p{\maxVarWidth}|}{\centering GaugeWave} & \multicolumn{2}{p{\paraWidth}|}{Gauge wave} \\\multicolumn{1}{|p{\maxVarWidth}|}{\centering ShiftedGaugeWave} & \multicolumn{2}{p{\paraWidth}|}{Shifted gauge wave} \\\multicolumn{1}{|p{\maxVarWidth}|}{\centering LinearizedWave} & \multicolumn{2}{p{\paraWidth}|}{Linearized wave} \\\multicolumn{1}{|p{\maxVarWidth}|}{\centering TeukolskyWave} & \multicolumn{2}{p{\paraWidth}|}{Teukolsky wave} \\\hline
\end{tabular*}

\vspace{0.5cm}\noindent \begin{tabular*}{\tableWidth}{|c|l@{\extracolsep{\fill}}r|}
\hline
\multicolumn{1}{|p{\maxVarWidth}}{initial\_lapse} & {\bf Scope:} shared from ADMBASEX & KEYWORD \\\hline
\multicolumn{3}{|l|}{\bf Extends ranges:}\\ 
\hline\multicolumn{1}{|p{\maxVarWidth}|}{\centering KQI\_ana} & \multicolumn{2}{p{\paraWidth}|}{"KerrQuasiIsotropic: 
 analytically extend lapse through origin"} \\\multicolumn{1}{|p{\maxVarWidth}|}{\centering KQI\_prec} & \multicolumn{2}{p{\paraWidth}|}{"KerrQuasiIsotropic: 
 use precollapsed lapse"} \\\multicolumn{1}{|p{\maxVarWidth}|}{\centering KQI\_abs} & \multicolumn{2}{p{\paraWidth}|}{"KerrQuasiIsotropic: 
 use absolute value of lapse (discouraged; better to use KQI\_ana to reproduce QNMs)"} \\\multicolumn{1}{|p{\maxVarWidth}|}{\centering GaugeWave} & \multicolumn{2}{p{\paraWidth}|}{Gauge wave} \\\multicolumn{1}{|p{\maxVarWidth}|}{\centering ShiftedGaugeWave} & \multicolumn{2}{p{\paraWidth}|}{Shifted gauge wave} \\\multicolumn{1}{|p{\maxVarWidth}|}{\centering LinearizedWave} & \multicolumn{2}{p{\paraWidth}|}{Linearized wave} \\\hline
\end{tabular*}

\vspace{0.5cm}\noindent \begin{tabular*}{\tableWidth}{|c|l@{\extracolsep{\fill}}r|}
\hline
\multicolumn{1}{|p{\maxVarWidth}}{initial\_shift} & {\bf Scope:} shared from ADMBASEX & KEYWORD \\\hline
\multicolumn{3}{|l|}{\bf Extends ranges:}\\ 
\hline\multicolumn{1}{|p{\maxVarWidth}|}{\centering KQI\_ana} & \multicolumn{2}{p{\paraWidth}|}{"KerrQuasiIsotropic: 
 anayltic shift"} \\\multicolumn{1}{|p{\maxVarWidth}|}{\centering GaugeWave} & \multicolumn{2}{p{\paraWidth}|}{Gauge wave} \\\multicolumn{1}{|p{\maxVarWidth}|}{\centering ShiftedGaugeWave} & \multicolumn{2}{p{\paraWidth}|}{Shifted gauge wave} \\\multicolumn{1}{|p{\maxVarWidth}|}{\centering LinearizedWave} & \multicolumn{2}{p{\paraWidth}|}{Linearized wave} \\\hline
\end{tabular*}

\vspace{0.5cm}\parskip = 10pt 

\section{Interfaces} 


\parskip = 0pt

\vspace{3mm} \subsection*{General}

\noindent {\bf Implements}: 

canudax\_exactid
\vspace{2mm}

\noindent {\bf Inherits}: 

admbasex
\vspace{2mm}

\vspace{5mm}

\noindent {\bf Uses header}: 

loop\_device.hxx
\vspace{2mm}\parskip = 10pt 

\section{Schedule} 


\parskip = 0pt


\noindent This section lists all the variables which are assigned storage by thorn CanudaX/CanudaX\_ExactID.  Storage can either last for the duration of the run ({\bf Always} means that if this thorn is activated storage will be assigned, {\bf Conditional} means that if this thorn is activated storage will be assigned for the duration of the run if some condition is met), or can be turned on for the duration of a schedule function.


\subsection*{Storage}NONE
\subsection*{Scheduled Functions}
\vspace{5mm}

\noindent {\bf ADMBaseX\_InitialData}   (conditional) 

\hspace{5mm} canudax\_exactidgroup 

\hspace{5mm}{\it canudax\_exactid group for setting up initial data } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & Type:  & group \\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf CCTK\_INITIAL}   (conditional) 

\hspace{5mm} canudax\_exactidgroup 

\hspace{5mm}{\it canudax\_exactid group for setting up initial data } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & After:  & admbasex\_initialdata \\ 
~ & Before:  & admbasex\_postinitial \\ 
~ & Type:  & group \\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf CanudaX\_ExactIDGroup}   (conditional) 

\hspace{5mm} canudax\_exactid\_kqi\_analytic 

\hspace{5mm}{\it create analytic initial data for a kerr bh } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & Language:  & c \\ 
~ & Options:  & local \\ 
~ & Sync:  & admbasex::metric \\ 
~& ~ &admbasex::curv\\ 
~& ~ &admbasex::lapse\\ 
~& ~ &admbasex::shift\\ 
~ & Type:  & function \\ 
~ & Writes:  & admbasex::metric(everywhere) \\ 
~& ~ &admbasex::curv(everywhere)\\ 
~& ~ &admbasex::lapse(everywhere)\\ 
~& ~ &admbasex::shift(everywhere)\\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf CanudaX\_ExactIDGroup}   (conditional) 

\hspace{5mm} canudax\_exactid\_gaugewave 

\hspace{5mm}{\it create gauge wave initial data } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & Language:  & c \\ 
~ & Options:  & local \\ 
~ & Sync:  & admbasex::metric \\ 
~& ~ &admbasex::curv\\ 
~& ~ &admbasex::lapse\\ 
~& ~ &admbasex::shift\\ 
~ & Type:  & function \\ 
~ & Writes:  & admbasex::metric(everywhere) \\ 
~& ~ &admbasex::curv(everywhere)\\ 
~& ~ &admbasex::lapse(everywhere)\\ 
~& ~ &admbasex::shift(everywhere)\\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf CanudaX\_ExactIDGroup}   (conditional) 

\hspace{5mm} canudax\_exactid\_shiftedgaugewave 

\hspace{5mm}{\it create shifted gauge wave initial data } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & Language:  & c \\ 
~ & Options:  & local \\ 
~ & Sync:  & admbasex::metric \\ 
~& ~ &admbasex::curv\\ 
~& ~ &admbasex::lapse\\ 
~& ~ &admbasex::shift\\ 
~ & Type:  & function \\ 
~ & Writes:  & admbasex::metric(everywhere) \\ 
~& ~ &admbasex::curv(everywhere)\\ 
~& ~ &admbasex::lapse(everywhere)\\ 
~& ~ &admbasex::shift(everywhere)\\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf CanudaX\_ExactIDGroup}   (conditional) 

\hspace{5mm} canudax\_exactid\_linearizedwave 

\hspace{5mm}{\it create linearized wave initial data } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & Language:  & c \\ 
~ & Options:  & local \\ 
~ & Sync:  & admbasex::metric \\ 
~& ~ &admbasex::curv\\ 
~& ~ &admbasex::lapse\\ 
~& ~ &admbasex::shift\\ 
~ & Type:  & function \\ 
~ & Writes:  & admbasex::metric(everywhere) \\ 
~& ~ &admbasex::curv(everywhere)\\ 
~& ~ &admbasex::lapse(everywhere)\\ 
~& ~ &admbasex::shift(everywhere)\\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf CanudaX\_ExactIDGroup}   (conditional) 

\hspace{5mm} canudax\_exactid\_teukwave 

\hspace{5mm}{\it create teukolsky wave initial data } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & Language:  & c \\ 
~ & Options:  & local \\ 
~ & Sync:  & admbasex::metric \\ 
~& ~ &admbasex::curv\\ 
~ & Type:  & function \\ 
~ & Writes:  & admbasex::metric(everywhere) \\ 
~& ~ &admbasex::curv(everywhere)\\ 
\end{tabular*} 



\vspace{5mm}\parskip = 10pt 
\end{document}
