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)
118 IF(tag_lnk_sms(n) < 0)cycle
128 1 ms ,a ,nlink(k1) ,nlink(k1+1),llink(k),
129 2 weight,frl6(1,1,n),2 ,idown ,fr_rl(nspmd+2,n),
130 3 frl(1,n),tag_lnk_sms(n),itab)
133 1 ms ,a ,nlink(k1),nlink(k1+1),llink(k),
134 2 skew(1,isk),weight ,frl6(1,1,n),2 ,idown ,
135 3 fr_rl(nspmd+2,n),frl(1,n),tag_lnk_sms(n),itab)
153 1 MS ,A ,NNLINK,LLLINK,SKEW ,
154 2 FR_LL ,WEIGHT,FRL6 ,X ,XFRAME,
155 3 V ,IDOWN ,TAG_LNK_SMS,ITAB,FRL)
159#include "implicit_f.inc"
160#include "comlock.inc"
164#include "scr03_c.inc"
165#include "com01_c.inc"
166#include "com04_c.inc"
168#include "param_c.inc"
172 INTEGER NNLINK(10,*), LLLINK(*), FR_LL(NSPMD+2,*),
173 . WEIGHT(*), IDOWN, TAG_LNK_SMS(*),ITAB(*)
175 . MS(*), A(3,*), SKEW(LSKEW,*),
176 . XFRAME(NXFRAME,*), X(3,*), V(3,*)
177 DOUBLE PRECISION FRL6(4,6,NLINK)
183 INTEGER K, N, ISK, I, , IPOL, KIND(NLINK)
200 IF(tag_lnk_sms(nrlink+n) < 0)cycle
211 1 ms ,x ,a ,v ,nnlink(1,n),
212 2 nnlink(3,n),lllink(k),xframe(1,isk),weight ,frl6(1,1,n)
213 3 1 ,idown ,fr_ll(nspmd+2,n),frl(1,n),tag_lnk_sms(nrlink+n),
217 1 ms ,a ,nnlink(1,n),nnlink(3,n),lllink(k),
218 2 weight ,frl6(1,1,n),1 ,idown ,fr_ll(nspmd+2,n),
219 3 frl(1,n) ,tag_lnk_sms(nrlink+n),itab)
222 1 ms ,a ,nnlink(1,n),nnlink(3,n),lllink(k),
223 2 skew(1,isk), weight ,frl6(1,1,n),1 ,idown ,
224 3 fr_ll(nspmd+2,n),frl(1,n),tag_lnk_sms(nrlink+n),itab)
234 IF(tag_lnk_sms(nrlink+n) < 0)cycle
236 IF(fr_ll(ispmd+1,n)/=0)
246 IF(tag_lnk_sms(nrlink+n) < 0)cycle
257 1 ms ,x ,a ,v ,nnlink(1,n),
258 2 nnlink(3,n),lllink(k),xframe(1,isk),weight ,frl6(1,1,n),
259 3 2 ,idown ,fr_ll(nspmd+2,n),frl(1,n),tag_lnk_sms(nrlink+n),
263 1 ms ,a ,nnlink(1,n),nnlink(3,n),lllink(k),
264 2 weight ,frl6(1,1,n),2 ,idown ,fr_ll(nspmd+2,n),
265 3 frl(1,n) ,tag_lnk_sms(nrlink+n),itab)
268 1 ms ,a ,nnlink(1,n),nnlink(3,n),lllink(k),
269 2 skew(1,isk),weight ,frl6(1,1,n),2 ,idown ,
270 3 fr_ll(nspmd+2,n),frl(1,n),tag_lnk_sms(nrlink+n),itab)
287 . WEIGHT,FRL6 ,IFLAG,IDOWN ,PMAIN ,
292#include "implicit_f.inc"
296 INTEGER NSN, IC, IFLAG, IDOWN, PMAIN, TAG_LNK
297 INTEGER NOD(*),WEIGHT(*), ITAB(*)
300 . MS(*), A(3,*), FRL(4)
301 DOUBLE PRECISION FRL6(4,6)
309 . f1(nsn), f2(nsn), f3(nsn), f4(nsn)
328 IF(weight(n)==1)
THEN
347 ELSEIF(iflag == 2)
THEN
349 ax = frl6(2,1)+frl6(2,2)+frl6(2,3)+
350 + frl6(2,4)+frl6(2,5)+frl6(2,6)
351 ay = frl6(3,1)+frl6(3,2)+frl6(3,3)+
352 + frl6(3,4)+frl6(3,5)+frl6(3,6)
353 az = frl6(4,1)+frl6(4,2)+frl6(4,3)+
354 + frl6(4,4)+frl6(4,5)+frl6(4,6)
359 IF(ic==1.OR.ic==3.OR.ic==5.OR.ic==7)
THEN
362 IF(ic==2.OR.ic==3.OR.ic==6.OR.ic==7)
THEN
365 IF(ic==4.OR.ic==5.OR.ic==6.OR.ic==7)
THEN
387 IF(weight(n)==1)
THEN
409 ELSEIF(iflag == 2)
THEN
411 mass = frl6(1,1)+frl6(1,2)+frl6(1,3)+
412 + frl6(1,4)+frl6(1,5)+frl6(1,6)
413 ax = frl6(2,1)+frl6(2,2)+frl6(2,3)+
414 + frl6(2,4)+frl6(2,5)+frl6(2,6)
415 ay = frl6(3,1)+frl6(3,2)+frl6(3,3)+
416 + frl6(3,4)+frl6(3,5)+frl6(3,6)
417 az = frl6(4,1)+frl6(4,2)+frl6(4,3)+
418 + frl6(4,4)+frl6(4,5)+frl6(4,6)
424 IF(ic==1.OR.ic==3.OR.ic==5.OR.ic==7)
THEN
427 IF(ic==2.OR.ic==3.OR.ic==6.OR.ic==7)
THEN
430 IF(ic==4.OR.ic==5.OR.ic==6.OR.ic==7)
THEN
450 2 SKEW,WEIGHT,FRL6 ,IFLAG,IDOWN,
451 3 PMAIN,FRL,TAG_LNK,ITAB)
455#include "implicit_f.inc"
459 INTEGER NSN, IC, IFLAG, IDOWN, PMAIN, TAG_LNK
460 INTEGER NOD(*),WEIGHT(*), ITAB(*)
463 . MS(*), A(3,*),SKEW(*), FRL(4)
464 DOUBLE PRECISION FRL6(4,6)
468 INTEGER IC1, ICC, IC2, IC3, I, N, K
471 . mass, ax, ay, az, dax, day, daz, aax, aay,
473 . f1(nsn), f2(nsn), f3(nsn), f4(nsn)
497 IF(weight(n)==1)
THEN
514 ELSEIF(iflag == 2)
THEN
520 ax = frl6(2,1)+frl6(2,2)+frl6(2,3)+
521 + frl6(2,4)+frl6(2,5)+frl6(2,6)
522 ay = frl6(3,1)+frl6(3,2)+frl6(3,3)+
523 + frl6(3,4)+frl6(3,5)+frl6(3,6)
524 az = frl6(4,1)+frl6(4,2)+frl6(4,3)+
525 + frl6(4,4)+frl6(4,5)+frl6(4,6)
533 aax =ic1*(skew(1)*dax+skew(2)*day+skew(3)*daz)
534 aay =ic2*(skew(4)*dax+skew(5)*day+skew(6)*daz)
535 aaz =ic3*(skew(7)*dax+skew(8)*day+skew(9)*daz)
536 a(1,n) =a(1,n)-aax*skew(1)-aay*skew(4)-aaz*skew(7)
537 a(2,n) =a(2,n)-aax*skew(2)-aay*skew(5)-aaz*skew(8)
538 a(3,n) =a(3,n)-aax*skew(3)-aay*skew(6)-aaz*skew(9)
564 IF(weight(n)==1)
THEN
585 ELSEIF(iflag == 2)
THEN
592 mass = frl6(1,1)+frl6(1,2)+frl6(1,3)+
593 + frl6(1,4)+frl6(1,5)+frl6(1,6)
594 ax = frl6(2,1)+frl6(2,2)+frl6(2,3)+
595 + frl6(2,4)+frl6(2,5)+frl6(2,6)
596 ay = frl6(3,1)+frl6(3,2)+frl6(3,3)+
597 + frl6(3,4)+frl6(3,5)+frl6(3,6)
598 az = frl6(4,1)+frl6(4,2)+frl6(4,3)+
599 + frl6(4,4)+frl6(4,5)+frl6(4,6)
609 aax =ic1*(skew(1)*dax+skew(2)*day+skew(3)*daz)
610 aay =ic2*(skew(4)*dax+skew(5)*day+skew(6)*daz)
611 aaz =ic3*(skew(7)*dax+skew(8)*day+skew(9)*daz)
612 a(1,n) =a(1,n)-aax*skew(1)-aay*skew(4)-aaz*skew(7)
613 a(2,n) =a(2,n)-aax*skew(2)-aay*skew(5)-aaz*skew(8)
614 a(3,n) =a(3,n)-aax*skew(3)-aay*skew(6)-aaz*skew(9)
631 2 IC ,NOD ,XFRAME,WEIGHT,FRL6 ,
632 3 IFLAG,IDOWN,PMAIN,FRL,TAG_LNK,
637#include "implicit_f.inc"
641#include "com08_c.inc"
645 INTEGER NSN, IC, IFLAG, IDOWN, PMAIN, TAG_LNK
646 INTEGER NOD(*),WEIGHT(*), ITAB(*)
649 . MS(*), X(3,*), A(3,*), V(3,*),
651 DOUBLE PRECISION FRL6(5,6)
655 INTEGER IC1, ICC, IC2, IC3, I, N, K
659 . rx, ry, rz, sx, sy, sz,
660 . tx, ty, tz, ox, oy, oz, aa, r2, atr2,rx0, ry0, rz0, r,
662 . f1(nsn), f2(nsn), f3(nsn), f4(nsn), f5(nsn)
672 aa = one / sqrt(sx*sx + sy*sy + sz*sz)
697 rx0 = x(1,n) + half * dt2 * v(1,n) - ox
699 rz0 = x(3,n) + half * dt2 * v(3,n) - oz
700 tx = ry0 * sz - rz0 * sy
701 ty = rz0 * sx - rx0 * sz
702 tz = rx0 * sy - ry0 * sx
703 aa = one / sqrt(tx*tx + ty*ty + tz*tz)
707 rx = sy * tz - sz * ty
708 ry = sz * tx - sx * tz
709 rz = sx * ty - sy * tx
710 r = rx * rx0 + ry * ry0 + rz * rz0
718 a(1,n) = rx * ax + ry * ay + rz * az
719 a(2,n) = sx * ax + sy * ay + sz * az
720 a(3,n) = (tx * ax + ty * ay + tz * az) / r
721 IF(weight(n)==1)
THEN
745 IF(weight(n)==1)
THEN
759 ELSEIF(iflag == 2)
THEN
766 r2 = frl6(1,1)+frl6(1,2)+frl6(1,3)+
767 + frl6(1,4)+frl6(1,5)+frl6(1,6)
768 atr2 = frl6(2,1)+frl6(2,2)+frl6(2,3)+
769 + frl6(2,4)+frl6(2,5)+frl6(2,6)
770 ax = frl6(3,1)+frl6(3,2)+frl6(3,3)+
771 + frl6(3,4)+frl6(3,5)+frl6(3,6)
772 ay = frl6(4,1)+frl6(4,2)+frl6(4,3)+
773 + frl6(4,4)+frl6(4,5)+frl6(4,6)
780 a(1,n) =a(1,n)-ic1*(a(1,n)-ax)
781 a(2,n) =a(2,n)-ic2*(a(2,n)-ay)
782 a(3,n) =a(3,n)-ic3*(a(3,n)-az)
789 rx0 = x(1,n) + half * dt2 * v(1,n) - ox
790 ry0 = x(2,n) + half * dt2 * v(2,n) - oy
791 rz0 = x(3,n) + half * dt2 * v(3,n) - oz
792 tx = ry0 * sz - rz0 * sy
793 ty = rz0 * sx - rx0 * sz
794 tz = rx0 * sy - ry0 * sx
795 aa = one / sqrt(tx*tx + ty*ty + tz*tz)
799 rx = sy * tz - sz * ty
800 ry = sz * tx - sx * tz
801 rz = sx * ty - sy * tx
802 r = rx * rx0 + ry * ry0 + rz * rz0
807 ax = rx * a(1,n) + sx * a(2,n) + tx * a(3,n) * r
808 ay = ry * a(1,n) + sy * a(2,n) + ty * a(3,n) * r
809 az = rz * a(1,n) + sz * a(2,n) + tz * a(3,n) * r
823 aa = one / sqrt(sx*sx + sy*sy + sz*sz)
851 rx0 = x(1,n) + half * dt2 * v(1,n) - ox
852 ry0 = x(2,n) + half * dt2 * v(2,n) - oy
853 rz0 = x(3,n) + half * dt2 * v(3,n) - oz
854 tx = ry0 * sz - rz0 * sy
855 ty = rz0 * sx - rx0 * sz
856 tz = rx0 * sy - ry0 * sx
857 aa = one / sqrt(tx*tx + ty*ty + tz*tz)
861 rx = sy * tz - sz * ty
862 ry = sz * tx - sx * tz
863 rz = sx * ty - sy * tx
864 r = rx * rx0 + ry * ry0 + rz * rz0
872 a(1,n) = rx * ax + ry * ay + rz * az
873 a(2,n) = sx * ax + sy * ay + sz * az
874 a(3,n) = (tx * ax + ty * ay + tz * az) / r
875 IF(weight(n)==1)
THEN
877 f2(i) = r*r*ms(n)*a(3,n)
899 IF(weight(n)==1)
THEN
924 mr2 = frl6(1,1)+frl6(1,2)+frl6(1,3)+
925 + frl6(1,4)+frl6(1,5)+frl6(1,6)
926 atmr2= frl6(2,1)+frl6(2,2)+frl6(2,3)+
927 + frl6(2,4)+frl6(2,5)+frl6(2,6)
928 ax = frl6(3,1)+frl6(3,2)+frl6(3,3)+
929 + frl6(3,4)+frl6(3,5)+frl6(3,6)
930 ay = frl6(4,1)+frl6(4,2)+frl6(4,3)+
931 + frl6(4,4)+frl6(4,5)+frl6(4,6)
932 mass = frl6(5,1)+frl6(5,2)+frl6(5,3)+
933 + frl6(5,4)+frl6(5,5)+frl6(5,6)
943 a(1,n) =a(1,n)-ic1*(a(1,n)-ax)
944 a(2,n) =a(2,n)-ic2*(a(2,n)-ay)
945 a(3,n) =a(3,n)-ic3*(a(3,n)-az)
952 rx0 = x(1,n) + half * dt2 * v(1,n) - ox
953 ry0 = x(2,n) + half * dt2 * v(2,n) - oy
954 rz0 = x(3,n) + half * dt2 * v(3,n) - oz
955 tx = ry0 * sz - rz0 * sy
956 ty = rz0 * sx - rx0 * sz
957 tz = rx0 * sy - ry0 * sx
958 aa = one / sqrt(tx*tx + ty*ty + tz*tz)
962 rx = sy * tz - sz * ty
963 ry = sz * tx - sx * tz
964 rz = sx * ty - sy * tx
965 r = rx * rx0 + ry * ry0 + rz * rz0
970 ax = rx * a(1,n) + sx * a(2,n) + tx * a(3,n) * r
971 ay = ry * a(1,n) + sy * a(2,n) + ty * a(3,n) * r
972 az = rz * a(1,n) + sz * a(2,n) + tz * a(3,n) * r