diff options
author | Aaron LI <aly@aaronly.me> | 2018-01-01 09:43:27 +0800 |
---|---|---|
committer | Aaron LI <aly@aaronly.me> | 2018-01-01 09:43:27 +0800 |
commit | 6a458c2c4676f622ac3151526bd0642f1a191100 (patch) | |
tree | eff3fba8a895e4b48df3249f523d569ed6b80d2e | |
parent | 345835af379ea6e0a834c917584e42753bf895b0 (diff) | |
download | fg21sim-6a458c2c4676f622ac3151526bd0642f1a191100.tar.bz2 |
clusters/halo: improve turbulence velocity dispersion calculation
Use the merged total mass instead of the main cluster mass only as the
denominator to determine the turbulence velocity dispersion, which reduces the
scatter and thus the acceleration results will be less sensitive to
the (mostly unknown) merging turbulence properties.
-rw-r--r-- | fg21sim/extragalactic/clusters/halo.py | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/fg21sim/extragalactic/clusters/halo.py b/fg21sim/extragalactic/clusters/halo.py index 6b5a683..a8f218a 100644 --- a/fg21sim/extragalactic/clusters/halo.py +++ b/fg21sim/extragalactic/clusters/halo.py @@ -827,15 +827,16 @@ class RadioHalo: velocity dispersion from its energy. Merger energy: - E_m ≅ 0.5 * f_gas * M_sub * v^2 - ≅ 0.5 * f_gas * M_sub * (G*M_main / R_vir) + E_m ≅ 0.5 * f_gas * M_sub * v_vir^2 + v_vir = sqrt(G*M_main / R_vir) Turbulence energy: E_turb ≅ η_turb * E_m ≅ 0.5 * M_turb * <v_turb^2> - = 0.5 * f_gas * M_main(<L) * <v_turb^2> - = 0.5 * f_gas * f_mass(L/R_vir) * M_main * <v_turb^2> + = 0.5 * f_gas * M_total(<L) * <v_turb^2> + = 0.5 * f_gas * f_mass(L/R_vir) * M_total * <v_turb^2> + M_total = M_main + M_sub => Velocity dispersion: - <v_turb^2> ≅ (η_turb/f_mass) * (G*M_sub/R_vir) + <v_turb^2> ≅ (η_turb/f_mass) * (M_sub/M_total) * v_vir^2 Returns ------- @@ -848,11 +849,10 @@ class RadioHalo: z = COSMO.redshift(t) mass = self.M_main + self.M_sub R_vir = helper.radius_virial(mass=mass, z=z) * AUC.kpc2cm # [cm] - v2 = np.sqrt(AC.G * self.M_sub*AUC.Msun2g / R_vir) # [cm/s] - v2 *= AUC.cm2km # [km/s] + v2_vir = (AC.G * self.M_main*AUC.Msun2g / R_vir) * AUC.cm2km**2 fmass = helper.fmass_nfw(self.f_lturb) - v_turb = v2 * np.sqrt(self.eta_turb / fmass) - return v_turb + v2_turb = v2_vir * (self.eta_turb / fmass) * (self.M_sub / mass) + return np.sqrt(v2_turb) def _magnetic_field(self, t): """ |