42 9 PZ4, PX1H, PX2H, PX3H,
43 A PY1H, PY2H, PY3H, PZ1H,
44 B PZ2H, PZ3H, JACOB5, JACOB6,
45 C JACOB4, JACOB8, JACOB9, JACOB7,
46 D JACI33, B1X, B1Y, B2Y,
47 E B2X, B1122, B1221, B2212,
48 F B1121, B1XH, B1YH, B2XH,
49 G B2YH, B1122H, B1221H, B2212H,
50 H B1121H, VZL, VOLG, SAV,
59#include "implicit_f.inc"
76 INTEGER,
INTENT(IN) :: ISMSTR
77 INTEGER :: NEL, NGL(*)
81 . X1(*), X2(*), X3(*), X4(*), X5(*), X6(*),
82 . Y1(*), Y2(*), Y3(*), Y4(*), Y5(*), Y6(*),
83 . Z1(*), Z2(*), Z3(*), Z4(*), Z5(*), Z6(*),
84 . PX1(*), PX2(*), (*), PX4(*),
85 . PY1(*), PY2(*), PY3(*), PY4(*),
86 . PZ1(*), PZ2(*), PZ3(*), PZ4(*),
87 . PX1H(*), PX2H(*), PX3H(*),
88 . PY1H(*), PY2H(*), PY3H(*),
89 . PZ1H(*), PZ2H(*), PZ3H(*),
90 . JACOB7(*),JACOB8(*),JACOB9(*),
91 . JACOB4(*),JACOB5(*),JACOB6(*),
92 . JACI33(*),(MVSIZ,2),B1Y(MVSIZ,2),B2X(MVSIZ,2),B2Y(MVSIZ,2),
93 . B1XH(MVSIZ,2),B1YH(MVSIZ,2),(MVSIZ,2),B2YH(MVSIZ,2),
95 . b1122h(*),b1221h(*),b2212h(*),b1121h(*),
96 . vzl(*),volg(*),offg(*)
102 INTEGER :: , J,ICOR,NNEGA,INDEX(MVSIZ)
105 . DETT(MVSIZ), JAC1(), JAC2(MVSIZ), JAC3(MVSIZ),
106 . JAC4(MVSIZ), JAC5(MVSIZ), JAC6(MVSIZ),
107 . JAC7(MVSIZ), JAC8(MVSIZ)(MVSIZ),
109 . JACI4, JACI5, JACI6,
110 . JACI7, JACI8, JACI9,
111 . X21(MVSIZ) , X31(MVSIZ) , X54(MVSIZ) , X64(MVSIZ),
112 . Y21(MVSIZ) , Y31(MVSIZ) , Y54(MVSIZ) , Y64(MVSIZ),
113 . Z21(MVSIZ) , Z31(MVSIZ) , Z54(MVSIZ) , Z64(MVSIZ),
114 . X41(MVSIZ) , Y41(MVSIZ) , Z41(MVSIZ) ,
115 . jac_59_68(mvsiz), jac_67_49(mvsiz), jac_48_57(mvsiz),
116 . jaci12, jaci45, jaci78,
142 jac1(i)=x21(i)+x54(i)
143 jac2(i)=y21(i)+y54(i)
144 jac3(i)=z21(i)+z54(i)
148 jac4(i)=x31(i)+x64(i)
149 jac5(i)=y31(i)+y64(i)
150 jac6(i)=z31(i)+z64(i)
152 jac7(i)=third*(x41(i)+x5(i)-x2(i)+x6(i)-x3(i))
153 jac8(i)=third*(y41(i)+y5(i)-y2(i)+y6(i)-y3(i))
154 jac9(i)=third*(z41(i)+z5(i)-z2(i)+z6(i)-z3(i))
167 jac_59_68(i)=jac5(i)*jac9(i)-jac6(i)*jac8(i)
168 jac_67_49(i)=jac6(i)*jac7(i)-jac4(i)*jac9(i)
169 jac_48_57(i)=jac4(i)*jac8(i)-jac5(i)*jac7(i)
173 det(i)=one_over_8*(jac1(i)*jac_59_68(i)+jac2(i)*jac_67_49(i)+jac3(i)*jac_48_57(i))
179 IF(off(i) ==zero)
THEN
181 ELSEIF((det(i)<=volmin).OR.(det(i)<=zero))
THEN
188 IF(det(i)<=volmin)
THEN
192 WRITE(istdo,2000) ngl(i)
193 WRITE(iout ,2000) ngl(i)
194#include "lockoff.inc"
195 ELSEIF(det(i)<=zero)
THEN
196 CALL ancmsg(msgid=166,anmode=aninfo,
203 ELSEIF(idtmin(1)==2)
THEN
206 IF(off(i) ==zero)
THEN
208 ELSEIF((det(i)<=volmin).OR.(det(i)<=zero))
THEN
214 IF((off(i)/=zero).AND.
215 . (det(i)<=volmin.OR.det(i)<=zero))
THEN
219 WRITE(istdo,2000) ngl(i)
220 WRITE(iout ,2000) ngl(i)
221#include "lockoff.inc"
226 ELSEIF (ismstr /=4 )
THEN
229 IF(off(i) ==zero)
THEN
231 ELSEIF((det(i)<=volmin).OR.(det(i)<=zero))
THEN
237 IF(off(i) == zero)
THEN
239 ELSEIF(offg(i) > one)
THEN
245 WRITE(istdo,3000) ngl(i)
246 WRITE(iout ,3000) ngl(i)
247#include "lockoff.inc"
251 CALL ancmsg(msgid=280,anmode=aninfo)
259 IF(off(i) ==zero)
THEN
261 ELSEIF(det(i)<=zero)
THEN
269 CALL ancmsg(msgid=166,anmode=aninfo,
280#include "vectorize.inc"
318 jac1(i)=x21(i)+x54(i)
319 jac2(i)=y21(i)+y54(i)
320 jac3(i)=z21(i)+z54(i)
322 jac4(i)=x31(i)+x64(i)
323 jac5(i)=y31(i)+y64(i)
324 jac6(i)=z31(i)+z64(i)
325 jac7(i)=third*(x41(i)+x5(i)-x2(i)+x6(i)-x3(i))
326 jac8(i)=third*(y41(i)+y5(i)-y2(i)+y6(i)-y3(i))
327 jac9(i)=third*(z41(i)+z5(i)-z2(i)+z6(i)-z3(i))
336 jac_59_68(i)=jac5(i)*jac9(i)-jac6(i)*jac8(i)
337 jac_67_49(i)=jac6(i)*jac7(i)-jac4(i)*jac9(i)
338 jac_48_57(i)=jac4(i)*jac8(i)-jac5(i)*jac7(i)
340 det(i)=one_over_8*(jac1(i)*jac_59_68(i)+jac2(i)*jac_67_49(i)+jac3(i)*jac_48_57(i))
347 dett(i)=one_over_8/det(i)
349 jaci1=dett(i)*jac_59_68(i)
350 jaci4=dett(i)*jac_67_49(i)
351 jaci7=dett(i)*jac_48_57(i)
352 jaci2=dett(i)*(-jac2(i)*jac9(i)+jac3(i)*jac8(i))
353 jaci5=dett(i)*( jac1(i)*jac9(i)-jac3(i)*jac7(i))
354 jaci8=dett(i)*(-jac1(i)*jac8(i)+jac2(i)*jac7(i))
356 jaci6=dett(i)*(-jac1(i)*jac6(i)+jac3(i)*jac4(i))
357 jaci9=dett(i)*( jac1(i)*jac5(i)-jac2(i)*jac4(i))
376 jaci33(i) = jaci9*one_over_12
381 fac = dett(i)*one_over_12
383 b1x(i,2)=-fac*jac4(i)*jac5(i)
384 b1y(i,1)=-fac*jac2(i)*jac2(i)
385 b1y(i,2)=-fac*jac5(i)*jac5(i)
386 b2x(i,1)=-fac*jac1(i)*jac1(i)
387 b2x(i,2)=-fac*jac4(i)*jac4(i)
391 b1122(i)=fac*jac1(i)*jac5(i)
392 b1221(i)=fac*jac2(i)*jac4(i)
393 b2212(i)=fac*jac5(i)*jac2(i)
396 b1xh(i,1)=-fac*(x54(i)*y54(i)-x21(i)*y21(i))
397 b1xh(i,2)=-fac*(x64(i)*y64(i)-x31(i)*y31(i))
398 b1yh(i,1)=-fac*(y54(i)*y54(i)-y21(i)*y21(i))
399 b1yh(i,2)=-fac*(y64(i)*y64(i)-y31(i)*y31(i))
400 b2xh(i,1)=-fac*(x54(i)*x54(i)-x21(i)*x21(i))
401 b2xh(i,2)=-fac*(x64(i)*x64(i)-x31(i)*x31(i))
405 b1122h(i)=fac*(x54(i)*y64(i)-x21(i)*y31(i))
406 b1221h(i)=fac*(x64(i)*y54(i)-x31(i)*y21(i))
407 b2212h(i)=fac*(y54(i)*y64(i)-y21(i)*y31(i))
412 jac1(i)=-x21(i)+x54(i)
413 jac2(i)=-y21(i)+y54(i)
414 jac3(i)=-z21(i)+z54(i)
415 jac4(i)=-x31(i)+x64(i)
416 jac5(i)=-y31(i)+y64(i)
417 jac6(i)=-z31(i)+z64(i)
421 jac_59_68(i)=jac5(i)*jac9(i)-jac6(i)*jac8(i)
422 jac_67_49(i)=jac6(i)*jac7(i)-jac4(i)*jac9(i)
423 jac_48_57(i)=jac4(i)*jac8(i)-jac5(i)*jac7(i)
427 jaci1=dett(i)*jac_59_68(i)
428 jaci4=dett(i)*jac_67_49(i)
429 jaci7=dett(i)*jac_48_57(i)
430 jaci2=dett(i)*(-jac2(i)*jac9(i)+jac3(i)*jac8(i))
431 jaci5=dett(i)*( jac1(i)*jac9(i)-jac3(i)*jac7(i))
432 jaci8=dett(i)*(-jac1(i)*jac8(i)+jac2(i)*jac7(i))
451 vzl(i) = fourth*(jacob9(i)*(
452 . x54(i)*y64(i)-x21(i)*y31(i)-x64(i)*y54(i)+x31(i)*y21(i))
454 . x54(i)*z64(i)+x31(i)*z21(i)-x21(i)*z31(i)-x64(i)*z54(i))
456 . y54(i)*z64(i)+y31(i)*z21(i)-y21(i)*z31(i)-y64(i)*z54(i))
462 1000
FORMAT(/
' ZERO OR NEGATIVE VOLUME : 3D-ELEMENT NB',i10/)
463 2000
FORMAT(/
' ZERO OR NEGATIVE VOLUME : DELETE 3D-ELEMENT NB',i10/)
464 3000
FORMAT(/
' ZERO OR NEGATIVE VOLUME : 3D-ELEMENT NB:',i10/,
465 +
' SOLID-SHELL ELEMENT IS SWITCHED TO SMALL STRAIN OPTION'/)
subroutine s6cderi3(off, det, ngl, x1, x2, x3, x4, x5, x6, y1, y2, y3, y4, y5, y6, z1, z2, z3, z4, z5, z6, px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, px1h, px2h, px3h, py1h, py2h, py3h, pz1h, pz2h, pz3h, jacob5, jacob6, jacob4, jacob8, jacob9, jacob7, jaci33, b1x, b1y, b2y, b2x, b1122, b1221, b2212, b1121, b1xh, b1yh, b2xh, b2yh, b1122h, b1221h, b2212h, b1121h, vzl, volg, sav, offg, nel, ismstr)
subroutine ancmsg(msgid, msgtype, anmode, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, r1, r2, r3, r4, r5, r6, r7, r8, r9, c1, c2, c3, c4, c5, c6, c7, c8, c9, prmode)