SpECTRE  v2026.04.01
Loading...
Searching...
No Matches
grmhd::AnalyticData::MagnetizedFmDisk Class Reference

Magnetized fluid disk orbiting a Kerr black hole. More...

#include <MagnetizedFmDisk.hpp>

Classes

struct  BFieldNormGridRes
 Grid resolution used in magnetic field normalization. More...
struct  InversePlasmaBeta
 The maximum-magnetic-pressure-to-maximum-fluid-pressure ratio. More...
struct  ThresholdDensity
 The rest mass density (in units of the maximum rest mass density in the disk) below which the matter in the disk is initially unmagetized. More...

Public Types

template<typename DataType>
using tags
using options
using equation_of_state_type = typename FmDisk::equation_of_state_type

Public Member Functions

 MagnetizedFmDisk (const MagnetizedFmDisk &)=default
MagnetizedFmDiskoperator= (const MagnetizedFmDisk &)=default
 MagnetizedFmDisk (MagnetizedFmDisk &&)=default
MagnetizedFmDiskoperator= (MagnetizedFmDisk &&)=default
 MagnetizedFmDisk (double bh_mass, double bh_dimless_spin, double inner_edge_radius, double max_pressure_radius, double polytropic_constant, double polytropic_exponent, double noise, double threshold_density, double inverse_plasma_beta, size_t normalization_grid_res=BFieldNormGridRes::suggested_value())
auto get_clone () const -> std::unique_ptr< evolution::initial_data::InitialData > override
void pup (PUP::er &) override
const equation_of_state_type & equation_of_state () const
template<typename DataType, typename... Tags>
tuples::TaggedTuple< Tags... > variables (const tnsr::I< DataType, 3 > &x, tmpl::list< Tags... >) const
 The variables in Cartesian Kerr-Schild coordinates at (x, t).
template<typename DataType, typename Tag>
tuples::TaggedTuple< Tag > variables (const tnsr::I< DataType, 3 > &x, tmpl::list< Tag >) const
 The variables in Cartesian Kerr-Schild coordinates at (x, t).

Static Public Attributes

static constexpr size_t volume_dim = 3_st
static constexpr Options::String help

Friends

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

Detailed Description

Magnetized fluid disk orbiting a Kerr black hole.

In the context of simulating accretion disks, this class implements a widely used (e.g. [85], [173], [214]) initial setup for the GRMHD variables, consisting of a Fishbone-Moncrief disk [74] (see also RelativisticEuler::Solutions::FishboneMoncriefDisk), threaded by a weak poloidal magnetic field. The magnetic field is constructed from an axially symmetric toroidal magnetic potential which, in Kerr ("spherical Kerr-Schild") coordinates, has the form

\begin{align*}A_\phi(r,\theta) \propto \text{max}(\rho(r,\theta) - \rho_\text{thresh}, 0), \end{align*}

where \(\rho_\text{thresh}\) is a user-specified threshold density that confines the magnetic flux to exist inside of the fluid disk only. A commonly used value for this parameter is \(\rho_\text{thresh} = 0.2\rho_\text{max}\), where \(\rho_\text{max}\) is the maximum value of the rest mass density in the disk. Using this potential, the Eulerian magnetic field takes the form

\begin{align*}B^r = \frac{F_{\theta\phi}}{\sqrt{\gamma}},\quad B^\theta = \frac{F_{\phi r}}{\sqrt{\gamma}},\quad B^\phi = 0, \end{align*}

where \(F_{ij} = \partial_i A_j - \partial_j A_i\) are the spatial components of the Faraday tensor, and \(\gamma\) is the determinant of the spatial metric. The magnetic field is then normalized so that the plasma- \(\beta\) parameter, \(\beta = 2p/b^2\), equals some value specified by the user. Here, \(p\) is the fluid pressure, and

\begin{align*}b^2 = b^\mu b_\mu = \frac{B_iB^i}{W^2} + (B^iv_i)^2 \end{align*}

is the norm of the magnetic field in the fluid frame, with \(v_i\) being the spatial velocity, and \(W\) the Lorentz factor.

Note
When using Kerr-Schild coordinates, the horizon that is at constant \(r\) is not spherical, but instead spheroidal. This could make application of boundary condition and computing various fluxes across the horizon more complicated than they need to be. Thus, similar to RelativisticEuler::Solutions::FishboneMoncriefDisk we use Spherical Kerr-Schild coordinates, see gr::Solutions::SphericalKerrSchild, in which constant \(r\) is spherical. Because we compute variables in Kerr-Schild coordinates, there is a necessary extra step of transforming them back to Spherical Kerr-Schild coordinates.
Warning
Spherical Kerr-Schild coordinates and "spherical Kerr-Schild" coordinates are not same.

Member Typedef Documentation

◆ options

using grmhd::AnalyticData::MagnetizedFmDisk::options
Initial value:
tmpl::push_back<FmDisk::options, ThresholdDensity,
Grid resolution used in magnetic field normalization.
Definition MagnetizedFmDisk.hpp:110
The maximum-magnetic-pressure-to-maximum-fluid-pressure ratio.
Definition MagnetizedFmDisk.hpp:103
The rest mass density (in units of the maximum rest mass density in the disk) below which the matter ...
Definition MagnetizedFmDisk.hpp:95

◆ tags

template<typename DataType>
using grmhd::AnalyticData::MagnetizedFmDisk::tags
Initial value:
tmpl::push_back<typename gr::AnalyticSolution<3>::template tags<DataType>,
The divergence-cleaning field .
Definition Tags.hpp:99
The electron fraction .
Definition Tags.hpp:105
The Lorentz factor , where is the spatial velocity of the fluid.
Definition Tags.hpp:181
The magnetic field measured by an Eulerian observer, where is the normal to the spatial hypersurfac...
Definition Tags.hpp:197
The fluid pressure .
Definition Tags.hpp:234
The rest-mass density .
Definition Tags.hpp:240
The spatial velocity of the fluid, where . Here is the spatial part of the 4-velocity of the fluid,...
Definition Tags.hpp:257
The relativistic specific enthalpy .
Definition Tags.hpp:280
The specific internal energy .
Definition Tags.hpp:286
The temperature of the fluid.
Definition Tags.hpp:292

Member Function Documentation

◆ get_clone()

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

Member Data Documentation

◆ help

Options::String grmhd::AnalyticData::MagnetizedFmDisk::help
staticconstexpr
Initial value:
= {
"Magnetized Fishbone-Moncrief disk."}

The documentation for this class was generated from the following file:
  • src/PointwiseFunctions/AnalyticData/GrMhd/MagnetizedFmDisk.hpp