8 common/binary/ cm(4,mmax),xrel(3,mmax),vrel(3,mmax),
9 & hm(mmax),um(4,mmax),umdot(4,mmax),tmdis(mmax),
10 & namem(mmax),nameg(mmax),kstarm(mmax),iflagm(mmax)
12 DATA itime,idelay /1,0/
18 CALL
findj(i,ighost,im)
21 IF (kstarm(im).EQ.-2.OR.kstarm(im).GE.10)
THEN
30 IF (h(ipair).GT.0.0.OR.name(i).LT.-2*nzero.OR.
31 & kstarm(im).EQ.10)
THEN
32 tmdis(im) = time + 10.0/tstar
45 v20 = v20 + umdot(k,im)**2
46 td2 = td2 + 2.0*um(k,im)*umdot(k,im)
50 zmb = cm(1,im) + cm(2,im)
51 semi = -0.5*zmb/hm(im)
53 tmdis(im) = time + 1.0
54 WRITE(6,*)
' ECCMOD ERROR ',semi,ecc,h(ipair),hm(im),zmb
57 ecc2 = (1.0 - ri/semi)**2 + td2**2/(zmb*semi)
62 CALL
higrow(i1,ighost,im,ecc,semi,emax,emin,tg,edav,zi,iq)
72 IF ((kstarm(im).GE.0.AND.tg.GT.20.0).OR.iq.GT.0.OR.
73 & (kstarm(im).EQ.-2.AND.max(ecc,emax).LT.0.9).OR.
74 & (kstarm(im).LT.0.AND.ecc.LT.0.1))
THEN
75 rm = max(radius(i1),radius(ighost),1.0d-20)
77 IF (emax.GT.0.99.AND.mod(idelay,10).EQ.0)
THEN
79 WRITE (6,10) name(i1), iq, kstarm(im), list(1,i1), ecc,
80 & emax, tg, semi*(1.0-ecc)/rm, alph
82 10
FORMAT (
' ECCMOD DELAY NAM IQ K* NP E EMAX TG QP/R* IN ',
83 & i6,3i4,2f8.4,f8.3,2f7.1)
85 IF (list(1,i1).GT.0.AND.semi*(1.0-ecc).LT.5.0*rm)
THEN
88 tmdis(im) = time + max(tg,dt)/tstar
94 pmin = semi*(1.0 - ecc)
95 rm = max(radius(i1),radius(ighost),1.0d-20)
96 IF (pmin.LT.50.0*rm)
THEN
99 CALL
hicirc(pmin,ecc,i1,ighost,bodyi,tg,tc,ec,edt,w)
106 IF (itime.EQ.1.OR.mod(itime,5000).EQ.0)
THEN
107 a1 = -0.5*body(i)/h(ipair)
108 e2 = (1.0 - r(ipair)/a1)**2 + tdot2(ipair)**2/(a1*body(i))
113 WRITE (6,15) name(i1), np, ttot, ecc, emax, ecc1, pmin/rm,
114 & yc, tg, tc, edav, zid
115 15
FORMAT (
' ECCMOD NM NP T E EX E1 QP/R* PC/A TG TC EDA IN ',
116 & i6,i4,f11.4,3f8.4,2f7.1,1p,3e9.1,0p,f9.3)
124 IF (kstarm(im).GE.0.AND.pmin.LT.3.0*rm)
THEN
126 WRITE (6,40) itime, emax, ecc, semi*(1.0 - ecc)/rm, zid, tc
127 40
FORMAT (
' ECCMOD TERM IT EX E QP/R IN TC ',
128 & i5,2f9.5,f6.2,f8.2,f8.1)