SpECTRE  v2026.09.05
Loading...
Searching...
No Matches
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 = tmpl::push_back<tov_star::options, MagneticFields>
template<typename DataType>
using tags = typename tov_star::template tags<DataType>
using equation_of_state_type

Public Member Functions

 MagnetizedTovStar (const MagnetizedTovStar &rhs)
MagnetizedTovStar & operator= (const MagnetizedTovStar &rhs)
 MagnetizedTovStar (MagnetizedTovStar &&)
MagnetizedTovStar & operator= (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
Public Member Functions inherited from evolution::initial_data::InitialData
virtual const InitialData & unwrap () const
 Unwrap wrapper types (e.g. WithNoise, which wraps analytic initial data and adds random noise) to reach the underlying analytic solution or data.

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 \(A_b\) is specified in the code, it is more natural to work with the magnetic field strength, which is given by \(\sqrt{b^2}\) (where \(b^a\) is the comoving magnetic field), and in CGS units is

\begin{align*} |B_{\mathrm{CGS}}|&= \sqrt{4 \pi b^2} \left(\frac{c^2}{G M_\odot}\right) \left(\frac{c}{\sqrt{4 \pi \epsilon_0 G}}\right) \\ &= \sqrt{b^2} \times 8.352\times10^{19}\mathrm{G} \,. \end{align*}

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

  • \(\rho_c(0)=1.28\times10^{-3}\)
  • \(K=100\)
  • \(\Gamma=2\)
  • Domain \([-20,20]^3\)
  • Units \(M=M_\odot\)
  • A target final time 20ms means \(20\times10^{-3}/(5\times10^{-6})=4000M\)
  • The mass of the star is \(1.4M_{\odot}\)

Parameters for desired magnetic field strength:

  • For \(n_s=0\) and \(p_{\mathrm{cut}}=0.04p_{\max}\) setting \(A_b=6\times10^{-5}\) yields a maximum mganetic field strength of \(1.002\times10^{16}G\).
  • For \(n_s=1\) and \(p_{\mathrm{cut}}=0.04p_{\max}\) setting \(A_b=0.4\) yields a maximum mganetic field strength of \(1.05\times10^{16}G\).
  • For \(n_s=2\) and \(p_{\mathrm{cut}}=0.04p_{\max}\) setting \(A_b=2500\) yields a maximum mganetic field strength of \(1.03\times10^{16}G\).
  • For \(n_s=3\) and \(p_{\mathrm{cut}}=0.04p_{\max}\) setting \(A_b=1.65\times10^{7}\) yields a maximum mganetic field strength of \(1.07\times10^{16}G\).

Note that the magnetic field strength goes as \(A_b\) 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:
  • src/PointwiseFunctions/AnalyticData/GrMhd/MagnetizedTovStar.hpp