zadorlab / sella

A Python software package for saddle point optimization and minimization of atomic systems.
https://www.ecc-project.org/
Other
72 stars 21 forks source link

dihedral range bug? #29

Open wenyan4work opened 1 year ago

wenyan4work commented 1 year ago

ase returns dihedral values in [0, 2pi], but sella internally uses [-pi,pi]: https://github.com/zadorlab/sella/blob/723756ffa263e7dccf154d01e5e3201e5ab9cc8e/sella/internal.py#L718

but when converting from ase constraints, the range of ase dihedrals seem remain [0, 2pi]: https://github.com/zadorlab/sella/blob/723756ffa263e7dccf154d01e5e3201e5ab9cc8e/sella/internal.py#L1095

As a result, if the ase constraint is added to a dihedral with 300 degrees in ase, this constraint may crash sella, because in sella dihedral range does not go beyond 180 and this constraint can never be satisfied.

I found this seems to be true in my code, and can be worked around if I manually added constraints instead of calling the 'merge_ase_constraints' method. Could you confirm?