SpECTRE  v2024.04.12
grmhd::AnalyticData::SpecInitialData< ThermodynamicDim > Class Template Reference

Hydro initial data generated by SpEC. More...

#include <SpecInitialData.hpp>

Classes

struct  DataDirectory
 
struct  DensityCutoff
 
struct  ElectronFraction
 

Public Types

using equation_of_state_type = EquationsOfState::EquationOfState< true, ThermodynamicDim >
 
template<typename DataType >
using tags = tmpl::append< tmpl::list< gr::Tags::SpatialMetric< DataType, 3 >, gr::Tags::ExtrinsicCurvature< DataType, 3 >, gr::Tags::Lapse< DataType >, gr::Tags::Shift< DataType, 3 > >, hydro::grmhd_tags< DataType > >
 
using options = tmpl::list< DataDirectory, hydro::OptionTags::InitialDataEquationOfState< true, ThermodynamicDim >, DensityCutoff, ElectronFraction >
 
- Public Types inherited from grmhd::AnalyticDataBase
template<typename DataType >
using tags = tmpl::push_back< typename gr::AnalyticSolution< 3 >::template tags< DataType >, hydro::Tags::RestMassDensity< DataType >, hydro::Tags::ElectronFraction< DataType >, hydro::Tags::SpecificInternalEnergy< DataType >, hydro::Tags::Temperature< DataType >, hydro::Tags::Pressure< DataType >, hydro::Tags::SpatialVelocity< DataType, 3 >, hydro::Tags::MagneticField< DataType, 3 >, hydro::Tags::DivergenceCleaningField< DataType >, hydro::Tags::LorentzFactor< DataType >, hydro::Tags::SpecificEnthalpy< DataType > >
 

Public Member Functions

 SpecInitialData (const SpecInitialData &rhs)
 
SpecInitialDataoperator= (const SpecInitialData &rhs)
 
 SpecInitialData (SpecInitialData &&)=default
 
SpecInitialDataoperator= (SpecInitialData &&)=default
 
 SpecInitialData (std::string data_directory, std::unique_ptr< equation_of_state_type > equation_of_state, double density_cutoff, double electron_fraction)
 
auto get_clone () const -> std::unique_ptr< evolution::initial_data::InitialData > override
 
const equation_of_state_typeequation_of_state () const
 
template<typename DataType , typename... Tags>
tuples::TaggedTuple< Tags... > variables (const tnsr::I< DataType, 3 > &x, tmpl::list< Tags... >) const
 
void pup (PUP::er &) override
 
virtual auto get_clone () const -> std::unique_ptr< InitialData >=0
 

Static Public Attributes

static constexpr Options::String help = {"Initial data generated by SpEC"}
 
- Static Public Attributes inherited from grmhd::AnalyticDataBase
static constexpr size_t volume_dim = 3_st
 

Detailed Description

template<size_t ThermodynamicDim>
class grmhd::AnalyticData::SpecInitialData< ThermodynamicDim >

Hydro initial data generated by SpEC.

This class loads numerical data written out by the SpEC initial data solver. It uses the spec::Exporter linked in from SpEC to interpolate to arbitrary grid points. The coordinates are assumed to be in SpEC's "grid" frame. We interpolate the following quantities:

  • "g": spatial metric
  • "K": (lower) extrinsic curvature
  • "Lapse": lapse
  • "Shift": (upper) shift
  • "BaryonDensity": rest mass density
  • "u_i": lower spatial four-velocity

The remaining hydro quantities are computed from the interpolated data and the equation of state. The magnetic field is set to zero and the electron fraction is set to a constant read from the input file.

Member Function Documentation

◆ get_clone()

template<size_t ThermodynamicDim>
auto grmhd::AnalyticData::SpecInitialData< ThermodynamicDim >::get_clone ( ) const -> std::unique_ptr< evolution::initial_data::InitialData >
overridevirtual

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