Langevin changes FixAtoms. Resulting Atoms object can't be read by ase-gui
When I run a MD simulation with some constrained atoms, the Atoms object I get after I attach the Langevin dynamics is changed such that it cannot be read by e.g. ase-gui.
Here is a minimal example: https://gitlab.com/snippets/1657580
I get the following error
ValueError: FixAtoms: The indices array contained duplicates. Perhaps you wanted to specify a mask instead, but forgot the mask= keyword.
As far as I can tell, the constraints are modified to be a boolean mask, but ASE wants to interpret it as a list of indices.
Modifying the script above to print the constraints before and after attaching the dynamics gives
$ python ~/pulling/scripts/test_asap_fixatoms.py
FixAtoms(indices=[0, 1, 2])
Using Asap-optimized C++-Langevin algorithm
FixAtoms(indices=[True, True, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False])
where the same script, using ase.md.langevin
gives
$ python ~/pulling/scripts/test_asap_fixatoms.py
FixAtoms(indices=[0, 1, 2])
FixAtoms(indices=[0, 1, 2])
I am running ase 3.13.0 and asap3 3.10.6