Adjusting atom.momentum
Changes to atom.momentum are not reflected in atoms.momenta, at least for newly created objects. Example:
In [1]: from ase.structure import molecule
In [2]: atoms = molecule('CH4')
In [3]: atoms[2].momentum[1] += 8.
In [4]: atoms.get_momenta()
Out[4]:
array([[ 0., 0., 0.],
[ 0., 0., 0.],
[ 0., 0., 0.],
[ 0., 0., 0.],
[ 0., 0., 0.]])
See the link below for discussion on the mailing list:
https://listserv.fysik.dtu.dk/pipermail/ase-developers/2015-October/003013.html