From a42a613f3a1328ca0582bef19e024868fa3a3ad5 Mon Sep 17 00:00:00 2001 From: Aaron LI Date: Sun, 22 Oct 2017 15:17:07 +0800 Subject: clusters/halo: Add option "kT_out" to tune cluster temperature --- fg21sim/configs/20-extragalactic.conf.spec | 9 +++++++++ fg21sim/extragalactic/clusters/halo.py | 4 +--- fg21sim/extragalactic/clusters/helper.py | 8 ++++++-- 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 -- cgit v1.2.2