SpECTRE  v2021.10.04
gr Namespace Reference

Holds functions related to general relativity. More...

Namespaces

namespace  Solutions
 Classes which implement analytic solutions to Einstein's equations.
 

Classes

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, Indexchristoffel_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, Indexricci_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 , 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 >
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<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...
 

Detailed Description

Holds functions related to general relativity.

Function Documentation

◆ spacetime_normal_one_form() [1/2]

template<size_t SpatialDim, typename Frame , typename DataType >
tnsr::a< DataType, SpatialDim, Frame > gr::spacetime_normal_one_form ( const Scalar< DataType > &  lapse)

Computes spacetime normal one-form from lapse.

Details

If \(N\) is the lapse, then

\begin{align} n_t &= - N \\ n_i &= 0 \end{align}

is computed.

◆ spacetime_normal_one_form() [2/2]

template<size_t SpatialDim, typename Frame , typename DataType >
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.

Details

If \(N\) is the lapse, then

\begin{align} n_t &= - N \\ n_i &= 0 \end{align}

is computed.