physics
xsb_fluc.physics.density
¶
Python module containing models for the density profile of the ICM.
BetaModel
¶
Bases: Module
Density model which use a beta-model formula
Source code in src/xsb_fluc/physics/density.py
45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
|
__call__(r)
¶
Compute the density function for a given radius.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
r
|
array
|
Radius to compute the density function in R500 units |
required |
Returns:
Type | Description |
---|---|
array
|
Density function evaluated at the given radius in cm\(^{-6}\) |
Source code in src/xsb_fluc/physics/density.py
53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
|
CleanVikhlininModel
¶
Bases: Module
Density model which use a modified Vikhlinin functional form, with alpha fixed to 0 and gamma to 3
Source code in src/xsb_fluc/physics/density.py
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
|
__call__(r)
¶
Compute the density function for a given radius.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
r
|
array
|
Radius to compute the density function in R500 units |
required |
Returns:
Type | Description |
---|---|
array
|
Density function evaluated at the given radius in cm\(^{-6}\) |
Source code in src/xsb_fluc/physics/density.py
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
|
xsb_fluc.physics.temperature
¶
Python module containing models for the temperature profile of the ICM.
GhirardiniModel
¶
Bases: Module
Universal temperature profile as defined in Ghirardini 2018+ in the X-COP cluster sample
Source code in src/xsb_fluc/physics/temperature.py
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
|
__call__(r)
¶
Compute the temperature function for a given radius.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
r
|
array
|
Radius to compute the temperature in \(R_{500}\) units |
required |
Returns:
Type | Description |
---|---|
array
|
Temperature function evaluated at the given radius in keV |
Source code in src/xsb_fluc/physics/temperature.py
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
|
xsb_fluc.physics.cooling
¶
Python module containing structures to compute the cooling function approximation for the ICM.
CoolingFunctionGrid
¶
Source code in src/xsb_fluc/physics/cooling.py
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
|
__init__(redshift=0.01, n_points=20, kT_span=(1.0, 10.0), nH_span=(9e+19, 2e+21))
¶
Awfully coded class to compute the cooling function grid for a given redshift. The grid is saved in a .npy file in the results folder. XSPEC is not needed if the grid is already computed. Else it will be computed using XSPEC.
Source code in src/xsb_fluc/physics/cooling.py
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
|
CoolingFunctionModel
¶
Bases: Module
Cooling function model using a grid of precomputed cooling function. It is fitted to the grid using a least square method on the fly. The model is given by the following formula:
Note
\(\Psi(N_H, T)\) here is different from \(\Lambda(T)\) as it includes the instrumental convolution
Source code in src/xsb_fluc/physics/cooling.py
64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 |
|
xsb_fluc.physics.emissivity
¶
XrayEmissivity
¶
Bases: Module
3D Xray emissivity build with temperature, cooling function, density model. It depends on the redshift of the cluster, since the cooling function is precomputed using XSPEC. The default models are the ones used in the papers i.e. Vikhlinin for density, Ghirardini for temperature and the interpolated cooling function.
Source code in src/xsb_fluc/physics/emissivity.py
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
|
__call__(r, nH)
¶
Compute the emissivity at a given radius, including \(N_H\) absorption.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
r
|
array
|
radius in units of \(R_{500}\) |
required |
nH
|
array
|
Hydrogen density in cm\(^{-2}\) in the line of sight corresponding to the radius r |
required |
Source code in src/xsb_fluc/physics/emissivity.py
28 29 30 31 32 33 34 35 36 |
|
from_data(data)
classmethod
¶
Create an emissivity model from a Cluster
object
Source code in src/xsb_fluc/physics/emissivity.py
21 22 23 24 25 26 |
|
xsb_fluc.physics.projection
¶
AbelTransform
¶
Bases: Module
Projection tool for 3D models. Relies on double exponential quadrature.
It uses double exponential quadrature to perform the integration.
References :
- Takahasi and Mori (1974)
- Mori and Sugihara (2001)
- Tanh-sinh quadrature from wikipedia
Source code in src/xsb_fluc/physics/projection.py
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
|
__init__(model, n_points=71)
¶
Take a model and project it along the line of sight.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
model
|
Module
|
model to project |
required |
n_points
|
int
|
number of points to use for the quadrature |
71
|
Source code in src/xsb_fluc/physics/projection.py
29 30 31 32 33 34 35 36 37 38 39 40 |
|
xsb_fluc.physics.surface_brightness
¶
XraySurfaceBrightness
¶
Bases: Module
Xray surface brightness model from 3D emissivity
Source code in src/xsb_fluc/physics/surface_brightness.py
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
|
from_data(data)
classmethod
¶
Create a surface brightness model from a Cluster
object
Source code in src/xsb_fluc/physics/surface_brightness.py
22 23 24 25 26 27 28 |
|
XraySurfaceBrightnessBetaModel
¶
Bases: Module
Xray surface brightness from a 2D surface brightness Beta-model
Source code in src/xsb_fluc/physics/surface_brightness.py
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
|
xsb_fluc.physics.ellipse
¶
Python module containing models for the ellipticity of projected surface brightness.
EllipseRadius
¶
Bases: Module
Include ellipticity in 2D radius maps
Source code in src/xsb_fluc/physics/ellipse.py
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
|
__call__(x_ref, y_ref)
¶
Compute the elliptical radius for a given position.
Returns:
Type | Description |
---|---|
array
|
Elliptical radius in unit of \(R_{500}\) |
Source code in src/xsb_fluc/physics/ellipse.py
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
|
from_data(data)
classmethod
¶
Build the ellipticity model from a Cluster
object.
Source code in src/xsb_fluc/physics/ellipse.py
21 22 23 24 25 26 27 28 29 |
|
xsb_fluc.physics.turbulence
¶
KolmogorovPowerSpectrum
¶
Bases: Module
Kolmogorov power spectrum
Source code in src/xsb_fluc/physics/turbulence.py
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
|