SpECTRE  v2025.08.19
ray_tracing::WrappedGr< SolutionType > Class Template Reference

Analytic background spacetime from a GR or GRMHD solution. More...

#include <WrappedGr.hpp>

Public Types

using options = typename SolutionType::options
 
- Public Types inherited from ray_tracing::BackgroundSpacetime
using tags = tmpl::list< gr::Tags::Lapse< DataType >, DerivLapse, gr::Tags::Shift< DataType, Dim, Frame >, DerivShift, gr::Tags::InverseSpatialMetric< DataType, Dim, Frame >, DerivInvSpatialMetric, gr::Tags::ExtrinsicCurvature< DataType, Dim, Frame > >
 These tags can be retrieved from the background spacetime. They are required to evaluate the gr::geodesic_equation.
 

Public Member Functions

 WrappedGr (const WrappedGr &)=default
 
WrappedGroperator= (const WrappedGr &)=default
 
 WrappedGr (WrappedGr &&)=default
 
WrappedGroperator= (WrappedGr &&)=default
 
template<typename Arg1 , typename Arg2 , typename... Args>
requires (tmpl::size<options>::value > 0)
 WrappedGr (Arg1 &&, Arg2 &&arg2, Args &&... args)
 
 WrappedGr (SolutionType wrapped_solution)
 
const auto & wrapped_solution () const
 
auto get_clone () const -> std::unique_ptr< BackgroundSpacetime > override
 Copies the background spacetime. Must call initialize on the clone before using it. More...
 
tuples::tagged_tuple_from_typelist< tagsvariables (const tnsr::I< DataType, Dim, Frame > &x, double t, const std::optional< gsl::not_null< std::vector< size_t > * > >=std::nullopt) const override
 
void pup (PUP::er &p) override
 
- Public Member Functions inherited from ray_tracing::BackgroundSpacetime
virtual auto get_clone () const -> std::unique_ptr< BackgroundSpacetime >=0
 Copies the background spacetime. Must call initialize on the clone before using it. More...
 
virtual void initialize (const std::array< double, 2 > time_bounds)
 Initialize the background spacetime, e.g. by reading data from a file. More...
 
virtual std::array< double, 2 > time_bounds () const
 Time bounds for which the background spacetime is valid. The variables function can be called for any time in this range (inclusive). More...
 
virtual tuples::tagged_tuple_from_typelist< tagsvariables (const tnsr::I< DataType, Dim, Frame > &x, double t, std::optional< gsl::not_null< std::vector< size_t > * > > block_order=std::nullopt) const =0
 Returns all spacetime variables at a given point in space and time. More...
 

Static Public Member Functions

static std::string name ()
 

Static Public Attributes

static constexpr Options::String help = SolutionType::help
 

Friends

bool operator== (const WrappedGr &lhs, const WrappedGr &rhs)
 

Additional Inherited Members

- Protected Types inherited from ray_tracing::BackgroundSpacetime
using DataType = double
 
using Frame = ::Frame::Inertial
 
using DerivLapse = ::Tags::deriv< gr::Tags::Lapse< DataType >, tmpl::size_t< Dim >, Frame >
 
using DerivShift = ::Tags::deriv< gr::Tags::Shift< DataType, Dim >, tmpl::size_t< Dim >, Frame >
 
using DerivInvSpatialMetric = ::Tags::deriv< gr::Tags::InverseSpatialMetric< DataType, Dim, Frame >, tmpl::size_t< Dim >, Frame >
 
using DerivSpatialMetric = ::Tags::deriv< gr::Tags::SpatialMetric< DataType, Dim, Frame >, tmpl::size_t< Dim >, Frame >
 
- Static Protected Attributes inherited from ray_tracing::BackgroundSpacetime
static constexpr size_t Dim = 3
 

Detailed Description

template<typename SolutionType>
class ray_tracing::WrappedGr< SolutionType >

Analytic background spacetime from a GR or GRMHD solution.

Member Function Documentation

◆ get_clone()

template<typename SolutionType >
auto ray_tracing::WrappedGr< SolutionType >::get_clone ( ) const -> std::unique_ptr< BackgroundSpacetime >
inlineoverridevirtual

Copies the background spacetime. Must call initialize on the clone before using it.

Implements ray_tracing::BackgroundSpacetime.


The documentation for this class was generated from the following file: