aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAaron LI <aly@aaronly.me>2017-10-22 15:17:07 +0800
committerAaron LI <aly@aaronly.me>2017-10-22 15:17:07 +0800
commita42a613f3a1328ca0582bef19e024868fa3a3ad5 (patch)
tree9110f264c422ef850bac3640ab50e331ec292ca6
parent0ddacb9b2dd050e84f889662f09bf686cfae3d33 (diff)
downloadfg21sim-a42a613f3a1328ca0582bef19e024868fa3a3ad5.tar.bz2
clusters/halo: Add option "kT_out" to tune cluster temperature
-rw-r--r--fg21sim/configs/20-extragalactic.conf.spec9
-rw-r--r--fg21sim/extragalactic/clusters/halo.py4
-rw-r--r--fg21sim/extragalactic/clusters/helper.py8
3 files changed, 16 insertions, 5 deletions
diff --git a/fg21sim/configs/20-extragalactic.conf.spec b/fg21sim/configs/20-extragalactic.conf.spec
index 82c6d45..ea6479f 100644
--- a/fg21sim/configs/20-extragalactic.conf.spec
+++ b/fg21sim/configs/20-extragalactic.conf.spec
@@ -124,6 +124,15 @@
# field strength within the ICM and is also assumed to be uniform.
eta_b = float(default=0.001, min=1e-5, max=0.1)
+ # The temperature of the outer gas surrounding the cluster. Accretion
+ # shocks form near the cluster virial radius during the cluster formation,
+ # which can heat the cluster ICM to have a higher temperature than the
+ # virial temperature:
+ # kT_icm ~ kT_vir + 1.5 * kT_out
+ # Reference: Fujita et al. 2003, ApJ, 584, 190; Eq.(49)
+ # Unit: [keV]
+ kT_out = float(default=0.5, min=0, max=1)
+
# Filename prefix for this component
prefix = string(default="cluster")
# Output directory to save the simulated results
diff --git a/fg21sim/extragalactic/clusters/halo.py b/fg21sim/extragalactic/clusters/halo.py
index d3b5dd1..bf8e643 100644
--- a/fg21sim/extragalactic/clusters/halo.py
+++ b/fg21sim/extragalactic/clusters/halo.py
@@ -327,9 +327,7 @@ class RadioHalo:
if not hasattr(self, "_tau_acceleration"):
Mach = self.Mach_turbulence
Rvir = helper.radius_virial(mass=self.M_main, z=self.z_merger)
- kT = helper.kT_cluster(mass=self.M_main, z=self.z_merger,
- radius=Rvir) # [keV]
- cs = helper.speed_sound(kT) # [km/s]
+ cs = helper.speed_sound(self.kT_main) # [km/s]
# Turbulence injection scale
L0 = self.f_lturb * Rvir # [kpc]
x = cs*AUC.km2cm / AC.c
diff --git a/fg21sim/extragalactic/clusters/helper.py b/fg21sim/extragalactic/clusters/helper.py
index d77c63e..86662e1 100644
--- a/fg21sim/extragalactic/clusters/helper.py
+++ b/fg21sim/extragalactic/clusters/helper.py
@@ -153,7 +153,9 @@ def kT_cluster(mass, z=0.0, radius=None):
the cluster (near the virial radius) which can heat the gas,
therefore the ICM has a higher temperature than the virial
temperature, which can be estimated as:
- T_icm = T_vir + 1.5*T_1 ~ T_vir + 0.8 [keV]
+ kT_icm ~ kT_vir + 1.5 * kT_out
+ where kT_out the temperature of the outer gas surround the cluster,
+ which may be ~0.5-1.0 keV.
Reference: Ref.[fujita2003],Eq.(49)
@@ -163,8 +165,10 @@ def kT_cluster(mass, z=0.0, radius=None):
The temperature of the cluster ICM.
Unit: [keV]
"""
+ key = "extragalactic/clusters/kT_out"
+ kT_out = CONFIGS.getn(key)
kT_vir = kT_virial(mass=mass, z=z, radius=radius)
- kT_icm = kT_vir + 0.8
+ kT_icm = kT_vir + 1.5*kT_out
return kT_icm