aboutsummaryrefslogtreecommitdiffstats
path: root/fg21sim
diff options
context:
space:
mode:
Diffstat (limited to 'fg21sim')
-rw-r--r--fg21sim/extragalactic/clusters/helper.py28
-rw-r--r--fg21sim/utils/units.py3
2 files changed, 31 insertions, 0 deletions
diff --git a/fg21sim/extragalactic/clusters/helper.py b/fg21sim/extragalactic/clusters/helper.py
index 1c6e48e..d77c63e 100644
--- a/fg21sim/extragalactic/clusters/helper.py
+++ b/fg21sim/extragalactic/clusters/helper.py
@@ -33,6 +33,10 @@ References
.. [zandanel2014]
Zandanel, Pfrommer & Prada 2014, MNRAS, 438, 124
http://adsabs.harvard.edu/abs/2014MNRAS.438..124Z
+
+.. [zhuravleva2014]
+ Zhuravleva et al. 2014, Nature, 515, 85;
+ http://adsabs.harvard.edu/abs/2014Natur.515...85Z
"""
import logging
@@ -256,6 +260,30 @@ def density_energy_electron(spectrum, gamma):
return e_re
+def speed_sound(kT):
+ """
+ The adiabatic sound speed in cluster ICM.
+
+ Parameters
+ ----------
+ kT : float
+ The cluster ICM temperature
+ Unit: [keV]
+
+ Returns
+ -------
+ cs : float
+ The speed of sound in cluster ICM.
+ Unit: [km/s]
+
+ Reference: Ref.[zhuravleva2014],Appendix(Methods)
+ """
+ # The gas adiabatic index
+ gamma = AC.gamma
+ cs = np.sqrt(gamma * kT*AUC.keV2erg / (AC.mu * AC.u)) # [cm/s]
+ return cs * AUC.cm2km # [km/s]
+
+
def velocity_impact(M_main, M_sub, z=0.0):
"""
Estimate the relative impact velocity between the two merging
diff --git a/fg21sim/utils/units.py b/fg21sim/utils/units.py
index dfe5013..e7deb17 100644
--- a/fg21sim/utils/units.py
+++ b/fg21sim/utils/units.py
@@ -100,3 +100,6 @@ class Constants:
# Mean molecular weight
# Ref.: Ettori et al, 2013, Space Science Review, 177, 119-154, Eq.(6)
mu = 0.6
+
+ # Adiabatic index of ideal monatomic gas
+ gamma = 5.0/3.0