78 virtual void calcForce(RealType cosPhi, RealType& V, RealType& dVdCosPhi) {
82 }
else if (cosPhi < -1.0) {
86 RealType phi = acos(cosPhi);
87 RealType sinPhi = sqrt(1.0 - cosPhi * cosPhi);
91 if (fabs(sinPhi) < 1.0E-6) { sinPhi = copysign(1.0E-6, sinPhi); }
93 V = 0.5 * d0_ * pow((phi - phi0_), 2);
95 dVdCosPhi = -d0_ * (phi - phi0_) / sinPhi;