SpECTRE
v2025.03.17
|
Distorts cartesian coordinates \(x^i\) such that a coordinate sphere \(\delta_{ij}x^ix^j=C^2\) is mapped to an ellipsoid of constant Kerr-Schild radius \(r=C\). More...
#include <KerrHorizonConforming.hpp>
Public Member Functions | |
KerrHorizonConforming (const double mass, std::array< double, 3 > dimensionless_spin) | |
Constructs a Kerr horizon conforming map. More... | |
template<typename T > | |
std::array< tt::remove_cvref_wrap_t< T >, 3 > | operator() (const std::array< T, 3 > &source_coords) const |
std::optional< std::array< double, 3 > > | inverse (const std::array< double, 3 > &target_coords) const |
template<typename T > | |
tnsr::Ij< tt::remove_cvref_wrap_t< T >, 3, Frame::NoFrame > | jacobian (const std::array< T, 3 > &source_coords) const |
template<typename T > | |
tnsr::Ij< tt::remove_cvref_wrap_t< T >, 3, Frame::NoFrame > | inv_jacobian (const std::array< T, 3 > &source_coords) const |
bool | is_identity () const |
void | pup (PUP::er &p) |
Static Public Attributes | |
static constexpr size_t | dim = 3 |
Friends | |
bool | operator== (const KerrHorizonConforming &lhs, const KerrHorizonConforming &rhs) |
Distorts cartesian coordinates \(x^i\) such that a coordinate sphere \(\delta_{ij}x^ix^j=C^2\) is mapped to an ellipsoid of constant Kerr-Schild radius \(r=C\).
The Kerr-Schild radius \(r\) is defined as the largest positive root of
\begin{equation*} r^4 - r^2 (x^2 - a^2) - (\vec{a}\cdot \vec{x})^2 = 0. \end{equation*}
In this equation, \(\vec{x}\) are the coordinates of the (distorted) surface, and \(\vec{a}=\vec{S}/M\) is the spin-parameter of the black hole. This is equivalent to the implicit definition of \(r\) in Eq. (47) of [130]. The black hole is assumed to be at the origin.
Given a spin vector \(\vec{a}\), we define the Kerr-Schild radius:
\begin{equation}r(\vec{x}) = \sqrt{\frac{x^2 - a^2 + \sqrt{(x^2 - a^2)^2 + 4 (\vec{x} \cdot \vec{a})^2}}{2}} \end{equation}
We also define the auxiliary variable:
\begin{equation}s(\vec{x}) = \frac{x^2(x^2 + a^2)}{x^4 + (\vec{x} \cdot \vec{a})^2} \end{equation}
The map is then given by:
\begin{equation}\vec{x}(\vec{\xi}) = \vec{\xi} \sqrt{s(\vec{\xi})} \end{equation}
The inverse map is given by:
\begin{equation}\vec{\xi}(\vec{x}) = \vec{x} \frac{r(\vec{x})}{|\vec{x}|} \end{equation}
The jacobian is:
\begin{equation} \frac{\partial \xi^i}{\partial x^j} = \delta_{ij} \sqrt{s(\vec{\xi})} + \frac{\xi_j}{2 \sqrt{s(\vec{\xi})}} \frac{4\xi^2(1 - s(\vec{\xi})) \xi_j + 2a^2\xi_i + 2 s(\vec{\xi}) (\vec{\xi} \cdot \vec{a}) a_i}{\xi^4 + (\vec{\xi} \cdot \vec{a})^2} \end{equation}
The inverse jacobian is:
\begin{equation}\frac{\partial x^i}{\partial \xi^j} = \delta_{ij}\frac{r(\vec{x})}{|\vec{x}|} + \frac{r(\vec{x})^2 x_i + (\vec{x} \cdot \vec{a})a_i}{2r(\vec{x})^3 - r(\vec{x}) (x^2 - a^2)}\frac{x_j}{|\vec{x}|} - \frac{r(\vec{x}) x_i x_j}{x^3} \end{equation}
|
explicit |
Constructs a Kerr horizon conforming map.
mass | The Kerr mass parameter \(M\) |
dimensionless_spin | The dimensionless spin \(\vec{\chi} = \vec{a} / M = \vec{S} / M^2\), where \(M\) is the Kerr mass parameter, \(\vec{S}\) is the angular momentum or quasilocal spin, and \(\vec{a}\) is the Kerr spin parameter. |