32 2 XLL ,CANDN ,CANDE ,I_STOK,IXS ,
33 3 IXS16 ,IADLL ,EMINX ,NELES ,NELEM ,
34 4 NC ,N_MUL_MX,ITASK ,A ,ITIED ,
35 5 NINT ,NKMAX ,EMINXS ,COMNTAG)
39#include "implicit_f.inc"
50 COMMON /i17globi/ie_min,ies_min
51 COMMON /i17globr/vit_min
55 INTEGER NC,I_STOK,N_MUL_MX,ITASK,ITIED,NINT,NKMAX ,
56 . LLL(*),JLL(*),SLL(*),CANDN(*),CANDE(*),(*),
57 . IXS(NIXS,*),IXS16(8,*),IADLL(*),NELES(*) ,NELEM(*)
60 . x(3,*),v(3,*),xll(*),
61 . eminx(6,*),eminxs(6,*),a(3,*)
65 INTEGER I,J,K,IK,IE,IS,IC,NK,III(MVSIZ,17),LLT,NFT,LE,FIRST,LAST,
66 . I16,LES,IES,IIIS(MVSIZ,16),NC_SAV,IEL(MVSIZ),IESL(MVSIZ),
69 . xx(mvsiz,17),yy(mvsiz,17),zz(mvsiz,17),
70 . xxs(mvsiz,16),yys(mvsiz,16),zzs(mvsiz,16),
71 . aa,xmin,ymin,zmin,xmax,
ymax,zmax,dist,vit_min
132 first = 1 + i_stok * itask / nthread
133 last = i_stok*(itask+1) / nthread
144 IF(le >0.AND.les>0.AND.
145 . eminxs(4,les)>eminx(1,le).AND.
146 . eminxs(5,les)>eminx(2,le).AND.
147 . eminxs(6,les)>eminx(3,le).AND.
148 . eminxs(1,les)<eminx(4,le).AND.
149 . eminxs(2,les)<eminx(5,le).AND.
150 . eminxs(3,les)<eminx(6,le))
THEN
159 iii(llt,k) =ixs(k+1,ie)
160 iii(llt,k+4) =ixs(k+5,ie)
161 iii(llt,k+8) =ixs16(k,ie-numels8-numels10-numels20)
162 iii(llt,k+12)=ixs16(k+4,ie-numels8-numels10-numels20)
164 iiis(llt,k) =ixs(k+1,ies)
165 iiis(llt,k+8) =ixs(k+5,ies)
166 iiis(llt,k+4)=ixs16(k,ies-numels8-numels10-numels20)
167 iiis(llt,k+12)=ixs16(k+4,ies-numels8-numels10-numels20)
177 xx(llt,k)=x(1,i)+half*dt2*(v(1,i)+dt12*a(1,i))
178 yy(llt,k)=x(2,i)+half*dt2*(v(2,i)+dt12*a(2,i))
179 zz(llt,k)=x(3,i)+half*dt2*(v(3,i)+dt12*a(3,i))
181 xxs(llt,k)=x(1,i)+half*dt2*(v(1,i)+dt12*a(1,i))
182 yys(llt,k)=x(2,i)+half*dt2*(v(2,i)+dt12*a(2,i))
183 zzs(llt,k)=x(3,i)+half*dt2*(v(3,i)+dt12*a(3,i))
193 1 llt ,lll ,jll ,sll ,xll ,v ,
194 2 xx ,yy ,zz ,iii ,nc ,iadll ,
195 3 n_mul_mx ,a ,x ,itied ,nint ,nkmax ,
196 4 xxs ,yys ,zzs ,iiis ,nc_sav ,vit_min ,
197 5 iel ,iesl ,ie_min ,ies_min ,itask ,comntag )
210 1 llt ,lll ,jll ,sll ,xll ,v ,
211 2 xx ,yy ,zz ,iii ,nc ,iadll ,
212 3 n_mul_mx ,a ,x ,itied ,nint ,nkmax ,
213 4 xxs ,yys ,zzs ,iiis ,nc_sav ,vit_min ,
214 5 iel ,iesl ,ie_min ,ies_min ,itask ,comntag )
230 SUBROUTINE i17lll(LLT ,LLL ,JLL ,SLL ,XLL ,V ,
231 2 XX ,YY ,ZZ ,III ,NC ,IADLL ,
232 3 N_MUL_MX,A ,X ,ITIED ,NINT ,NKMAX ,
233 4 XXS ,YYS ,ZZS ,IIIS ,NC_SAV,VIT_MIN,
234 5 IE ,IES ,IE_MIN,IES_MIN,ITASK ,COMNTAG)
238#include "implicit_f.inc"
240#include "comlock.inc"
244#include "mvsiz_p.inc"
248 INTEGER LLT,NC,N_MUL_MX,ITIED,NINT ,NKMAX ,NC_SAV ,IE_MIN,IES_MIN
249 INTEGER LLL(*),JLL(*),SLL(*),ITASK,COMNTAG(*)
253 . XLL(*),V(3,*),A(3,*)
255 . XX(MVSIZ,17),YY(MVSIZ,17),ZZ(MVSIZ,17),X(3,*),
256 . xxs(mvsiz,16) ,yys(mvsiz,16) ,zzs(mvsiz,16) ,vit_min
260 INTEGER I,J,IK,NK,I1,I2,,I4,IAD,ICON,
263 . vx,vy,vz,vn,aa,vv,pene
265 . r_cm(mvsiz),t_cm(mvsiz),s_cm(mvsiz),si_s(mvsiz,8),
266 . ri_s(mvsiz,8),ti_s(mvsiz,8),
267 . nx(mvsiz), ny(mvsiz), nz(mvsiz),
268 . ni_m(mvsiz,17),ni_s(mvsiz,8) ,
269 . r_1s(mvsiz) ,r_2s(mvsiz) ,t_1s(mvsiz) ,t_2s(mvsiz),
270 . r_1m(mvsiz) ,r_2m(mvsiz) ,t_1m(mvsiz) ,t_2m(mvsiz),
271 . r_3m(mvsiz) ,r_4m(mvsiz) ,t_3m(mvsiz) ,t_4m(mvsiz),
272 . r_cs(mvsiz) ,s_cs(mvsiz) ,t_cs(mvsiz) ,vit(mvsiz),
273 . r_s(mvsiz) ,t_s(mvsiz)
284 xx(i,17) = half *(xxs(i,5) +xxs(i,6) +xxs(i,7) +xxs(i,8))
285 . - fourth*(xxs(i,1) +xxs(i,2) +xxs(i,3) +xxs(i,4))
286 yy(i,17) = half *(yys(i,5) +yys(i,6) +yys(i,7) +yys(i,8))
287 . - fourth*(yys(i,1) +yys(i,2) +yys(i,3) +yys(i,4))
288 zz(i,17) = half *(zzs(i,5) +zzs(i,6) +zzs(i,7) +zzs(i,8))
289 . - fourth*(zzs(i,1) +zzs(i,2) +zzs(i,3) +zzs(i,4))
291 CALL i17rst(llt ,ri_s(1,1),si_s(1,1),ti_s(1,1),ni_m ,
297 xx(i,17) = half *(xxs(i,13)+xxs(i,14)+xxs(i,15)+xxs(i,16))
298 . - fourth*(xxs(i,9) +xxs(i,10)+xxs(i,11)+xxs(i,12))
299 yy(i,17) = half *(yys(i,13)+yys(i,14)+yys(i,15)+yys(i,16))
300 . - fourth*(yys(i,9) +yys(i,10)+yys(i,11)+yys(i,12))
301 zz(i,17) = half *(zzs(i,13)+zzs(i,14)+zzs(i,15)+zzs(i,16))
302 . - fourth*(zzs(i,9) +zzs(i,10)+zzs(i,11)+zzs(i,12))
304 CALL i17rst(llt ,ri_s(1,2),si_s(1,2),ti_s(1,2),ni_m ,
310 IF(abs(si_s(i,1))<=abs(si_s(i,2)))
THEN
316 iiis(i,1) = iiis(i,9)
317 iiis(i,2) = iiis(i,10)
318 iiis(i,3) = iiis(i,11)
319 iiis(i,4) = iiis(i,12)
320 iiis(i,5) = iiis(i,13)
321 iiis(i,6) = iiis(i,14)
322 iiis(i,7) = iiis(i,15)
323 iiis(i,8) = iiis(i,16)
364 CALL i17rst(llt ,ri_s(1,j),si_s(1,j),ti_s(1,j),ni_m ,
371 CALL i17mini(llt ,r_cs ,s_cs ,t_cs ,ri_s ,si_s ,
372 2 ti_s ,ni_s ,xxs ,yys ,zzs ,xx ,
373 3 yy ,zz ,r_cm ,s_cm ,t_cm ,nx ,
374 4 ny ,nz ,r_1s ,r_2s ,t_1s ,t_2s ,
375 5 r_1m ,r_2m ,r_3m ,r_4m ,t_1m ,t_2m ,
376 6 t_3m ,t_4m ,icont )
405 CALL i17vit4(llt ,nint ,v ,a ,iii ,iiis ,
406 2 ni_m ,ni_s ,nx ,ny ,nz ,vit ,
407 3 icont(1,1),r_1m ,t_1m ,r_1s ,t_cs ,s_cs ,
408 4 r_cm ,t_cm ,r_s ,t_s ,icont(1,1))
409 CALL i17vit4(llt ,nint ,v ,a ,iii ,iiis ,
410 2 ni_m ,ni_s ,nx ,ny ,nz ,vit ,
411 3 icont(1,2),r_2m ,t_2m ,r_2s ,t_cs ,s_cs ,
412 4 r_cm ,t_cm ,r_s ,t_s ,icont(1,1))
413 CALL i17vit4(llt ,nint ,v ,a ,iii ,iiis ,
414 2 ni_m ,ni_s ,nx ,ny ,nz ,vit ,
415 3 icont(1,3),r_3m ,t_3m ,r_cs ,t_1s ,s_cs ,
416 4 r_cm ,t_cm ,r_s ,t_s ,icont(1,1))
417 CALL i17vit4(llt ,nint ,v ,a ,iii ,iiis ,
418 2 ni_m ,ni_s ,nx ,ny ,nz ,vit ,
419 3 icont(1,4),r_4m ,t_4m ,r_cs ,t_2s ,s_cs ,
420 4 r_cm ,t_cm ,r_s ,t_s ,icont(1,1))
447 IF(vit(i)<vit_min.OR.
448 . (vit(i)==vit_min.AND.
450 . (ie(i)==ie_min.AND.ies(i)<ies_min))))
THEN
468 2 itied ,nint ,nkmax ,nc ,v ,a ,
469 3 iadll ,iii ,iiis ,ni_m ,ni_s ,
470 4 nx ,ny ,nz ,vit ,comntag,
471 5 icont(1,1),r_cm ,t_cm ,r_s ,t_s )
478#include "lockoff.inc"
488 SUBROUTINE i17vit4(LLT,NINT ,V ,A ,III ,IIIS ,
489 2 NI_M ,NI_S ,NX ,NY ,NZ ,VIT ,
490 3 ICONT ,RM ,TM ,RS ,TS ,SM ,
491 4 R_M ,T_M ,R_S ,T_S ,ICONTN )
495#include "implicit_f.inc"
499#include "mvsiz_p.inc"
504 INTEGER III(MVSIZ,17),IIIS(MVSIZ,16),
505 + ICONT(MVSIZ),ICONTN(MVSIZ)
508 . V(3,*),A(3,*),VIT(*)
510 . RM(MVSIZ) ,RS(MVSIZ) ,TM(MVSIZ) ,TS(MVSIZ) ,SM(MVSIZ),
511 . R_M(MVSIZ) ,R_S(MVSIZ) ,(MVSIZ) ,T_S(MVSIZ) ,
512 . NI_M(MVSIZ,*) ,NI_S(MVSIZ,*),NX(MVSIZ) ,NY(MVSIZ) ,NZ(MVSIZ)
516 INTEGER I,J,IK,NK,I1,I2,I3,I4
520 . ni_ml(mvsiz,8) ,ni_sl(mvsiz,8)
524 CALL i17ni(llt,rm ,tm ,ni_ml )
528 CALL i17ni(llt,rs ,ts ,ni_sl )
548 vx = vx - (v(1,iii(i,ik)))*ni_ml(i,ik)
549 vy = vy - (v(2,iii(i,ik)))*ni_ml(i,ik)
550 vz = vz - (v(3,iii(i,ik)))*ni_ml(i,ik)
551 vx = vx + (v(1,iiis(i,ik)))*ni_sl(i,ik)
552 vy = vy + (v(2,iiis(i,ik)))*ni_sl(i,ik)
553 vz = vz + (v(3,iiis(i,ik)))*ni_sl(i,ik)
556 vn = nx(i)*vx + ny(i)*vy + nz(i)*vz
560 IF(sm(i)*vn<=vit(i))
THEN
571 ni_m(i,ik)=ni_ml(i,ik)
572 ni_s(i,ik)=ni_sl(i,ik)
594 SUBROUTINE i17lll4(LLT,LLL ,JLL ,SLL ,XLL ,N_MUL_MX,
595 2 ITIED ,NINT ,NKMAX ,NC ,V ,A ,
596 3 IADLL ,III ,IIIS ,NI_M ,NI_S ,
597 4 NX ,NY ,NZ ,VIT ,COMNTAG,
598 5 ICONT ,RM ,TM ,RS ,TS )
606#include "implicit_f.inc"
607#include "comlock.inc"
611#include "mvsiz_p.inc"
615 INTEGER LLT,NC,N_MUL_MX,ITIED,NINT ,NKMAX
616 INTEGER LLL(*),JLL(*),SLL(*),COMNTAG(*),
617 . iii(mvsiz,17),iadll(*) ,iiis(mvsiz,16),
621 . xll(*),v(3,*),a(3,*),vit(*)
623 . rm(mvsiz) ,rs(mvsiz) ,tm(mvsiz) ,ts(mvsiz) ,
624 . ni_m(mvsiz,*) ,ni_s(mvsiz,*),nx(mvsiz) ,ny(mvsiz) ,nz(mvsiz)
628 INTEGER I,J,IK,NK,I1,I2,I3,I4,IAD,NN
642 CALL ancmsg(msgid=89,anmode=aninfo)
645 iadll(nc+1)=iadll(nc) + 48
646 IF(iadll(nc+1)-1>nkmax)
THEN
647 CALL ancmsg(msgid=89,anmode=aninfo)
652 lll(iad+ik) = iii(i,ik)
655 xll(iad+ik) = nx(i)*ni_m(i,ik)
656 lll(iad+ik+16) = iii(i,ik)
659 xll(iad+ik+16) = ny(i)*ni_m(i,ik)
660 lll(iad+ik+32) = iii(i,ik)
663 xll(iad+ik+32) = nz(i)*ni_m(i,ik)
665 lll(iad+ik+8) = iiis(i,ik)
668 xll(iad+ik+8) = -nx(i)*ni_s(i,ik)
669 lll(iad+ik+24) = iiis(i,ik)
672 xll(iad+ik+24) = -ny(i)*ni_s(i,ik)
673 lll(iad+ik+40) = iiis(i,ik)
675 sll(iad+ik+40) = nint
676 xll(iad+ik+40) = -nz(i)*ni_s(i,ik)
678 comntag(nn) = comntag(nn) + 1
694 IF(nc+3>n_mul_mx)
THEN
695 CALL ancmsg(msgid=89,anmode=aninfo)
698 IF(iadll(nc+1)-1+16*3>nkmax)
THEN
699 CALL ancmsg(msgid=89,anmode=aninfo)
704 iadll(nc+1)=iadll(nc) + 16
707 lll(iad+ik) = iii(i,ik)
710 xll(iad+ik) = ni_m(i,ik)
711 lll(iad+ik+8) = iiis(i,ik)
714 xll(iad+ik+8) = -ni_s(i,ik)
716 comntag(nn) = comntag(nn) + 1
720 iadll(nc+1)=iadll(nc) + 16
723 lll(iad+ik) = iii(i,ik)
726 xll(iad+ik) = ni_m(i,ik)
727 lll(iad+ik+8) = iiis(i,ik)
730 xll(iad+ik+8) = -ni_s(i,ik)
732 comntag(nn) = comntag(nn) + 1
736 iadll(nc+1)=iadll(nc) + 16
739 lll(iad+ik) = iii(i,ik)
742 xll(iad+ik) = ni_m(i,ik)
743 lll(iad+ik+8) = iiis(i,ik)
746 xll(iad+ik+8) = -ni_s(i,ik)
748 comntag(nn) = comntag(nn) + 1
775#include "implicit_f.inc"
779#include "mvsiz_p.inc"
786 . xx(mvsiz,17),yy(mvsiz,17),zz(mvsiz,17)
788 . r(mvsiz),s(mvsiz),t(mvsiz),ni(mvsiz,17)
792 INTEGER I,J,IK,NK,ITER,NITERMAX,JTER,NJTERMAX,CONV
796 . DRDX(MVSIZ),DRDY(MVSIZ),DRDZ(MVSIZ),
797 . DSDX(MVSIZ),DSDY(MVSIZ),DSDZ(MVSIZ),
798 . DTDX(MVSIZ),DTDY(MVSIZ),DTDZ(MVSIZ),
799 . dxdr(mvsiz),dydr(mvsiz),dzdr(mvsiz),
800 . dxdt(mvsiz),dydt(mvsiz),dzdt(mvsiz),
801 . rr(mvsiz),ss(mvsiz),tt(mvsiz)
851 CALL i16deri(llt,rr ,ss ,tt ,ni ,
852 2 drdx ,drdy ,drdz ,dsdx ,dsdy ,dsdz ,
853 3 dtdx ,dtdy ,dtdz ,dxdr ,dydr
854 4 dxdt ,dydt ,dzdt ,xx ,yy ,zz )
863 CALL i16rstn(llt,rr,ss ,tt ,ni ,conv ,
864 2 drdx ,drdy ,drdz ,dsdx ,dsdy ,dsdz ,
865 3 dtdx ,dtdy ,dtdz ,xx ,yy ,zz ,
892 SUBROUTINE i17mini(LLT ,R_CS ,S_CS ,T_CS ,RI_S ,SI_S ,
893 2 TI_S ,NI_S ,XXS ,YYS ,ZZS ,XX ,
894 3 YY ,ZZ ,R_CM ,S_CM ,T_CM ,NX ,
895 4 NY ,NZ ,R_1S ,R_2S ,T_1S ,T_2S ,
896 5 R_1M ,R_2M ,R_3M ,R_4M ,T_1M ,T_2M ,
897 6 T_3M ,T_4M ,ICONT )
901#include "implicit_f.inc"
905#include "mvsiz_p.inc"
913 + si_s(mvsiz,*),ni_s(mvsiz,*),ri_s,ti_s ,
914 + xxs(mvsiz,*) ,yys(mvsiz,*) ,zzs(mvsiz,*) ,
915 + xx(mvsiz,*) ,yy(mvsiz,*) ,zz(mvsiz,*) ,
916 + r_cm(mvsiz) ,s_cm(mvsiz) ,t_cm(mvsiz),
917 + r_cs(mvsiz) ,s_cs(mvsiz) ,t_cs(mvsiz),
918 + r_1s(mvsiz) ,r_2s(mvsiz) ,t_1s(mvsiz) ,t_2s(mvsiz),
919 + r_1m(mvsiz) ,r_2m(mvsiz) ,t_1m(mvsiz) ,t_2m(mvsiz),
920 + r_3m(mvsiz) ,r_4m(mvsiz) ,t_3m(mvsiz) ,t_4m(mvsiz),
921 + nx(mvsiz) ,ny(mvsiz) ,nz(mvsiz)
925 INTEGER I,ITER,NITERMAX
927 + A1(MVSIZ),A2(MVSIZ),A3(MVSIZ),A4(MVSIZ),A5(MVSIZ),
928 + B1(MVSIZ),B2(MVSIZ),B3(MVSIZ),B4(MVSIZ),B5(MVSIZ),
929 + C1(MVSIZ),(MVSIZ),C3(MVSIZ),
930 + f1,f2,f3,f4,f5,f6,f7,f8,
931 + cc1,cc2,cc3,dd1,dd2,dd3,dd,d,
932 + a0,ab,ba,a4r,b4t,a5t,b5r,eps
1019 d = si_s(i,1)*si_s(i,1)+si_s(i,2)*si_s(i,2)
1020 + + si_s(i,3)*si_s(i,3)+si_s(i,4)*si_s(i,4)
1021 + + si_s(i,5)*si_s(i,5)+si_s(i,6)*si_s(i,6)
1022 + + si_s(i,7)*si_s(i,7)+si_s(i,8)*si_s(i,8)
1023 d = 1./
max(em20,sqrt(d))
1032 a0 = ( f1 + f2 + f3 + f4 )*half
1037 a2(i) = a0 - f6 - f8
1038 a3(i) = ( f1 - f2 + f3 - f4 )*fourth
1039 a4(i) = (-f1 + f2 + f3 - f4 )*half - ba
1040 a5(i) = (-f1 - f2 + f3 + f4 )*fourth - a1(i)
1044 b3(i) = a0 - f5 - f7
1045 b4(i) = (-f1 - f2 + f3 + f4 )*half + ab
1046 b5(i) = (-f1 + f2 + f3 - f4 )*fourth - b1(i)
1084 a4r = a4(i) * r_cs(i)
1085 a5t = a5(i) * t_cs(i)
1086 b4t = b4(i) * t_cs(i)
1087 b5r = b5(i) * r_cs(i)
1088 cc1 = a1(i) -(a4r + a5t) * t_cs(i)
1089 cc2 = a2(i) + a4(i) * t_cs(i)
1090 cc3 = a3(i) + a4r + a5t + a5t
1091 dd1 = b1(i) -(b4t + b5r )* r_cs(i)
1092 dd2 = b2(i) + b4t + b5r + b5r
1093 dd3 = b3(i) + b4(i) * r_cs(i)
1094 d = dd3 * cc2 - cc3 * dd2
1098 d = dd3 * cc2 - cc3 * dd2
1100 r_cs(i) = (cc3 * dd1 - dd3 * cc1) / d
1101 t_cs(i) = (dd2 * cc1 - cc2 * dd1) / d
1102 r_cs(i) =
max(-one,
min(one,r_cs(i)))
1103 t_cs(i) =
max(-one,
min(one,t_cs(i)))
1125 CALL i17abc(llt ,si_s,r_cs,t_cs,
1126 + b1 ,b2 ,b3 ,c1 ,c2 ,c3 )
1129 s_cm(i) = b1(i) + b2(i)*r_cs(i) + b3(i)*r_cs(i)*r_cs(i)
1133 IF(s_cm(i)>zero)
THEN
1153 CALL i17abc(llt ,ri_s,r_cs
1154 + b1 ,b2 ,b3 ,c1 ,c2 ,c3 )
1157 r_cm(i) = b1(i) + (b2(i) + b3
1167 CALL i17borne(llt ,r_2s,b3 ,b2 ,b1 ,icont(1,2),r_2m)
1168 CALL i17borne(llt ,t_1s,c3 ,c2 ,c1 ,icont(1,3),r_3m)
1169 CALL i17borne(llt ,t_2s,c3 ,c2 ,c1 ,icont(1,4),r_4m)
1173 CALL i17abc(llt ,ti_s,r_cs,t_cs,
1174 + b1 ,b2 ,b3 ,c1 ,c2 ,c3 )
1177 t_cm(i) = b1(i) + (b2(i) + b3(i)*r_cs(i))*r_cs(i)
1182 CALL i17borne(llt ,r_1s,b3 ,b2 ,b1 ,icont(1,1),t_1m)
1183 CALL i17borne(llt ,r_2s,b3 ,b2 ,b1 ,icont(1,2),t_2m)
1184 CALL i17borne(llt ,t_1s,c3 ,c2 ,c1 ,icont(1,3),t_3m)
1185 CALL i17borne(llt ,t_2s,c3 ,c2 ,c1 ,icont(1,4),t_4m)
1189 CALL i17abc(llt ,si_s,r_cs,t_cs,
1190 + b1 ,b2 ,b3 ,c1 ,c2 ,c3 )
1193 d = b1(i) + (b2(i) + b3(i)*r_1s(i)) * r_1s(i)
1194 IF(d<-one-eps.OR.d>one+eps) icont(i,1)=0
1195 d = b1(i) + (b2(i) + b3(i)*r_2s(i)) * r_2s(i)
1196 IF(d<-one-eps.OR.d>one+eps) icont(i,2)=0
1197 d = c1(i) + (c2(i) + c3(i)*t_1s(i)) * t_1s(i)
1198 IF(d<-one-eps.OR.d>one+eps) icont(i,3)=0
1199 d = c1(i) + (c2(i) + c3(i)*t_2s(i)) * t_2s(i)
1200 IF(d<-one-eps.OR.d>one+eps) icont(i,4)=0
1218 CALL i17abc(llt ,si_s,r_cs,t_cs,
1219 + b1 ,b2 ,b3 ,c1 ,c2 ,c3 )
1221 s_cm(i) = b1(i) + (b2(i) + b3(i)*r_cs(i))*r_cs(i)
1224 CALL i17abc(llt ,ri_s,r_cs,t_cs,
1225 + b1 ,b2 ,b3 ,c1 ,c2 ,c3 )
1227 r_cm(i) = b1(i) + (b2(i) + b3(i)*r_cs(i))*r_cs(i)
1230 CALL i17abc(llt ,ti_s,r_cs,t_cs,
1231 + b1 ,b2 ,b3 ,c1 ,c2 ,c3 )
1233 t_cm(i) = b1(i) + (b2(i) + b3(i)*r_cs(i))*r_cs(i)
1238 CALL i17norm(llt ,r_cs ,s_cs ,t_cs ,
1239 2 nx ,ny ,nz ,xxs ,yys ,zzs )
1458 + B1 ,B2 ,B3 ,C1 ,C2 ,C3 )
1493#include "implicit_f.inc"
1497#include "mvsiz_p.inc"
1503 + F(MVSIZ,*),R(MVSIZ),T(MVSIZ),
1504 + B1(MVSIZ),B2(MVSIZ),B3(MVSIZ),
1505 + C1(MVSIZ),C2(MVSIZ),(MVSIZ)
1511 + A1,A2,A3,A4,A5,A6,A7,A8,R2,,FF5,FF6,FF7,FF8
1514 ff5 = f(i,5) + f(i,5)
1515 ff6 = f(i,6) + f(i,6)
1516 ff7 = f(i,7) + f(i,7)
1517 ff8 = f(i,8) + f(i,8)
1522 a1 = (-f(i,1)-f(i,2)-f(i,3)-f(i,4)+ff5+ff6+ff7+ff8)
1525 a4 = (+f(i,1)-f(i,2)+f(i,3)-f(i,4) )
1526 a5 = (+f(i,1)+f(i,2)+f(i,3)+f(i,4) -ff6 -ff8)
1527 a6 = (+f(i,1)+f(i,2)+f(i,3)+f(i,4)-ff5 -ff7 )
1528 a7 = (-f(i,1)+f(i,2)+f(i,3)-f(i,4) -ff6 +ff8)
1529 a8 = (-f(i,1)-f(i,2)+f(i,3)+f(i,4)+ff5 -ff7 )
1532 b1(i) = ( a1 + ( a3 + a6 * t(i) ) *t(i) )*fourth
1533 b2(i) = ( a2 + ( a4 + a8 * t(i) ) *t(i) )*fourth
1534 b3(i) = ( a5 + a7 * t(i) )*fourth
1536 c1(i) = ( a1 + ( a2 + a5 * r(i) ) *r(i) )*fourth
1537 c2(i) = ( a3 + ( a4 + a7 * r(i) ) *r(i) )*fourth
1538 c3(i) = ( a6 + a8 * r(i) )*fourth
1550 2 NX ,NY ,NZ ,XX ,YY ,ZZ )
1556#include "implicit_f.inc"
1560#include "mvsiz_p.inc"
1567 . xx(mvsiz,*) ,yy(mvsiz,*),zz(mvsiz,*),
1568 . nx(mvsiz) ,ny(mvsiz) ,nz(mvsiz),
1569 . rr(mvsiz) ,ss(mvsiz) ,tt(mvsiz)
1575 . DXDR(MVSIZ), DYDR(MVSIZ), DZDR(MVSIZ),
1576 . DXDT(MVSIZ), DYDT(MVSIZ), DZDT(),
1577 . DNIDR(8),DNIDS(8),DNIDT(8)
1579 . U_M_R,U_P_R,U_M_S,U_P_S,U_M_T,U_P_T,
1580 . UMS_UMT,UMS_UPT,UPS_UMT,UPS_UPT,
1581 . UMR_UMS,UMR_UPS,UPR_UMS,UPR_UPS,
1582 . UMT_UMR,UMT_UPR,UPT_UMR,UPT_UPR,
1601 ums_umt = u_m_s * u_m_t
1602 ums_upt = u_m_s * u_p_t
1603 ups_umt = u_p_s * u_m_t
1604 ups_upt = u_p_s * u_p_t
1606 umr_ums = u_m_r * u_m_s
1607 umr_ups = u_m_r * u_p_s
1608 upr_ums = u_p_r * u_m_s
1609 upr_ups = u_p_r * u_p_s
1611 umt_umr = u_m_t * u_m_r
1612 umt_upr = u_m_t * u_p_r
1613 upt_umr = u_p_t * u_m_r
1614 upt_upr = u_p_t * u_p_r
1617 dnidr(1) = (-ums_umt - ups_umt) * a
1619 dnidr(2) = (-ums_upt - ups_upt) * a
1621 dnidr(3) = (ums_upt + ups_upt) * a
1623 dnidr(4) = (ums_umt + ups_umt) * a
1626 dnidt(1) = (-umr_ums - umr_ups) * a
1628 dnidt(2) = (umr_ums + umr_ups) * a
1630 dnidt(3) = (upr_ums + upr_ups) * a
1632 dnidt(4) = (-upr_ums - upr_ups) * a
1634 a = half*(one-rr(i)*rr(i))
1635 dnidt(6) = a * (u_m_s + u_p_s)
1638 dnidr(6) = a * (ums_upt + ups_upt)
1639 dnidr(8) = a * (ums_umt + ups_umt)
1641 a = half*(one-tt(i)*tt(i))
1642 dnidr(5) = -a * (u_m_s + u_p_s)
1645 dnidt(5) = a * (umr_ums + umr_ups)
1646 dnidt(7) = a * (upr_ums + upr_ups)
1650 dxdr(i) = dnidr(1)*xx(i,1) + dnidr(2)*xx(i,2) + dnidr(3)*xx(i,3)
1651 + + dnidr(4)*xx(i,4)
1652 + + dnidr(5)*(xx(i,5) - xx(i,7)) + dnidr(6)*xx(i,6)
1653 + + dnidr(8)*xx(i,8)
1655 dxdt(i) = dnidt(1)*xx(i,1) + dnidt(2)*xx(i,2) + dnidt(3)*xx(i,3)
1656 + + dnidt(4)*xx(i,4)
1657 + + dnidt(5)*xx(i,5) + dnidt(6)*(xx(i,6) - xx(i,8))
1658 + + dnidt(7)*xx(i,7)
1662 dydr(i) = dnidr(1)*yy(i,1) + dnidr(2)*yy(i,2) + dnidr(3)*yy(i,3)
1663 + + dnidr(4)*yy(i,4)
1664 + + dnidr(5)*(yy(i,5) - yy(i,7)) + dnidr(6)*yy(i,6)
1665 + + dnidr(8)*yy(i,8)
1667 dydt(i) = dnidt(1)*yy(i,1) + dnidt(2)*yy(i,2) + dnidt(3)*yy(i,3)
1668 + + dnidt(4)*yy(i,4)
1669 + + dnidt(5)*yy(i,5) + dnidt(6)*(yy(i,6) - yy(i,8))
1670 + + dnidt(7)*yy(i,7)
1674 dzdr(i) = dnidr(1)*zz(i,1) + dnidr(2)*zz(i,2) + dnidr(3)*zz(i,3)
1675 + + dnidr(4)*zz(i,4)
1676 + + dnidr(5)*(zz(i,5) - zz(i,7)) + dnidr(6)*zz(i,6)
1677 + + dnidr(8)*zz(i,8)
1679 dzdt(i) = dnidt(1)*zz(i,1) + dnidt(2)*zz(i,2) + dnidt(3)*zz(i,3)
1680 + + dnidt(4)*zz(i,4)
1681 + + dnidt(5)*zz(i,5) + dnidt(6)*(zz(i,6) - zz(i,8))
1682 + + dnidt(7)*zz(i,7)
1686 nx(i) = -dydt(i)*dzdr(i) + dzdt(i)*dydr(i)
1687 ny(i) = -dzdt(i)*dxdr(i) + dxdt(i)*dzdr(i)
1688 nz(i) = -dxdt(i)*dydr(i) + dydt(i)*dxdr(i)
1690 aa = one/sqrt(nx(i)*nx(i)+ny(i)*ny(i)+nz(i)*nz(i))