9 common/azreg/ time3,tmax,q(8),p(8),r1,r2,r3,
energy,m(3),x3(3,3),
10 & xdot3(3,3),cm(10),c11,c12,c19,c20,c24,c25,
11 & nstep3,name3(3),kz15,kz27
12 common/close/ rij(4,4),rcoll,qperi,
SIZE(4),ecoll3,ip(4)
13 common/azcoll/ rk(3),qk(8),pk(8),icall,icoll,ndiss3
14 common/clump/ bodys(ncmax,5),t0s(5),ts(5),
steps(5),rmaxs(5),
15 & names(ncmax,5),isys(5)
28 IF (body(icomp).LT.body(jcomp))
THEN
47 xdot3(k,l) = xdot(k,j)
48 cm(k) = cm(k) + m(l)*x3(k,l)
49 cm(k+3) = cm(k+3) + m(l)*xdot3(k,l)
61 x3(k,l) = x3(k,l) - cm(k)
62 xdot3(k,l) = xdot3(k,l) - cm(k+3)
84 20 CALL
nbpot(3,np,pot1)
96 vi2 = x0dot(1,icomp)**2 + x0dot(2,icomp)**2 + x0dot(3,icomp)**2
97 corr = 1.0 + 2.0*(pot2 - pot1)/(cm(7)*vi2)
98 IF (corr.LE.0.0d0) corr = 0.0
102 x0dot(k,icomp) = sqrt(corr)*x0dot(k,icomp)
123 IF (r2.LT.r1) imin = 2
133 IF (name(j).EQ.nam1) icomp = j
134 IF (name(j).EQ.nam2) jcomp = j
135 IF (name(j).EQ.nam3) i = j
140 IF (body(icomp).GT.0.0d0) icm = icomp
141 IF (body(jcomp).GT.0.0d0) icm = jcomp
144 time2 = t0s(isub) + time3 - tprev
145 dt8 = (tblock - tprev)/8.0d0
149 IF (time2.GT.0.0d0)
THEN
151 dtn = nint(dtn2/dt8)*dt8
156 dtn = -nint(dtn2/dt8)*dt8
161 time = min(tblock,time)
169 cm(k+3) = xdot(k,icm)
177 CALL
nbpot(1,np,pot1)
194 IF (name(j).EQ.names(k,isub))
THEN
195 body(j) = bodys(k,isub)
201 x(k,j) = x3(k,ll) + cm(k)
206 CALL
nbpot(3,np,pot2)
209 vi2 = cm(4)**2 + cm(5)**2 + cm(6)**2
210 corr = 1.0 + 2.0*(pot2 - pot1)/(cm(7)*vi2)
211 IF (corr.LE.0.0d0) corr = 0.0
215 cm(k+3) = sqrt(corr)*cm(k+3)
223 xdot(k,j) = xdot3(k,ll) + cm(k+3)
224 x0dot(k,j) = xdot(k,j)
235 IF (isub.LT.nsub)
THEN
238 bodys(k,l) = bodys(k,l+1)
239 names(k,l) = names(k,l+1)
244 rmaxs(l) = rmaxs(l+1)
251 esub = esub - 0.5d0*
energy - ecoll3
255 icomp = min(icomp,jcomp)
266 IF (names(l,jsub).EQ.0) go to 155
268 IF (name(j).EQ.names(l,jsub).AND.body(j).LE.0.0d0)
THEN
291 IF (r3**2.GT.cmsep2*min(r1,r2)**2)
THEN
309 dmin3 = min(dmin3,rcoll)
312 sbcoll = sbcoll + cm(9)
315 170 nstept = nstept + nstep3
316 ndiss = ndiss + ndiss3
317 ecoll = ecoll + ecoll3
318 e(10) = e(10) + ecoll3
321 IF (nsub.EQ.0.AND.kz(2).GE.1)
THEN
322 IF (time - tdump.LT.time3)
THEN
336 nnb2 = list(1,icm) + 1
341 rij2 = (x(1,j) - cm(1))**2 + (x(2,j) - cm(2))**2 +
342 & (x(3,j) - cm(3))**2
343 IF (rij2.LT.rp2)
THEN
344 IF (j.EQ.i) go to 210
345 IF (j.EQ.icomp.OR.j.EQ.jcomp) go to 210
351 IF (isub.EQ.0) go to 20