diff options
Diffstat (limited to 'fg21sim/extragalactic/clusters')
-rw-r--r-- | fg21sim/extragalactic/clusters/emission.py | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/fg21sim/extragalactic/clusters/emission.py b/fg21sim/extragalactic/clusters/emission.py index b54d113..bca0ecf 100644 --- a/fg21sim/extragalactic/clusters/emission.py +++ b/fg21sim/extragalactic/clusters/emission.py @@ -38,7 +38,7 @@ logger = logging.getLogger(__name__) class SynchrotronEmission: """ - Calculate the synchrotron emission from a given population + Calculate the synchrotron emissivity from a given population of electrons. Parameters @@ -66,6 +66,13 @@ class SynchrotronEmission: self.radius = radius # [kpc] @property + def B_gauss(self): + """ + Magnetic field in unit of [G] (i.e., gauss) + """ + return self.B * 1e-6 # [uG] -> [G] + + @property def frequency_larmor(self): """ Electron Larmor frequency (a.k.a. gyro frequency): @@ -74,10 +81,8 @@ class SynchrotronEmission: Unit: [MHz] """ - coef = AC.e / (2*np.pi * AU.mec) # [Hz/G] - coef *= 1e-12 # [Hz/G] -> [MHz/uG] - nu = coef * self.B # [MHz] - return nu + nu_larmor = AC.e * self.B_gauss / (2*np.pi * AU.mec) # [Hz] + return nu_larmor * 1e-6 # [Hz] -> [MHz] def frequency_crit(self, gamma, theta=np.pi/2): """ @@ -185,8 +190,7 @@ class SynchrotronEmission: # Integrate over energy ``gamma`` in logarithmic grid j_nu = integrate.simps(s1d*self.gamma, np.log(self.gamma)) - B_gauss = self.B * 1e-6 # [uG] -> [G] - coef = np.sqrt(3) * AC.e**3 * B_gauss / AU.mec2 + coef = np.sqrt(3) * AC.e**3 * self.B_gauss / AU.mec2 j_nu *= coef return j_nu |