45 A PZ2, PZ3, PZ4, PX1H1,
46 B PX1H2, PX1H3, PX1H4, PX2H1,
47 C PX2H2, PX2H3, PX2H4, PX3H1,
48 D PX3H2, PX3H3, PX3H4, PX4H1,
49 E PX4H2, PX4H3, PX4H4, HX,
51 G JAC3, JAC4, JAC5, JAC6,
52 H JAC7, JAC8, JAC9, SMAX,
53 I SAV, OFFG, NEL, ISMSTR,
62#include
"implicit_f.inc"
74 INTEGER,
INTENT(IN) :: JLAG
75 INTEGER,
INTENT(IN) :: ISMSTR
80 . y1(*), y2(*), y3(*), y4(*), y5(*), y6(*), y7(*), y8(*),
81 . z1(*), z2(*), z3(*), z4(*), z5(*), z6(*), z7(*), z8(*),
86 . px1(*), px2(*), px3(*), px4(*),
87 . py1(*), py2(*), py3(*), py4(*),
88 . pz1(*), pz2(*), pz3(*), pz4(*),
89 . px1h1(*), px1h2(*), px1h3(*),px1h4(*),
90 . px2h1(*), px2h2(*), px2h3(*),px2h4(*),
91 . px3h1(*), px3h2(*), px3h3(*),px3h4(*),
92 . px4h1(*), px4h2(*), px4h3(*),px4h4(*),
93 . hx(mvsiz,4), hy(mvsiz,4), hz(mvsiz,4),
94 . jac1(*),jac2(*),jac3(*),
95 . jac4(*),jac5(*),jac6(*),
96 . jac7(*),jac8(*),jac9(*),smax(*),offg(*)
100 INTEGER NGL(*), I, J ,ICOR,NNEGA,INDEX(MVSIZ)
105 . jaci1, jaci2, jaci3,
106 . jaci4, jaci5, jaci6,
107 . jaci7, jaci8, jaci9,
108 . x17 , x28 , x35 , x46,
109 . y17 , y28 , y35 , y46,
110 . z17 , z28 , z35 , z46,
111 . jac_59_68(mvsiz), jac_67_49(mvsiz), jac_48_57(mvsiz),
112 . jac_38_29(mvsiz), jac_19_37(mvsiz), jac_27_18(mvsiz),
113 . jac_26_35(mvsiz), jac_34_16(mvsiz), jac_15_24(mvsiz),
114 . jaci12, jaci45, jaci78,
115 . x_17_46 , x_28_35 ,
116 . y_17_46 , y_28_35 ,
134 jac4(i)=x17+x28-x35-x46
135 jac5(i)=y17+y28-y35-y46
136 jac6(i)=z17+z28-z35-z46
143 jac7(i)=x_17_46+x_28_35
144 jac8(i)=y_17_46+y_28_35
145 jac9(i)=z_17_46+z_28_35
146 jac1(i)=x_17_46-x_28_35
147 jac2(i)=y_17_46-y_28_35
148 jac3(i)=z_17_46-z_28_35
154 jac_59_68(i)=jac5(i)*jac9(i)-jac6(i)*jac8(i)
155 jac_67_49(i)=jac6(i)*jac7(i)-jac4(i)*jac9(i)
156 jac_48_57(i)=jac4(i)*jac8(i)-jac5(i)*jac7(i)
160 det(i)=one_over_64*(jac1(i)*jac_59_68(i)+jac2(i)*jac_67_49(i)+jac3(i)*jac_48_57(i))
164 1 off, det, ngl, offg,
165 2 nnega, index, nel, ismstr,
168 IF (ismstr==10.OR.ismstr==12)
THEN
169#include "vectorize.inc"
226#include "vectorize.inc"
243 jac4(i)=x17+x28-x35-x46
244 jac5(i)=y17+y28-y35-y46
245 jac6(i)=z17+z28-z35-z46
252 jac7(i)=x_17_46+x_28_35
253 jac8(i)=y_17_46+y_28_35
254 jac9(i)=z_17_46+z_28_35
255 jac1(i)=x_17_46-x_28_35
256 jac2(i)=y_17_46-y_28_35
257 jac3(i)=z_17_46-z_28_35
259 jac_59_68(i)=jac5(i)*jac9(i)-jac6(i)*jac8(i)
260 jac_67_49(i)=jac6(i)*jac7(i)-jac4(i)*jac9(i)
261 jac_48_57(i)=jac4(i)*jac8(i)-jac5(i)*jac7(i)
263 det(i)=one_over_64*(jac1(i)*jac_59_68(i)+jac2(i)*jac_67_49(i)+jac3(i)*jac_48_57(i))
269 jac_38_29(i)=(-jac2(i)*jac9(i)+jac3(i)*jac8(i))
270 jac_19_37(i)=( jac1(i)*jac9(i)-jac3(i)*jac7(i))
271 jac_27_18(i)=(-jac1(i)*jac8(i)+jac2(i)*jac7(i))
272 jac_26_35(i)=( jac2(i)*jac6(i)-jac3(i)*jac5(i))
273 jac_34_16(i)=(-jac1(i)*jac6(i)+jac3(i)*jac4(i))
274 jac_15_24(i)=( jac1(i)*jac5(i)-jac2(i)*jac4(i))
280 dett=one_over_64/det(i)
281 jaci1=dett*jac_59_68(i)
282 jaci4=dett*jac_67_49(i)
283 jaci7=dett*jac_48_57(i)
284 jaci2=dett*jac_38_29(i)
285 jaci5=dett*jac_19_37(i)
286 jaci8=dett*jac_27_18(i)
287 jaci3=dett*jac_26_35(i)
288 jaci6=dett*jac_34_16(i)
289 jaci9=dett*jac_15_24(i)
317 hx(i,1)=(x1(i)+x2(i)-x3(i)-x4(i)-x5(i)-x6(i)+x7(i)+x8(i))
318 hy(i,1)=(y1(i)+y2(i)-y3(i)-y4(i)-y5(i)-y6(i)+y7(i)+y8(i))
319 hz(i,1)=(z1(i)+z2(i)-z3(i)-z4(i)-z5(i)-z6(i)+z7(i)+z8(i))
320 px1h1(i)=px1(i)*hx(i,1)+ py1(i)*hy(i,1)+pz1(i)*hz(i,1)
321 px2h1(i)=px2(i)*hx(i,1)+ py2(i)*hy(i,1)+pz2(i)*hz(i,1)
322 px3h1(i)=px3(i)*hx(i,1)+ py3(i)*hy(i,1)+pz3(i)*hz(i,1)
323 px4h1(i)=px4(i)*hx(i,1)+ py4(i)*hy(i,1)+pz4(i)*hz(i,1)
328 hx(i,2)=(x1(i)-x2(i)-x3(i)+x4(i)-x5(i)+x6(i)+x7(i)-x8(i))
329 hy(i,2)=(y1(i)-y2(i)-y3(i)+y4(i)-y5(i)+y6(i)+y7(i)-y8(i))
330 hz(i,2)=(z1(i)-z2(i)-z3(i)+z4(i)-z5(i)+z6(i)+z7(i)-z8(i))
331 px1h2(i)=px1(i)*hx(i,2)+ py1(i)*hy(i,2)+pz1(i)*hz(i,2)
332 px2h2(i)=px2(i)*hx(i,2)+ py2(i)*hy(i,2)+pz2(i)*hz(i,2)
333 px3h2(i)=px3(i)*hx(i,2)+ py3(i)*hy(i,2)+pz3(i)*hz(i,2)
334 px4h2(i)=px4(i)*hx(i,2)+ py4(i)*hy(i,2)+pz4(i)*hz(i,2)
339 hx(i,3)=(x1(i)-x2(i)+x3(i)-x4(i)+x5(i)-x6(i)+x7(i)-x8(i))
340 hy(i,3)=(y1(i)-y2(i)+y3(i)-y4(i)+y5(i)-y6(i)+y7(i)-y8(i))
341 hz(i,3)=(z1(i)-z2(i)+z3(i)-z4(i)+z5(i)-z6(i)+z7(i)-z8(i))
342 px1h3(i)=px1(i)*hx(i,3)+ py1(i)*hy(i,3)+pz1(i)*hz(i,3)
343 px2h3(i)=px2(i)*hx(i,3)+ py2(i)*hy(i,3)+pz2(i)*hz(i,3)
344 px3h3(i)=px3(i)*hx(i,3)+ py3(i)*hy(i,3)+pz3(i)*hz(i,3)
345 px4h3(i)=px4(i)*hx(i,3)+ py4(i)*hy(i,3)+pz4(i)*hz(i,3)
350 hx(i,4)=(-x1(i)+x2(i)-x3(i)+x4(i)+x5(i)-x6(i)+x7(i)-x8(i))
351 hy(i,4)=(-y1(i)+y2(i)-y3(i)+y4(i)+y5(i)-y6(i)+y7(i)-y8(i))
352 hz(i,4)=(-z1(i)+z2(i)-z3(i)+z4(i)+z5(i)-z6(i)+z7(i)-z8(i))
353 px1h4(i)=px1(i)*hx(i,4)+ py1(i)*hy(i,4)+pz1(i)*hz(i,4)
354 px2h4(i)=px2(i)*hx(i,4)+ py2(i)*hy(i,4)+pz2(i)*hz(i,4)
355 px3h4(i)=px3(i)*hx(i,4)+ py3(i)*hy(i,4)+pz3(i)*hz(i,4)
356 px4h4(i)=px4(i)*hx(i,4)+ py4(i)*hy(i,4)+pz4(i)*hz(i,4)
360 smax(i)= jac_59_68(i)*jac_59_68(i)+jac_67_49(i)*jac_67_49(i)
361 . +jac_48_57(i)*jac_48_57(i)
362 smax(i)=
max(smax(i),jac_38_29(i)*jac_38_29(i)+jac_19_37(i)*jac_19_37(i)
363 . +jac_27_18(i)*jac_27_18(i))
364 smax(i)=
max(smax(i),jac_26_35(i)*jac_26_35(i)+jac_34_16(i)*jac_34_16(i)
365 . +jac_15_24(i)*jac_15_24(i))
368 IF(smax(i)<=zero)
THEN
369 CALL ancmsg(msgid=173,anmode=aninfo,
373 smax(i)= one/sqrt(smax(i))
377 1000
FORMAT(/
' ZERO OR NEGATIVE VOLUME : 3D-ELEMENT NB',i10/)
378 2000
FORMAT(/
' ZERO OR NEGATIVE VOLUME : DELETE 3D-ELEMENT NB',i10/)
subroutine s8zderic3(off, det, ngl, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, px1h1, px1h2, px1h3, px1h4, px2h1, px2h2, px2h3, px2h4, px3h1, px3h2, px3h3, px3h4, px4h1, px4h2, px4h3, px4h4, hx, hy, hz, jac1, jac2, jac3, jac4, jac5, jac6, jac7, jac8, jac9, smax, sav, offg, nel, ismstr, jlag)
subroutine s8zforc3(timers, output, elbuf_tab, ng, pm, geo, ixs, x, a, v, ms, w, flux, flu1, veul, fv, ale_connect, iparg, tf, npf, bufmat, partsav, nloc_dmg, dt2t, neltst, ityptst, stifn, fsky, iads, offset, eani, iparts, icp, f11, f21, f31, f12, f22, f32, f13, f23, f33, f14, f24, f34, f15, f25, f35, f16, f26, f36, f17, f27, f37, f18, f28, f38, nel, icsig, smr, sms, smt, mfxx, mfxy, mfxz, mfyx, mfyy, mfyz, mfzx, mfzy, mfzz, nvc, ipm, itask, istrain, temp, fthe, fthesky, iexpan, igeo, nnpt, gresav, grth, igrth, mssa, dmels, table, xdp, voln, condn, condnsky, jfac, d, sensors, ioutprt, mat_elem, h3d_strain, dt, snpc, stf, sbufmat, svis, nsvois, idtmins, iresp, maxfunc, userl_avail, glob_therm, impl_s, idyna)
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)