SpECTRE
v2025.03.17
|
Schwarzschild black hole in Cartesian coordinates with harmonic gauge. More...
#include <HarmonicSchwarzschild.hpp>
Classes | |
struct | Center |
class | IntermediateComputer |
Computes the intermediates and quantities that we do not want to recompute across the solution's implementation. More... | |
class | IntermediateVars |
Computes and returns spacetime quantities of interest. More... | |
struct | internal_tags |
Tags defined for intermediates specific to the harmonic Schwarzschild solution. More... | |
struct | Mass |
Public Types | |
using | options = implementation defined |
template<typename DataType , typename Frame = ::Frame::Inertial> | |
using | CachedBuffer = CachedTempBuffer< internal_tags::x_minus_center< DataType, Frame >, internal_tags::r< DataType >, internal_tags::one_over_r< DataType >, internal_tags::x_over_r< DataType, Frame >, internal_tags::m_over_r< DataType >, internal_tags::sqrt_f_0< DataType >, internal_tags::f_0< DataType >, internal_tags::two_m_over_m_plus_r< DataType >, internal_tags::two_m_over_m_plus_r_squared< DataType >, internal_tags::two_m_over_m_plus_r_cubed< DataType >, internal_tags::spatial_metric_rr< DataType >, internal_tags::one_over_spatial_metric_rr< DataType >, internal_tags::spatial_metric_rr_minus_f_0< DataType >, internal_tags::d_spatial_metric_rr< DataType >, internal_tags::d_f_0< DataType >, internal_tags::d_f_0_times_x_over_r< DataType, Frame >, internal_tags::f_1< DataType >, internal_tags::f_1_times_x_over_r< DataType, Frame >, internal_tags::f_2< DataType >, internal_tags::f_2_times_xxx_over_r_cubed< DataType, Frame >, internal_tags::f_3< DataType >, internal_tags::f_4< DataType >, gr::Tags::Lapse< DataType >, internal_tags::neg_half_lapse_cubed_times_d_spatial_metric_rr< DataType >, gr::Tags::Shift< DataType, 3, Frame >, DerivShift< DataType, Frame >, gr::Tags::SpatialMetric< DataType, 3, Frame >, DerivSpatialMetric< DataType, Frame >, ::Tags::dt< gr::Tags::SpatialMetric< DataType, 3, Frame > >, gr::Tags::DetSpatialMetric< DataType >, internal_tags::one_over_det_spatial_metric< DataType > > |
Buffer for caching computed intermediates and quantities that we do not want to recompute across the solution's implementation. More... | |
![]() | |
using | DerivLapse = ::Tags::deriv< gr::Tags::Lapse< DataType >, tmpl::size_t< volume_dim >, Frame > |
using | DerivShift = ::Tags::deriv< gr::Tags::Shift< DataType, volume_dim, Frame >, tmpl::size_t< volume_dim >, Frame > |
using | DerivSpatialMetric = ::Tags::deriv< gr::Tags::SpatialMetric< DataType, volume_dim, Frame >, tmpl::size_t< volume_dim >, Frame > |
using | tags = implementation defined |
Public Member Functions | |
HarmonicSchwarzschild (double mass, const std::array< double, volume_dim > ¢er, const Options::Context &context={}) | |
HarmonicSchwarzschild (const HarmonicSchwarzschild &)=default | |
HarmonicSchwarzschild & | operator= (const HarmonicSchwarzschild &)=default |
HarmonicSchwarzschild (HarmonicSchwarzschild &&)=default | |
HarmonicSchwarzschild & | operator= (HarmonicSchwarzschild &&)=default |
HarmonicSchwarzschild (CkMigrateMessage *) | |
template<typename DataType , typename Frame , typename... Tags> | |
tuples::TaggedTuple< Tags... > | variables (const tnsr::I< DataType, volume_dim, Frame > &x, double, tmpl::list< Tags... >) const |
Computes and returns spacetime quantities for a Schwarzschild black hole with harmonic coordinates at a specific Cartesian position. More... | |
void | pup (PUP::er &p) |
double | mass () const |
Return the mass of the black hole. | |
const std::array< double, volume_dim > & | center () const |
Return the center of the black hole. | |
Static Public Attributes | |
static constexpr Options::String | help |
![]() | |
static constexpr size_t | volume_dim |
Schwarzschild black hole in Cartesian coordinates with harmonic gauge.
This solution represents a Schwarzschild black hole in coordinates that are harmonic in both space and time, as well as horizon-penetrating. Therefore, this solution fulfills the harmonic coordinate conditions Eq. (4.42), (4.44), and (4.45) in [14] :
(Note that Eq. 4.45 in [14] is missing a minus sign in front of the
We implement Eqs. (45)–(50) in [42] , which represent the zero-spin limit of the time-harmonic and horizon-penetrating slices of Kerr spacetime presented in the paper. We add the radial transformation
Consider a Schwarzschild black hole of mass
For computing the spatial metric, we define the following quantities:
From these quantities, the spatial metric and its time derivative are computed as
The spatial derivative is given in terms of the following quantities:
In terms of these, the spatial metric's spatial derivative is
The lapse and its derivatives are
The shift and its time derivative are
The spatial derivative of the shift is computed in terms of the following quantities:
In terms of these, the shift's spatial derivative is
Buffer for caching computed intermediates and quantities that we do not want to recompute across the solution's implementation.
See internal_tags
documentation for details on what quantities the internal tags represent
|
inline |
Computes and returns spacetime quantities for a Schwarzschild black hole with harmonic coordinates at a specific Cartesian position.
x | Cartesian coordinates of the position at which to compute spacetime quantities |
|
staticconstexpr |