Drift on demand
Compare changes
Fix to the time integration bug that triggers #248 (closed).
As written in the minutes, finding all the cells that need to be drifted can be really difficult in some convoluted situations and I'd like to avoid a full tree walk.
My solution is as follows:
runner_do_drift
function gets replaced by a runner_do_unskip
function that does not touch the particles but just updates the status of the tasks.#runner_do_drift_all
function that drifts everything for the cases where we need this (rebuild or snapshot).In terms of performance it looks fairly similar to the current master. But now it is physically correct.