SpECTRE  v2024.04.12
grmhd::GhValenciaDivClean::NumericInitialData Class Reference

Numeric initial data loaded from volume data files. More...

#include <SetInitialData.hpp>

Classes

struct  GhVariables
 
struct  HydroVariables
 

Public Types

using all_vars = tmpl::append< GhNumericId::all_vars, HydroNumericId::all_vars >
 
using options = tmpl::list< importers::OptionTags::FileGlob, importers::OptionTags::Subgroup, importers::OptionTags::ObservationValue, importers::OptionTags::EnableInterpolation, GhVariables, HydroVariables, HydroNumericId::DensityCutoff >
 

Public Member Functions

 NumericInitialData (const NumericInitialData &rhs)=default
 
NumericInitialDataoperator= (const NumericInitialData &rhs)=default
 
 NumericInitialData (NumericInitialData &&)=default
 
NumericInitialDataoperator= (NumericInitialData &&)=default
 
std::unique_ptr< evolution::initial_data::InitialDataget_clone () const override
 
 NumericInitialData (std::string file_glob, std::string subfile_name, std::variant< double, importers::ObservationSelector > observation_value, bool enable_interpolation, typename GhNumericId::Variables::type gh_selected_variables, typename HydroNumericId::Variables::type hydro_selected_variables, double density_cutoff)
 
const importers::ImporterOptionsimporter_options () const
 
const GhNumericIdgh_numeric_id () const
 
const HydroNumericIdhydro_numeric_id () const
 
size_t volume_data_id () const
 
template<typename... AllTags>
void select_for_import (const gsl::not_null< tuples::TaggedTuple< AllTags... > * > fields) const
 
template<typename... AllTags, size_t ThermodynamicDim>
void set_initial_data (const gsl::not_null< tnsr::aa< DataVector, 3 > * > spacetime_metric, const gsl::not_null< tnsr::aa< DataVector, 3 > * > pi, const gsl::not_null< tnsr::iaa< DataVector, 3 > * > phi, const gsl::not_null< Scalar< DataVector > * > rest_mass_density, const gsl::not_null< Scalar< DataVector > * > electron_fraction, const gsl::not_null< Scalar< DataVector > * > specific_internal_energy, const gsl::not_null< tnsr::I< DataVector, 3 > * > spatial_velocity, const gsl::not_null< tnsr::I< DataVector, 3 > * > magnetic_field, const gsl::not_null< Scalar< DataVector > * > div_cleaning_field, const gsl::not_null< Scalar< DataVector > * > lorentz_factor, const gsl::not_null< Scalar< DataVector > * > pressure, const gsl::not_null< Scalar< DataVector > * > temperature, const gsl::not_null< tuples::TaggedTuple< AllTags... > * > numeric_data, const Mesh< 3 > &mesh, const InverseJacobian< DataVector, 3, Frame::ElementLogical, Frame::Inertial > &inv_jacobian, const EquationsOfState::EquationOfState< true, ThermodynamicDim > &equation_of_state) const
 
void pup (PUP::er &p) override
 
virtual auto get_clone () const -> std::unique_ptr< InitialData >=0
 

Static Public Attributes

static constexpr Options::String help
 

Friends

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

Detailed Description

Numeric initial data loaded from volume data files.

This class can be factory-created in the input file to start an evolution from numeric initial data. It selects the set of GH variables to load from the volume data file (ADM or GH variables), the set of hydro variables, and allows to set constant values for some of the hydro variables. This class mostly combines the gh::NumericInitialData and grmhd::ValenciaDivClean::NumericInitialData classes.

Member Function Documentation

◆ get_clone()

std::unique_ptr< evolution::initial_data::InitialData > grmhd::GhValenciaDivClean::NumericInitialData::get_clone ( ) const
inlineoverridevirtual

Member Data Documentation

◆ help

constexpr Options::String grmhd::GhValenciaDivClean::NumericInitialData::help
staticconstexpr
Initial value:
=
"Numeric initial data loaded from volume data files"

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