
\section{Schedule} 


\parskip = 0pt


\noindent This section lists all the variables which are assigned storage by thorn EinsteinBase/ADMBase.  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}

\hspace{5mm}

 \begin{tabular*}{160mm}{ll} 

{\bf Always:}& {\bf Conditional:} \\ 
 shift\_state dtlapse\_state dtshift\_state &  shift[shift\_timelevels]\\ 
 lapse[lapse\_timelevels] &  dtlapse[lapse\_timelevels]\\ 
 metric[metric\_timelevels] curv[metric\_timelevels] &  dtshift[shift\_timelevels]\\ 
~ & ~\\ 
\end{tabular*} 


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

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

\hspace{5mm} admbase\_paramcheck 

\hspace{5mm}{\it check consistency of parameters } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & Language:  & c \\ 
~ & Options:  & global \\ 
~ & Type:  & function \\ 
\end{tabular*} 


\vspace{5mm}

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

\hspace{5mm} admbase\_initialdata 

\hspace{5mm}{\it schedule group for calculating adm initial data } 


\hspace{5mm}

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


\vspace{5mm}

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

\hspace{5mm} admbase\_setdtshiftstateon 

\hspace{5mm}{\it set the dtshift\_state variable to 1 } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & Language:  & c \\ 
~ & Type:  & function \\ 
~ & Writes:  & admbase::dtshift\_state(everywhere) \\ 
\end{tabular*} 


\vspace{5mm}

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

\hspace{5mm} admbase\_setdtshiftstateoff 

\hspace{5mm}{\it set the dtshift\_state variable to 0 } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & Language:  & c \\ 
~ & Type:  & function \\ 
~ & Writes:  & admbase::dtshift\_state(everywhere) \\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf ADMBase\_InitialGauge}   (conditional) 

\hspace{5mm} admbase\_shiftzero 

\hspace{5mm}{\it set the shift to 0 at all points } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & Language:  & c \\ 
~ & Type:  & function \\ 
~ & Writes:  & admbase::shift(everywhere) \\ 
~& ~ &admbase::shift\_p(everywhere)\\ 
~& ~ &admbase::shift\_p\_p(everywhere)\\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf ADMBase\_InitialGauge}   (conditional) 

\hspace{5mm} admbase\_dtlapsezero 

\hspace{5mm}{\it set the dtlapse to 0 at all points } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & Language:  & c \\ 
~ & Type:  & function \\ 
~ & Writes:  & admbase::dtalp(everywhere) \\ 
~& ~ &dtalp\_p(everywhere)\\ 
~& ~ &dtalp\_p\_p(everywhere)\\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf ADMBase\_InitialGauge}   (conditional) 

\hspace{5mm} admbase\_dtshiftzero 

\hspace{5mm}{\it set the dtshift to 0 at all points } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & Language:  & c \\ 
~ & Type:  & function \\ 
~ & Writes:  & admbase::dtshift(everywhere) \\ 
~& ~ &admbase::dtshift\_p(everywhere)\\ 
~& ~ &admbase::dtshift\_p\_p(everywhere)\\ 
\end{tabular*} 


\vspace{5mm}

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

\hspace{5mm} admbase\_lapsestatic 

\hspace{5mm}{\it copy the lapse to the current time level } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & Language:  & c \\ 
~ & Reads:  & admbase::alp\_p(everywhere) \\ 
~& ~ &admbase::dtalp\_p(everywhere)\\ 
~ & Type:  & function \\ 
~ & Writes:  & admbase::alp(everywhere) \\ 
~& ~ &admbase::dtalp(everywhere)\\ 
\end{tabular*} 


\vspace{5mm}

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

\hspace{5mm} admbase\_shiftstatic 

\hspace{5mm}{\it copy the shift to the current time level } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & Language:  & c \\ 
~ & Reads:  & admbase::shift\_p(everywhere) \\ 
~& ~ &admbase::dtshift\_p(everywhere)\\ 
~ & Type:  & function \\ 
~ & Writes:  & admbase::shift(everywhere) \\ 
~& ~ &admbase::dtshift(everywhere)\\ 
\end{tabular*} 


\vspace{5mm}

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

\hspace{5mm} admbase\_static 

\hspace{5mm}{\it copy the metric and extrinsic curvature to the current time level } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & Language:  & c \\ 
~ & Reads:  & admbase::curv\_p(everywhere) \\ 
~& ~ &admbase::metric\_p(everywhere)\\ 
~ & Type:  & function \\ 
~ & Writes:  & admbase::curv(everywhere) \\ 
~& ~ &admbase::metric(everywhere)\\ 
\end{tabular*} 


\vspace{5mm}

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

\hspace{5mm} einstein\_initsymbound 

\hspace{5mm}{\it set up gf symmetries } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & Language:  & c \\ 
~ & Options:  & global \\ 
~ & Type:  & function \\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf MoL\_PostStep}   (conditional) 

\hspace{5mm} admbase\_boundaries 

\hspace{5mm}{\it select admbase boundary conditions - may be required for mesh refinement } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & Before:  & admbase\_setadmvars \\ 
~ & Language:  & c \\ 
~ & Options:  & level \\ 
~ & Sync:  & lapse \\ 
~& ~ &dtlapse\\ 
~& ~ &shift\\ 
~& ~ &dtshift\\ 
~& ~ &metric\\ 
~& ~ &curv\\ 
~ & Type:  & function \\ 
\end{tabular*} 


\vspace{5mm}

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

\hspace{5mm} admbase\_initialgauge 

\hspace{5mm}{\it schedule group for the adm initial gauge condition } 


\hspace{5mm}

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


\vspace{5mm}

\noindent {\bf MoL\_PostStep}   (conditional) 

\hspace{5mm} applybcs 

\hspace{5mm}{\it apply the boundary conditions of admbase } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & After:  & admbase\_boundaries \\ 
~ & Before:  & admbase\_setadmvars \\ 
~ & Type:  & group \\ 
\end{tabular*} 


\vspace{5mm}

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

\hspace{5mm} admbase\_initialdata 

\hspace{5mm}{\it schedule group for calculating adm initial data } 


\hspace{5mm}

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


\vspace{5mm}

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

\hspace{5mm} admbase\_initialdata 

\hspace{5mm}{\it schedule group for calculating adm initial data } 


\hspace{5mm}

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


\vspace{5mm}

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

\hspace{5mm} admbase\_initialgauge 

\hspace{5mm}{\it schedule group for the adm initial gauge condition } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & After:  & admbase\_initialdata \\ 
~ & Before:  & mol\_poststep \\ 
~ & Type:  & group \\ 
\end{tabular*} 


\vspace{5mm}

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

\hspace{5mm} admbase\_initialgauge 

\hspace{5mm}{\it schedule group for the adm initial gauge condition } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & After:  & admbase\_initialdata \\ 
~ & Before:  & mol\_poststep \\ 
~ & Type:  & group \\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf MoL\_PostStep} 

\hspace{5mm} admbase\_setadmvars 

\hspace{5mm}{\it set the adm variables before this group, and use them afterwards } 


\hspace{5mm}

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


\vspace{5mm}

\noindent {\bf MoL\_PseudoEvolution} 

\hspace{5mm} admbase\_setadmvars 

\hspace{5mm}{\it set the adm variables before this group, and use them afterwards } 


\hspace{5mm}

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


\vspace{5mm}

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

\hspace{5mm} admbase\_postinitial 

\hspace{5mm}{\it schedule group for modifying the adm initial data, such as e.g. adding noise } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & After:  & admbase\_initialdata \\ 
~& ~ &admbase\_initialgauge\\ 
~ & Type:  & group \\ 
\end{tabular*} 


\vspace{5mm}

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

\hspace{5mm} admbase\_cartesianminkowski 

\hspace{5mm}{\it set the metric and extrinsic curvature to cartesian minkowski values } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & Language:  & c \\ 
~ & Type:  & function \\ 
~ & Writes:  & admbase::curv(everywhere) \\ 
~& ~ &admbase::metric(everywhere)\\ 
~& ~ &admbase::metric\_p(everywhere)\\ 
~& ~ &admbase::metric\_p\_p(everywhere)\\ 
~& ~ &admbase::curv\_p(everywhere)\\ 
~& ~ &admbase::curv\_p\_p(everywhere)\\ 
~& ~ &admbase::alp(everywhere)\\ 
~& ~ &admbase::shift(everywhere)\\ 
~& ~ &admbase::dtalp(everywhere)\\ 
~& ~ &admbase::dtshift(everywhere)\\ 
~& ~ &admbase::shift\_state(everywhere)\\ 
~& ~ &admbase::dtlapse\_state(everywhere)\\ 
~& ~ &admbase::dtshift\_state(everywhere)\\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf ADMBase\_InitialGauge}   (conditional) 

\hspace{5mm} admbase\_lapseone 

\hspace{5mm}{\it set the lapse to 1 at all points } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & Language:  & c \\ 
~ & Type:  & function \\ 
~ & Writes:  & admbase::alp(everywhere) \\ 
~& ~ &admbase::alp\_p(everywhere)\\ 
~& ~ &admbase::alp\_p\_p(everywhere)\\ 
\end{tabular*} 


\vspace{5mm}

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

\hspace{5mm} admbase\_setshiftstateon 

\hspace{5mm}{\it set the shift\_state variable to 1 } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & Language:  & c \\ 
~ & Type:  & function \\ 
~ & Writes:  & admbase::shift\_state(everywhere) \\ 
\end{tabular*} 


\vspace{5mm}

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

\hspace{5mm} admbase\_setshiftstateoff 

\hspace{5mm}{\it set the shift\_state variable to 0 } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & Language:  & c \\ 
~ & Type:  & function \\ 
~ & Writes:  & admbase::shift\_state(everywhere) \\ 
\end{tabular*} 


\vspace{5mm}

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

\hspace{5mm} admbase\_setdtlapsestateon 

\hspace{5mm}{\it set the dtlapse\_state variable to 1 } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & Language:  & c \\ 
~ & Type:  & function \\ 
~ & Writes:  & admbase::dtlapse\_state(everywhere) \\ 
\end{tabular*} 


\vspace{5mm}

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

\hspace{5mm} admbase\_setdtlapsestateoff 

\hspace{5mm}{\it set the dtlapse\_state variable to 0 } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & Language:  & c \\ 
~ & Type:  & function \\ 
~ & Writes:  & admbase::dtlapse\_state(everywhere) \\ 
\end{tabular*} 


\subsection*{Aliased Functions}

\hspace{5mm}

 \begin{tabular*}{160mm}{ll} 

{\bf Alias Name:} ~~~~~~~ & {\bf Function Name:} \\ 
ApplyBCs & ADMBase\_ApplyBCs \\ 
\end{tabular*} 



\vspace{5mm}\parskip = 10pt 
