while the second is the excluded volume restraint, a loop over all
nonbonded pairs. Part of the nonbonded pair generation mechanism
excludes bonded particles.
Right, then the interesting question is how to do the non-bonded
particle generation. From what I gather with modeller, the speedups
compared to what I am describing come from using a proximity structure
and caching the list rather than separating the bonded from the
nonbonded computations. When generating the list you have to do a
similar lookup to see if each pair is bonded? Or is there some more
clever way of structuring things?