There are a number of differences in how the feedback models which consists of exponential damping below a lower turnover mass, is implemented in the halo based source model versus the grid based (default) source model.
In the density grid based (default) model it is implemented as follows:
In each cell, the turnover mass scale is calculated depending on a value from previous snapshot (Ionisation rate Gamma_12 for reionization feedback, or specific intensity J_21_LW for Lyman-Werner feedback).
These turnover masses are filtered on the same scale as the density grids to smooth them (note that this means we use the previous snapshots specific intensity for all redshifts in the spin temperature model.
For the mean fixing, which corrects mostly for the differences between the conditional mass function (Extended Press-Schechter) used to get the cell emissivities and the unconditional mass function specified by the user, the volume-weighted mean of the logarithm of the turnover mass over the whole box is used to calculate the global emissivity or SFRD
In the case of ionising emissivity, we smooth over rapid changes in turnover mass by performing a trapezoidal integration (See Yuxiang's paper https://arxiv.org/pdf/2003.04442.pdf footnote 10 page 6)
In the halo-based model, only the first step is analogous:
Each halo receives the turnover mass based on the properties of its cell, as in the grid model
We do not filter the turnover masses, rather each halo's stellar mass and ionising emissivity is affected by the turnover mass. The gridded halo populations are filtered after the feedback is taken into account. Since we interpolate over each HaloBox to get XraySourceBox. The feedback on each halo is always determined by the radiation fields one snapshot beforehand.
Mean fixing is not implemented with the halo model, This could be done at the gridded halo level, but you would lose self-consistency as your halo population would no longer match the emissivities (see #370).
The trapezoidal integration (smoothing over turnover mass) is also not implemented. I can't think of a good way to implement this without storing the progeniture of each halo which would be very costly.
These differences need to be further evaluated in order to determine if they are acceptable or should be remedied.
There are a number of differences in how the feedback models which consists of exponential damping below a lower turnover mass, is implemented in the halo based source model versus the grid based (default) source model.
In the density grid based (default) model it is implemented as follows:
Gamma_12
for reionization feedback, or specific intensityJ_21_LW
for Lyman-Werner feedback).In the halo-based model, only the first step is analogous:
HaloBox
to getXraySourceBox
. The feedback on each halo is always determined by the radiation fields one snapshot beforehand.These differences need to be further evaluated in order to determine if they are acceptable or should be remedied.