Forces3. Relevant Methods from Java Code
public class PotentialLJ implements PotentialSoft
//Space.Vector used to compute and return a force
private Space.Vector force = Simulation.space.makeVector();
public Space.Vector force(AtomPair pair) {
double r2 = pair.r2(); //squared distance between pair of atoms
if(r2 > cutoffDiameterSquared) {force.E(0.0);} //outside cutoff; no interaction
double s2 = sigmaSquared/r2; // (sigma/r)^2
double s6 = s2*s2*s2; // (sigma/r)^6
force.E(pair.dr()); // f = (x12 ex + y12 ey) (vector)
force.TE(-48*s2*s6*(s6-0.5)/sigmaSquared);
// f *= -48*(sigma/r)^8 * [(sigma/r)^6 - 1/2] / sigma^2