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)
11 common/clump/ bodys(ncmax,5),t0s(5),ts(5),
steps(5),rmaxs(5),
12 & names(ncmax,5),isys(5)
14 REAL*8 xx(3,3),vv(3,3)
17 DATA izare,listq(1),qcheck /0,0,0.0d0/
29 ri2 = (x(1,i) - rdens(1))**2 + (x(2,i) - rdens(2))**2 +
30 & (x(3,i) - rdens(3))**2
34 IF (list(1,j1).LE.2) j1 = i
38 rcrit2 = 1.0d+04*rmin2
45 rij2 = (x(1,i) - x(1,j))**2 + (x(2,i) - x(2,j))**2 +
46 & (x(3,i) - x(3,j))**2
47 IF (j1.EQ.i.AND.rij2.GT.rcrit2) go to 10
50 pert = body(j)/(rij2*sqrt(rij2))
51 IF (pert.GT.pert2)
THEN
52 IF (pert.GT.pert1)
THEN
70 IF (iter.LT.10) go to 5
73 rdot = (x(1,i) - x(1,jcomp))*(xdot(1,i) - xdot(1,jcomp)) +
74 & (x(2,i) - x(2,jcomp))*(xdot(2,i) - xdot(2,jcomp)) +
75 & (x(3,i) - x(3,jcomp))*(xdot(3,i) - xdot(3,jcomp))
78 IF ((kz(30).GT.0.OR.kz(30).EQ.-1).AND.nch.EQ.0)
THEN
85 IF (kz(30).EQ.-2) kchain = -1
89 pert3 = 2.0*r(ipair)**3*pert2/body(i)
90 IF (rdot.GT.0.0.OR.pert3.GT.100.0*gstar) go to 100
93 a2 = (xdot(1,i) - xdot(1,jcomp))**2 +
94 & (xdot(2,i) - xdot(2,jcomp))**2 +
95 & (xdot(3,i) - xdot(3,jcomp))**2
97 a3 = 2.0/rij - a2/(body(i) + body(jcomp))
99 a4 = rdot**2/(semi1*(body(i) + body(jcomp)))
100 ecc1 = sqrt((1.0d0 - rij/semi1)**2 + a4)
101 pmin = semi1*(1.0d0 - ecc1)
104 semi = -0.5d0*body(i)/h(ipair)
106 ecc2 = (1.0d0 - r(ipair)/semi)**2 + tdot2(ipair)**2/(body(i)*semi)
108 apo = abs(semi)*(1.0 + ecc)
111 IF (ecc1.GT.1.0.AND.pmin.GT.50.0*semi) go to 100
114 IF (kz(27).EQ.2.AND.kstar(i).GE.10.AND.kstar(i).LE.18)
THEN
115 IF (ecc.GT.0.1.AND.mod(kstar(i),2).EQ.0)
THEN
116 rm = max(radius(i1),radius(i2))
118 CALL
induce(ipair,emax,emin,icirc,tc,angle,tg,edav)
119 WRITE (6,15) name(i1), name(i2), kstar(i1), kstar(i2),
120 & kstar(i), list(1,i1), ecc, semi, rm, pmin,
121 & gamma(ipair), tc, 360.0*angle/twopi, emax
122 15
FORMAT (
' NON-CIRCULAR NM K* NP E A R* PM G TC IN EX ',
123 & 2i7,4i4,f7.3,1p,5e9.1,0p,2f7.2)
125 IF (tc.LT.-100.0)
THEN
132 qp = semi*(1.0 - ecc)
133 err = abs(qp - r(ipair))/qp
135 IF (r(ipair).GT.semi.OR.err.GT.1.0d-04)
THEN
137 IF (tdot2(ipair).LT.0.0d0)
THEN
145 CALL
deform(ipair,ecc,eccm)
148 IF (np.EQ.0) dt1 = 0.0
159 eb = body(i1)*body(i2)*h(ipair)/body(i)
160 IF(abs(eb).LT.1.0d-10) eb = -1.0d-10
161 eb1 = -0.5*body(jcomp)*body(i)/semi1
164 CALL
fpert(i,jcomp,np,pert)
167 pert = pert*rjmin2/(body(i) + body(jcomp))
168 pert4 = 2.0*rjmin2*rij*pert2/(body(i) + body(jcomp))
169 pertm = max(pert4,pert)
174 semi2 = -0.5d0*body(jcomp)/h(jpair)
176 eb2 = -0.5*body(j1)*body(j1+1)/semi2
178 semi0 = min(abs(semi),abs(semi2))
179 semix = max(semi,semi2)
180 apo = apo + max(abs(semi2),r(jpair))
183 IF (1.0/semi.LT.0.5/rmin) go to 100
185 IF (pmin.GT.semi.AND.semi2.GT.20.0*semi0) go to 30
189 IF (kchain.GT.0)
THEN
192 zmm = body(i1)*body(i2) + body(i)*body(jcomp)
194 rsum = r(ipair) + rij
198 zmm = zmm + body(j1)*body(j1+1)
199 rsum = rsum + r(jpair)
200 ri = max(r(jpair),ri)
204 rgrav = min(rgrav,rmin)
208 IF (rij.GT.max(3.0*rgrav,rmin).OR.rsum.GT.2.0*rmin) go to 30
209 gi = 2.0*body(jcomp)*(ri/rij)**3/body(i)
211 IF (ecc1.GT.0.99.AND.pmin.GT.10.0*ri.AND.
212 & pertm.LT.gmax) go to 40
213 IF (kz(27).GT.0.AND.jcomp.GT.n)
THEN
214 IF (semi0.LT.semi2) j1 = i1
215 rt = 4.0*max(radius(j1),radius(j1+1))
217 IF (semi0.GT.rt.AND.ri.GT.25.0*semi0) go to 30
218 IF (min(semi0,semi2).LT.0.05*rij)
THEN
219 IF (max(semi0,semi2).LT.0.1*rij) go to 30
225 IF (ecc1.GT.0.9.AND.gamma(ipair).GT.0.01)
THEN
226 IF (apo.LT.0.01*rmin.AND.pmin.LT.2.5*apo) go to 16
231 IF ((apo.GT.0.01*rmin.OR.jcomp.GT.n).AND.pmin.GT.1.5*apo) go to 30
233 IF ((rij.GT.rmin.AND.semi1.GT.0.0).OR.rij.GT.2.0*rmin) go to 100
234 IF (pertm.GT.100.0*gstar) go to 30
235 16
IF (jcomp.GT.n.AND.pmin.GT.0.1*rmin)
THEN
236 IF (pmin.GT.a0 + semi2) go to 30
238 IF (jcomp.GT.n.AND.pmin.GT.4.0*semix.AND.
239 & (ecc1.GT.0.9.AND.ecc1.LT.1.0)) go to 30
242 IF (jcomp.LE.n.AND.pmin.GT.2.5*semi)
THEN
243 CALL
histab(ipair,jcomp,pmin,rstab)
244 ra = semi1*(1.0 + ecc1)
245 IF (semi1.LT.0.0) ra = rij
246 gi = pert*(ra/rij)**3
248 IF (pmin.GT.1.2*rstab)
THEN
249 IF (gi.LT.0.05) go to 30
251 IF (ecc1.LT.0.95) go to 100
252 ELSE IF (pmin.GT.0.7*rstab)
THEN
254 IF (gi.LT.0.05) go to 30
255 IF (gi.LT.1.0.OR.ecc1.LT.0.9) go to 100
257 IF (pmin.GT.0.6*rstab.AND.pmin.LT.0.9*rstab) go to 100
259 IF (rij.GT.max(10.0*apo,0.5*rmin)) go to 100
260 IF (pmin.GT.2.5*apo) go to 40
264 IF (rij.GT.10.0*apo) go to 100
267 IF (name(i).LE.0.OR.name(jcomp).LE.0) go to 100
270 IF (nsub.GT.0.AND.kchain.LE.0)
THEN
271 perim = r(ipair) + rij
272 IF (jcomp.GT.n) perim = perim + r(jpair)
275 IF (igo.GT.0) go to 100
279 IF (kz(30).EQ.0) go to 100
281 IF (kz(30).EQ.-2.AND.kchain.EQ.0) go to 100
284 IF (jcomp.GT.n) which1 =
' QUAD '
285 IF (kchain.GT.0) which1 =
' CHAIN '
287 IF (h(ipair).GT.0.0)
THEN
288 WRITE (6,18) i, jcomp, ecc, ecc1, semi1, rij, gamma(ipair)
289 18
FORMAT (
' HYP CHAIN I J E E1 A1 RIJ G ',
290 & 2i6,2f7.3,1p,3e9.1)
293 IF (kz(15).GT.1.OR.kz(30).GT.1)
THEN
294 WRITE (6,20) which1, ipair, ttot, h(ipair), r(ipair),
295 & body(i), body(jcomp), pert4, rij, pmin,
297 20
FORMAT (/,
' NEW',a8,i4,
' T =',f8.2,
' H =',f6.0,
298 &
' R =',1p,e8.1,
' M =',2e8.1,
' G4 =',1p,e8.1,
299 &
' R1 =',e8.1,
' P =',e8.1,
' E1 =',0p,f6.3,
305 IF (jmax.NE.jcomp.AND.sqrt(rmax2).LT.min(2.0d0*rsum,rmin).AND.
306 & name(jmax).GT.0)
THEN
307 IF (jcomp.GT.n.AND.jmax.GT.n)
THEN
310 WRITE (6,21) name(jcomp), name(jmax), rsum, sqrt(rmax2)
311 21
FORMAT (
' B+2 CHAIN NAM RSUM RMX ',2i7,1p,2e10.2)
323 IF (kchain.GT.0.AND.jcomp.GT.n)
THEN
325 WRITE (6,22) name(i1), name(i2), name(k1), name(k1+1),
326 & kstar(i), kstar(jcomp), ecc, ecc1, a0, semi2,
328 22
FORMAT (
' CHAIN B-B NAME K* E0 E1 A0 A2 RIJ A1 PM ',
329 & 4i7,2i4,2f7.3,1p,5e10.2)
330 rt = 4.0*max(radius(i1),radius(i2))
331 IF (semi0.LT.4.0*rt.AND.list(1,j1).EQ.0.OR.
332 & min(semi0,semi2).LT.0.01*rij)
THEN
334 IF (semi0.LT.semi2)
THEN
341 IF (jpair.GT.ipair) jclose = jclose - 1
343 IF (kz(26).LT.2.AND.rij.GT.250.0*semi0)
THEN
346 WRITE (6,25) semi0, rij, r(jpair), gamma(jpair)
347 25
FORMAT (
' INERT BINARY A RIJ R G ',1p,4e10.2)
365 IF (step(j1).LT.step(i1).AND.list(1,i1).GT.0)
THEN
372 IF (kz(27).LE.0.AND.jpair.GT.ipair)
THEN
373 IF (jclose.GT.0) jclose = jclose - 1
377 IF (ks2.GT.kspair) ks2 = ks2 - 1
381 IF (kchain.GT.0)
THEN
386 CALL
delay(kchain,ks2)
389 IF (name(i).LT.0.AND.name(i).GE.-nzero.AND.jcomp.LE.n)
THEN
392 WRITE (6,28) name(i), name(jcomp), name(jg),ecc1, pmin, rij
393 28
FORMAT (
' HI CHAIN NAM E1 PM RIJ ',i7,2i6,f7.3,1p,2e10.2)
399 zmu = body(2*npairs-1)*body(2*npairs)/body(ntot)
400 ebch0 = ebch0 + zmu*h(npairs)
407 CALL
delay(kchain,ks2)
408 CALL
delay(iphase,-1)
413 ELSE IF (name(i).LT.-nzero.OR.name(jcomp).LT.0.OR.
414 & (name(i).LT.0.AND.jcomp.GT.n))
THEN
422 30 ra = semi1*(1.0 + ecc1)
423 IF (semi1.LT.0.0) ra = rij
426 IF (jcomp.GT.n.AND.ecc1.LT.1.0.AND.semi1.LT.0.1*rscale)
THEN
430 nam1 = name(2*jpair-1)
432 IF (nam1.EQ.listq(l)) k = k + 1
435 IF (k.LE.5.AND.time.GT.qcheck.AND.kz(37).GT.0)
THEN
436 zmb = body(i) + body(jcomp)
438 tk = semi1*sqrt(semi1/zmb)
439 qcheck = time + min(0.5*twopi*tk,0.1*tcr)
442 pcr =
stability(body(i1),body(i2),body(jcomp),ecc,ecc1,
444 WRITE (89,33) ttot, name(2*ipair-1), nam1, k, ri,
445 & ecc1, eb, eb2, eb1, tk, pmin, pcr
446 33
FORMAT (
' QUAD T NAM LQ RI E1 EB EB2 EB1 P1 PM PC ',
447 & f8.1,2i6,i4,f6.2,f8.4,1p,3e12.3,3e9.1)
452 listq(k) = listq(k+2)
457 listq(nnb+3) = name(2*ipair-1)
458 listq(nnb+4) = name(2*jpair-1)
465 IF (ecc1.GT.0.99.AND.ra.GT.rfac)
THEN
466 IF (rij.LT.0.1*semi1) rfac = ra
470 ebs = 0.25*ebh/sqrt(1.0 + sqrt(ri2)/rscale)
472 h2 = (rc**2 + ri2)/float(nc+10)**0.66667
473 rh = 6.0*sqrt(h2/cmsep2)
476 IF (body(i) + body(jcomp).GT.10.0*bodym) rfac = 2.0*rfac
482 IF (min(body(i1),body(i2)).LT.0.05*bodym)
THEN
484 IF (semi1.GT.2.0*rmin) go to 100
485 ELSE IF (eb.GT.ebh.OR.eb1.GT.ebs.OR.ra.GT.rfac)
THEN
490 IF (kz(27).GT.0)
THEN
494 tk = twopi*semi1*sqrt(semi1/(body(i) + body(jcomp)))
495 tm = min(tev(i1),tev(i2),tev(jcomp),tev(i))
496 IF (kz(34).GT.0.AND.tm - time.LT.stepx)
THEN
497 rt = 5.0*max(radius(i1),radius(i2))
498 IF (a0.LT.rt.OR.kstar(i).GT.0)
THEN
500 IF ((mod(kstar(i),2).EQ.1.AND.dtr.LT.stepx).OR.
501 & dtr.LT.tk) go to 100
503 IF (jcomp.GT.n.AND.kstar(jcomp).GT.0)
THEN
505 IF(mod(kstar(jcomp),2).EQ.1.OR.dtr.LT.stepx) goto 100
510 qperi = a0*(1.0 - ecc)
511 rm = max(radius(i1),radius(i2))
512 IF (kstar(i).EQ.-2.AND.qperi.GT.10.0*rm)
THEN
514 CALL
induce(ipair,emax,emin,icirc,tc,angle,tg,edav)
515 IF (tc.GT.1.0d+06)
THEN
516 WRITE (6,35) name(i1), kstar(i1), kstar(i2), ecc,
517 & emax, qperi/rm, edav, a0, pmin, tc
518 35
FORMAT (
' IMPACT SLEEP NM K* E EX QP/R ED A PM TC',
519 & i7,2i4,2f8.4,f6.1,1p,4e10.2)
528 dt = min(tev(i1),tev(i2)) - time
529 IF (kstar(i).EQ.0.AND.name(i).GT.0.AND.dt.LT.tk)
THEN
531 CALL
tcirc(qperi,ecc,i1,i2,icirc,tc)
536 IF (tc.LT.2000.0.AND.ecc.GT.0.002) go to 100
538 IF (kz(19).GE.3)
THEN
539 IF (min(tev(i1),tev(i2)).LT.time + tk) go to 100
542 IF (kstar(i).EQ.-1.OR.kstar(jcomp).EQ.-1) go to 100
546 40
IF (jcomp.GT.n)
THEN
547 IF (gamma(jpair).GT.1.0e-03.OR.eb2.GT.ebh) go to 100
551 gi = pert*(semi1*(1.0 + ecc1)/rij)**3
552 IF (pert.GT.gmax.OR.gi.GT.0.02) go to 100
555 IF (min(body(i1),body(i2)).LT.0.05*bodym)
THEN
556 IF (gi.GT.1.0d-04) go to 100
560 semi = -0.5*body(i)/h(ipair)
561 IF (nmerge.EQ.mmax - 1)
THEN
562 IF (nwarn.LT.1000)
THEN
565 41
FORMAT (5x,
'WARNING! MERGER LIMIT NMERGE =',i4)
571 IF (rij.LT.semi1.AND.list(1,i1).GT.0)
THEN
573 IF (ecc1.GT.0.95.AND.rij.LT.0.1*semi1)
THEN
612 yfac = 1.0 + 0.1*min(semi2/semi,semi/semi2)
620 IF (semi.LT.semi2)
THEN
621 ecc2 = (1.0 - r(jpair)/semi2)**2 +
622 & tdot2(jpair)**2/(body(jcomp)*semi2)
639 IF (ecc1.LT.1.0)
THEN
650 vv(k,3) = xdot(k,jcomp)
654 CALL
inclin(xx,vv,x(1,i),xdot(1,i),angle)
665 IF (ecc1.LT.1.0.AND.yfac.LT.1.02)
THEN
669 IF (eout.GT.0.8)
THEN
670 de = 0.5*(1.0 - eout)
673 IF (jmax.NE.jcomp.AND.pert.GT.gmin)
THEN
674 CALL
edot(i,jcomp,jmax,semi1,ecc1,eccdot)
676 IF (eccdot.GT.0.0)
THEN
678 & sqrt(semi1/(body(i) + body(jcomp)))
679 de = de - 10.0*min(eccdot*tk1,0.001d0)
688 pmin = semi1*(1.0 - eout)
690 nst = nstab(semi,semi1,ecc,eout,angle,body(i1),body(i2),bj)
692 pcrit = 0.98*pmin*(1.0 - pert)
693 pcr =
stability(body(i1),body(i2),body(jcomp),ecc,eout,
697 IF (pcr.LT.0.5*pcrit)
THEN
700 IF (pcrit.LT.yfac*pcr.AND.pert.LT.0.02.AND.
702 alph = 360.0*angle/twopi
703 fail = pmin*(1-pert) - yfac*pcr
704 WRITE (6,43) ttot, alph, ecc, ecc1, pmin, fail, pert
705 43
FORMAT (
' NEWSTAB T INC EI EO PMIN FAIL PERT ',
706 & f7.1,f7.2,2f8.4,1p,3e10.2)
712 IF (nmtry.GE.1000)
THEN
723 pcr =
stability(body(i1),body(i2),body(jcomp),ecc,ecc1,angle)
728 IF (jmax.NE.jcomp)
THEN
729 rij2 = (x(1,jmax) - x(1,jcomp))**2 +
730 & (x(2,jmax) - x(2,jcomp))**2 +
731 & (x(3,jmax) - x(3,jcomp))**2
732 fmax = (body(jmax) + body(jcomp))/rij2
733 IF (fmax.GT.(body(i) + body(jcomp))/rjmin2) go to 100
737 pm1 = pmin*(1.0 - 2.0*pert)
738 CALL
tstab(i,ecc1,semi1,pm1,yfac,iterm)
739 IF (iterm.GT.0) go to 100
742 IF (pmin*(1.0 - pert).LT.yfac*pcrit) go to 100
745 IF (kstar(i).GE.11.AND.mod(kstar(i),2).NE.0)
THEN
747 IF (dt.LT.10.0*stepx) go to 100
748 tmdis(nmerge+1) = min(time + dt, tmdis(nmerge+1))
752 IF (semi1.GT.0.0.AND.ecc.GT.0.1)
THEN
754 CALL
induce(ipair,emax,emin,icirc,tc,angle,tg,edav)
756 IF (kz(27).EQ.2.AND.tc.LT.2000.0)
THEN
758 dt = min(tev(i1),tev(i2),tev(i)) - time
760 IF (dt.LT.0.1.AND.mod(kstar(i),2).EQ.0)
THEN
763 WRITE (6,46) time+toff, name(i1), kstar(i), ecc, tc
764 46
FORMAT (
' ENFORCED TEV UPDATE T NM K* E TC ',
765 & f9.2,i8,i4,f8.4,f7.1)
768 IF (mod(kstar(i),2).EQ.0)
THEN
770 IF (dtr.LT.step(i))
THEN
774 IF (emax.GT.0.8.OR.de.GT.0.2.OR.dt.LT.0.1) go to 100
780 IF (kz(27).EQ.2.AND.kstar(i).LT.10.AND.ecc1.LT.1.0.AND.
783 CALL
decide(ipair,semi,ecc,emax,emin,tc,tg,edav,iq)
784 IF (iq.GT.0.OR.iphase.LT.0) go to 100
785 tk1 = twopi*semi1*sqrt(semi1/(body(i) + body(jcomp)))
788 pcrit = pcrit*(1.0 + ecc)/(1.0 + ecc0)
792 IF (kz(27).EQ.0)
THEN
793 IF (semi*(1.0 - ecc).LT.2.0*max(radius(i1),radius(i2)))
THEN
794 IF (kz(19).EQ.0)
THEN
801 IF (kz(27).EQ.2.AND.jcomp.GT.n.AND.kstar(jcomp).EQ.-2)
THEN
802 ecc2 = (1.0 - r(jpair)/semi2)**2 +
803 & tdot2(jpair)**2/(body(jcomp)*semi2)
806 CALL
decide(jpair,semi2,eccj,emaxj,emin,tc,tg,edav,iq)
807 IF (iphase.LT.0) go to 100
811 IF (semi1.GT.0.0)
THEN
813 q = body(jcomp)/body(i)
815 IF (sp.LT.1.0.AND.angle.LT.0.17)
THEN
817 IF (izare.LT.200)
THEN
818 WRITE (7,48) ttot, q, ecc, ecc1, semi, pmin, pcrit,
820 WRITE (7,47) i,jcomp,n,i1,i2,rij,semi1
821 47
FORMAT (
' I JCOMP N I1 I2 RIJ A1 ',5i6,1p,2e10.2)
823 WRITE (6,48) ttot, q, ecc, ecc1, semi, pmin, pcrit,
825 48
FORMAT (
' ZARE TEST T Q E E1 A PM PCR YF SP ',
826 & f8.2,f5.1,2f7.3,1p,3e9.1,0p,2f6.2)
829 WRITE (73,49) ttot, q, ecc, ecc1, semi, pmin, pcrit,
830 & tg, sp, 360.0*angle/twopi, kstar(i)
831 49
FORMAT (
' STAB T Q E E1 A PM PCR TG SP IN K* ',
832 & f8.2,f5.1,2f7.3,1p,4e9.1,0p,f6.2,f7.1,i4)
841 IF (name(i).GT.n.AND.name(jcomp).GT.n.AND.ecc1.GT.1.0) go to 100
843 IF (name(jcomp).EQ.0) go to 100
844 IF (ecc1.GT.1.0.AND.min(name(i),name(jcomp)).LT.0) go to 100
846 IF (name(jcomp).EQ.names(1,isub)) go to 100
853 IF (name(i).LT.0.OR.name(jcomp).LT.0)
THEN
854 IF (kz(15).GT.1)
THEN
856 WRITE (6,20) which1, ipair, ttot, h(ipair), r(ipair),
857 & body(i), body(jcomp), pert4, rij, pmin,
861 IF (name(i).LT.0.AND.name(jcomp).LT.0)
THEN
865 WRITE (6,60) name(i1), name(ji), name(i1+1), name(j1),
866 & name(jj), name(j1+1), ecc, ecc1, semi,
868 60
FORMAT (
' HI MERGE NAM E E1 A A1 PM PC ',
869 & 6i7,2f7.3,1p,4e10.2)
871 ELSE IF (kz(15).GT.1)
THEN
873 IF (jcomp.GT.n) which1 =
' QUAD '
874 WRITE (6,20) which1, ipair, ttot, h(ipair), r(ipair),
875 & body(i), body(jcomp), pert4, rij, pmin,
880 IF (semi1.GT.0.0.AND.jcomp.GT.n.AND.kz(37).GT.0)
THEN
881 zmb = body(i) + body(jcomp)
882 tk = days*semi1*sqrt(semi1/zmb)
883 WRITE (89,65) ttot, name(2*ipair-1), name(2*jpair-1),
884 & listq(1), sqrt(ri2), ecc1, eb, eb2, eb1,
886 65
FORMAT (
' QUAD# T NAM LQ RI E1 EB EB2 EB1 P1 PM PC ',
887 & f8.1,2i6,i4,f6.2,f8.4,1p,3e12.3,3e9.1)
891 IF (ecc1.LT.-1.0)
THEN
893 WRITE (80,70) tphys, ri, name(jcomp), ql, q1, ecc, ecc1,
894 & semi, semi1, pcrit/pmin, 360.0*angle/twopi,emax
895 70
FORMAT (f8.1,f5.1,i6,2f6.2,2f6.3,1p,2e10.2,0p,f5.2,f6.1,f6.3)
906 100
IF (iphase.NE.8) jcmax = 0