75
76
77
78#include "implicit_f.inc"
79#include "comlock.inc"
80
81
82
83#include "mvsiz_p.inc"
84
85
86
87#include "units_c.inc"
88#include "scr17_c.inc"
89#include "impl1_c.inc"
90
91
92
93 INTEGER, INTENT(IN) :: NEL
94 INTEGER, INTENT(IN) ::
95 INTEGER, INTENT(IN) :: ISMSTR
96 INTEGER, INTENT(IN) :: JHBE
97 INTEGER ICP,IDEG(*)
98
100 . off(*),offg(*),vol(*),ksi,eta,zeta,wi,
101 . pxc1(*), pxc2(*), pxc3(*), pxc4(*),
102 . pyc1(*), pyc2(*), pyc3(*), pyc4(*),
103 . pzc1(*), pzc2(*), pzc3(*), pzc4(*),
104 . px1h1(*), px1h2(*), px1h3(*),px1h4(*),
105 . px2h1(*), px2h2(*), px2h3(*),px2h4(*),
106 . px3h1(*), px3h2(*), px3h3(*),px3h4(*),
107 . px4h1(*), px4h2(*), px4h3(*),px4h4(*),
108 . hx(mvsiz,4), hy(mvsiz,4), hz(mvsiz,4),
109 . px1(*), px2(*), px3(*), px4(*),
110 . px5(*), px6(*), px7(*), px8(*),
111 . py1(*), py2(*), py3(*), py4(*),
112 . py5(*), py6(*), py7(*), py8(*),
113 . pz1(*), pz2(*), pz3(*), pz4(*),
114 . pz5(*), pz6(*), pz7(*), pz8(*),
115 . pxy1(*),pxy2(*),pxy3(*),pxy4(*),
116 . pxy5(*),pxy6(*),pxy7(*),pxy8(*),
117 . pyx1(*),pyx2(*),pyx3(*),pyx4(*),
118 . pyx5(*),pyx6(*),pyx7(*),pyx8(*),
119 . pxz1(*),pxz2(*),pxz3(*),pxz4(*),
120 . pxz5(*),pxz6(*),pxz7(*),pxz8(*),
121 . pzx1(*),pzx2(*),pzx3(*),pzx4(*),
122 . pzx5(*),pzx6(*),pzx7(*),pzx8(*),
123 . pyz1(*),pyz2(*),pyz3(*),pyz4(*),
124 . pyz5(*),pyz6(*),pyz7(*),pyz8(*),
125 . pzy1(*),pzy2(*),pzy3(*),pzy4(*),
126 . pzy5(*),pzy6(*),pzy7(*),pzy8(*),
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(*),bzy7(*),bzy8(*),
139 . cj1(*),cj2(*),cj3(*),
140 . cj4(*),cj5(*),cj6(*),
141 . cj7(*),cj8(*),cj9(*),
142 . jac4,jac5,jac6,
143 . jac7,jac8,jac9,
144 . smax(*),deltax(*),nu(*)
145
146
147
148 INTEGER NGL(*), I, J ,ICOR,ep
149
150
152 . det(mvsiz) ,dett , nu1(mvsiz),
153 . jac1,jac2,jac3,
154 . jaci1, jaci2, jaci3,
155 . jaci4, jaci5, jaci6,
156 . jaci7, jaci8, jaci9,
157 . jac_59_68(mvsiz), jac_67_49(mvsiz), jac_48_57(mvsiz),
158 . jac_38_29(mvsiz), jac_19_37(mvsiz), jac_27_18(mvsiz),
159 . jac_26_35(mvsiz), jac_34_16(mvsiz), jac_15_24(mvsiz),
160 . jaci12(mvsiz), jaci45(mvsiz), jaci78(mvsiz),
161 . d1x(mvsiz) , d2x(mvsiz) , d3x(mvsiz) , d4x(mvsiz) ,
162 . d1y(mvsiz) , d2y(mvsiz) , d3y(mvsiz) , d4y(mvsiz) ,
163 . d1z(mvsiz) , d2z(mvsiz) , d3z(mvsiz) , d4z(mvsiz) ,
164 . xg1(mvsiz), xg2(mvsiz), xg3(mvsiz), xg4(mvsiz),
165 . yg1(mvsiz), yg2(mvsiz), yg3(mvsiz), yg4(mvsiz),
166 . zg1(mvsiz), zg2(mvsiz), zg3(mvsiz), zg4(mvsiz),
167 . f1,f2,f3,xs,xas,ys,yas,zs,zas,cs,cas ,bxhi,byhi,bzhi
168
169
170 DO i=1,nel
171 jac1=cj1(i)+hx(i,3)*eta+(hx(i,2)+hx(i,4)*eta)*zeta
172 jac2=cj2(i)+hy(i,3)*eta+(hy(i,2)+hy(i,4)*eta)*zeta
173 jac3=cj3(i)+hz(i,3)*eta+(hz(i,2)+hz(i,4)*eta)*zeta
174
175 jac4=cj4(i)+hx(i,1)*zeta+(hx(i,3)+hx(i,4)*zeta)*ksi
176 jac5=cj5(i)+hy(i,1)*zeta+(hy(i,3)+hy(i,4)*zeta)*ksi
177 jac6=cj6(i)+hz(i,1)*zeta+(hz(i,3)+hz(i,4)*zeta)*ksi
178
179 jac7=cj7(i)+hx(i,2)*ksi+(hx(i,1)+hx(i,4)*ksi)*eta
180 jac8=cj8(i)+hy(i,2)*ksi+(hy(i,1)+hy(i,4)*ksi)*eta
181 jac9=cj9(i)+hz(i,2)*ksi+(hz(i,1)+hz(i,4)*ksi)*eta
182
183
184
185 jac_59_68(i)=jac5*jac9-jac6*jac8
186 jac_67_49(i)=jac6*jac7-jac4*jac9
187 jac_38_29(i)=(-jac2*jac9+jac3*jac8)
188 jac_19_37(i)=( jac1*jac9-jac3*jac7)
189 jac_27_18(i)=(-jac1*jac8+jac2*jac7)
190 jac_26_35(i)=( jac2*jac6-jac3*jac5)
191 jac_34_16(i)=(-jac1*jac6+jac3*jac4)
192 jac_15_24(i)=( jac1*jac5-jac2*jac4)
193 jac_48_57(i)=jac4*jac8-jac5*jac7
194
195 det(i)=one_over_512*(jac1*jac_59_68(i)+jac2*jac_67_49(i)+jac3*jac_48_57(i))
196 vol(i)= wi*det(i)
197 ENDDO
198
199 icor = 0
200 DO i=1,nel
201 off(i)=offg(i)
202 IF(off(i)==zero)THEN
203 det(i)=one
204 IF (vol(i)<=zero) vol(i)=one
205 ELSEIF (vol(i)<=zero ) THEN
206 vol(i)= em20
207 off(i) =zero
208 icor=1
209 ENDIF
210 ENDDO
211
212 IF (icor>0.AND.impl_s>0) THEN
213 DO i=1,nel
214 IF(vol(i)<=zero.AND.off(i)/=zero)THEN
215 vol(i)= em20
216 off(i) =zero
217 IF (imp_chk>0) THEN
218#include "lockon.inc"
219 WRITE(iout ,2001) ngl(i)
220#include "lockoff.inc"
221 idel7nok = 1
222 imp_ir = imp_ir + 1
223 ELSEIF (imconv==1) THEN
224#include "lockon.inc"
225 WRITE(istdo,2000) ngl(i)
226 WRITE(iout ,2000) ngl(i)
227#include "lockoff.inc"
228 idel7nok = 1
229 ENDIF
230 ENDIF
231 ENDDO
232 END IF
233
234 f1 = eta*zeta
235 f2 = ksi*zeta
236 f3 = ksi*eta
237 DO i=1,nel
238 dett=one_over_512/det(i)
239 jaci1=dett*jac_59_68(i)
240 jaci4=dett*jac_67_49(i)
241 jaci7=dett*jac_48_57(i)
242 jaci2=dett*jac_38_29(i)
243 jaci5=dett*jac_19_37(i)
244 jaci8=dett*jac_27_18(i)
245 jaci3=dett*jac_26_35(i)
246 jaci6=dett*jac_34_16(i)
247 jaci9=dett*jac_15_24(i)
248
249 nu1(i) = nu(i)/(one - nu(i))
250
251 d1x(i)=jaci3*eta +jaci2*zeta
252 d2x(i)=jaci1*zeta +jaci3*ksi
253 d3x(i)=jaci2*ksi +jaci1*eta
254 d4x(i)=jaci1*f1+jaci2*f2+jaci3*f3
255
256 d1y(i)=jaci6*eta +jaci5*zeta
257 d2y(i)=jaci4*zeta +jaci6*ksi
258 d3y(i)=jaci5*ksi +jaci4*eta
259 d4y(i)=jaci4*f1+jaci5*f2+jaci6*f3
260
261 d1z(i)=jaci9*eta +jaci8*zeta
262 d2z(i)=jaci7*zeta +jaci9*ksi
263 d3z(i)=jaci8*ksi +jaci7*eta
264 d4z(i)=jaci7*f1+jaci8*f2+jaci9*f3
265 ENDDO
266
267 DO i=1,nel
268 xg1(i) = px1h1(i)*d1x(i)
269 xg2(i) = px1h2(i)*d2x(i)
270 xg3(i) = px1h3(i)*d3x(i)
271 xg4(i) = px1h4(i)*d4x(i)
272 yg1(i) = px1h1(i)*d1y(i)
273 yg2(i) = px1h2(i)*d2y(i)
274 yg3(i) = px1h3(i)*d3y(i)
275 yg4(i) = px1h4(i)*d4y(i)
276 zg1(i) = px1h1(i)*d1z(i)
277 zg2(i) = px1h2(i)*d2z(i)
278 zg3(i) = px1h3(i)*d3z(i)
279 zg4(i) = px1h4(i)*d4z(i)
280 ENDDO
281
282 DO i=1,nel
283 xs =d1x(i)+d2x(i)+d3x(i)
284 xas =d4x(i)+xg1(i)+xg2(i)+xg3(i)+xg4(i)-pxc1(i)
285 px1(i)=xs-xas
286 px7(i)=xs+xas
287 ys =d1y(i)+d2y(i)+d3y(i)
288 yas =d4y(i)+yg1(i)+yg2(i)+yg3(i)+yg4(i)-pyc1(i)
289 py1(i)=ys-yas
290 py7(i)=ys+yas
291 zs =d1z(i)+d2z(i)+d3z(i)
292 zas =d4z(i)+zg1(i)+zg2(i)+zg3(i)+zg4(i)-pzc1(i)
293 pz1(i)=zs-zas
294 pz7(i)=zs+zas
295
296 ys =d1y(i)+d2y(i)
297 yas =yg1(i)+yg2(i)-pyc1(i)
298 pxy1(i)=ys-yas
299 pxy7(i)=ys+yas
300 xs =d1x(i)+d2x(i)
301 xas =xg1(i)+xg2(i)-pxc1(i)
302 pyx1(i)=xs-xas
303 pyx7(i)=xs+xas
304 zs =d1z(i)+d3z(i)
305 zas =zg1(i)+zg3(i)-pzc1(i)
306 pxz1(i)=zs-zas
307 pxz7(i)=zs+zas
308 xs =d1x(i)+d3x(i)
309 xas =xg1(i)+xg3(i)-pxc1(i)
310 pzx1(i)=xs-xas
311 pzx7(i)=xs+xas
312 zs =d2z(i)+d3z(i)
313 zas =zg2(i)+zg3(i)-pzc1(i)
314 pyz1(i)=zs-zas
315 pyz7(i)=zs+zas
316 ys =d2y(i)+d3y(i)
317 yas =yg2(i)+yg3(i)-pyc1(i)
318 pzy1(i)=ys-yas
319 pzy7(i)=ys+yas
320 ENDDO
321
322 IF (icp /= 1 .AND. icp /= 11) THEN
323 DO i=1,nel
324 cas =-nu(i)*(d4x(i)+xg1(i)+xg4(i))
325 xas =-nu1(i)*xg3(i)+cas
326 bxy1(i)=-xas
327 bxy7(i)=xas
328 xas =-nu1(i)*xg2(i)+cas
329 bxz1(i)=-xas
330 bxz7(i)=xas
331 cas =-nu(i)*(d4y(i)+yg2(i)+yg4(i))
332
333 yas =-nu1(i)*yg3(i)+cas
334 byx1(i)=-yas
335 byx7(i)=yas
336 yas =-nu1(i)*yg1(i)+cas
337 byz1(i)=-yas
338 byz7(i)=yas
339 cas =-nu(i)*(d4z(i)+zg3(i)+zg4(i))
340 zas =-nu1(i)*zg2(i)+cas
341 bzx1(i)=-zas
342 bzx7(i)=zas
343 zas =-nu1(i)*zg1(i)+cas
344 bzy1(i)=-zas
345 bzy7(i)=zas
346 ENDDO
347 ENDIF
348
349 DO i=1,nel
350 xg1(i) = px2h1(i)*d1x(i)
351 xg2(i) = px2h2(i)*d2x(i)
352 xg3(i) = px2h3(i)*d3x(i)
353 xg4(i) = px2h4(i)*d4x(i)
354 yg1(i) = px2h1(i)*d1y(i)
355 yg2(i) = px2h2(i)*d2y(i)
356 yg3(i) = px2h3(i)*d3y(i)
357 yg4(i) = px2h4(i)*d4y(i)
358 zg1(i) = px2h1(i)*d1z(i)
359 zg2(i) = px2h2(i)*d2z(i)
360 zg3(i) = px2h3(i)*d3z(i)
361 zg4(i) = px2h4(i)*d4z(i)
362 ENDDO
363
364 DO i=1,nel
365 xs =d1x(i)-d2x(i)-d3x(i)
366 xas =-d4x(i)+xg1(i)+xg2(i)+xg3(i)+xg4(i)-pxc2(i)
367 px2(i)=xs-xas
368 px8(i)=xs+xas
369 ys =d1y(i)-d2y(i)-d3y(i)
370 yas =-d4y(i)+yg1(i)+yg2(i)+yg3(i)+yg4(i)-pyc2(i)
371 py2(i)=ys-yas
372 py8(i)=ys+yas
373 zs =d1z(i)-d2z(i)-d3z(i)
374 zas =-d4z(i)+zg1(i)+zg2(i)+zg3(i)+zg4(i)-pzc2(i)
375 pz2(i)=zs-zas
376 pz8(i)=zs+zas
377
378 ys =d1y(i)-d2y(i)
379 yas =yg1(i)+yg2(i)-pyc2(i)
380 pxy2(i)=ys-yas
381 pxy8(i)=ys+yas
382 xs =d1x(i)-d2x(i)
383 xas =xg1(i)+xg2(i)-pxc2(i)
384 pyx2(i)=xs-xas
385 pyx8(i)=xs+xas
386 zs =d1z(i)-d3z(i)
387 zas =zg1(i)+zg3(i)-pzc2(i)
388 pxz2(i)=zs-zas
389 pxz8(i)=zs+zas
390 xs =d1x(i)-d3x(i)
391 xas =xg1(i)+xg3(i)-pxc2(i)
392 pzx2(i)=xs-xas
393 pzx8(i)=xs+xas
394 zs =-d2z(i)-d3z(i)
395 zas =zg2(i)+zg3(i)-pzc2(i)
396 pyz2(i)=zs-zas
397 pyz8(i)=zs+zas
398 ys =-d2y(i)-d3y(i)
399 yas =yg2(i)+yg3(i)-pyc2(i)
400 pzy2(i)=ys-yas
401 pzy8(i)=ys+yas
402 ENDDO
403
404 IF (icp /= 1 .AND. icp /= 11) THEN
405 DO i=1,nel
406 cas =-nu(i)*(-d4x(i)+xg1(i)+xg4(i))
407 xas =-nu1(i)*xg3(i)+cas
408 bxy2(i)=-xas
409 bxy8(i)=xas
410 xas =-nu1(i)*xg2(i)+cas
411 bxz2(i)=-xas
412 bxz8(i)=xas
413 cas =-nu(i)*(-d4y(i)+yg2(i)+yg4(i))
414 yas =-nu1(i)*yg3(i)+cas
415 byx2(i)=-yas
416 byx8(i)=yas
417 yas =-nu1(i)*yg1(i)+cas
418 byz2(i)=-yas
419 byz8(i)=yas
420 cas =-nu(i)*(-d4z(i)+zg3(i)+zg4(i))
421 zas =-nu1(i)*zg2(i)+cas
422 bzx2(i)=-zas
423 bzx8(i)=zas
424 zas =-nu1(i)*zg1(i)+cas
425 bzy2(i)=-zas
426 bzy8(i)=zas
427 ENDDO
428 ENDIF
429
430
431 DO i=1,nel
432 xg1(i) = px3h1(i)*d1x(i)
433 xg2(i) = px3h2(i)*d2x(i)
434 xg3(i) = px3h3(i)*d3x(i)
435 xg4(i) = px3h4(i)*d4x(i)
436 yg1(i) = px3h1(i)*d1y(i)
437 yg2(i) = px3h2(i)*d2y(i)
438 yg3(i) = px3h3(i)*d3y(i)
439 yg4(i) = px3h4(i)*d4y(i)
440 zg1(i) = px3h1(i)*d1z(i)
441 zg2(i) = px3h2(i)*d2z(i)
442 zg3(i) = px3h3(i)*d3z(i)
443 zg4(i) = px3h4(i)*d4z(i)
444 ENDDO
445
446 DO i=1,nel
447 xs =-d1x(i)-d2x(i)+d3x(i)
448 xas =d4x(i)+xg1(i)+xg2(i)+xg3(i)+xg4(i)-pxc3(i)
449 px3(i)=xs-xas
450 px5(i)=xs+xas
451 ys =-d1y(i)-d2y(i)+d3y(i)
452 yas =d4y(i)+yg1(i)+yg2(i)+yg3(i)+yg4(i)-pyc3(i)
453 py3(i)=ys-yas
454 py5(i)=ys+yas
455 zs =-d1z(i)-d2z(i)+d3z(i)
456 zas =d4z(i)+zg1(i)+zg2(i)+zg3(i)+zg4(i)-pzc3(i)
457 pz3(i)=zs-zas
458 pz5(i)=zs+zas
459
460 ys =-d1y(i)-d2y(i)
461 yas =yg1(i)+yg2(i)-pyc3(i)
462 pxy3(i)=ys-yas
463 pxy5(i)=ys+yas
464 xs =-d1x(i)-d2x(i)
465 xas =xg1(i)+xg2(i)-pxc3(i)
466 pyx3(i)=xs-xas
467 pyx5(i)=xs+xas
468 zs =-d1z(i)+d3z(i)
469 zas =zg1(i)+zg3(i)-pzc3(i)
470 pxz3(i)=zs-zas
471 pxz5(i)=zs+zas
472 xs =-d1x(i)+d3x(i)
473 xas =xg1(i)+xg3(i)-pxc3(i)
474 pzx3(i)=xs-xas
475 pzx5(i)=xs+xas
476 zs =-d2z(i)+d3z(i)
477 zas =zg2(i)+zg3(i)-pzc3(i)
478 pyz3(i)=zs-zas
479 pyz5(i)=zs+zas
480 ys =-d2y(i)+d3y(i)
481 yas =yg2(i)+yg3(i)-pyc3(i)
482 pzy3(i)=ys-yas
483 pzy5(i)=ys+yas
484 ENDDO
485
486 IF (icp /= 1 .AND. icp /= 11) THEN
487 DO i=1,nel
488 cas =-nu(i)*(d4x(i)+xg1(i)+xg4(i))
489 xas =-nu1(i)*xg3(i)+cas
490 bxy3(i)=-xas
491 bxy5(i)=xas
492 xas =-nu1(i)*xg2(i)+cas
493 bxz3(i)=-xas
494 bxz5(i)=xas
495 cas =-nu(i)*(d4y(i)+yg2(i)+yg4(i))
496 yas =-nu1(i)*yg3(i)+cas
497 byx3(i)=-yas
498 byx5(i)=yas
499 yas =-nu1(i)*yg1(i)+cas
500 byz3(i)=-yas
501 byz5(i)=yas
502 cas =-nu(i)*(d4z(i)+zg3(i)+zg4(i))
503 zas =-nu1(i)*zg2(i)+cas
504 bzx3(i)=-zas
505 bzx5(i)=zas
506 zas =-nu1(i)*zg1(i)+cas
507 bzy3(i)=-zas
508 bzy5(i)=zas
509 ENDDO
510 ENDIF
511
512 DO i=1,nel
513 xg1(i) = px4h1(i)*d1x(i)
514 xg2(i) = px4h2(i)*d2x(i)
515 xg3(i) = px4h3(i)*d3x(i)
516 xg4(i) = px4h4(i)*d4x(i)
517 yg1(i) = px4h1(i)*d1y(i)
518 yg2(i) = px4h2(i)*d2y(i)
519 yg3(i) = px4h3(i)*d3y(i)
520 yg4(i) = px4h4(i)*d4y(i)
521 zg1(i) = px4h1(i)*d1z(i)
522 zg2(i) = px4h2(i)*d2z(i)
523 zg3(i) = px4h3(i)*d3z(i)
524 zg4(i) = px4h4(i)*d4z(i)
525 ENDDO
526
527 DO i=1,nel
528 xs =-d1x(i)+d2x(i)-d3x(i)
529 xas =-d4x(i)+xg1(i)+xg2(i)+xg3(i)+xg4(i)-pxc4(i)
530 px4(i)=xs-xas
531 px6(i)=xs+xas
532 ys =-d1y(i)+d2y(i)-d3y(i)
533 yas =-d4y(i)+yg1(i)+yg2(i)+yg3(i)+yg4(i)-pyc4(i)
534 py4(i)=ys-yas
535 py6(i)=ys+yas
536 zs =-d1z(i)+d2z(i)-d3z(i)
537 zas =-d4z(i)+zg1(i)+zg2(i)+zg3(i)+zg4(i)-pzc4(i)
538 pz4(i)=zs-zas
539 pz6(i)=zs+zas
540
541 ys =-d1y(i)+d2y(i)
542 yas =yg1(i)+yg2(i)-pyc4(i)
543 pxy4(i)=ys-yas
544 pxy6(i)=ys+yas
545 xs =-d1x(i)+d2x(i)
546 xas =xg1(i)+xg2(i)-pxc4(i)
547 pyx4(i)=xs-xas
548 pyx6(i)=xs+xas
549 zs =-d1z(i)-d3z(i)
550 zas =zg1(i)+zg3(i)-pzc4(i)
551 pxz4(i)=zs-zas
552 pxz6(i)=zs+zas
553 xs =-d1x(i)-d3x(i)
554 xas =xg1(i)+xg3(i)-pxc4(i)
555 pzx4(i)=xs-xas
556 pzx6(i)=xs+xas
557 zs =d2z(i)-d3z(i)
558 zas =zg2(i)+zg3(i)-pzc4(i)
559 pyz4(i)=zs-zas
560 pyz6(i)=zs+zas
561 ys =d2y(i)-d3y(i)
562 yas =yg2(i)+yg3(i)-pyc4(i)
563 pzy4(i)=ys-yas
564 pzy6(i)=ys+yas
565 ENDDO
566
567 IF (icp /= 1 .AND. icp /= 11) THEN
568 DO i=1,nel
569 cas =-nu(i)*(-d4x(i)+xg1(i)+xg4(i))
570 xas =-nu1(i)*xg3(i)+cas
571 bxy4(i)=-xas
572 bxy6(i)=xas
573 xas =-nu1(i)*xg2(i)+cas
574 bxz4(i)=-xas
575 bxz6(i)=xas
576 cas =-nu(i)*(-d4y(i)+yg2(i)+yg4(i))
577 yas =-nu1(i)*yg3(i)+cas
578 byx4(i)=-yas
579 byx6(i)=yas
580 yas =-nu1(i)*yg1(i)+cas
581 byz4(i)=-yas
582 byz6(i)=yas
583 cas =-nu(i)*(-d4z(i)+zg3(i)+zg4(i))
584 zas =-nu1(i)*zg2(i)+cas
585 bzx4(i)=-zas
586 bzx6(i)=zas
587 zas =-nu1(i)*zg1(i)+cas
588 bzy4(i)=-zas
589 bzy6(i)=zas
590 ENDDO
591
592 DO i=1,nel
593 cs =-nu(i)*d1x(i)
594 xs =-nu1(i)*d3x(i)
595 bxy1(i)=bxy1(i)+cs+xs
596 bxy2(i)=bxy2(i)+cs-xs
597 bxy3(i)=bxy3(i)-cs+xs
598 bxy4(i)=bxy4(i)-cs-xs
599 bxy5(i)=bxy5(i)-cs+xs
600 bxy6(i)=bxy6(i)-cs-xs
601 bxy7(i)=bxy7(i)+cs+xs
602 bxy8(i)=bxy8(i)+cs-xs
603 xs =-nu1(i)*d2x(i)
604 bxz1(i)=bxz1(i)+cs+xs
605 bxz2(i)=bxz2(i)+cs-xs
606 bxz3(i)=bxz3(i)-cs-xs
607 bxz4(i)=bxz4(i)-cs+xs
608 bxz5(i)=bxz5(i)-cs-xs
609 bxz6(i)=bxz6(i)-cs+xs
610 bxz7(i)=bxz7(i)+cs+xs
611 bxz8(i)=bxz8(i)+cs-xs
612 ENDDO
613 DO i=1,nel
614 cs =-nu(i)*d2y(i)
615 ys =-nu1(i)*d3y(i)
616 byx1(i)=byx1(i)+cs+ys
617 byx2(i)=byx2(i)-cs-ys
618 byx3(i)=byx3(i)-cs+ys
619 byx4(i)=byx4(i)+cs-ys
620 byx5(i)=byx5(i)-cs+ys
621 byx6(i)=byx6(i)+cs-ys
622 byx7(i)=byx7(i)+cs+ys
623 byx8(i)=byx8(i)-cs-ys
624 ys =-nu1(i)*d1y(i)
625 byz1(i)=byz1(i)+cs+ys
626 byz2(i)=byz2(i)-cs+ys
627 byz3(i)=byz3(i)-cs-ys
628 byz4(i)=byz4(i)+cs-ys
629 byz5(i)=byz5(i)-cs-ys
630 byz6(i)=byz6(i)+cs-ys
631 byz7(i)=byz7(i)+cs+ys
632 byz8(i)=byz8(i)-cs+ys
633 ENDDO
634 DO i=1,nel
635 cs =-nu(i)*d3z(i)
636 zs =-nu1(i)*d2z(i)
637 bzx1(i)=bzx1(i)+cs+zs
638 bzx2(i)=bzx2(i)-cs-zs
639 bzx3(i)=bzx3(i)+cs-zs
640 bzx4(i)=bzx4(i)-cs+zs
641 bzx5(i)=bzx5(i)+cs-zs
642 bzx6(i)=bzx6(i)-cs+zs
643 bzx7(i)=bzx7(i)+cs+zs
644 bzx8(i)=bzx8(i)-cs-zs
645 zs =-nu1(i)*d1z(i)
646 bzy1(i)=bzy1(i)+cs+zs
647 bzy2(i)=bzy2(i)-cs+zs
648 bzy3(i)=bzy3(i)+cs-zs
649 bzy4(i)=bzy4(i)-cs-zs
650 bzy5(i)=bzy5(i)+cs-zs
651 bzy6(i)=bzy6(i)-cs-zs
652 bzy7(i)=bzy7(i)+cs+zs
653 bzy8(i)=bzy8(i)-cs+zs
654 ENDDO
655 ENDIF
656 IF (idts6==0) THEN
657 DO i=1,nel
658 deltax(i)=
min(deltax(i),hundred28*det(i)*smax(i))
659 ENDDO
660 ELSE
661 DO i=1,nel
662 IF (ideg(i)==0) deltax(i)=
min(deltax(i),hundred28*det(i)*smax(i))
663 ENDDO
664 END IF
665
666 IF ((impl_s >0.AND.jhbe /= 14.AND.jhbe < 20).OR.
667 . ((ismstr==10.OR.ismstr==12).AND.
668 . (icp==1.OR.icp==11.OR.mtn==99.OR.mtn==1).AND.jhbe==14)) THEN
669 DO i=1,nel
670 pxy1(i)=py1(i)
671 pxy2(i)=py2(i)
672 pxy3(i)=py3(i)
673 pxy4(i)=py4(i)
674 pxy5(i)=py5(i)
675 pxy6(i)=py6(i)
676 pxy7(i)=py7(i)
677 pxy8(i)=py8(i)
678
679 pyx1(i)=px1(i)
680 pyx2(i)=px2(i)
681 pyx3(i)=px3(i)
682 pyx4(i)=px4(i)
683 pyx5(i)=px5(i)
684 pyx6(i)=px6(i)
685 pyx7(i)=px7(i)
686 pyx8(i)=px8(i)
687 ENDDO
688 DO i=1,nel
689 pyz1(i)=pz1(i)
690 pyz2(i)=pz2(i)
691 pyz3(i)=pz3(i)
692 pyz4(i)=pz4(i)
693 pyz5(i)=pz5(i)
694 pyz6(i)=pz6(i)
695 pyz7(i)=pz7(i)
696 pyz8(i)=pz8(i)
697
698 pzy1(i)=py1(i)
699 pzy2(i)=py2(i)
700 pzy3(i)=py3(i)
701 pzy4(i)=py4(i)
702 pzy5(i)=py5(i)
703 pzy6(i)=py6(i)
704 pzy7(i)=py7(i)
705 pzy8(i)=py8(i)
706 ENDDO
707 DO i=1,nel
708 pxz1(i)=pz1(i)
709 pxz2(i)=pz2(i)
710
711 pxz4(i)=pz4(i)
712 pxz5(i)=pz5(i)
713 pxz6(i)=pz6(i)
714 pxz7(i)=pz7(i)
715 pxz8(i)=pz8(i)
716
717 pzx1(i)=px1(i)
718 pzx2(i)=px2(i)
719 pzx3(i)=px3(i)
720 pzx4(i)=px4(i)
721 pzx5(i)=px5(i)
722 pzx6(i)=px6(i)
723 pzx7(i)=px7(i)
724 pzx8(i)=px8(i)
725 ENDDO
726 ENDIF
727 IF ((ismstr==10.OR.ismstr==12).AND.mtn==1.AND.jhbe==14.AND.
728 . (icp/=1.AND.icp/=11)) THEN
729 DO i=1,nel
730 bxy1(i)=zero
731 bxz1(i)=zero
732 byx1(i)=zero
733 byz1(i)=zero
734 bzx1(i)=zero
735 bzy1(i)=zero
736 bxy2(i)=zero
737 bxz2(i)=zero
738 byx2(i)=zero
739 byz2(i)=zero
740 bzx2(i)=zero
741 bzy2(i)=zero
742 bxy3(i)=zero
743 bxz3(i)=zero
744 byx3(i)=zero
745 byz3(i)=zero
746 bzx3(i)=zero
747 bzy3(i)=zero
748 bxy4(i)=zero
749 bxz4(i)=zero
750 byx4(i)=zero
751 byz4(i)=zero
752 bzx4(i)=zero
753 bzy4(i)=zero
754 bxy5(i)=zero
755 bxz5(i)=zero
756 byx5(i)=zero
757 byz5(i)=zero
758 bzx5(i)=zero
759 bzy5(i)=zero
760 bxy6(i)=zero
761 bxz6(i)=zero
762 byx6(i)=zero
763 byz6(i)=zero
764 bzx6(i)=zero
765 bzy6(i)=zero
766 bxy7(i)=zero
767 bxz7(i)=zero
768 byx7(i)=zero
769 byz7(i)=zero
770 bzx7(i)=zero
771 bzy7(i)=zero
772 bxy8(i)=zero
773 bxz8(i)=zero
774 byx8(i)=zero
775 byz8(i)=zero
776 bzx8(i)=zero
777 bzy8(i)=zero
778 ENDDO
779 ENDIF
780
781
782
783
784 IF (icp==11) THEN
785 DO i=1,nel
786 bxhi=third*(px1(i)-pxc1(i))
787 byhi=third*(py1(i)-pyc1(i))
788 bzhi=third*(pz1(i)-pzc1(i))
789 px1(i)=pxc1(i)+two*bxhi
790 py1(i)=pyc1(i)+two*byhi
791 pz1(i)=pzc1(i)+two*bzhi
792 bxy1(i)=-bxhi
793 bxz1(i)=-bxhi
794 byx1(i)=-byhi
795 byz1(i)=-byhi
796 bzx1(i)=-bzhi
797 bzy1(i)=-bzhi
798 ENDDO
799 DO i=1,nel
800 bxhi=third*(px2(i)-pxc2(i))
801 byhi=third*(py2(i)-pyc2(i))
802 bzhi=third*(pz2(i)-pzc2(i))
803 px2(i)=pxc2(i)+two*bxhi
804 py2(i)=pyc2(i)+two*byhi
805 pz2(i)=pzc2(i)+two*bzhi
806 bxy2(i)=-bxhi
807 bxz2(i)=-bxhi
808 byx2(i)=-byhi
809 byz2(i)=-byhi
810 bzx2(i)=-bzhi
811 bzy2(i)=-bzhi
812 ENDDO
813 DO i=1,nel
814 bxhi=third*(px3(i)-pxc3(i))
815 byhi=third*(py3(i)-pyc3(i))
816 bzhi=third*(pz3(i)-pzc3(i))
817 px3(i)=pxc3(i)+two*bxhi
818 py3(i)=pyc3(i)+two*byhi
819 pz3(i)=pzc3(i)+two*bzhi
820 bxy3(i)=-bxhi
821 bxz3(i)=-bxhi
822 byx3(i)=-byhi
823 byz3(i)=-byhi
824 bzx3(i)=-bzhi
825 bzy3(i)=-bzhi
826 ENDDO
827 DO i=1,nel
828 bxhi=third*(px4(i)-pxc4(i))
829 byhi=third*(py4(i)-pyc4(i))
830 bzhi=third*(pz4(i)-pzc4(i))
831 px4(i)=pxc4(i)+two*bxhi
832 py4(i)=pyc4(i)+two*byhi
833 pz4(i)=pzc4(i)+two*bzhi
834 bxy4(i)=-bxhi
835 bxz4(i)=-bxhi
836 byx4(i)=-byhi
837 byz4(i)=-byhi
838 bzx4(i)=-bzhi
839 bzy4(i)=-bzhi
840 ENDDO
841 DO i=1,nel
842 bxhi=third*(px5(i)+pxc3(i))
843 byhi=third*(py5(i)+pyc3(i))
844 bzhi=third*(pz5(i)+pzc3(i))
845 px5(i)=-pxc3(i)+two*bxhi
846 py5(i)=-pyc3(i)+two*byhi
847 pz5(i)=-pzc3(i)+two*bzhi
848 bxy5(i)=-bxhi
849 bxz5(i)=-bxhi
850 byx5(i)=-byhi
851 byz5(i)=-byhi
852 bzx5(i)=-bzhi
853 bzy5(i)=-bzhi
854 ENDDO
855 DO i=1,nel
856 bxhi=third*(px6(i)+pxc4(i))
857 byhi=third*(py6(i)+pyc4(i))
858 bzhi=third*(pz6(i)+pzc4(i))
859 px6(i)=-pxc4(i)+two*bxhi
860 py6(i)=-pyc4(i)+two*byhi
861 pz6(i)=-pzc4(i)+two*bzhi
862 bxy6(i)=-bxhi
863 bxz6(i)=-bxhi
864 byx6(i)=-byhi
865 byz6(i)=-byhi
866 bzx6(i)=-bzhi
867 bzy6(i)=-bzhi
868 ENDDO
869 DO i=1,nel
870 bxhi=third*(px7(i)+pxc1(i))
871 byhi=third*(py7(i)+pyc1(i))
872 bzhi=third*(pz7(i)+pzc1(i))
873 px7(i)=-pxc1(i)+two*bxhi
874 py7(i)=-pyc1(i)+two*byhi
875 pz7(i)=-pzc1(i)+two*bzhi
876 bxy7(i)=-bxhi
877 bxz7(i)=-bxhi
878 byx7(i)=-byhi
879 byz7(i)=-byhi
880 bzx7(i)=-bzhi
881 bzy7(i)=-bzhi
882 ENDDO
883 DO i=1,nel
884 bxhi=third*(px8(i)+pxc2(i))
885 byhi=third*(py8(i)+pyc2(i))
886 bzhi=third*(pz8(i)+pzc2(i))
887 px8(i)=-pxc2(i)+two*bxhi
888 py8(i)=-pyc2(i)+two*byhi
889 pz8(i)=-pzc2(i)+two*bzhi
890 bxy8(i)=-bxhi
891 bxz8(i)=-bxhi
892 byx8(i)=-byhi
893 byz8(i)=-byhi
894 bzx8(i)=-bzhi
895 bzy8(i)=-bzhi
896 ENDDO
897 ENDIF
898 2000 FORMAT(/' ZERO OR NEGATIVE SUB-VOLUME : DELETE 3D-ELEMENT NB',
899 . i10/)
900 RETURN
901 2001 FORMAT(/' ZERO OR NEGATIVE SOLID SUB-VOLUME : ELEMENT NB:',
902 . i10/)