From 3b00ddc9ccf3bb797688f41167d219f484ce07f9 Mon Sep 17 00:00:00 2001 From: Aaron LI Date: Thu, 8 Nov 2018 16:36:28 +0800 Subject: clusters/halo: New formula for radius_turbulence() Calculate the radius of the turbulence region as the mean of the stripping radius of the in-falling sub-cluster and the core radius of the main cluster. Also make the 't' parameter mandatory. --- fg21sim/extragalactic/clusters/halo.py | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/fg21sim/extragalactic/clusters/halo.py b/fg21sim/extragalactic/clusters/halo.py index a18aa17..55107e5 100644 --- a/fg21sim/extragalactic/clusters/halo.py +++ b/fg21sim/extragalactic/clusters/halo.py @@ -241,17 +241,23 @@ class RadioHalo: The estimated radius of the simulated radio halo. Unit: [kpc] """ - return self.radius_turbulence() + return self.radius_turbulence(self.age_merger) @lru_cache() - def radius_turbulence(self, t=None): + def radius_turbulence(self, t): """ - The radius of the turbulence injection region. + The radius of the turbulence injection region, which is calculated + as the mean of the stripping radius of the sub-cluster and the core + radius of the main cluster. + Unit: [kpc] """ - rs = helper.radius_stripping(self.M_main, self.M_sub, self.z_merger, - configs=self.configs) # [kpc] - return self.f_lturb * rs + z = COSMO.redshift(t) + M_main = self.mass_main(t) + M_sub = self.mass_sub(t) + rs = helper.radius_stripping(M_main, M_sub, z, configs=self.configs) + R_vir = helper.radius_virial(M_main, z) + return (R_vir + rs) / 2 @property def angular_radius(self): -- cgit v1.2.2