35 7 BXY1, BXY2, BXY3, BXY4,
36 8 BXY5, BXY6, BXY7, BXY8,
37 9 BYX1, BYX2, BYX3, BYX4,
38 A BYX5, BYX6, BYX7, BYX8,
39 B BXZ1, BXZ2, BXZ3, BXZ4,
40 C BXZ5, BXZ6, BXZ7, BXZ8,
41 D BZX1, BZX2, BZX3, BZX4,
42 E BZX5, BZX6, BZX7, BZX8,
43 F BYZ1, BYZ2, BYZ3, BYZ4,
44 G BYZ5, BYZ6, BYZ7, BYZ8,
45 H BZY1, BZY2, BZY3, BZY4,
46 I BZY5, BZY6, BZY7, BZY8,
47 J BXX1, BXX2, BXX3, BXX4,
48 K BXX5, BXX6, BXX7, BXX8,
49 L BYY1, BYY2, BYY3, BYY4,
50 M BYY5, BYY6, BYY7, BYY8,
51 N BZZ1, BZZ2, BZZ3, BZZ4,
52 O BZZ5, BZZ6, BZZ7, BZZ8,
53 P PXY1, PXY2, PXY3, PXY4,
54 Q PXY5, PXY6, PXY7, PXY8,
55 R PYX1, PYX2, PYX3, PYX4,
56 S PYX5, PYX6, PYX7, PYX8,
57 T PXZ1, PXZ2, PXZ3, PXZ4,
58 U PXZ5, PXZ6, PXZ7, PXZ8,
59 V PZX1, PZX2, PZX3, PZX4,
60 W PZX5, PZX6, PZX7, PZX8,
61 X PYZ1, PYZ2, PYZ3, PYZ4,
62 Y PYZ5, PYZ6, PYZ7, PYZ8,
63 Z PZY1, PZY2, PZY3, PZY4,
64 1 PZY5, PZY6, PZY7, PZY8,
75 C DZY, DZZ, ICP, DET0,
76 D JFAC, NU, IDEGE, OFFG,
77 E ISEL_V, I_SH, NEL, ISMSTR,
83#include "implicit_f.inc"
94 INTEGER,
INTENT(IN) :: NEL
95 INTEGER,
INTENT(IN) :: ISMSTR
96 INTEGER,
INTENT(IN) :: JCVT,MTN
97 INTEGER ISEL_V,I_SH,,IDEGE(*)
100 . PX1(*), PX2(*), PX3(*), PX4(*),
101 . PX5(*), PX6(*), PX7(*), (*),
102 . PY1(*), (*), PY3(*), PY4(*),
103 . PY5(*), PY6(*), PY7(*), (*),
104 . PZ1(*), PZ2(*), PZ3(*), PZ4(*),
105 . PZ5(*), PZ6(*), PZ7(
108 . PYX1(MVSIZ),(MVSIZ),PYX3(MVSIZ),PYX4(MVSIZ)
109(MVSIZ),PYX6(MVSIZ),PYX7(MVSIZ),PYX8(MVSIZ),
110 . PXZ1(MVSIZ),PXZ2(MVSIZ),PXZ3(MVSIZ),PXZ4(MVSIZ),
111 . PXZ5(MVSIZ),PXZ6(MVSIZ),PXZ7(MVSIZ),PXZ8(MVSIZ),
112 . PZX1(MVSIZ),PZX2(MVSIZ),PZX3(MVSIZ),PZX4(MVSIZ),
113 . PZX5(MVSIZ),PZX6(MVSIZ),PZX7(MVSIZ),PZX8(MVSIZ),
114 . PYZ1(MVSIZ),PYZ2(MVSIZ),PYZ3(MVSIZ),PYZ4(MVSIZ),
115 . PYZ5(MVSIZ),PYZ6(MVSIZ),PYZ7(MVSIZ),PYZ8(MVSIZ),
116 . PZY1(MVSIZ),PZY2(MVSIZ),(MVSIZ),PZY4(MVSIZ),
117 . PZY5(MVSIZ),PZY6(MVSIZ),PZY7(MVSIZ),PZY8(MVSIZ),
118 . VX1(*), VX2(*), VX3(*), VX4(*), VX5(*), VX6(*), VX7(*), VX8(*),
119 . VY1(*), VY2(*), VY3(*), VY4(*), VY5(*), VY6(*), VY7(*), VY8(*),
120 . VZ1(*), VZ2(*), VZ3(*), VZ4(*), VZ5(*), VZ6(*), VZ7(*), VZ8(*),
121 . R11(*), R12(*), R13(*),
122 . R21(*), R22(*), R23(*),
123 . R31(*), R32(*), R33(*),
124 . DXX(*), DXY(*), DXZ(*),
125 . DYX(*), DYY(*), DYZ(*),
126 . DZX(*), DZY(*), DZZ(*),
127 . BXY1(*),BXY2(*),BXY3(*),BXY4(*),
128 . BXY5(*),BXY6(*),BXY7(*),BXY8(*),
129 . BYX1(*),BYX2(*),BYX3(*),BYX4(*),
130 . BYX5(*),BYX6(*),BYX7(*),BYX8(*),
131 . BXZ1(*),BXZ2(*),BXZ3(*),BXZ4(*),
132 . BXZ5(*),BXZ6(*),BXZ7(*),BXZ8(*),
133 . BZX1(*),BZX2(*),BZX3(*),BZX4(*),
134 . BZX5(*),BZX6(*),BZX7(*),BZX8(*),
135 . BYZ1(*),BYZ2(*),BYZ3(*),BYZ4(*),
136 . BYZ5(*),BYZ6(*),BYZ7(*),BYZ8(*),
137 . BZY1(*),BZY2(*),BZY3(*),BZY4(*),
138 . BZY5(*),BZY6(*),(*),BZY8(*),
139 . BXX1(*),BXX2(*),BXX3(*),BXX4(*),
140 . (*),BXX6(*),BXX7(*),BXX8(*),
141 . BYY1(*),BYY2(*),BYY3(*),BYY4(*),
142 . BYY5(*),BYY6(*),BYY7(*),BYY8(*),
143 . BZZ1(*),BZZ2(*),BZZ3(*),BZZ4(*),
144 . bzz5(*),bzz6(*),bzz7(*),bzz8(*),offg(*),det0(*),jfac(*),nu(*)
145 my_real,
DIMENSION(MVSIZ),
INTENT(IN) :: div0
152 . VLX1(MVSIZ), VLX2(MVSIZ), VLX3(MVSIZ), VLX4(MVSIZ),
153 . VLX5(MVSIZ), VLX6(MVSIZ), VLX7(MVSIZ), VLX8(MVSIZ),
154 . VLY1(MVSIZ), VLY2(MVSIZ), VLY3(MVSIZ), VLY4(MVSIZ),
155 . VLY5(MVSIZ), VLY6(MVSIZ), VLY7(MVSIZ), VLY8(MVSIZ),
156 . VLZ1(MVSIZ), VLZ2(MVSIZ), VLZ3(MVSIZ), VLZ4(MVSIZ),
157 . VLZ5(MVSIZ), VLZ6(MVSIZ), VLZ7(MVSIZ), VLZ8(MVSIZ)
159 . JAC_59_68, JAC_67_49, JAC_48_57,
160 . AJ11, AJ22, AJ33,DET(MVSIZ),FAC,BASE,DDIV
165 vlx1(i)=r11(i)*vx1(i)+r21(i)*vy1(i)+r31(i)*vz1(i)
166 vly1(i)=r12(i)*vx1(i)+r22(i)*vy1(i)+r32(i)*vz1(i)
167 vlz1(i)=r13(i)*vx1(i)+r23(i)*vy1(i)+r33(i)*vz1(i)
168 vlx2(i)=r11(i)*vx2(i)+r21(i)*vy2(i)+r31(i)*vz2(i)
169 vly2(i)=r12(i)*vx2(i)+r22(i)*vy2(i)+r32(i)*vz2(i)
171 vlx3(i)=r11(i)*vx3(i)+r21(i)*vy3(i)+r31(i)*vz3(i)
173 vlz3(i)=r13(i)*vx3(i)+r23(i)*vy3(i)+r33(i
174 vlx4(i)=r11(i)*vx4(i)+r21(i)*vy4(i)+r31(i)*vz4(i)
175 vly4(i)=r12(i)*vx4(i)+r22(i)*vy4(i)+r32(i)*vz4(i)
176 vlz4(i)=r13(i)*vx4(i)+r23(i)*vy4(i)+r33(i)*vz4(i)
177 vlx5(i)=r11(i)*vx5(i)+r21(i)*vy5(i)+r31(i)*vz5(i)
178 vly5(i)=r12(i)*vx5(i)+r22(i)*vy5(i)+r32(i)*vz5(i)
179 vlz5(i)=r13(i)*vx5(i)+r23(i)*vy5(i)+r33(i)*vz5(i)
180 vlx6(i)=r11(i)*vx6(i)+r21(i)*vy6(i)+r31(i)*vz6(i)
181 vly6(i)=r12(i)*vx6(i)+r22(i)*vy6(i)+r32(i)*vz6(i)
182 vlz6(i)=r13(i)*vx6(i)+r23(i)*vy6(i)+r33
183 vlx7(i)=r11(i)*vx7(i)+r21(i)*vy7(i)+r31(i)*vz7(i)
184 vly7(i)=r12(i)*vx7(i)+r22(i)*vy7(i)+r32(i)*vz7(i)
185 vlz7(i)=r13(i)*vx7(i)+r23(i)*vy7(i)+r33(i)*vz7(i)
186 vlx8(i)=r11(i)*vx8(i)+r21(i)*vy8(i)+r31(i)*vz8(i)
187 vly8(i)=r12(i)*vx8(i)+r22(i)*vy8(i)+r32(i)*vz8(i)
188 vlz8(i)=r13(i)*vx8(i)+r23(i)*vy8(i)+r33(i)*vz8(i)
191 vlx1(1:nel)=vx1(1:nel)
192 vly1(1:nel)=vy1(1:nel)
193 vlz1(1:nel)=vz1(1:nel)
194 vlx2(1:nel)=vx2(1:nel)
195 vly2(1:nel)=vy2(1:nel)
196 vlz2(1:nel)=vz2(1:nel)
197 vlx3(1:nel)=vx3(1:nel)
198 vly3(1:nel)=vy3(1:nel)
199 vlz3(1:nel)=vz3(1:nel)
200 vlx4(1:nel)=vx4(1:nel)
201 vly4(1:nel)=vy4(1:nel)
202 vlz4(1:nel)=vz4(1:nel)
203 vlx5(1:nel)=vx5(1:nel)
204 vly5(1:nel)=vy5(1:nel)
205 vlz5(1:nel)=vz5(1:nel)
206 vlx6(1:nel)=vx6(1:nel)
207 vly6(1:nel)=vy6(1:nel)
209 vlx7(1:nel)=vx7(1:nel)
210 vly7(1:nel)=vy7(1:nel)
211 vlz7(1:nel)=vz7(1:nel)
212 vlx8(1:nel)=vx8(1:nel)
213 vly8(1:nel)=vy8(1:nel)
214 vlz8(1:nel)=vz8(1:nel)
219 IF(offg(i)<=one) cycle
220 dxy(i) =pxy1(i)*vlx1(i)+pxy2(i)*vlx2(i)
221 + +pxy3(i)*vlx3(i)+pxy4(i)*vlx4(i)
222 + +pxy5(i)*vlx5(i)+pxy6(i)*vlx6(i)
223 + +pxy7(i)*vlx7(i)+pxy8(i)*vlx8(i)
224 dxz(i) =pxz1(i)*vlx1(i)+pxz2(i)*vlx2(i)
225 + +pxz3(i)*vlx3(i)+pxz4(i)*vlx4(i)
226 + +pxz5(i)*vlx5(i)+pxz6(i)*vlx6(i)
227 + +pxz7(i)*vlx7(i)+pxz8(i)*vlx8(i)
228 dyx(i) =pyx1(i)*vly1(i)+pyx2(i)*vly2(i)
229 + +pyx3(i)*vly3(i)+pyx4(i)*vly4(i)
230 + +pyx5(i)*vly5(i)+pyx6(i)*vly6(i)
231 + +pyx7(i)*vly7(i)+pyx8(i)*vly8(i)
232 dyz(i) =pyz1(i)*vly1(i)+pyz2(i)*vly2(i)
233 + +pyz3(i)*vly3(i)+pyz4(i)*vly4(i)
234 + +pyz5(i)*vly5(i)+pyz6(i)*vly6(i)
235 + +pyz7(i)*vly7(i)+pyz8(i)*vly8(i)
236 dzx(i) =pzx1(i)*vlz1(i)+pzx2(i)*vlz2(i)
237 + +pzx3(i)*vlz3(i)+pzx4(i)*vlz4(i)
238 + +pzx5(i)*vlz5(i)+pzx6(i)*vlz6(i)
239 + +pzx7(i)*vlz7(i)+pzx8(i)*vlz8(i)
240 dzy(i) =pzy1(i)*vlz1(i)+pzy2(i)*vlz2(i)
241 + +pzy3(i)*vlz3(i)+pzy4(i)*vlz4(i)
242 + +pzy5(i)*vlz5(i)+pzy6(i)*vlz6(i)
243 + +pzy7(i)*vlz7(i)+pzy8(i)*vlz8(i)
247 IF(offg(i)<=one) cycle
248 dxy(i) =py1(i)*vlx1(i)+py2(i)*vlx2(i)+py3(i)*vlx3(i)+py4(i)*vlx4(i)
249 + +py5(i)*vlx5(i)+py6(i)*vlx6(i)+py7(i)*vlx7(i)+py8(i)*vlx8(i)
250 dxz(i) =pz1(i)*vlx1(i)+pz2(i)*vlx2(i)+pz3(i)*vlx3(i)+pz4(i)*vlx4(i)
251 + +pz5(i)*vlx5(i)+pz6(i)*vlx6(i)+pz7(i)*vlx7(i)+pz8(i)*vlx8(i)
252 dyx(i) =px1(i)*vly1(i)+px2(i)*vly2(i)+px3(i)*vly3(i)+px4(i)*vly4(i)
253 + +px5(i)*vly5(i)+px6(i)*vly6(i)+px7(i)*vly7(i)+px8(i)*vly8(i)
254 dyz(i) =pz1(i)*vly1(i)+pz2(i)*vly2(i)+pz3(i)*vly3(i)+pz4(i)*vly4(i)
255 + +pz5(i)*vly5(i)+pz6(i)*vly6(i)+pz7(i)*vly7(i)+pz8(i)*vly8(i)
256 dzx(i) =px1(i)*vlz1(i)+px2(i)*vlz2(i)+px3(i)*vlz3(i)+px4(i)*vlz4(i)
257 + +px5(i)*vlz5(i)+px6(i)*vlz6(i)+px7(i)*vlz7(i)+px8(i)*vlz8(i)
258 dzy(i) =py1(i)*vlz1(i)+py2(i)*vlz2(i)+py3(i)*vlz3(i)+py4(i)*vlz4(i)
259 + +py5(i)*vlz5(i)+py6(i)*vlz6(i)+py7(i)*vlz7(i)+py8(i)*vlz8(i)
264 IF(offg(i)<=one) cycle
265 dxx(i) =px1(i)*vlx1(i)+px2(i)*vlx2(i)+px3(i)*vlx3(i)+px4(i)*vlx4(i)
266 . +px5(i)*vlx5(i)+px6(i)*vlx6(i)+px7(i)*vlx7(i)+px8(i)*vlx8(i)
267 dyy(i) =py1(i)*vly1(i)+py2(i)*vly2(i)+py3(i)*vly3(i)+py4(i)*vly4(i)
268 . +py5(i)*vly5(i)+py6(i)*vly6(i)+py7(i)*vly7(i)+py8(i)*vly8(i)
269 dzz(i) =pz1(i)*vlz1(i)+pz2(i)*vlz2(i)+pz3(i)*vlz3(i)+pz4(i)*vlz4(i)
270 . +pz5(i)*vlz5(i)+pz6(i)*vlz6(i)+pz7(i)*vlz7(i)+pz8(i)*vlz8(i)
273#include "nofusion.inc"
275 IF(offg(i)<=one) cycle
276 dyy(i) =dyy(i)+bxy1(i)*vlx1(i)+bxy2(i)*vlx2(i)
277 + +bxy3(i)*vlx3(i)+bxy4(i)*vlx4(i)
278 + +bxy5(i)*vlx5(i)+bxy6(i)*vlx6(i)
279 + +bxy7(i)*vlx7(i)+bxy8(i)*vlx8(i)
280 dzz(i) =dzz(i)+bxz1(i)*vlx1(i)+bxz2(i)*vlx2(i)
281 + +bxz3(i)*vlx3(i)+bxz4(i)*vlx4(i)
282 + +bxz5(i)*vlx5(i)+bxz6(i)*vlx6(i)
283 + +bxz7(i)*vlx7(i)+bxz8(i)*vlx8(i)
284 dxx(i) =dxx(i)+byx1(i)*vly1(i)+byx2(i)*vly2(i)
285 + +byx3(i)*vly3(i)+byx4(i)*vly4(i)
286 + +byx5(i)*vly5(i)+byx6(i)*vly6(i)
287 + +byx7(i)*vly7(i)+byx8(i)*vly8(i)
288 dzz(i) =dzz(i)+byz1(i)*vly1(i)+byz2(i)*vly2(i)
289 + +byz3(i)*vly3(i)+byz4(i)*vly4(i)
290 + +byz5(i)*vly5(i)+byz6
291 + +byz7(i)*vly7(i)+byz8(i)*vly8(i)
292 dxx(i) =dxx(i)+bzx1(i)*vlz1(i)+bzx2(i)*vlz2(i)
293 + +bzx3(i)*vlz3(i)+bzx4(i)*vlz4(i)
294 + +bzx5(i)*vlz5(i)+bzx6(i)*vlz6(i)
295 + +bzx7(i)*vlz7(i)+bzx8(i)*vlz8(i)
296 dyy(i) =dyy(i)+bzy1(i)*vlz1(i)+bzy2(i)*vlz2(i)
297 + +bzy3(i)*vlz3(i)+bzy4(i)*vlz4(i)
298 + +bzy5(i)*vlz5(i)+bzy6(i)*vlz6(i)
299 + +bzy7(i)*vlz7(i)+bzy8(i)*vlz8(i)
305 IF(idege(i)>10.OR.offg(i)<=one) cycle
307 base = dxx(i)+dyy(i)+dzz(i)
308 ddiv = fac*(div0(i)-base)
316 IF(offg(i)<=one) cycle
320 jac_59_68=aj22*aj33-dyz(i)*dzy(i)
321 jac_67_49=dyz(i)*dzx(i)-dyx(i)*aj33
322 jac_48_57=dyx(i)*dzy(i)-aj22*dzx(i)
324 det(i)=aj11*jac_59_68+dxy(i)*jac_67_49+dxz(i)*jac_48_57
327 base = det0(i)/
max(em20,det(i))
328 jfac(i)=exp(fac*log(
max(em20,base)))
331 IF(idege(i)>10.OR.offg(i)<=one) cycle
332 dxx(i) = jfac(i)*dxx(i)+jfac(i)-one
333 dyy(i) = jfac(i)*dyy(i)+jfac(i)-one
334 dzz(i) = jfac(i)*dzz(i)+jfac(i)-one
335 dxy(i) = jfac(i)*dxy(i)
336 dyx(i) = jfac(i)*dyx(i)
337 dzx(i) = jfac(i)*dzx(i)
338 dxz(i) = jfac(i)*dxz(i)
339 dyz(i) = jfac(i)*dyz(i)
340 dzy(i) = jfac(i)*dzy(i)
subroutine s8edefot12(px1, px2, px3, px4, px5, px6, px7, px8, py1, py2, py3, py4, py5, py6, py7, py8, pz1, pz2, pz3, pz4, pz5, pz6, pz7, pz8, bxy1, bxy2, bxy3, bxy4, bxy5, bxy6, bxy7, bxy8, byx1, byx2, byx3, byx4, byx5, byx6, byx7, byx8, bxz1, bxz2, bxz3, bxz4, bxz5, bxz6, bxz7, bxz8, bzx1, bzx2, bzx3, bzx4, bzx5, bzx6, bzx7, bzx8, byz1, byz2, byz3, byz4, byz5, byz6, byz7, byz8, bzy1, bzy2, bzy3, bzy4, bzy5, bzy6, bzy7, bzy8, bxx1, bxx2, bxx3, bxx4, bxx5, bxx6, bxx7, bxx8, byy1, byy2, byy3, byy4, byy5, byy6, byy7, byy8, bzz1, bzz2, bzz3, bzz4, bzz5, bzz6, bzz7, bzz8, pxy1, pxy2, pxy3, pxy4, pxy5, pxy6, pxy7, pxy8, pyx1, pyx2, pyx3, pyx4, pyx5, pyx6, pyx7, pyx8, pxz1, pxz2, pxz3, pxz4, pxz5, pxz6, pxz7, pxz8, pzx1, pzx2, pzx3, pzx4, pzx5, pzx6, pzx7, pzx8, pyz1, pyz2, pyz3, pyz4, pyz5, pyz6, pyz7, pyz8, pzy1, pzy2, pzy3, pzy4, pzy5, pzy6, pzy7, pzy8, vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8, vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8, vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8, r11, r12, r13, r21, r22, r23, r31, r32, r33, dxx, dxy, dxz, dyx, dyy, dyz, dzx, dzy, dzz, icp, det0, jfac, nu, idege, offg, isel_v, i_sh, nel, ismstr, jcvt, mtn, div0)