|
| MagneticFieldLoop (const MagneticFieldLoop &)=default |
|
MagneticFieldLoop & | operator= (const MagneticFieldLoop &)=default |
|
| MagneticFieldLoop (MagneticFieldLoop &&)=default |
|
MagneticFieldLoop & | operator= (MagneticFieldLoop &&)=default |
|
| MagneticFieldLoop (double pressure, double rest_mass_density, double adiabatic_index, const std::array< double, 3 > &advection_velocity, double magnetic_field_magnitude, double inner_radius, double outer_radius, const Options::Context &context={}) |
|
auto | get_clone () const -> std::unique_ptr< evolution::initial_data::InitialData > override |
|
template<typename DataType , typename Tag1 , typename Tag2 , typename... Tags> |
tuples::TaggedTuple< Tag1, Tag2, Tags... > | variables (const tnsr::I< DataType, 3 > &x, tmpl::list< Tag1, Tag2, Tags... >) const |
| Retrieve a collection of hydrodynamic variables at position x.
|
|
template<typename DataType , typename Tag , Requires< tmpl::list_contains_v< gr::analytic_solution_tags< 3, DataType >, Tag > > = nullptr> |
tuples::TaggedTuple< Tag > | variables (const tnsr::I< DataType, 3 > &x, tmpl::list< Tag >) const |
| Retrieve the metric variables.
|
|
const EquationsOfState::IdealFluid< true > & | equation_of_state () const |
|
void | pup (PUP::er &) override |
|
|
template<typename DataType > |
auto | variables (const tnsr::I< DataType, 3 > &x, tmpl::list< hydro::Tags::RestMassDensity< DataType > >) const -> tuples::TaggedTuple< hydro::Tags::RestMassDensity< DataType > > |
| Retrieve the GRMHD variables at a given position.
|
|
template<typename DataType > |
auto | variables (const tnsr::I< DataType, 3 > &x, tmpl::list< hydro::Tags::ElectronFraction< DataType > >) const -> tuples::TaggedTuple< hydro::Tags::ElectronFraction< DataType > > |
| Retrieve the GRMHD variables at a given position.
|
|
template<typename DataType > |
auto | variables (const tnsr::I< DataType, 3 > &x, tmpl::list< hydro::Tags::SpecificInternalEnergy< DataType > >) const -> tuples::TaggedTuple< hydro::Tags::SpecificInternalEnergy< DataType > > |
| Retrieve the GRMHD variables at a given position.
|
|
template<typename DataType > |
auto | variables (const tnsr::I< DataType, 3 > &x, tmpl::list< hydro::Tags::Pressure< DataType > >) const -> tuples::TaggedTuple< hydro::Tags::Pressure< DataType > > |
| Retrieve the GRMHD variables at a given position.
|
|
template<typename DataType > |
auto | variables (const tnsr::I< DataType, 3 > &x, tmpl::list< hydro::Tags::SpatialVelocity< DataType, 3 > >) const -> tuples::TaggedTuple< hydro::Tags::SpatialVelocity< DataType, 3 > > |
| Retrieve the GRMHD variables at a given position.
|
|
template<typename DataType > |
auto | variables (const tnsr::I< DataType, 3 > &x, tmpl::list< hydro::Tags::MagneticField< DataType, 3 > >) const -> tuples::TaggedTuple< hydro::Tags::MagneticField< DataType, 3 > > |
| Retrieve the GRMHD variables at a given position.
|
|
template<typename DataType > |
auto | variables (const tnsr::I< DataType, 3 > &x, tmpl::list< hydro::Tags::DivergenceCleaningField< DataType > >) const -> tuples::TaggedTuple< hydro::Tags::DivergenceCleaningField< DataType > > |
| Retrieve the GRMHD variables at a given position.
|
|
template<typename DataType > |
auto | variables (const tnsr::I< DataType, 3 > &x, tmpl::list< hydro::Tags::LorentzFactor< DataType > >) const -> tuples::TaggedTuple< hydro::Tags::LorentzFactor< DataType > > |
| Retrieve the GRMHD variables at a given position.
|
|
template<typename DataType > |
auto | variables (const tnsr::I< DataType, 3 > &x, tmpl::list< hydro::Tags::SpecificEnthalpy< DataType > >) const -> tuples::TaggedTuple< hydro::Tags::SpecificEnthalpy< DataType > > |
| Retrieve the GRMHD variables at a given position.
|
|
template<typename DataType > |
auto | variables (const tnsr::I< DataType, 3 > &x, tmpl::list< hydro::Tags::Temperature< DataType > >) const -> tuples::TaggedTuple< hydro::Tags::Temperature< DataType > > |
| Retrieve the GRMHD variables at a given position.
|
|
virtual auto | get_clone () const -> std::unique_ptr< InitialData >=0 |
|
auto | variables (const tnsr::I< DataType, Dim > &x, tmpl::list< hydro::Tags::Temperature< DataType > >) const -> tuples::TaggedTuple< hydro::Tags::Temperature< DataType > > |
|
auto | variables (const tnsr::I< DataType, Dim > &x, const double t, tmpl::list< hydro::Tags::Temperature< DataType > >) const -> tuples::TaggedTuple< hydro::Tags::Temperature< DataType > > |
|
auto | variables (ExtraVars &extra_variables, const tnsr::I< DataType, Dim > &x, Args &... extra_args, tmpl::list< hydro::Tags::Temperature< DataType > >) const -> tuples::TaggedTuple< hydro::Tags::Temperature< DataType > > |
|
Analytic initial data for an advecting magnetic field loop.
This test, originally proposed in [74] and presented in a slightly modified form by [128], a region with annular cross section with the specified InnerRadius
and OuterRadius
is given a non-zero azimuthal magnetic field of constant magnitude MagFieldStrength
with zero magnetic field outside the loop. Inside the InnerRadius
the magnetic field strength falls to zero quadratically. The loop is embedded in an ideal fluid with the given AdiabaticIndex
, RestMassDensity
and Pressure
with a uniform AdvectionVelocity
. The magnetic field loop should advect across the grid, maintaining its shape and strength, as long as the magnetic pressure is negligible compared to the thermal pressure.
This test diagnoses how well the evolution scheme preserves the no-monopole condition, as well as the diffusivity of the scheme.
The standard test setup is done on \(x \in [-1,1]\), \(y \in [-0.5, 0.5]\), with periodic boundary conditions and with the following values given for the options: