Coordinate Transformations

Format[x1]:=x';Format[t1]:=t';Format[α1]:=α';Format[β1]:=β';Format[γ1]:=γ';

$PrePrint=MatrixForm;

For simplicity, we use 1+1 dimensions below.

Definitions

We define the transform from “model” coordinates to Cactus coordinates.

LapseFactor matrix:

LF={{1/a,0},{0,1}}

ShiftAdd matrix:

SA={{1,0},{v,1}}

xForm=LF.SA

We interpret this with the first index up, the second down.

The inverse transform is

invxForm=Inverse[xForm]

Applied to the coordinates

In EinsteinExact, we need to transform the Cactus coordinates to “model” coordinates. LapseFactor scales the time coordinate, ShiftAdd applies a Galileo transformation to the spatial coordinate. So if the Cactus coordinates are {t’, x’}, the model coordinates {t, x} are:

xForm.{t1,x1}

That is, we will be evolving in the transformed coordinates

invxForm.{t,x}

Applied to the metric

We compute the metric in the “model” coordinates and then transform back to Cactus coordinates.

g={{-α^2+β γ β,β γ},{β γ,γ}}

Transform to Cactus coordinates:

Simplify[Transpose[xForm].g.(xForm)]//Simplify

and the inverse metric transforms as

gi=Inverse[xForm].Inverse[g].Transpose[Inverse[xForm]]//Simplify

So we transform the shift as

β1==gi[[1,2]](α^2)

and the lapse as

α1==Simplify[1/Sqrt[-gi[[1,1]]],Assumptions->a≥0&&α≥0]