|
SpECTRE
2021.08.02
|
Classes which implement analytic solutions to Einstein's equations. More...
Classes | |
| class | GaugeWave |
| Gauge wave in flat spacetime. More... | |
| class | KerrSchild |
| Kerr black hole in Kerr-Schild coordinates. More... | |
| class | Minkowski |
| The Minkowski solution for flat space in Dim spatial dimensions. More... | |
| class | TovSolution |
| TOV solver based on Lindblom's method. More... | |
Functions | |
| template<size_t Dim> | |
| bool | operator== (const GaugeWave< Dim > &lhs, const GaugeWave< Dim > &rhs) noexcept |
| template<size_t Dim> | |
| bool | operator!= (const GaugeWave< Dim > &lhs, const GaugeWave< Dim > &rhs) noexcept |
| template<typename DataType > | |
| Scalar< DataType > | kerr_horizon_radius (const std::array< DataType, 2 > &theta_phi, double mass, const std::array< double, 3 > &dimensionless_spin) noexcept |
| Radius of Kerr horizon in Kerr-Schild coordinates. More... | |
| bool | operator== (const KerrSchild &lhs, const KerrSchild &rhs) noexcept |
| bool | operator!= (const KerrSchild &lhs, const KerrSchild &rhs) noexcept |
| template<size_t Dim> | |
| constexpr bool | operator== (const Minkowski< Dim > &, const Minkowski< Dim > &) noexcept |
| template<size_t Dim> | |
| constexpr bool | operator!= (const Minkowski< Dim > &, const Minkowski< Dim > &) noexcept |
Classes which implement analytic solutions to Einstein's equations.
|
noexcept |
Radius of Kerr horizon in Kerr-Schild coordinates.
Computes the radius of a Kerr black hole as a function of angles. The input argument theta_phi is typically the output of the theta_phi_points() method of a YlmSpherepack object; i.e., a std::array of two DataVectors containing the values of theta and phi at each point on a Strahlkorper.
Derivation:
Define spherical coordinates \((r,\theta,\phi)\) in the usual way from the Cartesian Kerr-Schild coordinates \((x,y,z)\) (i.e. \(x = r \sin\theta \cos\phi\) and so on). Then the relationship between \(r\) and the radial Boyer-Lindquist coordinate \(r_{BL}\) is
\[ r_{BL}^2 = \frac{1}{2}(r^2 - a^2) + \left(\frac{1}{4}(r^2-a^2)^2 + r^2(\vec{a}\cdot \hat{x})^2\right)^{1/2}, \]
where \(\vec{a}\) is the Kerr spin vector (with units of mass), \(\hat{x}\) means \((x/r,y/r,z/r)\), and the dot product is taken as in flat space.
The horizon is a surface of constant \(r_{BL}\). Therefore we can solve the above equation for \(r^2\) as a function of angles, yielding
\[ r^2 = \frac{r_{BL}^2 (r_{BL}^2 + a^2)} {r_{BL}^2+(\vec{a}\cdot \hat{x})^2}, \]
where the angles are encoded in \(\hat x\) and everything else on the right-hand side is constant.
kerr_horizon_radius evaluates \(r\) using the above equation, and using the standard expression for the Boyer-Lindquist radius of the Kerr horizon:
\[ r_{BL} = r_+ = M + \sqrt{M^2-a^2}. \]