34 2 XLL ,CANDN ,CANDE ,I_STOK,IXS ,
35 3 IXS16 ,IADLL ,EMINX ,NELES ,NELEM ,
36 4 NC ,N_MUL_MX,ITASK ,A ,ITIED ,
37 5 NINT ,NKMAX ,EMINXS ,COMNTAG)
38 use element_mod ,
only : nixs
42#include "implicit_f.inc"
53 COMMON /i17globi/ie_min,ies_min
54 COMMON /i17globr/vit_min
58 INTEGER NC,I_STOK,N_MUL_MX,ITASK,ITIED,NINT,NKMAX ,
59 . LLL(*),JLL(*),SLL(*),CANDN(*),CANDE(*),COMNTAG(*),
60 . IXS(NIXS,*),IXS16(8,*),IADLL(*),NELES(*) ,NELEM(*)
63 . x(3,*),v(3,*),xll(*),
64 . eminx(6,*),eminxs(6,*),a(3,*)
68 INTEGER I,J,K,IK,IE,IS,IC,NK,III(MVSIZ,17),,NFT,LE,FIRST,LAST,
69 . I16,LES,IES,IIIS(MVSIZ,16),NC_SAV,IEL(MVSIZ),IESL(MVSIZ),
72 . xx(mvsiz,17),yy(mvsiz,17),zz(mvsiz,17),
73 . xxs(mvsiz,16),yys(mvsiz,16),zzs(mvsiz,16),
74 . aa,xmin,ymin,zmin,xmax,
ymax,zmax,dist,vit_min
135 first = 1 + i_stok * itask / nthread
136 last = i_stok*(itask+1) / nthread
147 IF(le >0.AND.les>0.AND.
148 . eminxs(4,les)>eminx(1,le).AND.
149 . eminxs(5,les)>eminx(2,le).AND.
150 . eminxs(6,les)>eminx(3,le).AND.
151 . eminxs(1,les)<eminx(4,le).AND.
152 . eminxs(2,les)<eminx(5,le).AND.
153 . eminxs(3,les)<eminx(6,le))
THEN
162 iii(llt,k) =ixs(k+1,ie)
163 iii(llt,k+4) =ixs(k+5,ie)
164 iii(llt,k+8) =ixs16(k,ie-numels8-numels10-numels20)
165 iii(llt,k+12)=ixs16(k+4,ie-numels8-numels10-numels20)
167 iiis(llt,k) =ixs(k+1,ies)
168 iiis(llt,k+8) =ixs(k+5,ies)
169 iiis(llt,k+4)=ixs16(k,ies-numels8-numels10-numels20)
170 iiis(llt,k+12)=ixs16(k+4,ies-numels8-numels10-numels20)
180 xx(llt,k)=x(1,i)+half*dt2*(v(1,i)+dt12*a(1,i))
181 yy(llt,k)=x(2,i)+half*dt2*(v(2,i)+dt12*a(2,i))
182 zz(llt,k)=x(3,i)+half*dt2*(v(3,i)+dt12*a(3,i))
184 xxs(llt,k)=x(1,i)+half*dt2*(v(1,i)+dt12*a(1,i))
185 yys(llt,k)=x(2,i)+half*dt2*(v(2,i)+dt12*a(2,i))
186 zzs(llt,k)=x(3,i)+half*dt2*(v(3,i)+dt12*a(3,i))
196 1 llt ,lll ,jll ,sll ,xll ,v ,
197 2 xx ,yy ,zz ,iii ,nc ,iadll ,
198 3 n_mul_mx ,a ,x ,itied ,nint ,nkmax ,
199 4 xxs ,yys ,zzs ,iiis ,nc_sav ,vit_min ,
200 5 iel ,iesl ,ie_min ,ies_min ,itask ,comntag )
213 1 llt ,lll ,jll ,sll ,xll ,v ,
214 2 xx ,yy ,zz ,iii ,nc ,iadll ,
215 3 n_mul_mx ,a ,x ,itied ,nint ,nkmax ,
216 4 xxs ,yys ,zzs ,iiis ,nc_sav ,vit_min ,
217 5 iel ,iesl ,ie_min ,ies_min ,itask ,comntag )
233 SUBROUTINE i17lll(LLT ,LLL ,JLL ,SLL ,XLL ,V ,
234 2 XX ,YY ,ZZ ,III ,NC ,IADLL ,
235 3 N_MUL_MX,A ,X ,ITIED ,NINT ,NKMAX ,
236 4 XXS ,YYS ,ZZS ,IIIS ,NC_SAV,VIT_MIN,
237 5 IE ,IES ,IE_MIN,IES_MIN,ITASK ,COMNTAG)
241#include "implicit_f.inc"
243#include
"comlock.inc"
247#include "mvsiz_p.inc"
251 INTEGER LLT,NC,N_MUL_MX,ITIED,NINT ,NKMAX , ,IE_MIN,IES_MIN
252 INTEGER (*),JLL(*),SLL(*),ITASK,(*),
253 . III(MVSIZ,17),IADLL(*) ,IIIS(MVSIZ,16),IE(*) ,IES(*)
256 . XLL(*),V(3,*),A(3,*)
258 . XX(MVSIZ,17),YY(MVSIZ,
263 INTEGER I,J,IK,NK,I1,I2,I3,I4,IAD,ICON,
266 . vx,vy,vz,vn,aa,vv,pene
268 . r_cm(mvsiz),t_cm(mvsiz),s_cm(mvsiz),si_s(mvsiz,8),
269 . ri_s(mvsiz,8),ti_s(mvsiz,8),
270 . nx(mvsiz), ny(mvsiz), nz(mvsiz),
271 . ni_m(mvsiz,17),ni_s(mvsiz,8) ,
272 . r_1s(mvsiz) ,r_2s(mvsiz) ,t_1s(mvsiz) ,t_2s(mvsiz),
273 . r_1m(mvsiz) ,r_2m(mvsiz) ,t_1m(mvsiz) ,t_2m(mvsiz),
274 . r_3m(mvsiz) ,r_4m(mvsiz) ,t_3m(mvsiz) ,t_4m(mvsiz),
275 . r_cs(mvsiz) ,s_cs(mvsiz) ,t_cs(mvsiz) ,vit(mvsiz),
276 . r_s(mvsiz) ,t_s(mvsiz)
287 xx(i,17) = half *(xxs(i,5) +xxs(i,6) +xxs(i,7) +xxs(i,8))
288 . - fourth*(xxs(i,1) +xxs(i,2) +xxs(i,3) +xxs(i,4))
289 yy(i,17) = half *(yys(i,5) +yys(i,6) +yys(i,7) +yys(i,8))
290 . - fourth*(yys(i,1) +yys(i,2) +yys(i,3) +yys(i,4))
291 zz(i,17) = half *(zzs(i,5) +zzs(i,6) +zzs(i,7) +zzs(i,8))
292 . - fourth*(zzs(i,1) +zzs(i,2) +zzs(i,3) +zzs(i,4))
294 CALL i17rst(llt ,ri_s(1,1),si_s(1,1),ti_s(1,1),ni_m ,
300 xx(i,17) = half *(xxs(i,13)+xxs(i,14)+xxs(i,15)+xxs(i,16))
301 . - fourth*(xxs(i,9) +xxs(i,10)+xxs(i,11)+xxs(i,12))
302 yy(i,17) = half *(yys(i,13)+yys(i,14)+yys(i,15)+yys(i,16))
303 . - fourth*(yys(i,9) +yys(i,10)+yys(i,11)+yys(i,12))
304 zz(i,17) = half *(zzs(i,13)+zzs(i,14)+zzs(i,15)+zzs(i,16))
305 . - fourth*(zzs(i,9) +zzs(i,10)+zzs(i,11)+zzs(i,12))
307 CALL i17rst(llt ,ri_s(1,2),si_s(1,2),ti_s(1,2),ni_m ,
313 IF(abs(si_s(i,1))<=abs(si_s(i,2)))
THEN
319 iiis(i,1) = iiis(i,9)
320 iiis(i,2) = iiis(i,10)
321 iiis(i,3) = iiis(i,11)
322 iiis(i,4) = iiis(i,12)
323 iiis(i,5) = iiis(i,13)
324 iiis(i,6) = iiis(i,14)
325 iiis(i,7) = iiis(i,15)
326 iiis(i,8) = iiis(i,16)
367 CALL i17rst(llt ,ri_s(1,j),si_s(1,j),ti_s(1,j),ni_m ,
374 CALL i17mini(llt ,r_cs ,s_cs ,t_cs ,ri_s ,si_s ,
375 2 ti_s ,ni_s ,xxs ,yys ,zzs ,xx ,
376 3 yy ,zz ,r_cm ,s_cm ,t_cm ,nx
377 4 ny ,nz ,r_1s ,r_2s ,t_1s ,t_2s ,
378 5 r_1m ,r_2m ,r_3m ,r_4m ,t_1m ,t_2m ,
379 6 t_3m ,t_4m ,icont )
408 CALL i17vit4(llt ,nint ,v ,a ,iii ,iiis ,
409 2 ni_m ,ni_s ,nx ,ny ,nz ,vit ,
410 3 icont(1,1),r_1m ,t_1m ,r_1s ,t_cs ,s_cs ,
411 4 r_cm ,t_cm ,r_s ,t_s ,icont(1,1))
412 CALL i17vit4(llt ,nint ,v ,a ,iii ,iiis ,
413 2 ni_m ,ni_s ,nx ,ny ,nz ,vit ,
414 3 icont(1,2),r_2m ,t_2m ,r_2s ,t_cs ,s_cs ,
415 4 r_cm ,t_cm ,r_s ,t_s ,icont(1,1))
416 CALL i17vit4(llt ,nint ,v ,a ,iii ,iiis ,
417 2 ni_m ,ni_s ,nx ,ny ,nz ,vit ,
418 3 icont(1,3),r_3m ,t_3m ,r_cs ,t_1s ,s_cs ,
419 4 r_cm ,t_cm ,r_s ,t_s ,icont(1,1))
420 CALL i17vit4(llt ,nint ,v ,a ,iii ,iiis ,
421 2 ni_m ,ni_s ,nx ,ny ,nz ,vit ,
422 3 icont(1,4),r_4m ,t_4m ,r_cs ,t_2s ,s_cs ,
423 4 r_cm ,t_cm ,r_s ,t_s ,icont(1,1))
450 IF(vit(i)<vit_min.OR.
451 . (vit(i)==vit_min.AND.
453 . (ie(i)==ie_min.AND.ies(i)<ies_min))))
THEN
470 CALL i17lll4(llt ,lll ,jll ,sll ,xll ,n_mul_mx,
471 2 itied ,nint ,nkmax ,nc ,v ,a ,
472 3 iadll ,iii ,iiis ,ni_m ,ni_s ,
473 4 nx ,ny ,nz ,vit ,comntag,
474 5 icont(1,1),r_cm ,t_cm ,r_s ,t_s )
481#include "lockoff.inc"
491 SUBROUTINE i17vit4(LLT,NINT ,V ,A ,III ,IIIS ,
492 2 NI_M ,NI_S ,NX ,NY ,NZ ,VIT ,
493 3 ICONT ,RM ,TM ,RS ,TS ,SM ,
494 4 R_M ,T_M ,R_S ,T_S ,ICONTN )
498#include "implicit_f.inc"
502#include "mvsiz_p.inc"
507 INTEGER III(MVSIZ,17),IIIS(MVSIZ,16),
508 + ICONT(MVSIZ),ICONTN(MVSIZ)
511 . V(3,*),A(3,*),VIT(*)
513 . RM(MVSIZ) ,RS(MVSIZ) ,TM(MVSIZ) ,TS(MVSIZ) ,SM(MVSIZ),
514 . R_M(MVSIZ) ,R_S(MVSIZ) ,T_M(MVSIZ) ,T_S(MVSIZ) ,
515 . NI_M(MVSIZ,*) ,NI_S(MVSIZ,*),NX(MVSIZ) ,NY(MVSIZ) ,NZ(MVSIZ)
519 INTEGER I,J,IK,NK,I1,I2,I3,I4
523 . ni_ml(mvsiz,8) ,ni_sl(mvsiz,8)
527 CALL i17ni(llt,rm ,tm ,ni_ml )
531 CALL i17ni(llt,rs ,ts ,ni_sl )
551 vx = vx - (v(1,iii(i,ik)))*ni_ml(i,ik)
552 vy = vy - (v(2,iii(i,ik)))*ni_ml(i,ik)
553 vz = vz - (v(3,iii(i,ik)))*ni_ml(i,ik)
554 vx = vx + (v(1,iiis(i,ik)))*ni_sl(i,ik)
555 vy = vy + (v(2,iiis(i,ik)))*ni_sl(i,ik)
556 vz = vz + (v(3,iiis(i,ik)))*ni_sl(i,ik)
559 vn = nx(i)*vx + ny(i)*vy + nz(i)*vz
563 IF(sm(i)*vn<=vit(i))
THEN
574 ni_m(i,ik)=ni_ml(i,ik)
575 ni_s(i,ik)=ni_sl(i,ik)
597 SUBROUTINE i17lll4(LLT,LLL ,JLL ,SLL ,XLL ,N_MUL_MX,
598 2 ITIED ,NINT ,NKMAX ,NC ,V ,A ,
599 3 IADLL ,III ,IIIS ,NI_M ,NI_S ,
600 4 NX ,NY ,NZ ,VIT ,COMNTAG,
601 5 ICONT ,RM ,TM ,RS ,TS )
609#include "implicit_f.inc"
610#include "comlock.inc"
614#include "mvsiz_p.inc"
618 INTEGER LLT,NC,N_MUL_MX,ITIED,NINT ,NKMAX
619 INTEGER LLL(*),JLL(*),SLL(*),COMNTAG(*),
620 . iii(mvsiz,17),iadll(*) ,iiis(mvsiz,16),
624 . xll(*),v(3,*),a(3,*),vit(*)
626 . rm(mvsiz) ,rs(mvsiz) ,tm(mvsiz) ,ts(mvsiz) ,
627 . ni_m(mvsiz,*) ,ni_s(mvsiz,*),nx(mvsiz) ,ny(mvsiz) ,nz(mvsiz)
631 INTEGER I,J,IK,NK,I1,I2,I3,I4,IAD,NN
645 CALL ancmsg(msgid=89,anmode=aninfo)
648 iadll(nc+1)=iadll(nc) + 48
649 IF(iadll(nc+1)-1>nkmax)
THEN
650 CALL ancmsg(msgid=89,anmode=aninfo)
655 lll(iad+ik) = iii(i,ik)
658 xll(iad+ik) = nx(i)*ni_m(i,ik)
659 lll(iad+ik+16) = iii(i,ik)
662 xll(iad+ik+16) = ny(i)*ni_m(i,ik)
663 lll(iad+ik+32) = iii(i,ik)
666 xll(iad+ik+32) = nz(i)*ni_m(i,ik)
668 lll(iad+ik+8) = iiis(i,ik)
671 xll(iad+ik+8) = -nx(i)*ni_s(i,ik)
672 lll(iad+ik+24) = iiis(i,ik)
674 sll(iad+ik+24) = nint
675 xll(iad+ik+24) = -ny(i)*ni_s(i,ik)
676 lll(iad+ik+40) = iiis(i,ik)
678 sll(iad+ik+40) = nint
679 xll(iad+ik+40) = -nz(i)*ni_s(i,ik)
681 comntag(nn) = comntag(nn) + 1
697 IF(nc+3>n_mul_mx)
THEN
698 CALL ancmsg(msgid=89,anmode=aninfo)
701 IF(iadll(nc+1)-1+16*3>nkmax)
THEN
702 CALL ancmsg(msgid=89,anmode=aninfo)
707 iadll(nc+1)=iadll(nc) + 16
710 lll(iad+ik) = iii(i,ik)
713 xll(iad+ik) = ni_m(i,ik)
714 lll(iad+ik+8) = iiis(i,ik)
717 xll(iad+ik+8) = -ni_s(i,ik)
719 comntag(nn) = comntag(nn) + 1
723 iadll(nc+1)=iadll(nc) + 16
726 lll(iad+ik) = iii(i,ik)
729 xll(iad+ik) = ni_m(i,ik)
730 lll(iad+ik+8) = iiis(i,ik)
733 xll(iad+ik+8) = -ni_s(i,ik)
735 comntag(nn) = comntag(nn) + 1
739 iadll(nc+1)=iadll(nc) + 16
742 lll(iad+ik) = iii(i,ik)
745 xll(iad+ik) = ni_m(i,ik)
746 lll(iad+ik+8) = iiis(i,ik)
749 xll(iad+ik+8) = -ni_s(i,ik)
751 comntag(nn) = comntag(nn) + 1
778#include
"implicit_f.inc"
782#include "mvsiz_p.inc"
789 . xx(mvsiz,17),yy(mvsiz,17),zz(mvsiz,17)
791 . r(mvsiz),s(mvsiz),t(mvsiz),ni(mvsiz,17)
795 INTEGER I,J,IK,NK,ITER,NITERMAX,JTER,NJTERMAX,CONV
799 . DRDX(MVSIZ),DRDY(MVSIZ),DRDZ(MVSIZ),
800 . DSDX(MVSIZ),DSDY(MVSIZ),DSDZ(MVSIZ),
801 . DTDX(MVSIZ),DTDY(MVSIZ),DTDZ(MVSIZ),
802 . dxdr(mvsiz),dydr(mvsiz),dzdr(mvsiz),
803 . dxdt(mvsiz),dydt(mvsiz),dzdt(mvsiz),
804 . rr(mvsiz),ss(mvsiz),tt(mvsiz)
854 CALL i16deri(llt,rr ,ss ,tt ,ni ,
855 2 drdx ,drdy ,drdz ,dsdx ,dsdy ,dsdz ,
856 3 dtdx ,dtdy ,dtdz ,dxdr ,dydr ,dzdr ,
857 4 dxdt ,dydt ,dzdt ,xx ,yy ,zz )
866 CALL i16rstn(llt,rr,ss ,tt ,ni ,conv ,
867 2 drdx ,drdy ,drdz ,dsdx ,dsdy ,dsdz ,
868 3 dtdx ,dtdy ,dtdz ,xx ,yy ,zz ,
877 CALL i16ni(llt,rr ,ss ,tt ,ni )
895 SUBROUTINE i17mini(LLT ,R_CS ,S_CS ,T_CS ,RI_S ,SI_S ,
896 2 TI_S ,NI_S ,XXS ,YYS ,ZZS ,XX ,
897 3 YY ,ZZ ,R_CM ,S_CM ,T_CM ,NX ,
898 4 NY ,NZ ,R_1S ,R_2S ,T_1S ,T_2S ,
899 5 R_1M ,R_2M ,R_3M ,R_4M ,T_1M ,T_2M ,
900 6 T_3M ,T_4M ,ICONT )
904#include "implicit_f.inc"
908#include "mvsiz_p.inc"
916 + si_s(mvsiz,*),ni_s(mvsiz,*),ri_s,ti_s ,
917 + xxs(mvsiz,*) ,yys(mvsiz,*) ,zzs(mvsiz,*) ,
918 + xx(mvsiz,*) ,yy(mvsiz,*) ,zz(mvsiz,*) ,
919 + r_cm(mvsiz) ,s_cm(mvsiz) ,t_cm(mvsiz),
920 + r_cs(mvsiz) ,s_cs(mvsiz) ,t_cs(mvsiz),
921 + r_1s(mvsiz) ,r_2s(mvsiz) ,t_1s(mvsiz) ,t_2s(mvsiz),
922 + r_1m(mvsiz) ,r_2m(mvsiz) ,t_1m(mvsiz) ,t_2m(mvsiz),
923 + r_3m(mvsiz) ,r_4m(mvsiz) ,t_3m(mvsiz) ,t_4m(mvsiz),
924 + nx(mvsiz) ,ny(mvsiz) ,nz(mvsiz)
928 INTEGER I,ITER,NITERMAX
930 + A1(MVSIZ),A2(MVSIZ),A3(MVSIZ),A4(MVSIZ),A5(MVSIZ),
931 + B1(MVSIZ),B2(MVSIZ),B3(MVSIZ),B4(MVSIZ),B5(MVSIZ),
932 + C1(MVSIZ),C2(MVSIZ),C3(MVSIZ),
933 + f1,f2,f3,f4,f5,f6,f7,f8,
934 + cc1,cc2,cc3,dd1,dd2,dd3,dd,d,
935 + a0,ab,ba,a4r,b4t,a5t,b5r,eps
1022 d = si_s(i,1)*si_s(i,1)+si_s(i,2)*si_s(i,2)
1023 + + si_s(i,3)*si_s(i,3)+si_s(i,4)*si_s(i,4)
1024 + + si_s(i,5)*si_s(i,5)+si_s(i,6)*si_s(i,6)
1025 + + si_s(i,7)*si_s(i,7)+si_s(i,8)*si_s(i,8)
1026 d = 1./
max(em20,sqrt(d))
1035 a0 = ( f1 + f2 + f3 + f4 )*half
1040 a2(i) = a0 - f6 - f8
1041 a3(i) = ( f1 - f2 + f3 - f4 )*fourth
1042 a4(i) = (-f1 + f2 + f3 - f4 )*half - ba
1043 a5(i) = (-f1 - f2 + f3 + f4 )*fourth - a1(i)
1047 b3(i) = a0 - f5 - f7
1048 b4(i) = (-f1 - f2 + f3 + f4 )*half + ab
1049 b5(i) = (-f1 + f2 + f3 - f4 )*fourth - b1(i)
1087 a4r = a4(i) * r_cs(i)
1088 a5t = a5(i) * t_cs(i)
1089 b4t = b4(i) * t_cs(i)
1090 b5r = b5(i) * r_cs(i)
1091 cc1 = a1(i) -(a4r + a5t) * t_cs(i)
1092 cc2 = a2(i) + a4(i) * t_cs(i)
1093 cc3 = a3(i) + a4r + a5t + a5t
1094 dd1 = b1(i) -(b4t + b5r )* r_cs(i)
1095 dd2 = b2(i) + b4t + b5r + b5r
1096 dd3 = b3(i) + b4(i) * r_cs(i)
1097 d = dd3 * cc2 - cc3 * dd2
1101 d = dd3 * cc2 - cc3 * dd2
1103 r_cs(i) = (cc3 * dd1 - dd3 * cc1) / d
1104 t_cs(i) = (dd2 * cc1 - cc2 * dd1) / d
1105 r_cs(i) =
max(-one,
min(one,r_cs(i)))
1106 t_cs(i) =
max(-one,
min(one,t_cs(i)))
1128 CALL i17abc(llt ,si_s,r_cs,t_cs,
1129 + b1 ,b2 ,b3 ,c1 ,c2 ,c3 )
1132 s_cm(i) = b1(i) + b2(i)*r_cs(i) + b3(i)*r_cs(i)*r_cs(i)
1136 IF(s_cm(i)>zero)
THEN
1156 CALL i17abc(llt ,ri_s,r_cs,t_cs,
1157 + b1 ,b2 ,b3 ,c1 ,c2 ,c3 )
1160 r_cm(i) = b1(i) + (b2(i) + b3(i)*r_cs(i))*r_cs(i)
1169 CALL i17borne(llt ,r_1s,b3 ,b2 ,b1 ,icont(1,1),r_1m)
1170 CALL i17borne(llt ,r_2s,b3 ,b2 ,b1 ,icont(1,2),r_2m)
1171 CALL i17borne(llt ,t_1s,c3 ,c2 ,c1 ,icont(1,3),r_3m)
1172 CALL i17borne(llt ,t_2s,c3 ,c2 ,c1 ,icont(1,4),r_4m)
1176 CALL i17abc(llt ,ti_s,r_cs,t_cs,
1177 + b1 ,b2 ,b3 ,c1 ,c2 ,c3 )
1180 t_cm(i) = b1(i) + (b2(i) + b3(i)*r_cs(i))*r_cs(i)
1185 CALL i17borne(llt ,r_1s,b3 ,b2 ,b1 ,icont(1,1),t_1m)
1186 CALL i17borne(llt ,r_2s,b3 ,b2 ,b1 ,icont(1,2),t_2m)
1187 CALL i17borne(llt ,t_1s,c3 ,c2 ,c1 ,icont(1,3),t_3m)
1188 CALL i17borne(llt ,t_2s,c3 ,c2 ,c1 ,icont(1,4),t_4m)
1192 CALL i17abc(llt ,si_s,r_cs,t_cs,
1193 + b1 ,b2 ,b3 ,c1 ,c2 ,c3 )
1196 d = b1(i) + (b2(i) + b3(i)*r_1s(i)) * r_1s(i)
1197 IF(d<-one-eps.OR.d>one+eps) icont(i,1)=0
1198 d = b1(i) + (b2(i) + b3(i)*r_2s(i)) * r_2s(i)
1199 IF(d<-one-eps.OR.d>one+eps) icont(i,2)=0
1200 d = c1(i) + (c2(i) + c3(i)*t_1s(i)) * t_1s(i)
1201 IF(d<-one-eps.OR.d>one+eps) icont(i,3)=0
1202 d = c1(i) + (c2(i) + c3(i)*t_2s(i)) * t_2s(i)
1203 IF(d<-one-eps.OR.d>one+eps) icont(i,4)=0
1221 CALL i17abc(llt ,si_s,r_cs,t_cs,
1222 + b1 ,b2 ,b3 ,c1 ,c2 ,c3 )
1224 s_cm(i) = b1(i) + (b2(i) + b3(i)*r_cs(i))*r_cs(i)
1227 CALL i17abc(llt ,ri_s,r_cs,t_cs,
1228 + b1 ,b2 ,b3 ,c1 ,c2 ,c3 )
1230 r_cm(i) = b1(i) + (b2(i) + b3(i)*r_cs(i))*r_cs(i)
1233 CALL i17abc(llt ,ti_s,r_cs,t_cs,
1234 + b1 ,b2 ,b3 ,c1 ,c2 ,c3 )
1236 t_cm(i) = b1(i) + (b2(i) + b3(i)*r_cs(i))*r_cs(i)
1241 CALL i17norm(llt ,r_cs ,s_cs ,t_cs ,
1242 2 nx ,ny ,nz ,xxs ,yys ,zzs )
1461 + B1 ,B2 ,B3 ,C1 ,C2 ,C3 )
1496#include "implicit_f.inc"
1500#include "mvsiz_p.inc"
1506 + F(MVSIZ,*),R(),T(),
1507 + (MVSIZ),B2(MVSIZ),B3(MVSIZ),
1508 + C1(MVSIZ),C2(MVSIZ),C3(MVSIZ)
1514 + A1,A2,A3,A4,A5,A6,A7,A8,R2,T2,FF5,FF6,FF7,FF8
1517 ff5 = f(i,5) + f(i,5)
1518 ff6 = f(i,6) + f(i,6)
1519 ff7 = f(i,7) + f(i,7)
1520 ff8 = f(i,8) + f(i,8)
1525 a1 = (-f(i,1)-f(i,2)-f(i,3)-f(i,4)+ff5+ff6+ff7+ff8)
1528 a4 = (+f(i,1)-f(i,2)+f(i,3)-f(i,4) )
1529 a5 = (+f(i,1)+f(i,2)+f(i,3)+f(i,4) -ff6 -ff8)
1530 a6 = (+f(i,1)+f(i,2)+f(i,3)+f(i,4)-ff5 -ff7 )
1531 a7 = (-f(i,1)+f(i,2)+f(i,3)-f(i,4) -ff6 +ff8)
1532 a8 = (-f(i,1)-f(i,2)+f(i,3)+f(i,4)+ff5 -ff7 )
1535 b1(i) = ( a1 + ( a3 + a6 * t(i) ) *t(i) )*fourth
1536 b2(i) = ( a2 + ( a4 + a8 * t(i) ) *t(i) )*fourth
1537 b3(i) = ( a5 + a7 * t(i) )*fourth
1539 c1(i) = ( a1 + ( a2 + a5 * r(i) ) *r(i) )*fourth
1540 c2(i) = ( a3 + ( a4 + a7 * r(i) ) *r(i) )*fourth
1541 c3(i) = ( a6 + a8 * r(i) )*fourth
1553 2 NX ,NY ,NZ ,XX ,YY ,ZZ )
1559#include "implicit_f.inc"
1563#include "mvsiz_p.inc"
1570 . xx(mvsiz,*) ,yy(mvsiz,*),zz(mvsiz,*),
1571 . nx(mvsiz) ,ny(mvsiz) ,nz(mvsiz),
1572 . rr(mvsiz) ,ss(mvsiz) ,tt(mvsiz)
1578 . DXDR(MVSIZ), DYDR(MVSIZ), DZDR(MVSIZ),
1579 . DXDT(MVSIZ), DYDT(MVSIZ), DZDT(MVSIZ),
1580 . DNIDR(8),DNIDS(8),DNIDT(8)
1582 . U_M_R,U_P_R,U_M_S,U_P_S,U_M_T,U_P_T,
1583 . UMS_UMT,UMS_UPT,UPS_UMT,UPS_UPT,
1584 . UMR_UMS,UMR_UPS,UPR_UMS,UPR_UPS,
1585 . UMT_UMR,UMT_UPR,UPT_UMR,UPT_UPR,
1604 ums_umt = u_m_s * u_m_t
1605 ums_upt = u_m_s * u_p_t
1606 ups_umt = u_p_s * u_m_t
1607 ups_upt = u_p_s * u_p_t
1609 umr_ums = u_m_r * u_m_s
1610 umr_ups = u_m_r * u_p_s
1611 upr_ums = u_p_r * u_m_s
1612 upr_ups = u_p_r * u_p_s
1614 umt_umr = u_m_t * u_m_r
1615 umt_upr = u_m_t * u_p_r
1616 upt_umr = u_p_t * u_m_r
1617 upt_upr = u_p_t * u_p_r
1620 dnidr(1) = (-ums_umt - ups_umt) * a
1622 dnidr(2) = (-ums_upt - ups_upt) * a
1624 dnidr(3) = (ums_upt + ups_upt) * a
1626 dnidr(4) = (ums_umt + ups_umt) * a
1629 dnidt(1) = (-umr_ums - umr_ups) * a
1631 dnidt(2) = (umr_ums + umr_ups) * a
1633 dnidt(3) = (upr_ums + upr_ups) * a
1635 dnidt(4) = (-upr_ums - upr_ups) * a
1637 a = half*(one-rr(i)*rr(i))
1638 dnidt(6) = a * (u_m_s + u_p_s)
1641 dnidr(6) = a * (ums_upt + ups_upt)
1642 dnidr(8) = a * (ums_umt + ups_umt)
1644 a = half*(one-tt(i)*tt(i))
1645 dnidr(5) = -a * (u_m_s + u_p_s)
1648 dnidt(5) = a * (umr_ums + umr_ups)
1649 dnidt(7) = a * (upr_ums + upr_ups)
1653 dxdr(i) = dnidr(1)*xx(i,1) + dnidr(2)*xx(i,2) + dnidr(3)*xx(i,3)
1654 + + dnidr(4)*xx(i,4)
1655 + + dnidr(5)*(xx(i,5) - xx(i,7)) + dnidr(6)*xx(i,6)
1656 + + dnidr(8)*xx(i,8)
1658 dxdt(i) = dnidt(1)*xx(i,1) + dnidt(2)*xx(i,2) + dnidt(3)*xx(i,3)
1659 + + dnidt(4)*xx(i,4)
1660 + + dnidt(5)*xx(i,5) + dnidt(6)*(xx(i,6) - xx(i,8))
1661 + + dnidt(7)*xx(i,7)
1665 dydr(i) = dnidr(1)*yy(i,1) + dnidr(2)*yy(i,2) + dnidr(3)*yy(i,3)
1666 + + dnidr(4)*yy(i,4)
1667 + + dnidr(5)*(yy(i,5) - yy(i,7)) + dnidr(6)*yy(i,6)
1668 + + dnidr(8)*yy(i,8)
1670 dydt(i) = dnidt(1)*yy(i,1) + dnidt(2)*yy(i,2) + dnidt(3)*yy(i,3)
1671 + + dnidt(4)*yy(i,4)
1672 + + dnidt(5)*yy(i,5) + dnidt(6)*(yy(i,6) - yy(i,8))
1673 + + dnidt(7)*yy(i,7)
1677 dzdr(i) = dnidr(1)*zz(i,1) + dnidr(2)*zz(i,2) + dnidr(3)*zz(i,3)
1678 + + dnidr(4)*zz(i,4)
1679 + + dnidr(5)*(zz(i,5) - zz(i,7)) + dnidr(6)*zz(i,6)
1680 + + dnidr(8)*zz(i,8)
1682 dzdt(i) = dnidt(1)*zz(i,1) + dnidt(2)*zz(i,2) + dnidt(3)*zz(i,3)
1683 + + dnidt(4)*zz(i,4)
1684 + + dnidt(5)*zz(i,5) + dnidt(6)*(zz(i,6) - zz(i,8))
1685 + + dnidt(7)*zz(i,7)
1689 nx(i) = -dydt(i)*dzdr(i) + dzdt(i)*dydr(i)
1690 ny(i) = -dzdt(i)*dxdr(i) + dxdt(i)*dzdr(i)
1691 nz(i) = -dxdt(i)*dydr(i) + dydt(i)*dxdr(i)
1693 aa = one/sqrt(nx(i)*nx(i)+ny(i)*ny(i)+nz(i)*nz(i))