Sink cell_unskip clean up
Changes
I simplified the cell_unskip.c for sinks. The code is now closer
- to BHs for the swallow part
- to stars for the
sink_formation.
I removed the dependency on the synchronisation task, given that the sinks do not perform any feedback operations. I remember we had a conversation about this a few months ago in a previous merge request. However, the synchronisation was not fully cleaned.
Similarly, I removed the hydro sort logic. The dependency was removed months ago, but we kept the updating logic. Interestingly, seems to have prevented the recurring particle shift diff exceeds dx_max_sort in cell cj. error we have already discussed.
Tests
I tested these updates in my MPI branch with the examples/SinkpParticles/HomogeneousBox/ debugging ICs during 3 days without errors (of course, without MPI).
I'm currently running this fix with the current branch to ensure everything is working.
Notes
I encountered Invalid particle position Z.
Questions
Can anyone explain why cell_unskip_stars() has the following
if (t->type == task_type_self) {
cell_activate_subcell_stars_tasks(ci, NULL, s, with_star_formation,
with_star_formation_sink,
with_timestep_sync);
/*** These two lines of code ***/
cell_activate_drift_spart(ci, s);
cell_activate_drift_part(ci, s);
if (with_timestep_sync) cell_activate_sync_part(ci, s);
}
And similarly for the pair task below.
Are these related to particle creation?
I need to understand why the stars need these lines and the BHs don't. Then, I can figure out if the sinks need them.