41 SUBROUTINE srcoor3(X ,IXS ,V ,W ,GAMA0 ,GAMA ,
42 . X1 ,X2 ,X3 ,X4 ,X5 ,X6 ,X7 ,X8 ,
43 . Y1 ,Y2 ,Y3 ,Y4 ,Y5 ,Y6 ,Y7 ,Y8 ,
44 . Z1 ,Z2 ,Z3 ,Z4 ,Z5 ,Z6 ,Z7 ,Z8 ,
45 . VX1 ,VX2 ,VX3 ,VX4 ,VX5 ,VX6 ,VX7 ,VX8 ,
46 . VY1 ,VY2 ,VY3 ,VY4 ,VY5 ,VY6 ,VY7 ,VY8 ,
47 . VZ1 ,VZ2 ,VZ3 ,VZ4 ,VZ5 ,VZ6 ,VZ7 ,VZ8 ,
48 . VD2 ,VIS ,OFFG ,OFF ,SAV ,RHO ,RHOO ,R11 ,
49 . R12 ,R13 ,R21 ,R22 ,R23 ,R31 ,R32 ,R33 ,
50 . NC1 ,NC2 ,NC3 ,NC4 ,NC5 ,NC6 ,NC7 ,NC8 ,
51 . NGL ,MXT ,NGEO ,IOUTPRT,VGAX ,VGAY ,VGAZ ,VGA2 ,
52 . XD1 ,XD2 ,XD3 ,XD4 ,XD5 ,XD6 ,XD7 ,XD8 ,
53 . YD1 ,YD2 ,YD3 ,YD4 ,YD5 ,YD6 ,YD7 ,YD8 ,
54 . ZD1 ,ZD2 ,ZD3 ,ZD4 ,ZD5 ,ZD6 ,ZD7 ,ZD8 ,
55 . XDP ,X0 ,Y0 ,Z0 ,NEL ,XGAX ,XGAY ,XGAZ ,
56 . XGXA2,XGYA2 ,XGZA2 ,XGXYA ,XGYZA ,XGZXA ,IPARG ,GAMA_R)
57 use element_mod ,
only : nixs
61#include "implicit_f.inc"
69#include "vect01_c.inc"
78 . X(3,*),V(3,*),W(3,*), VIS(*),
79 . X1(*), X2(*), X3(*), X4(*), X5(*), X6(*), X7(*), X8(*),
80 . Y1(*), Y2(*), Y3(*), Y4(*), Y5(*), Y6(*), Y7(*), Y8(*),
81 . Z1(*), Z2(*), Z3(*), Z4(*), Z5(*), Z6(*), Z7(*), (*),
82 . VX1(*), VX2(*), VX3(*), VX4(*), VX5(*), VX6(*), VX7(*), VX8(*),
83 . VY1(*), VY2(*), VY3(*), VY4(*), VY5(*), VY6(*), VY7(*), VY8(*),
84 . VZ1(*), VZ2(*), VZ3(*), VZ4(*), VZ5(*), VZ6(*), VZ7(*), VZ8(*),
85 . VD2(*), (*), OFF(*), RHO(*), RHOO(*),
86 . R11(MVSIZ),R12(MVSIZ),R13(MVSIZ),
87 . R21(MVSIZ),R22(MVSIZ),R23(MVSIZ),
88 . R31(MVSIZ),R32(MVSIZ),R33(MVSIZ),
89 . GAMA0(,6),GAMA(MVSIZ,6) ,VGAX(*), VGAY(*), VGAZ(*), VGA2(*),
90 . xgax(*), xgay(*), xgaz(*),
91 . xgxa2(mvsiz),xgya2(mvsiz),xgza2(mvsiz),
92 . xgxya(mvsiz),xgyza(mvsiz),xgzxa(mvsiz),gama_r(nel,6)
93 INTEGER IXS(NIXS,*), MXT(*), NGL(*),NGEO(*),IPARG(*),
94 . NC1(*),NC2(*),NC3(*),NC4(*),NC5(*),NC6(*),NC7(*),NC8(*)
98 . XDP(3,*),X0(MVSIZ,8),Y0(MVSIZ,8),Z0(MVSIZ,8),SAV(NEL,21),
99 . XD1(*), XD2(*), XD3(*), XD4(*), XD5(*), XD6(*), XD7(*), XD8(*),
100 . YD1(*), YD2(*), YD3(*), YD4(*), YD5(*), YD6(*), YD7(*), YD8(*),
101 . ZD1(*), ZD2(*), ZD3(*), ZD4(*), ZD5(*), ZD6(*), ZD7(*), ZD8(*)
118 . rx(mvsiz) , ry(mvsiz) , rz(mvsiz) ,
119 . sx(mvsiz) , sy(mvsiz) , sz(mvsiz) ,
120 . tx(mvsiz) , ty(mvsiz) , tz(mvsiz)
229 IF (ioutprt /= 0)
THEN
231 vgax(i)=vx1(i)+vx2(i)+vx3(i)+vx4(i)+vx5(i)+vx6(i)+vx7(i)+vx8(i)
232 vgay(i)=vy1(i)+vy2(i)+vy3(i)+vy4(i)+vy5(i)+vy6(i)+vy7(i)+vy8(i)
233 vgaz(i)=vz1(i)+vz2(i)+vz3(i)+vz4(i)+vz5(i)+vz6(i)+vz7(i)+vz8(i)
234 vga2(i)=vx1(i)*vx1(i)+vx2(i)*vx2(i)+vx3(i)*vx3(i)+vx4(i)*vx4(i)
235 1 +vx5(i)*vx5(i)+vx6(i)*vx6(i)+vx7(i)*vx7(i)+vx8(i)*vx8(i)
236 2 +vy1(i)*vy1(i)+vy2(i)*vy2(i)+vy3(i)*vy3(i)+vy4(i)*vy4(i)
237 3 +vy5(i)*vy5(i)+vy6(i)*vy6(i)+vy7(i)*vy7(i)+vy8(i)*vy8(i)
238 4 +vz1(i)*vz1(i)+vz2(i)*vz2(i)+vz3(i)*vz3(i)+vz4(i)*vz4(i)
239 5 +vz5(i)*vz5(i)+vz6(i)*vz6(i)+vz7(i)*vz7(i)+vz8(i)*vz8(i)
241 IF(iparg(80)==1)
THEN
243 xgax(i)=xd1(i)+xd2(i)+xd3(i)+xd4(i)+xd5(i)+xd6(i)+xd7(i)+xd8(i)
244 xgay(i)=yd1(i)+yd2(i)+yd3(i)+yd4(i)+yd5(i)+yd6(i)+yd7(i)+yd8(i)
245 xgaz(i)=zd1(i)+zd2(i)+zd3(i)+zd4(i)+zd5(i)+zd6(i)+zd7(i)+zd8(i)
246 xgxa2(i)=xd1(i)**2+xd2(i)**2+xd3(i)**2+xd4(i)**2
247 1 +xd5(i)**2+xd6(i)**2+xd7(i)**2+xd8(i)**2
248 xgya2(i)=yd1(i)**2+yd2(i)**2+yd3(i)**2+yd4(i)**2
249 1 +yd5(i)**2+yd6(i)**2+yd7(i)**2+yd8(i)**2
250 xgza2(i)=zd1(i)**2+zd2(i)**2+zd3(i)**2+zd4(i)**2
251 1 +zd5(i)**2+zd6(i)**2+zd7(i)**2+zd8(i)**2
252 xgxya(i)=xd1(i)*yd1(i)+xd2(i)*yd2(i)+xd3(i)*yd3(i)+xd4(i)*yd4(i)
253 1 +xd5(i)*yd5(i)+xd6(i)*yd6(i)+xd7(i)*yd7(i)+xd8(i)*yd8(i)
254 xgyza(i)=yd1(i)*zd1(i)+yd2(i)*zd2(i)+yd3(i)*zd3(i)+yd4(i)*zd4(i)
255 1 +yd5(i)*zd5(i)+yd6(i)*zd6(i)+yd7(i
256 xgzxa(i)=zd1(i)*xd1(i)+zd2(i)*xd2(i)+zd3(i)*xd3(i)+zd4(i)*xd4(i)
257 1 +zd5(i)*xd5(i)+zd6(i)*xd6(i)+zd7(i)*xd7(i)+zd8(i)*xd8(i)
265 1 xd1, xd2, xd3, xd4,
266 2 xd5, xd6, xd7, xd8,
267 3 yd1, yd2, yd3, yd4,
268 4 yd5, yd6, yd7, yd8,
269 5 zd1, zd2, zd3, zd4,
270 6 zd5, zd6, zd7, zd8,
275 IF (jhbe == 14 .OR. jhbe == 24)
THEN
280 4 r22, r23, r21, r32,
282 ELSEIF (jhbe == 15 )
THEN
287 4 r21, r22, r23, r31,
294 4 r21, r22, r23, r31,
298 gama_r(lft:llt,1) = r11(lft:llt)
299 gama_r(lft:llt,2) = r21(lft:llt)
300 gama_r(lft:llt,3) = r31(lft:llt)
301 gama_r(lft:llt,4) = r12(lft:llt)
302 gama_r(lft:llt,5) = r22(lft:llt)
303 gama_r(lft:llt,6) = r32(lft:llt)
305 IF (igtyp /= 21 .AND. igtyp /= 22)
THEN
306 IF (isorth == 0)
THEN
320 4 r21, r22, r23, r31,
321 5 r32, r33, gama0, gama,
329 IF((ismstr<=4.OR.(ismstr==12.AND.idtmin(1)==3)).AND.jlag>0)
THEN
331 IF(abs(offg(i)) > one)
THEN
356 off(i) = abs(offg(i))-one
357 off_l =
min(off_l,offg(i))
359 xdl=r11(i)*xd1(i)+r21(i)*yd1(i)+r31(i)*zd1(i)
360 ydl=r12(i)*xd1(i)+r22(i)*yd1(i)+r32(i)*zd1(i)
361 zdl=r13(i)*xd1(i)+r23(i)*yd1(i)+r33(i)*zd1(i)
365 xdl=r11(i)*xd2(i)+r21(i)*yd2(i)+r31(i)*zd2(i)
366 ydl=r12(i)*xd2(i)+r22(i)*yd2(i)+r32(i)*zd2(i)
367 zdl=r13(i)*xd2(i)+r23(i)*yd2(i)+r33(i)*zd2(i)
371 xdl=r11(i)*xd3(i)+r21(i)*yd3(i)+r31(i)*zd3(i)
372 ydl=r12(i)*xd3(i)+r22(i)*yd3(i)+r32(i)*zd3(i)
373 zdl=r13(i)*xd3(i)+r23(i)*yd3(i)+r33(i)*zd3(i)
377 xdl=r11(i)*xd4(i)+r21(i)*yd4(i)+r31(i)*zd4(i
378 ydl=r12(i)*xd4(i)+r22(i)*yd4(i)+r32(i)*zd4(i)
379 zdl=r13(i)*xd4(i)+r23(i)*yd4(i)+r33(i)*zd4(i)
383 xdl=r11(i)*xd5(i)+r21(i)*yd5(i)+r31(i)*zd5(i)
384 ydl=r12(i)*xd5(i)+r22(i)*yd5(i)+r32(i)*zd5(i)
385 zdl=r13(i)*xd5(i)+r23(i)*yd5(i)+r33(i)*zd5(i)
389 xdl=r11(i)*xd6(i)+r21(i)*yd6(i)+r31(i)*zd6(i)
390 ydl=r12(i)*xd6(i)+r22(i)*yd6(i)+r32(i)*zd6(i)
391 zdl=r13(i)*xd6(i)+r23(i)*yd6(i)+r33(i)*zd6(i)
395 xdl=r11(i)*xd7(i)+r21(i)*yd7(i)+r31(i)*zd7(i)
396 ydl=r12(i)*xd7(i)+r22(i)*yd7(i)+r32(i)*zd7(i)
397 zdl=r13(i)*xd7(i)+r23(i)*yd7(i)+r33(i)*zd7(i)
401 xdl=r11(i)*xd8(i)+r21(i)*yd8(i)+r31(i)*zd8(i)
402 ydl=r12(i)*xd8(i)+r22(i)*yd8(i)+r32(i)*zd8(i)
403 zdl=r13(i)*xd8(i)+r23(i)*yd8(i)+r33(i)*zd8(i)
407 off(i) = abs(offg(i))
408 off_l =
min(off_l,offg(i))
411 IF((ismstr==12.AND.idtmin(1)==3).AND.jlag>0)
THEN
413 IF(abs(offg(i)) > one)
THEN
414 xdl=r11(i)*xd1(i)+r21(i)*yd1(i)+r31(i)*zd1(i)
415 ydl=r12(i)*xd1(i)+r22(i)*yd1(i)+r32(i)*zd1(i)
416 zdl=r13(i)*xd1(i)+r23(i)*yd1(i)+r33(i)*zd1(i)
420 xdl=r11(i)*xd2(i)+r21(i)*yd2(i)+r31(i)*zd2(i)
421 ydl=r12(i)*xd2(i)+r22(i)*yd2(i)+r32(i)*zd2(i)
422 zdl=r13(i)*xd2(i)+r23(i)*yd2(i)+r33(i)*zd2(i)
426 xdl=r11(i)*xd3(i)+r21(i)*yd3(i)+r31(i)*zd3(i)
427 ydl=r12(i)*xd3(i)+r22(i)*yd3(i)+r32(i)*zd3(i)
428 zdl=r13(i)*xd3(i)+r23(i)*yd3(i)+r33(i)*zd3(i)
432 xdl=r11(i)*xd4(i)+r21(i)*yd4(i)+r31(i)*zd4(i)
433 ydl=r12(i)*xd4(i)+r22(i)*yd4(i)+r32(i)*zd4(i)
434 zdl=r13(i)*xd4(i)+r23(i)*yd4(i)+r33(i)*zd4(i)
438 xdl=r11(i)*xd5(i)+r21(i)*yd5(i)+r31(i)*zd5(i)
439 ydl=r12(i)*xd5(i)+r22(i)*yd5(i)+r32(i)*zd5(i)
440 zdl=r13(i)*xd5(i)+r23(i)*yd5(i)+r33(i)*zd5(i)
444 xdl=r11(i)*xd6(i)+r21(i)*yd6(i)+r31(i)*zd6(i)
445 ydl=r12(i)*xd6(i)+r22(i)*yd6(i)+r32(i)*zd6(i)
446 zdl=r13(i)*xd6(i)+r23(i)*yd6(i)+r33(i)*zd6(i)
450 xdl=r11(i)*xd7(i)+r21(i)*yd7(i)+r31(i)*zd7(i)
451 ydl=r12(i)*xd7(i)+r22(i)*yd7(i)+r32(i)*zd7(i)
452 zdl=r13(i)*xd7(i)+r23(i)*yd7(i)+r33(i)*zd7(i)
456 xdl=r11(i)*xd8(i)+r21(i)*yd8(i)+r31(i)*zd8(i)
457 ydl=r12(i)*xd8(i)+r22(i)*yd8(i)+r32(i)*zd8(i)
458 zdl=r13(i)*xd8(i)+r23(i)*yd8(i)+r33(i)*zd8(i)
468 xdl=r11(i)*xd1(i)+r21(i)*yd1(i)+r31(i)*zd1(i)
469 ydl=r12(i)*xd1(i)+r22(i)*yd1(i)+r32(i)*zd1(i)
470 zdl=r13(i)*xd1(i)+r23(i)*yd1(i)+r33(i)*zd1(i)
474 xdl=r11(i)*xd2(i)+r21(i)*yd2(i)+r31(i)*zd2(i)
475 ydl=r12(i)*xd2(i)+r22(i)*yd2(i)+r32(i)*zd2(i)
476 zdl=r13(i)*xd2(i)+r23(i)*yd2(i)+r33(i)*zd2
480 xdl=r11(i)*xd3(i)+r21(i)*yd3(i)+r31(i)*zd3(i)
482 zdl=r13(i)*xd3(i)+r23(i)*yd3(i)+r33(i)*zd3
486 xdl=r11(i)*xd4(i)+r21(i)*yd4(i)+r31(i)*zd4(i)
487 ydl=r12(i)*xd4(i)+r22(i)*yd4(i)+r32(i)*zd4(i)
488 zdl=r13(i)*xd4(i)+r23(i)*yd4(i)+r33(i)*zd4(i)
492 xdl=r11(i)*xd5(i)+r21(i)*yd5(i)+r31(i)*zd5(i)
493 ydl=r12(i)*xd5(i)+r22(i)*yd5(i)+r32(i)*zd5(i)
494 zdl=r13(i)*xd5(i)+r23(i)*yd5(i)+r33(i)*zd5(i)
498 xdl=r11(i)*xd6(i)+r21(i)*yd6(i)+r31(i)*zd6(i)
499 ydl=r12(i)*xd6(i)+r22(i)*yd6(i)+r32(i)*zd6(i)
500 zdl=r13(i)*xd6(i)+r23(i)*yd6(i)+r33(i)*zd6
504 xdl=r11(i)*xd7(i)+r21(i)*yd7(i)+r31(i)*zd7(i)
505 ydl=r12(i)*xd7(i)+r22(i)*yd7(i)+r32(i)*zd7(i)
506 zdl=r13(i)*xd7(i)+r23(i)*yd7(i)+r33(i)*zd7(i)
510 xdl=r11(i)*xd8(i)+r21(i)*yd8(i)+r31(i)*zd8(i)
511 ydl=r12(i)*xd8(i)+r22(i)*yd8(i)+r32(i)*zd8(i)
512 zdl=r13(i)*xd8(i)+r23(i)*yd8(i)+r33(i)*zd8(i)
516 off(i) = abs(offg(i))
517 off_l =
min(off_l,offg(i))
524 IF (isorth/=0 .AND. jhbe/=24 .AND. jhbe/=222 .AND. jhbe/=14
525 . .AND. jhbe/=15)
THEN
569 xdl=g11*xd1(i)+g21*yd1(i)+g31*zd1(i)
570 ydl=g12*xd1(i)+g22*yd1(i)+g32*zd1(i)
571 zdl=g13*xd1(i)+g23*yd1(i)+g33*zd1(i)
575 xdl=g11*xd2(i)+g21*yd2(i)+g31*zd2(i)
576 ydl=g12*xd2(i)+g22*yd2(i)+g32*zd2(i)
577 zdl=g13*xd2(i)+g23*yd2(i)+g33*zd2(i)
581 xdl=g11*xd3(i)+g21*yd3(i)+g31*zd3(i)
582 ydl=g12*xd3(i)+g22*yd3(i)+g32*zd3(i)
583 zdl=g13*xd3(i)+g23*yd3(i)+g33*zd3(i)
587 xdl=g11*xd4(i)+g21*yd4(i)+g31*zd4(i)
588 ydl=g12*xd4(i)+g22*yd4(i)+g32*zd4(i)
589 zdl=g13*xd4(i)+g23*yd4(i)+g33*zd4(i)
593 xdl=g11*xd5(i)+g21*yd5(i)+g31*zd5(i)
594 ydl=g12*xd5(i)+g22*yd5(i)+g32*zd5(i)
595 zdl=g13*xd5(i)+g23*yd5(i)+g33*zd5(i)
599 xdl=g11*xd6(i)+g21*yd6(i)+g31*zd6(i)
600 ydl=g12*xd6(i)+g22*yd6(i)+g32*zd6(i)
601 zdl=g13*xd6(i)+g23*yd6(i)+g33*zd6(i)
605 xdl=g11*xd7(i)+g21*yd7(i)+g31*zd7(i)
606 ydl=g12*xd7(i)+g22*yd7(i)+g32*zd7(i)
607 zdl=g13*xd7(i)+g23*yd7(i)+g33*zd7(i)
611 xdl=g11*xd8(i)+g21*yd8(i)+g31*zd8(i)
612 ydl=g12*xd8(i)+g22*yd8(i)+g32*zd8(i)
613 zdl=g13*xd8(i)+g23*yd8(i)+g33*zd8(i)
618 t11=r11(i)*g11+r12(i)*g21+r13(i)*g31
619 t12=r11(i)*g12+r12(i)*g22+r13(i)*g32
620 t13=r11(i)*g13+r12(i)*g23+r13(i)*g33
621 t21=r21(i)*g11+r22(i)*g21+r23(i)*g31
622 t22=r21(i)*g12+r22(i)*g22+r23(i)*g32
623 t23=r21(i)*g13+r22(i)*g23+r23(i)*g33
624 t31=r31(i)*g11+r32(i)*g21+r33(i)*g31
625 t32=r31(i)*g12+r32(i)*g22+r33(i)*g32
626 t33=r31(i)*g13+r32(i)*g23+r33(i)*g33
670 1 r11, r12, r13, r21,
671 2 r22, r23, r31, r32,
672 3 r33, vx1, vx2, vx3,
673 4 vx4, vx5, vx6, vx7,
674 5 vx8, vy1, vy2, vy3,
675 6 vy4, vy5, vy6, vy7,
676 7 vy8, vz1, vz2, vz3,
677 8 vz4, vz5, vz6, vz7,
685 IF(offg(i) < zero)
THEN
subroutine srcoor3(x, ixs, v, w, gama0, gama, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8, vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8, vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8, vd2, vis, offg, off, sav, rho, rhoo, r11, r12, r13, r21, r22, r23, r31, r32, r33, nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8, ngl, mxt, ngeo, ioutprt, vgax, vgay, vgaz, vga2, xd1, xd2, xd3, xd4, xd5, xd6, xd7, xd8, yd1, yd2, yd3, yd4, yd5, yd6, yd7, yd8, zd1, zd2, zd3, zd4, zd5, zd6, zd7, zd8, xdp, x0, y0, z0, nel, xgax, xgay, xgaz, xgxa2, xgya2, xgza2, xgxya, xgyza, xgzxa, iparg, gama_r)