1 SUBROUTINE hmdot(J,IMERGE,M1,KW,MC,DMS,RNEW,ITERM)
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)
30 IF (body(icm).EQ.0.0d0) iquit = .true.
33 IF (j.LE.0.OR.iquit)
THEN
47 IF (abs(dms/m1).EQ.0.0d0.AND.kw.EQ.kstar(j)) go to 50
50 semi = -0.5*body(icm)/h(ipair)
51 ecc2 = (1.0 - r(ipair)/semi)**2 + tdot2(ipair)**2/(body(icm)*semi)
53 zmb0 = cm(1,imerge) + cm(2,imerge)
54 semi0 = -0.5*zmb0/hm(imerge)
59 semi1 = semi*(zmb0 + body(2*ipair))/(zmb + body(2*ipair))
60 semi2 = semi0*zmb0/zmb
61 pmin = semi1*(1.0 - ecc1)
68 ri = ri + um(k,imerge)**2
69 v20 = v20 + umdot(k,imerge)**2
70 td2 = td2 + 2.0*um(k,imerge)*umdot(k,imerge)
72 ecc2 = (1.0 - ri/semi0)**2 + td2**2/(semi0*zmb0)
76 CALL
himax(i1,imerge,ecc,semi0,emax,emin,zi,tg,edav)
86 IF (ecc1.GT.0.9) de = de + 0.011
88 pmin = semi1*(1.0 - eout)
90 nst = nstab(semi2,semi1,ecc,eout,zi,cm(1,imerge),
91 & cm(2,imerge),body(2*ipair))
94 pcr =
stability(cm(1,imerge),cm(2,imerge),body(2*ipair),
100 pcrit =
stability(cm(1,imerge),cm(2,imerge),body(2*ipair),
105 IF (pmin.GT.pcrit)
THEN
113 rp = semi2*(1.0 - ecc)
114 IF (kz(27).GT.0.AND.rp.LT.4.0*radius(j).AND.ecc.GT.0.002.AND.
115 & kstarm(imerge).GE.0)
THEN
117 IF (kz(27).EQ.2)
THEN
121 IF (body(k).EQ.0.0d0.AND.
122 & name(k).EQ.nameg(imerge))
THEN
128 bodyi(k) = cm(k,imerge)
132 CALL
hicirc(rp,ecc,i1,i2,bodyi,tg,tc,ec,ed,w)
133 IF (tc.GT.2000) go to 18
136 WRITE (6,15) name(j), kstar(j), kstarm(imerge), ecc, dms,
138 15
FORMAT (
' HMDOT TERM NAM K* E DM RP R* TC ',
139 & i6,2i4,f8.4,f7.3,1p,3e10.2)
142 ELSE IF (ecc.GT.0.002)
THEN
143 IF (rp.LT.2.0*radius(j))
THEN
144 WRITE (6,15) name(j), kstar(j), kstarm(imerge), ecc, dms,
152 18 dh = dm/semi0*(1.0 - 0.5*dm/zmb0)
154 hm(imerge) = hm(imerge) + dh
157 semi2 = -0.5*zmb/hm(imerge)
158 c2 = sqrt(semi2/semi0)
159 v2 = 0.5*(zmb + hm(imerge)*ri*(semi2/semi0))
164 um(k,imerge) = c2*um(k,imerge)
165 umdot(k,imerge) = c1*umdot(k,imerge)
170 zmu0 = cm(1,imerge)*cm(2,imerge)/zmb0
172 IF (j.GE.ifirst) km = 2
173 cm(km,imerge) = cm(km,imerge) - dm
176 zmu = cm(1,imerge)*cm(2,imerge)/zmb
177 decorr = zmu*hm(imerge) - zmu0*hm0
178 emerge = emerge + decorr
179 emdot = emdot - decorr
181 egrav = egrav - decorr
184 CALL
hcorr(i1,dm,rstar)
187 IF (dms.GT.1.0d-03)
THEN
188 WRITE (6,30) name(j), kstar(j), imerge, km, m1, dms, pmin,
189 & pcrit, semi2, semi1, decorr
190 30
FORMAT (
' HMDOT NAM K* IM KM M1 DM PM PC A A1 DE ',
191 & i6,3i4,f6.2,1p,5e10.2,0p,f10.6)