SpECTRE
v2025.03.17
|
Computes the intermediates and quantities that we do not want to recompute across the solution's implementation. More...
#include <HarmonicSchwarzschild.hpp>
Public Types | |
using | CachedBuffer = HarmonicSchwarzschild::CachedBuffer< DataType, Frame > |
Public Member Functions | |
IntermediateComputer (const HarmonicSchwarzschild &solution, const tnsr::I< DataType, 3, Frame > &x) | |
Constructs a computer for spacetime quantities of a given gr::Solutions::HarmonicSchwarzschild solution at at a specific Cartesian position. More... | |
void | operator() (gsl::not_null< tnsr::I< DataType, 3, Frame > * > x_minus_center, gsl::not_null< CachedBuffer * >, internal_tags::x_minus_center< DataType, Frame >) const |
Computes the intermediate defined by internal_tags::x_minus_center | |
void | operator() (gsl::not_null< Scalar< DataType > * > r, gsl::not_null< CachedBuffer * > cache, internal_tags::r< DataType >) const |
Computes the radius defined by internal_tags::r | |
void | operator() (gsl::not_null< Scalar< DataType > * > one_over_r, gsl::not_null< CachedBuffer * > cache, internal_tags::one_over_r< DataType >) const |
Computes the intermediate defined by internal_tags::one_over_r | |
void | operator() (gsl::not_null< tnsr::I< DataType, 3, Frame > * > x_over_r, gsl::not_null< CachedBuffer * > cache, internal_tags::x_over_r< DataType, Frame >) const |
Computes the intermediate defined by internal_tags::x_over_r | |
void | operator() (gsl::not_null< Scalar< DataType > * > m_over_r, gsl::not_null< CachedBuffer * > cache, internal_tags::m_over_r< DataType >) const |
Computes the intermediate defined by internal_tags::m_over_r | |
void | operator() (gsl::not_null< Scalar< DataType > * > sqrt_f_0, gsl::not_null< CachedBuffer * > cache, internal_tags::sqrt_f_0< DataType >) const |
Computes the intermediate defined by internal_tags::sqrt_f_0 | |
void | operator() (gsl::not_null< Scalar< DataType > * > f_0, gsl::not_null< CachedBuffer * > cache, internal_tags::f_0< DataType >) const |
Computes the intermediate defined by internal_tags::f_0 | |
void | operator() (gsl::not_null< Scalar< DataType > * > two_m_over_m_plus_r, gsl::not_null< CachedBuffer * > cache, internal_tags::two_m_over_m_plus_r< DataType >) const |
Computes the intermediate defined by internal_tags::two_m_over_m_plus_r | |
void | operator() (gsl::not_null< Scalar< DataType > * > two_m_over_m_plus_r_squared, gsl::not_null< CachedBuffer * > cache, internal_tags::two_m_over_m_plus_r_squared< DataType >) const |
Computes the intermediate defined by internal_tags::two_m_over_m_plus_r_squared | |
void | operator() (gsl::not_null< Scalar< DataType > * > two_m_over_m_plus_r_cubed, gsl::not_null< CachedBuffer * > cache, internal_tags::two_m_over_m_plus_r_cubed< DataType >) const |
Computes the intermediate defined by internal_tags::two_m_over_m_plus_r_cubed | |
void | operator() (gsl::not_null< Scalar< DataType > * > spatial_metric_rr, gsl::not_null< CachedBuffer * > cache, internal_tags::spatial_metric_rr< DataType >) const |
Computes the intermediate defined by internal_tags::spatial_metric_rr | |
void | operator() (gsl::not_null< Scalar< DataType > * > one_over_spatial_metric_rr, gsl::not_null< CachedBuffer * > cache, internal_tags::one_over_spatial_metric_rr< DataType >) const |
Computes the intermediate defined by internal_tags::one_over_spatial_metric_rr | |
void | operator() (gsl::not_null< Scalar< DataType > * > spatial_metric_rr_minus_f_0, gsl::not_null< CachedBuffer * > cache, internal_tags::spatial_metric_rr_minus_f_0< DataType >) const |
Computes the intermediate defined by internal_tags::spatial_metric_rr_minus_f_0 | |
void | operator() (gsl::not_null< Scalar< DataType > * > d_spatial_metric_rr, gsl::not_null< CachedBuffer * > cache, internal_tags::d_spatial_metric_rr< DataType >) const |
Computes the intermediate defined by internal_tags::d_spatial_metric_rr | |
void | operator() (gsl::not_null< Scalar< DataType > * > d_f_0, gsl::not_null< CachedBuffer * > cache, internal_tags::d_f_0< DataType >) const |
Computes the intermediate defined by internal_tags::d_f_0 | |
void | operator() (gsl::not_null< tnsr::i< DataType, 3, Frame > * > d_f_0_times_x_over_r, gsl::not_null< CachedBuffer * > cache, internal_tags::d_f_0_times_x_over_r< DataType, Frame >) const |
Computes the intermediate defined by internal_tags::d_f_0_times_x_over_r | |
void | operator() (gsl::not_null< Scalar< DataType > * > f_1, gsl::not_null< CachedBuffer * > cache, internal_tags::f_1< DataType >) const |
Computes the intermediate defined by internal_tags::f_1 | |
void | operator() (gsl::not_null< tnsr::i< DataType, 3, Frame > * > f_1_times_x_over_r, gsl::not_null< CachedBuffer * > cache, internal_tags::f_1_times_x_over_r< DataType, Frame >) const |
Computes the intermediate defined by internal_tags::f_1_times_x_over_r | |
void | operator() (gsl::not_null< Scalar< DataType > * > f_2, gsl::not_null< CachedBuffer * > cache, internal_tags::f_2< DataType >) const |
Computes the intermediate defined by internal_tags::f_2 | |
void | operator() (gsl::not_null< tnsr::iii< DataType, 3, Frame > * > f_2_times_xxx_over_r_cubed, gsl::not_null< CachedBuffer * > cache, internal_tags::f_2_times_xxx_over_r_cubed< DataType, Frame >) const |
Computes the intermediate defined by internal_tags::f_2_times_xxx_over_r_cubed | |
void | operator() (gsl::not_null< Scalar< DataType > * > f_3, gsl::not_null< CachedBuffer * > cache, internal_tags::f_3< DataType >) const |
Computes the intermediate defined by internal_tags::f_3 | |
void | operator() (gsl::not_null< Scalar< DataType > * > f_4, gsl::not_null< CachedBuffer * > cache, internal_tags::f_4< DataType >) const |
Computes the intermediate defined by internal_tags::f_4 | |
void | operator() (gsl::not_null< Scalar< DataType > * > lapse, gsl::not_null< CachedBuffer * > cache, gr::Tags::Lapse< DataType >) const |
Computes the lapse. More... | |
void | operator() (gsl::not_null< Scalar< DataType > * > neg_half_lapse_cubed_times_d_spatial_metric_rr, gsl::not_null< CachedBuffer * > cache, internal_tags::neg_half_lapse_cubed_times_d_spatial_metric_rr< DataType >) const |
Computes the intermediate defined by internal_tags::neg_half_lapse_cubed_times_d_spatial_metric_rr | |
void | operator() (gsl::not_null< tnsr::I< DataType, 3, Frame > * > shift, gsl::not_null< CachedBuffer * > cache, gr::Tags::Shift< DataType, 3, Frame >) const |
Computes the shift. More... | |
void | operator() (gsl::not_null< tnsr::iJ< DataType, 3, Frame > * > deriv_shift, gsl::not_null< CachedBuffer * > cache, DerivShift< DataType, Frame >) const |
Computes the spatial derivative of the shift. More... | |
void | operator() (gsl::not_null< tnsr::ii< DataType, 3, Frame > * > spatial_metric, gsl::not_null< CachedBuffer * > cache, gr::Tags::SpatialMetric< DataType, 3, Frame >) const |
Computes the spatial metric. More... | |
void | operator() (gsl::not_null< tnsr::ijj< DataType, 3, Frame > * > deriv_spatial_metric, gsl::not_null< CachedBuffer * > cache, DerivSpatialMetric< DataType, Frame >) const |
Computes the spatial derivative of the spatial metric. More... | |
void | operator() (gsl::not_null< tnsr::ii< DataType, 3, Frame > * > dt_spatial_metric, gsl::not_null< CachedBuffer * > cache, ::Tags::dt< gr::Tags::SpatialMetric< DataType, 3, Frame > >) const |
Sets the time derivative of the spatial metric to 0. | |
void | operator() (gsl::not_null< Scalar< DataType > * > det_spatial_metric, gsl::not_null< CachedBuffer * > cache, gr::Tags::DetSpatialMetric< DataType >) const |
Computes the determinant of the spatial metric. | |
void | operator() (gsl::not_null< Scalar< DataType > * > one_over_det_spatial_metric, gsl::not_null< CachedBuffer * > cache, internal_tags::one_over_det_spatial_metric< DataType >) const |
Computes one over the determinant of the spatial metric. | |
Computes the intermediates and quantities that we do not want to recompute across the solution's implementation.
gr::Solutions::HarmonicSchwarzschild::IntermediateComputer< DataType, Frame >::IntermediateComputer | ( | const HarmonicSchwarzschild & | solution, |
const tnsr::I< DataType, 3, Frame > & | x | ||
) |
Constructs a computer for spacetime quantities of a given gr::Solutions::HarmonicSchwarzschild
solution at at a specific Cartesian position.
solution | the given gr::Solutions::HarmonicSchwarzschild solution |
x | Cartesian coordinates of the position at which to compute spacetime quantities |
void gr::Solutions::HarmonicSchwarzschild::IntermediateComputer< DataType, Frame >::operator() | ( | gsl::not_null< Scalar< DataType > * > | lapse, |
gsl::not_null< CachedBuffer * > | cache, | ||
gr::Tags::Lapse< DataType > | |||
) | const |
Computes the lapse.
Computed as
where internal_tags::spatial_metric_rr
.
void gr::Solutions::HarmonicSchwarzschild::IntermediateComputer< DataType, Frame >::operator() | ( | gsl::not_null< tnsr::I< DataType, 3, Frame > * > | shift, |
gsl::not_null< CachedBuffer * > | cache, | ||
gr::Tags::Shift< DataType, 3, Frame > | |||
) | const |
Computes the shift.
Computed as
where internal_tags::r
, internal_tags::x_minus_center
, and internal_tags::spatial_metric_rr
.
void gr::Solutions::HarmonicSchwarzschild::IntermediateComputer< DataType, Frame >::operator() | ( | gsl::not_null< tnsr::ii< DataType, 3, Frame > * > | spatial_metric, |
gsl::not_null< CachedBuffer * > | cache, | ||
gr::Tags::SpatialMetric< DataType, 3, Frame > | |||
) | const |
Computes the spatial metric.
Computed as
where internal_tags::r
, internal_tags::spatial_metric_rr
, and internal_tags::x_minus_center
.
void gr::Solutions::HarmonicSchwarzschild::IntermediateComputer< DataType, Frame >::operator() | ( | gsl::not_null< tnsr::iJ< DataType, 3, Frame > * > | deriv_shift, |
gsl::not_null< CachedBuffer * > | cache, | ||
DerivShift< DataType, Frame > | |||
) | const |
Computes the spatial derivative of the shift.
Computed as
where internal_tags::r
, internal_tags::x_minus_center
, internal_tags::f_3
, and internal_tags::f_4
.
void gr::Solutions::HarmonicSchwarzschild::IntermediateComputer< DataType, Frame >::operator() | ( | gsl::not_null< tnsr::ijj< DataType, 3, Frame > * > | deriv_spatial_metric, |
gsl::not_null< CachedBuffer * > | cache, | ||
DerivSpatialMetric< DataType, Frame > | |||
) | const |
Computes the spatial derivative of the spatial metric.
Computed as
where internal_tags::r
, internal_tags::d_f_0
, internal_tags::f_1
, internal_tags::f_2
, and internal_tags::x_minus_center
.