Hello
In commit 45fae9b on 4 Jan 2017 and updated in commit 331970b on 14 Jan 2017, I implemented particle waking when using individual timesteps. Particles are now also active based upon their neighbours' activity, such that
1) active particles will have ibin no less than 1 smaller than their
neighbours (done via ibin_neigh)
2) inactive particles will be woken up mid-step to ensure that their
ibin is no less than 1 smaller than their neighbours (done via
ibin_wake)
3) particles trying to form a sink will be woken to be evolved on
ibin=nbinmax
4) particles within hacc_sink of a sink will be woken to be evolved on
ibin=nbinmax
5) particles who have a sink within radkern*hi will be woken to be evolved
on ibin >= nbinmax -1
Since more particles are now active on shorter timesteps, this implicitly yields better time-resolution and more accurate results. This also means that the versions of Phantom with this implemented will not be able to identically reproduce older results if the simulation includes steep density gradients or quickly moving flows.
Although all features are hard-coded to be on, options 2-5 can be disabled by setting allow_waking=.false. in step_leapfrog. Note that options 2-5 currently do not work with MPI, but we hope to fix this in the next month or so.
Please let me know if you encounter any problems with this feature.
Sincerely,
James