142 2 VR ,NNLINK,LLLINK,SKEW ,FR_LL ,
143 3 WEIGHT,FRL6 ,X ,XFRAME )
147#include "implicit_f.inc"
148#include "comlock.inc"
152#include "com01_c.inc"
153#include "com04_c.inc"
155#include "param_c.inc"
159 INTEGER NNLINK(10,*), LLLINK(*), FR_LL(NSPMD+2,*),
162 . MS(*), IN(*), A(3,*), AR(3,*), V(3,*), VR(3,*), SKEW(LSKEW,*),
163 . XFRAME(NXFRAME,*), X(3,*)
164 DOUBLE PRECISION FRL6(15,6,NLINK)
168 INTEGER K, K1, N, ISK, I, IPOL, KIND(NLINK)
195 2 v ,vr ,nnlink(1,n),nnlink(3,n),nnlink(4,n),
196 3 lllink(k),xframe(1,isk),weight ,frl6(1,1,n),1 )
199 1 ms ,in ,a ,ar ,nnlink(1,n),
200 2 nnlink(3,n),nnlink(4,n),lllink(k),weight ,frl6(1,1,n),
205 2 vr ,nnlink(1,n),nnlink(3,n),nnlink(4,n),lllink(k),
206 3 skew(1,isk),weight ,frl6(1,1,n),1 )
218 IF(fr_ll(ispmd+1,n)/=0)
235 2 v ,vr ,nnlink(1,n),nnlink(3,n),nnlink(4,n),
236 3 lllink(k),xframe(1,isk),weight ,frl6(1,1,n),2 )
240 2 nnlink(3,n),nnlink(4,n),lllink(k),weight ,frl6(1,1,n),
245 2 vr ,nnlink(1,n),nnlink(3,n),nnlink(4,n),lllink(k),
246 3 skew(1,isk),weight ,frl6(1,1,n),2 )
263 2 V ,VR ,NSN ,IC ,ICR ,
264 3 NOD,XFRAME,WEIGHT,FRL6 ,IFLAG)
268#include "implicit_f.inc"
272#include "com01_c.inc"
273#include "com08_c.inc"
277 INTEGER NSN, IC, ICR, IFLAG
278 INTEGER NOD(*),WEIGHT(*)
280 . MS(*), IN(*), X(3,*), A(3,*), AR(3,*), V(
282DOUBLE PRECISION FRL6(15,6)
288 . rx, ry, rz, sx, sy, sz,
289 . tx, ty, tz, ox, oy, oz, aa, mr2,vtmr2,atmr2,rx0, ry0, rz0,r,
290 . f1(nsn), f2(nsn), f3(nsn), f4(nsn), f5(nsn), f6(nsn), f7(nsn)
317 aa = one / sqrt(sx*sx + sy*sy + sz*sz)
332 rx0 = x(1,n) + half * dt2 * v(1,n) - ox
333 ry0 = x(2,n) + half * dt2 * v(2,n) - oy
335 tx = ry0 * sz - rz0 * sy
336 ty = rz0 * sx - rx0 * sz
338 aa = one / sqrt(tx*tx + ty*ty + tz*tz)
342 rx = sy * tz - sz * ty
343 ry = sz * tx - sx * tz
344 rz = sx * ty - sy * tx
345 r = rx * rx0 + ry * ry0 + rz * rz0
353 a(1,n) = rx * ax + ry * ay + rz * az
354 a(2,n) = sx * ax + sy * ay + sz * az
355 a(3,n) = (tx * ax + ty * ay + tz * az) / r
359 v(1,n) = rx * ax + ry * ay + rz * az
360 v(2,n) = sx * ax + sy * ay + sz * az
361 v(3,n) = (tx * ax + ty * ay + tz * az) / r
366 ar(1,n) = rx * ax + ry * ay + rz * az
367 ar(2,n) = sx * ax + sy * ay + sz * az
368 ar(3,n) = tx * ax + ty * ay + tz * az
372 vr(1,n) = rx * ax + ry * ay + rz * az
373 vr(2,n) = sx * ax + sy * ay + sz * az
374 vr(3,n) = tx * ax + ty * ay + tz * az
376 IF(weight(n)==1)
THEN
378 f2(i) = r*r*ms(n)*v(3,n)
379 f3(i) = r*r*ms(n)*a(3,n)
408 IF(weight(n)==1)
THEN
434 IF(iroddl/=0.AND.icr/=0)
THEN
448 IF(weight(n)==1)
THEN
471 ELSEIF(iflag == 2)
THEN
475 aa = one / sqrt(sx*sx + sy*sy + sz*sz)
489 mr2 = frl6(1,1)+frl6(1,2)+frl6(1,3)+
490 + frl6(1,4)+frl6(1,5)+frl6(1,6)
491 vtmr2= frl6(2,1)+frl6(2,2)+frl6(2,3)+
492 + frl6(2,4)+frl6(2,5)+frl6(2,6)
493 atmr2= frl6(3,1)+frl6(3,2)+frl6(3,3)+
494 + frl6(3,4)+frl6(3,5)+frl6(3,6)
495 mass = frl6(4,1)+frl6(4,2)+frl6(4,3)+
496 + frl6(4,4)+frl6(4,5)+frl6(4,6)
497 ax = frl6(5,1)+frl6(5,2)+frl6(5,3)+
498 + frl6(5,4)+frl6(5,5)+frl6(5,6)
499 ay = frl6(6,1)+frl6(6,2)+frl6(6,3)+
500 + frl6(6,4)+frl6(6,5)+frl6(6,6)
501 vx = frl6(7,1)+frl6(7,2)+frl6(7,3)+
502 + frl6(7,4)+frl6(7,5)+frl6(7,6)
503 vy = frl6(8,1)+frl6(8,2)+frl6(8,3)+
504 + frl6(8,4)+frl6(8,5)+frl6(8,6)
517 a(1,n) =a(1,n)-ic1*(a(1,n)-ax)
518 a(2,n) =a(2,n)-ic2*(a(2,n)-ay)
519 a(3,n) =a(3,n)-ic3*(a(3,n)-az)
521 v(1,n) =v(1,n)-ic1*(v(1,n)-vx)
522 v(2,n) =v(2,n)-ic2*(v(2,n)-vy)
523 v(3,n) =v(3,n)-ic3*(v(3,n)-vz)
530 IF(iroddl/=0.AND.icr/=0)
THEN
536 iner= frl6(9,1)+frl6(9,2)+frl6(9,3)+
537 + frl6(9,4)+frl6(9,5)+frl6(9,6)
538 ax = frl6(10,1)+frl6(10,2)+frl6(10,3)+
539 + frl6(10,4)+frl6(10,5)+frl6(10,6)
541 + frl6(11,4)+frl6(11,5)+frl6(11,6)
542 az = frl6(12,1)+frl6(12,2)+frl6(12,3)+
543 + frl6(12,4)+frl6(12,5)+frl6(12,6)
545 + frl6(13,4)+frl6(13,5)+frl6(13,6)
547 + frl6(14,4)+frl6(14,5)+frl6(14,6)
548 vz = frl6(15,1)+frl6(15,2)+frl6(15,3)+
549 + frl6(15,4)+frl6(15,5)+frl6(15,6)
562 ar(1,n) =ar(1,n)-ic1*(ar(1,n)-ax)
563 ar(2,n) =ar(2,n)-ic2*(ar(2,n)-ay)
564 ar(3,n) =ar(3,n)-ic3*(ar(3,n)-az)
566 vr(1,n) =vr(1,n)-ic1*(vr(1,n)-vx)
567 vr(2,n) =vr(2,n)-ic2*(vr(2,n)-vy)
568 vr(3,n) =vr(3,n)-ic3*(vr(3,n)-vz)
578 rx0 = x(1,n) + half * dt2 * v(1,n) - ox
579 ry0 = x(2,n) + half * dt2 * v(2,n) - oy
580 rz0 = x(3,n) + half * dt2 * v(3,n) - oz
581 tx = ry0 * sz - rz0 * sy
582 ty = rz0 * sx - rx0 * sz
583 tz = rx0 * sy - ry0 * sx
584 aa = one / sqrt(tx*tx + ty*ty + tz*tz)
588 rx = sy * tz - sz * ty
589 ry = sz * tx - sx * tz
590 rz = sx * ty - sy * tx
591 r = rx * rx0 + ry * ry0 + rz * rz0
596 ax = rx * a(1,n) + sx * a(2,n) + tx * a(3,n) * r
597 ay = ry * a(1,n) + sy * a(2,n) + ty * a(3,n) * r
598 az = rz * a(1,n) + sz * a(2,n) + tz * a(3,n) * r
602 ax = rx * v(1,n) + sx * v(2,n) + tx * v(3,n) * r
603 ay = ry * v(1,n) + sy * v(2,n) + ty * v(3,n) * r
604 az = rz * v(1,n) + sz * v(2,n) + tz * v(3,n) * r
609 ax = rx * ar(1,n) + sx * ar(2,n) + tx * ar(3,n)
610 ay = ry * ar(1,n) + sy * ar(2,n) + ty * ar(3,n)
611 az = rz * ar(1,n) + sz * ar(2,n) + tz * ar(3,n)
615 ax = rx * vr(1,n) + sx * vr(2,n) + tx * vr(3,n)
616 ay = ry * vr(1,n) + sy * vr(2,n) + ty * vr(3,n)
617 az = rz * vr(1,n) + sz * vr(2,n) + tz * vr(3,n)