SpECTRE
v2025.03.17
|
Numeric initial data loaded from volume data files. More...
#include <NumericInitialData.hpp>
Classes | |
struct | DensityCutoff |
struct | PrimitiveVars |
struct | Variables |
struct | VarName |
Name of a variable in the volume data file. Can be optional, in which case a constant value can be supplied instead of a dataset name. More... | |
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, PrimitiveVars selected_variables, double density_cutoff) | |
const importers::ImporterOptions & | importer_options () const |
const PrimitiveVars & | selected_variables () const |
double | density_cutoff () const |
size_t | volume_data_id () const |
template<typename... AllTags> | |
void | select_for_import (const gsl::not_null< tuples::TaggedTuple< AllTags... > * > all_fields) const |
template<typename... AllTags, size_t ThermodynamicDim> | |
void | set_initial_data (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 tnsr::II< DataVector, 3 > &inv_spatial_metric, 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 hydro variables to load from the volume data files and allows to choose constant values for some of them.
Where the density is below the DensityCutoff
the fluid variables are set to vacuum (zero density, pressure, energy and velocity, and unit Lorentz factor). To evolve the initial data, an atmosphere treatment is likely required to fix the value of the fluid variables in these regions.
|
inlineoverridevirtual |
Implements evolution::initial_data::InitialData.
|
staticconstexpr |