Electron density models for the intra-cluster medium
The NelICM
implements the typical electron density profiles found in clusters,
whereas the NelICMFunction
can be used to model an electron density profile
derived from an arbitrary or interpolated function.
In the simplest case, the electron density in NelICM
is modeled with the
\(beta\) profile,
If the attributes r_core2
and n2
are set
to values > 0, the profile
is used.
If, additionally, also beta2
>0, then the profile is changed to
which is used, for instance, to model the electron density in the Perseus cluster [Churazov2003].
Furthermore, the classes provide the method Bscale()
, which can be used
to rescale the intra-cluster magnetic fields (see Magnetic fields with cell-like structure and Magnetic field of Galaxy clusters with Gaussian Turbulence) to follow the radial dependence of the
electron density according to
Reference / API
- class gammaALPs.nel.icm.NelICM(**kwargs)[source]
Bases:
object
Class to set characteristics of electron density of intracluster medium
- Bscale(r)[source]
Calculate the scaling of the B field with electron density as function from cluster center
- Parameters:
r (array-like) – n-dim array with distance from cluster center in kpc
- Returns:
nel – n-dim array with scaling of B field with electron density
- Return type:
- __call__(r)[source]
Calculate the electron density as function from cluster center
- Parameters:
r (array) – n-dim array with distance from cluster center in kpc
- Returns:
nel – n-dim array with electron density in 10**-3 cm**-3
- Return type:
- __init__(**kwargs)[source]
Initialize the class
- Parameters:
n0 (float) – electron density in cm**-3 (default 1e-3)
r_core (float) – core radius in kpc (default 10.)
beta (float) – exponent of density profile (default: 2. / 3.)
eta (float) – exponent for scaling of B field with electron density (default = 1.)
n2 (float) – if > 0., use profile with this second density component
r_core2 (float) – if > 0., use profile with this second r_core value
beta2 (float) – if > 0., use profile with this second beta value as for NGC1275
- property beta
- property beta2
- constant(r)[source]
return constant electron density
- Parameters:
r (array) – n-dim array with distance from cluster center in kpc
- Returns:
nel – n-dim array with electron density in 10**-3 cm**-3
- Return type:
- property eta
- property n0
- property n2
- property r_core
- property r_core2
- class gammaALPs.nel.icm.NelICMFunction(func, eta=1.0)[source]
Bases:
object
Class to set characteristics of electron density of intracluster medium, where electron density is provided by a function
- Bscale(r, r0=0.0)[source]
Calculate the scaling of the B field with electron density as function from cluster center
- __call__(r)[source]
Calculate the electron density as function from cluster center
- Parameters:
r (array-like) – n-dim array with distance from cluster center in kpc
- Returns:
nel – n-dim array with electron density in 10**-3 cm**-3
- Return type:
- __init__(func, eta=1.0)[source]
Initialize the class
- Parameters:
func (function pointer) – function that takes radius in kpc and returns electron density in cm^-3
eta (float) – exponent for scaling of B field with electron density (default = 1.)
- property eta
- property func