30 3 IADLL ,LLL ,COMNTAG,NN ,NC )
34#include "implicit_f.inc"
44 INTEGER LLL(*),IADLL(*),NPBYL(NNPBY,*),LPBYL(*),COMNTAG(*)
47 . rbyl(nrby,*),x(3,*),v(3,*),vr(3,*),a(3,*),ar(3,*),
52 INTEGER I,J,IC,IK,N,NS,MSL,MSL2,M,IFX,IFR,NFIX,
53 my_real XX,YY,ZZ,XY,,XZ
55 . b1,b2,b3,c1,c2,c3,vx1,vx2,vx3,wa1,wa2,wa3,mmas,usdt,ddt
56 . vi(3),vg(3),ag(3),xm(3),vtm(3),vrm(3),atm(3),arm(3),
67 IF (comntag(ns)==1)
THEN
77 IF (comntag(ns)==1)
THEN
108 mmas = mmas + mass(n)
110 xm(j)= xm(j) + x(j,n)*mass(n)
111 vtm(j)=vtm(j) + v(j,n)*mass(n)
112 atm(j)=atm(j) + a(j,n)*mass(n)
117 vtm(j) = vtm(j) / mmas
118 atm(j) = atm(j) / mmas
131 ag(1)=ag(1) + ar(1,n)*iner(n)+mass(n)*(yy*a(3,n)-zz*a(2,n))
132 ag(2)=ag(2) + ar(2,n)*iner(n)+mass(n)*(zz*a(1,n)-xx*a(3,n))
133 ag(3)=ag(3) + ar(3,n)*iner(n)+mass(n)*(xx*a(2,n)-yy*a(1,n))
142 ixx = iner(n)+(yy+zz)*mass(n)
143 iyy = iner(n)+(xx+zz)*mass(n)
144 izz = iner(n)+(xx+yy)*mass(n)
159 det = jxx*jyy*jzz-jxx*jyz2-jyy*jxz2-jzz*jxy2-two*jxy*jyz*jxz
161 b1 = det*(jzz*jyy-jyz2)
162 b2 = det*(jxx*jzz-jxz2)
163 b3 = det*(jyy*jxx-jxy2)
164 c1 = det*(jxx*jyz+jxz*jxy)
165 c2 = det*(jyy*jxz+jxy*jyz)
166 c3 = det*(jzz*jxy+jyz*jxz)
172 vg(1) = vrm(1)*jxx + vrm(2)*jxy + vrm(3)*jxz
173 vg(2) = vrm(1)*jxy + vrm(2)*jyy + vrm(3)*jyz
174 vg(3) = vrm(1)*jxz + vrm(2)*jyz + vrm(3)*jzz
181 ag(1) = ag(1) - vrm(2)*vg(3) + vrm(3)*vg(2)
182 ag(2) = ag(2) - vrm(3)*vg(1) + vrm(1)*vg(3)
183 ag(3) = ag(3) - vrm(1)*vg(2) + vrm(2)*vg(1)
185 arm(1)= ag(1)*b1 + ag(2)*c3 + ag(3)*c2
186 arm(2)= ag(1)*c3 + ag(2)*b2 + ag(3)*c1
187 arm(3)= ag(1)*c2 + ag(2)*c1 + ag(3)*b3
199 ar(j,ns) = (vrm(j)-vr(j,ns)) * usdt
205 vx2 = vrm(3)*xx - vrm(1)*zz
206 vx3 = vrm(1)*yy - vrm(2)*xx
207 a(1,ns) = atm(1) + usdt*
208 . (vtm(1)-v(1,ns)+vx1+ddt*(vrm(2)*vx3-vrm(3)*vx2))
209 a(2,ns) = atm(2) + usdt*
210 . (vtm(2)-v(2,ns)+vx2+ddt*(vrm(3)*vx1-vrm(1)*vx3))
211 a(3,ns) = atm(3) + usdt*
212 . (vtm(3)-v(3,ns)+vx3+ddt*(vrm(1)*vx2-vrm(2)*vx1))
221 rbyl(10,nn) = mass(ifx)
222 rbyl(14,nn) = v(1,ifx)
223 rbyl(15,nn) = v(2,ifx)
224 rbyl(16,nn) = v(3,ifx)
225 rbyl(17,nn) = vr(1,ifx)
226 rbyl(18,nn) = vr(2,ifx)
227 rbyl(19,nn) = vr(3,ifx)
228 rbyl(20,nn) = a(1,ifx)
229 rbyl(21,nn) = a(2,ifx)
230 rbyl(22,nn) = a(3,ifx)
231 rbyl(23,nn) = ar(1,ifx)
232 rbyl(24,nn) = ar(2,ifx)
233 rbyl(25,nn) = ar(3,ifx)
279 2 IADLL ,LLL ,JLL ,XLL ,LAMBDA ,
280 3 MASS ,INER ,RBYL ,NPBYL ,LPBYL ,
289#include "implicit_f.inc"
293#include "param_c.inc"
294#include "lagmult.inc"
295#include "com08_c.inc"
302 INTEGER IADLL(*),LLL(*),JLL(*),NPBYL(NNPBY,*),LPBYL(*)
305 . RBYL(NRBY,*),XLL(*),X(3,*),V(3,*),VR(3,*),A(3,*),AR(3,*),
306 . mass(*),iner(*),lambda(*)
310 INTEGER I,J,K,JF,IC,IK,IR,IFX,IFR,N,NS,NFIX,NFRE,MSL,TNSL
312 . XX,YY,ZZ,VX1,VX2,VX3,USDT,DDT,XM(3),VTM(3),VRM(3),ATM(3),ARM(3)
323 IF (nfix>0.AND.nfre>0)
THEN
327 DO ik=iadll(ic),iadll(ic+1)-1
330 xll(ik) = xll(ik)*lambda(ic)
333 CALL ancmsg(msgid=117,anmode=aninfo,
338 ar(j,i) = ar(j,i) - xll(ik)/iner(i)
339 ELSEIF (xll(ik)/=0.)
THEN
341 ar(1,ifx) = ar(1,ifx) - xll(ik)*rbyl(1,ir)
342 ar(2,ifx) = ar(2,ifx) - xll(ik)*rbyl(6,ir)
343 ar(3,ifx) = ar(3,ifx) - xll(ik)*rbyl(5,ir)
345 ar(1,ifx) = ar(1,ifx) - xll(ik)*rbyl(6,ir)
346 ar(2,ifx) = ar(2,ifx) - xll(ik)*rbyl(2,ir)
347 ar(3,ifx) = ar(3,ifx) - xll(ik)*rbyl(4,ir)
349 ar(1,ifx) = ar(1,ifx) - xll(ik)*rbyl(5,ir)
350 ar(2,ifx) = ar(2,ifx) - xll(ik)*rbyl(4,ir)
351 ar(3,ifx) = ar(3,ifx) - xll(ik)*rbyl(3,ir)
357 mass(ifx) = rbyl(10,ir)
363 xm(j) = rbyl(10+j,ir)
365 vr(j,ifx) = rbyl(16+j,ir)
366 a(j,ifx) = rbyl(19+j,ir)
367 ar(j,ifx) = rbyl(22+j,ir)
371 vrm(j) = vrm(j) + arm(j)*dt12
376 ar(j,ns) = (vrm(j)-vr(j,ns)) * usdt
382 vx1 = vrm(2)*zz - vrm(3)*yy
383 vx2 = vrm(3)*xx - vrm(1)*zz
384 vx3 = vrm(1)*yy - vrm(2)*xx
390 a(1,ns) = atm(1) + usdt*
391 . (vtm(1)-v(1,ns)+vx1+ddt*(vrm(2)*vx3-vrm(3)*vx2))
392 a(2,ns) = atm(2) + usdt*
393 . (vtm(2)-v(2,ns)+vx2+ddt*(vrm(3)*vx1-vrm(1)*vx3))
394 a(3,ns) = atm(3) + usdt*
395 . (vtm(3)-v(3,ns)+vx3+ddt*(vrm(1)*vx2-vrm(2)*vx1))
subroutine rby_decond(x, v, vr, a, ar, iadll, lll, jll, xll, lambda, mass, iner, rbyl, npbyl, lpbyl, nc, ncr)
subroutine ancmsg(msgid, msgtype, anmode, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, r1, r2, r3, r4, r5, r6, r7, r8, r9, c1, c2, c3, c4, c5, c6, c7, c8, c9, prmode)