It would be very convenient if we could add a template argument to the acceleration pusher that allows switching from the acceleration pusher to the "normal" selected other pusher.
Currently, the acceleration pusher has a end time but no followup pusher is set.
cc'ing @anton-Le, @steindev, @BeyondEspresso
motivated by #3169
I think this is rather straightforward to do.
As a thought that popped up during thinking of it. Probably, a reasonable default for this prospective new template parameter is to do nothing after acceleration, how it works currently. For probes we express it using void asparticlePusherProbe::ActualPusher, however this requires specializing for it separately. Perhaps a more consistent solution for both probes and this one is to introduce a new None particle pusher analogous to the None Maxwell's solver. Then it follows all the pusher interfaces and thus there would be no need for a special corner case, like void. (Ofc it can be done before and independently of the proposed change to the accelerating pusher).
I am working on a concept for pusher chaining. First, a rather simplistic one, will provide a PR with the draft tomorrow.
This should support this use case, but not the more general #3277 for now.
Okay, today turned out too optimistic. But tomorrow for sure :)
This is implemented by #3288, not just for the acceleration pusher with a free one, but for any pair.
Most helpful comment
I am working on a concept for pusher chaining. First, a rather simplistic one, will provide a PR with the draft tomorrow.
This should support this use case, but not the more general #3277 for now.