diff options
| author | Aaron LI <aly@aaronly.me> | 2017-10-18 16:14:59 +0800 | 
|---|---|---|
| committer | Aaron LI <aly@aaronly.me> | 2017-10-18 16:16:18 +0800 | 
| commit | 375198fb380933ea1b00f2e42401550ae20da76d (patch) | |
| tree | 966fa37fd3e1b5f5f32c0ad30f927524f7d40f39 /fg21sim | |
| parent | 3dadf7b53f28af00f3170a10629c91e8d2888e0e (diff) | |
| download | fg21sim-375198fb380933ea1b00f2e42401550ae20da76d.tar.bz2 | |
clusters: Update radio halo radius estimation
The simulated radio halo is assumed to have a radius of the falling
sub-cluster; while previously it is assumed to be 1/4 of the virial radius of
the merged cluster.
The new estimation can agree better with the currently observed radio halos,
which generally have a angular diameter size of ~2-7 [arcmin].
Diffstat (limited to 'fg21sim')
| -rw-r--r-- | fg21sim/extragalactic/clusters/halo.py | 12 | ||||
| -rw-r--r-- | fg21sim/extragalactic/clusters/helper.py | 36 | 
2 files changed, 25 insertions, 23 deletions
| diff --git a/fg21sim/extragalactic/clusters/halo.py b/fg21sim/extragalactic/clusters/halo.py index 832371e..6bfa4ca 100644 --- a/fg21sim/extragalactic/clusters/halo.py +++ b/fg21sim/extragalactic/clusters/halo.py @@ -166,13 +166,17 @@ class RadioHalo:      @property      def radius(self):          """ -        The halo radius derived from the virial radius by a scaling -        relation. +        The estimated radius for the simulated radio halo. + +        NOTE +        ---- +        The halo radius is assumed to be the virial radius of the falling +        sub-cluster.  See ``helper.radius_halo()`` for more details.          Unit: [kpc]          """ -        mass = self.M_main + self.M_sub  # [Msun] -        r_halo = helper.radius_halo(mass, self.z_merger)  # [kpc] +        r_halo = helper.radius_halo(self.M_main, self.M_sub, +                                    self.z_merger)          return r_halo      @property diff --git a/fg21sim/extragalactic/clusters/helper.py b/fg21sim/extragalactic/clusters/helper.py index b54340c..e553da9 100644 --- a/fg21sim/extragalactic/clusters/helper.py +++ b/fg21sim/extragalactic/clusters/helper.py @@ -54,16 +54,16 @@ def radius_virial(mass, z=0.0):      Parameters      ---------- -    mass : float +    mass : float, `~numpy.ndarray`          Total (virial) mass of the cluster          Unit: [Msun] -    z : float, optional +    z : float, `~numpy.ndarray`, optional          Redshift          Default: 0.0 (i.e., present day)      Returns      ------- -    R_vir : float +    R_vir : float, `~numpy.ndarray`          Virial radius of the cluster          Unit: [kpc]      """ @@ -74,35 +74,33 @@ def radius_virial(mass, z=0.0):      return R_vir -def radius_halo(mass, z=0.0): +def radius_halo(M_main, M_sub, z=0.0):      """ -    Calculate the radius of (giant) radio halo for a cluster. +    Calculate the (predicted) radius of (giant) radio halo for a cluster. -    The halo radius is assumed to linearly scale with the virial radius, -    and is estimated by: -        R_halo = R_vir / 4 -    * halo radius is ~3-6 times smaller than the virial radius; -      Ref.[cassano2007],Sec.(1) -    * halo half radius is ~R500/4, therefore, R_halo ~ R_vir/4; -      Ref.[zandanel2014],Sec.(6.2) +    NOTE +    ---- +    It can be intuitively assumed that a merger will generate turbulences +    within a region of size of the falling sub-cluster.  And this +    estimation can agree with the currently observed radio halos, which +    generally have a angular diameter size ~2-7 [arcmin].      Parameters      ---------- -    mass : float -        Total (virial) mass of the cluster +    M_main, M_sub : float, `~numpy.ndarray` +        Total (virial) masses of the main and sub clusters          Unit: [Msun] -    z : float, optional +    z : float, `~numpy.ndarray`, optional          Redshift          Default: 0.0 (i.e., present day)      Returns      ------- -    R_halo : float -        Radius of the (expected) giant radio halo +    R_halo : float, `~numpy.ndarray` +        Radius of the (simulated/predicted) giant radio halo          Unit: [kpc]      """ -    R_vir = radius_virial(mass=mass, z=z)  # [kpc] -    R_halo = R_vir / 4.0  # [kpc] +    R_halo = radius_virial(mass=M_sub, z=z)  # [kpc]      return R_halo | 
