SpECTRE  v2025.03.17
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
gr::KerrSchildCoords Class Reference

Contains helper functions for transforming tensors in Kerr spacetime to Kerr-Schild coordinates. More...

#include <KerrSchildCoords.hpp>

Public Member Functions

 KerrSchildCoords (const KerrSchildCoords &)=default
 
KerrSchildCoordsoperator= (const KerrSchildCoords &)=default
 
 KerrSchildCoords (KerrSchildCoords &&)=default
 
KerrSchildCoordsoperator= (KerrSchildCoords &&)=default
 
 KerrSchildCoords (double bh_mass, double bh_dimless_spin)
 
template<typename DataType >
tnsr::I< DataType, 3, Frame::Inertialcartesian_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ϑ 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 r2 in terms of the Cartesian coordinates.
 
void pup (PUP::er &)
 

Friends

bool operator== (const KerrSchildCoords &lhs, const KerrSchildCoords &rhs)
 

Detailed Description

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),

ds2=dt2+dx2+dy2+dz2+2Mr3r4+a2z2[dt+r(xdx+ydy)r2+a2+a(ydxxdy)r2+a2+zrdz]2,

where r is the function defined through

r2(x,y,z)=x2+y2+z2a22+(x2+y2+z2a22)2+a2z2.

Depending on the physical context, the following coordinate transformations are usually adopted:

  • Spherical coordinates, defined by the usual transformation

    x=rsphsinθcosϕ,y=rsphsinθsinϕ,z=rsphcosθ.

    Note that rsphr, so the horizon of a Kerr black hole is not at constant rsph.

  • Oblate spheroidal coordinates,

    x=r2+a2sinϑcosϕ,y=r2+a2sinϑsinϕ,z=rcosϑ.

    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 ϕ is the same as the corresponding angle in spherical coordinates, whereas the zenithal angle ϑ differs from the corresponding angle θ.

  • Kerr coordinates (sometimes also referred to as "Kerr-Schild coordinates"), defined by

    x=(rcosφasinφ)sinϑ=r2+a2sinϑcos(φ+tan1(a/r)),y=(rsinφ+acosφ)sinϑ=r2+a2sinϑsin(φ+tan1(a/r)),z=rcosϑ.

    These are the coordinates used in the gr::KerrSchildCoords class. Notice that r and ϑ are the same as those in spheroidal coordinates, whereas the azimuthal angle φϕ.

    Note
    Kerr's original "advanced Eddington-Finkelstein" form of his metric is retrieved by performing the additional transformation t=ur. Note that Kerr's choice of the letter u for the time coordinate is not consistent with the convention of denoting the advanced time v=t+r (in flat space), and the retarded time u=tr (in flat space). Finally, note that Kerr's original metric has the sign of a flipped.

    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

    dtBL=dt2Mrdrr22Mr+a2,drBL=dr,dθBL=dϑ,dϕBL=dφadrr22Mr+a2.

    The above transformation makes explicit that r is the Boyer-Lindquist radial coodinate, r=rBL. Likewise, ϑ=θBL.

    Note
    Sometimes (especially in the GRMHD community), the Kerr coordinates as defined above are referred to as "spherical Kerr-Schild" coordinates. These should not be confused with the true spherical coordinates defined in this documentation.

    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

    ds2=(1B)dt2+(1+B)dr2+Σdϑ2+(r2+a2+Ba2sin2ϑ)sin2ϑdφ2+2Bdtdr2aBsin2ϑdtdφ2a(1+B)sin2ϑdrdφ,

    where B=2Mr/Σ and Σ=r2+a2cos2ϑ. Using the additional relations

    sinϑ=x2+y2r2+a2,cosϑ=zr,sinφ=yrxa(x2+y2)(r2+a2),cosφ=xr+ya(x2+y2)(r2+a2),

    the Jacobian of the transformation to Cartesian Kerr-Schild coordinates is

    (x,y,z)(r,ϑ,φ)=(xr+yar2+a2xzrr2+a2x2+y2yyraxr2+a2yzrr2+a2x2+y2xzrrx2+y2r2+a20),

    which can be used to transform tensors between both coordinate systems.


The documentation for this class was generated from the following file: