Skip to content

Using `timestep_collect` tasks for void cells instead of doing them in `engine_step` collectively

William Roper requested to merge zoom_tcollect into zoom_merge

As the title says, voids now get a task_type_collect task at the top level. This removes the cell_has_task void-specific logic. Important points:

  • The void->timestep_collect is unlocked by the zoom->timestep_collect to ensure everything has been updated at the zoom top level before the void cell tree is traversed.
  • The void->timestep_collect uses its own bespoke runner function that ignores the super check because we want to go the whole way past the super level to the void leaves (top level zoom cells) and ignores the hmaxs. This is because void cells don't have timestep tasks (and don't need to) and they will never need to know about the smoothing lengths respectively.
  • This has been tested and runs with debugging checks on perfectly happily. It also doesn't appear to introduce any hold up due to the zoom -> void dependency.

Merge request reports