Skip to content

Make sure sync is still executed for particles that are also limited.

Bert Vandenbroucke requested to merge limiter-vs-sync into master

Turns out limiter and sync do not play nice together. If a particle is marked by both the limiter and the sync, then the limiter gets executed first and erases the sync flag. Since the limiter blindly reduces the time step size without recomputing it, this can result in a particle time step that is way too large.

To remedy this, this MR disables the limiter action for particles that are also marked for sync, without resetting the limiter flag (wakeup). After the new particle time step has been determined in the sync, the actual new time step is then set to the minimum of this new time step and the time step requested by the limiter.

While fixing this bug, another issue popped up, involving a couple of missing activations of the sync task for cells that only have active self/bh_feedback tasks. These were added.

Edited by Bert Vandenbroucke

Merge request reports