Open fweik opened 5 years ago
@RudolfWeeber @KaiSzuttor i think this is a clean solution, what do you think? (Some unsolicited wisdom on top: The rule here is if it is fighting you, you are doing it wrong
, which really was an
important insight for me.)
I agree.
The dipole swimmer lb forcing is with the remaining LB coupling, but the one for the tracers still is not. We should look into that. The VirtualSites classes were removed with the 1st stage of the propagation refactoring.
The inertialess traces consist of two parts, an Euler integrator for the position and the LB coupling. Neither one is a virtual site mechanism. The two parts should be separated, and can be used independently. One could e.g. trigger the lb coupling by allowing to set gamma per particle and do the trace coupling for gamma infinity. I think the Euler integration is not needed if the coupling just sets the velocity of the particles (and the forces to zero as they already do), with constant force Velocity Verlet and Euler are identical.
This would make all of the duplication go away, the tracer case could be handle together with the force coupling for LB, which would fix #2695. It would also allow to use the coupling with actual virtual sites to implement the force dipoles that are currently in the ENGINE feature and apparently broken (see #3052).