Skip to content

Fix super pointer

Matthieu Schaller requested to merge fix_super_pointer into master

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_super pointer. We have only one super cell per hierarchy.
  • Set the super pointer 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).

Merge request reports