SpECTRE  v2024.09.29
Xcts::Solutions Namespace Reference

Analytic solutions of the XCTS equations. More...

Classes

struct  CommonVariables
 Implementations for variables that solutions can share. More...
 
class  ConstantDensityStar
 A constant density star in general relativity. More...
 
class  Flatness
 Flat spacetime in general relativity. Useful as initial guess. More...
 
class  Schwarzschild
 Schwarzschild spacetime in general relativity. More...
 
class  TovStar
 TOV solution to the XCTS equations. More...
 
class  WrappedGr
 XCTS quantities for a solution of the Einstein equations. More...
 

Typedefs

template<typename DataType >
using common_tags = tmpl::push_back< AnalyticData::common_tags< DataType >, Tags::ConformalFactorMinusOne< DataType >, Tags::ConformalFactor< DataType >, Tags::LapseTimesConformalFactorMinusOne< DataType >, Tags::LapseTimesConformalFactor< DataType >, Tags::ShiftExcess< DataType, 3, Frame::Inertial >, gr::Tags::Lapse< DataType >, gr::Tags::Shift< DataType, 3 >, gr::Tags::SpatialMetric< DataType, 3 >, gr::Tags::InverseSpatialMetric< DataType, 3 >, ::Tags::deriv< gr::Tags::SpatialMetric< DataType, 3 >, tmpl::size_t< 3 >, Frame::Inertial >, gr::Tags::ExtrinsicCurvature< DataType, 3 >, ::Tags::deriv< Tags::ConformalFactorMinusOne< DataType >, tmpl::size_t< 3 >, Frame::Inertial >, ::Tags::deriv< Tags::LapseTimesConformalFactorMinusOne< DataType >, tmpl::size_t< 3 >, Frame::Inertial >, ::Tags::deriv< Tags::ShiftExcess< DataType, 3, Frame::Inertial >, tmpl::size_t< 3 >, Frame::Inertial >, Tags::ShiftStrain< DataType, 3, Frame::Inertial >, ::Tags::Flux< Tags::ConformalFactorMinusOne< DataType >, tmpl::size_t< 3 >, Frame::Inertial >, ::Tags::Flux< Tags::LapseTimesConformalFactorMinusOne< DataType >, tmpl::size_t< 3 >, Frame::Inertial >, Tags::LongitudinalShiftExcess< DataType, 3, Frame::Inertial >, Tags::LongitudinalShiftMinusDtConformalMetricSquare< DataType >, Tags::LongitudinalShiftMinusDtConformalMetricOverLapseSquare< DataType >, Tags::ShiftDotDerivExtrinsicCurvatureTrace< DataType > >
 Tags for variables that solutions can share.
 
template<typename DataType >
using hydro_tags = AnalyticData::hydro_tags< DataType >
 Tags for hydro variables that are typically retrieved from a hydro solution.
 
using all_analytic_solutions = tmpl::list< Flatness, WrappedGr< gr::Solutions::KerrSchild >, WrappedGr< gr::Solutions::SphericalKerrSchild >, Schwarzschild, WrappedGr< gr::Solutions::HarmonicSchwarzschild >, TovStar, WrappedGrMhd< RelativisticEuler::Solutions::RotatingStar >, WrappedGrMhd< grmhd::AnalyticData::CcsnCollapse >, WrappedGrMhd< grmhd::AnalyticData::MagnetizedTovStar > >
 
template<typename GrMhdSolution >
using WrappedGrMhd = WrappedGr< GrMhdSolution, true >
 

Enumerations

enum class  SchwarzschildCoordinates { Isotropic , PainleveGullstrand , KerrSchildIsotropic }
 Various coordinate systems in which to express the Schwarzschild solution. More...
 

Functions

bool operator== (const ConstantDensityStar &, const ConstantDensityStar &)
 
bool operator!= (const ConstantDensityStar &lhs, const ConstantDensityStar &rhs)
 
bool operator== (const Flatness &, const Flatness &)
 
bool operator!= (const Flatness &lhs, const Flatness &rhs)
 
std::ostreamoperator<< (std::ostream &os, SchwarzschildCoordinates coords)
 
bool operator!= (const TovStar &lhs, const TovStar &rhs)
 
template<typename GrSolution , bool HasMhd>
bool operator!= (const WrappedGr< GrSolution, HasMhd > &lhs, const WrappedGr< GrSolution, HasMhd > &rhs)
 

Detailed Description

Analytic solutions of the XCTS equations.

Enumeration Type Documentation

◆ SchwarzschildCoordinates

Various coordinate systems in which to express the Schwarzschild solution.

Enumerator
Isotropic 

Isotropic Schwarzschild coordinates.

These arise from the canonical Schwarzschild coordinates by the radial transformation

\begin{equation} r = \bar{r}\left(1+\frac{M}{2\bar{r}}\right)^2 \end{equation}

(Eq. (1.61) in [13]) where \(r\) is the canonical Schwarzschild radius, also referred to as "areal" radius because it is defined such that spheres with constant \(r\) have the area \(4\pi r^2\), and \(\bar{r}\) is the "isotropic" radius. In the isotropic radius the Schwarzschild spatial metric is conformally flat:

\begin{equation} \gamma_{ij}=\psi^4\eta_{ij} \quad \text{with conformal factor} \quad \psi=1+\frac{M}{2\bar{r}} \end{equation}

(Table 2.1 in [13]). The lapse in the conformal radius is

\begin{equation} \alpha=\frac{1-M/(2\bar{r})}{1+M/(2\bar{r})} \end{equation}

and the shift vanishes ( \(\beta^i=0\)) as it does in areal Schwarzschild coordinates. The solution also remains maximally sliced, i.e. \(K=0\).

The Schwarzschild horizon in these coordinates is at \(\bar{r}=\frac{M}{2}\) due to the radial transformation from \(r=2M\).

PainleveGullstrand 

Painlevé-Gullstrand coordinates.

In these coordinates the spatial metric is flat and the lapse is trivial, but contrary to (isotropic) Schwarzschild coordinates the shift is nontrivial,

\begin{align} \gamma_{ij} &= \eta_{ij} \\ \alpha &= 1 \\ \beta^i &= \sqrt{\frac{2M}{r}} \frac{x^i}{r} \\ K &= \frac{3}{2}\sqrt{\frac{2M}{r^3}} \end{align}

(Table 2.1 in [13]).

KerrSchildIsotropic 

Isotropic Kerr-Schild coordinates.

Kerr-Schild coordinates with a radial transformation such that the spatial metric is conformally flat.

The Schwarzschild spacetime in canonical (areal) Kerr-Schild coordinates is

\begin{align} \gamma_{ij} &= \eta_{ij} + \frac{2M}{r}\frac{x^i x^j}{r^2} \\ \alpha &= \sqrt{1 + \frac{2M}{r}}^{-1} \\ \beta^i &= \frac{2M\alpha^2}{r} \frac{x^i}{r} \\ K &= \frac{2M\alpha^3}{r^2} \left(1 + \frac{3M}{r}\right) \text{.} \end{align}

(Table 2.1 in [13]). Since the Schwarzschild spacetime is spherically symmetric we can transform to a radial coordinate \(\bar{r}\) in which it is conformally flat (see, e.g., Sec. 7.4.1 in [161] for details):

\begin{equation} {}^{(3)}\mathrm{d}s^2 = \left(1 + \frac{2M}{r}\right)\mathrm{d}r^2 + r^2 \mathrm{d}\Omega^2 = \psi^4 \left(\mathrm{d}\bar{r}^2 + \bar{r}^2 \mathrm{d}\Omega^2\right) \end{equation}

Therefore, the conformal factor is \(\psi^2 = r / \bar{r}\) and

\begin{equation} \frac{\mathrm{d}\bar{r}}{\mathrm{d}r} = \frac{\bar{r}}{r} \sqrt{1 + \frac{2M}{r}} = \frac{\bar{r}}{r} \frac{1}{\alpha} \text{,} \end{equation}

which has the solution

\begin{equation} \bar{r} = \frac{r}{4} \left(1 + \sqrt{1 + \frac{2M}{r}}\right)^2 e^{2 - 2\sqrt{1 + 2M / r}} \end{equation}

when we impose \(\bar{r} \rightarrow r\) as \(r \rightarrow \infty\). We can invert this transformation law with a numerical root find to obtain the areal radius \(r\) for any isotropic radius \(\bar{r}\).

In the isotropic radial coordinate \(\bar{r}\) the solution is then:

\begin{align} \gamma_{ij} &= \psi^4 \eta_{ij} \\ \psi &= \sqrt{\frac{r}{\bar{r}}} = \frac{2e^{\sqrt{1 + 2M / r} - 1}}{1 + \sqrt{1 + 2M / r}} \\ \alpha &= \sqrt{1 + \frac{2M}{r}}^{-1} \\ \beta^i &= \frac{\mathrm{d}\bar{r}}{\mathrm{d}r} \beta^r \frac{x^i}{\bar{r}} = \frac{2M\alpha}{r^2} x^i \\ K &= \frac{2M\alpha^3}{r^2} \left(1 + \frac{3M}{r}\right) \end{align}

Here, \(x^i\) are the (isotropic) Cartesian coordinates from which we compute the isotropic radius \(\bar{r}\), \(r\) is the areal radius we can obtain from the isotropic radius by a root find, and \(\beta^r\) is the magnitude of the shift in areal coordinates, as given above.

The horizon in these coordinates is at (Eq. (7.37) in [161]):

\begin{equation} \bar{r}_\mathrm{AH} / M \approx 1.2727410334221052 \end{equation}