65 RealType k1, RealType k0) :
67 k4_(k4), k3_(k3), k2_(k2), k1_(k1), k0_(k0) {}
69 void setForceConstant(RealType k4, RealType k3, RealType k2, RealType k1,
78 void getForceConstant(RealType& k4, RealType& k3, RealType& k2,
79 RealType& k1, RealType& k0) {
87 virtual void calcForce(RealType theta, RealType& V, RealType& dVdTheta) {
88 RealType delta = theta - theta0_;
89 RealType delta2 = delta * delta;
90 RealType delta3 = delta2 * delta;
91 RealType delta4 = delta3 * delta;
93 V = k0_ + k1_ * delta + k2_ * delta2 + k3_ * delta3 + k4_ * delta4;
95 k1_ + 2.0 * k2_ * delta + 3.0 * k3_ * delta2 + 4.0 * k4_ * delta3;