28double dr[
NDIM+1], fcVal, rr, ri, r, uVal;
33for(n = 1 ; n <=
nAtom ; n ++){
47double vr[
NDIM+1], fdVal, rri;
52double atomiMass, atomjMass;
61 if (
isBonded[atomIDi][atomIDj] == 0) {
62 rr = 0.0; rri = 0.0; fcVal = 0.0; fdVal = 0.0;
strech = 0.0;
65 dr[1] =
rx[atomIDi] -
rx[atomIDj];
71 dr[2] =
ry[atomIDi] -
ry[atomIDj];
82 rr =
Sqr(dr[1]) +
Sqr(dr[2]);
100 vr[1] =
vx[atomIDi] -
vx[atomIDj];
101 vr[2] =
vy[atomIDi] -
vy[atomIDj];
114 meff = (atomiMass * atomjMass)/(atomiMass + atomjMass);
115 fdVal = -
gamman * meff * (vr[1]*dr[1] + vr[2]*dr[2]) * rri;
126 fx[atomIDi] += (fcVal + fdVal) * dr[1];
127 fy[atomIDi] += (fcVal + fdVal) * dr[2];
128 fx[atomIDj] += -(fcVal + fdVal) * dr[1];
129 fy[atomIDj] += -(fcVal + fdVal) * dr[2];
142 fx[atomIDi] += (fcVal * dr[1] -
gamman * vr[1]);
143 fy[atomIDi] += (fcVal * dr[2] -
gamman * vr[2]);
144 fx[atomIDj] += -(fcVal * dr[1] -
gamman * vr[1]);
145 fy[atomIDj] += -(fcVal * dr[2] -
gamman * vr[2]);