37 . X1 ,X2 ,X3 ,X4 ,X5 ,X6 ,X7 ,X8 ,
38 . Y1 ,Y2 ,Y3 ,Y4 ,Y5 ,Y6 ,Y7 ,Y8 ,
39 . Z1 ,Z2 ,Z3 ,Z4 ,Z5 ,Z6 ,Z7 ,Z8 ,
40 . VX1 ,VX2 ,VX3 ,VX4 ,VX5 ,VX6 ,VX7 ,VX8 ,
41 . VY1 ,VY2 ,VY3 ,VY4 ,VY5 ,VY6 ,VY7 ,VY8 ,
42 . VZ1 ,VZ2 ,VZ3 ,VZ4 ,VZ5 ,VZ6 ,VZ7 ,VZ8 ,
43 . VD2 ,VIS ,OFFG ,OFF ,SAV ,RHO ,RHOO ,R ,
44 . NC1 ,NC2 ,NC3 ,NC4 ,NC5 ,NC6 ,NC7 ,NC8 ,
45 . NGL ,MXT ,NGEO ,IOUTPRT,VGAX ,VGAY ,VGAZ ,VGA2 ,
46 . XD1 ,XD2 ,XD3 ,XD4 ,XD5 ,XD6 ,XD7 ,XD8 ,
47 . YD1 ,YD2 ,YD3 ,YD4 ,YD5 ,YD6 ,YD7 ,YD8 ,
48 . ZD1 ,ZD2 ,ZD3 ,ZD4 ,ZD5 ,ZD6 ,ZD7 ,ZD8 ,
49 . XDP ,X0 ,Y0 ,Z0 ,NEL ,TRM ,XREF ,
50 . ULX1 ,ULX2 ,ULX3 ,ULX4 ,ULX5 ,ULX6 ,ULX7 ,ULX8 ,
51 . ULY1 ,ULY2 ,ULY3 ,ULY4 ,ULY5 ,ULY6 ,ULY7 ,ULY8 ,
52 . ULZ1 ,ULZ2 ,ULZ3 ,ULZ4 ,ULZ5 ,ULZ6 ,ULZ7 ,ULZ8 ,
53 . XGAX ,XGAY ,XGAZ ,XGXA2 ,XGYA2 ,XGZA2 ,XGXYA ,XGYZA ,
55 use element_mod ,
only : nixs
59#include "implicit_f.inc"
67#include "vect01_c.inc"
78 . X(3,*),V(3,*),W(3,*), VIS(*),
79 . X1(*), X2(*), X3(*), X4(*), X5(*), X6(*), X7(*), X8(*),
80 . Y1(*), (*), Y3(*), Y4(*), Y5(*), Y6(*), Y7(*), Y8(*),
81 . Z1(*), Z2(*), Z3(*), Z4(*), Z5(*), Z6(*), Z7(*), Z8(*),
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(*), OFFG(*), OFF(*), RHO(*), RHOO(*),
88 . RD11(MVSIZ),RD12(MVSIZ),RD13(MVSIZ),
89 . RD21(MVSIZ),RD22(MVSIZ),RD23(MVSIZ),
90 . RD31(MVSIZ),RD32(MVSIZ),RD33(MVSIZ),
95 . gama0(nel,6),gama(mvsiz,6) ,vgax(*), vgay(*), vgaz(*), vga2(*),
96 . xgax(*), xgay(*), xgaz(*),
97 . xgxa2(mvsiz),xgya2(mvsiz),xgza2(mvsiz),
98 . xgxya(mvsiz),xgyza(mvsiz),xgzxa(mvsiz)
99 INTEGER IXS(NIXS,*), MXT(*), NGL(*),NGEO(*),IPARG(*),
100 . NC1(*),NC2(*),NC3(*),NC4(*),NC5(*),NC6(*),NC7(*),NC8(*)
104 . XDP(3,*),SAV(NEL,21),X0(MVSIZ,8),Y0(MVSIZ,8),Z0(MVSIZ,8),
105 . XD1(MVSIZ), XD2(MVSIZ), XD3(MVSIZ), XD4(MVSIZ),
106 . XD5(MVSIZ), XD6(MVSIZ), XD7(MVSIZ), XD8(MVSIZ),
107 . YD1(MVSIZ), YD2(MVSIZ), YD3(MVSIZ), YD4(MVSIZ),
108 . YD5(MVSIZ), YD6(MVSIZ), YD7(MVSIZ), YD8(MVSIZ),
109 . ZD1(MVSIZ), ZD2(MVSIZ), ZD3(MVSIZ), ZD4(MVSIZ),
110 . ZD5(MVSIZ), ZD6(MVSIZ), ZD7(MVSIZ), ZD8(MVSIZ),
111 . ULX1(MVSIZ), ULX2(MVSIZ), ULX3(MVSIZ), ULX4(MVSIZ),
112 . ULX5(MVSIZ), ULX6(MVSIZ), ULX7(MVSIZ), ULX8(MVSIZ),
113 . ULY1(MVSIZ), ULY2(MVSIZ), ULY3(MVSIZ), ULY4(MVSIZ),
114 . ULY5(MVSIZ), ULY6(MVSIZ), ULY7(MVSIZ), ULY8(MVSIZ),
115 . ULZ1(MVSIZ), ULZ2(MVSIZ), ULZ3(MVSIZ), ULZ4(MVSIZ),
116 . ULZ5(MVSIZ), ULZ6(MVSIZ), ULZ7(MVSIZ), ULZ8(MVSIZ),
117 . trm(nel,24,24), ul, vl, wl, ug, vg, wg, xref(nel,21)
124 . XDL, YDL, ZDL, INVJ(MVSIZ,9),
125 . V1(MVSIZ,9), V2(MVSIZ,9), V3(MVSIZ,9), V4(MVSIZ,9),
126 . V5(MVSIZ,9), V6(MVSIZ,9), V7(MVSIZ,9), V8(MVSIZ,9)
138 . RX(MVSIZ) , RY(MVSIZ) , RZ(MVSIZ) ,
139 . sx(mvsiz) , sy(mvsiz) , sz(mvsiz) ,
140 . tx(mvsiz) , ty(mvsiz) , tz(mvsiz)
142 . xl(mvsiz),yl(mvsiz),zl(mvsiz)
253 IF (ioutprt /= 0)
THEN
255 vgax(i)=vx1(i)+vx2(i)+vx3
256 vgay(i)=vy1(i)+vy2(i)+vy3(i)+vy4(i)+vy5(i)+vy6(i)+vy7(i)+vy8(i)
257 vgaz(i)=vz1(i)+vz2(i)+vz3(i)+vz4(i)+vz5(i)+vz6(i)+vz7(i)+vz8(i)
258 vga2(i)=vx1(i)*vx1(i)+vx2(i)*vx2(i)+vx3(i)*vx3(i)+vx4(i)*vx4(i)
259 1 +vx5(i)*vx5(i)+vx6(i)*vx6(i)+vx7(i)*vx7(i)+vx8(i)*vx8(i)
260 2 +vy1(i)*vy1(i)+vy2(i)*vy2(i)+vy3(i)*vy3(i)+vy4(i)*vy4(i)
261 3 +vy5(i)*vy5(i)+vy6(i)*vy6(i)+vy7(i)*vy7(i)+vy8(i)*vy8(i)
262 4 +vz1(i)*vz1(i)+vz2(i)*vz2(i)+vz3(i)*vz3(i)+vz4(i)*vz4(i)
263 5 +vz5(i)*vz5(i)+vz6(i)*vz6(i)+vz7(i)*vz7(i)+vz8(i)*vz8(i)
265 IF(iparg(80)==1)
THEN
267 xgax(i)=x1(i)+x2(i)+x3(i)+x4(i)+x5(i)+x6(i)+x7(i)+x8(i)
268 xgay(i)=y1(i)+y2(i)+y3(i)+y4(i)+y5(i)+y6(i)+y7(i)+y8(i)
269 xgaz(i)=z1(i)+z2(i)+z3(i)+z4(i)+z5(i)+z6(i)+z7(i)+z8(i)
270 xgxa2(i)=x1(i)**2+x2(i)**2+x3(i)**2+x4(i)**2
271 1 +x5(i)**2+x6(i)**2+x7(i)**2+x8(i)**2
272 xgya2(i)=y1(i)**2+y2(i)**2+y3(i)**2+y4(i)**2
273 1 +y5(i)**2+y6(i)**2+y7(i)**2+y8(i)**2
274 xgza2(i)=z1(i)**2+z2(i)**2+z3(i)**2+z4(i)**2
275 1 +z5(i)**2+z6(i)**2+z7(i)**2+z8(i)**2
276 xgxya(i)=x1(i)*y1(i)+x2(i)*y2(i)+x3(i)*y3(i)+x4(i)*y4(i)
277 1 +x5(i)*y5(i)+x6(i)*y6(i)+x7(i)*y7(i)+x8(i)*y8(i)
278 xgyza(i)=y1(i)*z1(i)+y2(i)*z2(i)+y3(i)*z3(i)+y4(i)*z4(i)
279 1 +y5(i)*z5(i)+y6(i)*z6(i)+y7(i)*z7(i)+y8(i)*z8(i)
280 xgzxa(i)=z1(i)*x1(i)+z2(i)*x2(i)+z3(i)*x3(i)+z4(i)*x4(i)
281 1 +z5(i)*x5(i)+z6(i)*x6(i)+z7(i)*x7(i)*z8(i)*x8(i)
290 IF (offg(i) >= 1 ) offg(i) = 1
292 IF (dt1 == zero)
THEN
294 1 offg, sav, xd1, xd2,
295 2 xd3, xd4, xd5, xd6,
296 3 xd7, xd8, yd1, yd2,
297 4 yd3, yd4, yd5, yd6,
298 5 yd7, yd8, zd1, zd2,
299 6 zd3, zd4, zd5, zd6,
304 1 offg, sav, xd1, xd2,
305 2 xd3, xd4, xd5, xd6,
306 3 xd7, xd8, yd1, yd2,
307 4 yd3, yd4, yd5, yd6,
308 5 yd7, yd8, zd1, zd2,
309 6 zd3, zd4, zd5, zd6,
317 IF((ismstr<=4.OR.(ismstr==12.AND.idtmin(1)==3)).AND.jlag>0)
THEN
319 IF(abs(offg(i)) > one)
THEN
320 off(i) = abs(offg(i))-one
321 off_l =
min(off_l,offg(i))
323 off(i) = abs(offg(i))
324 off_l =
min(off_l,offg(i))
327 IF((ismstr==12.AND.idtmin(1)==3).AND.jlag>0)
THEN
329 IF(abs(offg(i)) > one)
THEN
336 off(i) = abs(offg(i))
337 off_l =
min(off_l,offg(i))
343 1 sav, invj, xd1, xd2,
344 2 xd3, xd4, xd5, xd6,
345 3 xd7, xd8, yd1, yd2,
346 4 yd3, yd4, yd5, yd6,
347 5 yd7, yd8, zd1, zd2,
348 6 zd3, zd4, zd5, zd6,
380 2 xd3, xd4, xd5, xd6,
381 3 xd7, xd8, yd1, yd2,
382 4 yd3, yd4, yd5, yd6,
383 5 yd7, yd8, zd1, zd2,
384 6 zd3, zd4, zd5, zd6,
393 1 offg, xref, xd1, xd2,
394 2 xd3, xd4, xd5, xd6,
395 3 xd7, xd8, yd1, yd2,
396 4 yd3, yd4, yd5, yd6,
397 5 yd7, yd8, zd1, zd2,
398 6 zd3, zd4, zd5, zd6,
403 2 xd3, xd4, xd5, xd6,
404 3 xd7, xd8, yd1, yd2,
405 4 yd3, yd4, yd5, yd6,
406 5 yd7, yd8, zd1, zd2,
407 6 zd3, zd4, zd5, zd6,
409 8 ulx3, ulx4, ulx5, ulx6,
410 9 ulx7, ulx8, uly1, uly2,
411 a uly3, uly4, uly5, uly6,
412 b uly7, uly8, ulz1, ulz2,
413 c ulz3, ulz4, ulz5, ulz6,
414 d ulz7, ulz8, r, nel)
424! . r11, r21, r31, r12, r22, r32, r13, r23, r33,
428 2 xd3, xd4, xd5, xd6,
429 3 xd7, xd8, yd1, yd2,
430 4 yd3, yd4, yd5, yd6,
431 5 yd7, yd8, zd1, zd2,
432 6 zd3, zd4, zd5, zd6,
433 7 zd7, zd8, ulx1, ulx2,
434 8 ulx3, ulx4, ulx5, ulx6,
435 9 ulx7, ulx8, uly1, uly2,
436 a uly3, uly4, uly5, uly6,
437 b uly7, uly8, ulz1, ulz2,
438 c ulz3, ulz4, ulz5, ulz6,
439 d ulz7, ulz8, r, nel)
538 ELSE IF(ismstr == 2 .OR. ismstr == 4)
THEN
543 ul = r(1,1,i)*ug+r(2,1,i)*vg+r(3,1,i)*wg
544 vl = r(1,2,i)*ug+r(2,2,i)*vg+r(3,2,i)*wg
545 wl = r(1,3,i)*ug+r(2,3,i)*vg+r(3,3,i)*wg
553 ul = r(1,1,i)*ug+r(2,1,i)*vg+r(3,1,i)*wg
554 vl = r(1,2,i)*ug+r(2,2,i)*vg+r(3,2,i)*wg
555 wl = r(1,3,i)*ug+r(2,3,i)*vg+r(3,3,i)*wg
563 ul = r(1,1,i)*ug+r(2,1,i)*vg+r(3,1,i)*wg
564 vl = r(1,2,i)*ug+r(2,2,i)*vg+r(3,2,i)*wg
565 wl = r(1,3,i)*ug+r(2,3,i)*vg+r(3,3,i)*wg
573 ul = r(1,1,i)*ug+r(2,1,i)*vg+r(3,1,i)*wg
574 vl = r(1,2,i)*ug+r(2,2,i)*vg+r(3,2,i)*wg
575 wl = r(1,3,i)*ug+r(2,3,i)*vg+r(3,3,i)*wg
583 ul = r(1,1,i)*ug+r(2,1,i)*vg+r(3,1,i)*wg
584 vl = r(1,2,i)*ug+r(2,2,i)*vg+r(3,2,i)*wg
585 wl = r(1,3,i)*ug+r(2,3,i)*vg+r(3,3,i)*wg
593 ul = r(1,1,i)*ug+r(2,1,i)*vg+r(3,1,i)*wg
594 vl = r(1,2,i)*ug+r(2,2,i)*vg+r(3,2,i)*wg
595 wl = r(1,3,i)*ug+r(2,3,i)*vg+r(3,3,i)*wg
603 ul = r(1,1,i)*ug+r(2,1,i)*vg+r(3,1,i)*wg
604 vl = r(1,2,i)*ug+r(2,2,i)*vg+r(3,2,i)*wg
605 wl = r(1,3,i)*ug+r(2,3,i)*vg+r(3,3,i)*wg
619! . r11, r12, r13, r21, r22, r23, r31, r32, r33,
629 IF(offg(i) < zero)
THEN
subroutine srcoor3_imp(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, r, 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, trm, xref, ulx1, ulx2, ulx3, ulx4, ulx5, ulx6, ulx7, ulx8, uly1, uly2, uly3, uly4, uly5, uly6, uly7, uly8, ulz1, ulz2, ulz3, ulz4, ulz5, ulz6, ulz7, ulz8, xgax, xgay, xgaz, xgxa2, xgya2, xgza2, xgxya, xgyza, xgzxa, iparg)