diff options
author | Aaron LI <aly@aaronly.me> | 2017-12-30 20:21:48 +0800 |
---|---|---|
committer | Aaron LI <aly@aaronly.me> | 2017-12-30 20:21:48 +0800 |
commit | b831796a7482e6545c303d8a8fbb60719fd4b807 (patch) | |
tree | d5682bdab3f1c22db77d866a79e2b3dc7fc2e2d2 /fg21sim/extragalactic/clusters/helper.py | |
parent | 0478a88558f75d3afc6ecfc3e1af232520cb2bc8 (diff) | |
download | fg21sim-b831796a7482e6545c303d8a8fbb60719fd4b807.tar.bz2 |
clusters/halo: Estimate turbulence acceleration w.r.t. injection scale
The turbulence injection scale ~ halo size
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 |