8 common/postn/ cvel,taugr,rz1,gammaz,tkoz,emax,tsp,kz24,igr,ipn
9 common/kspar/ istat(kmax)
10 REAL*8 m1,m2,ui(4),uidot(4)
16 IF (max(kstar(i1),kstar(i2)).LT.13) go to 100
29 semi = -0.5*body(i)/h(ipair)
30 e2 = (1.0 - r(ipair)/semi)**2 + tdot2(ipair)**2/(body(i)*semi)
34 IF (cvel.EQ.0.0d0) cvel = clight
37 adot = 64.0/5.0*m1*m2*(m1+m2)/(cvel**5*semi**3*(1.0 - e2)**3.5)
38 adot = adot*(1.0 + 73.0/24.0*e2 + 37.0/96.0*e2**2)
39 edot = 304.0/15.0*ecc*m1*m2*(m1 + m2)/(cvel**5*semi**4)
40 edot =
edot/(1.0 - e2)**2.5*(1.0 + 121.0/304.0*e2)
44 IF (tgr.GT.500.0) go to 100
49 uidot(k) = udot(k,ipair)
53 dw = 3.0*twopi*(body(i1) + body(i2))/(semi*cvel**2*(1.0-e2))
54 tk = twopi*semi*sqrt(semi/(body(i1) + body(i2)))
56 dt = min(0.02*semi/adot,step(i))
59 IF (theta.GT.twopi)
THEN
66 CALL
ksrot(ui,uidot,theta)
72 udot(k,ipair) = uidot(k)
76 rz = 8.0*(m1 + m2)/cvel**2
77 semi1 = max(semi - adot*dt,rz)
78 ecc1 = max(ecc -
edot*dt,0.0d0)
79 IF (semi1.LT.0.5*semi)
THEN
80 WRITE (6,20) name(i1), semi, semi1, adot*dt
81 20
FORMAT (
' PN WARNING NM A A1 ADOT*DT ',i6,1p,3e10.2)
86 h(ipair) = -0.5*body(i)/semi1
87 zmu = body(i1)*body(i2)/body(i)
88 ecoll = ecoll + zmu*(hi - h(ipair))
90 IF (iter.LT.10000)
THEN
91 WRITE (93,30) name(i1), time+toff, ecc1, semi1
92 30
FORMAT (
' ',i7,f10.3,f9.5,1p,e12.4)
103 IF (iter.LT.1000.OR.mod(iter,1000).EQ.0)
THEN
104 WRITE (94,40) time+toff, ecc, theta, dt, tgr, semi
105 40
FORMAT (
' GR SHRINK T E TH DT TGR A ',
106 & f11.4,f9.5,1p,3e9.1,e12.4)
118 WRITE (6,44) jp, name(jp), step(i1), step(i), semi, tgr
119 44
FORMAT (
' ENFORCED PERTURB JP NM S1 SI A TZ',2i6,1p,5e10.2)
125 IF (semi1.LT.100.0*rz.AND.tgr.LT.0.1)
THEN
126 WRITE (6,45) kstar(i1), kstar(i2), radius(i1), radius(i2),
128 45
FORMAT (
' PN COAL K* R1 R2 A ',2i4,1p,3e10.2)
136 IF (kz(43).GT.0)
THEN
141 x0dot(k,i) = xdot(k,i)
142 vi20 = vi20 + xdot(k,i)**2
145 vf = 3.0*(vrms/vstar)/sqrt(vi20)
147 xdot(k,i) = vf*xdot(k,i)
148 x0dot(k,i) = xdot(k,i)
151 ecdot = ecdot + 0.5*body(i)*vi20*(1.0 - vf**2)
153 WRITE (6,60) vf, ecd0-ecdot, vesc
154 60
FORMAT (
' COALESCENCE KICK VF ECDOT VESC ',
164 IF (istat(kcase).EQ.0) istat(kcase) = jphase