You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
There are two issues that consider the same code lines, of how the volume filling factor, Q_HI, is evaluated in tau_X. The two issues however differ both in their goals, and in which epoch they become more relevant.
[Feature Req.] update nu_tau_one_approx #122. The idea in this issue is to use the information from IonizedBox at higher redshifts in order to evaluate Q_HI. In the easier implementation, only the globalneutral_fraction from the higher redshifts is saved, such that Q_HI = <x_HI>, for each cell in the box. In the more difficult implementation, Q_HI=x_HI, namely the volume filling factor varies spatially. Note that Q_HI is evaluated at z_hat, which is an intermediate redshift between zp (the redshift of the snapshot) and zpp (the dummy redshift that corresponds to the integrated shell radius, from which the X-ray photon was emitted), and therefore requires not only to save the last neutral_fraction box, but several of those and interpolate the field at z_hat. In my opinion, taking the global neutral_fraction would be the better approach, not only because it is easier (and requires less memory), but also because it is somewhat more consistent: the X-ray photon traverse across the box, so it doesn't "see" the same cell at each z_hat. It is well understood that 21cmFAST is a FAST semi-numerical code, not RT, and as such, it uses the global volume filling factor in the evaluation of tau_X, as stated above Eq. 16 and in footnote 22 in Mesinger et al. 2010. This issue thus suggests to improve precision, mostly after reionization has started.
Possible runtime reduction in the evaluation of tau_X #590. Recently, the simulation parameter MIN_XE_FOR_FCOLL_IN_TAUX was introduced in Quick global evolution of all fields in the simulation #588. The logic in the code is that if we do run_global_evolution (identified via HII_DIM = 1), and the global x_e is below the value of this parameter, then the code approximates Q_HI ~ 1. This helps in lowering the runtime for the computation of tau_X, which is critical for run_global_evolution. We have not checked whether we should (1) apply the same logic also for full boxes (with HII_DIM > 1) and (2) whether our default MIN_XE_FOR_FCOLL_IN_TAUX = 1e-3 should be changed. This issue thus suggests to improve runtime performance, mostly before reionization has started.
Since the two issues refer to the same code lines, it makes sense to have both of them under the same issue.
There are two issues that consider the same code lines, of how the volume filling factor,
Q_HI, is evaluated intau_X. The two issues however differ both in their goals, and in which epoch they become more relevant.IonizedBoxat higher redshifts in order to evaluateQ_HI. In the easier implementation, only the globalneutral_fractionfrom the higher redshifts is saved, such thatQ_HI = <x_HI>, for each cell in the box. In the more difficult implementation,Q_HI=x_HI, namely the volume filling factor varies spatially. Note thatQ_HIis evaluated atz_hat, which is an intermediate redshift betweenzp(the redshift of the snapshot) andzpp(the dummy redshift that corresponds to the integrated shell radius, from which the X-ray photon was emitted), and therefore requires not only to save the lastneutral_fractionbox, but several of those and interpolate the field atz_hat. In my opinion, taking the globalneutral_fractionwould be the better approach, not only because it is easier (and requires less memory), but also because it is somewhat more consistent: the X-ray photon traverse across the box, so it doesn't "see" the same cell at eachz_hat. It is well understood that 21cmFAST is a FAST semi-numerical code, not RT, and as such, it uses the global volume filling factor in the evaluation oftau_X, as stated above Eq. 16 and in footnote 22 in Mesinger et al. 2010. This issue thus suggests to improve precision, mostly after reionization has started.MIN_XE_FOR_FCOLL_IN_TAUXwas introduced in Quick global evolution of all fields in the simulation #588. The logic in the code is that if we dorun_global_evolution(identified viaHII_DIM = 1), and the globalx_eis below the value of this parameter, then the code approximatesQ_HI ~ 1. This helps in lowering the runtime for the computation oftau_X, which is critical forrun_global_evolution. We have not checked whether we should (1) apply the same logic also for full boxes (withHII_DIM > 1) and (2) whether our defaultMIN_XE_FOR_FCOLL_IN_TAUX = 1e-3should be changed. This issue thus suggests to improve runtime performance, mostly before reionization has started.Since the two issues refer to the same code lines, it makes sense to have both of them under the same issue.