Magnetic field models for AGN jets
The module gammaALPs.bfields.jet.Bjet
models the toroidal (perpendicular to the jet axis) magnetic field
as a coherent field and more details can be found in, e.g., [Meyer2014].
The B field decreases with a power-law type behavior with increasing distance from the black hole,
Assuming equipartition between the magnetic and particle energies, the electron density also follows a power law
with an index \(2\alpha\) for \(\alpha < 0\). The electron density is modeled with the NelJet
and is further described in Electron density models for AGN jets.
The magnetic field is supposed to be coherent, so \(\psi = 0\) (see Photon-ALP conversion probability) is assumed over the
entire jet region in the simplest case.
A new magnetic field can be calculated with gammaALPs.bfields.jet.Bjet.new_Bn()
.
The B-field array calculated with
gammaALPs.bfields.jet.Bjet.new_Bn()
can be passed to the static method
gammaALPs.bfields.jet.Bjet.transversal_component_helical()
, to modify it to match
a helical magnetic field structure following [ClausenBrown2011].
The above equations hold in the co-moving frame of the jet. The photon energy \(E^\prime\) in this frame is related to the energy \(E\) in the laboratory frame through the Doppler factor, \(E^\prime = E / \delta_\mathrm{D}\), where
with the relativistic Lorentz and beta
factors \(\Gamma_\mathrm{L},\beta_\mathrm{j}\)
of the bulk plasma movement, respectively, and
\(\theta_\mathrm{obs}\) is the angle between the jet axis and the line of sight.
The bulk Lorentz factor and \(\theta_\mathrm{obs}\) can be set with attributes of the
Source
class, bLorentz
and
theta_obs
.
A more sophisticated model for the AGN jet magnetic field model is implemented in the
gammaALPs.bfields.jet.BjetHelicalTangled
class in which a poloidal magnetic field transforms
into a toroidal component. The class also includes the possibility that a fraction of the magnetic field
energy is carried in a tangled component. More details on this model are provided in [Davies2021].
Reference / API
- class gammaALPs.bfields.jet.Bjet(B0, r0, alpha)[source]
Bases:
object
Class to calculate magnetic field in AGN Jet assuming a toroidal field
- property B0
- property alpha
- new_Bn(z, psi=0.7853981633974483)[source]
Calculate the magnetic field as function of distance
- Parameters:
z (array-like) – n-dim array with distance from r0 in pc
psi (float) – angle between transversal magnetic field and x2 direction. Default: pi/4
- Returns:
B, Psi – N-dim array with field strength along line of sight N-dim array with psi angles between photon polarization states and jet B field
- Return type:
tuple with
numpy.ndarray
- property r0
- static transversal_component_helical(B0, phi, theta_jet=3.0, theta_obs=0.0)[source]
compute Jet magnetic field along line of sight that forms observation angle theta_obs with jet axis. Model assumes the helical jet structure of Clausen-Brown, E., Lyutikov, M., and Kharb, P. (2011); arXiv:1101.5149
- Parameters:
- Returns:
Btrans, Psi – N-dim array with field strength along line of sight N-dim array with psi angles between photon polarization states and jet B field
- Return type:
tuple with
numpy.ndarray
- class gammaALPs.bfields.jet.BjetHelicalTangled(ft, r_T, Bt_exp, B0, r0, gmax, gmin, rvhe, rjet, alpha, l_tcor, jwf, jwf_dist, tseed, rem)[source]
Bases:
object
- Class to calculate magnetic field in AGN Jet assuming a two component field:
A helical component transforming from poloidal to toroidal
A tangled component
- property B0
- property Bt_exp
- __init__(ft, r_T, Bt_exp, B0, r0, gmax, gmin, rvhe, rjet, alpha, l_tcor, jwf, jwf_dist, tseed, rem)[source]
Initialize the class
- Parameters:
ft (float) – fraction of magnetic field energy density in tangled field
r_T (float) – radius at which helical field becomes toroidal in pc
Bt_exp (float) – exponent of the transverse component of the helical field at r<=r_T. i.e. sin(pitch angle) ~ r^Bt_exp while r<r_T and pitch angle = pi/2 at r=r_T
B0 (float) – B-field strength in G
r0 (float) – radius where B field is equal to b0 in pc
gmax (float) – jet lorenz factor at rvhe
gmin (float) – jet lorenz factor at rjet
rvhe (float) – distance of gamma-ray emission region from BH in pc
rjet (float) – jet length in pc
rem (float) – distance of gamma-ray emission region from BH if different from large-scale jet transition region
alpha (float) – power-law index of electron energy distribution function
l_tcor (float) – tangled field coherence average length in pc
jwf (float) – jet width factor used when calculating l_tcor = jwf*jetwidth
jwf_dist (string) – type of distribution for jet width factors (jwf) when calculating l_tcor = jwf*jetwidth
tseed (float) – seed for random tangled domains
- property alpha
- property ft
- get_jet_props_gen(z, tdoms_done=False)[source]
Calculate the magnetic field as function of distance in the jet frame
- Parameters:
z (array-like) – n-dim array with distance from BH in pc
- Returns:
B, Psi – N-dim array with field strength in G along line of sight N-dim array with psi angles between photon polarization states and jet B field
- Return type:
tuple with
numpy.ndarray
- property gmax
- property gmin
- jet_bfield_scaled(rs, rvhe, r0, b0)[source]
Function to get jet B-field strength. The function is an analytic approximation, defined by the constants, to the shape of the B-field vs. r from PC Jet model, scaled to rvhe. Strength scaled to r0 and B0.
- jet_bfield_scaled_old(rs, r0, b0)[source]
Function to get jet B-field strength. Shape of function (defined by the constants) from PC Jet model, scaled to r0 and B0.
- jet_gammas_scaled(rs, r0, g0, rjet)[source]
Function to get jet lorentz factors. The shape of the gammas vs. r from PC Jet model, scaled to r0, g0 and rjet. Jet accelerates in the parabolic base (up to rvhe), then logarithmically decelerates in the conical jet.
- jet_gammas_scaled_gg(rs, rvhe, rjet, gmin, gmax)[source]
Function to get jet lorentz factors. The shape of the gammas vs. r from PC Jet model, scaled to r0, gmin, gmax and rjet. Jet accelerates in the parabolic base (up to rvhe), then logarithmically decelerates in the conical jet.
- property jwf
- property jwf_dist
- property l_tcor
- property newbounds
- property r0
- property r_T
- property rem
- property rjet
- property rvhe
- property tdoms
- property tphis
- property trerun
- property tseed
- property tthes