31 2 XLL ,CANDN ,CANDE ,I_STOK,IXS ,
32 3 IXS20 ,IADLL ,EMINX ,NSV ,NELEM ,
33 4 N_MUL_MX,ITASK ,A ,ITIED ,
34 5 NINT ,NKMAX ,COMNTAG)
38#include "implicit_f.inc"
52 INTEGER I_STOK,N_MUL_MX,ITASK,ITIED,NINT,NKMAX ,
53 . LLL(*),JLL(*),SLL(*),CANDN(*),CANDE(*),(*),
54 . IXS(NIXS,*),IXS20(12,*),IADLL(*),NSV(*) ,NELEM(*)
57 . x(3,*),v(3,*),xll(*),
62 INTEGER I,J,K,IK,IE,IS,IC,NK,III(MVSIZ,21),LLT,,LE,FIRST,LAST,
65 . XX(MVSIZ,21),YY(MVSIZ,21),ZZ(MVSIZ,21),
66 . aa,xmin,ymin,zmin,xmax,
ymax,zmax,dist
122 first = 1 + i_stok * itask / nthread
123 last = i_stok*(itask+1) / nthread
129 i20 = ie - numels8 - numels10
133 IF(i20.ge .1.AND.i20.le .numels20)
THEN
136 dist =
max(eminx(1,le)-x(1,is)-dt2*(v(1,is)+dt12*a(1,is)),
137 . x(1,is)+dt2*(v(1,is)+dt12*a(1,is))-eminx(4,le),dist)
138 dist =
max(eminx(2,le)-x(2,is)-dt2*(v(2,is)+dt12*a(2,is)),
139 . x(2,is)+dt2*(v(2,is)+dt12*a(2,is))-eminx(5,le),dist)
140 dist =
max(eminx(3,le)-x(3,is)-dt2*(v(3,is)+dt12*a(3,is)),
141 . x(3,is)+dt2*(v(3,is)+dt12*a(3,is))-eminx(6,le),dist)
146 IF(dist.le .zero)
THEN
156 iii(llt,k)=ixs(k+1,ie)
159 iii(llt,k+8)=ixs20(k,i20)
169 xx(llt,k)=0.500*(x(1,iii(llt,1))+x(1,iii(llt,2)))
170 yy(llt,k)=0.500*(x(2,iii(llt,1))+x(2,iii(llt,2)))
171 zz(llt,k)=0.500*(x(3,iii(llt,1))+x(3,iii(llt,2)))
174 xx(llt,k)=0.500*(x(1,iii(llt,2))+x(1,iii(llt,3)))
175 yy(llt,k)=0.500*(x(2,iii(llt,2))+x(2,iii(llt,3)))
176 zz(llt,k)=0.500*(x(3,iii(llt,2))+x(3,iii(llt,3)))
179 xx(llt,k)=0.500*(x(1,iii(llt,3))+x(1,iii(llt,4)))
180 yy(llt,k)=0.500*(x(2,iii(llt,3))+x(2,iii(llt,4)))
181 zz(llt,k)=0.500*(x(3,iii(llt,3))+x(3,iii(llt,4)))
184 xx(llt,k)=0.500*(x(1,iii(llt,4))+x(1,iii(llt,1)))
185 yy(llt,k)=0.500*(x(2,iii(llt,4))+x(2,iii(llt,1)))
186 zz(llt,k)=0.500*(x(3,iii(llt,4))+x(3,iii(llt,1)))
189 xx(llt,k)=0.500*(x(1,iii(llt,1))+x(1,iii(llt,5)))
190 yy(llt,k)=0.500*(x(2,iii(llt,1))+x(2,iii(llt,5)))
191 zz(llt,k)=0.500*(x(3,iii(llt,1))+x(3,iii(llt,5)))
194 xx(llt,k)=0.500*(x(1,iii(llt,2))+x(1,iii(llt,6)))
195 yy(llt,k)=0.500*(x(2,iii(llt,2))+x(2,iii(llt,6)))
196 zz(llt,k)=0.500*(x(3,iii(llt,2))+x(3,iii(llt,6)))
199 xx(llt,k)=0.500*(x(1,iii(llt,3))+x(1,iii(llt,7)))
200 yy(llt,k)=0.500*(x(2,iii(llt,3))+x(2,iii(llt,7)))
201 zz(llt,k)=0.500*(x(3,iii(llt,3))+x(3,iii(llt,7)))
204 xx(llt,k)=0.500*(x(1,iii(llt,4))+x(1,iii(llt,8)))
205 yy(llt,k)=0.500*(x(2,iii(llt,4))+x(2,iii(llt,8)))
206 zz(llt,k)=0.500*(x(3,iii(llt,4))+x(3,iii(llt,8)))
209 xx(llt,k)=0.500*(x(1,iii(llt,5))+x(1,iii(llt,6)))
210 yy(llt,k)=0.500*(x(2,iii(llt,5))+x(2,iii(llt,6)))
211 zz(llt,k)=0.500*(x(3,iii(llt,5))+x(3,iii(llt,6)))
214 xx(llt,k)=0.500*(x(1,iii(llt,6))+x(1,iii(llt,7)))
215 yy(llt,k)=0.500*(x(2,iii(llt,6))+x(2,iii(llt,7)))
216 zz(llt,k)=0.500*(x(3,iii(llt,6))+x(3,iii(llt,7)))
219 xx(llt,k)=0.500*(x(1,iii(llt,7))+x(1,iii(llt,8)))
220 yy(llt,k)=0.500*(x(2,iii(llt,7))+x(2,iii(llt,8)))
221 zz(llt,k)=0.500*(x(3,iii(llt,7))+x(3,iii(llt,8)))
224 xx(llt,k)=0.500*(x(1,iii(llt,5))+x(1,iii(llt,8)))
225 yy(llt,k)=0.500*(x(2,iii(llt,5))+x(2,iii(llt,8)))
226 zz(llt,k)=0.500*(x(3,iii(llt,5))+x(3,iii(llt,8)))
235 1 llt ,lll ,jll ,sll ,xll ,v ,
236 2 xx ,yy ,zz ,iii ,iadll ,
237 3 n_mul_mx ,a ,x ,itied ,nint ,nkmax ,
252 1 llt ,lll ,jll ,sll ,xll ,v ,
253 2 xx ,yy ,zz ,iii ,iadll ,
254 3 n_mul_mx ,a ,x ,itied ,nint ,nkmax ,
271 SUBROUTINE i20lll(LLT ,LLL ,JLL ,SLL ,XLL ,V ,
272 2 XX ,YY ,ZZ ,III ,IADLL ,
273 3 N_MUL_MX,A ,X ,ITIED,NINT ,NKMAX ,
282#include "implicit_f.inc"
283#include "comlock.inc"
287#include "mvsiz_p.inc"
291#include "com08_c.inc"
292 COMMON /lagglob/n_mult
297 INTEGER LLT,N_MUL_MX,ITIED,NINT ,NKMAX
298 INTEGER (*),JLL(*),SLL(*),COMNTAG(*),
299 . iii(mvsiz,21),iadll(*)
302 . xll(*),v(3,*),a(3,*)
308 INTEGER I,J,IK,NK,,I2,I3,I4,IAD,NN,J1,J2,IIK,
309 . (20),IPERM2(20),COMPTIK
313 . r(mvsiz),s(mvsiz),t(mvsiz),
314 . nsx(mvsiz), nsy(mvsiz), nsz(mvsiz),
315 . nx(mvsiz), ny(mvsiz), nz(mvsiz),
317 DATA iperm1 /0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,
319 DATA iperm2 /0,0,0,0,0,0,0,0,2,3,4,1,1,2,3,4,
327 CALL i20rst(llt ,r ,s ,t ,ni ,
328 2 nsx ,nsy ,nsz ,nx ,ny ,nz ,
338 IF(r(i)>=-one.AND.s(i)>=-one.AND.t(i)>=-one.AND.
339 . r(i)<= one.AND.s(i)<= one.AND.t(i)<= one)
THEN
346 vx = vx - (v(1,iii(i,ik))+dt12*a(1,iii(i,ik)))*ni(i,ik)
347 vy = vy - (v(2,iii(i,ik))+dt12*a(2,iii(i,ik)))*ni(i,ik)
348 vz = vz - (v(3,iii(i,ik))+dt12*a(3,iii(i,ik)))*ni(i,ik)
352 vx = vx - (v(1,iii(i,ik))+dt12*a(1,iii(i,ik)))*ni(i,ik)
353 vy = vy - (v(2,iii(i,ik))+dt12*a(2,iii(i,ik)))*ni(i,ik)
354 vz = vz - (v(3,iii(i,ik))+dt12*a(3,iii(i,ik)))*ni(i,ik)
365 vn = nsx(i)*vx + nsy(i)*vy + nsz(i)*vz
374 aa = one/sqrt(nsx(i)*nsx(i)+nsy(i)*nsy(i)+nsz(i)*nsz(i))
380 IF(n_mult>n_mul_mx)
THEN
381#include "lockoff.inc"
382 CALL ancmsg(msgid=84,anmode=aninfo)
385 iad = iadll(n_mult) - 1
396 lll(iad+iik) = iii(i,ik)
399 xll(iad+iik) = nsx(i)*ni(i,ik)
400 lll(iad+comptik+iik) = iii(i,ik)
401 jll(iad+comptik+iik) = 2
402 sll(iad+comptik+iik) = 0
403 xll(iad+comptik+iik) = nsy(i)*ni(i,ik)
404 lll(iad+(2*comptik)+iik) = iii(i,ik)
405 jll(iad+(2*comptik)+iik) = 3
406 sll(iad+(2*comptik)+iik) = 0
407 xll(iad+(2*comptik)+iik) = nsz(i)*ni(i,ik)
409 comntag(nn) = comntag(nn) + 1
413 xll(iad+j1)=xll(iad+j1)+0.5*(nsx(i)*ni(i,ik))
414 xll(iad+j2)=xll(iad+j2)+0.5*(nsx(i)*ni(i,ik))
415 xll(iad+comptik+j1)=xll(iad+comptik+j1)+
416 . 0.5*(nsy(i)*ni(i,ik))
417 xll(iad+comptik+j2)=xll(iad+comptik+j2)+
418 . 0.5*(nsy(i)*ni(i,ik))
419 xll(iad+(2*comptik)+j1)=xll(iad+(2*comptik)+j1)+
420 . 0.5*(nsz(i)*ni(i,ik))
421 xll(iad+(2*comptik)+j2)=xll(iad+(2*comptik)+j2)+
422 . 0.5*(nsz(i)*ni(i,ik))
425 iadll(n_mult+1)=iadll(n_mult)+(3*comptik)
426 IF(iadll(n_mult+1)-1>nkmax)
THEN
427#include "lockoff.inc"
428 CALL ancmsg(msgid=84,anmode=aninfo)
431 sll(iad+comptik) = nint
432 sll(iad+(2*comptik)) = nint
433 sll(iad+(3*comptik)) = nint
434#include "lockoff.inc"
446 IF(r(i)>=-one.AND.s(i)>=-one.AND.t(i)>=-one.AND.
447 . r(i)<= one.AND.s(i)<= one.AND.t(i)<= one)
THEN
454 vx = vx - (v(1,iii(i,ik))+dt12*a(1,iii(i,ik)))*ni(i,ik)
455 vy = vy - (v(2,iii(i,ik))+dt12*a(2,iii(i,ik)))*ni(i,ik)
456 vz = vz - (v(3,iii(i,ik))+dt12*a(3,iii(i,ik)))*ni(i,ik)
460 vx = vx - (v(1,iii(i,ik))+dt12*a(1,iii(i,ik)))*ni(i,ik)
461 vy = vy - (v(2,iii(i,ik))+dt12*a(2,iii(i,ik)))*ni(i,ik)
462 vz = vz - (v(3,iii(i,ik))+dt12*a(3,iii(i,ik)))*ni(i,ik)
473 vn = nx(i)*vx + ny(i)*vy + nz(i)*vz
482 IF(n_mult+3>n_mul_mx)
THEN
483#include "lockoff.inc"
484 CALL ancmsg(msgid=84,anmode=aninfo)
487 IF(iadll(n_mult+1)-1+21*3>nkmax)
THEN
488#include "lockoff.inc"
489 CALL ancmsg(msgid=84,anmode=aninfo)
494 iad = iadll(n_mult) - 1
499 lll(iad+iik) = iii(i,ik)
502 xll(iad+iik) = ni(i,ik)
504 comntag(nn) = comntag(nn) + 1
508 xll(iad+j1)=xll(iad+j1)+0.5*ni(i,ik)
509 xll(iad+j2)=xll(iad+j2)+0.5*ni(i,ik)
513 iadll(n_mult+1)=iadll(n_mult) + iik
516 iad = iadll(n_mult) - 1
521 lll(iad+iik) = iii(i,ik)
524 xll(iad+iik) = ni(i,ik)
526 comntag(nn) = comntag(nn) + 1
530 xll(iad+j1)=xll(iad+j1)+0.5*ni(i,ik)
531 xll(iad+j2)=xll(iad+j2)+0.5*ni(i,ik)
534 iadll(n_mult+1)=iadll(n_mult) + iik
538 iad = iadll(n_mult) - 1
543 lll(iad+iik) = iii(i,ik)
546 xll(iad+iik) = ni(i,ik)
548 comntag(nn) = comntag(nn) + 1
553 xll(iad+j2)=xll(iad+j2)+0.5*ni(i,ik)
556 iadll(n_mult+1)=iadll(n_mult) + iik
558#include "lockoff.inc"
570 IF(r(i)>=-one.AND.s(i)>=-one.AND.t(i)>=-one.AND.
571 . r(i)<= one.AND.s(i)<= one.AND.t(i)<= one)
THEN
577 IF(n_mult+3>n_mul_mx)
THEN
578#include "lockoff.inc"
579 CALL ancmsg(msgid=84,anmode=aninfo)
582 IF(iadll(n_mult+1)-1+21*3>nkmax)
THEN
583#include "lockoff.inc"
584 CALL ancmsg(msgid=84,anmode=aninfo)
588 iad = iadll(n_mult) - 1
593 lll(iad+iik) = iii(i,ik)
596 xll(iad+iik) = ni(i,ik)
598 comntag(nn) = comntag(nn) + 1
602 xll(iad+j1)=xll(iad+j1)+0.5*ni(i,ik)
603 xll(iad+j2)=xll(iad+j2)+0.5*ni(i,ik)
606 iadll(n_mult+1)=iadll(n_mult) + iik
610 iad = iadll(n_mult) - 1
615 lll(iad+iik) = iii(i,ik)
618 xll(iad+iik) = ni(i,ik)
620 comntag(nn) = comntag(nn) + 1
624 xll(iad+j1)=xll(iad+j1)+0.5*ni(i,ik)
625 xll(iad+j2)=xll(iad+j2)+0.5*ni(i,ik)
628 iadll(n_mult+1)=iadll(n_mult) + iik
632 iad = iadll(n_mult) - 1
637 lll(iad+iik) = iii(i,ik)
640 xll(iad+iik) = ni(i,ik)
642 comntag(nn) = comntag(nn) + 1
646 xll(iad+j1)=xll(iad+j1)+0.5*ni(i,ik)
647 xll(iad+j2)=xll(iad+j2)+0.5*ni(i,ik)
650 iadll(n_mult+1)=iadll(n_mult) + iik
653#include "lockoff.inc"
674 2 NSX ,NSY ,NSZ ,NX ,NY ,NZ ,
679#include "implicit_f.inc"
683#include "mvsiz_p.inc"
690 . (MVSIZ,21),(MVSIZ,21),ZZ(MVSIZ,21)
692 . R(MVSIZ),S(MVSIZ),T(MVSIZ),NI(MVSIZ,21) ,
693 . NSX(MVSIZ),NSY(MVSIZ),NSZ(MVSIZ),
694 . NX(MVSIZ),NY(MVSIZ),NZ(MVSIZ)
698 INTEGER I,J,IK,NK,ITER,NITERMAX,JTER,NJTERMAX,CONV
703 . drdx(mvsiz),drdy(mvsiz),drdz(mvsiz),
704 . dsdx(mvsiz),dsdy(mvsiz),dsdz(mvsiz),
705 . dtdx(mvsiz),dtdy(mvsiz),dtdz(mvsiz),
706 . dxdr(mvsiz),dydr(mvsiz),dzdr(mvsiz),
707 . dxds(mvsiz),dyds(mvsiz),dzds(mvsiz),
708 . dxdt(mvsiz),dydt(mvsiz),dzdt(mvsiz),
709 . rr(mvsiz),ss(mvsiz),tt(mvsiz)
759 CALL i20deri(llt,rr ,ss ,tt ,ni ,
760 2 drdx ,drdy ,drdz ,dsdx ,dsdy ,dsdz ,
761 3 dtdx ,dtdy ,dtdz ,dxdr ,dydr ,dzdr ,
762 4 dxds ,dyds ,dzds ,dxdt ,dydt ,dzdt ,
772 CALL i20rstn(llt,rr,ss ,tt ,ni ,conv ,
773 2 drdx ,drdy ,drdz ,dsdx ,dsdy ,dsdz ,
774 3 dtdx ,dtdy ,dtdz ,xx ,yy ,zz ,
783 CALL i20ni(llt,rr ,ss ,tt ,ni )
791 nsx(i) = dydt(i)*dzdr(i) - dzdt(i)*dydr(i)
792 nsy(i) = dzdt(i)*dxdr(i) - dxdt(i)*dzdr(i)
793 nsz(i) = dxdt(i)*dydr(i) - dydt(i)*dxdr(i)
811 nx(i) = nx(i) + rn * (dyds(i)*dzdt(i) - dzds(i)*dydt(i))
812 ny(i) = ny(i) + rn * (dzds(i)*dxdt(i) - dxds(i)*dzdt(i))
813 nz(i) = nz(i) + rn * (dxds(i)*dydt(i) - dyds(i)*dxdt(i))
821 nx(i) = nx(i) + tn * (dydr(i)*dzds(i) - dzdr(i)*dyds(i))
822 ny(i) = ny(i) + tn * (dzdr(i)*dxds(i) - dxdr(i)*dzds(i))
823 nz(i) = nz(i) + tn * (dxdr(i)*dyds(i) - dydr(i)*dxds(i))
932 2 DRDX ,DRDY ,DRDZ ,DSDX ,DSDY ,DSDZ ,
933 3 DTDX ,DTDY ,DTDZ ,XX ,YY ,ZZ ,
943#include "mvsiz_p.inc"
944#include "constant.inc"
950 . R(MVSIZ),S(MVSIZ),T(MVSIZ),NI(MVSIZ,21) ,
951 . rr(mvsiz),ss(mvsiz),tt(mvsiz),
952 . xx(mvsiz,21) ,yy(mvsiz,21) ,zz(mvsiz,21) ,
953 . drdx(mvsiz),drdy(mvsiz),drdz(mvsiz),
954 . dsdx(mvsiz),dsdy(mvsiz),dsdz(mvsiz),
955 . dtdx(mvsiz),dtdy(mvsiz),dtdz(mvsiz)
961 . dx ,dy,dz,dr ,ds,dt,err
968 + - ni(i, 1)*xx(i, 1) - ni(i, 2)*xx(i, 2) - ni(i, 3)*xx(i, 3)
969 + - ni(i, 4)*xx(i, 4) - ni(i, 5)*xx(i, 5) - ni(i, 6)*xx(i, 6)
970 + - ni(i, 7)*xx(i, 7) - ni(i, 8)*xx(i, 8) - ni(i, 9)*xx(i, 9)
971 + - ni(i,10)*xx(i,10) - ni(i,11)*xx(i,11) - ni(i,12)*xx(i,12)
972 + - ni(i,13)*xx(i,13) - ni(i,14)*xx(i,14) - ni(i,15)*xx(i,15)
973 + - ni(i,16)*xx(i,16) - ni(i,17)*xx(i,17) - ni(i,18)*xx(i,18)
974 + - ni(i,19)*xx(i,19) - ni(i,20)*xx(i,20)
976 + - ni(i, 1)*yy(i, 1) - ni(i, 2)*yy(i, 2) - ni(i, 3)*yy(i, 3)
977 + - ni(i, 4)*yy(i, 4) - ni(i, 5)*yy(i, 5) - ni(i, 6)*yy(i, 6)
978 + - ni(i, 7)*yy(i, 7) - ni(i, 8)*yy(i, 8) - ni(i, 9)*yy(i, 9)
979 + - ni(i,10)*yy(i,10) - ni(i,11)*yy(i,11) - ni(i,12)*yy(i,12)
980 + - ni(i,13)*yy(i,13) - ni(i,14)*yy(i,14) - ni(i,15)*yy(i,15)
981 + - ni(i,16)*yy(i,16) - ni(i,17)*yy(i,17) - ni(i,18)*yy(i,18)
982 + - ni(i,19)*yy(i,19) - ni(i,20)*yy(i,20)
984 + - ni(i, 1)*zz(i, 1) - ni(i, 2)*zz(i, 2) - ni(i, 3)*zz(i, 3)
985 + - ni(i, 4)*zz(i, 4) - ni(i, 5)*zz(i, 5) - ni(i, 6)*zz(i, 6)
986 + - ni(i, 7)*zz(i, 7) - ni(i, 8)*zz(i, 8) - ni(i, 9)*zz(i, 9)
987 + - ni(i,10)*zz(i,10) - ni(i,11)*zz(i,11) - ni(i,12)*zz(i,12)
988 + - ni(i,13)*zz(i,13) - ni(i,14)*zz(i,14) - ni(i,15)*zz(i,15)
989 + - ni(i,16)*zz(i,16) - ni(i,17)*zz(i,17) - ni(i,18)*zz(i,18)
990 + - ni(i,19)*zz(i,19) - ni(i,20)*zz(i,20)
992 dr = drdx(i)*dx + drdy(i)*dy + drdz(i)*dz
993 ds = dsdx(i)*dx + dsdy(i)*dy + dsdz(i)*dz
994 dt = dtdx(i)*dx + dtdy(i)*dy + dtdz(i)*dz
1011 IF(r(i)>=-one.AND.s(i)>=-one.AND.t(i)>=-one.AND.
1012 . r(i)<= one.AND.s(i)<= one.AND.t(i)<= one)
THEN
1013 err =
max(err,abs(dr),abs(ds),abs(dt))
1015 rr(i) =
max(
min(rr(i),one),-one)
1016 ss(i) =
max(
min(ss(i),one),-one)
1017 tt(i) =
max(
min(tt(i),one),-one)
1029 IF(err<em4) conv = 1
1039 2 DRDX ,DRDY ,DRDZ ,DSDX ,DSDY ,DSDZ ,
1040 3 DTDX ,DTDY ,DTDZ ,DXDR ,DYDR ,DZDR ,
1041 4 DXDS ,DYDS ,DZDS ,DXDT ,DYDT ,DZDT ,
1046#include "implicit_f.inc"
1050#include "mvsiz_p.inc"
1057 . DXDR(MVSIZ), DYDR(MVSIZ), DZDR(MVSIZ),
1058 . DXDS(MVSIZ), DYDS(MVSIZ), DZDS(MVSIZ),
1059 . DXDT(MVSIZ), DYDT(MVSIZ), DZDT(MVSIZ),
1060 . DRDX(MVSIZ), DSDX(MVSIZ), DTDX(MVSIZ),
1061 . DRDY(MVSIZ), DSDY(MVSIZ), DTDY(MVSIZ),
1062 . DRDZ(MVSIZ), DSDZ(MVSIZ), DTDZ(MVSIZ),
1063 . XX(MVSIZ,21) ,YY(MVSIZ,21),ZZ(MVSIZ,21),
1064 . NI(MVSIZ,21) ,RR(MVSIZ) ,SS(MVSIZ) ,TT(MVSIZ)
1070 . dnidr(20),dnids(20),dnidt(20),
1071 . d, aa, bb, det(mvsiz),r9 ,r13 ,s9 ,s10 ,s11 ,s12 ,t10 ,t14
1073 . u_m_r,u_p_r,u_m_s,u_p_s,u_m_t,u_p_t,
1074 . ums_umt,ums_upt,ups_umt,ups_upt,
1075 . umr_ums,umr_ups,upr_ums,upr_ups,
1076 . umt_umr,umt_upr,upt_umr,upt_upr,
1163 ums_umt = u_m_s * u_m_t
1164 ums_upt = u_m_s * u_p_t
1165 ups_umt = u_p_s * u_m_t
1166 ups_upt = u_p_s * u_p_t
1168 umr_ums = u_m_r * u_m_s
1169 umr_ups = u_m_r * u_p_s
1170 upr_ums = u_p_r * u_m_s
1171 upr_ups = u_p_r * u_p_s
1173 umt_umr = u_m_t * u_m_r
1174 umt_upr = u_m_t * u_p_r
1175 upt_umr = u_p_t * u_m_r
1176 upt_upr = u_p_t * u_p_r
1181 ni(i,1) = u_m_r * ums_umt * (-rr(i)-ss(i)-tt(i)-two)
1182 ni(i,2) = u_m_r * ums_upt * (-rr(i)-ss(i)+tt(i)-two)
1183 ni(i,3) = u_p_r * ums_upt * ( rr(i)-ss(i)+tt(i)-two)
1185 ni(i,5) = u_m_r * ups_umt * (-rr(i)+ss(i)-tt(i)-two)
1186 ni(i,6) = u_m_r * ups_upt * (-rr(i)+ss(i)+tt(i)-two)
1187 ni(i,7) = u_p_r * ups_upt * ( rr(i)+ss(i)+tt(i)-two)
1188 ni(i,8) = u_p_r * ups_umt * ( rr(i)+ss(i)-tt(i)-two)
1190 dnidr(1) = -ums_umt * (u_m_s + u_m_t - rr(i) -three_half)
1191 dnidr(2) = -ums_upt * (u_m_s + u_p_t - rr(i) -three_half)
1192 dnidr(3) = ums_upt * (u_m_s + u_p_t + rr(i) -three_half)
1193 dnidr(4) = ums_umt * (u_m_s + u_m_t + rr(i
1194 dnidr(5) = -ups_umt * (u_p_s + u_m_t - rr(i) -three_half)
1195 dnidr(6) = -ups_upt * (u_p_s
1196 dnidr(7) = ups_upt * (u_p_s + u_p_t + rr(i) -three_half)
1197 dnidr(8) = ups_umt * (u_p_s + u_m_t + rr(i) -three_half)
1199 dnids(1) = -umt_umr * (u_m_r + u_m_t - ss(i) -three_half)
1200 dnids(2) = -upt_umr * (u_m_r + u_p_t - ss(i) -three_half)
1201 dnids(3) = -upt_upr * (u_p_r + u_p_t - ss(i) -three_half)
1202 dnids(4) = -umt_upr * (u_p_r + u_m_t - ss(i) -three_half)
1203 dnids(5) = umt_umr * (u_m_r + u_m_t + ss(i) -three_half)
1204 dnids(6) = upt_umr * (u_m_r + u_p_t + ss(i) -three_half)
1206 dnids(8) = umt_upr * (u_p_r + u_m_t + ss(i) -three_half)
1208 dnidt(1) = -umr_ums * (u_m_r + u_m_s - tt(i) -three_half)
1209 dnidt(2) = umr_ums * (u_m_r + u_m_s + tt(i) -three_half)
1210 dnidt(3) = upr_ums * (u_p_r + u_m_s + tt(i) -three_half)
1211 dnidt(4) = -upr_ums * (u_p_r + u_m_s - tt(i) -three_half)
1212 dnidt(5) = -umr_ups * (u_m_r + u_p_s - tt(i) -three_half)
1213 dnidt(6) = umr_ups * (u_m_r + u_p_s + tt(i) -three_half)
1214 dnidt(7) = upr_ups * (u_p_r + u_p_s + tt(i) -three_half)
1215 dnidt(8) = -upr_ups * (u_p_r + u_p_s - tt(i) -three_half)
1217 a = (one-rr(i)*rr(i))
1218 ni(i,10) = a * ums_upt
1219 ni(i,12) = a * ums_umt
1220 ni(i,18) = a * ups_upt
1221 ni(i,20) = a * ups_umt
1224 dnidt(10) = a * u_m_s
1225 dnidt(18) = a * u_p_s
1226 dnidt(12) = -dnidt(10)
1227 dnidt(20) = -dnidt(18)
1229 dnids(18) = a * u_p_t
1230 dnids(20) = a * u_m_t
1231 dnids(10) = -dnids(18)
1232 dnids(12) = -dnids(20)
1235 dnidr(10) = a * ums_upt
1236 dnidr(12) = a * ums_umt
1237 dnidr(18) = a * ups_upt
1238 dnidr(20) = a * ups_umt
1240 a = (one-ss(i)*ss(i))
1241 ni(i,13) = a * umt_umr
1242 ni(i,14) = a * upt_umr
1243 ni(i,15) = a * upt_upr
1244 ni(i,16) = a * umt_upr
1247 dnidr(15) = a * u_p_t
1248 dnidr(16) = a * u_m_t
1249 dnidr(13) = -dnidr(16)
1250 dnidr(14) = -dnidr(15)
1252 dnidt(14) = a * u_m_r
1253 dnidt(15) = a * u_p_r
1254 dnidt(13) = -dnidt(14)
1255 dnidt(16) = -dnidt(15)
1258 dnids(13) = a * umt_umr
1259 dnids(14) = a * upt_umr
1260 dnids(15) = a * upt_upr
1261 dnids(16) = a * umt_upr
1263 a = (one-tt(i)*tt(i))
1264 ni(i,9) = a * umr_ums
1265 ni(i,11) = a * upr_ums
1266 ni(i,17) = a * umr_ups
1267 ni(i,19) = a * upr_ups
1272 dnidr(11) = a * u_m_s
1273 dnidr(19) = a * u_p_s
1274 dnidr(9) = -dnidr(11)
1275 dnidr(17) = -dnidr(19)
1277 dnids(17) = a * u_m_r
1278 dnids(19) = a * u_p_r
1279 dnids(9) = -dnids(17)
1280 dnids(11) = -dnids(19)
1283 dnidt(9) = a * umr_ums
1284 dnidt(11) = a * upr_ums
1285 dnidt(17) = a * umr_ups
1286 dnidt(19) = a * upr_ups
1297 dxdr(i) = dnidr(1)*xx(i,1) + dnidr(2)*xx(i,2) + dnidr(3)*xx(i,3)
1298 + + dnidr(4)*xx(i,4) + dnidr(5)*xx(i,5) + dnidr(6)*xx(i,6)
1299 + + dnidr(7)*xx(i,7) + dnidr(8)*xx(i,8)
1300 + + dnidr(9)*xx(i,9) + dnidr(10)*xx(i,10) + dnidr(11)*xx(i,11)
1301 + + dnidr(12)*xx(i,12) + dnidr(13)*xx(i,13) + dnidr(14)*xx(i,14)
1302 + + dnidr(15)*xx(i,15) + dnidr(16)*xx(i,16) + dnidr(17)*xx(i,17)
1303 + + dnidr(18)*xx(i,18) + dnidr(19)*xx(i,19) + dnidr(20)*xx(i,20)
1305 dxds(i) = dnids(1)*xx(i,1) + dnids(2)*xx(i,2) + dnids(3)*xx(i,3)
1306 + + dnids(4)*xx(i,4) + dnids(5)*xx(i,5) + dnids(6)*xx(i,6)
1307 + + dnids(7)*xx(i,7) + dnids(8)*xx(i,8)
1308 + + dnids(9)*xx(i,9) + dnids(10)*xx(i,10) + dnids(11)*xx(i,11)
1309 + + dnids(12)*xx(i,12) + dnids(13)*xx(i,13) + dnids(14)*xx(i,14)
1310 + + dnids(15)*xx(i,15) + dnids(16)*xx(i,16) + dnids(17)*xx(i,17)
1311 + + dnids(18)*xx(i,18) + dnids(19)*xx(i,19) + dnids(20)*xx(i,20)
1313 dxdt(i) = dnidt(1)*xx(i,1) + dnidt(2)*xx(i,2) + dnidt(3)*xx(i,3)
1314 + + dnidt(4)*xx(i,4) + dnidt(5)*xx(i,5) + dnidt(6)*xx(i,6)
1315 + + dnidt(7)*xx(i,7) + dnidt(8)*xx(i,8)
1316 + + dnidt(9)*xx(i,9) + dnidt(10)*xx(i,10) + dnidt(11)*xx(i,11)
1317 + + dnidt(12)*xx(i,12) + dnidt(13)*xx(i,13) + dnidt(14)*xx(i,14)
1318 + + dnidt(15)*xx(i,15) + dnidt(16)*xx(i,16) + dnidt(17)*xx(i,17)
1319 + + dnidt(18)*xx(i,18) + dnidt(19)*xx(i,19) + dnidt(20)*xx(i,20)
1323 dydr(i) = dnidr(1)*yy(i,1) + dnidr(2)*yy(i,2) + dnidr(3)*yy(i,3)
1324 + + dnidr(4)*yy(i,4) + dnidr(5)*yy(i,5) + dnidr(6)*yy(i,6)
1325 + + dnidr(7)*yy(i,7) + dnidr(8)*yy(i,8)
1326 + + dnidr(9)*yy(i,9) + dnidr(10)*yy(i,10) + dnidr(11)*yy(i,11)
1327 + + dnidr(12)*yy(i,12) + dnidr(13)*yy(i,13) + dnidr(14)*yy(i,14)
1328 + + dnidr(15)*yy(i,15) + dnidr(16)*yy(i,16) + dnidr(17)*yy(i,17)
1329 + + dnidr(18)*yy(i,18) + dnidr(19)*yy(i,19) + dnidr(20)*yy(i,20)
1331 dyds(i) = dnids(1)*yy(i,1) + dnids(2)*yy(i,2) + dnids(3)*yy(i,3)
1332 + + dnids(4)*yy(i,4) + dnids(5)*yy(i,5) + dnids(6)*yy(i,6)
1333 + + dnids(7)*yy(i,7) + dnids(8)*yy(i,8)
1334 + + dnids(9)*yy(i,9) + dnids(10)*yy(i,10) + dnids(11)*yy(i,11)
1335 + + dnids(12)*yy(i,12) + dnids(13)*yy(i,13) + dnids(14)*yy(i,14)
1336 + + dnids(15)*yy(i,15) + dnids(16)*yy(i,16) + dnids(17)*yy(i,17)
1337 + + dnids(18)*yy(i,18) + dnids(19)*yy(i,19) + dnids(20)*yy(i,20)
1339 dydt(i) = dnidt(1)*yy(i,1) + dnidt(2)*yy(i,2) + dnidt(3)*yy(i,3)
1340 + + dnidt(4)*yy(i,4) + dnidt(5)*yy(i,5) + dnidt(6)*yy(i,6)
1341 + + dnidt(7)*yy(i,7) + dnidt(8)*yy(i,8)
1342 + + dnidt(9)*yy(i,9) + dnidt(10)*yy(i,10) + dnidt(11)*yy(i,11)
1343 + + dnidt(12)*yy(i,12) + dnidt(13)*yy(i,13) + dnidt(14)*yy(i,14)
1344 + + dnidt(15)*yy(i,15) + dnidt(16)*yy
1345 + + dnidt(18)*yy(i,18) + dnidt(19)*yy(i,19) + dnidt(20)*yy(i,20)
1349 dzdr(i) = dnidr(1)*zz(i,1) + dnidr(2)*zz(i,2) + dnidr(3)*zz(i,3)
1350 + + dnidr(4)*zz(i,4) + dnidr(5)*zz(i,5) + dnidr(6)*zz(i,6)
1351 + + dnidr(7)*zz(i,7) + dnidr(8)*zz(i,8)
1352 + + dnidr(9)*zz(i,9) + dnidr(10)*zz(i,10) + dnidr(11)*zz(i,11)
1353 + + dnidr(12)*zz(i,12) + dnidr(13)*zz(i,13) + dnidr(14)*zz(i,14)
1354 + + dnidr(15)*zz(i,15) + dnidr(16)*zz(i,16) + dnidr(17)*zz(i,17)
1355 + + dnidr(18)*zz(i,18) + dnidr(19)*zz(i,19) + dnidr(20)*zz(i,20)
1357 dzds(i) = dnids(1)*zz(i,1) + dnids(2)*zz(i,2) + dnids(3)*zz(i,3)
1358 + + dnids(4)*zz(i,4) + dnids(5)*zz(i,5) + dnids(6)*zz(i,6)
1359 + + dnids(7)*zz(i,7) + dnids(8)*zz(i,8)
1360 + + dnids(9)*zz(i,9) + dnids(10)*zz(i,10) + dnids(11)*zz(i,11)
1361 + + dnids(12)*zz(i,12) + dnids(13)*zz(i,13) + dnids(14)*zz(i,14)
1362 + + dnids(15)*zz(i,15) + dnids(16)*zz(i,16) + dnids(17)*zz(i,17)
1363 + + dnids(18)*zz(i,18) + dnids(19)*zz(i,19) + dnids(20)*zz(i,20)
1365 dzdt(i) = dnidt(1)*zz(i,1) + dnidt(2)*zz(i,2) + dnidt(3)*zz(i,3)
1366 + + dnidt(4)*zz(i,4) + dnidt(5)*zz(i,5) + dnidt(6)*zz(i,6)
1367 + + dnidt(7)*zz(i,7) + dnidt(8)*zz(i,8)
1368 + + dnidt(9)*zz(i,9) + dnidt(10)*zz(i,10) + dnidt(11)*zz(i,11)
1369 + + dnidt(12)*zz(i,12) + dnidt(13)*zz(i,13) + dnidt(14)*zz(i,14)
1370 + + dnidt(15)*zz(i,15) + dnidt(16)*zz(i,16) + dnidt(17)*zz(i,17)
1371 + + dnidt(18)*zz(i,18) + dnidt(19)*zz(i,19) + dnidt(20)*zz(i,20)
1376 drdx(i)=dyds(i)*dzdt(i)-dzds(i)*dydt(i)
1377 drdy(i)=dzds(i)*dxdt(i)-dxds(i)*dzdt(i)
1378 drdz(i)=dxds(i)*dydt(i)-dyds(i)*dxdt(i)
1380 dsdz(i)=dxdt(i)*dydr(i)-dydt(i)*dxdr(i)
1381 dsdy(i)=dzdt(i)*dxdr(i)-dxdt(i)*dzdr(i)
1382 dsdx(i)=dydt(i)*dzdr(i)-dzdt(i)*dydr(i)
1384 dtdx(i)=dydr(i)*dzds(i)-dzdr(i)*dyds(i)
1385 dtdy(i)=dzdr(i)*dxds(i)-dxdr(i)*dzds(i)
1386 dtdz(i)=dxdr(i)*dyds(i)-dydr(i)*dxds(i)
1388 det(i) = dxdr(i) * drdx(i)
1389 . + dydr(i) * drdy(i)
1390 . + dzdr(i) * drdz(i)