38 3 NC7, NC8, STIFN, STI,
45 A NVC, AR, FR_WAVE, FR_WAV,
52 H THEM, FTHE, CONDN, CONDE,
53 I NEL, JTHE, ISROT, IPARTSPH,
58#include "implicit_f.inc"
71 INTEGER,
INTENT(IN) :: NEL
72 INTEGER,
INTENT(IN) :: JTHE
73 INTEGER,
INTENT(IN) :: ISROT
74 INTEGER,
INTENT(IN) :: IPARTSPH
75 INTEGER,
INTENT(IN) :: NODADT_THERM
76 INTEGER NC1(*), NC2(*), NC3(*), NC4(*), NC5(*), NC6(*), NC7(*),
80 . OFFG(*),E(3,*),STIFN(*),STI(*),
81 . F11(*),F21(*),F31(*),F12(*),F22(*),F32(*),
82 . F13(*),F23(*),F33(*),F14(*),F24(*),F34(*),
83 . F15(*),F25(*),F35(*),F16(*),F26(*),F36(*),
84 . F17(*),F27(*),F37(*),F18(*),F28(*),F38(*),
85 . AR(3,*),FR_WAVE(*),FR_WAV(*),
86 . MX1(*),MY1(*),MZ1(*),MX2(*),MY2(*),MZ2(*),
87 . MX3(*),MY3(*),MZ3(*),MX4(*),MY4(*),MZ4(*),
88 . MX5(*),MY5(*),MZ5(*),MX6(*),MY6(*),MZ6(*),
89 . MX7(*),MY7(*),MZ7(*),MX8(*),MY8(*),MZ8(*),
90 . them(mvsiz,8), fthe(*),condn(*),conde(*)
101 INTEGER NVC1,NVC2,NVC3,NVC4,NVC5,NVC6,NVC7,NVC8
105 off_l =
min(off_l,offg(i))
142 IF(offg(i)<=zero)
THEN
178 IF(offg(i)<=zero)
THEN
184 IF(nodadt_therm == 1)
THEN
195 nvc2 =(nvc-nvc1*128) / 64
196 nvc3 =(nvc-nvc1*128-nvc2*64) / 32
197 nvc4 =(nvc-nvc1*128-nvc2*64-nvc3*32)/16
198 nvc5 =(nvc-nvc1*128-nvc2*64-nvc3*32-nvc4*16)/8
199 nvc6 =(nvc-nvc1*128-nvc2*64-nvc3*32-nvc4*16-nvc5*8)/4
200 nvc7 =(nvc-nvc1*128-nvc2*64-nvc3*32-nvc4*16-nvc5*8-nvc6*4)/2
201 nvc8 = nvc-nvc1*128-nvc2*64-nvc3*32-nvc4*16-nvc5*8-nvc6*4-nvc7*
207 IF(nodadt_therm == 1 )
THEN
209 conde(i)=one_over_8*conde(i)
217 e(1,nc1(i))=e(1,nc1(i))+f11(i)
218 e(2,nc1(i))=e(2,nc1(i))+f21(i)
219 e(3,nc1(i))=e(3,nc1(i))+f31(i)
220 stifn(nc1(i))=stifn(nc1(i))+sti(i)
224 e(1,nc1(i))=e(1,nc1(i))+f11(i)
225 e(2,nc1(i))=e(2,nc1(i))+f21(i)
226 e(3,nc1(i))=e(3,nc1(i))+f31(i)
227 stifn(nc1(i))=stifn(nc1(i))+sti(i)
232 e(1,nc2(i))=e(1,nc2(i))+f12(i)
233 e(2,nc2(i))=e(2,nc2(i))+f22(i)
234 e(3,nc2(i))=e(3,nc2(i))+f32(i)
235 stifn(nc2(i))=stifn(nc2(i))+sti(i)
239 e(1,nc2(i))=e(1,nc2(i))+f12(i)
240 e(2,nc2(i))=e(2,nc2(i))+f22(i)
241 e(3,nc2(i))=e(3,nc2(i))+f32(i)
242 stifn(nc2(i))=stifn(nc2(i))+sti(i)
247 e(1,nc3(i))=e(1,nc3(i))+f13(i)
248 e(2,nc3(i))=e(2,nc3(i))+f23(i)
249 e(3,nc3(i))=e(3,nc3(i))+f33(i)
250 stifn(nc3(i))=stifn(nc3(i))+sti(i)
254 e(1,nc3(i))=e(1,nc3(i))+f13(i)
255 e(2,nc3(i))=e(2,nc3(i))+f23(i)
256 e(3,nc3(i))=e(3,nc3(i))+f33(i)
257 stifn(nc3(i))=stifn(nc3(i))+sti(i)
262 e(1,nc4(i))=e(1,nc4(i))+f14(i)
263 e(2,nc4(i))=e(2,nc4(i))+f24(i)
264 e(3,nc4(i))=e(3,nc4(i))+f34(i)
265 stifn(nc4(i))=stifn(nc4(i))+sti(i)
269 e(1,nc4(i))=e(1,nc4(i))+f14(i)
270 e(2,nc4(i))=e(2,nc4(i))+f24(i)
271 e(3,nc4(i))=e(3,nc4(i))+f34(i)
272 stifn(nc4(i))=stifn(nc4(i))+sti(i)
277 e(1,nc5(i))=e(1,nc5(i))+f15(i)
278 e(2,nc5(i))=e(2,nc5(i))+f25(i)
279 e(3,nc5(i))=e(3,nc5(i))+f35(i)
280 stifn(nc5(i))=stifn(nc5(i))+sti(i)
285 e(2,nc5(i))=e(2,nc5(i))+f25(i)
286 e(3,nc5(i))=e(3,nc5(i))+f35(i)
287 stifn(nc5(i))=stifn(nc5(i))+sti(i)
292 e(1,nc6(i))=e(1,nc6(i))+f16(i)
293 e(2,nc6(i))=e(2,nc6(i))+f26(i)
294 e(3,nc6(i))=e(3,nc6(i))+f36(i)
295 stifn(nc6(i))=stifn(nc6(i))+sti(i)
299 e(1,nc6(i))=e(1,nc6(i))+f16(i)
300 e(2,nc6(i))=e(2,nc6(i))+f26(i)
301 e(3,nc6(i))=e(3,nc6(i))+f36(i)
302 stifn(nc6(i))=stifn(nc6(i))+sti(i)
307 e(1,nc7(i))=e(1,nc7(i))+f17(i)
308 e(2,nc7(i))=e(2,nc7(i))+f27(i)
309 e(3,nc7(i))=e(3,nc7(i))+f37(i)
310 stifn(nc7(i))=stifn(nc7(i))+sti(i)
314 e(1,nc7(i))=e(1,nc7(i))+f17(i)
315 e(2,nc7(i))=e(2,nc7(i))+f27(i)
316 e(3,nc7(i))=e(3,nc7(i))+f37(i)
317 stifn(nc7(i))=stifn(nc7(i))+sti(i)
322 e(1,nc8(i))=e(1,nc8(i))+f18(i)
323 e(2,nc8(i))=e(2,nc8(i))+f28(i)
324 e(3,nc8(i))=e(3,nc8(i))+f38(i)
325 stifn(nc8(i))=stifn(nc8(i))+sti(i)
329 e(1,nc8(i))=e(1,nc8(i))+f18(i)
330 e(2,nc8(i))=e(2,nc8(i))+f28(i)
331 e(3,nc8(i))=e(3,nc8(i))+f38(i)
332 stifn(nc8(i))=stifn(nc8(i))+sti(i)
337 IF(nodadt_therm == 1 )
THEN
340 e(1,nc1(i))=e(1,nc1(i))+f11(i)
341 e(2,nc1(i))=e(2,nc1(i))+f21(i)
342 e(3,nc1(i))=e(3,nc1(i))+f31(i)
343 stifn(nc1(i))=stifn(nc1(i))+sti(i)
344 fthe(nc1(i)) = fthe(nc1(i)) + them(i,1)
345 condn(nc1(i))= condn(nc1(i))+ conde(i)
349 e(1,nc1(i))=e(1,nc1(i))+f11(i)
350 e(2,nc1(i))=e(2,nc1(i))+f21(i)
351 e(3,nc1(i))=e(3,nc1(i))+f31(i)
352 stifn(nc1(i))=stifn(nc1(i))+sti(i)
353 fthe(nc1(i)) = fthe(nc1(i)) + them(i,1)
354 condn(nc1(i))= condn(nc1(i))+ conde(i)
359 e(1,nc2(i))=e(1,nc2(i))+f12(i)
360 e(2,nc2(i))=e(2,nc2(i))+f22(i)
361 e(3,nc2(i))=e(3,nc2(i))+f32(i)
362 stifn(nc2(i))=stifn(nc2(i))+sti(i)
363 fthe(nc2(i)) = fthe(nc2(i)) + them(i,2)
364 condn(nc2(i))= condn(nc2(i))+ conde(i)
368 e(1,nc2(i))=e(1,nc2(i))+f12(i)
369 e(2,nc2(i))=e(2,nc2(i))+f22(i)
370 e(3,nc2(i))=e(3,nc2(i))+f32(i)
371 stifn(nc2(i))=stifn(nc2(i))+sti(i)
372 fthe(nc2(i)) = fthe(nc2(i)) + them(i,2)
373 condn(nc2(i))= condn(nc2(i))+ conde(i)
378 e(1,nc3(i))=e(1,nc3(i))+f13(i)
379 e(2,nc3(i))=e(2,nc3(i))+f23(i)
380 e(3,nc3(i))=e(3,nc3(i))+f33(i)
381 stifn(nc3(i))=stifn(nc3(i))+sti(i)
382 fthe(nc3(i)) = fthe(nc3(i)) + them(i,3)
383 condn(nc3(i))= condn(nc3(i))+ conde(i)
387 e(1,nc3(i))=e(1,nc3(i))+f13(i)
388 e(2,nc3(i))=e(2,nc3(i))+f23(i)
389 e(3,nc3(i))=e(3,nc3(i))+f33(i)
390 stifn(nc3(i))=stifn(nc3(i))+sti(i)
391 fthe(nc3(i)) = fthe(nc3(i)) + them(i,3)
392 condn(nc3(i))= condn(nc3(i))+ conde(i)
397 e(1,nc4(i))=e(1,nc4(i))+f14(i)
398 e(2,nc4(i))=e(2,nc4(i))+f24(i)
399 e(3,nc4(i))=e(3,nc4(i))+f34(i)
400 stifn(nc4(i))=stifn(nc4(i))+sti(i)
401 fthe(nc4(i)) = fthe(nc4(i)) + them(i,4)
402 condn(nc4(i))= condn(nc4(i))+ conde(i)
406 e(1,nc4(i))=e(1,nc4(i))+f14(i)
407 e(2,nc4(i))=e(2,nc4(i))+f24(i)
408 e(3,nc4(i))=e(3,nc4(i))+f34(i)
409 stifn(nc4(i))=stifn(nc4(i))+sti(i)
410 fthe(nc4(i)) = fthe(nc4(i)) + them(i,4)
411 condn(nc4(i))= condn(nc4(i))+ conde(i)
416 e(1,nc5(i))=e(1,nc5(i))+f15(i)
417 e(2,nc5(i))=e(2,nc5(i))+f25(i)
418 e(3,nc5(i))=e(3,nc5(i))+f35(i)
419 stifn(nc5(i))=stifn(nc5(i))+sti(i)
420 fthe(nc5(i)) = fthe(nc5(i)) + them(i,5)
421 condn(nc5(i))= condn(nc5(i))+ conde(i)
425 e(1,nc5(i))=e(1,nc5(i))+f15(i)
426 e(2,nc5(i))=e(2,nc5(i))+f25(i)
427 e(3,nc5(i))=e(3,nc5(i))+f35(i)
428 stifn(nc5(i))=stifn(nc5(i))+sti(i)
429 fthe(nc5(i)) = fthe(nc5(i)) + them(i,5)
430 condn(nc5(i))= condn(nc5(i))+ conde(i)
435 e(1,nc6(i))=e(1,nc6(i))+f16(i)
436 e(2,nc6(i))=e(2,nc6(i))+f26(i)
437 e(3,nc6(i))=e(3,nc6(i))+f36(i)
438 stifn(nc6(i))=stifn(nc6(i))+sti(i)
439 fthe(nc6(i)) = fthe(nc6(i)) + them(i,6)
440 condn(nc6(i))= condn(nc6(i))+ conde(i)
444 e(1,nc6(i))=e(1,nc6(i))+f16(i)
445 e(2,nc6(i))=e(2,nc6(i))+f26(i)
446 e(3,nc6(i))=e(3,nc6(i))+f36(i)
447 stifn(nc6(i))=stifn(nc6(i))+sti(i)
448 fthe(nc6(i)) = fthe(nc6(i)) + them(i,6)
449 condn(nc6(i))= condn(nc6(i))+ conde(i)
454 e(1,nc7(i))=e(1,nc7(i))+f17(i)
455 e(2,nc7(i))=e(2,nc7(i))+f27
456 e(3,nc7(i))=e(3,nc7(i))+f37(i)
457 stifn(nc7(i))=stifn(nc7(i))+sti(i)
458 fthe(nc7(i)) = fthe(nc7(i)) + them(i,7)
459 condn(nc7(i))= condn(nc7(i))+ conde(i)
463 e(1,nc7(i))=e(1,nc7(i))+f17(i)
464 e(2,nc7(i))=e(2,nc7(i))+f27(i)
465 e(3,nc7(i))=e(3,nc7(i))+f37(i)
466 stifn(nc7(i))=stifn(nc7(i))+sti(i)
467 fthe(nc7(i)) = fthe(nc7(i)) + them(i,7)
468 condn(nc7(i))= condn(nc7(i))+ conde(i)
473 e(1,nc8(i))=e(1,nc8(i))+f18(i)
474 e(2,nc8(i))=e(2,nc8(i))+f28(i)
475 e(3,nc8(i))=e(3,nc8(i))+f38(i)
476 stifn(nc8(i))=stifn(nc8(i))+sti(i)
477 fthe(nc8(i)) = fthe(nc8(i)) + them(i,8)
478 condn(nc8(i))= condn(nc8(i))+ conde(i)
482 e(1,nc8(i))=e(1,nc8(i))+f18(i)
483 e(2,nc8(i))=e(2,nc8(i))+f28(i)
484 e(3,nc8(i))=e(3,nc8(i))+f38(i)
485 stifn(nc8(i))=stifn(nc8(i))+sti(i)
486 fthe(nc8(i)) = fthe(nc8(i)) + them(i,8)
487 condn(nc8(i))= condn(nc8(i))+ conde(i)
495 e(1,nc1(i))=e(1,nc1(i))+f11(i)
496 e(2,nc1(i))=e(2,nc1(i))+f21(i)
497 e(3,nc1(i))=e(3,nc1(i))+f31(i)
498 stifn(nc1(i))=stifn(nc1(i))+sti(i)
499 fthe(nc1(i)) = fthe(nc1(i)) + them(i,1)
503 e(1,nc1(i))=e(1,nc1(i))+f11(i)
504 e(2,nc1(i))=e(2,nc1(i))+f21(i)
505 e(3,nc1(i))=e(3,nc1(i))+f31(i)
506 stifn(nc1(i))=stifn(nc1(i))+sti(i)
507 fthe(nc1(i)) = fthe(nc1(i)) + them(i,1)
512 e(1,nc2(i))=e(1,nc2(i))+f12(i)
513 e(2,nc2(i))=e(2,nc2(i))+f22(i)
514 e(3,nc2(i))=e(3,nc2(i))+f32(i)
515 stifn(nc2(i))=stifn(nc2(i))+sti(i)
516 fthe(nc2(i)) = fthe(nc2(i)) + them(i,2)
520 e(1,nc2(i))=e(1,nc2(i))+f12(i)
521 e(2,nc2(i))=e(2,nc2(i))+f22(i)
522 e(3,nc2(i))=e(3,nc2(i))+f32(i)
523 stifn(nc2(i))=stifn(nc2(i))+sti(i)
524 fthe(nc2(i)) = fthe(nc2(i)) + them(i,2)
529 e(1,nc3(i))=e(1,nc3(i))+f13(i)
530 e(2,nc3(i))=e(2,nc3(i))+f23(i)
531 e(3,nc3(i))=e(3,nc3(i))+f33(i)
532 stifn(nc3(i))=stifn(nc3(i))+sti(i)
533 fthe(nc3(i)) = fthe(nc3(i)) + them(i,3)
537 e(1,nc3(i))=e(1,nc3(i))+f13(i)
538 e(2,nc3(i))=e(2,nc3(i))+f23(i)
539 e(3,nc3(i))=e(3,nc3(i))+f33(i)
540 stifn(nc3(i))=stifn(nc3(i))+sti(i)
541 fthe(nc3(i)) = fthe(nc3(i)) + them(i,3)
546 e(1,nc4(i))=e(1,nc4(i))+f14(i)
547 e(2,nc4(i))=e(2,nc4(i))+f24(i)
548 e(3,nc4(i))=e(3,nc4(i))+f34(i)
549 stifn(nc4(i))=stifn(nc4(i))+sti(i)
550 fthe(nc4(i)) = fthe(nc4(i)) + them(i,4)
554 e(1,nc4(i))=e(1,nc4(i))+f14(i)
555 e(2,nc4(i))=e(2,nc4(i))+f24(i)
557 stifn(nc4(i))=stifn(nc4(i))+sti(i)
558 fthe(nc4(i)) = fthe(nc4(i)) + them(i,4)
563 e(1,nc5(i))=e(1,nc5(i))+f15(i)
564 e(2,nc5(i))=e(2,nc5(i))+f25(i)
565 e(3,nc5(i))=e(3,nc5(i))+f35(i)
566 stifn(nc5(i))=stifn(nc5(i))+sti(i)
567 fthe(nc5(i)) = fthe(nc5(i)) + them(i,5)
571 e(1,nc5(i))=e(1,nc5(i))+f15(i)
572 e(2,nc5(i))=e(2,nc5(i))+f25(i)
573 e(3,nc5(i))=e(3,nc5(i))+f35(i)
574 stifn(nc5(i))=stifn(nc5(i))+sti(i)
575 fthe(nc5(i)) = fthe(nc5(i)) + them(i,5)
580 e(1,nc6(i))=e(1,nc6(i))+f16(i)
581 e(2,nc6(i))=e(2,nc6(i))+f26(i)
582 e(3,nc6(i))=e(3,nc6(i))+f36(i)
583 stifn(nc6(i))=stifn(nc6(i))+sti(i)
584 fthe(nc6(i)) = fthe(nc6(i)) + them(i,6)
588 e(1,nc6(i))=e(1,nc6(i))+f16(i)
589 e(2,nc6(i))=e(2,nc6(i))+f26(i)
590 e(3,nc6(i))=e(3,nc6(i))+f36(i)
591 stifn(nc6(i))=stifn(nc6(i))+sti(i)
592 fthe(nc6(i)) = fthe(nc6(i)) + them(i,6)
597 e(1,nc7(i))=e(1,nc7(i))+f17(i)
598 e(2,nc7(i))=e(2,nc7(i))+f27(i)
599 e(3,nc7(i))=e(3,nc7(i))+f37(i)
600 stifn(nc7(i))=stifn(nc7(i))+sti(i)
601 fthe(nc7(i)) = fthe(nc7(i)) + them(i,7)
605 e(1,nc7(i))=e(1,nc7(i))+f17(i)
606 e(2,nc7(i))=e(2,nc7(i))+f27(i)
607 e(3,nc7(i))=e(3,nc7(i))+f37(i)
608 stifn(nc7(i))=stifn(nc7(i))+sti(i)
609 fthe(nc7(i)) = fthe(nc7(i)) + them(i,7)
615 e(2,nc8(i))=e(2,nc8(i))+f28(i)
616 e(3,nc8(i))=e(3,nc8(i))+f38(i)
617 stifn(nc8(i))=stifn(nc8(i))+sti(i)
622 e(1,nc8(i))=e(1,nc8(i))+f18(i)
623 e(2,nc8(i))=e(2,nc8(i))+f28(i)
624 e(3,nc8(i))=e(3,nc8(i))+f38(i)
625 stifn(nc8(i))=stifn(nc8(i))+sti(i)
626 fthe(nc8(i)) = fthe(nc8(i)) + them(i,8)
666 ar(1,nc1(i))=ar(1,nc1(i))+mx1(i)
667 ar(2,nc1(i))=ar(2,nc1(i))+my1(i)
668 ar(3,nc1(i))=ar(3,nc1(i))+mz1(i)
670 ar(1,nc2(i))=ar(1,nc2(i))+mx2(i)
671 ar(2,nc2(i))=ar(2,nc2(i))+my2(i)
672 ar(3,nc2(i))=ar(3,nc2(i))+mz2(i)
674 ar(1,nc3(i))=ar(1,nc3(i))+mx3(i)
675 ar(2,nc3(i))=ar(2,nc3(i))+my3(i)
676 ar(3,nc3(i))=ar(3,nc3(i))+mz3(i)
678 ar(1,nc4(i))=ar(1,nc4(i))+mx4(i)
679 ar(2,nc4(i))=ar(2,nc4(i))+my4(i)
680 ar(3,nc4(i))=ar(3,nc4(i))+mz4(i)
682 ar(1,nc5(i))=ar(1,nc5(i))+mx5(i)
683 ar(2,nc5(i))=ar(2,nc5(i))+my5(i)
684 ar(3,nc5(i))=ar(3,nc5(i))+mz5(i)
686 ar(1,nc6(i))=ar(1,nc6(i))+mx6(i)
687 ar(2,nc6(i))=ar(2,nc6(i))+my6(i)
688 ar(3,nc6(i))=ar(3,nc6(i))+mz6(i)
690 ar(1,nc7(i))=ar(1,nc7(i))+mx7(i)
691 ar(2,nc7(i))=ar(2,nc7(i))+my7(i)
692 ar(3,nc7(i))=ar(3,nc7(i))+mz7(i)
694 ar(1,nc8(i))=ar(1,nc8(i))+mx8(i)
695 ar(2,nc8(i))=ar(2,nc8(i))+my8(i)
696 ar(3,nc8(i))=ar(3,nc8(i))+mz8(i)
698#include "lockoff.inc"
706 IF(fr_wave(nc1(i))==0.0)fr_wave(nc1(i))=-fr_wav(i)
707 IF(fr_wave(nc2(i))==0.0)fr_wave(nc2(i))=-fr_wav(i)
708 IF(fr_wave(nc3(i))==0.0)fr_wave(nc3(i))=-fr_wav(i)
709 IF(fr_wave(nc4(i))==0.0)fr_wave(nc4(i))=-fr_wav(i)
710 IF(fr_wave(nc5(i))==0.0)fr_wave(nc5(i))=-fr_wav(i)
711 IF(fr_wave(nc6(i))==0.0)fr_wave(nc6(i))=-fr_wav(i)
712 IF(fr_wave(nc7(i))==0.0)fr_wave(nc7(i))=-fr_wav(i)
713 IF(fr_wave(nc8(i))==0.0)fr_wave(nc8(i))=-fr_wav(i)
723#include "lockoff.inc"
subroutine s8cforc3(timers, output, elbuf_tab, ng, pm, geo, ixs, x, a, v, ms, w, flux, flu1, veul, fv, ale_connect, iparg, tf, npf, bufmat, partsav, nloc_dmg, dt2t, neltst, ityptst, stifn, fsky, iads, offset, eani, iparts, f11, f21, f31, f12, f22, f32, f13, f23, f33, f14, f24, f34, f15, f25, f35, f16, f26, f36, f17, f27, f37, f18, f28, f38, nel, icp, icsig, smr, sms, smt, mfxx, mfxy, mfxz, mfyx, mfyy, mfyz, mfzx, mfzy, mfzz, nvc, ipm, itask, istrain, temp, fthe, fthesky, iexpan, igeo, nnpt, gresav, grth, igrth, mssa, dmels, table, xdp, voln, condn, condnsky, sensors, ioutprt, mat_elem, h3d_strain, dt, nodadt, dtfac1, dtmin1, idtmin, snpc, stf, sbufmat, svis, nsvois, idtmins, iresp, maxfunc, userl_avail, glob_therm, impl_s, idyna)