50 D NGEO, K11, K12, K13,
59 M K88, KHBE, GAMA0, GAMA,
60 N NEL, ISMSTR, JHBE, JCVT,
61 O IREP, IGTYP, ISORTH)
62 use element_mod ,
only : nixs
66#include "implicit_f.inc"
78 INTEGER,
INTENT(IN) :: ISMSTR
79 INTEGER,
INTENT(IN) :: JHBE
80 INTEGER,
INTENT(IN) :: JCVT
81 INTEGER,
INTENT(IN) :: IREP
82 INTEGER,
INTENT(IN) :: IGTYP
83 INTEGER,
INTENT(IN) :: ISORTH
88 . x1(*), x2(*), x3(*), x4(*), x5(*), x6(*), x7(*), x8(*),
89 . y1(*), y2(*), y3(*), y4(*), y5(*), y6(*), y7(*), y8(*),
90 . z1(*), z2(*), z3(*), z4(*), z5(*), z6(*), z7(*), z8(*),
91 . offg(*), off(*), sav(nel,21), gama0(nel,6),gama(mvsiz,6),
92 . r11(mvsiz),r12(mvsiz),r13(mvsiz),
93 . r21(mvsiz),r22(mvsiz),r23(mvsiz),
94 . r31(mvsiz),r32(mvsiz),r33(mvsiz)
96 . k11(9,*) ,k12(9,*) ,k13(9,*) ,k14(9,*) ,k15(9,*) ,
97 . k16(9,*) ,k17(9,*) ,k18(9,*) ,k22(9,*) ,k23(9,*) ,
98 . k24(9,*) ,k25(9,*) ,k26(9,*) ,k27(9,*) ,k28(9,*) ,
99 . k33(9,*) ,k34(9,*) ,k35(9,*) ,k36(9,*) ,k37(9,*) ,
100 . k38(9,*) ,k44(9,*) ,k45(9,*) ,k46
101 . k48(9,*) ,k55(9,*) ,k56(9,*) ,k57(9,*) ,k58(9,*) ,
102 . k66(9,*) ,k67(9,*) ,k68(9,*) ,k77(9,*) ,k78(9,*) ,
104 INTEGER NC1(*), NC2(*), NC3(*), NC4(*),
105 . nc5(*), nc6(*), nc7(*), nc8(*), mxt(*), ngl(*),ngeo(*)
106 INTEGER IXS(NIXS,*),KHBE
115 . RX(MVSIZ) , RY(MVSIZ) , RZ(MVSIZ) ,
116 . SX(MVSIZ) , SY(MVSIZ) , SZ(MVSIZ) ,
117 . TX(MVSIZ) , TY(MVSIZ) , TZ(MVSIZ)
181 4 r21, r22, r23, r31,
183 ELSEIF (khbe==1 .OR. khbe==2. or. khbe == 12 .OR. khbe==14 .OR.
184 . khbe==17.or .khbe==24)
THEN
189 4 r22, r23, r21, r32,
196 4 r21, r22, r23, r31,
200 IF (igtyp /= 21 .AND. igtyp /= 22)
THEN
201 IF (isorth == 0)
THEN
215 4 r21, r22, r23, r31,
216 5 r32, r33, gama0, gama,
223 4 r21, r22, r23, r31,
224 5 r32, r33, gama, nel,
233 IF((ismstr==1.OR.ismstr==3).OR.
234 . (ismstr==2.AND.idtmin(1)==3))
THEN
235 IF (jhbe==14.OR.jhbe==24.OR.jhbe==15.OR.jhbe==222)
THEN
264 xl=r11(i)*x1(i)+r21(i)*y1(i)+r31(i)*z1(i)
265 yl=r12(i)*x1(i)+r22(i)*y1(i)+r32(i)*z1(i)
266 zl=r13(i)*x1(i)+r23(i)*y1(i)+r33(i)*z1(i)
270 xl=r11(i)*x2(i)+r21(i)*y2(i)+r31(i)*z2(i)
271 yl=r12(i)*x2(i)+r22(i)*y2(i)+r32(i)*z2(i)
272 zl=r13(i)*x2(i)+r23(i)*y2(i)+r33(i)*z2(i)
276 xl=r11(i)*x3(i)+r21(i)*y3(i)+r31(i)*z3(i)
277 yl=r12(i)*x3(i)+r22(i)*y3(i)+r32(i)*z3(i)
278 zl=r13(i)*x3(i)+r23(i)*y3(i)+r33(i)*z3(i)
282 xl=r11(i)*x4(i)+r21(i)*y4(i)+r31(i)*z4(i)
283 yl=r12(i)*x4(i)+r22(i)*y4(i)+r32(i)*z4(i)
284 zl=r13(i)*x4(i)+r23(i)*y4(i)+r33(i)*z4(i)
288 xl=r11(i)*x5(i)+r21(i)*y5(i)+r31(i)*z5(i)
289 yl=r12(i)*x5(i)+r22(i)*y5(i)+r32(i)*z5(i)
290 zl=r13(i)*x5(i)+r23(i)*y5(i)+r33(i)*z5(i)
294 xl=r11(i)*x6(i)+r21(i)*y6(i)+r31(i)*z6(i)
295 yl=r12(i)*x6(i)+r22(i)*y6(i)+r32(i)*z6(i)
296 zl=r13(i)*x6(i)+r23(i)*y6(i)+r33(i)*z6(i)
300 xl=r11(i)*x7(i)+r21(i)*y7(i)+r31(i)*z7(i)
301 yl=r12(i)*x7(i)+r22(i)*y7(i)+r32(i)*z7(i)
302 zl=r13(i)*x7(i)+r23(i)*y7(i)+r33(i)*z7(i)
306 xl=r11(i)*x8(i)+r21(i)*y8(i)+r31(i)*z8(i)
307 yl=r12(i)*x8(i)+r22(i)*y8(i)+r32(i)*z8(i)
308 zl=r13(i)*x8(i)+r23(i)*y8(i)+r33(i)*z8(i)
370 xl=r11(i)*x1(i)+r21(i)*y1(i)+r31(i)*z1(i)
371 yl=r12(i)*x1(i)+r22(i)*y1(i)+r32(i)*z1(i)
372 zl=r13(i)*x1(i)+r23(i)*y1(i)+r33(i)*z1(i)
376 xl=r11(i)*x2(i)+r21(i)*y2(i)+r31(i)*z2(i)
377 yl=r12(i)*x2(i)+r22(i)*y2(i)+r32(i)*z2(i)
378 zl=r13(i)*x2(i)+r23(i)*y2(i)+r33(i)*z2(i)
382 xl=r11(i)*x3(i)+r21(i)*y3(i)+r31(i)*z3(i)
383 yl=r12(i)*x3(i)+r22(i)*y3(i)+r32(i)*z3(i)
384 zl=r13(i)*x3(i)+r23(i)*y3(i)+r33(i)*z3(i)
388 xl=r11(i)*x4(i)+r21(i)*y4(i)+r31(i)*z4(i)
389 yl=r12(i)*x4(i)+r22(i)*y4(i)+r32(i)*z4(i)
390 zl=r13(i)*x4(i)+r23(i)*y4(i)+r33(i)*z4(i
394 xl=r11(i)*x5(i)+r21(i)*y5(i)+r31(i)*z5(i)
395 yl=r12(i)*x5(i)+r22(i)*y5(i)+r32(i)*z5(i)
396 zl=r13(i)*x5(i)+r23(i)*y5(i)+r33(i)*z5(i)
400 xl=r11(i)*x6(i)+r21(i)*y6(i)+r31(i)*z6(i)
401 yl=r12(i)*x6(i)+r22(i)*y6(i)+r32(i)*z6(i)
402 zl=r13(i)*x6(i)+r23(i)*y6(i)+r33(i)*z6(i)
406 xl=r11(i)*x7(i)+r21(i)*y7(i)+r31(i)*z7(i)
407 yl=r12(i)*x7(i)+r22(i)*y7(i)+r32(i)*z7(i)
408 zl=r13(i)*x7(i)+r23(i)*y7(i)+r33(i)*z7(i)
412 xl=r11(i)*x8(i)+r21(i)*y8(i)+r31(i)*z8(i)
413 yl=r12(i)*x8(i)+r22(i)*y8(i)+r32(i)*z8(i)
414 zl=r13(i)*x8(i)+r23(i)*y8(i)+r33(i)*z8(i)
483 sav(i,10)=x4(i)-x8(i)
484 sav(i,11)=y4(i)-y8(i)
485 sav(i,12)=z4(i)-z8(i)
486 sav(i,13)=x5(i)-x8(i)
487 sav(i,14)=y5(i)-y8(i)
488 sav(i,15)=z5(i)-z8(i)
489 sav(i,16)=x6(i)-x8(i)
490 sav(i,17)=y6(i)-y8(i)
491 sav(i,18)=z6(i)-z8(i)
492 sav(i,19)=x7(i)-x8(i)
493 sav(i,20)=y7(i)-y8(i)
494 sav(i,21)=z7(i)-z8(i)
502 xl=r11(i)*x1(i)+r21(i)*y1(i)+r31(i)*z1(i)
503 yl=r12(i)*x1(i)+r22(i)*y1(i)+r32(i)*z1(i)
504 zl=r13(i)*x1(i)+r23(i)*y1(i)+r33(i)*z1(i)
508 xl=r11(i)*x2(i)+r21(i)*y2(i)+r31(i)*z2(i)
509 yl=r12(i)*x2(i)+r22(i)*y2(i)+r32(i)*z2(i)
510 zl=r13(i)*x2(i)+r23(i)*y2(i)+r33(i)*z2(i)
514 xl=r11(i)*x3(i)+r21(i)*y3(i)+r31(i)*z3(i)
515 yl=r12(i)*x3(i)+r22(i)*y3(i)+r32(i)*z3(i)
516 zl=r13(i)*x3(i)+r23(i)*y3(i)+r33(i)*z3(i)
520 xl=r11(i)*x4(i)+r21(i)*y4(i)+r31(i)*z4(i)
521 yl=r12(i)*x4(i)+r22(i)*y4(i)+r32(i)*z4(i)
522 zl=r13(i)*x4(i)+r23(i)*y4(i)+r33(i)*z4(i)
526 xl=r11(i)*x5(i)+r21(i)*y5(i)+r31(i)*z5(i)
527 yl=r12(i)*x5(i)+r22(i)*y5(i)+r32(i)*z5(i)
528 zl=r13(i)*x5(i)+r23(i)*y5(i)+r33(i)*z5(i)
532 xl=r11(i)*x6(i)+r21(i)*y6(i)+r31(i)*z6(i)
533 yl=r12(i)*x6(i)+r22(i)*y6(i)+r32(i)*z6(i)
534 zl=r13(i)*x6(i)+r23(i)*y6(i)+r33(i)*z6(i)
538 xl=r11(i)*x7(i)+r21(i)*y7(i)+r31(i)*z7(i)
539 yl=r12(i)*x7(i)+r22(i)*y7(i)+r32(i)*z7(i)
540 zl=r13(i)*x7(i)+r23(i)*y7(i)+r33(i)*z7(i)
544 xl=r11(i)*x8(i)+r21(i)*y8(i)+r31(i)*z8(i)
545 yl=r12(i)*x8(i)+r22(i)*y8(i)+r32(i)*z8(i)
546 zl=r13(i)*x8(i)+r23(i)*y8(i)+r33(i)*z8(i)
550 off(i) =
min(one,offg(i))
subroutine srcoork(x, ixs, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, offg, off, sav, r11, r12, r13, r21, r22, r23, r31, r32, r33, nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8, ngl, mxt, ngeo, k11, k12, k13, k14, k15, k16, k17, k18, k22, k23, k24, k25, k26, k27, k28, k33, k34, k35, k36, k37, k38, k44, k45, k46, k47, k48, k55, k56, k57, k58, k66, k67, k68, k77, k78, k88, khbe, gama0, gama, nel, ismstr, jhbe, jcvt, irep, igtyp, isorth)
subroutine scortho3(x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, rx, ry, rz, sx, sy, sz, tx, ty, tz, e1x, e1y, e1z, e2x, e2y, e2z, e3x, e3y, e3z)