diff options
author | Aaron LI <aly@aaronly.me> | 2017-10-18 23:20:40 +0800 |
---|---|---|
committer | Aaron LI <aly@aaronly.me> | 2017-10-18 23:20:40 +0800 |
commit | 13861dc37376e04ea64bbf61a49c0f183d84a558 (patch) | |
tree | 98509b580662f9e1abdd5f81c04295806e33cff3 | |
parent | 375198fb380933ea1b00f2e42401550ae20da76d (diff) | |
download | fg21sim-13861dc37376e04ea64bbf61a49c0f183d84a558.tar.bz2 |
clusters/halo: Increase the time step, but require a minimum of 20 steps
-rw-r--r-- | fg21sim/configs/20-extragalactic.conf.spec | 2 | ||||
-rw-r--r-- | fg21sim/extragalactic/clusters/halo.py | 7 |
2 files changed, 8 insertions, 1 deletions
diff --git a/fg21sim/configs/20-extragalactic.conf.spec b/fg21sim/configs/20-extragalactic.conf.spec index cda58b1..425df88 100644 --- a/fg21sim/configs/20-extragalactic.conf.spec +++ b/fg21sim/configs/20-extragalactic.conf.spec @@ -145,7 +145,7 @@ # Time step for solving the Fokker-Planck equation # Unit: [Gyr] - time_step = float(default=0.01, min=1e-5, max=0.1) + time_step = float(default=0.02, min=1e-4, max=0.1) # Electron injection, which is assumed to have a constant injection # rate and a power-law spectrum. diff --git a/fg21sim/extragalactic/clusters/halo.py b/fg21sim/extragalactic/clusters/halo.py index 6bfa4ca..a481ce5 100644 --- a/fg21sim/extragalactic/clusters/halo.py +++ b/fg21sim/extragalactic/clusters/halo.py @@ -290,6 +290,13 @@ class RadioHalo: n_inj = self.fp_injection(self.gamma) n0_e = n_inj * tstart + # When the evolution time is too short, decrease the time step + # to improve the results. + # XXX: is this necessary??? + nstep_min = 20 + if (tstop - tstart) / self.fpsolver.tstep < nstep_min: + self.fpsolver.tstep = (tstop - tstart) / nstep_min + self.electron_spec = self.fpsolver.solve(u0=n0_e, tstart=tstart, tstop=tstop) return self.electron_spec |