aboutsummaryrefslogtreecommitdiffstats
path: root/fg21sim/extragalactic/clusters/solver.py
diff options
context:
space:
mode:
authorAaron LI <aly@aaronly.me>2017-07-23 10:24:00 +0800
committerAaron LI <aly@aaronly.me>2017-07-23 10:32:38 +0800
commit3bd9c730e20c9a70d17c1459ddf78ba71ee84f60 (patch)
treeb74c651e157f4ae0074feb47de87eb006de0b5b1 /fg21sim/extragalactic/clusters/solver.py
parentbace1e88fcf2f906a1ae17c3c10004eedb176070 (diff)
downloadfg21sim-3bd9c730e20c9a70d17c1459ddf78ba71ee84f60.tar.bz2
clusters/halo.py: Constrain tau_acc to avoid zero diffusion
Zero or negative diffusion coefficient leads to unstable or wrong results due to numerical algorithm/scheme adopted to solve the Fokker-Planck equation. Also add a NOTE to the FokkerPlanckSolver class. Signed-off-by: Aaron LI <aly@aaronly.me>
Diffstat (limited to 'fg21sim/extragalactic/clusters/solver.py')
-rw-r--r--fg21sim/extragalactic/clusters/solver.py7
1 files changed, 7 insertions, 0 deletions
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