Change the task splitting criterion for gravity tasks
Fixes #457 (closed).
Implements three main changes:
- When deciding whether or not to split a gravity task use a relative depth and not an absolute depth.
- Send the maximal local depth to the proxies when exchanging cells.
- Add a
drift_out
implicit task to resolve the high number of gpart_drift -> gravity task dependencies.
The parameter file gets a new parameter to control the depth level of the gravity tasks Scheduler:cell_subdepth_diff_grav
which defaults to 4
. That is, a gravity task can only be split if it is 4 levels (or more) above the leaf cells in that part of the tree. The best default value of this parameter needs to be investigated.
Edited by Matthieu Schaller