Splitter.find_broken_bonds#

Splitter.find_broken_bonds(coordinate=None, bonds_dict=None)[source]#

Find the bonds a cut would sever, from the current geometry.

Looks at interatomic distances (bonds_dict), so it also finds structure-bearing contacts that carry no explicit bond (the Si-O framework under ClayFF, for instance), and at the explicit bonds of the topology.

Parameters:
coordinatefloat, optional

Cut position to test. Defaults to this splitter’s own coordinate.

bonds_dictdict, optional

Cutoff table, see DEFAULT_BOND_CUTOFFS.

Returns:
list of tuple of int

Pairs of atom ids whose contact the cut would break.

Notes

Call this before splitting: it reports on the geometry as it currently stands. Contacts that are neighbours through the periodic boundary survive when both atoms move with their image (the split shifts the box and the moving fragment by the same amount). With keep_molecules=True, nothing covalent breaks.