46 A PZ2, PZ3, PZ4, PX1H1,
47 B PX1H2, PX1H3, PX1H4, PX2H1,
48 C PX2H2, PX2H3, PX2H4, PX3H1,
49 D PX3H2, PX3H3, PX3H4, PX4H1,
50 E PX4H2, PX4H3, PX4H4, HX,
52 G JAC3, JAC4, JAC5, JAC6,
53 H JAC7, JAC8, JAC9, SMAX,
62#include
"implicit_f.inc"
74 INTEGER,
INTENT(IN) :: NEL
76 . x1(*), x2(*), x3(*), x4(*), x5(*), x6(*), x7(*), x8(*),
77 . y1(*), y2(*), y3(*), y4(*), y5(*), y6(*), y7(*), y8(*),
78 . z1(*), z2(*), z3(*), z4(*), z5(*), z6(*), z7(*), z8(*)
82 . px1(*), px2(*), px3(*), px4(*),
83 . py1(*), py2(*), py3(*), py4(*),
84 . pz1(*), pz2(*), pz3(*), pz4(*),
85 . px1h1(*), px1h2(*), px1h3(*),px1h4(*),
86 . px2h1(*), px2h2(*), px2h3(*),px2h4(*),
87 . px3h1(*), px3h2(*), px3h3(*),px3h4(*),
88 . px4h1(*), px4h2(*), px4h3(*),px4h4(*),
89 . hx(mvsiz,4), hy(mvsiz,4), hz(mvsiz,4),
90 . jac1(*),jac2(*),jac3(*),
91 . jac4(*),jac5(*),jac6(*),
92 . jac7(*),jac8(*),jac9(*),smax(*)
96 INTEGER NGL(*), I, J ,ICOR
101 . jaci1, jaci2, jaci3,
102 . jaci4, jaci5, jaci6,
103 . jaci7, jaci8, jaci9,
104 . x17 , x28 , x35 , x46,
105 . y17 , y28 , y35 , y46,
106 . z17 , z28 , z35 , z46,
107 . jac_59_68(mvsiz), jac_67_49(mvsiz), jac_48_57(mvsiz),
108 . jac_38_29(mvsiz), jac_19_37(mvsiz), jac_27_18(mvsiz),
109 . jac_26_35(mvsiz), jac_34_16(mvsiz), jac_15_24(mvsiz),
110 . jaci12, jaci45, jaci78,
111 . x_17_46 , x_28_35 ,
112 . y_17_46 , y_28_35 ,
131 jac4(i)=x17+x28-x35-x46
132 jac5(i)=y17+y28-y35-y46
133 jac6(i)=z17+z28-z35-z46
141 jac7(i)=x_17_46+x_28_35
142 jac8(i)=y_17_46+y_28_35
143 jac9(i)=z_17_46+z_28_35
144 jac1(i)=x_17_46-x_28_35
145 jac2(i)=y_17_46-y_28_35
146 jac3(i)=z_17_46-z_28_35
150 jac_59_68(i)=jac5(i)*jac9(i)-jac6(i)*jac8(i)
151 jac_67_49(i)=jac6(i)*jac7(i)-jac4(i)*jac9(i)
153 jac_19_37(i)=( jac1(i)*jac9(i)-jac3(i)*jac7(i))
154 jac_27_18(i)=(-jac1(i)*jac8(i)+jac2(i)*jac7(i))
155 jac_26_35(i)=( jac2(i)*jac6(i)-jac3(i)*jac5(i))
156 jac_34_16(i)=(-jac1(i)*jac6(i)+jac3(i)*jac4(i))
157 jac_15_24(i)=( jac1(i)*jac5(i)-jac2(i)*jac4(i))
158 jac_48_57(i)=jac4(i)*jac8(i)-jac5(i)*jac7(i)
162 det(i)=one_over_64*(jac1(i)*jac_59_68(i)+jac2(i)*jac_67_49(i)+jac3(i)*jac_48_57(i))
166 1 off, det, ngl, nel)
171 dett=one_over_64/det(i)
172 jaci1=dett*jac_59_68(i)
173 jaci4=dett*jac_67_49(i)
174 jaci7=dett*jac_48_57(i)
175 jaci2=dett*jac_38_29(i)
176 jaci5=dett*jac_19_37(i)
177 jaci8=dett*jac_27_18(i)
178 jaci3=dett*jac_26_35(i)
179 jaci6=dett*jac_34_16(i)
180 jaci9=dett*jac_15_24(i)
208 hx(i,1)=(x1(i)+x2(i)-x3(i)-x4(i)-x5(i)-x6(i)+x7(i)+x8(i))
209 hy(i,1)=(y1(i)+y2(i)-y3(i)-y4(i)-y5(i)-y6(i)+y7(i)+y8(i))
210 hz(i,1)=(z1(i)+z2(i)-z3(i)-z4(i)-z5(i)-z6(i)+z7(i)+z8(i))
211 px1h1(i)=px1(i)*hx(i,1)+ py1(i)*hy(i,1)+pz1(i)*hz(i,1)
212 px2h1(i)=px2(i)*hx(i,1)+ py2(i)*hy(i
213 px3h1(i)=px3(i)*hx(i,1)+ py3(i)*hy(i,1)+pz3(i)*hz(i,1)
214 px4h1(i)=px4(i)*hx(i,1)+ py4(i)*hy(i,1)+pz4(i)*hz(i,1)
219 hx(i,2)=(x1(i)-x2(i)-x3(i)+x4(i)-x5(i)+x6(i)+x7(i)-x8
220 hy(i,2)=(y1(i)-y2(i)-y3(i)+y4(i)-y5(i)+y6(i)+y7(i)-y8(i))
221 hz(i,2)=(z1(i)-z2(i)-z3(i)+z4(i)-z5(i)+z6(i)+z7(i)-z8(i))
224 px3h2(i)=px3(i)*hx(i,2)+ py3(i)*hy(i,2)+pz3(i)*hz(i,2)
225 px4h2(i)=px4(i)*hx(i,2)+ py4(i)*hy(i,2)+pz4(i)*hz(i,2)
230 hx(i,3)=(x1(i)-x2(i)+x3(i)-x4(i)+x5(i)-x6(i)+x7(i)-x8(i))
231 hy(i,3)=(y1(i)-y2(i)+y3(i)-y4(i)+y5(i)-y6(i)+y7(i)-y8(i))
232 hz(i,3)=(z1(i)-z2(i)+z3(i)-z4(i)+z5(i)-z6(i)+z7(i)-z8(i))
233 px1h3(i)=px1(i)*hx(i,3)+ py1(i)*hy(i,3)+pz1(i)*hz(i,3)
234 px2h3(i)=px2(i)*hx(i,3)+ py2(i)*hy(i,3)+pz2(i)*hz(i,3)
235 px3h3(i)=px3(i)*hx(i,3)+ py3(i)*hy(i,3)+pz3(i)*hz(i,3)
236 px4h3(i)=px4(i)*hx(i,3)+ py4(i)*hy(i,3)+pz4(i)*hz(i,3)
241 hx(i,4)=(-x1(i)+x2(i)-x3(i)+x4(i)+x5(i)-x6(i)+x7(i)-x8(i))
242 hy(i,4)=(-y1(i)+y2(i)-y3(i)+y4(i)+y5(i)-y6(i)+y7(i)-y8(i))
243 hz(i,4)=(-z1(i)+z2(i)-z3(i)+z4(i)+z5(i)-z6(i)+z7(i)-z8(i))
244 px1h4(i)=px1(i)*hx(i,4)+ py1(i)*hy(i,4)+pz1(i)*hz(i,4)
245 px2h4(i)=px2(i)*hx(i,4)+ py2(i)*hy(i,4)+pz2(i)*hz(i,4)
246 px3h4(i)=px3(i)*hx(i,4)+ py3(i)*hy(i,4)+pz3(i)*hz(i,4)
247 px4h4(i)=px4(i)*hx(i,4)+ py4(i)*hy(i,4)+pz4(i)*hz(i,4)
251 smax(i)= jac_59_68(i)*jac_59_68(i)+jac_67_49(i)*jac_67_49(i)
252 . +jac_48_57(i)*jac_48_57(i)
253 smax(i)=
max(smax(i),jac_38_29(i)*jac_38_29(i)+jac_19_37(i)*jac_19_37(i)
254 . +jac_27_18(i)*jac_27_18(i))
255 smax(i)=
max(smax(i),jac_26_35(i)*jac_26_35(i)+jac_34_16(i)*jac_34_16(i)
256 . +jac_15_24(i)*jac_15_24(i))
259 IF(smax(i)<=zero)
THEN
264 smax(i)= one/sqrt(smax(i))
268 1000
FORMAT(/
' ZERO OR NEGATIVE VOLUME : 3D-ELEMENT NB',i10/)
269 2000
FORMAT(/
' ZERO OR NEGATIVE VOLUME : DELETE 3D-ELEMENT NB',i10/)
subroutine s8zderict3(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, nel)
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)