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 JT_1, AJ1, AJ2, AJ3,
53 I AJ8, AJ9, SMAX, SAV,
54 J OFFG, NEL, ISMSTR, JLAG)
62#include "implicit_f.inc"
74 INTEGER,
INTENT(IN) :: JLAG
75 INTEGER,
INTENT(IN) :: ISMSTR
77 DOUBLE PRECISION X1(*), X2(*), X3(*), X4(*), X5(
94 . aj7(*),aj8(*),aj9(*),smax(*),offg(*)
98 INTEGER NGL(*), I, J ,ICOR,NNEGA,INDEX(MVSIZ)
100 . AJI1(MVSIZ), AJI2(MVSIZ), AJI3(MVSIZ),
101 . aji4(mvsiz), aji5(mvsiz), aji6(mvsiz),
102 . aji7(mvsiz), aji8(mvsiz), aji9(mvsiz),
103 . x17(mvsiz) , x28(mvsiz) , x35(mvsiz) , x46(mvsiz),
104 . y17(mvsiz) , y28(mvsiz) , y35(mvsiz) , y46(mvsiz),
105 . z17(mvsiz) , z28(mvsiz) , z35(mvsiz) , z46(mvsiz),
106 . jac_59_68(mvsiz), jac_67_49(mvsiz), jac_48_57(mvsiz),
107 . jac_38_29(mvsiz), jac_19_37(mvsiz), jac_27_18(mvsiz),
108 . jac_26_35(mvsiz), jac_34_16(mvsiz), jac_15_24(mvsiz),
109 . aj12(mvsiz), aj45(mvsiz), aj78(mvsiz),
110 . a17(mvsiz) , a28(mvsiz) ,
111 . b17(mvsiz) , b28(mvsiz) ,
112 . c17(mvsiz) , c28(mvsiz)
130 aj4(i)=x17(i)+x28(i)-x35(i)-x46(i)
131 aj5(i)=y17(i)+y28(i)-y35(i)-y46(i)
132 aj6(i)=z17(i)+z28(i)-z35(i)-z46(i)
153 jac_59_68(i)=aj5(i)*aj9(i)-aj6(i)*aj8(i)
154 jac_67_49(i)=aj6(i)*aj7(i)-aj4(i)*aj9(i)
155 jac_48_57(i)=aj4(i)*aj8(i)-aj5(i)*aj7(i)
159 det(i)=one_over_64*(aj1(i)*jac_59_68(i)+aj2(i)*jac_67_49(i)+aj3(i)*jac_48_57(i))
163 1 off, det, ngl, offg,
164 2 nnega, index, nel, ismstr,
167 IF (ismstr==10.OR.ismstr==12)
THEN
168#include "vectorize.inc"
197#include "vectorize.inc"
226#include "vectorize.inc"
243 aj4(i)=x17(i)+x28(i)-x35(i)-x46(i)
244 aj5(i)=y17(i)+y28(i)-y35(i)-y46(i)
245 aj6(i)=z17(i)+z28(i)-z35(i)-z46(i)
259 jac_59_68(i)=aj5(i)*aj9(i)-aj6(i)*aj8(i)
260 jac_67_49(i)=aj6(i)*aj7(i)-aj4(i)*aj9(i)
261 jac_48_57(i)=aj4(i)*aj8(i)-aj5(i)*aj7(i)
263 det(i)=one_over_64*(aj1(i)*jac_59_68(i)+aj2(i)*jac_67_49(i)+aj3(i)*jac_48_57(i))
269 jac_38_29(i)=(-aj2(i)*aj9(i)+aj3(i)*aj8(i))
270 jac_19_37(i)=( aj1(i)*aj9(i)-aj3(i)*aj7(i))
271 jac_27_18(i)=(-aj1(i)*aj8(i)+aj2(i)*aj7(i))
272 jac_26_35(i)=( aj2(i)*aj6(i)-aj3(i)*aj5(i))
273 jac_34_16(i)=(-aj1(i)*aj6(i)+aj3(i)*aj4(i))
274 jac_15_24(i)=( aj1(i)*aj5(i)-aj2(i)*aj4(i))
278 dett(i)=one_over_64/det(i)
284 aji1(i)=dett(i)*jac_59_68(i)
285 aji4(i)=dett(i)*jac_67_49(i)
286 aji7(i)=dett(i)*jac_48_57(i)
287 aji2(i)=dett(i)*jac_38_29(i)
288 aji5(i)=dett(i)*jac_19_37(i)
289 aji8(i)=dett(i)*jac_27_18(i)
290 aji3(i)=dett(i)*jac_26_35(i)
291 aji6(i)=dett(i)*jac_34_16(i)
292 aji9(i)=dett(i)*jac_15_24(i)
296 aj12(i)=aji1(i)-aji2(i)
297 aj45(i)=aji4(i)-aji5(i)
298 aj78(i)=aji7(i)-aji8(i)
301 px2(i)= aj12(i)-aji3(i)
302 py2(i)= aj45(i)-aji6(i)
303 pz2(i)= aj78(i)-aji9(i)
304 px4(i)=-aj12(i)-aji3(i)
305 py4(i)=-aj45(i)-aji6(i)
306 pz4(i)=-aj78(i)-aji9(i)
309 aj12(i)=aji1(i)+aji2(i)
310 aj45(i)=aji4(i)+aji5(i)
311 aj78(i)=aji7(i)+aji8(i)
314 px1(i)=-aj12(i)-aji3(i)
315 py1(i)=-aj45(i)-aji6(i)
316 pz1(i)=-aj78(i)-aji9(i)
317 px3(i)=aj12(i)-aji3(i)
318 py3(i)=aj45(i)-aji6(i)
319 pz3(i)=aj78(i)-aji9(i)
323 jr_1(1:nel)=aji2(1:nel)
324 js_1(1:nel)=aji6(1:nel)
325 jt_1(1:nel)=aji7(1:nel)
330 hx(i,1)=(x1(i)+x2(i)-x3(i)-x4(i)-x5(i)-x6(i)+x7(i)+x8(i))
331 hy(i,1)=(y1(i)+y2(i)-y3(i)-y4(i)-y5(i)-y6(i)+y7(i)+y8(i))
332 hz(i,1)=(z1(i)+z2(i)-z3(i)-z4(i)-z5(i)-z6(i)+z7(i)+z8(i))
333 px1h1(i)=px1(i)*hx(i,1)+ py1(i)*hy(i,1)+pz1(i)*hz(i,1)
334 px2h1(i)=px2(i)*hx(i,1)+ py2(i)*hy(i,1)+pz2(i)*hz(i,1)
335 px3h1(i)=px3(i)*hx(i,1)+ py3(i)*hy(i,1)+pz3(i)*hz(i,1)
336 px4h1(i)=px4(i)*hx(i,1)+ py4(i)*hy(i,1)+pz4(i)*hz(i,1)
341 hx(i,2)=(x1(i)-x2(i)-x3(i)+x4(i)-x5(i)+x6(i)+x7(i)-x8(i))
342 hy(i,2)=(y1(i)-y2(i)-y3(i)+y4(i)-y5(i)+y6(i)+y7(i)-y8(i))
343 hz(i,2)=(z1(i)-z2(i)-z3(i)+z4(i)-z5(i)+z6(i)+z7(i)-z8(i))
344 px1h2(i)=px1(i)*hx(i,2)+ py1(i)*hy(i,2)+pz1(i)*hz(i,2)
345 px2h2(i)=px2(i)*hx(i,2)+ py2(i)*hy(i,2)+pz2(i)*hz(i,2)
346 px3h2(i)=px3(i)*hx(i,2)+ py3(i)*hy(i,2)+pz3(i)*hz(i,2)
347 px4h2(i)=px4(i)*hx(i,2)+ py4(i)*hy(i,2)+pz4(i)*hz(i,2)
352 hx(i,3)=(x1(i)-x2(i)+x3(i)-x4(i)+x5(i)-x6(i)+x7(i)-x8(i))
353 hy(i,3)=(y1(i)-y2(i)+y3(i)-y4(i)+y5(i)-y6(i)+y7(i)-y8(i))
355 px1h3(i)=px1(i)*hx(i,3)+ py1(i)*hy(i,3)+pz1(i)*hz(i,3)
356 px2h3(i)=px2(i)*hx(i,3)+ py2(i)*hy(i,3)+pz2(i)*hz(i,3)
357 px3h3(i)=px3(i)*hx(i,3)+ py3(i)*hy(i,3)+pz3(i)*hz(i,3)
358 px4h3(i)=px4(i)*hx(i,3)+ py4(i)*hy(i,3)+pz4(i)*hz(i,3)
363 hx(i,4)=(-x1(i)+x2(i)-x3(i)+x4(i)+x5(i)-x6(i)+x7(i)-x8(i))
364 hy(i,4)=(-y1(i)+y2(i)-y3(i)+y4(i)+y5(i)-y6(i)+y7(i)-y8(i))
365 hz(i,4)=(-z1(i)+z2(i)-z3(i)+z4(i)+z5(i)-z6(i)+z7(i)-z8(i))
366 px1h4(i)=px1(i)*hx(i,4)+ py1(i)*hy(i,4)+pz1(i)*hz(i,4)
367 px2h4(i)=px2(i)*hx(i,4)+ py2(i)*hy(i,4)+pz2(i)*hz(i,4)
368 px3h4(i)=px3(i)*hx(i,4)+ py3(i)*hy(i,4)+pz3(i)*hz(i,4)
369 px4h4(i)=px4(i)*hx(i,4)+ py4(i)*hy(i,4)+pz4(i)*hz(i,4)
373 smax(i)= jac_59_68(i)*jac_59_68(i)+jac_67_49(i)*jac_67_49(i)
374 . +jac_48_57(i)*jac_48_57(i)
375 smax(i)=
max(smax(i),jac_38_29(i)*jac_38_29(i)+jac_19_37(i)*jac_19_37(i)
376 . +jac_27_18(i)*jac_27_18(i))
377 smax(i)=
max(smax(i),jac_26_35(i)*jac_26_35(i)+jac_34_16(i)*jac_34_16(i)
378 . +jac_15_24(i)*jac_15_24(i))
381 IF(smax(i)<=zero)
THEN
382 CALL ancmsg(msgid=173,anmode=aninfo,i1=ngl(i))
385 smax(i)= one/sqrt(smax(i))
389 1000
FORMAT(/
' ZERO OR NEGATIVE VOLUME : 3D-ELEMENT NB',i10/)
390 2000
FORMAT(/
' ZERO OR NEGATIVE VOLUME : DELETE 3D-ELEMENT NB',i10/)
subroutine s8ederic3(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, jr_1, js_1, jt_1, aj1, aj2, aj3, aj4, aj5, aj6, aj7, aj8, aj9, smax, sav, offg, nel, ismstr, jlag)
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)