SpECTRE
v2025.03.17
|
Numeric initial data loaded from volume data files. More...
#include <SetInitialData.hpp>
Classes | |
struct | GhVariables |
struct | HydroVariables |
Public Types | |
using | all_vars = implementation defined |
using | options = implementation defined |
Public Member Functions | |
NumericInitialData (const NumericInitialData &rhs)=default | |
NumericInitialData & | operator= (const NumericInitialData &rhs)=default |
NumericInitialData (NumericInitialData &&)=default | |
NumericInitialData & | operator= (NumericInitialData &&)=default |
std::unique_ptr< evolution::initial_data::InitialData > | get_clone () const override |
NumericInitialData (std::string file_glob, std::string subfile_name, std::variant< double, importers::ObservationSelector > observation_value, std::optional< double > observation_value_epsilon, bool enable_interpolation, typename GhNumericId::Variables::type gh_selected_variables, typename HydroNumericId::Variables::type hydro_selected_variables, double density_cutoff) | |
const importers::ImporterOptions & | importer_options () const |
const GhNumericId & | gh_numeric_id () const |
const HydroNumericId & | hydro_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) |
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.
|
inlineoverridevirtual |
Implements evolution::initial_data::InitialData.
|
staticconstexpr |