So lets look at evaluating an excluded volume potential for all
nearby
pairs.
...
OK, looks reasonable, but could you show it with derivatives as
well? I
want to see how you propose combining these.
Ummm, sure. I don't see how that complicates anything. Separate email.
If we decided we want to move to a realish Leonard Jones potential
The reason I chose a harmonic term for the example is because both the
mean and the standard deviation would have to be tweaked, and I don't
see how you propose to do that with your proposal.
I skipped changing the mean because you don't really have to. If the
case if a repulsive potential, what you really want is a harmonic
lower bound on the distance between the two spheres (not between their
centers). So I passed the distance between the two spheres to the
ScoreFunc instead of changing the mean.
My proposal has to be made more complicated if you want to change the
standard deviation on a per-pair basis (rather than on a per-restraint
basis), but I think if you are doing that you have moved beyond a
general ScoreFunc into something more specific. We can always add
subclasses of ScoreFunc which take extra parameters if needed (and the
replacement for SphereDistanceScore could get the values for these
parameters from the particles as it does with the radius).
(And it's odd that you say LJ isn't a simple function of distance,
because Modeller does have a 6-12 math form, so there's nothing to
stop
you restraining an angle with a 6-12 form if you were sufficiently
inclined.)
What I meant is that the shape changes as you change the radius of the
particles, it is not just a shift of the minimum. So you can't just
shift the origin for computations as you can in the harmonic case. You
could have a 6-12 ScoreFunc and pass it the ratio of the radii to the
distance, but this would require (in my proposal) a different
PairScoreFunction, or in the current model, a whole new restraint.