1 Texas Evolution code(T2) development

Randy Correll Mijan Huq Scott Klasky Richard Matzner Tom Haupt David Rideout April 22, 1996

1. Equations used in code.

2. Modules in DAGH and HPF.

3. Derivative routines.

4. Outer boundary.

5. Gauge conditions.

6. Future Plans.

2 Equations used in code (1)

The evolution equations that the TCODE solves are as follows:

∂_{t}g_{ij} = −2αK_{ij} + D_{i}β_{j} + D_{j}β_{i}  (1)
∂_{t}K_{j}^{i} = L_{β}K_{j}^{i} − D^{i}D_{j}α + α (R_{j}^{i} + KK_{j}^{i}) (2)

where g_{ij} is the 3-metric, K_{j}^{i} is the extrinsic curvature, D_{i} is the covariant derivative compatible with g_{ij}, α is the lapse function, β^{i} is the shift vector and L_{β} is the Lie derivative along the vector field β. L_{β}K_{j}^{i} is given by the following equation:

L_{β}K_{j}^{i} = β^{k}D_{k}K_{j}^{i} + β^{i}D_{k}K_{j}^{k} − β_{j}g^{kl}D_{l}K_{k}^{i} (3)

3 Code Design

• 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.

• In general we have designed the T-CODE with the intent of using the DAGH infrastructure for implementing parallel AMR.

• We have tried to keep all the routines as modular as possible and attempted to make it easy to switch modules with minimal effort.

• The code has been implemented in F77, F90 with F77 and DAGH C++ drivers.

• The code has also been implemented in HPF, and F90 with AMR.

4 Problems to look at and Convergence Tests

1. Black hole (Geodesic slicing)

2. Black hole ( Quasi-Isotropic gauge)

3. Black hole ( Eddington-Finkelstein coordinates)

4. Gravitational waves (Teukolsky waves, Strong field waves, etc)

Convergence Testing

• geodesic slicing runs compared to semi-analytic Novikov data.

• Teukolsky wave initial data

• Evolution is carried out to 2nd order in h

• In the construction of the code the convergence tests on the RHS operators of Eqn. (1) and Eqn. (2) and found to be O(h^{2}).

5 Inner and Outer boundaries

• At the boundaries the T-code currently uses one-sided differencing for derivatives.

• Future work will involve the implementation of inner and outer boundaries.

• It is expected that Cauchy-Characteristic matching will be used at the outer boundary.

• At the inner boundary we currently have the infrastructure for horizon location/tracking.

• We need the proper differencing of the shift terms in the evolution equations.

• Currently we are working on a multigrid code to solve the maximal slicing equation.

• A SOR version is already working with a hole cut out of the interior boundary (multigrid version onway).

• In the future we hope to tackle the minimal distortion shift much the same way.

6 Variable Storage

Grid Function Number of independent components
g_{ij}  6 × 2 independent components(two = n+1 timestep)
g^{ij}  6 independent components(required for various stages)
K_{j}^{i}  9 × 2 components (multiply by two for n+1 timestep)
Γ_{jk}^{i}  18 components (stored instead of g_{ij,k})
R_{ij}  6 components (Raised when needed in eqn. (2))
α  scalar function
β^{i}  3 components (β_{i} can be obtained using g_{ij})

The lower limit on required variables for the solution to the evolution is 64 grid variables.

7 Modules for the connection coefficients

The calculation of the connection coefficients can be broken up into several stages.

The connection coefficients are given by

Γ_{jk}^{i} = \frac{1}{2}g^{il} (g_{lj,k} + g_{lk,j} − g_{jk,l})  (4)

The calculation can be broken up into three separate sets using 9 temporary variables. There are 3 steps:

For the first term in eqn. (4)

Γ_{jk}^{i} = \frac{1}{2} (g^{i1}g_{1j,k} + g^{i2}g_{2j,k} + g^{i3}g_{3j,k})  (5)

We label these parts C1-C3. For the second term in eqn. (4)

Γ_{jk}^{i} = Γ_{jk}^{i} + \frac{1}{2} (g^{i1}g_{1k,j} + g^{i2}g_{2k,j} + g^{i3}g_{3k,j})  (6)

We label these parts C4-C6. For the third term in eqn. (4)

Γ_{jk}^{i} = Γ_{jk}^{i} − \frac{1}{2} (g^{i1}g_{jk,1} + g^{i2}g_{jk,2} + g^{i3}g_{jk,3})  (7)

We label these parts C7-C9.

8 Ricci tensor

Break up into several pieces using just 9 temporary grid functions.

R_{ij} = Γ_{ij,a}^{a} − Γ_{ia,j}^{a} + Γ_{ab}^{a}Γ_{ij}^{b} − Γ_{bj}^{a}Γ_{ia}^{b}  (8)

The evaluation of the Ricci tensor is broken as follows:

R_{ij} = Γ_{ij,a}^{a}
= Γ_{ij,1}^{1} + Γ_{ij,2}^{2} + Γ_{ij,3}^{3}  (9)
R_{ij} = R_{ij} − Γ_{ia,j}^{a}
= R_{ij} − (Γ_{i1,j}^{1} + Γ_{i2,j}^{2} + Γ_{i3,j}^{3} )  (10)
R_{ij} = R_{ij} + Γ_{ab}^{a}Γ_{ij}^{b} − Γ_{bj}^{a}Γ_{ia}^{b}  (11)

where in eqns. (8,9) terms like Γ_{ij,1}^{1} and Γ_{i1,j}^{1} are calculated using temporary arrays.

9 Evolution equations

∂_{t}g_{ij} = −2αK_{ij} + D_{i}β_{j} + D_{j}β_{i}.  (12)

• Use 9 temporary grid functions for evaulation of the second and third terms.

• Recall that β^{i}, the contravariant form of the shift, is stored.

• Since g_{ij} is compatible with D_{i} we can rewrite D_{i}β_{j} = g_{jk}D_{i}β^{k}.

• We are left with calculating

D_{i}β_{j} = g_{jk} (∂_{i}β^{k} − Γ_{il}^{k}β^{l}) .  (13)

• Use 9 grid functions to store the components of ∂_{i}β^{k} first and then add Γ_{il}^{k}β^{l}

• Evaluating eqn. (1) means using the temporary variables for D_{i}β_{j}.

• Use second order differencing for derivatives.

• 5 Modules for these routines for the evolution of the 3 metric.

10 Evolution equations

extrinsic curvature

∂_{t}K_{j}^{i} = L_{β}K_{j}^{i} − D^{i}D_{j}α + α (R_{j}^{i} + KK_{j}^{i})

We break this equation up into 5 parts(5 modules)

11 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, m(nl),d(nl) where m(l) contains the i,j,k location of the “hole” points and 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, for example f_{xx}, are only first order accurate. The interior second derivatives are second order accurate.

12 DAGH code