25 {
26 int n;
27 double Vxblock, Vyblock;
28 double Vxsubstrate, Vysubstrate;
29 Vxblock = 0.0; Vyblock = 0.0;
30 Vxsubstrate = 0.0; Vysubstrate = 0.0;
31 double gammav;
32 gammav = 0.0;
33
34 double count_substrate = 0;
35 double count_block = 0;
36
37 for(n = 1 ; n <=
nAtom; n ++){
39 Vxsubstrate +=
vx[n]; Vysubstrate +=
vy[n];
40 count_substrate++;
41 }
43 Vxblock +=
vx[n]; Vyblock +=
vy[n];
44 count_block++;
45 } }
46
47 if(count_substrate > 0) {
48 Vxsubstrate /= count_substrate;
49 Vysubstrate /= count_substrate;
50 }
51
52 if(count_block > 0) {
53 Vxblock /= count_block;
54 Vyblock /= count_block;
55 }
56
57 for(n = 1 ; n <=
nAtom; n ++){
59 ax[n] += -gammav * (
vx[n] - Vxsubstrate);
60 ay[n] += -gammav * (
vy[n] - Vysubstrate);
61 }
63 ax[n] += -gammav * (
vx[n] - Vxblock);
64 ay[n] += -gammav * (
vy[n] - Vyblock);
65 } } }