
\section{Interfaces} 


\parskip = 0pt

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

\noindent {\bf Implements}: 

giraffe
\vspace{2mm}

\noindent {\bf Inherits}: 

admbase

boundary

spacemask

tmunubase

hydrobase

grid
\vspace{2mm}
\subsection*{Grid Variables}
\vspace{5mm}\subsubsection{PRIVATE GROUPS}

\vspace{5mm}

\begin{tabular*}{150mm}{|c|c@{\extracolsep{\fill}}|rl|} \hline 
~ {\bf Group Names} ~ & ~ {\bf Variable Names} ~  &{\bf Details} ~ & ~\\ 
\hline 
diagnostic\_gfs &  & compact & 0 \\ 
 & failure\_checker & description & Gridfunction to track conservative-to-primitives solver fixes. Beware that this gridfunction is overwritten at each RK substep. \\ 
 &  & dimensions & 3 \\ 
 &  & distribution & DEFAULT \\ 
 &  & group type & GF \\ 
 &  & tags & prolongation="none" Checkpoint="no" \\ 
 &  & timelevels & 1 \\ 
 &  & variable type & REAL \\ 
\hline 
grmhd\_primitives\_reconstructed\_temps &  & compact & 0 \\ 
 & temporary & description & Temporary variables used for primitives reconstruction \\ 
 & vxr & dimensions & 3 \\ 
 & vyr & distribution & DEFAULT \\ 
 & vzr & group type & GF \\ 
 & Bxr & tags & prolongation="none" Checkpoint="no" \\ 
 & Byr & timelevels & 1 \\ 
 & Bzr & variable type & REAL \\ 
\hline 
grmhd\_conservatives\_rhs &  & compact & 0 \\ 
 & st\_x\_rhs & description & Storage for the right-hand side of the partial\_t tilde\{S\}\_i equations. Needed for MoL timestepping. \\ 
 & st\_y\_rhs & dimensions & 3 \\ 
 & st\_z\_rhs & distribution & DEFAULT \\ 
 &  & group type & GF \\ 
 &  & tags & prolongation="none" Checkpoint="no" \\ 
 &  & timelevels & 1 \\ 
 &  & variable type & REAL \\ 
\hline 
em\_ax\_rhs &  & compact & 0 \\ 
 & Ax\_rhs & description & Storage for the right-hand side of the partial\_t A\_x equation. Needed for MoL timestepping. \\ 
 &  & dimensions & 3 \\ 
 &  & distribution & DEFAULT \\ 
 &  & group type & GF \\ 
 &  & tags & prolongation="none" Checkpoint="no" \\ 
 &  & timelevels & 1 \\ 
 &  & variable type & REAL \\ 
\hline 
em\_ay\_rhs &  & compact & 0 \\ 
 & Ay\_rhs & description & Storage for the right-hand side of the partial\_t A\_y equation. Needed for MoL timestepping. \\ 
 &  & dimensions & 3 \\ 
 &  & distribution & DEFAULT \\ 
 &  & group type & GF \\ 
 &  & tags & prolongation="none" Checkpoint="no" \\ 
 &  & timelevels & 1 \\ 
 &  & variable type & REAL \\ 
\hline 
em\_az\_rhs &  & compact & 0 \\ 
 & Az\_rhs & description & Storage for the right-hand side of the partial\_t A\_z equation. Needed for MoL timestepping. \\ 
 &  & dimensions & 3 \\ 
 &  & distribution & DEFAULT \\ 
 &  & group type & GF \\ 
 &  & tags & prolongation="none" Checkpoint="no" \\ 
 &  & timelevels & 1 \\ 
 &  & variable type & REAL \\ 
\hline 
\end{tabular*} 



\vspace{5mm}
\vspace{5mm}

\begin{tabular*}{150mm}{|c|c@{\extracolsep{\fill}}|rl|} \hline 
~ {\bf Group Names} ~ & ~ {\bf Variable Names} ~  &{\bf Details} ~ & ~ \\ 
\hline 
em\_psi6phi\_rhs &  & compact & 0 \\ 
 & psi6phi\_rhs & description & Storage for the right-hand side of the partial\_t (psi\^6 Phi) equation. Needed for MoL timestepping. \\ 
 &  & dimensions & 3 \\ 
 &  & distribution & DEFAULT \\ 
 &  & group type & GF \\ 
 &  & tags & prolongation="none" Checkpoint="no" \\ 
 &  & timelevels & 1 \\ 
 &  & variable type & REAL \\ 
\hline 
grmhd\_cmin\_cmax\_temps &  & compact & 0 \\ 
 & cmin\_x & description & Store min and max characteristic speeds in all three directions. \\ 
 & cmax\_x & dimensions & 3 \\ 
 & cmin\_y & distribution & DEFAULT \\ 
 & cmax\_y & group type & GF \\ 
 & cmin\_z & tags & prolongation="none" Checkpoint="no" \\ 
 & cmax\_z & timelevels & 1 \\ 
 &  & variable type & REAL \\ 
\hline 
grmhd\_flux\_temps &  & compact & 0 \\ 
 & st\_x\_flux & description & Temporary variables for storing the flux terms of tilde\{S\}\_i. \\ 
 & st\_y\_flux & dimensions & 3 \\ 
 & st\_z\_flux & distribution & DEFAULT \\ 
 &  & group type & GF \\ 
 &  & tags & prolongation="none" Checkpoint="no" \\ 
 &  & timelevels & 1 \\ 
 &  & variable type & REAL \\ 
\hline 
tupmunu &  & compact & 0 \\ 
 & TUPtt & description & T\^\{mu nu\} \\ 
& ~ & description &  stored to avoid expensive recomputation \\ 
 & TUPtx & dimensions & 3 \\ 
 & TUPty & distribution & DEFAULT \\ 
 & TUPtz & group type & GF \\ 
 & TUPxx & tags & prolongation="none" Checkpoint="no" \\ 
 & TUPxy & timelevels & 1 \\ 
 & TUPxz & variable type & REAL \\ 
\hline 
\end{tabular*} 


\vspace{5mm}\subsubsection{PUBLIC GROUPS}

\vspace{5mm}

\begin{tabular*}{150mm}{|c|c@{\extracolsep{\fill}}|rl|} \hline 
~ {\bf Group Names} ~ & ~ {\bf Variable Names} ~  &{\bf Details} ~ & ~\\ 
\hline 
grmhd\_conservatives &  & compact & 0 \\ 
 & mhd\_st\_x & description & Evolved mhd variables \\ 
 & mhd\_st\_y & dimensions & 3 \\ 
 & mhd\_st\_z & distribution & DEFAULT \\ 
 &  & group type & GF \\ 
 &  & timelevels & 3 \\ 
 &  & variable type & REAL \\ 
\hline 
em\_ax &  & compact & 0 \\ 
 & Ax & description & x-component of the vector potential \\ 
& ~ & description &  evolved when constrained\_transport\_scheme==3 \\ 
 &  & dimensions & 3 \\ 
 &  & distribution & DEFAULT \\ 
 &  & group type & GF \\ 
 &  & tags & Prolongation="STAGGER011" \\ 
 &  & timelevels & 3 \\ 
 &  & variable type & REAL \\ 
\hline 
em\_ay &  & compact & 0 \\ 
 & Ay & description & y-component of the vector potential \\ 
& ~ & description &  evolved when constrained\_transport\_scheme==3 \\ 
 &  & dimensions & 3 \\ 
 &  & distribution & DEFAULT \\ 
 &  & group type & GF \\ 
 &  & tags & Prolongation="STAGGER101" \\ 
 &  & timelevels & 3 \\ 
 &  & variable type & REAL \\ 
\hline 
em\_az &  & compact & 0 \\ 
 & Az & description & z-component of the vector potential \\ 
& ~ & description &  evolved when constrained\_transport\_scheme==3 \\ 
 &  & dimensions & 3 \\ 
 &  & distribution & DEFAULT \\ 
 &  & group type & GF \\ 
 &  & tags & Prolongation="STAGGER110" \\ 
 &  & timelevels & 3 \\ 
 &  & variable type & REAL \\ 
\hline 
em\_psi6phi &  & compact & 0 \\ 
 & psi6phi & description & sqrt\{gamma\} Phi \\ 
& ~ & description &  where Phi is the em scalar potential \\ 
 &  & dimensions & 3 \\ 
 &  & distribution & DEFAULT \\ 
 &  & group type & GF \\ 
 &  & tags & Prolongation="STAGGER111" \\ 
 &  & timelevels & 3 \\ 
 &  & variable type & REAL \\ 
\hline 
grmhd\_primitives\_allbutbi &  & compact & 0 \\ 
 & vx & description & Components of three velocity \\ 
& ~ & description &  defined in terms of 4-velocity as: v\^i = u\^i/u\^0. Note that this definition differs from the Valencia formalism. \\ 
 & vy & dimensions & 3 \\ 
 & vz & distribution & DEFAULT \\ 
 &  & group type & GF \\ 
 &  & tags & InterpNumTimelevels=1 prolongation="none" \\ 
 &  & timelevels & 1 \\ 
 &  & variable type & REAL \\ 
\hline 
\end{tabular*} 



\vspace{5mm}
\vspace{5mm}

\begin{tabular*}{150mm}{|c|c@{\extracolsep{\fill}}|rl|} \hline 
~ {\bf Group Names} ~ & ~ {\bf Variable Names} ~  &{\bf Details} ~ & ~ \\ 
\hline 
grmhd\_primitives\_bi &  & compact & 0 \\ 
 & Bx & description & B-field components defined both at vertices (Bx \\ 
& ~ & description & By \\ 
 & Bx & description & Bz) as well as at staggered points [Bx\_stagger at (i+1/2 \\ 
 & Bx & description & j \\ 
 & Bx & description & k) \\ 
 & Bx & description & By\_stagger at (i \\ 
 & Bx & description & j+1/2 \\ 
 & Bx & description & k) \\ 
 & Bx & description & Bz\_stagger at (i \\ 
 & Bx & description & j \\ 
 & Bx & description & k+1/2)]. \\ 
 & By & dimensions & 3 \\ 
 & Bz & distribution & DEFAULT \\ 
 & Bx\_stagger & group type & GF \\ 
 & By\_stagger & tags & InterpNumTimelevels=1 prolongation="none" \\ 
 & Bz\_stagger & timelevels & 1 \\ 
 &  & variable type & REAL \\ 
\hline 
bssn\_quantities &  & compact & 0 \\ 
 & gtxx & description & BSSN quantities \\ 
& ~ & description &  computed from ADM quantities \\ 
 & gtxy & dimensions & 3 \\ 
 & gtxz & distribution & DEFAULT \\ 
 & gtyy & group type & GF \\ 
 & gtyz & tags & prolongation="none" Checkpoint="no" \\ 
 & gtzz & timelevels & 1 \\ 
 & gtupxx & variable type & REAL \\ 
\hline 
\end{tabular*} 



\vspace{5mm}

\noindent {\bf Adds header}: 



GiRaFFE\_headers.h
\vspace{2mm}

\noindent {\bf Uses header}: 

Symmetry.h
\vspace{2mm}\parskip = 10pt 
