Allow 0 trial move size with `QuickCompress`.
joaander opened this issue · comments
Description
QuickCompress
computes the maximum safe box size change based on the translation move. When that translation move is 0, the box cannot be scaled at all.
Proposed solution
Implement failsafe mode in QuickCompress
. When the trial move size is 0, choose a random box move up to the user-provided min_scale
. Reject box moves that introduce overlaps.
Additional context
This will allow compressing simulation boxes while keeping particles fixed on a lattice. It is also required to implement fixed seeds as proposed in #1643. Slow compression (#1641) may also be useful when the min trial move size is 0 - but each of these features can be implemented separately.
Resolved by #1678