SpECTRE
v2024.05.11
|
Contains helper functions for transforming tensors in Kerr spacetime to Kerr-Schild coordinates. More...
#include <KerrSchildCoords.hpp>
Public Member Functions | |
KerrSchildCoords (const KerrSchildCoords &)=default | |
KerrSchildCoords & | operator= (const KerrSchildCoords &)=default |
KerrSchildCoords (KerrSchildCoords &&)=default | |
KerrSchildCoords & | operator= (KerrSchildCoords &&)=default |
KerrSchildCoords (double bh_mass, double bh_dimless_spin) | |
template<typename DataType > | |
tnsr::I< DataType, 3, Frame::Inertial > | cartesian_from_spherical_ks (const tnsr::I< DataType, 3, Frame::NoFrame > &spatial_vector, const tnsr::I< DataType, 3, Frame::Inertial > &cartesian_coords) const |
Transforms a spatial vector from Kerr (or "spherical Kerr-Schild") coordinates to Cartesian Kerr-Schild coordinates. If applied on points on the z-axis, the vector to transform must have a vanishing \(v^\vartheta\) in order for the transformation to be single-valued. | |
template<typename DataType > | |
Scalar< DataType > | r_coord_squared (const tnsr::I< DataType, 3, Frame::Inertial > &cartesian_coords) const |
Kerr-Schild \(r^2\) in terms of the Cartesian coordinates. | |
void | pup (PUP::er &) |
Friends | |
bool | operator== (const KerrSchildCoords &lhs, const KerrSchildCoords &rhs) |
Contains helper functions for transforming tensors in Kerr spacetime to Kerr-Schild coordinates.
Consider the Kerr-Schild form of the Kerr metric in Cartesian coordinates \( (t, x, y, z)\),
\begin{align*} ds^2 = -dt^2 + dx^2 + dy^2 + dz^2 + \dfrac{2Mr^3}{r^4 + a^2 z^2} \left[dt + \dfrac{r(x\,dx + y\,dy)}{r^2 + a^2} + \dfrac{a(y\,dx - x\,dy)}{r^2 + a^2} + \dfrac{z}{r}dz\right]^2, \end{align*}
where \(r\) is the function defined through
\begin{align*} r^2(x, y, z) = \frac{x^2 + y^2 + z^2 - a^2}{2} + \sqrt{\left(\frac{x^2 + y^2 + z^2 - a^2}{2}\right)^2 + a^2 z^2}. \end{align*}
Depending on the physical context, the following coordinate transformations are usually adopted:
Spherical coordinates, defined by the usual transformation
\begin{align*} x &= r_\text{sph}\sin\theta\cos\phi,\\ y &= r_\text{sph}\sin\theta\sin\phi,\\ z &= r_\text{sph}\cos\theta. \end{align*}
Note that \(r_\text{sph} \neq r\), so the horizon of a Kerr black hole is not at constant \(r_\text{sph}\).
Oblate spheroidal coordinates,
\begin{align*} x &= \sqrt{r^2 + a^2}\sin\vartheta\cos\phi,\\ y &= \sqrt{r^2 + a^2}\sin\vartheta\sin\phi,\\ z &= r\cos\vartheta. \end{align*}
Notice that \(r\) is that defined in the Kerr-Schild form of the Kerr metric, so the horizon is at constant \(r\). (As it will be noted below, \(r\) corresponds to the Boyer-Lindquist radial coordinate.) Also, note that the azimuthal angle \(\phi\) is the same as the corresponding angle in spherical coordinates, whereas the zenithal angle \(\vartheta\) differs from the corresponding angle \(\theta\).
Kerr coordinates (sometimes also referred to as "Kerr-Schild coordinates"), defined by
\begin{align*} x &= (r \cos\varphi - a \sin\varphi)\sin\vartheta = \sqrt{r^2 + a^2}\sin\vartheta\cos\left(\varphi + \tan^{-1}(a/ r)\right),\\ y &= (r \sin\varphi + a \cos\varphi)\sin\vartheta = \sqrt{r^2 + a^2}\sin\vartheta\sin\left(\varphi + \tan^{-1}(a/ r)\right),\\ z &= r \cos\vartheta. \end{align*}
These are the coordinates used in the gr::KerrSchildCoords class. Notice that \(r\) and \(\vartheta\) are the same as those in spheroidal coordinates, whereas the azimuthal angle \(\varphi \neq \phi\).
The Kerr coordinates have been used in the hydro community to evolve the GRMHD equations. They are the intermediate step in getting the Kerr metric in Boyer-Lindquist coordinates. The relation between both is
\begin{align*} dt_\text{BL} &= dt - \frac{2M r\,dr}{r^2 - 2Mr + a^2}, \\ dr_\text{BL} &= dr,\\ d\theta_\text{BL} &= d\vartheta,\\ d\phi_\text{BL} &= d\varphi - \frac{a\,dr}{r^2-2Mr + a^2}. \end{align*}
The above transformation makes explicit that \(r\) is the Boyer-Lindquist radial coodinate, \( r = r_\text{BL}\). Likewise, \(\vartheta = \theta_\text{BL}\).
The Kerr metric in Kerr coodinates is sometimes used to write analytic initial data for hydro simulations. In this coordinate system, the metric takes the form
\begin{align*} ds^2 &= -(1 - B)\,dt^2 + (1 + B)\,dr^2 + \Sigma\,d\vartheta^2 + \left(r^2 + a^2 + B a^2\sin^2\vartheta\right)\sin^2\vartheta\,d\varphi^2\\ &\quad + 2B\,dt\,dr - 2aB\sin^2\vartheta\,dt\,d\varphi - 2a\left(1 + B\right)\sin^2\vartheta\,dr\,d\varphi, \end{align*}
where \(B = 2M r/ \Sigma\) and \(\Sigma = r^2 + a^2\cos^2\vartheta\). Using the additional relations
\begin{align*} \sin\vartheta &= \sqrt{\frac{x^2 + y^2}{r^2 + a^2}},\quad \cos\vartheta = \frac{z}{r},\\ \sin\varphi &= \frac{y r - x a}{\sqrt{(x^2 + y^2)(r^2 + a^2)}},\quad \cos\varphi = \frac{x r + y a}{\sqrt{(x^2 + y^2)(r^2 + a^2)}}, \end{align*}
the Jacobian of the transformation to Cartesian Kerr-Schild coordinates is
\begin{align*} \dfrac{\partial(x, y, z)}{\partial(r, \vartheta, \varphi)} &= \left(\begin{array}{ccc} \dfrac{xr + ya}{r^2 + a^2} & \dfrac{xz}{r}\sqrt{\dfrac{r^2 + a^2}{x^2 + y^2}} & -y\\ \dfrac{yr - ax}{r^2 + a^2} & \dfrac{yz}{r}\sqrt{\dfrac{r^2 + a^2}{x^2 + y^2}} & x\\ \dfrac{z}{r} & - r\sqrt{\dfrac{x^2 + y^2}{r^2 + a^2}} & 0 \end{array}\right), \end{align*}
which can be used to transform tensors between both coordinate systems.