18 IF (body(i).LT.bmax.OR.i.LE.imax) go to 2
25 tms = (2.55d+03 + 6.69d2*zmstar**2.5d0 + zmstar**4.5d0)/
26 & (3.27d-02*zmstar**1.5d0 + 3.46d-01*zmstar**4.5d0)
28 the = tms*1.37*zmstar**(-0.881d0)
33 IF (tmdot.GT.time)
THEN
43 IF (imax.GT.2*npairs) go to 4
47 IF (name(ibody).LT.0) go to 1
54 x0dot(k,2*ipair-1) = xdot(k,2*ipair-1)
55 x0dot(k,2*ipair) = xdot(k,2*ipair)
59 4 zmstar = 0.38 + 0.15*zmstar
61 IF (zmbar*bmax.GT.6.0) zmstar = 1.5
62 dm = body(imax) - zmstar/zmbar
64 zmdot = zmdot + dm*zmbar
66 body(imax) = zmstar/zmbar
67 IF (tidal(1).NE.0.0d0) rtide = (zmass/tidal(1))**0.3333
73 vi2 = vi2 + xdot(k,imax)**2
76 de = 0.5*dm*(vi2 - tidal(1)*x(1,imax)**2 - tidal(3)*x(3,imax)**2)
78 IF (zmbar*bmax.LE.6.0) go to 8
81 a0 = 4.0*sqrt(0.5d0*zmass/(rscale*vi2))
82 IF (imax.GT.2*npairs) go to 6
83 a2 = 2.0*(body(2*ipair-1) + body(2*ipair))/r(ipair)
85 a0 = sqrt(a0**2 + a2/vi2)
87 xdot(k,imax) = a0*xdot(k,imax)
88 x0dot(k,imax) = xdot(k,imax)
94 IF (j.EQ.imax) go to 20
99 a(k) = x(k,imax) - x(k,j)
100 a(k+3) = a(k+6) - xdot(k,j)
101 rijdot = rijdot + a(k)*a(k+3)
102 rdvdot = rdvdot + a(k)*(xdot(k,imax) - a(k+6))
105 rij2 = a(1)**2 + a(2)**2 + a(3)**2
106 IF (j.LE.n)
poti =
poti + body(j)/sqrt(rij2)
107 IF (j.LE.2*npairs.OR.j.EQ.ibody) go to 20
108 a3 = 1.0/(rij2*sqrt(rij2))
115 a(k+3) = (a(k+3) - a(k)*a6)*a5
118 a(k+3) = a(k+3) + (xdot(k,imax) - a(k+6))*a4
119 a(k+3) = a(k+3) - a7*a(k)*a4
126 IF (list(l,j).EQ.ibody) go to 16
127 IF (list(l,j).GT.ibody) go to 13
131 f(k,j) = f(k,j) - 0.5*a(k)*a5
132 fr(k,j) = fr(k,j) - a(k)*a5
133 fdot(k,j) = fdot(k,j) - one6*a(k+3)
134 d1r(k,j) = d1r(k,j) - a(k+3)
139 f(k,j) = f(k,j) - 0.5*a(k)*a5
140 fi(k,j) = fi(k,j) - a(k)*a5
141 fdot(k,j) = fdot(k,j) - one6*a(k+3)
142 d1(k,j) = d1(k,j) - a(k+3)
149 ri = sqrt((x(1,imax) - rdens(1))**2 + (x(2,imax) - rdens(2))**2 +
150 & (x(3,imax) - rdens(3))**2)
151 WRITE (6,30) name(imax), bmax, bmax*zmbar, zmdot, de, be(3),
152 & tmdot, ri, list(1,imax)
153 30
FORMAT (/,
' MASS LOSS NAME =',i5,
' MI =',f8.4,
' M* =',f5.1,
154 &
' ZM* =',f6.1,
' DE =',f9.5,
' E =',f10.6,
155 &
' TMDOT =',f6.1,
' RI =',f5.2,
' NNB =',i3)
160 IF (zmbar*bmax.LE.6.0) go to 50
162 de = 0.5*body(imax)*vi2*(a0**2 - 1.0)
164 WRITE (6,45) imax, de, tev1, a0, sqrt(vi2), be(3)
165 45
FORMAT (
' RECOIL I =',i5,
' DE =',f9.5,
' T* =',f5.1,
166 &
' V/V0 =',f6.2,
' V0 =',f5.2,
' E =',f10.6)
168 50
IF (imax.LE.2*npairs)
THEN
176 step(imax) = max(step(imax)/a0,time - t0(imax))
177 stepr(imax) = max(stepr(imax)/a0,step(imax))