33 1 MS ,A ,NLINK ,LLINK ,SKEW ,
34 2 FR_RL ,WEIGHT,FRL6 ,IDOWN ,TAG_LNK_SMS,
39#include "implicit_f.inc"
51 INTEGER NLINK(*),LLINK(*),FR_RL(NSPMD+2,*),WEIGHT(*), IDOWN,
52 . TAG_LNK_SMS(*), ITAB(*)
54 . ms(*), a(3,*), skew(lskew,*)
55 DOUBLE PRECISION FRL6(4,6,NRLINK)
61 INTEGER K, K1, N, ISK, I, IC, KIND(NRLINK)
79 IF(tag_lnk_sms(n) < 0)cycle
89 1 ms ,a ,nlink(k1) ,nlink(k1+1),llink(k),
90 2 weight,frl6(1,1,n),1 ,idown ,fr_rl(nspmd+2,n),
91 3 frl(1,n),tag_lnk_sms(n),itab)
94 1 ms ,a ,nlink(k1),nlink(k1+1),llink(k),
95 2 skew(1,isk),weight ,frl6(1,1,n),1 ,idown ,
96 3 fr_rl(nspmd+2,n),frl(1,n),tag_lnk_sms(n),itab)
106 IF(tag_lnk_sms(n)==0)cycle
108 IF(fr_rl(ispmd+1,n)/=0)
119 IF(tag_lnk_sms(n) < 0)cycle
129 1 ms ,a ,nlink(k1) ,nlink(k1+1),llink(k),
130 2 weight,frl6(1,1,n),2 ,idown ,fr_rl(nspmd+2,n),
131 3 frl(1,n),tag_lnk_sms(n),itab)
134 1 ms ,a ,nlink(k1),nlink(k1+1),llink(k),
135 2 skew(1,isk),weight ,frl6(1,1,n),2 ,idown ,
136 3 fr_rl(nspmd+2,n),frl(1,n),tag_lnk_sms(n),itab)
154 1 MS ,A ,NNLINK,LLLINK,SKEW ,
155 2 FR_LL ,WEIGHT,FRL6 ,X ,XFRAME,
156 3 V ,IDOWN ,TAG_LNK_SMS,ITAB,FRL)
160#include "implicit_f.inc"
161#include "comlock.inc"
165#include "scr03_c.inc"
166#include "com01_c.inc"
167#include "com04_c.inc"
169#include "param_c.inc"
173 INTEGER NNLINK(10,*), LLLINK(*), FR_LL(NSPMD+2,*),
174 . WEIGHT(*), IDOWN, TAG_LNK_SMS(*),ITAB(*)
176 . MS(*), A(3,*), SKEW(LSKEW,*),
177 . XFRAME(NXFRAME,*), X(3,*), V(3,*)
178 DOUBLE PRECISION FRL6(4,6,NLINK)
184 INTEGER K, K1, N, ISK, I, IC, IPOL, KIND(NLINK)
201 IF(tag_lnk_sms(nrlink+n) < 0)cycle
212 1 ms ,x ,a ,v ,nnlink(1,n),
213 2 nnlink(3,n),lllink(k),xframe(1,isk),weight ,frl6(1,1,n),
214 3 1 ,idown ,fr_ll(nspmd+2,n),frl(1,n),tag_lnk_sms(nrlink+n),
218 1 ms ,a ,nnlink(1,n),nnlink(3,n),lllink(k),
219 2 weight ,frl6(1,1,n),1 ,idown ,fr_ll(nspmd+2,n),
220 3 frl(1,n) ,tag_lnk_sms(nrlink+n),itab)
223 1 ms ,a ,nnlink(1,n),nnlink(3,n),lllink(k),
224 2 skew(1,isk), weight ,frl6(1,1,n),1 ,idown ,
225 3 fr_ll(nspmd+2,n),frl(1,n),tag_lnk_sms(nrlink+n),itab)
235 IF(tag_lnk_sms(nrlink+n) < 0)cycle
237 IF(fr_ll(ispmd+1,n)/=0)
248 IF(tag_lnk_sms(nrlink+n) < 0)cycle
259 1 ms ,x ,a ,v ,nnlink(1,n),
260 2 nnlink(3,n),lllink(k),xframe(1,isk),weight ,frl6(1,1,n),
261 3 2 ,idown ,fr_ll(nspmd+2,n),frl(1,n),tag_lnk_sms(nrlink+n),
265 1 ms ,a ,nnlink(1,n),nnlink(3,n),lllink(k),
266 2 weight ,frl6(1,1,n),2 ,idown ,fr_ll(nspmd+2,n),
267 3 frl(1,n) ,tag_lnk_sms(nrlink+n),itab)
270 1 ms ,a ,nnlink(1,n),nnlink(3,n),lllink(k),
271 2 skew(1,isk),weight ,frl6(1,1,n),2 ,idown ,
272 3 fr_ll(nspmd+2,n),frl(1,n),tag_lnk_sms(nrlink+n),itab)
289 . WEIGHT,FRL6 ,IFLAG,IDOWN ,PMAIN ,
294#include "implicit_f.inc"
298 INTEGER NSN, IC, IFLAG, IDOWN, NCNOD, PMAIN, TAG_LNK
299 INTEGER NOD(*),WEIGHT(*), (*)
302 . MS(*), A(3,*), FRL(4)
303 DOUBLE PRECISION FRL6(4,6)
307 INTEGER I, J, IJ, N, K
310 . mass, ax, ay, az, xnsn,
311 . f1(nsn), f2(nsn), f3(nsn), f4(nsn)
330 IF(weight(n)==1)
THEN
349 ELSEIF(iflag == 2)
THEN
351 ax = frl6(2,1)+frl6(2,2)+frl6(2,3)+
352 + frl6(2,4)+frl6(2,5)+frl6(2,6)
353 ay = frl6(3,1)+frl6(3,2)+frl6(3,3)+
354 + frl6(3,4)+frl6(3,5)+frl6(3,6)
355 az = frl6(4,1)+frl6(4,2)+frl6(4,3)+
356 + frl6(4,4)+frl6(4,5)+frl6(4,6)
361 IF(ic==1.OR.ic==3.OR.ic==5.OR.ic==7)
THEN
364 IF(ic==2.OR.ic==3.OR.ic==6.OR.ic==7)
THEN
367 IF(ic==4.OR.ic==5.OR.ic==6.OR.ic==7)
THEN
389 IF(weight(n)==1)
THEN
411 ELSEIF(iflag == 2)
THEN
413 mass = frl6(1,1)+frl6(1,2)+frl6(1,3)+
414 + frl6(1,4)+frl6(1,5)+frl6(1,6)
415 ax = frl6(2,1)+frl6(2,2)+frl6(2,3)+
416 + frl6(2,4)+frl6(2,5)+frl6(2,6)
417 ay = frl6(3,1)+frl6(3,2)+frl6(3,3)+
418 + frl6(3,4)+frl6(3,5)+frl6(3,6)
419 az = frl6(4,1)+frl6(4,2)+frl6(4,3)+
420 + frl6(4,4)+frl6(4,5)+frl6(4,6)
426 IF(ic==1.OR.ic==3.OR.ic==5.OR.ic==7)
THEN
429 IF(ic==2.OR.ic==3.OR.ic==6.OR.ic==7)
THEN
432 IF(ic==4.OR.ic==5.OR.ic==6.OR.ic==7)
THEN
452 2 SKEW,WEIGHT,FRL6 ,IFLAG,IDOWN,
453 3 PMAIN,FRL,TAG_LNK,ITAB)
457#include "implicit_f.inc"
461 INTEGER NSN, IC, IFLAG, IDOWN, PMAIN, TAG_LNK
462 INTEGER NOD(*),WEIGHT(*), ITAB(*), ISK
465 . MS(*), A(3,*),SKEW(*), FRL(4)
466 DOUBLE PRECISION FRL6(4,6)
470 INTEGER IC1, ICC, IC2, IC3, I, N, K
473 . mass, ax, ay, az, dax, day, daz, aax, aay,
475 . f1(nsn), f2(nsn), f3(nsn), f4(nsn)
499 IF(weight(n)==1)
THEN
516 ELSEIF(iflag == 2)
THEN
522 ax = frl6(2,1)+frl6(2,2)+frl6(2,3)+
523 + frl6(2,4)+frl6(2,5)+frl6(2,6)
524 ay = frl6(3,1)+frl6(3,2)+frl6(3,3)+
525 + frl6(3,4)+frl6(3,5)+frl6(3,6)
526 az = frl6(4,1)+frl6(4,2)+frl6(4,3)+
527 + frl6(4,4)+frl6(4,5)+frl6(4,6)
535 aax =ic1*(skew(1)*dax+skew(2)*day+skew(3)*daz)
536 aay =ic2*(skew(4)*dax+skew(5)*day+skew(6)*daz)
537 aaz =ic3*(skew(7)*dax+skew(8)*day+skew(9)*daz)
538 a(1,n) =a(1,n)-aax*skew(1)-aay*skew(4)-aaz*skew(7)
539 a(2,n) =a(2,n)-aax*skew(2)-aay*skew(5)-aaz*skew(8)
540 a(3,n) =a(3,n)-aax*skew(3)-aay*skew(6)-aaz*skew(9)
566 IF(weight(n)==1)
THEN
587 ELSEIF(iflag == 2)
THEN
594 mass = frl6(1,1)+frl6(1,2)+frl6(1,3)+
595 + frl6(1,4)+frl6(1,5)+frl6(1,6)
596 ax = frl6(2,1)+frl6(2,2)+frl6(2,3)+
597 + frl6(2,4)+frl6(2,5)+frl6(2,6)
598 ay = frl6(3,1)+frl6(3,2)+frl6(3,3)+
599 + frl6(3,4)+frl6(3,5)+frl6(3,6)
600 az = frl6(4,1)+frl6(4,2)+frl6(4,3)+
601 + frl6(4,4)+frl6(4,5)+frl6(4,6)
611 aax =ic1*(skew(1)*dax+skew(2)*day+skew(3)*daz)
612 aay =ic2*(skew(4)*dax+skew(5)*day+skew(6)*daz)
613 aaz =ic3*(skew(7)*dax+skew(8)*day+skew(9)*daz)
614 a(1,n) =a(1,n)-aax*skew(1)-aay*skew(4)-aaz*skew(7)
615 a(2,n) =a(2,n)-aax*skew(2)-aay*skew(5)-aaz*skew(8)
616 a(3,n) =a(3,n)-aax*skew(3)-aay*skew(6)-aaz*skew(9)
633 2 IC ,NOD ,XFRAME,WEIGHT,FRL6 ,
634 3 IFLAG,IDOWN,PMAIN,FRL,TAG_LNK,
639#include "implicit_f.inc"
643#include "com08_c.inc"
647 INTEGER NSN, IC, IFLAG, IDOWN, , TAG_LNK
648 INTEGER (*),WEIGHT(*), ITAB(*)
651 . MS(*), X(3,*), A(3,*), V(3,*),
653 DOUBLE PRECISION FRL6(5,6)
657 INTEGER IC1, ICC, IC2, IC3, I, N, K
660 . mass, ax, ay, az, dax, day, daz, aax, aay,
661 . aaz, rx, ry, rz, sx, sy, sz,
662 . tx, ty, tz, ox, oy, oz, aa, r2, atr2,rx0, ry0, rz0, r,
664 . f1(nsn), f2(nsn), f3(nsn), f4(nsn), f5(nsn)
674 aa = one / sqrt(sx*sx + sy*sy + sz*sz)
699 rx0 = x(1,n) + half * dt2 * v(1,n) - ox
700 ry0 = x(2,n) + half * dt2 * v(2,n) - oy
701 rz0 = x(3,n) + half * dt2 * v(3,n) - oz
702 tx = ry0 * sz - rz0 * sy
703 ty = rz0 * sx - rx0 * sz
704 tz = rx0 * sy - ry0 * sx
705 aa = one / sqrt(tx*tx + ty*ty + tz*tz)
709 rx = sy * tz - sz * ty
710 ry = sz * tx - sx * tz
711 rz = sx * ty - sy * tx
712 r = rx * rx0 + ry * ry0 + rz * rz0
720 a(1,n) = rx * ax + ry * ay + rz * az
721 a(2,n) = sx * ax + sy * ay + sz * az
722 a(3,n) = (tx * ax + ty * ay + tz * az) / r
723 IF(weight(n)==1)
THEN
747 IF(weight(n)==1)
THEN
761 ELSEIF(iflag == 2)
THEN
768 r2 = frl6(1,1)+frl6(1,2)+frl6(1,3)+
769 + frl6(1,4)+frl6(1,5)+frl6(1,6)
770 atr2 = frl6(2,1)+frl6(2,2)+frl6(2,3)+
771 + frl6(2,4)+frl6(2,5)+frl6(2,6)
772 ax = frl6(3,1)+frl6(3,2)+frl6(3,3)+
773 + frl6(3,4)+frl6(3,5)+frl6(3,6)
774 ay = frl6(4,1)+frl6(4,2)+frl6(4,3)+
775 + frl6(4,4)+frl6(4,5)+frl6(4,6)
782 a(1,n) =a(1,n)-ic1*(a(1,n)-ax)
783 a(2,n) =a(2,n)-ic2*(a(2,n)-ay)
784 a(3,n) =a(3,n)-ic3*(a(3,n)-az)
791 rx0 = x(1,n) + half * dt2 * v(1,n) - ox
792 ry0 = x(2,n) + half * dt2 * v(2,n) - oy
793 rz0 = x(3,n) + half * dt2 * v(3,n) - oz
794 tx = ry0 * sz - rz0 * sy
795 ty = rz0 * sx - rx0 * sz
796 tz = rx0 * sy - ry0 * sx
797 aa = one / sqrt(tx*tx + ty*ty + tz*tz)
801 rx = sy * tz - sz * ty
802 ry = sz * tx - sx * tz
803 rz = sx * ty - sy * tx
804 r = rx * rx0 + ry * ry0 + rz * rz0
809 ax = rx * a(1,n) + sx * a(2,n) + tx * a(3,n) * r
810 ay = ry * a(1,n) + sy * a(2,n) + ty * a(3,n) * r
811 az = rz * a(1,n) + sz * a(2,n) + tz * a(3,n) * r
825 aa = one / sqrt(sx*sx + sy*sy + sz*sz)
853 rx0 = x(1,n) + half * dt2 * v(1,n) - ox
854 ry0 = x(2,n) + half * dt2 * v(2,n) - oy
855 rz0 = x(3,n) + half * dt2 * v(3,n) - oz
856 tx = ry0 * sz - rz0 * sy
857 ty = rz0 * sx - rx0 * sz
858 tz = rx0 * sy - ry0 * sx
859 aa = one / sqrt(tx*tx + ty*ty + tz*tz)
863 rx = sy * tz - sz * ty
864 ry = sz * tx - sx * tz
865 rz = sx * ty - sy * tx
866 r = rx * rx0 + ry * ry0 + rz * rz0
874 a(1,n) = rx * ax + ry * ay + rz * az
875 a(2,n) = sx * ax + sy * ay + sz * az
876 a(3,n) = (tx * ax + ty * ay + tz * az) / r
877 IF(weight(n)==1)
THEN
879 f2(i) = r*r*ms(n)*a(3,n)
901 IF(weight(n)==1)
THEN
926 mr2 = frl6(1,1)+frl6(1,2)+frl6(1
927 + frl6(1,4)+frl6(1,5)+frl6(1,6)
928 atmr2= frl6(2,1)+frl6(2,2)+frl6(2,3)+
929 + frl6(2,4)+frl6(2,5)+frl6(2,6)
930 ax = frl6(3,1)+frl6(3,2)+frl6(3,3)+
931 + frl6(3,4)+frl6(3,5)+frl6(3,6)
932 ay = frl6(4,1)+frl6(4,2)+frl6(4,3)+
933 + frl6(4,4)+frl6(4,5)+frl6(4,6)
934 mass = frl6(5,1)+frl6(5,2)+frl6(5,3)+
935 + frl6(5,4)+frl6(5,5)+frl6(5,6)
945 a(1,n) =a(1,n)-ic1*(a(1,n)-ax)
946 a(2,n) =a(2,n)-ic2*(a(2,n)-ay)
947 a(3,n) =a(3,n)-ic3*(a(3,n)-az)
954 rx0 = x(1,n) + half * dt2 * v(1,n) - ox
955 ry0 = x(2,n) + half * dt2 * v(2,n) - oy
956 rz0 = x(3,n) + half * dt2 * v(3,n) - oz
957 tx = ry0 * sz - rz0 * sy
958 ty = rz0 * sx - rx0 * sz
959 tz = rx0 * sy - ry0 * sx
960 aa = one / sqrt(tx*tx + ty*ty + tz*tz)
964 rx = sy * tz - sz * ty
965 ry = sz * tx - sx * tz
966 rz = sx * ty - sy * tx
967 r = rx * rx0 + ry * ry0 + rz * rz0
972 ax = rx * a(1,n) + sx * a(2,n) + tx * a(3,n) * r
973 ay = ry * a(1,n) + sy * a(2,n) + ty * a(3,n) * r
974 az = rz * a(1,n) + sz * a(2,n) + tz * a(3,n) * r