SpECTRE  v2025.03.17
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
grmhd::AnalyticData::MagnetizedTovStar Class Reference

Magnetized TOV star initial data, where metric terms only account for the hydrodynamics not the magnetic fields. More...

#include <MagnetizedTovStar.hpp>

Classes

struct  MagneticFields
 

Public Types

using options = implementation defined
 
template<typename DataType >
using tags = typename tov_star::template tags< DataType >
 
using equation_of_state_type = EquationsOfState::EquationOfState< true, 1 >
 

Public Member Functions

 MagnetizedTovStar (const MagnetizedTovStar &rhs)
 
MagnetizedTovStaroperator= (const MagnetizedTovStar &rhs)
 
 MagnetizedTovStar (MagnetizedTovStar &&)
 
MagnetizedTovStaroperator= (MagnetizedTovStar &&)
 
 MagnetizedTovStar (double central_rest_mass_density, std::unique_ptr< EquationsOfState::EquationOfState< true, 1 > > equation_of_state, RelativisticEuler::Solutions::TovCoordinates coordinate_system, std::vector< std::unique_ptr< grmhd::AnalyticData::InitialMagneticFields::InitialMagneticField > > magnetic_fields)
 
auto get_clone () const -> std::unique_ptr< evolution::initial_data::InitialData > override
 
template<typename DataType , typename... Tags>
tuples::TaggedTuple< Tags... > variables (const tnsr::I< DataType, 3 > &x, tmpl::list< Tags... >) const
 Retrieve a collection of variables at (x)
 
void pup (PUP::er &p) override
 
const EquationsOfState::EquationOfState< true, 1 > & equation_of_state () const
 
virtual auto get_clone () const -> std::unique_ptr< InitialData >=0
 

Static Public Attributes

static constexpr Options::String help = {"Magnetized TOV star."}
 
static constexpr size_t volume_dim = 3_st
 

Protected Attributes

std::vector< std::unique_ptr< grmhd::AnalyticData::InitialMagneticFields::InitialMagneticField > > magnetic_fields_ {}
 

Friends

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

Detailed Description

Magnetized TOV star initial data, where metric terms only account for the hydrodynamics not the magnetic fields.

Superposes magnetic fields on top of a TOV solution. These can be any of the classes derived from grmhd::AnalyticData::InitialMagneticFields::InitialMagneticField

Conversion to CGS units and values for poloidal magnetic field

While the amplitude Ab is specified in the code, it is more natural to work with the magnetic field strength, which is given by b2 (where ba is the comoving magnetic field), and in CGS units is

|BCGS|=4πb2(c2GM)(c4πϵ0G)=b2×8.352×1019G.

We now give values used for standard tests of magnetized stars with a poloidal magnetic field.

  • ρc(0)=1.28×103
  • K=100
  • Γ=2
  • Domain [20,20]3
  • Units M=M
  • A target final time 20ms means 20×103/(5×106)=4000M
  • The mass of the star is 1.4M

Parameters for desired magnetic field strength:

  • For ns=0 and pcut=0.04pmax setting Ab=6×105 yields a maximum mganetic field strength of 1.002×1016G.
  • For ns=1 and pcut=0.04pmax setting Ab=0.4 yields a maximum mganetic field strength of 1.05×1016G.
  • For ns=2 and pcut=0.04pmax setting Ab=2500 yields a maximum mganetic field strength of 1.03×1016G.
  • For ns=3 and pcut=0.04pmax setting Ab=1.65×107 yields a maximum mganetic field strength of 1.07×1016G.

Note that the magnetic field strength goes as Ab so any desired value can be achieved by a linear scaling.

Member Function Documentation

◆ get_clone()

auto grmhd::AnalyticData::MagnetizedTovStar::get_clone ( ) const -> std::unique_ptr< evolution::initial_data::InitialData >
overridevirtual

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