71 BondType(myR0), De(myD), beta(myBeta) {}
73 void setWellDepth(RealType myD) { De = myD; }
75 void setBeta(RealType myBeta) { beta = myBeta; }
77 void setWellDepthAndForceConstant(RealType myD, RealType myK) {
79 beta = sqrt(myK / (2.0 * De));
82 RealType getWellDepth() {
return De; }
84 RealType getBeta() {
return beta; }
86 RealType getForceConstant() {
return 2.0 * De * beta * beta; }
88 virtual void calcForce(RealType r, RealType& V, RealType& dVdr) {
89 RealType dr, eterm, eterm2;
92 eterm = exp(-beta * dr);
93 eterm2 = eterm * eterm;
95 V = De * (1 - 2.0 * eterm + eterm2);
96 dVdr = 2.0 * De * beta * (eterm - eterm2);