Updated the logic setting the
super pointer and creating the "hierarchical" tasks (i.e. init, kick, ghost, etc.). Changes involve:
- Getting rid of the
g_superpointer. We have only one
supercell per hierarchy.
- Set the
superpointer in a new routine.
- Have only one routine to construct the hierarchical task to avoid overwriting things.
- Moved the external gravity task to be a self with a new kind of sub-type.
The last item is necessary for the following reason. If we want to run with only external gravity (no hydro, no normal gravity), which is useful to test this aspect individually, we need to create the tasks. Now, we only create the init/kick tasks for super cells, i.e. cells that have at least one self or pair. So I promoted the external_gravity task to be a self with a new sub_type.
IMO that's more clean now. What do you think ?
Fix #215 (closed).