diff options
Diffstat (limited to 'fg21sim/extragalactic/clusters/helper.py')
-rw-r--r-- | fg21sim/extragalactic/clusters/helper.py | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/fg21sim/extragalactic/clusters/helper.py b/fg21sim/extragalactic/clusters/helper.py index cac6401..10c4f12 100644 --- a/fg21sim/extragalactic/clusters/helper.py +++ b/fg21sim/extragalactic/clusters/helper.py @@ -360,6 +360,29 @@ 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 timescale 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 timescale, 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, 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 |