1 SUBROUTINE himod(evec,hvec,m3,mt,EOvec,HOvec,ICALL,dt0,dt,e,r,v)
9 IMPLICIT REAL*8 (a-h,m,o-z)
10 common/rksave/ coeff,hohat(3),e0,a,hh,mb
11 REAL*8 evec(3),hvec(3),eovec(3),hovec(3),
12 & element(6),r(3),v(3),u(6),udot(6)
19 e0=sqrt(
dot(evec,evec))
20 hh=sqrt(
dot(hvec,hvec))
26 eout=sqrt(
dot(eovec,eovec))
27 hhout=sqrt(
dot(hovec,hovec))
28 aout=hhout**2/mt/(1-eout**2)
30 hohat(i)=hovec(i)/hhout
35 bout=aout*sqrt(1-eout**2)
36 slrout=aout*(1-eout**2)
37 coeff=m3/(2*aout*bout*slrout)
45 CALL
deriv(u,udot,icall)
46 tau = e0/sqrt(udot(1)**2+udot(2)**2+udot(3)**2)
47 WRITE (6,5) e0,tau,a,eout,aout,(udot(k),k=1,3)
48 5
FORMAT (
' DERIV e0 TAU a E1 A1 edot ',
49 & f8.4,1p,2e10.2,0p,f8.4,1p,4e10.2)
73 e0=sqrt(
dot(evec,evec))
74 hh=sqrt(
dot(hvec,hvec))
81 evec(k)=evec(k)+eps*hvec(k)
82 hvec(k)=hvec(k)+eps*evec(k)
85 IF (dtsum + dt.GT.dt0) dt = dt0 - dtsum + 1.0d-10
87 IF (dtsum.LT.dt0) go to 10
113 real*8 u(3),v(3),w(3)
115 w(1) = u(2)*v(3) - u(3)*v(2)
116 w(2) = u(3)*v(1) - u(1)*v(3)
117 w(3) = u(1)*v(2) - u(2)*v(1)
128 dot=u(1)*v(1)+u(2)*v(2)+u(3)*v(3)
138 IMPLICIT REAL*8 (a-h,o-z)
139 real*8 r(3),v(3),element(6),mb
140 real*8 tempr(3),tempv(3)
160 b(1,1) = cosw*cosom - sinw*cosi*sinom
161 b(1,2) = cosw*sinom + sinw*cosi*cosom
163 b(2,1) = -sinw*cosom - cosw*cosi*sinom
164 b(2,2) = -sinw*sinom + cosw*cosi*cosom
170 h=sqrt(mb*a*(1-e**2))
171 rr=a*(1-e**2)/(1+e*cosp)
172 rd=e*h*sinp/(a*(1-e**2))
179 v(1)=rd*cosp-rr*phid*sinp
180 v(2)=rd*sinp+rr*phid*cosp
187 sum1=sum1 + b(j,i)*r(j)
188 sum2=sum2 + b(j,i)*v(j)
206 IMPLICIT REAL*8 (a-h,o-z)
208 real*8 h(3),e(3),n(3),hn(3),he(3)
210 real*8 ii(3),jj(3),kk(3),nn,mb
211 data ii/1.d0,0.d0,0.d0/
212 data jj/0.d0,1.d0,0.d0/
213 data kk/0.d0,0.d0,1.d0/
226 a=hh**2/mb/(1-ecc**2)
245 element(3)=atan2(sini,cosi)
246 element(4)=atan2(sinw,cosw)
247 element(5)=atan2(sinom,cosom)