SpECTRE
v2022.08.01
|
Holds functions related to general relativity. More...
Namespaces | |
namespace | AnalyticData |
Classes which implement analytic data for general relativity. | |
namespace | Solutions |
Classes which implement analytic solutions to Einstein's equations. | |
Classes | |
struct | AnalyticDataBase |
Base struct for properties common to all GR analytic data classes. More... | |
struct | AnalyticSolution |
Base struct for properties common to all GR analytic solutions. More... | |
class | KerrSchildCoords |
Contains helper functions for transforming tensors in Kerr spacetime to Kerr-Schild coordinates. More... | |
Typedefs | |
template<size_t Dim, typename DataType > | |
using | tags_for_hydro = tmpl::list< gr::Tags::Lapse< DataType >, gr::Tags::Shift< Dim, Frame::Inertial, DataType >, gr::Tags::SpatialMetric< Dim, Frame::Inertial, DataType >, gr::Tags::InverseSpatialMetric< Dim, Frame::Inertial, DataType >, gr::Tags::SqrtDetSpatialMetric< DataType >, ::Tags::deriv< gr::Tags::Lapse< DataType >, tmpl::size_t< Dim >, Frame::Inertial >, ::Tags::deriv< gr::Tags::Shift< Dim, Frame::Inertial, DataType >, tmpl::size_t< Dim >, Frame::Inertial >, ::Tags::deriv< gr::Tags::SpatialMetric< Dim, Frame::Inertial, DataType >, tmpl::size_t< Dim >, Frame::Inertial >, gr::Tags::ExtrinsicCurvature< Dim, Frame::Inertial, DataType > > |
GR Tags commonly needed for the evolution of hydro systems. | |
template<size_t Dim, typename DataType > | |
using | analytic_solution_tags = tmpl::list< gr::Tags::Lapse< DataType >, ::Tags::dt< gr::Tags::Lapse< DataType > >, ::Tags::deriv< gr::Tags::Lapse< DataType >, tmpl::size_t< Dim >, Frame::Inertial >, gr::Tags::Shift< Dim, Frame::Inertial, DataType >, ::Tags::dt< gr::Tags::Shift< Dim, Frame::Inertial, DataType > >, ::Tags::deriv< gr::Tags::Shift< Dim, Frame::Inertial, DataType >, tmpl::size_t< Dim >, Frame::Inertial >, gr::Tags::SpatialMetric< Dim, Frame::Inertial, DataType >, ::Tags::dt< gr::Tags::SpatialMetric< Dim, Frame::Inertial, DataType > >, ::Tags::deriv< gr::Tags::SpatialMetric< Dim, Frame::Inertial, DataType >, tmpl::size_t< Dim >, Frame::Inertial >, gr::Tags::SqrtDetSpatialMetric< DataType >, gr::Tags::ExtrinsicCurvature< Dim, Frame::Inertial, DataType >, gr::Tags::InverseSpatialMetric< Dim, Frame::Inertial, DataType > > |
The tags for the variables returned by GR analytic solutions. | |
Functions | |
bool | operator!= (const KerrSchildCoords &lhs, const KerrSchildCoords &rhs) |
template<size_t SpatialDim, typename Frame , IndexType Index, typename DataType > | |
void | christoffel_first_kind (gsl::not_null< tnsr::abb< DataType, SpatialDim, Frame, Index > * > christoffel, const tnsr::abb< DataType, SpatialDim, Frame, Index > &d_metric) |
Computes Christoffel symbol of the first kind from derivative of metric. More... | |
template<size_t SpatialDim, typename Frame , IndexType Index, typename DataType > | |
tnsr::abb< DataType, SpatialDim, Frame, Index > | christoffel_first_kind (const tnsr::abb< DataType, SpatialDim, Frame, Index > &d_metric) |
Computes Christoffel symbol of the first kind from derivative of metric. More... | |
template<size_t SpatialDim, typename Frame , IndexType Index, typename DataType > | |
void | christoffel_second_kind (const gsl::not_null< tnsr::Abb< DataType, SpatialDim, Frame, Index > * > christoffel, const tnsr::abb< DataType, SpatialDim, Frame, Index > &d_metric, const tnsr::AA< DataType, SpatialDim, Frame, Index > &inverse_metric) |
Computes Christoffel symbol of the second kind from derivative of metric and the inverse metric. More... | |
template<size_t SpatialDim, typename Frame , IndexType Index, typename DataType > | |
auto | christoffel_second_kind (const tnsr::abb< DataType, SpatialDim, Frame, Index > &d_metric, const tnsr::AA< DataType, SpatialDim, Frame, Index > &inverse_metric) -> tnsr::Abb< DataType, SpatialDim, Frame, Index > |
Computes Christoffel symbol of the second kind from derivative of metric and the inverse metric. More... | |
template<size_t SpatialDim, typename Frame , typename DataType > | |
void | derivatives_of_spacetime_metric (gsl::not_null< tnsr::abb< DataType, SpatialDim, Frame > * > spacetime_deriv_spacetime_metric, const Scalar< DataType > &lapse, const Scalar< DataType > &dt_lapse, const tnsr::i< DataType, SpatialDim, Frame > &deriv_lapse, const tnsr::I< DataType, SpatialDim, Frame > &shift, const tnsr::I< DataType, SpatialDim, Frame > &dt_shift, const tnsr::iJ< DataType, SpatialDim, Frame > &deriv_shift, const tnsr::ii< DataType, SpatialDim, Frame > &spatial_metric, const tnsr::ii< DataType, SpatialDim, Frame > &dt_spatial_metric, const tnsr::ijj< DataType, SpatialDim, Frame > &deriv_spatial_metric) |
Computes spacetime derivative of spacetime metric from spatial metric, lapse, shift, and their space and time derivatives. More... | |
template<size_t SpatialDim, typename Frame , typename DataType > | |
tnsr::abb< DataType, SpatialDim, Frame > | derivatives_of_spacetime_metric (const Scalar< DataType > &lapse, const Scalar< DataType > &dt_lapse, const tnsr::i< DataType, SpatialDim, Frame > &deriv_lapse, const tnsr::I< DataType, SpatialDim, Frame > &shift, const tnsr::I< DataType, SpatialDim, Frame > &dt_shift, const tnsr::iJ< DataType, SpatialDim, Frame > &deriv_shift, const tnsr::ii< DataType, SpatialDim, Frame > &spatial_metric, const tnsr::ii< DataType, SpatialDim, Frame > &dt_spatial_metric, const tnsr::ijj< DataType, SpatialDim, Frame > &deriv_spatial_metric) |
Computes spacetime derivative of spacetime metric from spatial metric, lapse, shift, and their space and time derivatives. More... | |
template<size_t Dim, typename Frame , typename DataType > | |
void | deriv_inverse_spatial_metric (const gsl::not_null< tnsr::iJJ< DataType, Dim, Frame > * > result, const tnsr::II< DataType, Dim, Frame > &inverse_spatial_metric, const tnsr::ijj< DataType, Dim, Frame > &d_spatial_metric) |
Computes the spatial derivative of the inverse spatial metric from the inverse spatial metric and the spatial derivative of the spatial metric. More... | |
template<size_t Dim, typename Frame , typename DataType > | |
tnsr::iJJ< DataType, Dim, Frame > | deriv_inverse_spatial_metric (const tnsr::II< DataType, Dim, Frame > &inverse_spatial_metric, const tnsr::ijj< DataType, Dim, Frame > &d_spatial_metric) |
Computes the spatial derivative of the inverse spatial metric from the inverse spatial metric and the spatial derivative of the spatial metric. More... | |
template<size_t SpatialDim, typename Frame , typename DataType > | |
tnsr::ii< DataType, SpatialDim, Frame > | extrinsic_curvature (const Scalar< DataType > &lapse, const tnsr::I< DataType, SpatialDim, Frame > &shift, const tnsr::iJ< DataType, SpatialDim, Frame > &deriv_shift, const tnsr::ii< DataType, SpatialDim, Frame > &spatial_metric, const tnsr::ii< DataType, SpatialDim, Frame > &dt_spatial_metric, const tnsr::ijj< DataType, SpatialDim, Frame > &deriv_spatial_metric) |
Computes extrinsic curvature from metric and derivatives. More... | |
template<size_t SpatialDim, typename Frame , typename DataType > | |
void | extrinsic_curvature (gsl::not_null< tnsr::ii< DataType, SpatialDim, Frame > * > ex_curvature, const Scalar< DataType > &lapse, const tnsr::I< DataType, SpatialDim, Frame > &shift, const tnsr::iJ< DataType, SpatialDim, Frame > &deriv_shift, const tnsr::ii< DataType, SpatialDim, Frame > &spatial_metric, const tnsr::ii< DataType, SpatialDim, Frame > &dt_spatial_metric, const tnsr::ijj< DataType, SpatialDim, Frame > &deriv_spatial_metric) |
Computes extrinsic curvature from metric and derivatives. More... | |
template<size_t VolumeDim, typename Frame , typename DataType > | |
tnsr::a< DataType, VolumeDim, Frame > | interface_null_normal (const tnsr::a< DataType, VolumeDim, Frame > &spacetime_normal_one_form, const tnsr::i< DataType, VolumeDim, Frame > &interface_unit_normal_one_form, const double sign) |
Compute null normal one-form to the boundary of a closed region in a spatial slice of spacetime. More... | |
template<size_t VolumeDim, typename Frame , typename DataType > | |
void | interface_null_normal (gsl::not_null< tnsr::a< DataType, VolumeDim, Frame > * > null_one_form, const tnsr::a< DataType, VolumeDim, Frame > &spacetime_normal_one_form, const tnsr::i< DataType, VolumeDim, Frame > &interface_unit_normal_one_form, const double sign) |
Compute null normal one-form to the boundary of a closed region in a spatial slice of spacetime. More... | |
template<size_t VolumeDim, typename Frame , typename DataType > | |
tnsr::A< DataType, VolumeDim, Frame > | interface_null_normal (const tnsr::A< DataType, VolumeDim, Frame > &spacetime_normal_vector, const tnsr::I< DataType, VolumeDim, Frame > &interface_unit_normal_vector, const double sign) |
Compute null normal vector to the boundary of a closed region in a spatial slice of spacetime. More... | |
template<size_t VolumeDim, typename Frame , typename DataType > | |
void | interface_null_normal (gsl::not_null< tnsr::A< DataType, VolumeDim, Frame > * > null_vector, const tnsr::A< DataType, VolumeDim, Frame > &spacetime_normal_vector, const tnsr::I< DataType, VolumeDim, Frame > &interface_unit_normal_vector, const double sign) |
Compute null normal vector to the boundary of a closed region in a spatial slice of spacetime. More... | |
template<size_t SpatialDim, typename Frame , typename DataType > | |
void | inverse_spacetime_metric (gsl::not_null< tnsr::AA< DataType, SpatialDim, Frame > * > inverse_spacetime_metric, const Scalar< DataType > &lapse, const tnsr::I< DataType, SpatialDim, Frame > &shift, const tnsr::II< DataType, SpatialDim, Frame > &inverse_spatial_metric) |
Compute inverse spacetime metric from inverse spatial metric, lapse and shift. More... | |
template<size_t SpatialDim, typename Frame , typename DataType > | |
tnsr::AA< DataType, SpatialDim, Frame > | inverse_spacetime_metric (const Scalar< DataType > &lapse, const tnsr::I< DataType, SpatialDim, Frame > &shift, const tnsr::II< DataType, SpatialDim, Frame > &inverse_spatial_metric) |
Compute inverse spacetime metric from inverse spatial metric, lapse and shift. More... | |
template<size_t SpatialDim, typename Frame , typename DataType > | |
Scalar< DataType > | lapse (const tnsr::I< DataType, SpatialDim, Frame > &shift, const tnsr::aa< DataType, SpatialDim, Frame > &spacetime_metric) |
Compute lapse from shift and spacetime metric. More... | |
template<size_t SpatialDim, typename Frame , typename DataType > | |
void | lapse (gsl::not_null< Scalar< DataType > * > lapse, const tnsr::I< DataType, SpatialDim, Frame > &shift, const tnsr::aa< DataType, SpatialDim, Frame > &spacetime_metric) |
Compute lapse from shift and spacetime metric. More... | |
template<size_t VolumeDim, typename Frame , typename DataType > | |
tnsr::II< DataType, VolumeDim, Frame > | transverse_projection_operator (const tnsr::II< DataType, VolumeDim, Frame > &inverse_spatial_metric, const tnsr::I< DataType, VolumeDim, Frame > &normal_vector) |
Compute projection operator onto an interface. More... | |
template<size_t VolumeDim, typename Frame , typename DataType > | |
void | transverse_projection_operator (gsl::not_null< tnsr::II< DataType, VolumeDim, Frame > * > projection_tensor, const tnsr::II< DataType, VolumeDim, Frame > &inverse_spatial_metric, const tnsr::I< DataType, VolumeDim, Frame > &normal_vector) |
Compute projection operator onto an interface. More... | |
template<size_t VolumeDim, typename Frame , typename DataType > | |
tnsr::ii< DataType, VolumeDim, Frame > | transverse_projection_operator (const tnsr::ii< DataType, VolumeDim, Frame > &spatial_metric, const tnsr::i< DataType, VolumeDim, Frame > &normal_one_form) |
Compute projection operator onto an interface. More... | |
template<size_t VolumeDim, typename Frame , typename DataType > | |
void | transverse_projection_operator (gsl::not_null< tnsr::ii< DataType, VolumeDim, Frame > * > projection_tensor, const tnsr::ii< DataType, VolumeDim, Frame > &spatial_metric, const tnsr::i< DataType, VolumeDim, Frame > &normal_one_form) |
Compute projection operator onto an interface. More... | |
template<size_t VolumeDim, typename Frame , typename DataType > | |
tnsr::Ij< DataType, VolumeDim, Frame > | transverse_projection_operator (const tnsr::I< DataType, VolumeDim, Frame > &normal_vector, const tnsr::i< DataType, VolumeDim, Frame > &normal_one_form) |
Compute projection operator onto an interface. More... | |
template<size_t VolumeDim, typename Frame , typename DataType > | |
void | transverse_projection_operator (gsl::not_null< tnsr::Ij< DataType, VolumeDim, Frame > * > projection_tensor, const tnsr::I< DataType, VolumeDim, Frame > &normal_vector, const tnsr::i< DataType, VolumeDim, Frame > &normal_one_form) |
Compute projection operator onto an interface. More... | |
template<size_t VolumeDim, typename Frame , typename DataType > | |
tnsr::aa< DataType, VolumeDim, Frame > | transverse_projection_operator (const tnsr::aa< DataType, VolumeDim, Frame > &spacetime_metric, const tnsr::a< DataType, VolumeDim, Frame > &spacetime_normal_one_form, const tnsr::i< DataType, VolumeDim, Frame > &interface_unit_normal_one_form) |
Compute spacetime projection operator onto an interface. More... | |
template<size_t VolumeDim, typename Frame , typename DataType > | |
void | transverse_projection_operator (gsl::not_null< tnsr::aa< DataType, VolumeDim, Frame > * > projection_tensor, const tnsr::aa< DataType, VolumeDim, Frame > &spacetime_metric, const tnsr::a< DataType, VolumeDim, Frame > &spacetime_normal_one_form, const tnsr::i< DataType, VolumeDim, Frame > &interface_unit_normal_one_form) |
Compute spacetime projection operator onto an interface. More... | |
template<size_t VolumeDim, typename Frame , typename DataType > | |
tnsr::AA< DataType, VolumeDim, Frame > | transverse_projection_operator (const tnsr::AA< DataType, VolumeDim, Frame > &inverse_spacetime_metric, const tnsr::A< DataType, VolumeDim, Frame > &spacetime_normal_vector, const tnsr::I< DataType, VolumeDim, Frame > &interface_unit_normal_vector) |
Compute spacetime projection operator onto an interface. More... | |
template<size_t VolumeDim, typename Frame , typename DataType > | |
void | transverse_projection_operator (gsl::not_null< tnsr::AA< DataType, VolumeDim, Frame > * > projection_tensor, const tnsr::AA< DataType, VolumeDim, Frame > &inverse_spacetime_metric, const tnsr::A< DataType, VolumeDim, Frame > &spacetime_normal_vector, const tnsr::I< DataType, VolumeDim, Frame > &interface_unit_normal_vector) |
Compute spacetime projection operator onto an interface. More... | |
template<size_t VolumeDim, typename Frame , typename DataType > | |
tnsr::Ab< DataType, VolumeDim, Frame > | transverse_projection_operator (const tnsr::A< DataType, VolumeDim, Frame > &spacetime_normal_vector, const tnsr::a< DataType, VolumeDim, Frame > &spacetime_normal_one_form, const tnsr::I< DataType, VolumeDim, Frame > &interface_unit_normal_vector, const tnsr::i< DataType, VolumeDim, Frame > &interface_unit_normal_one_form) |
Compute spacetime projection operator onto an interface. More... | |
template<size_t VolumeDim, typename Frame , typename DataType > | |
void | transverse_projection_operator (gsl::not_null< tnsr::Ab< DataType, VolumeDim, Frame > * > projection_tensor, const tnsr::A< DataType, VolumeDim, Frame > &spacetime_normal_vector, const tnsr::a< DataType, VolumeDim, Frame > &spacetime_normal_one_form, const tnsr::I< DataType, VolumeDim, Frame > &interface_unit_normal_vector, const tnsr::i< DataType, VolumeDim, Frame > &interface_unit_normal_one_form) |
Compute spacetime projection operator onto an interface. More... | |
template<size_t SpatialDim, typename Frame , IndexType Index, typename DataType > | |
void | ricci_tensor (gsl::not_null< tnsr::aa< DataType, SpatialDim, Frame, Index > * > result, const tnsr::Abb< DataType, SpatialDim, Frame, Index > &christoffel_2nd_kind, const tnsr::aBcc< DataType, SpatialDim, Frame, Index > &d_christoffel_2nd_kind) |
Computes Ricci tensor from the (spatial or spacetime) Christoffel symbol of the second kind and its derivative. More... | |
template<size_t SpatialDim, typename Frame , IndexType Index, typename DataType > | |
tnsr::aa< DataType, SpatialDim, Frame, Index > | ricci_tensor (const tnsr::Abb< DataType, SpatialDim, Frame, Index > &christoffel_2nd_kind, const tnsr::aBcc< DataType, SpatialDim, Frame, Index > &d_christoffel_2nd_kind) |
Computes Ricci tensor from the (spatial or spacetime) Christoffel symbol of the second kind and its derivative. More... | |
template<size_t SpatialDim, typename Frame , IndexType Index, typename DataType > | |
void | ricci_scalar (const gsl::not_null< Scalar< DataType > * > ricci_scalar_result, const tnsr::aa< DataType, SpatialDim, Frame, Index > &ricci_tensor, const tnsr::AA< DataType, SpatialDim, Frame, Index > &inverse_metric) |
Computes the Ricci Scalar from the (spatial or spacetime) Ricci Tensor and inverse metrics. More... | |
template<size_t SpatialDim, typename Frame , IndexType Index, typename DataType > | |
Scalar< DataType > | ricci_scalar (const tnsr::aa< DataType, SpatialDim, Frame, Index > &ricci_tensor, const tnsr::AA< DataType, SpatialDim, Frame, Index > &inverse_metric) |
Computes the Ricci Scalar from the (spatial or spacetime) Ricci Tensor and inverse metrics. More... | |
template<size_t SpatialDim, typename Frame , typename DataType > | |
tnsr::I< DataType, SpatialDim, Frame > | shift (const tnsr::aa< DataType, SpatialDim, Frame > &spacetime_metric, const tnsr::II< DataType, SpatialDim, Frame > &inverse_spatial_metric) |
Compute shift from spacetime metric and inverse spatial metric. More... | |
template<size_t SpatialDim, typename Frame , typename DataType > | |
void | shift (gsl::not_null< tnsr::I< DataType, SpatialDim, Frame > * > shift, const tnsr::aa< DataType, SpatialDim, Frame > &spacetime_metric, const tnsr::II< DataType, SpatialDim, Frame > &inverse_spatial_metric) |
Compute shift from spacetime metric and inverse spatial metric. More... | |
template<size_t Dim, typename Frame , typename DataType > | |
void | spacetime_metric (gsl::not_null< tnsr::aa< DataType, Dim, Frame > * > spacetime_metric, const Scalar< DataType > &lapse, const tnsr::I< DataType, Dim, Frame > &shift, const tnsr::ii< DataType, Dim, Frame > &spatial_metric) |
Computes the spacetime metric from the spatial metric, lapse, and shift. More... | |
template<size_t SpatialDim, typename Frame , typename DataType > | |
tnsr::aa< DataType, SpatialDim, Frame > | spacetime_metric (const Scalar< DataType > &lapse, const tnsr::I< DataType, SpatialDim, Frame > &shift, const tnsr::ii< DataType, SpatialDim, Frame > &spatial_metric) |
Computes the spacetime metric from the spatial metric, lapse, and shift. More... | |
template<size_t SpatialDim, typename Frame , typename DataType > | |
void | spacetime_normal_one_form (gsl::not_null< tnsr::a< DataType, SpatialDim, Frame > * > normal_one_form, const Scalar< DataType > &lapse) |
Computes spacetime normal one-form from lapse. More... | |
template<size_t SpatialDim, typename Frame , typename DataType > | |
tnsr::a< DataType, SpatialDim, Frame > | spacetime_normal_one_form (const Scalar< DataType > &lapse) |
Computes spacetime normal one-form from lapse. More... | |
template<size_t SpatialDim, typename Frame , typename DataType > | |
tnsr::A< DataType, SpatialDim, Frame > | spacetime_normal_vector (const Scalar< DataType > &lapse, const tnsr::I< DataType, SpatialDim, Frame > &shift) |
Computes spacetime normal vector from lapse and shift. More... | |
template<size_t SpatialDim, typename Frame , typename DataType > | |
void | spacetime_normal_vector (gsl::not_null< tnsr::A< DataType, SpatialDim, Frame > * > spacetime_normal_vector, const Scalar< DataType > &lapse, const tnsr::I< DataType, SpatialDim, Frame > &shift) |
Computes spacetime normal vector from lapse and shift. More... | |
template<size_t SpatialDim, typename Frame , typename DataType > | |
tnsr::ii< DataType, SpatialDim, Frame > | spatial_metric (const tnsr::aa< DataType, SpatialDim, Frame > &spacetime_metric) |
Compute spatial metric from spacetime metric. More... | |
template<size_t SpatialDim, typename Frame , typename DataType > | |
void | spatial_metric (gsl::not_null< tnsr::ii< DataType, SpatialDim, Frame > * > spatial_metric, const tnsr::aa< DataType, SpatialDim, Frame > &spacetime_metric) |
Compute spatial metric from spacetime metric. More... | |
template<size_t SpatialDim, typename Frame , typename DataType > | |
void | time_derivative_of_spacetime_metric (gsl::not_null< tnsr::aa< DataType, SpatialDim, Frame > * > dt_spacetime_metric, const Scalar< DataType > &lapse, const Scalar< DataType > &dt_lapse, const tnsr::I< DataType, SpatialDim, Frame > &shift, const tnsr::I< DataType, SpatialDim, Frame > &dt_shift, const tnsr::ii< DataType, SpatialDim, Frame > &spatial_metric, const tnsr::ii< DataType, SpatialDim, Frame > &dt_spatial_metric) |
Computes the time derivative of the spacetime metric from spatial metric, lapse, shift, and their time derivatives. More... | |
template<size_t SpatialDim, typename Frame , typename DataType > | |
tnsr::aa< DataType, SpatialDim, Frame > | time_derivative_of_spacetime_metric (const Scalar< DataType > &lapse, const Scalar< DataType > &dt_lapse, const tnsr::I< DataType, SpatialDim, Frame > &shift, const tnsr::I< DataType, SpatialDim, Frame > &dt_shift, const tnsr::ii< DataType, SpatialDim, Frame > &spatial_metric, const tnsr::ii< DataType, SpatialDim, Frame > &dt_spatial_metric) |
Computes the time derivative of the spacetime metric from spatial metric, lapse, shift, and their time derivatives. More... | |
template<size_t SpatialDim, typename Frame , typename DataType > | |
void | time_derivative_of_spatial_metric (gsl::not_null< tnsr::ii< DataType, SpatialDim, Frame > * > dt_spatial_metric, const Scalar< DataType > &lapse, const tnsr::I< DataType, SpatialDim, Frame > &shift, const tnsr::iJ< DataType, SpatialDim, Frame > &deriv_shift, const tnsr::ii< DataType, SpatialDim, Frame > &spatial_metric, const tnsr::ijj< DataType, SpatialDim, Frame > &deriv_spatial_metric, const tnsr::ii< DataType, SpatialDim, Frame > &extrinsic_curvature) |
Computes the time derivative of the spatial metric from extrinsic curvature, lapse, shift, and their time derivatives. More... | |
template<size_t SpatialDim, typename Frame , typename DataType > | |
tnsr::ii< DataType, SpatialDim, Frame > | time_derivative_of_spatial_metric (const Scalar< DataType > &lapse, const tnsr::I< DataType, SpatialDim, Frame > &shift, const tnsr::iJ< DataType, SpatialDim, Frame > &deriv_shift, const tnsr::ii< DataType, SpatialDim, Frame > &spatial_metric, const tnsr::ijj< DataType, SpatialDim, Frame > &deriv_spatial_metric, const tnsr::ii< DataType, SpatialDim, Frame > &extrinsic_curvature) |
Computes the time derivative of the spatial metric from extrinsic curvature, lapse, shift, and their time derivatives. More... | |
template<size_t SpatialDim, typename Frame , typename DataType > | |
tnsr::ii< DataType, SpatialDim, Frame > | weyl_electric (const tnsr::ii< DataType, SpatialDim, Frame > &spatial_ricci, const tnsr::ii< DataType, SpatialDim, Frame > &extrinsic_curvature, const tnsr::II< DataType, SpatialDim, Frame > &inverse_spatial_metric) |
Computes the electric part of the Weyl tensor in vacuum. More... | |
template<size_t SpatialDim, typename Frame , typename DataType > | |
void | weyl_electric (gsl::not_null< tnsr::ii< DataType, SpatialDim, Frame > * > weyl_electric_part, const tnsr::ii< DataType, SpatialDim, Frame > &spatial_ricci, const tnsr::ii< DataType, SpatialDim, Frame > &extrinsic_curvature, const tnsr::II< DataType, SpatialDim, Frame > &inverse_spatial_metric) |
Computes the electric part of the Weyl tensor in vacuum. More... | |
template<size_t SpatialDim, typename Frame , typename DataType > | |
Scalar< DataType > | weyl_electric_scalar (const tnsr::ii< DataType, SpatialDim, Frame > &weyl_electric, const tnsr::II< DataType, SpatialDim, Frame > &inverse_spatial_metric) |
Computes the scalar \(E_{ij} E^{ij}\) from the electric part of the Weyl tensor \(E_{ij}\). More... | |
template<size_t SpatialDim, typename Frame , typename DataType > | |
void | weyl_electric_scalar (gsl::not_null< Scalar< DataType > * > weyl_electric_scalar_result, const tnsr::ii< DataType, SpatialDim, Frame > &weyl_electric, const tnsr::II< DataType, SpatialDim, Frame > &inverse_spatial_metric) |
Computes the scalar \(E_{ij} E^{ij}\) from the electric part of the Weyl tensor \(E_{ij}\). More... | |
template<typename Frame , typename DataType > | |
tnsr::ii< DataType, 3, Frame > | weyl_magnetic (const tnsr::ijj< DataType, 3, Frame > &grad_extrinsic_curvature, const tnsr::ii< DataType, 3, Frame > &spatial_metric, const Scalar< DataType > &sqrt_det_spatial_metric) |
Computes the magnetic part of the Weyl tensor. More... | |
template<typename Frame , typename DataType > | |
void | weyl_magnetic (gsl::not_null< tnsr::ii< DataType, 3, Frame > * > weyl_magnetic_part, const tnsr::ijj< DataType, 3, Frame > &grad_extrinsic_curvature, const tnsr::ii< DataType, 3, Frame > &spatial_metric, const Scalar< DataType > &sqrt_det_spatial_metric) |
Computes the magnetic part of the Weyl tensor. More... | |
template<typename Frame , typename DataType > | |
Scalar< DataType > | weyl_magnetic_scalar (const tnsr::ii< DataType, 3, Frame > &weyl_magnetic, const tnsr::II< DataType, 3, Frame > &inverse_spatial_metric) |
Computes the scalar \(B_{ij} B^{ij}\) from the magnetic part of the Weyl tensor \(B_{ij}\). More... | |
template<typename Frame , typename DataType > | |
void | weyl_magnetic_scalar (gsl::not_null< Scalar< DataType > * > weyl_magnetic_scalar_result, const tnsr::ii< DataType, 3, Frame > &weyl_magnetic, const tnsr::II< DataType, 3, Frame > &inverse_spatial_metric) |
Computes the scalar \(B_{ij} B^{ij}\) from the magnetic part of the Weyl tensor \(B_{ij}\). More... | |
template<size_t SpatialDim, typename Frame , typename DataType > | |
tnsr::ii< DataType, SpatialDim, Frame > | weyl_propagating (const tnsr::ii< DataType, SpatialDim, Frame > &ricci, const tnsr::ii< DataType, SpatialDim, Frame > &extrinsic_curvature, const tnsr::II< DataType, SpatialDim, Frame > &inverse_spatial_metric, const tnsr::ijj< DataType, SpatialDim, Frame > &cov_deriv_extrinsic_curvature, const tnsr::I< DataType, SpatialDim, Frame > &unit_interface_normal_vector, const tnsr::II< DataType, SpatialDim, Frame > &projection_IJ, const tnsr::ii< DataType, SpatialDim, Frame > &projection_ij, const tnsr::Ij< DataType, SpatialDim, Frame > &projection_Ij, const double sign) |
Computes the propagating modes of the Weyl tensor. More... | |
template<size_t SpatialDim, typename Frame , typename DataType > | |
void | weyl_propagating (gsl::not_null< tnsr::ii< DataType, SpatialDim, Frame > * > weyl_prop_u8, const tnsr::ii< DataType, SpatialDim, Frame > &ricci, const tnsr::ii< DataType, SpatialDim, Frame > &extrinsic_curvature, const tnsr::II< DataType, SpatialDim, Frame > &inverse_spatial_metric, const tnsr::ijj< DataType, SpatialDim, Frame > &cov_deriv_extrinsic_curvature, const tnsr::I< DataType, SpatialDim, Frame > &unit_interface_normal_vector, const tnsr::II< DataType, SpatialDim, Frame > &projection_IJ, const tnsr::ii< DataType, SpatialDim, Frame > &projection_ij, const tnsr::Ij< DataType, SpatialDim, Frame > &projection_Ij, const double sign) |
Computes the propagating modes of the Weyl tensor. More... | |
Holds functions related to general relativity.
tnsr::a< DataType, SpatialDim, Frame > gr::spacetime_normal_one_form | ( | const Scalar< DataType > & | lapse | ) |
Computes spacetime normal one-form from lapse.
If \(\alpha\) is the lapse, then
\begin{align} n_t &= - \alpha \\ n_i &= 0 \end{align}
is computed.
void gr::spacetime_normal_one_form | ( | gsl::not_null< tnsr::a< DataType, SpatialDim, Frame > * > | normal_one_form, |
const Scalar< DataType > & | lapse | ||
) |
Computes spacetime normal one-form from lapse.
If \(\alpha\) is the lapse, then
\begin{align} n_t &= - \alpha \\ n_i &= 0 \end{align}
is computed.