Chris Bruns reminded us today that PyOpenMM's 'simtk.unit' feature won't save us from using the wrong meaning for the parameter (e.g. LJ sigma vs radius, harmonic spring constants off by a factor of 2). The Theory Guide PDF does have this documented, but to provide absolute security, it would be useful to document the equations relevant to the parameters for each function in the OpenMM header file doxygen documentation as well. e.g., for HarmonicBondForce:
* This class implements an interaction between pairs of particles that varies harmonically with the distance
* between them. To use it, create a HarmonicBondForce object then call addBond() once for each bond. After
* a bond has been added, you can modify its force field parameters by calling setBondParameters().
The energy is computed as
(K/2) (r - r0)^2
where K is the spring constant, r is the interatomic distance, and r0 is the equilibrium length of the bond.
This will also have the benefit of carrying over automatically to PyOpenMM docstrings automatically!