Hi Aidan and list,
The first one is complicated, because there needs to be a mechanism to
input and store the desired bond_types in a general way. This is
something to consider for the future
What would be nice would be to be able to mark atoms or bonds
to signify that they have been added, changed type or should be
removed. Such that a second fix could synchronize the
bond/angle/dihedral/improper tables to reflect these state changes.
About two years back I worked on something along these lines,
but for bonds alone. By merging fix bond/create and fix bond/break
I could identify and mark bonds for removal, type change, or
addition. I then wrote a second fix that updated bonds, angles, and
dihedrals to reflect the new chemical structure based on the
involved atom and bond types.
It was fairly involved, and probably were based on a lot of implicit,
so I haven't touched it since then.