diff options
Diffstat (limited to 'fg21sim')
| -rw-r--r-- | fg21sim/configs/20-extragalactic.conf.spec | 10 | ||||
| -rw-r--r-- | fg21sim/extragalactic/clusters/halo.py | 30 | 
2 files changed, 29 insertions, 11 deletions
| diff --git a/fg21sim/configs/20-extragalactic.conf.spec b/fg21sim/configs/20-extragalactic.conf.spec index d479e7d..4e84d85 100644 --- a/fg21sim/configs/20-extragalactic.conf.spec +++ b/fg21sim/configs/20-extragalactic.conf.spec @@ -61,9 +61,13 @@    # XXX: currently only support a constant radius of halos    radius = float(default=500, min=100) -  # Magnetic field assumed for the cluster (unit: uG) -  # XXX: currently only support a constant magnetic field -  magnetic_field = float(default=0.5, min=0.1, max=10) +  # Magnetic field scaling relation for clusters +  # Reference: Cassano et al. 2012, A&A, 548, A100, Eq.(1) +  # +  # The mean magnetic field assumed +  b_mean = float(default=1.9, min=0.1, max=10) +  # The index of the scaling relation +  b_index = float(default=1.5, min=0.0, max=3.0)    # Fraction of the turbulence energy in the form of magneto-sonic waves.    eta_t = float(default=0.3, min=0.0, max=1.0) diff --git a/fg21sim/extragalactic/clusters/halo.py b/fg21sim/extragalactic/clusters/halo.py index 3fa9d18..d3621f2 100644 --- a/fg21sim/extragalactic/clusters/halo.py +++ b/fg21sim/extragalactic/clusters/halo.py @@ -1,4 +1,4 @@ -# Copyright (c) 2017 Weitian LI <liweitianux@live.com> +# Copyright (c) 2017 Weitian LI <weitian@aaronly.me>  # MIT license  """ @@ -9,6 +9,10 @@ References  ----------  [1] Cassano & Brunetti 2005, MNRAS, 357, 1313      http://adsabs.harvard.edu/abs/2005MNRAS.357.1313C +[2] Cassano, Brunetti & Setti, 2006, MNRAS, 369, 1577 +    http://adsabs.harvard.edu/abs/2006MNRAS.369.1577C +[3] Cassano et al. 2012, A&A, 548, A100 +    http://adsabs.harvard.edu/abs/2012A%26A...548A.100C  """  import logging @@ -41,15 +45,10 @@ class HaloSingle:      by solving the Fokker-Planck equation; and finally derive the radio      emission from the electron spectra. -    References -    ---------- -    [1] Cassano & Brunetti 2005, MNRAS, 357, 1313 -        http://adsabs.harvard.edu/abs/2005MNRAS.357.1313C -      Parameters      ----------      M0 : float -        Cluster mass at redshift z0 +        Cluster virial mass at redshift z0          Unit: [Msun]      z0 : float          Redshift from where to simulate former merging history. @@ -87,7 +86,8 @@ class HaloSingle:          # Mass threshold of the sub-cluster for a significant merger          self.merger_mass_th = self.configs.getn(comp+"/merger_mass_th")          self.radius = self.configs.getn(comp+"/radius") -        self.magnetic_field = self.configs.getn(comp+"/magnetic_field") +        self.b_mean = self.configs.getn(comp+"/b_mean") +        self.b_index = self.configs.getn(comp+"/b_index")          self.eta_t = self.configs.getn(comp+"/eta_t")          self.eta_e = self.configs.getn(comp+"/eta_e")          self.pmin = self.configs.getn(comp+"/pmin") @@ -102,6 +102,20 @@ class HaloSingle:          self.cosmo = Cosmology(H0=self.H0, Om0=self.OmegaM0)          logger.info("Loaded and set up configurations") +    @property +    def magnetic_field(self): +        """ +        Calculate the mean magnetic field of this cluster from the +        scaling relation between magnetic field and cluster mass. + +        Unit: [uG] + +        Reference: Ref.[3],Eq.(1) +        """ +        M_mean = 1.6e15  # [Msun] +        B = self.b_mean * (self.M0/M_mean) ** self.b_index +        return B +      def simulate_mergertree(self):          """          Simulate the merging history of the cluster using the extended | 
