Definition at line 28 of file ComputeBondForce.c.
28 {
29 int n;
30 double dr[
NDIM+1], r, rr, ri, roi;
31 double uVal, fcVal;
32
35
36 double vr[
NDIM+1], fdVal, rri;
37
38 for(n = 1 ; n <=
nAtom ; n ++){
41 }
42
43 int atom1ID, atom2ID;
44
45 for(n=1; n<=
nBond; n++){
46 rr = 0.0; rri = 0.0; fcVal = 0.0; fdVal = 0.0;
strech = 0.0;
49
50 dr[1] =
rx[atom1ID] -
rx[atom2ID];
55
56 dr[2] =
ry[atom1ID] -
ry[atom2ID];
65 }
66
67 rr =
Sqr(dr[1]) +
Sqr(dr[2]);
68 r = sqrt(rr);
69 rri = 1.0/rr;
70 ri = 1.0/r;
75
76 vr[1] =
vx[atom1ID] -
vx[atom2ID];
77 vr[2] =
vy[atom1ID] -
vy[atom2ID];
78 fdVal = -
gamman * (vr[1]*dr[1] + vr[2]*dr[2]) * rri;
79
80
86
87 fx[atom1ID] += (fcVal + fdVal) * dr[1];
88 fy[atom1ID] += (fcVal + fdVal) * dr[2];
89 fx[atom2ID] += -(fcVal + fdVal) * dr[1];
90 fy[atom2ID] += -(fcVal + fdVal) * dr[2];
91 }
92
93
99
100 fx[atom1ID] += (fcVal * dr[1] -
gamman * vr[1]);
101 fy[atom1ID] += (fcVal * dr[2] -
gamman * vr[2]);
102 fx[atom2ID] += -(fcVal * dr[1] -
gamman * vr[1]);
103 fy[atom2ID] += -(fcVal * dr[2] -
gamman * vr[2]);
104 }
105
109
110
115} }
References atom1, atom2, BondEnergy, BondLength, DampFlag, fx, fy, gamman, kb, nAtom, nBond, NDIM, nodeDragx, nodeDragy, region, regionH, ro, rx, ry, shearDisplacement, Sqr, strech, TotalBondEnergy, virSumBond, virSumBondxx, virSumBondxy, virSumBondyy, vx, and vy.
Referenced by main().