This PR starts to touch on the painful world of indices associated to our AtomTypes, relating to #289 and #508.
Here we begin by removing the local index storage from the AtomTypeData class and modify AtomTypeMix to only allow add()ing atom types, prohibiting remove() operations. This indexing is _still_copied over to Atoms making up a Configuration since there is no faster way of accessing the 2D array when computing forces and energies between atoms, but at least we remove one piece of easily-broken storage in a class.
This PR starts to touch on the painful world of indices associated to our
AtomType
s, relating to #289 and #508.Here we begin by removing the local index storage from the
AtomTypeData
class and modifyAtomTypeMix
to only allowadd()
ing atom types, prohibitingremove()
operations. This indexing is _still_copied over toAtom
s making up aConfiguration
since there is no faster way of accessing the 2D array when computing forces and energies between atoms, but at least we remove one piece of easily-broken storage in a class.Works towards #289.