|
|
| MagneticRotor (const MagneticRotor &)=default |
|
MagneticRotor & | operator= (const MagneticRotor &)=default |
|
| MagneticRotor (MagneticRotor &&)=default |
|
MagneticRotor & | operator= (MagneticRotor &&)=default |
|
| MagneticRotor (double rotor_radius, double rotor_density, double background_density, double pressure, double angular_velocity, const std::array< double, 3 > &magnetic_field, double adiabatic_index, 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.
|
|
auto | variables (const tnsr::I< DataType, Dim > &x, tmpl::list< hydro::Tags::Temperature< DataType > >) const -> tuples::TaggedTuple< hydro::Tags::Temperature< DataType > > |
Analytic initial data for a magnetic rotor.
This is a test first described in [8] for classical MHD and later generalised to relativistic MHD in [51]
This effectively 2D test initially consists of an infinitely long cylinder of radius RotorRadius rotating about the z-axis with the given AngularVelocity. The rest mass density of the fluid inside the rotor, RotorDensity, is higher than the BackgroundDensity outside of the rotor. The fluid is at a constant Pressure. The rotor is embedded in a constant MagneticField (usually taken to be along the x-axis). The fluid is an ideal fluid with the given AdiabaticIndex. Evolving the initial data, magnetic braking will slow down the rotor, while dragging the magnetic field lines.
The standard test setup is done on a unit cube \([-0.5,0.5]^3\) with the following values given for the options:
Note that [218] uses different parameters,
The magnetic field in the disk should rotate by about 90 degrees by t = 0.4.