37 7 BXY1, BXY2, BXY3, BXY4,
38 8 BXY5, BXY6, BXY7, BXY8,
39 9 BYX1, BYX2, BYX3, BYX4,
40 A BYX5, BYX6, BYX7, BYX8,
41 B BXZ1, BXZ2, BXZ3, BXZ4,
42 C BXZ5, BXZ6, BXZ7, BXZ8,
43 D BZX1, BZX2, BZX3, BZX4,
44 E BZX5, BZX6, BZX7, BZX8,
45 F BYZ1, BYZ2, BYZ3, BYZ4,
46 G BYZ5, BYZ6, BYZ7, BYZ8,
47 H BZY1, BZY2, BZY3, BZY4,
48 I BZY5, BZY6, BZY7, BZY8,
49 J BXX1, BXX2, BXX3, BXX4,
50 K BXX5, BXX6, BXX7, BXX8,
51 L BYY1, BYY2, BYY3, BYY4,
52 M BYY5, BYY6, BYY7, BYY8,
53 N BZZ1, BZZ2, BZZ3, BZZ4,
54 O BZZ5, BZZ6, BZZ7, BZZ8,
55 P PXY1, PXY2, PXY3, PXY4,
56 Q PXY5, PXY6, PXY7, PXY8,
57 R PYX1, PYX2, PYX3, PYX4,
58 S PYX5, PYX6, PYX7, PYX8,
59 T PXZ1, PXZ2, PXZ3, PXZ4,
60 U PXZ5, PXZ6, PXZ7, PXZ8,
61 V PZX1, PZX2, PZX3, PZX4,
62 W PZX5, PZX6, PZX7, PZX8,
63 X PYZ1, PYZ2, PYZ3, PYZ4,
64 Y PYZ5, PYZ6, PYZ7, PYZ8,
65 Z PZY1, PZY2, PZY3, PZY4,
66 1 PZY5, PZY6, PZY7, PZY8,
75 A DZZ, ICP, DET0, JFAC,
76 B NU, I_SH, IDEGE, DXX_A,
77 C DYY_A, DZZ_A, OFFG, NEL,
83#include
"implicit_f.inc"
94 INTEGER,
INTENT(IN) :: NEL
95 INTEGER,
INTENT(IN) :: ISMSTR,MTN
96 INTEGER ICP,I_SH,IDEGE(*)
99 . VX1(*), VX2(*), VX3(*), VX4(*), VX5(*), VX6(*), VX7(*), VX8(*),
100 . VY1(*), VY2(*), VY3(*), VY4(*), VY5(*), VY6(*), VY7(*), VY8(*),
101 . VZ1(*), VZ2(*), VZ3(*), VZ4(*), VZ5(*), VZ6(*), VZ7(*), VZ8(*),
102 . PX1(*), PX2(*), PX3(*), PX4(*),
103 . PX5(*), PX6(*), PX7(*), PX8(*),
104 . PY1(*), PY2(*), PY3(*), PY4(*),
105 . PY5(*), PY6(*), PY7(*), PY8(*),
106 . PZ1(*), PZ2(*), PZ3(*), PZ4(*),
107 . PZ5(*), PZ6(*), PZ7(*), PZ8(*),
108 . DXX(*), DXY(*), DXZ(*),
109 . DYX(*), DYY(*), DYZ(*),
110 . DZX(*), DZY(*), DZZ(*),DXX_A(*),DYY_A(*),DZZ_A(*),
111 . PXY1(MVSIZ),PXY2(MVSIZ),PXY3(MVSIZ),PXY4(MVSIZ),
112 . PXY5(MVSIZ),PXY6(MVSIZ),PXY7(MVSIZ),PXY8(MVSIZ),
113 . PYX1(MVSIZ),PYX2(MVSIZ),PYX3(MVSIZ),PYX4(MVSIZ),
114 . PYX5(MVSIZ),PYX6(MVSIZ),PYX7(MVSIZ),PYX8(MVSIZ),
115 . PXZ1(MVSIZ),PXZ2(MVSIZ),PXZ3(MVSIZ),PXZ4(MVSIZ),
116 . PXZ5(MVSIZ),PXZ6(MVSIZ),PXZ7(),PXZ8(MVSIZ),
117 . PZX1(MVSIZ),PZX2(MVSIZ),PZX3(MVSIZ),PZX4(MVSIZ),
118 . PZX5(MVSIZ),PZX6(MVSIZ),PZX7(MVSIZ),PZX8(MVSIZ),
119 . PYZ1(MVSIZ),PYZ2(MVSIZ),PYZ3(MVSIZ),PYZ4(MVSIZ),
120 . PYZ5(MVSIZ),PYZ6(MVSIZ),PYZ7(MVSIZ),PYZ8(MVSIZ),
121 . PZY1(MVSIZ),PZY2(MVSIZ),PZY3(MVSIZ),PZY4(MVSIZ),
122 . PZY5(MVSIZ),PZY6(MVSIZ),PZY7(MVSIZ),PZY8(MVSIZ),
123 . BXY1(*),BXY2(*),BXY3(*),BXY4(*),
124 . BXY5(*),BXY6(*),BXY7(*),BXY8(*),
125 . BYX1(*),BYX2(*),BYX3(*),BYX4(*),
126 . BYX5(*),BYX6(*),BYX7(*),BYX8(*),
127 . BXZ1(*),BXZ2(*),BXZ3(*),BXZ4(*),
128 . BXZ5(*),BXZ6(*),BXZ7(*),BXZ8(*),
129 . BZX1(*),BZX2(*),BZX3(*),BZX4(*),
130 . BZX5(*),BZX6(*),BZX7(*),BZX8(*),
131 . BYZ1(*),BYZ2(*),BYZ3(*),(*),
132 . BYZ5(*),BYZ6(*),BYZ7(*),BYZ8(*),
133 . BZY1(*),BZY2(*),BZY3(*),BZY4(*),
134 . BZY5(*),BZY6(*),BZY7(*),BZY8(*),
135 . BXX1(*),BXX2(*),BXX3(*),BXX4(*),
136 . BXX5(*),BXX6(*),BXX7(*),BXX8(*),
137 . BYY1(*),BYY2(*),BYY3(*),BYY4(*),
138 . BYY5(*),BYY6(*),BYY7(*),BYY8(*),
139 . BZZ1(*),BZZ2(*),BZZ3(*),BZZ4(*),
140 . BZZ5(*),BZZ6(*),BZZ7(*),BZZ8(*),DET0(*),JFAC(*),NU(*),OFFG(*)
141 my_real,
DIMENSION(MVSIZ),
INTENT(IN) :: DIV0
148 . det(mvsiz),fac,base
151 IF (ismstr==11.AND.i_sh>0)
THEN
153 dxy(i) =pxy1(i)*vx1(i)+pxy2(i)*vx2(i)
154 + +pxy3(i)*vx3(i)+pxy4(i)*vx4(i)
155 + +pxy5(i)*vx5(i)+pxy6(i)*vx6(i)
156 + +pxy7(i)*vx7(i)+pxy8(i)*vx8(i)
157 dxz(i) =pxz1(i)*vx1(i)+pxz2(i)*vx2(i)
159 + +pxz5(i)*vx5(i)+pxz6(i)*vx6(i)
160 + +pxz7(i)*vx7(i)+pxz8(i)*vx8(i)
161 dyx(i) =pyx1(i)*vy1(i)+pyx2(i)*vy2(i)
162 + +pyx3(i)*vy3(i)+pyx4(i)*vy4(i)
163 + +pyx5(i)*vy5(i)+pyx6(i)*vy6(i)
164 + +pyx7(i)*vy7(i)+pyx8(i)*vy8(i)
165 dyz(i) =pyz1(i)*vy1(i)+pyz2(i)*vy2(i)
166 + +pyz3(i)*vy3(i)+pyz4(i)*vy4(i)
167 + +pyz5(i)*vy5(i)+pyz6(i)*vy6
168 + +pyz7(i)*vy7(i)+pyz8(i)*vy8(i)
169 dzx(i) =pzx1(i)*vz1(i)+pzx2(i)*vz2(i)
170 + +pzx3(i)*vz3(i)+pzx4(i)*vz4(i)
171 + +pzx5(i)*vz5(i)+pzx6(i)*vz6(i)
172 + +pzx7(i)*vz7(i)+pzx8(i)*vz8(i)
173 dzy(i) =pzy1(i)*vz1(i)+pzy2(i)*vz2(i)
174 + +pzy3(i)*vz3(i)+pzy4(i)*vz4(i)
175 + +pzy5(i)*vz5(i)+pzy6(i)*vz6(i)
176 + +pzy7(i)*vz7(i)+pzy8(i)*vz8(i)
180 IF (ismstr==12.AND.offg(i)>one) cycle
181 dxy(i) =py1(i)*vx1(i)+py2(i)*vx2(i)+py3(i)*vx3(i)+py4(i)*vx4(i)
182 + +py5(i)*vx5(i)+py6(i)*vx6(i)+py7(i)*vx7(i)+py8(i)*vx8(i)
183 dxz(i) =pz1(i)*vx1(i)+pz2(i)*vx2(i)+pz3(i)*vx3(i)+pz4(i)*vx4(i)
184 + +pz5(i)*vx5(i)+pz6(i)*vx6(i)+pz7(i)*vx7(i)+pz8(i)*vx8(i)
185 dyx(i) =px1(i)*vy1(i)+px2(i)*vy2(i)+px3(i)*vy3(i)+px4(i)*vy4(i)
186 + +px5(i)*vy5(i)+px6(i)*vy6(i)+px7(i)*vy7(i)+px8(i)*vy8(i)
187 dyz(i) =pz1(i)*vy1(i)+pz2(i)*vy2(i)+pz3(i)*vy3(i)+pz4(i)*vy4(i)
188 + +pz5(i)*vy5(i)+pz6(i)*vy6(i)+pz7(i)*vy7(i)+pz8(i)*vy8(i)
189 dzx(i) =px1(i)*vz1(i)+px2(i)*vz2(i)+px3(i)*vz3(i)+px4(i)*vz4(i)
190 + +px5(i)*vz5(i)+px6(i)*vz6(i)+px7(i)*vz7(i)+px8(i)*vz8(i)
191 dzy(i) =py1(i)*vz1(i)+py2(i)*vz2(i)+py3(i)*vz3(i)+py4(i)*vz4(i)
192 + +py5(i)*vz5(i)+py6(i)*vz6(i)+py7(i)*vz7(i)+py8(i)*vz8(i)
197#include "nofusion.inc"
199 dxx(i) =bxx1(i)*vx1(i)+bxx2(i)*vx2(i)+bxx3(i)*vx3(i)+
200 . bxx4(i)*vx4(i)+bxx5(i)*vx5(i)+bxx6(i)*vx6(i)+
201 . bxx7(i)*vx7(i)+bxx8(i)*vx8(i)
202 dyy(i) =byy1(i)*vy1(i)+byy2(i)*vy2(i)+byy3(i)*vy3(i)+
203 . byy4(i)*vy4(i)+byy5(i)*vy5(i)+byy6(i)*vy6(i)+
204 . byy7(i)*vy7(i)+byy8(i)*vy8(i)
205 dzz(i) =bzz1(i)*vz1(i)+bzz2(i)*vz2(i)+bzz3(i)*vz3(i)+
206 . bzz4(i)*vz4(i)+bzz5(i)*vz5(i)+bzz6(i)*vz6(i)+
207 . bzz7(i)*vz7(i)+bzz8(i)*vz8(i)
208 dyy(i) =dyy(i)+bxy1(i)*vx1(i)+bxy2(i)*vx2(i)
209 + +bxy3(i)*vx3(i)+bxy4(i)*vx4(i)
210 + +bxy5(i)*vx5(i)+bxy6(i)*vx6(i)
211 + +bxy7(i)*vx7(i)+bxy8(i)*vx8(i)
212 dzz(i) =dzz(i)+bxz1(i)*vx1(i)+bxz2(i)*vx2(i)
213 + +bxz3(i)*vx3(i)+bxz4(i)*vx4(i)
214 + +bxz5(i)*vx5(i)+bxz6(i)*vx6(i)
215 + +bxz7(i)*vx7(i)+bxz8(i)*vx8(i)
216 dxx(i) =dxx(i)+byx1(i)*vy1(i)+byx2(i)*vy2(i)
217 + +byx3(i)*vy3(i)+byx4(i)*vy4(i)
218 + +byx5(i)*vy5(i)+byx6(i)*vy6(i)
219 + +byx7(i)*vy7(i)+byx8(i)*vy8(i)
220 dzz(i) =dzz(i)+byz1(i)*vy1(i)+byz2(i)*vy2(i)
221 + +byz3(i)*vy3(i)+byz4(i)*vy4(i)
222 + +byz5(i)*vy5(i)+byz6(i)*vy6(i)
223 + +byz7(i)*vy7(i)+byz8(i)*vy8(i)
224 dxx(i) =dxx(i)+bzx1(i)*vz1(i)+bzx2(i)*vz2(i)
225 + +bzx3(i)*vz3(i)+bzx4(i)*vz4(i)
226 + +bzx5(i)*vz5(i)+bzx6(i)*vz6(i)
227 + +bzx7(i)*vz7(i)+bzx8(i)*vz8(i)
228 dyy(i) =dyy(i)+bzy1(i)*vz1(i)+bzy2(i)*vz2(i)
229 + +bzy3(i)*vz3(i)+bzy4(i)*vz4(i)
230 + +bzy5(i)*vz5(i)+bzy6(i)*vz6(i)
231 + +bzy7(i)*vz7(i)+bzy8(i)*vz8(i)
235 IF (ismstr==12.AND.offg(i)>one) cycle
236 dxx(i) =px1(i)*vx1(i)+px2(i)*vx2(i)+px3(i)*vx3(i)+px4(i)*vx4(i)
237 . +px5(i)*vx5(i)+px6(i)*vx6(i)+px7(i)*vx7(i)+px8(i)*vx8(i)
238 dyy(i) =py1(i)*vy1(i)+py2(i)*vy2(i)+py3(i)*vy3(i)+py4(i)*vy4(i)
239 . +py5(i)*vy5(i)+py6(i)*vy6(i)+py7(i)*vy7(i)+py8(i)*vy8(i)
240 dzz(i) =pz1(i)*vz1(i)+pz2(i)*vz2(i)+pz3(i)*vz3(i)+pz4(i)*vz4(i)
241 . +pz5(i)*vz5(i)+pz6(i)*vz6(i)+pz7(i)*vz7(i)+pz8(i)*vz8(i)
247#include "nofusion.inc"
249 dyy(i) =dyy(i)+bxy1(i)*vx1(i)+bxy2(i)*vx2(i)
250 + +bxy3(i)*vx3(i)+bxy4(i)*vx4(i)
251 + +bxy5(i)*vx5(i)+bxy6(i)*vx6(i)
252 + +bxy7(i)*vx7(i)+bxy8(i)*vx8(i)
253 dzz(i) =dzz(i)+bxz1(i)*vx1(i)+bxz2(i)*vx2(i)
254 + +bxz3(i)*vx3(i)+bxz4(i)*vx4(i)
255 + +bxz5(i)*vx5(i)+bxz6(i)*vx6(i)
256 + +bxz7(i)*vx7(i)+bxz8(i)*vx8(i)
257 dxx(i) =dxx(i)+byx1(i)*vy1(i)+byx2(i)*vy2(i)
258 + +byx3(i)*vy3(i)+byx4(i)*vy4(i)
259 + +byx5(i)*vy5(i)+byx6(i)*vy6(i)
260 + +byx7(i)*vy7(i)+byx8(i)*vy8(i)
261 dzz(i) =dzz(i)+byz1(i)*vy1(i)+byz2(i)*vy2(i)
262 + +byz3(i)*vy3(i)+byz4(i)*vy4(i)
263 + +byz5(i)*vy5(i)+byz6(i)*vy6(i)
264 + +byz7(i)*vy7(i)+byz8(i)*vy8(i)
265 dxx(i) =dxx(i)+bzx1(i)*vz1(i)+bzx2(i)*vz2(i)
266 + +bzx3(i)*vz3(i)+bzx4(i)*vz4(i)
267 + +bzx5(i)*vz5(i)+bzx6(i)*vz6(i)
268 + +bzx7(i)*vz7(i)+bzx8(i)*vz8(i)
269 dyy(i) =dyy(i)+bzy1(i)*vz1(i)+bzy2(i)*vz2(i)
270 + +bzy3(i)*vz3(i)+bzy4(i)*vz4(i)
271 + +bzy5(i)*vz5(i)+bzy6(i)*vz6(i)
272 + +bzy7(i)*vz7(i)+bzy8(i)*vz8(i)
276 dyy_a(i) =bxy1(i)*vx1(i)+bxy2(i)*vx2(i)
277 + +bxy3(i)*vx3(i)+bxy4(i)*vx4(i)
278 + +bxy5(i)*vx5(i)+bxy6(i)*vx6(i)
279 + +bxy7(i)*vx7(i)+bxy8(i)*vx8(i)
280 + +bzy1(i)*vz1(i)+bzy2(i)*vz2(i)
281 + +bzy3(i)*vz3(i)+bzy4(i)*vz4(i)
283 + +bzy7(i)*vz7(i)+bzy8(i)*vz8(i)
284 dzz_a(i) =bxz1(i)*vx1(i)+bxz2(i)*vx2(i)
285 + +bxz3(i)*vx3(i)+bxz4(i)*vx4(i)
286 + +bxz5(i)*vx5(i)+bxz6(i)*vx6(i)
287 + +bxz7(i)*vx7(i)+bxz8(i)*vx8(i)
288 + +byz1(i)*vy1(i)+byz2(i)*vy2(i)
289 + +byz3(i)*vy3(i)+byz4(i)*vy4(i)
290 + +byz5(i)*vy5(i)+byz6(i)*vy6(i)
291 + +byz7(i)*vy7(i)+byz8(i)*vy8(i)
292 dxx_a(i) =byx1(i)*vy1(i)+byx2(i)*vy2(i)
293 + +byx3(i)*vy3(i)+byx4(i)*vy4(i)
294 + +byx5(i)*vy5(i)+byx6(i)*vy6(i)
295 + +byx7(i)*vy7(i)+byx8(i)*vy8(i)
296 + +bzx1(i)*vz1(i)+bzx2(i)*vz2(i)
297 + +bzx3(i)*vz3(i)+bzx4(i)*vz4(i)
298 + +bzx5(i)*vz5(i)+bzx6(i)*vz6(i)
299 + +bzx7(i)*vz7(i)+bzx8(i)*vz8(i)
308 IF (idege(i)>10.OR.
min(dxx(i),dyy(i),dzz(i))<-zep85) fac=em02
309 base = dxx(i)+dyy(i)+dzz(i)
310 jfac(i)=fac*(div0(i)-base)
311 dxx(i) = dxx(i)+jfac(i)
312 dyy(i) = dyy(i)+jfac(i)
313 dzz(i) = dzz(i)+jfac(i)
317 1 det, dxx, dxy, dxz,
318 2 dyx, dyy, dyz, dzx,
322 base = det0(i)/
max(em20,det(i))
323 IF (
min(dxx(i),dyy(i),dzz(i))<-zep85) fac=fac*fac
324 jfac(i)=exp(fac*log(
max(em20,base)))
327 IF(idege(i)>10.OR.(ismstr==12.AND.offg(i)>one)) cycle
328 dxx(i) = jfac(i)*dxx(i)+jfac(i)-one
329 dyy(i) = jfac(i)*dyy(i)+jfac(i)-one
330 dzz(i) = jfac(i)*dzz(i)+jfac(i)-one
331 dxy(i) = jfac(i)*dxy(i)
332 dyx(i) = jfac(i)*dyx(i)
333 dzx(i) = jfac(i)*dzx(i)
334 dxz(i) = jfac(i)*dxz(i)
335 dyz(i) = jfac(i)*dyz(i)
336 dzy(i) = jfac(i)*dzy(i)
340 1 det, dxx, dxy, dxz,
341 2 dyx, dyy, dyz, dzx,
346 base = det0(i)/
max(em20,det(i))
347 IF(ismstr==12.AND.offg(i)>one) base=one
348 jfac(i)=exp(fac*log(
max(em20,base)))
351 IF(idege(i)>10.OR.(ismstr==12.AND.offg(i)>one)) cycle
352 dxx(i) = jfac(i)*dxx(i)+jfac(i)-one
353 dyy(i) = jfac(i)*dyy(i)+jfac(i)-one
354 dzz(i) = jfac(i)*dzz(i)+jfac(i)-one
355 dxy(i) = jfac(i)*dxy(i)
356 dyx(i) = jfac(i)*dyx(i)
357 dzx(i) = jfac(i)*dzx(i)
358 dxz(i) = jfac(i)*dxz(i)
359 dyz(i) = jfac(i)*dyz(i)
360 dzy(i) = jfac(i)*dzy(i)
subroutine s8edefot3(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, dxx, dxy, dxz, dyx, dyy, dyz, dzx, dzy, dzz, icp, det0, jfac, nu, i_sh, idege, dxx_a, dyy_a, dzz_a, offg, nel, ismstr, mtn, div0)