aboutsummaryrefslogtreecommitdiffstats
path: root/fg21sim/extragalactic
diff options
context:
space:
mode:
authorAaron LI <aly@aaronly.me>2018-10-30 23:42:16 +0800
committerAaron LI <aly@aaronly.me>2018-10-30 23:42:16 +0800
commita8ba8f12873effb992333915a3ab9d5bd320eb95 (patch)
treee134cebccdfef91dc4f49c2c08b3e36d5afec2b7 /fg21sim/extragalactic
parent029dc5974f3a3f6c4b5d346f440901b40ba0d73f (diff)
downloadfg21sim-a8ba8f12873effb992333915a3ab9d5bd320eb95.tar.bz2
clusters/halo: Update time_turbulence() calculation
Diffstat (limited to 'fg21sim/extragalactic')
-rw-r--r--fg21sim/extragalactic/clusters/halo.py15
-rw-r--r--fg21sim/extragalactic/clusters/helper.py23
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