To constrain the separation between two atoms to their equilibrium bond length, it is critical that a <Bonds> record be specified for those atoms. ... To specify the constraint distance ... specify the distance attribute
I assume that if a constraint distance is specified, the constraint distance overrides the equilibrium bond length, and I'd argue that's the most reasonable interpretation. It is also the current implementation, and works fine with how OpenMM handles constraints. Other engines might do things different
It's also implicit in the spec that when a constraint distance is not specified, the constraint falls back to using the equilibrium bond length. Again, this is reasonable, is the current implementation, and works fine with OpenMM, but might work differently in other engines and should be made more explicit.
The spec states
I assume that if a constraint distance is specified, the constraint distance overrides the equilibrium bond length, and I'd argue that's the most reasonable interpretation. It is also the current implementation, and works fine with how OpenMM handles constraints. Other engines might do things different
It's also implicit in the spec that when a constraint distance is not specified, the constraint falls back to using the equilibrium bond length. Again, this is reasonable, is the current implementation, and works fine with OpenMM, but might work differently in other engines and should be made more explicit.