8 parameter(nmx=10,nmx3=3*nmx,nmx4=4*nmx,nmxm=nmx*(nmx-1)/2)
9 REAL*8 m,mass,mc,mij,mkk,xcm(3),vcm(3)
10 common/chain1/ xch(nmx3),vch(nmx3),m(nmx),
11 & zz(nmx3),wc(nmx3),mc(nmx),
12 & xi(nmx3),pi(nmx3),mass,rinv(nmxm),rsum,mkk(nmx),
13 & mij(nmx,nmx),tkk(nmx),tk1(nmx),iname(nmx),nn
14 common/chainc/ xc(3,ncmax),uc(3,ncmax),bodyc(ncmax),ich,
16 common/chreg/ timec,tmax,rmaxc,cm(10),namec(6),nstep1,kz27,kz30
17 common/clump/ bodys(ncmax,5),t0s(5),ts(5),
steps(5),rmaxs(5),
18 & names(ncmax,5),isys(5)
19 common/ccoll2/ qk(nmx4),pk(nmx4),rik(nmx,nmx),
SIZE(nmx),vstar1,
20 & ecoll1,rcoll,qperi,istar(nmx),icoll,isync,ndiss1
21 common/incond/ x4(3,nmx),xdot4(3,nmx)
25 dt2 = t0s(isub) + timec - tprev
26 dt8 = (tblock - tprev)/8.0d0
28 IF (dt8.EQ.0.0d0) dt8 = step(ich)/8.0d0
31 IF (dt2.GT.0.0d0)
THEN
33 dtn = nint(dtn2/dt8)*dt8
38 dtn = -nint(dtn2/dt8)*dt8
45 IF (time - t0(ich).EQ.0.0d0) time = time + dt8/16.0d0
48 t0s(isub) = time - timec
51 WRITE (6,1) time+toff, dt2, dt8
52 1
FORMAT (
' ABSORB: TIME DT2 DT8 ',f12.6,1p,2e10.2)
73 xcm(k) = xcm(k) + body(j)*x(k,j)
74 vcm(k) = vcm(k) + body(j)*xdot(k,j)
80 xcm(k) = (body(ich)*x(k,ich) + xcm(k))/(body(ich) + sum)
81 vcm(k) = (body(ich)*xdot(k,ich) + vcm(k))/(body(ich) + sum)
93 x4(k,l) = x(k,j) - xcm(k)
94 xdot4(k,l) = xdot(k,j) - vcm(k)
97 rij2 = rij2 + (x4(k,l) - x4(k,l-1))**2
100 rinv(l-1) = 1.0/sqrt(rij2)
108 xch(lk) = xch(lk) - (xcm(k) - x(k,ich))
109 vch(lk) = vch(lk) - (vcm(k) - xdot(k,ich))
120 body(ich) = body(ich) + sum
127 x0dot(k,ich) = vcm(k)
135 CALL
nbrem(jlast,1,1)
142 IF (kz(30).GT.2)
THEN
151 cm(k) = cm(k) + bodyc(l)*xch(lk)
152 cm(k+3) = cm(k+3) + bodyc(l)*vch(lk)
160 WRITE (6,99) (cm(k),k=1,6)
161 99
FORMAT (
' ABSORB: CM ',1p,6e9.1)