diff options
Diffstat (limited to 'fg21sim/extragalactic')
-rw-r--r-- | fg21sim/extragalactic/clusters/halo.py | 17 | ||||
-rw-r--r-- | fg21sim/extragalactic/clusters/solver.py | 7 |
2 files changed, 22 insertions, 2 deletions
diff --git a/fg21sim/extragalactic/clusters/halo.py b/fg21sim/extragalactic/clusters/halo.py index 8fdc78c..75789b6 100644 --- a/fg21sim/extragalactic/clusters/halo.py +++ b/fg21sim/extragalactic/clusters/halo.py @@ -243,6 +243,12 @@ class RadioHalo: """ Diffusion term/coefficient for the Fokker-Planck equation. + NOTE + ---- + The diffusion coefficients cannot be zero or negative, which + may cause unstable or wrong results. So constrain ``tau_acc`` + be a sufficient large but finite number. + Parameters ---------- gamma : float @@ -322,7 +328,12 @@ class RadioHalo: A reference value of the acceleration time due to TTD (transit-time damping) resonance is ~0.1 Gyr (Ref.[brunetti2011], Eq.(27) below); the formula derived by [cassano2005] (Eq.(40)) - has a dependence on eta_turb. + has a dependence on ``eta_turb``. + + NOTE + ---- + A zero diffusion coefficient may lead to unstable/wrong results, + so constrain this acceleration timescale be finite. Returns ------- @@ -332,9 +343,11 @@ class RadioHalo: """ # The reference/typical acceleration timescale tau_ref = 0.1 # [Gyr] + # The maximum timescale to avoid unstable results + tau_max = 100.0 # [Gyr] if t > self.age_merger + self.time_crossing: - tau = np.inf + tau = tau_max else: tau = tau_ref / self.eta_turb return tau diff --git a/fg21sim/extragalactic/clusters/solver.py b/fg21sim/extragalactic/clusters/solver.py index 6c0e653..dea7f3f 100644 --- a/fg21sim/extragalactic/clusters/solver.py +++ b/fg21sim/extragalactic/clusters/solver.py @@ -102,6 +102,13 @@ class FokkerPlanckSolver: by extrapolating an power law to avoid unphysical accumulations. This fix is ignored if this parameter is not specified. + NOTE + ---- + The diffusion coefficients (i.e., calculated by ``f_diffusion()``) + should be *positive* (i.e., C(x) > 0), otherwise unstable or wrong + results may occur, due to the current numerical scheme/algorithm + adopted. + References ---------- [1] Park & Petrosian 1996, ApJS, 103, 255 |