Namespaces | Classes | Typedefs | Functions
gr Namespace Reference

Holds functions related to general relativity. More...

Namespaces

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

Classes

class  KerrSchildCoords
 Contains helper functions for transforming tensors in Kerr spacetime to Kerr-Schild coordinates. More...
 

Typedefs

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

template<size_t SpatialDim, typename Frame , IndexType Index, typename DataType >
void christoffel_first_kind (const gsl::not_null< tnsr::abb< DataType, SpatialDim, Frame, Index > *> christoffel, const tnsr::abb< DataType, SpatialDim, Frame, Index > &d_metric) noexcept
 
template<size_t Dim, typename Frame , typename DataType >
void spacetime_metric (const 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) noexcept
 
template<size_t Dim, typename Frame , typename DataType >
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) noexcept
 
template<size_t SpatialDim, typename Frame , typename DataType >
tnsr::ii< DataType, SpatialDim, Frame > spatial_metric (const tnsr::aa< DataType, SpatialDim, Frame > &spacetime_metric) noexcept
 Compute spatial metric from spacetime metric. More...
 
template<size_t Dim, typename Frame , typename DataType >
tnsr::AA< DataType, Dim, Frame > inverse_spacetime_metric (const Scalar< DataType > &lapse, const tnsr::I< DataType, Dim, Frame > &shift, const tnsr::II< DataType, Dim, Frame > &inverse_spatial_metric) noexcept
 
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) noexcept
 Compute shift from spacetime metric and inverse spatial metric. 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) noexcept
 Compute lapse from shift and spacetime metric. More...
 
template<size_t Dim, typename Frame , typename DataType >
tnsr::abb< DataType, Dim, Frame > derivatives_of_spacetime_metric (const Scalar< DataType > &lapse, const Scalar< DataType > &dt_lapse, const tnsr::i< DataType, Dim, Frame > &deriv_lapse, const tnsr::I< DataType, Dim, Frame > &shift, const tnsr::I< DataType, Dim, Frame > &dt_shift, const tnsr::iJ< DataType, Dim, Frame > &deriv_shift, const tnsr::ii< DataType, Dim, Frame > &spatial_metric, const tnsr::ii< DataType, Dim, Frame > &dt_spatial_metric, const tnsr::ijj< DataType, Dim, Frame > &deriv_spatial_metric) noexcept
 
template<size_t SpatialDim, typename Frame , typename DataType >
tnsr::a< DataType, SpatialDim, Frame > spacetime_normal_one_form (const Scalar< DataType > &lapse) noexcept
 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) noexcept
 Computes spacetime normal vector from lapse and shift. 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) noexcept
 Computes extrinsic curvature from metric and derivatives. 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) noexcept
 Compute inverse spacetime metric from inverse spatial metric, lapse and shift. 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) noexcept
 Computes spacetime derivative of spacetime metric from spatial metric, lapse, shift, and their space and time derivatives. More...
 
bool operator!= (const KerrSchildCoords &lhs, const KerrSchildCoords &rhs) noexcept
 
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) noexcept
 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::abb< DataType, SpatialDim, Frame, Indexchristoffel_first_kind (const tnsr::abb< DataType, SpatialDim, Frame, Index > &d_metric) noexcept
 Computes Christoffel symbol of the first kind from derivative of metric. More...
 
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) noexcept
 Computes Christoffel symbol of the first kind from derivative of 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) noexcept
 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) noexcept
 Computes the spacetime metric from the spatial metric, lapse, and shift. More...
 

Detailed Description

Holds functions related to general relativity.

Function Documentation

◆ spacetime_normal_one_form()

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

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.