1) A fundamental mis-parameterization on the handler level of an improper torsion where [i,c,k,l] was parameterized into [c,i,k,l].
2) As a result, we need to re-adjust the canonicalization algorithm we use for impropers during setup_intermediate_state()
Many thanks to @mcwitt for producing a simple repro.
This PR fixes two issues:
1) A fundamental mis-parameterization on the handler level of an improper torsion where
[i,c,k,l]
was parameterized into[c,i,k,l]
. 2) As a result, we need to re-adjust the canonicalization algorithm we use for impropers duringsetup_intermediate_state()
Many thanks to @mcwitt for producing a simple repro.