For soft-sphere overlap, to be absolutely sure that no unaccounted contacts occur, energy_data.update_dynamic has to be equal to (energy_data.contact_shell - maximal_overlap_distance) / 2. maximal_overlap_distance is equal to the diameter of the largest atom in the model; it is 3.2 Å in the case of the all non-hydrogen atoms model. This distance is the energy_data.contact_shell value if a default is requested. Factor 2 comes from the fact that the moves of both atoms can reduce the distance between them.