diff options
Diffstat (limited to 'fg21sim')
| -rw-r--r-- | fg21sim/configs/20-extragalactic.conf.spec | 15 | ||||
| -rw-r--r-- | fg21sim/extragalactic/clusters/main.py | 33 | 
2 files changed, 40 insertions, 8 deletions
| diff --git a/fg21sim/configs/20-extragalactic.conf.spec b/fg21sim/configs/20-extragalactic.conf.spec index 0f797a8..b8af33b 100644 --- a/fg21sim/configs/20-extragalactic.conf.spec +++ b/fg21sim/configs/20-extragalactic.conf.spec @@ -43,6 +43,13 @@    # The fraction that a cluster hosts a radio halo    halo_fraction = float(default=None, min=0.0, max=1.0) +  # 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)    # Resolution for simulating each cluster templates, which are finally    # mapped to the all-sky HEALPix map if used. @@ -73,14 +80,6 @@    # XXX: currently only support a constant radius of halos    radius = float(default=500.0, min=100.0) -  # 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/main.py b/fg21sim/extragalactic/clusters/main.py index b7c2d03..b6c1022 100644 --- a/fg21sim/extragalactic/clusters/main.py +++ b/fg21sim/extragalactic/clusters/main.py @@ -9,6 +9,12 @@ NOTE  ----  There are other types of extended radio emissions not considered  yet, e.g., mini-halos, roundish radio relics, etc. + +References +---------- +.. [cassano2012] +   Cassano et al. 2012, A&A, 548, A100 +   http://adsabs.harvard.edu/abs/2012A%26A...548A.100C  """  import logging @@ -57,6 +63,8 @@ class GalaxyClusters:          self.merger_mass_min = self.configs.getn(comp+"/merger_mass_min")          self.ratio_major = self.configs.getn(comp+"/ratio_major")          self.tau_merger = self.configs.getn(comp+"/tau_merger") +        self.b_mean = self.configs.getn(comp+"/b_mean") +        self.b_index = self.configs.getn(comp+"/b_index")          self.filename_pattern = self.configs.getn("output/filename_pattern")          self.use_float = self.configs.getn("output/use_float") @@ -204,6 +212,31 @@ class GalaxyClusters:          logger.info("%d (%.1f%%) clusters have recent major mergers." %                      (num_major, 100*num_major/num)) +    def _magnetic_field(self, mass): +        """ +        Calculate the mean magnetic field strength according to the +        scaling relation between magnetic field and cluster mass. + +        Parameters +        ---------- +        mass : float +            Cluster mass +            Unit: [Msun] + +        Returns +        ------- +        B : float +            The mean magnetic field strength +            Unit: [uG] + +        References +        ---------- +        Ref.[cassano2012],Eq.(1) +        """ +        M_mean = 1.6e15  # [Msun] +        B = self.b_mean * (mass/M_mean) ** self.b_index +        return B +      def preprocess(self):          """          Perform the preparation procedures for the later simulations. | 
