Sink accretion
In this merge request, I am adding two new type of tasks: sink_ghost
and sink_accretion
. The ghost is an implicit task between the mergers and the accretion and the accretion is an interaction between a sink particle and a hydro particle that is done on active sink particles (not necessary active hydro).
Due to the "recent" addition of the union for the cell structure, I had to define new files for GEAR. They are simply a copy/paste from the default ones with a constant probability of creating sink particles. This is done for debugging and will change once I will start to implement the physics.
I had some issues with the sink formation tasks that were only created in top level cells that contain hydro particles. Now in order to be safer, I am creating a sink formation task for all the top level cells (but then they are not necessary active). This could be changed in the future.
I am also sharing the IACT functions between the accretion and the compute_sink_formation
tasks and it might not be the most efficient way of doing it. I have added a TODO in order to mention that we could swap the loops (first hydro, then sink -> first sink, then hydro) in order to speedup a bit the code.
Here you can see the new task dependencies:
My next steps, in the order, will be to:
- Implement the star formation from the sink (I will steal the star formation task and adapt the behavior depending on the policies),
- Start working on the physics,
- Implement the MPI.
As I am close to the end of my thesis, I am not expecting to finish everything, but I should be able to at least start with the physics.