aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fg21sim/extragalactic/clusters/halo.py34
-rw-r--r--fg21sim/extragalactic/clusters/helper.py2
2 files changed, 16 insertions, 20 deletions
diff --git a/fg21sim/extragalactic/clusters/halo.py b/fg21sim/extragalactic/clusters/halo.py
index 2236000..eac9501 100644
--- a/fg21sim/extragalactic/clusters/halo.py
+++ b/fg21sim/extragalactic/clusters/halo.py
@@ -73,8 +73,8 @@ logger = logging.getLogger(__name__)
class RadioHalo:
"""
- Simulate the diffuse (giant) radio halo emission for a galaxy
- cluster experiencing on-going/recent merger.
+ Simulate the radio halo properties for a galaxy cluster that is
+ experiencing an on-going merger or had a merger recently.
Description
-----------
@@ -168,7 +168,8 @@ class RadioHalo:
def _set_solver(self):
self.fpsolver = FokkerPlanckSolver(
- xmin=self.gamma_min, xmax=self.gamma_max,
+ xmin=self.gamma_min,
+ xmax=self.gamma_max,
x_np=self.gamma_np,
tstep=self.time_step,
f_advection=self.fp_advection,
@@ -195,9 +196,9 @@ class RadioHalo:
def time_turbulence(self, t=None):
"""
- The time duration the merger-induced turbulence persists, which
- is used to approximate the effective turbulence acceleration
- timescale.
+ The duration that the merger-induced turbulence persists, which
+ is used to approximate the lasting time of the effective turbulence
+ acceleration.
Unit: [Gyr]
"""
@@ -298,16 +299,16 @@ class RadioHalo:
mirror) rather than Coulomb scattering. Therefore, the fast modes
damp by TTD (transit time damping) on relativistic rather than
thermal particles, and the diffusion coefficient is given by:
- D_pp = (2*p^2 * ζ / x_cr) * k_L * <v_turb^2>^2 / c_s^3
+ D_pp = (4π * p^2 * ζ / X_cr / L_turb) * <v_turb^2>^2 / c_s^3
where:
ζ: efficiency factor for the effectiveness of plasma instabilities
- x_cr: relative energy density of cosmic rays
- k_L = 2π/L: turbulence injection scale
+ X_cr: relative energy density of cosmic rays
+ L_turb: turbulence injection scale
v_turb: turbulence velocity dispersion
c_s: sound speed
Thus the acceleration timescale is:
τ_acc = p^2 / (4*D_pp)
- = (x_cr * c_s^3 * L) / (16π * ζ * <v_turb^2>^2)
+ = (X_cr * c_s^3 * L_turb) / (16π * ζ * <v_turb^2>^2)
WARNING
-------
@@ -331,7 +332,6 @@ class RadioHalo:
-------
tau : float
The acceleration timescale at the requested time.
- Return ``np.inf`` if no active turbulence at that time.
Unit: [Gyr]
References
@@ -415,11 +415,9 @@ class RadioHalo:
n0_e = n_inj * (self.age_begin - self.time_init)
logger.debug("Derive the initial electron spectrum ...")
- # NOTE: subtract ``time_step`` to avoid the acceleration at the
- # last step at ``age_begin``.
dt = self.time_step
tstart = self.age_begin - self.time_init - dt
- tstop = self.age_begin - dt
+ tstop = self.age_begin - dt # avoid acceleration at the ``age_begin``
# Use a bigger time step to save time
self.fpsolver.tstep = 3 * dt
n_e = self.fpsolver.solve(u0=n0_e, tstart=tstart, tstop=tstop)
@@ -717,7 +715,7 @@ class RadioHalo:
* synchrotron radiation
* Coulomb collisions
- Reference: Ref.[sarazin1999],Eq.(6,7,9)
+ Reference: Ref.[sarazin1999],Eqs.(6,7,9)
Parameters
----------
@@ -746,10 +744,8 @@ class RadioHalo:
class RadioHaloAM(RadioHalo):
"""
- Simulate the diffuse (giant) radio halo for a galaxy cluster
- with all its on-going/recent merger events taken into account,
- while the above ``RadioHalo`` class only considers the most
- recent major/maximum merger event that is specified.
+ Simulate the radio halo properties for a galaxy cluster with all its
+ on-going merger and past merger events taken into account.
Parameters
----------
diff --git a/fg21sim/extragalactic/clusters/helper.py b/fg21sim/extragalactic/clusters/helper.py
index 5fd25a9..b58dc87 100644
--- a/fg21sim/extragalactic/clusters/helper.py
+++ b/fg21sim/extragalactic/clusters/helper.py
@@ -97,7 +97,7 @@ def radius_halo(mass, z=0.0, configs=CONFIGS):
----
The halo radius is estimated to be the same as the turbulence
injection scale, i.e.:
- R_halo ≅ L ≅ R_vir / 3
+ R_halo ≅ L_turb ≅ R_vir / 3
where R_vir the virial radius of the merged (observed) cluster.
Reference: [vazza2011],Sec.(3.6)