39 SUBROUTINE thsol(ELBUF_TAB, NTHGRP2, ITHGRP ,
40 . IPARG , ITHBUF , WA ,
41 . IXS , X , IPM , PM , IGEO,
42 . MULTI_FVM, V , W ,ITHERM ,
43 . NUMELS , NUMMAT , NUMGEO , NUMNOD, SITHBUF)
117#include "implicit_f.inc"
121#include "vect01_c.inc"
122#include "com01_c.inc"
124#include "param_c.inc"
125#include "mvsiz_p.inc"
129 INTEGER,
INTENT(IN) :: IPARG(NPARG,NGROUP),IXS(NIXS,NUMELS), IPM(NPROPMI,NUMMAT),IGEO(NPROPGI,NUMGEO)
130 INTEGER,
INTENT(IN) :: NTHGRP2, NUMELS, NUMMAT, NUMGEO, NUMNOD, SITHBUF
131 INTEGER,
INTENT(IN) :: ITHBUF(SITHBUF)
132 INTEGER,
INTENT(IN)::
133 INTEGER,
DIMENSION(NITHGR,*),
INTENT(IN) :: ITHGRP
135 my_real,
INTENT(IN) :: x(3,numnod) ,pm(npropm,nummat)
136 TYPE (ELBUF_STRUCT_),
DIMENSION(NGROUP),
TARGET :: ELBUF_TAB
137 TYPE(multi_fvm_struct),
INTENT(IN) :: MULTI_FVM
141 INTEGER II,I,J,JJ,K,L,N, IH, NG, MTE,NEL,
142 . NUVAR, IP,IPT,ISOLNOD,ITENS,IPWWA,ISPAU,IUWWA,
143 . IT,IR,IS,J1,J2,J3,NPTG,NPTR,NPTT,NPTS,NLAY,NFAIL,NVARF,
144 . NC1,,NC3,NC4,,NC6,NC7,NC8,KHBE,KCVT,NUVARTH,
145 . cpt,pid,isvis,tshell,tsh_ort,icsig,ivisc,nptl,il
146 INTEGER :: NITER,IADB,NN,IADV,NVAR,ITYP,IJK,IS_ALE
149 . S11,S22,S33,S12,S23,S13,
150 . r11,r22,r33,r12,r21,r23,r32,r13,r31,
151 . g11,g22,g33,g12,g21,g23,g32,g13,g31,
152 . t11,t22,t33,t12,t21,t23,t32,t13,t31,
153 . l11,l22,l33,l12,l21,l23,l32,l13,l31,
154 . x1,y1,z1,x2,y2,z2,x3,y3,z3,x4,y4,z4,
155 . x5,y5,z5,x6,y6,z6,x7,y7,z7,x8,y8,z8, cs,sn,var,plag
157 . a_gauss(9,9),sigp(7,81,9), user(100),
158 . strain(6),gama(6),evar_tmp(6),evar(6),sigg(6),
159 . vel(3),v(3,*),w(3,*),tmp_2(mvsiz,3),bfrac,ssp
160 my_real,
DIMENSION(:),
ALLOCATABLE :: wwa
163 TYPE(l_bufel_) ,
POINTER :: LBUF
164 TYPE(g_bufel_) ,
POINTER :: GBUF
165 TYPE(buf_mat_) ,
POINTER :: MBUF
166 TYPE(FAIL_LOC_),
POINTER :: FBUF
172 2 -.577350269189626,0.577350269189626,0. ,
175 3 -.774596669241483,0. ,0.774596669241483,
178 4 -.861136311594053,-.339981043584856,0.339981043584856,
179 4 0.861136311594053,0. ,0. ,
181 5 -.906179845938664,-.538469310105683,0. ,
182 5 0.538469310105683,0.906179845938664,0. ,
184 6 -.932469514203152,-.661209386466265,-.238619186083197,
185 6 0.238619186083197,0.661209386466265,0.932469514203152,
187 7 -.949107912342759,-.741531185599394,-.405845151377397,
188 7 0. ,0.405845151377397,0.741531185599394,
189 7 0.949107912342759,0. ,0. ,
190 8 -.960289856497536,-.796666477413627,-.525532409916329,
191 8 -.183434642495650,0.183434642495650,0.525532409916329,
192 8 0.796666477413627,0.960289856497536,0. ,
193 9 -.968160239507626,-.836031107326636,-.613371432700590,
194 9 -.324253423403809,0. ,0.324253423403809,
195 9 0.613371432700590,0.836031107326636,0.968160239507626/
199 ALLOCATE(wwa(239555))
205 iadb =ithgrp(5,niter)
215 sigp(j1,j2,j3) = zero
223 DO WHILE((ithbuf(ih+nn) /= ispmd).AND.(ih < iadb+nn))
226 IF (ih >= iadb+nn)
GOTO 666
235 IF (ity == ityp)
THEN
236 gbuf => elbuf_tab(ng)%GBUF
237 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(1,1,1)
238 mbuf => elbuf_tab(ng)%BUFLY(1)%MAT(1,1,1)
239 nlay = elbuf_tab(ng)%NLAY
240 nptr = elbuf_tab(ng)%NPTR
241 npts = elbuf_tab(ng)%NPTS
242 nptt = elbuf_tab(ng)%NPTT
243 nptg = nptr * npts * nptt
247 2 mte ,nel ,nft ,iad ,ity ,
248 3 npt ,jale ,ismstr ,jeul ,jtur ,
249 4 jthe ,jlag ,jmult ,khbe ,jivf ,
250 5 nvaux ,jpor ,kcvt ,jclose ,jplasol ,
251 6 irep ,iint ,igtyp ,israt ,isrot ,
252 7 icsen ,isorth ,isorthg ,ifailure,jsms )
255 IF (igtyp==20 .OR. igtyp==21 .OR. igtyp==22) tshell = 1
256 IF (igtyp==21 .OR. igtyp==22) tsh_ort = 1
263 IF (mte /= 0 .AND. mte /= 13)
THEN
271 IF (kcvt == 0 .AND. isorth > 0) kcvt=-1
272 IF (kcvt == 1 .AND. isorth > 0) kcvt= 2
273 IF (mte >=28) nuvar = ipm(8,ixs(1,nft+1))
275 IF(is_ale > 0 .AND. is_ale /= 3)
THEN
277 tmp_2(1:mvsiz,1:3) = zero
280 node = ixs(j+1,i+nft)
281 IF(node > 0 .AND. node <= numnod)
THEN
282 tmp_2(i,1)=tmp_2(i,1) + v(1,ixs(j+1,i+nft))-w(1,ixs(j+1,i+nft))
283 tmp_2(i,2)=tmp_2(i,2) + v(2,ixs(j+1,i+nft))-w(2,ixs(j+1,i+nft))
284 tmp_2(i,3)=tmp_2(i,3) + v(3,ixs(j+1,i+nft))-w(3,ixs(j+1,i+nft))
290 tmp_2(1:mvsiz,1:3) = zero
293 node = ixs(j+1,i+nft)
294 IF(node > 0 .AND. node <= numnod)
THEN
295 tmp_2(i,1)=tmp_2(i,1)+v(1,ixs(j+1,i+nft))
296 tmp_2(i,2)=tmp_2(i,2)+v(2,ixs(j+1,i+nft))
297 tmp_2(i,3)=tmp_2(i,3)+v(3,ixs(j+1,i+nft))
317 ii = ((ih-1) - iadb)*nvar
318 DO WHILE((ithbuf(ih+nn) /= ispmd) .AND. (ih < iadb+nn))
322 IF (ih > iadb+nn)
GOTO 666
328 wwa(8) = gbuf%EINT(i)
330 IF( nfilsol /= 0 .AND. gbuf%G_FILL /= 0 )
THEN
331 wwa(8) = wwa(8) * gbuf%FILL(i)
335 IF (gbuf%G_QVIS > 0) wwa(10)= gbuf%QVIS(i)
337 IF(jlag==1 .AND. gbuf%RHO(i)>zero)
THEN
338 wwa(11)=gbuf%VOL(i) * pm(89,ixs(1,nft+i))/gbuf%RHO(i)
345 vel(1) = tmp_2(i,1)*one_over_8
346 vel(2) = tmp_2(i,2)*one_over_8
347 vel(3) = tmp_2(i,3)*one_over_8
353 IF(elbuf_tab(ng)%BUFLY(1)%L_SSP /= 0)
THEN
354 ssp = elbuf_tab(ng)%BUFLY(1)%LBUF(1,1,1)%SSP(i)
357 wwa(239551)= sqrt(vel(1)*vel(1)+vel(2)*vel(2)+vel(3)*vel(3))/ssp
363 s11 = gbuf%SIG(kk(1)+i)
364 s22 = gbuf%SIG(kk(2)+i)
365 s33 = gbuf%SIG(kk(3)+i)
366 s12 = gbuf%SIG(kk(4)+i)
367 s23 = gbuf%SIG(kk(5)+i)
368 s13 = gbuf%SIG(kk(6)+i)
370 IF (isvis == 1.AND. mte >=28 )
THEN
371 s11=s11 + lbuf%SIGV(kk(1)+i)
372 s22=s22 + lbuf%SIGV(kk(2)+i)
373 s33=s33 + lbuf%SIGV(kk(3)+i)
374 s12=s12 + lbuf%SIGV(kk(4)+i)
375 s23=s23 + lbuf%SIGV(kk(5)+i)
376 s13=s13 + lbuf%SIGV(kk(6)+i)
380 s11=s11 + lbuf%VISC(kk(1)+i)
381 s22=s22 + lbuf%VISC(kk(2)+i)
382 s33=s33 + lbuf%VISC(kk(3)+i)
383 s12=s12 + lbuf%VISC(kk(4)+i)
384 s23=s23 + lbuf%VISC(kk(5)+i)
385 s13=s13 + lbuf%VISC(kk(6)+i)
434 IF (igtyp == 43)
THEN
436 . x1, x2, x3, x4, x5, x6, x7, x8,
437 . y1, y2, y3, y4, y5, y6, y7, y8,
438 . z1, z2, z3, z4, z5, z6, z7, z8,
439 . r11, r12, r13, r21, r22, r23, r31, r32, r33)
441 IF( nfilsol /= 0 .AND. gbuf%G_FILL /= 0 )
THEN
442 s11 = s11 * gbuf%FILL(i)
443 s22 = s22 * gbuf%FILL(i)
444 s33 = s33 * gbuf%FILL(i)
445 s12 = s12 * gbuf%FILL(i)
446 s23 = s23 * gbuf%FILL(i)
447 s13 = s13 * gbuf%FILL(i)
456 l11=s11*r11+s12*r12+s13*r13
457 l12=s11*r21+s12*r22+s13*r23
458 l13=s11*r31+s12*r32+s13*r33
459 l21=s12*r11+s22*r12+s23*r13
460 l22=s12*r21+s22*r22+s23*r23
461 l23=s12*r31+s22*r32+s23*r33
462 l31=s13*r11+s23*r12+s33*r13
463 l32=s13*r21+s23*r22+s33*r23
464 l33=s13*r31+s23*r32+s33*r33
465 s11=r11*l11+r12*l21+r13*l31
466 s22=r21*l12+r22*l22+r23*l32
467 s33=r31*l13+r32*l23+r33*l33
468 s12=r11*l12+r12*l22+r13*l32
469 s23=r21*l13+r22*l23+r23*l33
470 s13=r11*l13+r12*l23+r13*l33
477 ELSEIF (khbe /= 24 .AND. khbe /= 14)
THEN
480 . x1, x2, x3, x4, x5, x6, x7, x8,
481 . y1, y2, y3, y4, y5, y6, y7, y8,
482 . z1, z2, z3, z4, z5, z6, z7, z8,
483 . r11, r12, r13, r21, r22, r23, r31, r32, r33)
487 . x1, x2, x3, x4, x5, x6, x7, x8,
488 . y1, y2, y3, y4, y5, y6, y7, y8,
489 . z1, z2, z3, z4, z5, z6, z7, z8,
490 . r11, r12, r13, r21, r22, r23, r31, r32, r33
497 g11=gbuf%GAMA(kk(1)+i)
498 g21=gbuf%GAMA(kk(2)+i)
499 g31=gbuf%GAMA(kk(3)+i)
500 g12=gbuf%GAMA(kk(4)+i)
501 g22=gbuf%GAMA(kk(5)+i)
502 g32=gbuf%GAMA(kk(6)+i)
507 cs = gbuf%GAMA(kk(1)+i)
508 sn = gbuf%GAMA(kk(2)+i)
520 t11=r11*g11+r12*g21+r13*g31
521 t12=r11*g12+r12*g22+r13*g32
522 t13=r11*g13+r12*g23+r13*g33
523 t21=r21*g11+r22*g21+r23*g31
524 t22=r21*g12+r22*g22+r23*g32
525 t23=r21*g13+r22*g23+r23*g33
526 t31=r31*g11+r32*g21+r33*g31
527 t32=r31*g12+r32*g22+r33*g32
528 t33=r31*g13+r32*g23+r33*g33
541 IF( nfilsol /= 0 .AND. gbuf%G_FILL /= 0 )
THEN
543 s22 = s22 * gbuf%FILL(i)
544 s33 = s33 * gbuf%FILL(i)
545 s12 = s12 * gbuf%FILL(i)
546 s23 = s23 * gbuf%FILL(i)
547 s13 = s13 * gbuf%FILL(i)
556 l11=s11*r11+s12*r12+s13*r13
557 l12=s11*r21+s12*r22+s13*r23
558 l13=s11*r31+s12*r32+s13*r33
559 l21=s12*r11+s22*r12+s23*r13
560 l22=s12*r21+s22*r22+s23*r23
561 l23=s12*r31+s22*r32+s23*r33
562 l31=s13*r11+s23*r12+s33*r13
563 l32=s13*r21+s23*r22+s33*r23
564 l33=s13*r31+s23*r32+s33*r33
565 s11=r11*l11+r12*l21+r13*l31
566 s22=r21*l12+r22*l22+r23*l32
567 s33=r31*l13+r32*l23+r33*l33
568 s12=r11*l12+r12*l22+r13*l32
570 s13=r11*l13+r12*l23+r13*l33
579 . x1, x2, x3, x4, x5, x6, x7, x8,
580 . y1, y2, y3, y4, y5, y6, y7, y8,
581 . z1, z2, z3, z4, z5, z6, z7, z8,
582 . r12, r13, r11, r22, r23, r21, r32, r33, r31)
584 g11=gbuf%GAMA(kk(1)+i)
585 g21=gbuf%GAMA(kk(2)+i)
586 g31=gbuf%GAMA(kk(3)+i)
587 g12=gbuf%GAMA(kk(4)+i)
588 g22=gbuf%GAMA(kk(5)+i)
589 g32=gbuf%GAMA(kk(6)+i)
596 l11=s11*g11+s12*g12+s13*g13
597 l12=s11*g21+s12*g22+s13*g23
598 l13=s11*g31+s12*g32+s13*g33
599 l21=s12*g11+s22*g12+s23*g13
600 l22=s12*g21+s22*g22+s23*g23
601 l23=s12*g31+s22*g32+s23*g33
602 l31=s13*g11+s23*g12+s33*g13
603 l32=s13*g21+s23*g22+s33*g23
604 l33=s13*g31+s23*g32+s33*g33
605 s11=g11*l11+g12*l21+g13*l31
606 s22=g21*l12+g22*l22+g23*l32
607 s33=g31*l13+g32*l23+g33*l33
608 s12=g11*l12+g12*l22+g13*l32
609 s23=g21*l13+g22*l23+g23*l33
610 s13=g11*l13+g12*l23+g13*l33
613 t11=r11*g11+r12*g21+r13*g31
614 t12=r11*g12+r12*g22+r13*g32
615 t13=r11*g13+r12*g23+r13*g33
616 t21=r21*g11+r22*g21+r23*g31
617 t22=r21*g12+r22*g22+r23*g32
618 t23=r21*g13+r22*g23+r23*g33
619 t31=r31*g11+r32*g21+r33*g31
620 t32=r31*g12+r32*g22+r33*g32
621 t33=r31*g13+r32*g23+r33*g33
633 IF( nfilsol /= 0 .AND. gbuf%G_FILL /= 0 )
THEN
634 s11 = s11 * gbuf%FILL(i)
635 s22 = s22 * gbuf%FILL(i)
636 s33 = s33 * gbuf%FILL(i)
637 s12 = s12 * gbuf%FILL(i)
638 s23 = s23 * gbuf%FILL(i)
639 s13 = s13 * gbuf%FILL(i)
648 l11=s11*r11+s12*r12+s13*r13
649 l12=s11*r21+s12*r22+s13*r23
650 l13=s11*r31+s12*r32+s13*r33
651 l21=s12*r11+s22*r12+s23*r13
652 l22=s12*r21+s22*r22+s23*r23
653 l23=s12*r31+s22*r32+s23*r33
654 l31=s13*r11+s23*r12+s33*r13
655 l32=s13*r21+s23*r22+s33*r23
656 l33=s13*r31+s23*r32+s33*r33
657 s11=r11*l11+r12*l21+r13*l31
658 s22=r21*l12+r22*l22+r23*l32
659 s33=r31*l13+r32*l23+r33*l33
660 s12=r11*l12+r12*l22+r13*l32
661 s23=r21*l13+r22*l23+r23*l33
662 s13=r11*l13+r12*l23+r13*l33
694 IF (jthe /= 0 .and. jlag > 0)
THEN
695 wwa(13) = gbuf%TEMP(i)
699 IF (elbuf_tab(ng)%BUFLY(il)%L_TEMP > 0)
THEN
700 DO it=1,elbuf_tab(ng)%BUFLY(il)%NPTT
703 wwa(13) = wwa(13)+elbuf_tab(ng)%BUFLY(il)%LBUF(ir,is,it)%TEMP(i)/nptg
713 wwa(12) = gbuf%PLA(i)
715 ELSEIF (mte == 3)
THEN
718 ELSEIF (mte == 4)
THEN
721 ELSEIF (mte == 5 .OR. mte == 41 .OR. mte == 97)
THEN
723 wwa(31)=gbuf%BFRAC(i)
724 ELSEIF (mte == 6)
THEN
728 ELSEIF (mte == 7.OR.mte == 8.OR.mte == 9)
THEN
731 ELSEIF (mte == 10)
THEN
734 ELSEIF (mte == 11)
THEN
738 ELSEIF (mte == 14)
THEN
742 wwa(15)=lbuf%DAM(kk(1)+i)
743 wwa(16)=lbuf%DAM(kk(2)+i)
744 wwa(17)=lbuf%DAM(kk(3)+i)
745 wwa(18)=lbuf%DAM(kk(4)+i)
746 wwa(34)=lbuf%DAM(kk(5)+i)
747 ELSEIF (mte == 16)
THEN
749! wwa(13)=lbuf%TEMP(i)
750 ELSEIF (mte == 17)
THEN
754 ELSEIF (mte == 18)
THEN
756 ELSEIF (mte == 20)
THEN
762 ELSEIF (mte == 22.OR.mte == 23)
THEN
764 ELSEIF (mte == 24)
THEN
765 wwa(15)=lbuf%DAM(kk(1)+i)
766 wwa(16)=lbuf%DAM(kk(2)+i)
767 wwa(17)=lbuf%DAM(kk(3)+i)
768 wwa(19)=lbuf%DAM(kk(1)+i)+lbuf%DAM(kk(2)+i)+lbuf%DAM(kk(3)+i)
769 wwa(20)=lbuf%SIGA(kk(1)+i)
770 wwa(21)=lbuf%SIGA(kk(2)+i)
771 wwa(22)=lbuf%SIGA(kk(3)+i)
772 wwa(23)=lbuf%CRAK(kk(1)+i)+lbuf%CRAK(kk(2)+i)+lbuf%CRAK(kk(3)+i)
775 wwa(239552)=lbuf%RK(i)
778 ELSEIF (mte == 25)
THEN
780 ELSEIF (mte == 26)
THEN
784 ELSEIF (mte == 32.OR.mte == 43)
THEN
787 ELSEIF (mte == 46.OR.mte == 47)
THEN
789 ELSEIF (mte == 49)
THEN
793 ELSEIF (mte == 28)
THEN
794 ELSEIF (mte == 33)
THEN
795 ELSEIF (mte == 51)
THEN
796 IF(gbuf%G_PLA>0) wwa(12)=gbuf%PLA(i)
798 IF(gbuf%G_EPSD>0) wwa(14)=gbuf%EPSD(i)
799 IF(gbuf%G_BFRAC>0)wwa(31)=gbuf%BFRAC(i)
800 IF(gbuf%G_EPSQ>0) wwa(30)=gbuf%EPSQ(i)
801 ELSEIF (mte == 59)
THEN
803 nfail = elbuf_tab(ng)%BUFLY(1)%NFAIL
806 fbuf => elbuf_tab(ng)%BUFLY(1)%FAIL(j,1,1)%FLOC(k)
809 var = fbuf%VAR((l-1)*nel+i)
810 wwa(136+l) =
max(wwa(136+l), var)
814 var =
max(wwa(15),wwa(16))
815 var =
max(wwa(17),var)
816 var =
max(wwa(18),var)
819 ELSEIF (mte == 83)
THEN
821 nuvar = elbuf_tab(ng)%BUFLY(1)%NVAR_MAT
823 mbuf => elbuf_tab(ng)%BUFLY(1)%MAT(j,1,1)
826 wwa(136+l) =
max(wwa(136+l), var)
829 ELSEIF (mte == 116)
THEN
830 wwa(12) = gbuf%PLA(i)
831 nuvar = elbuf_tab(ng)%BUFLY(1)%NVAR_MAT
833 mbuf => elbuf_tab(ng)%BUFLY(1)%MAT(j,1,1)
835 var = mbuf%VAR((l-1)*nel+i)
836 wwa(136+l) =
max(wwa(136+l), var)
839 ELSEIF (mte == 67)
THEN
843 ELSEIF (mte == 103)
THEN
848 ELSEIF (mte > 28)
THEN
849 IF (elbuf_tab(ng)%BUFLY(1)%L_PLA > 0)
THEN
855! wwa(13)=lbuf%TEMP(i)
864 nuvarth =
min(60,nuvar)
866 wwa(136+j)=mbuf%VAR((j-1)*nel+i)
873 IF(
ALLOCATED(multi_fvm%BFRAC))
THEN
875 DO ir=1,multi_fvm%NBMAT
876 bfrac =
max(bfrac, multi_fvm%BFRAC(ir,n))
881 wwa(239547)= multi_fvm%VEL(1, n)
882 wwa(239548)= multi_fvm%VEL(2, n)
883 wwa(239549)= multi_fvm%VEL(3, n)
885 wwa(239550)= multi_fvm%SOUND_SPEED(n)
887 wwa(239551)= sqrt(multi_fvm%VEL(1, n)*multi_fvm%VEL(1, n)+
888 . multi_fvm%VEL(2, n)*multi_fvm%VEL(2, n)+
889 . multi_fvm%VEL(3, n)*multi_fvm%VEL(3, n)) /
890 . multi_fvm%SOUND_SPEED(n)
896 IF(elbuf_tab(ng)%BUFLY(1)%L_SSP /= 0)
THEN
897 vel(1) = gbuf%MOM(i) / gbuf%RHO(i)
898 vel(2) = gbuf%MOM(nel + i) / gbuf%RHO(i)
899 vel(3) = gbuf%MOM(2*nel+ i) / gbuf%RHO(i)
904 wwa(239551)= sqrt(vel(1)*vel(1)+vel(2)*vel(2)+vel(3)*vel(3))/ssp
913 IF (gbuf%G_PLANL > 0)
THEN
914 nptg = nptr * npts * nptt
919 wwa(239553) = wwa(239553) + elbuf_tab(ng)%BUFLY(1)%LBUF(ir,is,it)%PLANL(i)/nptg
924 IF (gbuf%G_EPSDNL > 0)
THEN
925 nptg = nptr * npts * nptt
930 wwa(239554) = wwa(239554) + elbuf_tab(ng)%BUFLY(1)%LBUF(ir,is
937 rho0 = pm(01,ixs(1,nft+i))
939 wwa(239555) = elbuf_tab(ng)%GBUF%RHO(i) / rho0 - one
960 IF (isolnod == 4)
THEN
962 ELSEIF (isolnod == 10)
THEN
964 ELSEIF (isolnod == 8.AND. igtyp == 43)
THEN
969 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(ipt,1,1)
971 strain(j) = strain(j) + lbuf%EPE(kk(j)+i)/npt
975 wwa(239030 + 3) = strain(3)
976 wwa(239030 + 2) = strain(2)
977 wwa(239030 + 1) = strain(1)
986 CALL srota6(x,ixs(1,n),kcvt,strain,gama,khbe,igtyp,isorth)
989 wwa(1618 + j) = strain(j)
992 ELSEIF (isolnod==8 .AND. khbe/=14 .AND. khbe/=15 .AND. khbe/=17)
THEN
1000 IF (elbuf_tab(ng)%BUFLY(1)%L_SIGL > 0)
THEN
1002 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(ipt,1,1)
1012 wwa( 88+ipt) = lbuf%SIGL(kk(1)+i)
1013 wwa( 96+ipt) = lbuf%SIGL(kk(2)+i)
1014 wwa(104+ipt) = lbuf%SIGL(kk(3)+i)
1015 wwa(112+ipt) = lbuf%SIGL(kk(4)+i)
1016 wwa(120+ipt) = lbuf%SIGL(kk(5)+i)
1017 wwa(128+ipt) = lbuf%SIGL(kk(6)+i)
1019 ELSE IF(khbe == 12)
THEN
1021 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(1,1,ipt)
1022 wwa( 88+ipt) = lbuf%SIG(kk(1)+i)
1023 wwa( 96+ipt) = lbuf%SIG(kk(2)+i)
1024 wwa(104+ipt) = lbuf%SIG(kk(3)+i)
1025 wwa(112+ipt) = lbuf%SIG(kk(4)+i)
1026 wwa(120+ipt) = lbuf%SIG(kk(5)+i)
1027 wwa(128+ipt) = lbuf%SIG(kk(6)+i)
1031 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(1,1,ipt)
1032 wwa( 88+ipt) =wwa( 88+ipt) + lbuf%VISC(kk(1)+i)
1033 wwa( 96+ipt) =wwa( 96+ipt) + lbuf%VISC(kk(2)+i)
1034 wwa(104+ipt) =wwa(104+ipt) + lbuf%VISC(kk(3)+i
1035 wwa(112+ipt) =wwa(112+ipt) + lbuf%VISC(kk(4)+i)
1036 wwa(120+ipt) =wwa(120+ipt) + lbuf%VISC(kk(5)+i)
1037 wwa(128+ipt) =wwa(128+ipt) + lbuf%VISC(kk(6)+i)
1042 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(ipt,1,1)
1043 wwa( 88+ipt) = lbuf%SIG(kk(1)+i)
1044 wwa( 96+ipt) = lbuf%SIG(kk(2)+i)
1045 wwa(104+ipt) = lbuf%SIG(kk(3)+i)
1046 wwa(112+ipt) = lbuf%SIG(kk(4)+i)
1047 wwa(120+ipt) = lbuf%SIG(kk(5)+i)
1048 wwa(128+ipt) = lbuf%SIG(kk(6)+i)
1052 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(ipt,1,1)
1053 wwa( 88+ipt) =wwa( 88+ipt) + lbuf%VISC(kk(1)+i)
1054 wwa( 96+ipt) =wwa( 96+ipt) + lbuf%VISC(kk(2)+i)
1055 wwa(104+ipt) =wwa(104+ipt) + lbuf%VISC(kk(3)+i)
1056 wwa(112+ipt) =wwa(112+ipt) + lbuf%VISC(kk(4)+i)
1057 wwa(120+ipt) =wwa(120+ipt) + lbuf%VISC(kk(5)+i)
1058 wwa(128+ipt) =wwa(128+ipt) + lbuf%VISC(kk(6)+i)
1064 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(1,1,ipt)
1065 IF (elbuf_tab(ng)%BUFLY(1)%L_STRA > 0)
THEN
1066 strain(1) = strain(1) + lbuf%STRA(kk(1)+i)*one_over_8
1067 strain(2) = strain(2) + lbuf%STRA(kk(2)+i)*one_over_8
1068 strain(3) = strain(3) + lbuf%STRA(kk(3)+i)*one_over_8
1069 strain(4) = strain(4) + lbuf%STRA(kk(4)+i)*one_over_8
1070 strain(5) = strain(5) + lbuf%STRA(kk(5)+i)*one_over_8
1071 strain(6) = strain(6) + lbuf%STRA(kk(6)+i)*one_over_8
1076 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(ipt,1,1)
1077 IF (elbuf_tab(ng)%BUFLY(1)%L_STRA > 0)
THEN
1078 strain(1) = strain(1) + lbuf%STRA(kk(1)+i)*one_over_8
1079 strain(2) = strain(2) + lbuf%STRA(kk(2)+i)*one_over_8
1080 strain(3) = strain(3) + lbuf%STRA(kk(3)+i)*one_over_8
1081 strain(4) = strain(4) + lbuf%STRA(kk(4)+i)*one_over_8
1082 strain(5) = strain(5) + lbuf%STRA(kk(5)+i)*one_over_8
1083 strain(6) = strain(6) + lbuf%STRA(kk(6)+i)*one_over_8
1089 wwa(239030 + j) = strain(j)
1093 gama(1)=gbuf%GAMA(kk(1) + i)
1094 gama(2)=gbuf%GAMA(kk(2) + i)
1095 gama(3)=gbuf%GAMA(kk(3) + i)
1096 gama(4)=gbuf%GAMA(kk(4) + i)
1097 gama(5)=gbuf%GAMA(kk(5) + i)
1098 gama(6)=gbuf%GAMA(kk(6) + i)
1108 CALL srota6(x,ixs(1,n),kcvt,strain,gama,khbe,igtyp,isorth)
1111 wwa(1618 + j) = strain(j)
1114 wwa(1618 + 4) = strain(4)
1115 wwa(1618 + 5) = strain(6)
1116 wwa(1618 + 6) = strain(5)
1119 ELSEIF (npt == 1)
THEN
1124 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(1,1,1)
1125 IF (mte == 12 .OR. mte == 14)
THEN
1127 wwa(239030 + j) = lbuf%EPE(kk(j)+i)
1128 strain(j) = lbuf%EPE(kk(j)+i)
1130 ELSEIF (elbuf_tab(ng)%BUFLY(1)%L_STRA > 0)
THEN
1132 wwa(239030 + j) = lbuf%STRA(kk(j)+i)
1133 strain(j) = lbuf%STRA(kk(j)+i)
1136 wwa(239030 + j) = lbuf%STRA(kk(j)+i)*half
1137 strain(j) = lbuf%STRA(kk(j)+i)*half
1144 wwa(239030 + j) = strain(j)
1148 gama(1)=gbuf%GAMA(kk(1) + i)
1149 gama(2)=gbuf%GAMA(kk(2) + i)
1150 gama(3)=gbuf%GAMA(kk(3) + i)
1151 gama(4)=gbuf%GAMA(kk(4) + i)
1152 gama(5)=gbuf%GAMA(kk(5) + i)
1153 gama(6)=gbuf%GAMA(kk(6) + i)
1163 CALL srota6(x,ixs(1,n),kcvt,strain,gama,khbe,igtyp,isorth)
1166 wwa(1618 + j) = strain(j)
1169 wwa(1618 + 4) = strain(4)
1170 wwa(1618 + 5) = strain(6)
1171 wwa(1618 + 6) = strain(5)
1179 ELSEIF (tshell == 1)
THEN
1185 nptg = nptr * npts * nlay
1190 IF (mte == 12 .OR. mte == 14)
THEN
1192 evar_tmp(j) = lbuf%EPE(kk(j)+i)
1194 evar_tmp(3:6) = zero
1197 ipt = ir + ( (is-1) + (it-1)*npts )*nptr
1199 IF (ipt <= nptg .AND. ir <= nptr .AND. is <= npts .AND. it <= nlay)
THEN
1200 IF (elbuf_tab(ng)%BUFLY(it)%L_STRA > 0)
THEN
1201 lbuf => elbuf_tab(ng)%BUFLY(it)%LBUF(ir
1202 evar_tmp(1) = lbuf%STRA(kk(1)+i)
1203 evar_tmp(2) = lbuf%STRA(kk(2)+i)
1204 evar_tmp(3) = lbuf%STRA(kk(3)+i)
1205 evar_tmp(4) = lbuf%STRA(kk(4)+i)*half
1206 evar_tmp(5) = lbuf%STRA(kk(5)+i)*half
1207 evar_tmp(6) = lbuf%STRA(kk(6)+i)*half
1211 strain(j) = strain(j) + evar_tmp(j)/nptg
1216 IF (khbe == 14.AND.icsig
THEN
1221 gama(2)= lbuf%GAMA(kk(1)+i)
1222 gama(3)= lbuf%GAMA(kk(2)+i)
1236 gama(1)= lbuf%GAMA(kk(1)+i)
1237 gama(2)= lbuf%GAMA(kk(2)+i)
1252 gama(1)= lbuf%GAMA(kk(2)+i)
1254 gama(3)= lbuf%GAMA(kk(1)+i
1270 gama(1)=gbuf%GAMA(kk(1) + i)
1271 gama(2)=gbuf%GAMA(kk(2) + i)
1272 gama(3)=gbuf%GAMA(kk(3) + i)
1273 gama(4)=gbuf%GAMA(kk(4) + i)
1274 gama(5)=gbuf%GAMA(kk(5) + i)
1275 gama(6)=gbuf%GAMA(kk(6) + i)
1287 CALL srota6(x,ixs(1,n),kcvt,evar_tmp,gama,khbe,igtyp,isorth)
1290 evar(j) = evar(j) + evar_tmp(j)/nptg
1293 IF(igtyp == 22)
THEN
1295 mbuf => elbuf_tab(ng)%BUFLY(it)%MAT(ir,is,1)
1296 cpt=(it-1)*9*9*6+((ir-1)*9+is-1)*6
1298 wwa(98846+cpt+1) = lbuf%SIG(kk(1)+i)
1300 wwa(98846+cpt+2) = lbuf%SIG(kk(4)+i)
1302 wwa(98846+cpt+3) = lbuf%SIG(kk(6)+i)
1304 wwa(98846+cpt+4) = lbuf%SIG(kk(2)+i)
1306 wwa(98846+cpt+5) = lbuf%SIG(kk(5)+i)
1308 wwa(98846+cpt+6) = lbuf%SIG(kk(3)+i)
1310 wwa(98846+cpt+1)=wwa(98846+cpt+1) + lbuf%VISC(kk
1311 wwa(98846+cpt+2)=wwa(98846+cpt+2) + lbuf%VISC(kk(4)+i)
1312 wwa(98846+cpt+3)=wwa(98846+cpt+3) + lbuf%VISC(kk(6)+i)
1313 wwa(98846+cpt+4)=wwa
1314 wwa(98846+cpt+5)=wwa(98846+cpt+5) + lbuf%VISC
1315 wwa(98846+cpt+6)=wwa(98846+cpt+6) + lbuf%VISC(kk(3)+i)
1317 IF (mte == 12 .OR. mte == 14)
THEN
1318 wwa(1646+cpt+1) = lbuf%EPE(kk(1)+i)
1319 wwa(1646+cpt+2) = lbuf%EPE(kk(2)+i)
1320 wwa(1646+cpt+3) = lbuf%EPE(kk(3)+i)
1321 ELSEIF (elbuf_tab(ng)%BUFLY(it)%L_STRA > 0)
THEN
1322 wwa(1646+cpt+1) = lbuf%STRA(kk(1)+i)
1323 wwa(1646+cpt+2) = lbuf%STRA(kk(2)+i)
1324 wwa(1646+cpt+3) = lbuf%STRA(kk(3)+i)
1325 wwa(1646+cpt+4) = lbuf%STRA(kk(4)+i)*half
1326 wwa(1646+cpt+5) = lbuf%STRA(kk(5)+i)*half
1327 wwa(1646+cpt+6) = lbuf%STRA(kk(6)+i)*half
1329 wwa(1646+cpt+1) = zero
1330 wwa(1646+cpt+2) = zero
1331 wwa(1646+cpt+3) = zero
1332 wwa(1646+cpt+4) = zero
1333 wwa(1646+cpt+5) = zero
1334 wwa(1646+cpt+6) = zero
1340 mbuf => elbuf_tab(ng)%BUFLY(it)%MAT(ir,is,1)
1341 ipwwa = (ir-1)*3*9*7 + (it-1)*3*7 + (is-1)*7
1343 sigg(j) = lbuf%SIG(kk(j)+i)
1347 sigg(j) = sigg(j) + lbuf%VISC(kk(j)+i)
1357 IF (elbuf_tab(ng)%BUFLY(1)%L_PLA > 0)
THEN
1362 CALL srota6(x,ixs(1,n),kcvt,sigg,gama,khbe,igtyp,isorth)
1366 wwa(196+ipwwa +j) = sigg(j)
1369 wwa(196+ipwwa +7) = plag
1372 wwa(239060+ipwwa +j) = evar_tmp(j)
1377 wwa(196+cpt +1) = zero
1378 wwa(196+cpt +2) = zero
1379 wwa(196+cpt +3) = zero
1380 wwa(196+cpt +4) = zero
1381 wwa(196+cpt +5) = zero
1382 wwa(196+cpt +6) = zero
1384 wwa(1646+cpt+1) = zero
1385 wwa(1646+cpt+2) = zero
1386 wwa(1646+cpt+3) = zero
1387 wwa(1646+cpt+4) = zero
1388 wwa(1646+cpt+5) = zero
1389 wwa(1646+cpt+6) = zero
1391 wwa(120338+cpt+1)= zero
1392 wwa(120338+cpt+2)= zero
1393 wwa(120338+cpt+3)= zero
1394 wwa(120338+cpt+4)= zero
1395 wwa(120338+cpt+5)= zero
1396 wwa(120338+cpt+6)= zero
1404 wwa(239036+j) = strain(j)
1412 wwa(1618 + 4) = evar(4)
1413 wwa(1618 + 5) = evar(6)
1414 wwa(1618 + 6) = evar(5)
1417 ELSEIF (isolnod == 8.AND.(khbe == 14.OR.khbe == 17))
THEN
1434 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(ir,is,it)
1435 mbuf => elbuf_tab(ng)%BUFLY(1)%MAT(ir,is,it)
1438 ipt = ir + ( (is-1) + (it-1)*npts )*nptr
1440 ipwwa = (ir-1)*3*9*7 + (it-1)*3*7 + (is-1)*7
1441 iuwwa = (ir-1)*3*9*9 + (it-1)*3*9 + (is-1)*9
1445 sigp(itens,ispau,is)=lbuf%SIG(kk(itens)+i)
1446 sigg(itens) = lbuf%SIG(kk(itens)+i)
1451 sigp(itens,ispau,is)=sigp(itens,ispau,is) + lbuf%VISC(kk(itens)+i)
1459 sigp(7,ispau,is) = mbuf%VAR(i)
1464 nuvarth =
min(9,nuvar)
1466 wwa(889+j+iuwwa) = mbuf%VAR((j-1)*nel+i)
1469 nuvarth =
min(60,nuvar)
1471 user(j) = user(j) + mbuf%VAR(i + (j-1)*nel )/npt
1472 wwa(889 + j + iuwwa) = mbuf%VAR(i + (j-1)*nel )
1475 IF (elbuf_tab(ng)%BUFLY(1)%L_STRA > 0)
THEN
1476 evar_tmp(1) = lbuf%STRA(kk(1)+i)
1477 evar_tmp(2) = lbuf%STRA(kk(2)+i)
1478 evar_tmp(3) = lbuf%STRA(kk(3)+i)
1479 evar_tmp(4) = lbuf%STRA(kk(4)+i)*half
1480 evar_tmp(5) = lbuf%STRA(kk(5)+i)*half
1481 evar_tmp(6) = lbuf%STRA(kk(6)+i)*half
1484 IF (elbuf_tab(ng)%BUFLY(1)%L_PLA > 0)
THEN
1485 sigp(7,ispau,is) = lbuf%PLA(i)
1489 IF (mte == 12 .OR. mte == 14)
THEN
1491 evar_tmp(j) = lbuf%EPE(kk(j)+i)
1493 evar_tmp(3:6) = zero
1494 ELSEIF (elbuf_tab(ng)%BUFLY(1)%L_STRA > 0)
THEN
1495 evar_tmp(1) = lbuf%STRA(kk(1)+i)
1496 evar_tmp(2) = lbuf%STRA(kk(2)+i)
1497 evar_tmp(3) = lbuf%STRA(kk(3)+i)
1498 evar_tmp(4) = lbuf%STRA(kk(4)+i)*half
1499 evar_tmp(5) = lbuf%STRA(kk(5)+i)*half
1500 evar_tmp(6) = lbuf%STRA(kk(6)+i)*half
1506 strain(j) = strain(j) + evar_tmp(j)/nptg
1511 IF (khbe == 14.AND.icsig > 0)
THEN
1516 gama(2)= lbuf%GAMA(kk(1)+i)
1517 gama(3)= lbuf%GAMA(kk(2)+i)
1531 gama(1)= lbuf%GAMA(kk(1)+i)
1532 gama(2)= lbuf%GAMA(kk(2)+i)
1547 gama(1)= lbuf%GAMA(kk(2)+i)
1549 gama(3)= lbuf%GAMA(kk(1)+i)
1566 gama(1)=gbuf%GAMA(kk(1) + i)
1567 gama(2)=gbuf%GAMA(kk(2) + i)
1568 gama(3)=gbuf%GAMA(kk(3) + i)
1569 gama(4)=gbuf%GAMA(kk(4) + i)
1570 gama(5)=gbuf%GAMA(kk(5) + i)
1571 gama(6)=gbuf%GAMA(kk(6) + i)
1584 CALL srota6(x,ixs(1,n),kcvt,sigg ,gama,khbe,igtyp,isorth)
1585 CALL srota6(x,ixs(1,n),kcvt,evar_tmp,gama,khbe,igtyp,isorth)
1589 wwa(196+ipwwa+j) = sigg(j)
1592 wwa(196+ipwwa +7) = plag
1595 wwa(239060+ipwwa+j) = evar_tmp(j)
1599 evar(j) = evar(j) + evar_tmp(j)/nptg
1608 nuvarth =
min(60,nuvar)
1610 wwa(136 + j) = user(j)
1618 wwa(239030 + j) = strain(j)
1622 wwa(1618 + j) = evar(j)
1625 wwa(1618 + 4) = evar(4)
1626 wwa(1618 + 5) = evar(6)
1627 wwa(1618 + 6) = evar(5)
1641 IF (isolnod == 4)
THEN
1648 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(ipt,1,1)
1649 mbuf => elbuf_tab(ng)%BUFLY(1)%MAT(ipt,1,1)
1650 wwa(40+ipt)=lbuf%SIG(kk(1)+i)
1651 wwa(48+ipt)=lbuf%SIG(kk(2)+i)
1652 wwa(56+ipt)=lbuf%SIG(kk(3)+i)
1653 wwa(64+ipt)=lbuf%SIG(kk(4)+i)
1654 wwa(72+ipt)=lbuf%SIG(kk(5)+i)
1655 wwa(80+ipt)=lbuf%SIG(kk(6)+i)
1657 wwa(40+ipt)=wwa(40+ipt) + lbuf%VISC(kk(1)+i)
1658 wwa(48+ipt)=wwa(48+ipt) + lbuf%VISC(kk(2)+i)
1659 wwa(56+ipt)=wwa(56+ipt) + lbuf%VISC(kk(3)+i)
1660 wwa(64+ipt)=wwa(64+ipt) + lbuf%VISC(kk(4)+i)
1661 wwa(72+ipt)=wwa(72+ipt) + lbuf%VISC(kk(5)+i)
1662 wwa(80+ipt)=wwa(80+ipt) + lbuf%VISC(kk(6)+i)
1665 IF(mte == 12 .OR. mte == 14)
THEN
1667 strain(j) = strain(j) + lbuf%EPE(kk(j)+i)/npt
1669 wwa(239036+ipt)=lbuf%STRA(kk(1)+i)
1670 wwa(239040+ipt)=lbuf%STRA(kk(2)+i)
1671 wwa(239044+ipt)=lbuf%STRA(kk(3)+i)
1672 ELSEIF (elbuf_tab(ng)%BUFLY(1)%L_STRA > 0)
THEN
1674 strain(j)= strain(j) + lbuf%STRA(kk(j)+i)/npt
1677 wwa(239036+ipt)=lbuf%STRA(kk(1)+i)
1678 wwa(239040+ipt)=lbuf%STRA(kk(2)+i)
1679 wwa(239044+ipt)=lbuf%STRA(kk(3)+i)
1680 wwa(239048+ipt)=lbuf%STRA(kk(4)+i) *half
1681 wwa(239052+ipt)=lbuf%STRA(kk(5)+i) *half
1682 wwa(239056+ipt)=lbuf%STRA(kk(6)+i) *half
1689 wwa(1618 + j) = strain(j)
1692 wwa(1618 + 4) = strain(4)
1693 wwa(1618 + 5) = strain(6)
1694 wwa(1618 + 6) = strain(5)
1697 wwa(239030 + j) = strain(j)
1701 ELSEIF(isrot == 0)
THEN
1702 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(1,1,1)
1704 IF (mte == 12 .OR. mte == 14)
THEN
1706 strain(j) = lbuf%EPE(kk(j)+i)
1708 ELSEIF (elbuf_tab(ng)%BUFLY(1)%L_STRA > 0)
THEN
1710 strain(j) = lbuf%STRA(kk(j)+i)
1716 wwa(1618 + j) = strain(j)
1719 wwa(1618 + 4) = strain(4)
1720 wwa(1618 + 5) = strain(6)
1721 wwa(1618 + 6) = strain(5)
1724 wwa(239030 + j) = strain(j)
1729 ELSEIF (isolnod == 10)
THEN
1739 lbuf => elbuf_tab(ng
1740 mbuf => elbuf_tab(ng)%BUFLY(1)%MAT(ipt,1,1)
1741 wwa(40+ipt)=lbuf%SIG(kk(1)+i)
1742 wwa(48+ipt)=lbuf%SIG(kk(2)+i)
1743 wwa(56+ipt)=lbuf%SIG(kk(3)+i)
1744 wwa(64+ipt)=lbuf%SIG(kk(4)+i)
1745 wwa(72+ipt)=lbuf%SIG(kk(5)+i)
1746 wwa(80+ipt)=lbuf%SIG(kk(6)+i)
1748 wwa(40+ipt)=wwa(40+ipt) + lbuf%VISC(kk(1)+i)
1749 wwa(48+ipt)=wwa(48+ipt) + lbuf%VISC(kk(2)+i)
1750 wwa(56+ipt)=wwa(56+ipt) + lbuf%VISC(kk(3)+i)
1751 wwa(64+ipt)=wwa(64+ipt) + lbuf%VISC(kk(4)+i)
1752 wwa(72+ipt)=wwa(72+ipt) + lbuf%VISC(kk(5)+i)
1753 wwa(80+ipt)=wwa(80+ipt) + lbuf%VISC(kk(6)+i)
1756 nuvarth =
min(60,nuvar)
1759 . mbuf%VAR(i + (j-1)*nel )/npt
1761 IF (elbuf_tab(ng)%BUFLY(1)%L_STRA > 0)
THEN
1763 strain(j)= strain(j) + lbuf%STRA(kk(j)+i)/npt
1765 wwa(239036+ipt)=lbuf%STRA(kk(1)+i)
1766 wwa(239040+ipt)=lbuf%STRA(kk(2)+i)
1767 wwa(239044+ipt)=lbuf%STRA(kk(3)+i)
1768 wwa(239048+ipt)=lbuf%STRA(kk(4)+i) *half
1769 wwa(239052+ipt)=lbuf%STRA(kk(5)+i) *half
1770 wwa(239056+ipt)=lbuf%STRA(kk(6)+i) *half
1772 ELSEIF(mte == 12 .OR. mte == 14)
THEN
1776 wwa(239036+ipt)=lbuf%EPE(kk(1)+i)
1777 wwa(239040+ipt)=lbuf%EPE(kk(2)+i)
1778 wwa(239044+ipt)=lbuf%EPE(kk(3)+i)
1779 ELSEIF (elbuf_tab(ng)%BUFLY(1)%L_STRA > 0)
THEN
1781 strain(j) = strain(j) + lbuf%STRA(kk(j)+i)/nptg
1784 wwa(239036+ipt)=lbuf%STRA(kk(1)+i)
1785 wwa(239040+ipt)=lbuf%STRA(kk(2)+i)
1786 wwa(239044+ipt)=lbuf%STRA(kk(3)+i)
1787 wwa(239048+ipt)=lbuf%STRA(kk(4)+i) *half
1788 wwa(239052+ipt)=lbuf%STRA(kk(5)+i) *half
1789 wwa(239056+ipt)=lbuf%STRA(kk(6)+i) *half
1793 IF ( mte >= 28)
THEN
1795 nuvarth =
min(60,nuvar)
1803 wwa(1618 + j) = strain(j)
1806 wwa(1618 + 4) = strain(4)
1807 wwa(1618 + 5) = strain(6)
1808 wwa(1618 + 6) = strain(5)
1811 wwa(239030 + j) = strain(j)
1815 ELSEIF( isolnod == 16 .OR. isolnod == 20 .OR. (isolnod == 8.AND.(khbe == 14.OR.khbe == 17)))
THEN
1822 nptg=nptt*npts*nptr*nlay
1833 lbuf => elbuf_tab(ng)%BUFLY(il)%LBUF(ir,is,it
1834 mbuf => elbuf_tab(ng)%BUFLY(il)%MAT(ir,is,it)
1837 cpt=(it-1)*99*6+((ir-1)*9+is-1)*6
1839 ipt = ir + ( (is-1) + (it-1)*npts )*nptr
1840 ipwwa = (it-1)*3*9*7 + (is-1)*3*7 + (ir-1)*7
1841 iuwwa = (it-1)*3*9*9 + (is-1)*3*9 + (ir-1)*9
1842 IF(isolnod == 8)
THEN
1843 ipwwa = (ir-1)*3*9*7 + (it-1)*3*7 + (is-1)*7
1844 iuwwa = (ir-1)*3*9*9 + (it-1)*3*9 + (is-1)*9
1846 IF(isolnod == 16)
THEN
1847 ipt = ir + ( (il-1) + (it-1)*nlay )*nptr
1848 ipwwa = (it-1)*3*9*7 + (il-1)*3*7 + (ir-1)*7
1849 iuwwa = (it-1)*3*9*9 + (il-1)*3*9 + (ir-1)*9
1853 wwa(196+ipwwa+itens) = lbuf%SIG(kk(itens)+i)
1854 sigp(itens,ispau,is) = lbuf%SIG(kk(itens)+i)
1859 wwa(196+ipwwa+7) = mbuf%VAR(i)
1860 sigp(7,ispau,is) = mbuf%VAR(i)
1863 nuvarth =
min(9,nuvar)
1865 wwa(889 + j + iuwwa) = mbuf%VAR(i+(j-1)*nel)
1868 nuvarth =
min(60,nuvar)
1870 user(j) = user(j)+mbuf%VAR(i+(j-1)*nel)/nptg
1871 wwa(889+j+iuwwa) =mbuf%VAR(i+(j-1)*nel)
1873 IF (elbuf_tab(ng)%BUFLY(1)%L_STRA > 0)
THEN
1875 strain(j) = strain(j) + lbuf%STRA(kk(j)+i)/nptg
1876 wwa(239060+ipwwa+j)=lbuf%STRA(kk(j)+i)
1879 strain(j) = strain(j) + lbuf%STRA(kk(j)+i)*half/nptg
1880 wwa(239060+ipwwa+j)=lbuf%STRA(kk(j)+i) *half
1886 IF (elbuf_tab(ng)%BUFLY(1)%L_PLA > 0)
THEN
1887 wwa(196 + ipwwa + 7)=lbuf%PLA(i)
1888 sigp(7,ispau,is)= lbuf%PLA(i)
1890 IF (mte==12 .OR. mte == 14)
THEN
1892 strain(j) = strain(j) + lbuf%EPE(kk(j)+i)/nptg
1893 wwa(239060+ipwwa+j)=lbuf%EPE(kk(j)+i)
1895 ELSEIF (elbuf_tab(ng)%BUFLY(1)%L_STRA > 0)
THEN
1897 strain(j) = strain(j) + lbuf%STRA(kk(j)+i)/nptg
1898 wwa(239060+ipwwa+j)=lbuf%STRA(kk(j)+i)
1901 strain(j) = strain(j) + lbuf%STRA(kk(j)+i)*half/nptg
1902 wwa(239060+ipwwa+j)=lbuf%STRA
1915 nuvarth =
min(60,nuvar)
1917 wwa(136 + j) = user(j)
1923 gama(1)=gbuf%GAMA(kk(1) + i
1924 gama(2)=gbuf%GAMA(kk(2) + i)
1925 gama(3)=gbuf%GAMA(kk(3) + i
1927 gama(5)=gbuf%GAMA(kk(5) + i)
1928 gama(6)=gbuf%GAMA(kk(6) + i)
1929 CALL srota6(x,ixs(1,n),2,strain,gama,khbe,igtyp,isorth)
1933 wwa(239030 + j) = strain(j)
1937 wwa(1618 + j) = strain(j)
1940 wwa(1618 + 4) = strain(4)
1941 wwa(1618 + 5) = strain(6)
1942 wwa(1618 + 6) = strain(5)
1946 IF(isolnod == 16 )
THEN
1958 ipwwa = (it-1)*3*7 + (ir-1)*7
1960 wwa(826+itens+ipwwa) = sigp(itens,ispau,1)
1961 wwa(763+itens+ipwwa) = sigp(itens,ispau,npts)
1971 ipwwa = (it-1)*3*7 + (ir-1)*7
1974 wwa(826+itens+ipwwa) = sigp(itens,ispau,1)
1975 . +(sigp(itens,ispau,2)-sigp(itens,ispau,1))
1976 . *(-1 - a_gauss(1,nptl))
1977 . /(a_gauss(2,nptl)-a_gauss(1,nptl))
1979 wwa(763+itens+ipwwa)= sigp(itens,ispau,nptl-1)
1980 . +(sigp(itens,ispau,nptl)
1981 . - sigp(itens,ispau,nptl-1))
1982 . *(1 - a_gauss(nptl-1,nptl))
1983 . /(a_gauss(nptl,nptl)-a_gauss(nptl-1,nptl))
1993 ipwwa = (it-1)*3*7 + (ir-1)*7
1997 . = sigp(itens,ispau,1)
1998 . +(sigp(itens,ispau,2)-sigp(itens,ispau,1))
1999 . *(-1 - a_gauss(1,nptl))
2000 . /(a_gauss(2,nptl)-a_gauss(1,nptl))
2002 wwa(763 + itens + ipwwa)
2003 . = sigp(itens,ispau,1)
2004 . +(sigp(itens,ispau,2)-sigp
2005 . *(1 - a_gauss(1,nptl))
2006 . /(a_gauss(2,nptl)-a_gauss(1,nptl))
2016 ELSEIF ((isolnod==6 .OR. isolnod==8) .AND. khbe==15)
THEN
2028 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(ipt,1,1)
2029 mbuf => elbuf_tab(ng)%BUFLY(1)%MAT(ipt,1,1)
2035 wwa(196+ipwwa+itens)=lbuf%SIG(kk(itens)+i)
2036 sigp(itens,1,ipt)= lbuf%SIG(kk(itens)+i)
2040 wwa(196+ipwwa+itens)= wwa(196+ipwwa+itens) + lbuf%VISC(kk(itens)+i)
2041 sigp(itens,1,ipt)= sigp(itens,1,ipt)+ lbuf%VISC(kk(itens)+i)
2047 wwa(196+ipwwa+7) = mbuf%VAR(i)
2048 sigp(7, 1 ,ipt)= mbuf%VAR(i)
2051 nuvarth =
min(9,nuvar)
2053 wwa(889 + j + iuwwa) = mbuf%VAR(i + (j-1)*nel )
2056 nuvarth =
min(60,nuvar)
2058 user(j) = user(j) + mbuf%VAR(i+(j-1)*nel)/npt
2059 wwa(889+j+iuwwa) = mbuf%VAR(i+(j-1)*nel)
2061 IF (elbuf_tab(ng)%BUFLY(1)%L_STRA > 0)
THEN
2063 strain(j) = strain(j) + lbuf%STRA(kk(j)+i)/npt
2064 wwa(239060+ipwwa+j)=lbuf%STRA(kk(j)+i)
2067 strain(j) = strain(j) + lbuf%STRA(kk(j)+i)*half/npt
2068 wwa(239060+ipwwa+j)=lbuf%STRA(kk(j)+i)*half
2072 IF (elbuf_tab(ng)%BUFLY(1)%L_PLA > 0)
THEN
2073 wwa(196 + ipwwa + 7)= lbuf%PLA(i)
2074 sigp(7, 1 ,ipt) = lbuf%PLA(i)
2076 IF (mte == 12 .OR. mte == 14)
THEN
2078 strain(j) = strain(j) + lbuf%EPE(kk(j)+i)/npt
2079 wwa(239060+ipwwa+j)=lbuf%EPE(kk(j)+i)
2081 ELSEIF (elbuf_tab(ng)%BUFLY(1)%L_STRA > 0)
THEN
2083 strain(j) = strain(j) + lbuf%STRA(kk(j)+i)/npt
2084 wwa(239060+ipwwa+j)=lbuf%STRA(kk(j)+i)
2087 strain(j) = strain(j) + lbuf%STRA(kk(j)+i)*half/npt
2088 wwa(239060+ipwwa+j)=lbuf%STRA(kk(j)+i)*half
2096 nuvarth =
min(60,nuvar)
2098 wwa(136 + j) = user(j)
2103 wwa(1618 + j) = strain(j)
2106 wwa(1618 + 4) = strain(4)
2107 wwa(1618 + 5) = strain(6)
2108 wwa(1618 + 6) = strain(5)
2111 wwa(239030 + j) = strain(j)
2117 wwa(826+itens + ipwwa) = sigp(itens,1,1)
2118 . +(sigp(itens,1,2)-sigp(itens,1,1))
2119 . *(-1 - a_gauss(1,npts))
2120 . /(a_gauss(2,npts)-a_gauss(1,npts))
2122 . +(sigp(itens,1,npts)
2123 . - sigp(itens,1,npts-1))
2124 . *(1 - a_gauss(npts-1,npts))
2125 . /(a_gauss(npts,npts)-a_gauss(npts-1,npts))
2130 wwa(826+itens+ipwwa) = sigp(itens,1,1)
2131 . +(sigp(itens,1,2)-sigp(itens,1,1))
2132 . *(-1 - a_gauss(1,npts))
2133 . /(a_gauss(2,npts)-a_gauss(1,npts))
2134 wwa(763 + itens + ipwwa) = sigp(itens,1,1)
2135 . +(sigp(itens,1,2)-sigp(itens,1,1))
2136 . *(1 - a_gauss(1,npts))
2137 . /(a_gauss(2,npts)-a_gauss(1,npts))
2141 ELSEIF (isolnod == 8.AND.khbe /= 14.AND.khbe /= 24)
THEN
2145 nlay = elbuf_tab(ng)%NLAY
2146 nptr = elbuf_tab(ng)%NPTR
2147 npts = elbuf_tab(ng)%NPTS
2148 nptt = elbuf_tab(ng)%NPTT
2149 npt = nptr * npts * nptt * nlay
2153 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(ir,is,it)
2154 mbuf => elbuf_tab(ng)%BUFLY(1)%MAT(ir
2155 ipt = ir + ( (is-1) + (it-1)*npts )*nptr
2156 wwa(40+ipt)=lbuf%SIG(kk(1)+i)
2157 wwa(48+ipt)=lbuf%SIG(kk(2)+i)
2158 wwa(56+ipt)=lbuf%SIG(kk(3)+i)
2159 wwa(64+ipt)=lbuf%SIG(kk(4)+i)
2160 wwa(72+ipt)=lbuf%SIG(kk(5)+i)
2161 wwa(80+ipt)=lbuf%SIG(kk(6)+i)
2163 wwa(40+ipt)=wwa(40+ipt) + lbuf%VISC(kk(1)+i)
2164 wwa(48+ipt)=wwa(48+ipt) + lbuf%VISC(kk(2)+i)
2165 wwa(56+ipt)=wwa(56+ipt) + lbuf%VISC(kk(3)+i)
2166 wwa(64+ipt)=wwa(64+ipt) + lbuf%VISC(kk(4)+i)
2167 wwa(72+ipt)=wwa(72+ipt) + lbuf%VISC(kk(5)+i)
2168 wwa(80+ipt)=wwa(80+ipt) + lbuf%VISC(kk(6)+i)
2171 ipwwa = (it-1)*3*9*7 + (is-1)*3*7 + (ir-1)*7
2172 iuwwa = (it-1)*3*9*9 + (is-1)*3*9 + (ir-1)*9
2175 wwa(196+ipwwa+itens)=lbuf%SIG(kk(itens)+i)
2180 wwa(196+ipwwa+itens)=wwa(196+ipwwa+itens) + lbuf%VISC(kk(itens)+i)
2183 IF (elbuf_tab(ng)%BUFLY(1)%L_PLA > 0)
2184 . wwa(196+ipwwa+ 7 ) = lbuf%PLA(i)
2187 wwa(196+ipwwa+ 7 ) = mbuf%VAR(i)
2190 nuvarth =
min(9,nuvar)
2192 wwa(889 + iuwwa + j) = mbuf%VAR(i+(j-1)*nel)
2194 IF (elbuf_tab(ng)%BUFLY(1)%L_STRA > 0)
THEN
2195 strain(1)=strain(1) + lbuf%STRA(kk(1)+i)*one_over_8
2196 strain(2)=strain(2) + lbuf%STRA(kk(2)+i)*one_over_8
2197 strain(3)=strain(3) + lbuf%STRA(kk(3)+i)*one_over_8
2198 strain(4)=strain(4) + lbuf%STRA(kk(4)+i)*one_over_8
2199 strain(5)=strain(5) + lbuf%STRA(kk(5)+i)*one_over_8
2200 strain(6)=strain(6) + lbuf%STRA(kk(6)+i)*one_over_8
2207 ELSEIF(npt == 1)
THEN
2208 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(1,1,1)
2210 IF (mte == 12 .OR. mte == 14)
THEN
2212 strain(j) = lbuf%EPE(kk(j)+i)
2215 ELSEIF (elbuf_tab(ng)%BUFLY(1)%L_STRA > 0)
THEN
2217 strain(j) = lbuf%STRA(kk(j)+i)
2220 strain(j) = lbuf%STRA(kk(j)+i) *half
2227 gama(1)=gbuf%GAMA(kk(1) + i)
2228 gama(2)=gbuf%GAMA(kk(2) + i)
2229 gama(3)=gbuf%GAMA(kk(3) + i)
2230 gama(4)=gbuf%GAMA(kk(4) + i)
2231 gama(5)=gbuf%GAMA(kk(5) + i)
2232 gama(6)=gbuf%GAMA(kk(6) + i)
2234 1 x , ixs(1,n), 2 , strain,
2235 2 gama, khbe , igtyp, isorth)
2238 wwa(239030 + j) = strain(j)
2242 wwa(1618 + j) = strain(j)
2245 wwa(1618 + 4) = strain(4)
2246 wwa(1618 + 5) = strain(6)
2247 wwa(1618 + 6) = strain(5)
2253 DO l=iadv,iadv+nvar-1