From a8ba8f12873effb992333915a3ab9d5bd320eb95 Mon Sep 17 00:00:00 2001 From: Aaron LI Date: Tue, 30 Oct 2018 23:42:16 +0800 Subject: clusters/halo: Update time_turbulence() calculation --- fg21sim/extragalactic/clusters/halo.py | 15 ++++++++++----- fg21sim/extragalactic/clusters/helper.py | 23 ----------------------- 2 files changed, 10 insertions(+), 28 deletions(-) diff --git a/fg21sim/extragalactic/clusters/halo.py b/fg21sim/extragalactic/clusters/halo.py index 273a611..2b2b719 100644 --- a/fg21sim/extragalactic/clusters/halo.py +++ b/fg21sim/extragalactic/clusters/halo.py @@ -197,9 +197,11 @@ class RadioHalo: def time_turbulence(self, t=None): """ - The duration that the merger-induced turbulence persists, which - is used to approximate the lasting time of the effective turbulence - acceleration. + The duration that the compressive turbulence persists, which is + estimated as: + τ_turb ≅ L / v_impact = 2*R_turb / v_impact. + During this period, the merger-induced turbulence is regarded + to accelerate the relativistic electrons effectively. Unit: [Gyr] """ @@ -207,8 +209,11 @@ class RadioHalo: mass_main = self.mass_main(t=t_merger) mass_sub = self.mass_sub(t=t_merger) z_merger = COSMO.redshift(t_merger) - return helper.time_turbulence(mass_main, mass_sub, z=z_merger, - configs=self.configs) + vi = helper.velocity_impact(mass_main, mass_sub, z_merger) # [km/s] + distance = 2 * self.injection_radius + uconv = AUC.kpc2km * AUC.s2Gyr # [s kpc/km] => [Gyr] + time = uconv * distance / vi # [Gyr] + return time def mach_turbulence(self, t=None): """ diff --git a/fg21sim/extragalactic/clusters/helper.py b/fg21sim/extragalactic/clusters/helper.py index d8e231e..8eef6b9 100644 --- a/fg21sim/extragalactic/clusters/helper.py +++ b/fg21sim/extragalactic/clusters/helper.py @@ -406,29 +406,6 @@ def time_crossing(M_main, M_sub, z=0.0): return time -def time_turbulence(M_main, M_sub, z=0.0, configs=CONFIGS): - """ - The duration that the compressive turbulence persists, which is - estimated as: - τ_turb ≅ 2*d / v_impact, - where d ≅ L ≅ R_vir / 3, - and L is also the turbulence injection scale. - During this period, the merger-induced turbulence is regarded - to accelerate the relativistic electrons effectively. - - Unit: [Gyr] - """ - # Turbulence injection scale factor - key = "extragalactic/halos/f_lturb" - f_lturb = configs.getn(key) - R_vir = radius_virial(M_main+M_sub, z) # [kpc] - distance = 2*R_vir * f_lturb - vi = velocity_impact(M_main, M_sub, z) # [km/s] - uconv = AUC.kpc2km * AUC.s2Gyr # [s kpc/km] => [Gyr] - time = uconv * distance / vi # [Gyr] - return time - - def draw_halo(radius, nr=2.0, felong=None, rotation=None): """ Draw the template image of one halo, which is used to simulate -- cgit v1.2.2