40 SUBROUTINE thsol(ELBUF_TAB, NTHGRP2, ITHGRP ,
41 . IPARG , ITHBUF , WA ,
42 . IXS , X , IPM , PM , IGEO,
43 . MULTI_FVM, V , W ,ITHERM ,
44 . NUMELS , NUMMAT , NUMGEO , NUMNOD, SITHBUF)
115 use element_mod ,
only : nixs
119#include "implicit_f.inc"
123#include "vect01_c.inc"
124#include "com01_c.inc"
126#include "param_c.inc"
127#include "mvsiz_p.inc"
131 INTEGER,
INTENT(IN) :: IPARG(NPARG,NGROUP),IXS(NIXS,NUMELS), IPM(NPROPMI,NUMMAT),IGEO(NPROPGI,NUMGEO)
132 INTEGER,
INTENT(IN) :: NTHGRP2, NUMELS, NUMMAT, NUMGEO, NUMNOD, SITHBUF
133 INTEGER,
INTENT(IN) :: ITHBUF(SITHBUF)
134 INTEGER,
INTENT(IN):: ITHERM
135 INTEGER,
DIMENSION(NITHGR,*),
INTENT(IN) :: ITHGRP
137 my_real,
INTENT(IN) :: x(3,numnod) ,pm(npropm,nummat)
138 TYPE (ELBUF_STRUCT_),
DIMENSION(NGROUP),
TARGET :: ELBUF_TAB
139 TYPE(multi_fvm_struct),
INTENT(IN) :: MULTI_FVM
143 INTEGER II,I,J,JJ,K,L,N, IH, NG, MTE,NEL,
144 . NUVAR, IP,IPT,ISOLNOD,ITENS,IPWWA,ISPAU,IUWWA,
145 . IT,IR,IS,J1,J2,J3,NPTG,NPTR,NPTT,NPTS,NLAY,NFAIL,NVARF,
146 . NC1,NC2,NC3,NC4,NC5,NC6,NC7,NC8,KHBE,KCVT,NUVARTH,
147 . cpt,pid,isvis,tshell,tsh_ort,icsig,ivisc,nptl,il,kk(6)
148 INTEGER :: NITER,IADB,NN,IADV,NVAR,ITYP,IJK,IS_ALE
151 . S11,S22,S33,S12,S23,S13,
152 . r11,r22,r33,r12,r21,r23,r32,r13,r31,
153 . g11,g22,g33,g12,g21,g23,g32,g13,g31,
154 . t11,t22,t33,t12,t21,t23,t32,t13,t31,
155 . l11,l22,l33,l12,l21,l23,l32,l13,l31,
156 . x1,y1,z1,x2,y2,z2,x3,y3,z3,x4,y4,z4,
157 . x5,y5,z5,x6,y6,z6,x7,y7,z7,x8,y8,z8, cs,sn,var,plag
159 . a_gauss(9,9),sigp(7,81,9), user(100),
160 . strain(6),gama(6),evar_tmp(6),evar(6),sigg(6),
161 . vel(3),v(3,*),w(3,*),tmp_2(mvsiz,3),bfrac,ssp
162 my_real,
DIMENSION(:),
ALLOCATABLE :: wwa
165 TYPE(l_bufel_) ,
POINTER :: LBUF
166 TYPE(g_bufel_) ,
POINTER :: GBUF
167 TYPE(buf_mat_) ,
POINTER :: MBUF
168 TYPE(FAIL_LOC_),
POINTER :: FBUF
174 2 -.577350269189626,0.577350269189626,0. ,
177 3 -.774596669241483,0. ,0.774596669241483,
180 4 -.861136311594053,-.339981043584856,0.339981043584856,
181 4 0.861136311594053,0. ,0. ,
183 5 -.906179845938664,-.538469310105683,0. ,
184 5 0.538469310105683,0.906179845938664,0. ,
186 6 -.932469514203152,-.661209386466265,-.238619186083197,
187 6 0.238619186083197,0.661209386466265,0.932469514203152,
189 7 -.949107912342759,-.741531185599394,-.405845151377397,
190 7 0. ,0.405845151377397,0.741531185599394,
191 7 0.949107912342759,0. ,0. ,
192 8 -.960289856497536,-.796666477413627,-.525532409916329,
193 8 -.183434642495650,0.183434642495650,0.525532409916329,
194 8 0.796666477413627,0.960289856497536,0. ,
195 9 -.968160239507626,-.836031107326636,-.613371432700590,
196 9 -.324253423403809,0. ,0.324253423403809,
197 9 0.613371432700590,0.836031107326636,0.968160239507626/
201 ALLOCATE(wwa(239555))
207 iadb =ithgrp(5,niter)
217 sigp(j1,j2,j3) = zero
225 DO WHILE((ithbuf(ih+nn) /= ispmd).AND.(ih < iadb+nn))
228 IF (ih >= iadb+nn)
GOTO 666
237 IF (ity == ityp)
THEN
238 gbuf => elbuf_tab(ng)%GBUF
239 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(1,1,1)
240 mbuf => elbuf_tab(ng)%BUFLY(1)%MAT(1,1,1)
241 nlay = elbuf_tab(ng)%NLAY
242 nptr = elbuf_tab(ng)%NPTR
243 npts = elbuf_tab(ng)%NPTS
244 nptt = elbuf_tab(ng)%NPTT
245 nptg = nptr * npts * nptt
249 2 mte ,nel ,nft ,iad ,ity ,
250 3 npt ,jale ,ismstr ,jeul ,jtur ,
251 4 jthe ,jlag ,jmult ,khbe ,jivf ,
252 5 nvaux ,jpor ,kcvt ,jclose
253 6 irep ,iint ,igtyp ,israt ,isrot ,
254 7 icsen ,isorth ,isorthg ,ifailure,jsms )
257 IF (igtyp==20 .OR. igtyp==21 .OR. igtyp==22) tshell = 1
258 IF (igtyp==21 .OR. igtyp==22) tsh_ort = 1
265 IF (mte /= 0 .AND. mte /= 13)
THEN
273 IF (kcvt == 0 .AND. isorth > 0) kcvt=-1
274 IF (kcvt == 1 .AND. isorth > 0) kcvt= 2
275 IF (mte >=28) nuvar = ipm(8,ixs(1,nft+1))
277 IF(is_ale > 0 .AND. is_ale /= 3)
THEN
279 tmp_2(1:mvsiz,1:3) = zero
282 node = ixs(j+1,i+nft)
283 IF(node > 0 .AND. node <= numnod)
THEN
284 tmp_2(i,1)=tmp_2(i,1) + v(1,ixs(j+1,i+nft))-w(1,ixs(j+1,i+nft))
285 tmp_2(i,2)=tmp_2(i,2) + v(2,ixs(j+1,i+nft))-w(2,ixs(j+1,i+nft))
286 tmp_2(i,3)=tmp_2(i,3) + v(3,ixs(j+1,i+nft))-w(3,ixs(j+1,i+nft))
292 tmp_2(1:mvsiz,1:3) = zero
295 node = ixs(j+1,i+nft)
296 IF(node > 0 .AND. node <= numnod)
THEN
297 tmp_2(i,1)=tmp_2(i,1)+v(1,ixs(j+1,i+nft))
298 tmp_2(i,2)=tmp_2(i,2)+v(2,ixs(j+1,i+nft))
299 tmp_2(i,3)=tmp_2(i,3)+v(3,ixs(j+1,i+nft))
319 ii = ((ih-1) - iadb)*nvar
320 DO WHILE((ithbuf(ih+nn) /= ispmd) .AND. (ih < iadb+nn))
324 IF (ih > iadb+nn)
GOTO 666
330 wwa(8) = gbuf%EINT(i)
332 IF( nfilsol /= 0 .AND. gbuf%G_FILL /= 0 )
THEN
333 wwa(8) = wwa(8) * gbuf%FILL(i)
337 IF (gbuf%G_QVIS > 0) wwa(10)= gbuf%QVIS(i)
339 IF(jlag==1 .AND. gbuf%RHO(i)>zero)
THEN
340 wwa(11)=gbuf%VOL(i) * pm(89,ixs(1,nft+i))/gbuf%RHO(i)
347 vel(1) = tmp_2(i,1)*one_over_8
348 vel(2) = tmp_2(i,2)*one_over_8
349 vel(3) = tmp_2(i,3)*one_over_8
355 IF(elbuf_tab(ng)%BUFLY(1)%L_SSP /= 0)
THEN
356 ssp = elbuf_tab(ng)%BUFLY(1)%LBUF(1,1,1)%SSP(i)
359 wwa(239551)= sqrt(vel(1)*vel(1)+vel(2)*vel(2)+vel(3)*vel(3))/ssp
365 s11 = gbuf%SIG(kk(1)+i)
366 s22 = gbuf%SIG(kk(2)+i)
367 s33 = gbuf%SIG(kk(3)+i)
368 s12 = gbuf%SIG(kk(4)+i)
369 s23 = gbuf%SIG(kk(5)+i)
370 s13 = gbuf%SIG(kk(6)+i)
372 IF (isvis == 1.AND. mte >=28 )
THEN
373 s11=s11 + lbuf%SIGV(kk(1)+i)
374 s22=s22 + lbuf%SIGV(kk(2)+i)
375 s33=s33 + lbuf%SIGV(kk(3)+i)
376 s12=s12 + lbuf%SIGV(kk(4)+i)
377 s23=s23 + lbuf%SIGV(kk(5)+i)
378 s13=s13 + lbuf%SIGV(kk(6)+i)
382 s11=s11 + lbuf%VISC(kk(1)+i)
383 s22=s22 + lbuf%VISC(kk(2)+i)
384 s33=s33 + lbuf%VISC(kk(3)+i)
385 s12=s12 + lbuf%VISC(kk(4)+i)
386 s23=s23 + lbuf%VISC(kk(5)+i)
387 s13=s13 + lbuf%VISC(kk(6)+i)
436 IF (igtyp == 43)
THEN
438 . x1, x2, x3, x4, x5, x6, x7, x8,
439 . y1, y2, y3, y4, y5, y6, y7, y8,
440 . z1, z2, z3, z4, z5, z6, z7, z8,
441 . r11, r12, r13, r21, r22, r23, r31, r32, r33)
443 IF( nfilsol /= 0 .AND. gbuf%G_FILL /= 0 )
THEN
444 s11 = s11 * gbuf%FILL(i)
445 s22 = s22 * gbuf%FILL(i)
446 s33 = s33 * gbuf%FILL(i)
447 s12 = s12 * gbuf%FILL(i)
448 s23 = s23 * gbuf%FILL(i)
449 s13 = s13 * gbuf%FILL(i)
458 l11=s11*r11+s12*r12+s13*r13
459 l12=s11*r21+s12*r22+s13*r23
460 l13=s11*r31+s12*r32+s13*r33
461 l21=s12*r11+s22*r12+s23*r13
462 l22=s12*r21+s22*r22+s23*r23
463 l23=s12*r31+s22*r32+s23*r33
464 l31=s13*r11+s23*r12+s33*r13
465 l32=s13*r21+s23*r22+s33*r23
466 l33=s13*r31+s23*r32+s33*r33
467 s11=r11*l11+r12*l21+r13*l31
468 s22=r21*l12+r22*l22+r23*l32
469 s33=r31*l13+r32*l23+r33*l33
470 s12=r11*l12+r12*l22+r13*l32
471 s23=r21*l13+r22*l23+r23*l33
479 ELSEIF (khbe /= 24 .AND. khbe
THEN
482 . x1, x2, x3, x4, x5, x6, x7, x8,
483 . y1, y2, y3, y4, y5, y6, y7, y8,
484 . z1, z2, z3, z4, z5, z6, z7, z8,
485 . r11, r12, r13, r21, r22, r23, r31, r32, r33)
489 . x1, x2, x3, x4, x5, x6, x7, x8,
490 . y1, y2, y3, y4, y5, y6, y7, y8,
491 . z1, z2, z3, z4, z5, z6, z7, z8,
492 . r11, r12, r13, r21, r22, r23, r31, r32, r33)
499 g11=gbuf%GAMA(kk(1)+i)
500 g21=gbuf%GAMA(kk(2)+i)
501 g31=gbuf%GAMA(kk(3)+i)
502 g12=gbuf%GAMA(kk(4)+i)
503 g22=gbuf%GAMA(kk(5)+i)
504 g32=gbuf%GAMA(kk(6)+i)
509 cs = gbuf%GAMA(kk(1)+i)
510 sn = gbuf%GAMA(kk(2)+i)
522 t11=r11*g11+r12*g21+r13*g31
523 t12=r11*g12+r12*g22+r13*g32
524 t13=r11*g13+r12*g23+r13*g33
525 t21=r21*g11+r22*g21+r23*g31
526 t22=r21*g12+r22*g22+r23*g32
527 t23=r21*g13+r22*g23+r23*g33
528 t31=r31*g11+r32*g21+r33*g31
529 t32=r31*g12+r32*g22+r33*g32
530 t33=r31*g13+r32*g23+r33*g33
543 IF( nfilsol /= 0 .AND. gbuf%G_FILL /= 0 )
THEN
544 s11 = s11 * gbuf%FILL(i)
545 s22 = s22 * gbuf%FILL(i)
546 s33 = s33 * gbuf%FILL(i)
547 s12 = s12 * gbuf%FILL(i)
548 s23 = s23 * gbuf%FILL(i)
549 s13 = s13 * gbuf%FILL(i)
558 l11=s11*r11+s12*r12+s13*r13
559 l12=s11*r21+s12*r22+s13*r23
560 l13=s11*r31+s12*r32+s13*r33
561 l21=s12*r11+s22*r12+s23*r13
562 l22=s12*r21+s22*r22+s23*r23
563 l23=s12*r31+s22*r32+s23*r33
564 l31=s13*r11+s23*r12+s33*r13
565 l32=s13*r21+s23*r22+s33*r23
566 l33=s13*r31+s23*r32+s33*r33
567 s11=r11*l11+r12*l21+r13*l31
568 s22=r21*l12+r22*l22+r23*l32
569 s33=r31*l13+r32*l23+r33*l33
570 s12=r11*l12+r12*l22+r13*l32
571 s23=r21*l13+r22*l23+r23*l33
572 s13=r11*l13+r12*l23+r13*l33
581 . x1, x2, x3, x4, x5, x6, x7, x8,
582 . y1, y2, y3, y4, y5, y6, y7, y8,
583 . z1, z2, z3, z4, z5, z6, z7, z8,
584 . r12, r13, r11, r22, r23, r21, r32, r33, r31)
586 g11=gbuf%GAMA(kk(1)+i)
587 g21=gbuf%GAMA(kk(2)+i)
588 g31=gbuf%GAMA(kk(3)+i)
589 g12=gbuf%GAMA(kk(4)+i)
590 g22=gbuf%GAMA(kk(5)+i)
591 g32=gbuf%GAMA(kk(6)+i)
598 l11=s11*g11+s12*g12+s13*g13
599 l12=s11*g21+s12*g22+s13*g23
600 l13=s11*g31+s12*g32+s13*g33
601 l21=s12*g11+s22*g12+s23*g13
602 l22=s12*g21+s22*g22+s23*g23
603 l23=s12*g31+s22*g32+s23*g33
604 l31=s13*g11+s23*g12+s33*g13
605 l32=s13*g21+s23*g22+s33*g23
606 l33=s13*g31+s23*g32+s33*g33
607 s11=g11*l11+g12*l21+g13*l31
608 s22=g21*l12+g22*l22+g23*l32
609 s33=g31*l13+g32*l23+g33*l33
610 s12=g11*l12+g12*l22+g13*l32
611 s23=g21*l13+g22*l23+g23*l33
612 s13=g11*l13+g12*l23+g13*l33
615 t11=r11*g11+r12*g21+r13*g31
616 t12=r11*g12+r12*g22+r13*g32
617 t13=r11*g13+r12*g23+r13*g33
618 t21=r21*g11+r22*g21+r23*g31
619 t22=r21*g12+r22*g22+r23*g32
620 t23=r21*g13+r22*g23+r23*g33
621 t31=r31*g11+r32*g21+r33*g31
622 t32=r31*g12+r32*g22+r33*g32
623 t33=r31*g13+r32*g23+r33*g33
635 IF( nfilsol /= 0 .AND. gbuf%G_FILL /= 0 )
THEN
636 s11 = s11 * gbuf%FILL(i)
637 s22 = s22 * gbuf%FILL(i)
638 s33 = s33 * gbuf%FILL(i)
639 s12 = s12 * gbuf%FILL(i)
640 s23 = s23 * gbuf%FILL(i)
641 s13 = s13 * gbuf%FILL(i)
650 l11=s11*r11+s12*r12+s13*r13
651 l12=s11*r21+s12*r22+s13*r23
652 l13=s11*r31+s12*r32+s13*r33
653 l21=s12*r11+s22*r12+s23*r13
654 l22=s12*r21+s22*r22+s23*r23
655 l23=s12*r31+s22*r32+s23*r33
656 l31=s13*r11+s23*r12+s33*r13
657 l32=s13*r21+s23*r22+s33*r23
658 l33=s13*r31+s23*r32+s33*r33
659 s11=r11*l11+r12*l21+r13*l31
660 s22=r21*l12+r22*l22+r23*l32
661 s33=r31*l13+r32*l23+r33*l33
662 s12=r11*l12+r12*l22+r13*l32
663 s23=r21*l13+r22*l23+r23*l33
664 s13=r11*l13+r12*l23+r13*l33
696 IF (jthe /= 0 .and. jlag > 0)
THEN
697 wwa(13) = gbuf%TEMP(i)
701 IF (elbuf_tab(ng)%BUFLY(il)%L_TEMP > 0)
THEN
702 DO it=1,elbuf_tab(ng)%BUFLY(il)%NPTT
705 wwa(13) = wwa(13)+elbuf_tab(ng)%BUFLY(il)%LBUF(ir,is,it)%TEMP(i)/nptg
715 wwa(12) = gbuf%PLA(i)
717 ELSEIF (mte == 3)
THEN
720 ELSEIF (mte == 4)
THEN
723 ELSEIF (mte == 5 .OR. mte == 41 .OR. mte == 97)
THEN
725 wwa(31)=gbuf%BFRAC(i)
726 ELSEIF (mte == 6)
THEN
727! wwa(13)=gbuf%TEMP(i)
730 ELSEIF (mte == 7.OR.mte == 8.OR.mte == 9)
THEN
733 ELSEIF (mte == 10)
THEN
736 ELSEIF (mte == 11)
THEN
740 ELSEIF (mte == 14)
THEN
744 wwa(15)=lbuf%DAM(kk(1)+i)
745 wwa(16)=lbuf%DAM(kk(2)+i)
746 wwa(17)=lbuf%DAM(kk(3)+i)
747 wwa(18)=lbuf%DAM(kk(4)+i)
748 wwa(34)=lbuf%DAM(kk(5)+i)
749 ELSEIF (mte == 16)
THEN
752 ELSEIF (mte == 17)
THEN
756 ELSEIF (mte == 18)
THEN
758 ELSEIF (mte == 20)
THEN
761 ELSEIF (mte == 21)
THEN
764 ELSEIF (mte == 22.OR.mte == 23)
THEN
766 ELSEIF (mte == 24)
THEN
767 wwa(15)=lbuf%DAM(kk(1)+i)
768 wwa(16)=lbuf%DAM(kk(2)+i)
769 wwa(17)=lbuf%DAM(kk(3)+i)
770 wwa(19)=lbuf%DAM(kk(1)+i)+lbuf%DAM(kk(2)+i)+lbuf%DAM(kk(3)+i)
771 wwa(20)=lbuf%SIGA(kk(1)+i)
772 wwa(21)=lbuf%SIGA(kk(2)+i)
773 wwa(22)=lbuf%SIGA(kk(3)+i)
774 wwa(23)=lbuf%CRAK(kk(1)+i)+lbuf%CRAK(kk(2)+i)+lbuf%CRAK(kk(3)+i)
777 wwa(239552)=lbuf%RK(i)
780 ELSEIF (mte == 25)
THEN
782 ELSEIF (mte == 26)
THEN
786 ELSEIF (mte == 32.OR.mte == 43)
THEN
789 ELSEIF (mte == 46.OR.mte == 47)
THEN
791 ELSEIF (mte == 49)
THEN
795 ELSEIF (mte == 28)
THEN
796 ELSEIF (mte == 33)
THEN
797 ELSEIF (mte == 51)
THEN
798 IF(gbuf%G_PLA>0) wwa(12)=gbuf%PLA(i)
800 IF(gbuf%G_EPSD>0) wwa(14)=gbuf%EPSD(i)
801 IF(gbuf%G_BFRAC>0)wwa(31)=gbuf%BFRAC(i)
802 IF(gbuf%G_EPSQ>0) wwa(30)=gbuf%EPSQ(i)
803 ELSEIF (mte == 59)
THEN
805 nfail = elbuf_tab(ng)%BUFLY(1)%NFAIL
808 fbuf => elbuf_tab(ng)%BUFLY(1)%FAIL(j,1,1)%FLOC(k)
811 var = fbuf%VAR((l-1)*nel+i)
812 wwa(136+l) =
max(wwa(136+l), var)
816 var =
max(wwa(15),wwa(16))
817 var =
max(wwa(17),var)
818 var =
max(wwa(18),var)
821 ELSEIF (mte == 83)
THEN
823 nuvar = elbuf_tab(ng)%BUFLY(1)%NVAR_MAT
825 mbuf => elbuf_tab(ng)%BUFLY(1)%MAT(j,1,1)
827 var = mbuf%VAR((l-1)*nel+i)
828 wwa(136+l) =
max(wwa(136+l), var)
831 ELSEIF (mte == 116)
THEN
832 wwa(12) = gbuf%PLA(i)
833 nuvar = elbuf_tab(ng)%BUFLY(1)%NVAR_MAT
835 mbuf => elbuf_tab(ng)%BUFLY(1)%MAT(j,1,1)
837 var = mbuf%VAR((l-1)*nel+i)
838 wwa(136+l) =
max(wwa(136+l), var)
841 ELSEIF (mte == 67)
THEN
845 ELSEIF (mte == 103)
THEN
850 ELSEIF (mte > 28)
THEN
851 IF (elbuf_tab(ng)%BUFLY(1)%L_PLA > 0)
THEN
866 nuvarth =
min(60,nuvar)
868 wwa(136+j)=mbuf%VAR((j-1)*nel+i)
875 IF(
ALLOCATED(multi_fvm%BFRAC))
THEN
877 DO ir=1,multi_fvm%NBMAT
878 bfrac =
max(bfrac, multi_fvm%BFRAC(ir,n))
883 wwa(239547)= multi_fvm%VEL(1, n)
884 wwa(239548)= multi_fvm%VEL(2, n)
885 wwa(239549)= multi_fvm%VEL(3, n)
887 wwa(239550)= multi_fvm%SOUND_SPEED(n)
889 wwa(239551)= sqrt(multi_fvm%VEL(1, n)*multi_fvm%VEL(1, n
890 . multi_fvm%VEL(2, n)*multi_fvm%VEL(2, n)+
891 . multi_fvm%VEL(3, n)*multi_fvm%VEL
892 . multi_fvm%SOUND_SPEED(n)
898 IF(elbuf_tab(ng)%BUFLY(1)%L_SSP /= 0)
THEN
899 vel(1) = gbuf%MOM(i) / gbuf%RHO(i)
900 vel(2) = gbuf%MOM(nel + i) / gbuf%RHO(i)
901 vel(3) = gbuf%MOM(2*nel+ i) / gbuf%RHO(i)
906 wwa(239551)= sqrt(vel(1)*vel(1)+vel(2)*vel(2)+vel(3)*vel(3))/ssp
915 IF (gbuf%G_PLANL > 0)
THEN
916 nptg = nptr * npts * nptt
921 wwa(239553) = wwa(239553) + elbuf_tab(ng)%BUFLY
926 IF (gbuf%G_EPSDNL > 0)
THEN
927 nptg = nptr * npts * nptt
932 wwa(239554) = wwa(239554) + elbuf_tab(ng)%BUFLY(1)%LBUF(ir,is,it)%EPSDNL(i)/nptg
939 rho0 = pm(01,ixs(1,nft+i))
941 wwa(239555) = elbuf_tab(ng)%GBUF%RHO(i) / rho0 - one
962 IF (isolnod == 4)
THEN
964 ELSEIF (isolnod == 10)
THEN
966 ELSEIF (isolnod == 8.AND. igtyp == 43)
THEN
971 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(ipt,1,1)
973 strain(j) = strain(j) + lbuf%EPE(kk(j)+i)/npt
977 wwa(239030 + 3) = strain(3)
978 wwa(239030 + 2) = strain(2)
979 wwa(239030 + 1) = strain(1)
988 CALL srota6(x,ixs(1,n),kcvt,strain,gama,khbe,igtyp,isorth)
991 wwa(1618 + j) = strain(j)
994 ELSEIF (isolnod==8 .AND. khbe/=14 .AND. khbe/=15 .AND. khbe/=17)
THEN
1002 IF (elbuf_tab(ng)%BUFLY(1)%L_SIGL > 0)
THEN
1004 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(ipt,1,1)
1014 wwa( 88+ipt) = lbuf%SIGL(kk(1)+i)
1015 wwa( 96+ipt) = lbuf%SIGL(kk(2)+i)
1016 wwa(104+ipt) = lbuf%SIGL(kk(3)+i)
1017 wwa(112+ipt) = lbuf%SIGL(kk(4)+i)
1018 wwa(120+ipt) = lbuf%SIGL(kk(5)+i
1019 wwa(128+ipt) = lbuf%SIGL(kk(6)+i)
1021 ELSE IF(khbe == 12)
THEN
1023 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(1,1,ipt)
1024 wwa( 88+ipt) = lbuf%SIG(kk(1)+i)
1025 wwa( 96+ipt) = lbuf%SIG(kk(2)+i)
1026 wwa(104+ipt) = lbuf%SIG(kk(3)+i)
1027 wwa(112+ipt) = lbuf%SIG(kk(4)+i)
1028 wwa(120+ipt) = lbuf%SIG(kk(5)+i)
1029 wwa(128+ipt) = lbuf%SIG(kk(6)+i)
1033 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(1,1,ipt)
1034 wwa( 88+ipt) =wwa( 88+ipt) + lbuf%VISC(kk(1)+i)
1035 wwa( 96+ipt) =wwa( 96+ipt) + lbuf%VISC
1036 wwa(104+ipt) =wwa(104+ipt) + lbuf%VISC(kk(3)+i)
1037 wwa(112+ipt) =wwa(112+ipt) + lbuf%VISC(kk(4)+i)
1038 wwa(120+ipt) =wwa(120+ipt) + lbuf%VISC(kk(5)+i)
1039 wwa(128+ipt) =wwa(128+ipt) + lbuf%VISC(kk(6)+i)
1044 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(ipt,1,1)
1045 wwa( 88+ipt) = lbuf%SIG(kk(1)+i)
1047 wwa(104+ipt) = lbuf%SIG(kk(3)+i)
1048 wwa(112+ipt) = lbuf%SIG(kk(4)+i)
1049 wwa(120+ipt) = lbuf%SIG(kk(5)+i)
1050 wwa(128+ipt) = lbuf%SIG(kk(6)+i)
1054 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(ipt,1,1)
1055 wwa( 88+ipt) =wwa( 88+ipt) + lbuf%VISC(kk(1)+i)
1056 wwa( 96+ipt) =wwa( 96+ipt) + lbuf%VISC(kk(2)+i)
1057 wwa(104+ipt) =wwa(104+ipt) + lbuf%VISC(kk(3)+i)
1058 wwa(112+ipt) =wwa(112+ipt) + lbuf%VISC(kk(4)+i)
1059 wwa(120+ipt) =wwa(120+ipt) + lbuf%VISC(kk(5)+i)
1060 wwa(128+ipt) =wwa(128+ipt) + lbuf%VISC(kk(6)+i)
1066 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(1,1,ipt)
1067 IF (elbuf_tab(ng)%BUFLY(1)%L_STRA > 0)
THEN
1068 strain(1) = strain(1) + lbuf%STRA(kk(1)+i)*one_over_8
1069 strain(2) = strain(2) + lbuf%STRA(kk(2)+i)*one_over_8
1070 strain(3) = strain(3) + lbuf%STRA(kk(3)+i)*one_over_8
1071 strain(4) = strain(4) + lbuf%STRA(kk(4)+i)*one_over_8
1072 strain(5) = strain(5) + lbuf%STRA(kk(5)+i)*one_over_8
1073 strain(6) = strain(6) + lbuf%STRA(kk(6)+i)*one_over_8
1078 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(ipt,1,1)
1079 IF (elbuf_tab(ng)%BUFLY(1)%L_STRA > 0)
THEN
1080 strain(1) = strain(1) + lbuf%STRA(kk(1)+i)*one_over_8
1081 strain(2) = strain(2) + lbuf%STRA(kk(2)+i)*one_over_8
1082 strain(3) = strain(3) + lbuf%STRA(kk(3)+i)*one_over_8
1083 strain(4) = strain(4) + lbuf%STRA(kk(4)+i)*one_over_8
1084 strain(5) = strain(5) + lbuf%STRA(kk(5)+i)*one_over_8
1085 strain(6) = strain(6) + lbuf%STRA(kk(6)+i)*one_over_8
1091 wwa(239030 + j) = strain(j)
1095 gama(1)=gbuf%GAMA(kk(1) + i)
1096 gama(2)=gbuf%GAMA(kk(2) + i)
1097 gama(3)=gbuf%GAMA(kk(3) + i)
1098 gama(4)=gbuf%GAMA(kk(4) + i)
1099 gama(5)=gbuf%GAMA(kk(5) + i)
1100 gama(6)=gbuf%GAMA(kk(6) + i)
1110 CALL srota6(x,ixs(1,n),kcvt,strain,gama,khbe,igtyp,isorth)
1113 wwa(1618 + j) = strain(j)
1116 wwa(1618 + 4) = strain(4)
1117 wwa(1618 + 5) = strain(6)
1118 wwa(1618 + 6) = strain(5)
1121 ELSEIF (npt == 1)
THEN
1126 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(1,1,1)
1127 IF (mte == 12 .OR. mte == 14)
THEN
1129 wwa(239030 + j) = lbuf%EPE(kk(j)+i)
1130 strain(j) = lbuf%EPE(kk(j)+i)
1132 ELSEIF (elbuf_tab(ng)%BUFLY(1)%L_STRA > 0)
THEN
1134 wwa(239030 + j) = lbuf%STRA(kk(j)+i)
1135 strain(j) = lbuf%STRA(kk(j)+i)
1138 wwa(239030 + j) = lbuf%STRA(kk(j)+i)*half
1139 strain(j) = lbuf%STRA(kk(j)+i)*half
1146 wwa(239030 + j) = strain(j)
1150 gama(1)=gbuf%GAMA(kk(1) + i)
1151 gama(2)=gbuf%GAMA(kk(2) + i)
1152 gama(3)=gbuf%GAMA(kk(3) + i)
1153 gama(4)=gbuf%GAMA(kk(4) + i)
1154 gama(5)=gbuf%GAMA(kk(5) + i)
1155 gama(6)=gbuf%GAMA(kk(6) + i)
1165 CALL srota6(x,ixs(1,n),kcvt,strain,gama,khbe,igtyp,isorth)
1168 wwa(1618 + j) = strain(j)
1171 wwa(1618 + 4) = strain(4)
1172 wwa(1618 + 5) = strain(6)
1173 wwa(1618 + 6) = strain(5)
1181 ELSEIF (tshell == 1)
THEN
1187 nptg = nptr * npts * nlay
1192 IF (mte == 12 .OR. mte == 14)
THEN
1194 evar_tmp(j) = lbuf%EPE(kk(j)+i)
1196 evar_tmp(3:6) = zero
1199 ipt = ir + ( (is-1) + (it-1)*npts )*nptr
1201 IF (ipt <= nptg .AND. ir <= nptr .AND. is <= npts .AND. it <= nlay)
THEN
1202 IF (elbuf_tab(ng)%BUFLY(it)%L_STRA > 0)
THEN
1203 lbuf => elbuf_tab(ng)%BUFLY(it)%LBUF(ir,is,1)
1204 evar_tmp(1) = lbuf%STRA(kk(1)+i)
1205 evar_tmp(2) = lbuf%STRA(kk(2)+i)
1206 evar_tmp(3) = lbuf%STRA(kk(3)+i)
1207 evar_tmp(4) = lbuf%STRA(kk(4)+i)*half
1208 evar_tmp(5) = lbuf%STRA(kk(5)+i)*half
1209 evar_tmp(6) = lbuf%STRA(kk(6)+i)*half
1213 strain(j) = strain(j) + evar_tmp(j)/nptg
1218 IF (khbe == 14.AND.icsig > 0)
THEN
1223 gama(2)= lbuf%GAMA(kk(1)+i)
1224 gama(3)= lbuf%GAMA(kk(2)+i)
1238 gama(1)= lbuf%GAMA(kk(1)+i)
1239 gama(2)= lbuf%GAMA(kk(2)+i)
1254 gama(1)= lbuf%GAMA(kk(2)+i)
1256 gama(3)= lbuf%GAMA(kk(1)+i)
1272 gama(1)=gbuf%GAMA(kk(1) + i)
1273 gama(2)=gbuf%GAMA(kk(2) + i)
1275 gama(4)=gbuf%GAMA(kk(4) + i)
1276 gama(5)=gbuf%GAMA(kk(5) + i)
1277 gama(6)=gbuf%GAMA(kk(6) + i)
1289 CALL srota6(x,ixs(1,n),kcvt,evar_tmp,gama,khbe,igtyp,isorth)
1292 evar(j) = evar(j) + evar_tmp(j)/nptg
1295 IF(igtyp == 22)
THEN
1297 mbuf => elbuf_tab(ng)%BUFLY(it)%MAT(ir,is,1)
1298 cpt=(it-1)*9*9*6+((ir-1)*9+is-1)*6
1300 wwa(98846+cpt+1) = lbuf%SIG(kk(1)+i)
1302 wwa(98846+cpt+2) = lbuf%SIG(kk(4)+i)
1304 wwa(98846+cpt+3) = lbuf%SIG(kk(6)+i)
1306 wwa(98846+cpt+4) = lbuf%SIG(kk(2)+i)
1308 wwa(98846+cpt+5) = lbuf%SIG(kk(5)+i)
1310 wwa(98846+cpt+6) = lbuf%SIG(kk(3)+i)
1312 wwa(98846+cpt+1)=wwa(98846+cpt+1) + lbuf%VISC(kk(1)+i)
1313 wwa(98846+cpt+2)=wwa(98846+cpt+2) + lbuf%VISC(kk(4)+i)
1314 wwa(98846+cpt+3)=wwa(98846+cpt+3) + lbuf%VISC(kk(6)+i)
1315 wwa(98846+cpt+4)=wwa(98846+cpt+4) + lbuf%VISC(kk(2)+i)
1316 wwa(98846+cpt+5)=wwa(98846+cpt+5) + lbuf%VISC(kk(5)+i)
1317 wwa(98846+cpt+6)=wwa(98846+cpt+6) + lbuf%VISC(kk(3)+i)
1319 IF (mte == 12 .OR. mte == 14)
THEN
1320 wwa(1646+cpt+1) = lbuf%EPE(kk(1)+i)
1321 wwa(1646+cpt+2) = lbuf%EPE(kk(2)+i)
1322 wwa(1646+cpt+3) = lbuf%EPE(kk(3)+i)
1323 ELSEIF (elbuf_tab(ng)%BUFLY(it)%L_STRA > 0)
THEN
1324 wwa(1646+cpt+1) = lbuf%STRA(kk(1)+i)
1325 wwa(1646+cpt+2) = lbuf%STRA(kk(2)+i)
1326 wwa(1646+cpt+3) = lbuf%STRA(kk(3)+i)
1327 wwa(1646+cpt+4) = lbuf%STRA(kk(4)+i)*half
1328 wwa(1646+cpt+5) = lbuf%STRA(kk(5)+i)*half
1329 wwa(1646+cpt+6) = lbuf%STRA(kk(6)+i)*half
1331 wwa(1646+cpt+1) = zero
1332 wwa(1646+cpt+2) = zero
1333 wwa(1646+cpt+3) = zero
1334 wwa(1646+cpt+4) = zero
1335 wwa(1646+cpt+5) = zero
1336 wwa(1646+cpt+6) = zero
1342 mbuf => elbuf_tab(ng)%BUFLY(it)%MAT(ir,is,1)
1343 ipwwa = (ir-1)*3*9*7 + (it-1)*3*7 + (is-1)*7
1345 sigg(j) = lbuf%SIG(kk(j)+i)
1349 sigg(j) = sigg(j) + lbuf%VISC(kk(j)+i)
1359 IF (elbuf_tab(ng)%BUFLY(1)%L_PLA > 0)
THEN
1364 CALL srota6(x,ixs(1,n),kcvt,sigg,gama,khbe,igtyp,isorth)
1368 wwa(196+ipwwa +j) = sigg(j)
1371 wwa(196+ipwwa +7) = plag
1374 wwa(239060+ipwwa +j) = evar_tmp(j)
1379 wwa(196+cpt +1) = zero
1380 wwa(196+cpt +2) = zero
1381 wwa(196+cpt +3) = zero
1382 wwa(196+cpt +4) = zero
1383 wwa(196+cpt +5) = zero
1384 wwa(196+cpt +6) = zero
1386 wwa(1646+cpt+1) = zero
1387 wwa(1646+cpt+2) = zero
1388 wwa(1646+cpt+3) = zero
1389 wwa(1646+cpt+4) = zero
1390 wwa(1646+cpt+5) = zero
1391 wwa(1646+cpt+6) = zero
1393 wwa(120338+cpt+1)= zero
1394 wwa(120338+cpt+2)= zero
1395 wwa(120338+cpt+3)= zero
1396 wwa(120338+cpt+4)= zero
1397 wwa(120338+cpt+5)= zero
1398 wwa(120338+cpt+6)= zero
1406 wwa(239036+j) = strain(j)
1411 wwa(1618+j) = evar(j)
1414 wwa(1618 + 4) = evar(4)
1415 wwa(1618 + 5) = evar(6)
1416 wwa(1618 + 6) = evar(5)
1419 ELSEIF (isolnod == 8.AND.(khbe == 14.OR.khbe == 17))
THEN
1436 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(ir,is,it)
1437 mbuf => elbuf_tab(ng)%BUFLY(1)%MAT(ir,is,it)
1440 ipt = ir + ( (is-1) + (it-1)*npts )*nptr
1442 ipwwa = (ir-1)*3*9*7 + (it-1)*3*7 + (is-1)*7
1443 iuwwa = (ir-1)*3*9*9 + (it-1)*3*9 + (is-1)*9
1447 sigp(itens,ispau,is)=lbuf%SIG(kk(itens)+i)
1448 sigg(itens) = lbuf%SIG(kk(itens)+i)
1453 sigp(itens,ispau,is)=sigp(itens,ispau,is) + lbuf%VISC(kk(itens)+i)
1454 sigg(itens) = sigg(itens) + lbuf%VISC(kk(itens)+i)
1461 sigp(7,ispau,is) = mbuf%VAR(i)
1466 nuvarth =
min(9,nuvar)
1468 wwa(889+j+iuwwa) = mbuf%VAR((j-1)*nel+i)
1471 nuvarth =
min(60,nuvar)
1473 user(j) = user(j) + mbuf%VAR(i + (j-1)*nel )/npt
1474 wwa(889 + j + iuwwa) = mbuf%VAR(i + (j-1)*nel )
1477 IF (elbuf_tab(ng)%BUFLY(1)%L_STRA > 0)
THEN
1478 evar_tmp(1) = lbuf%STRA(kk(1)+i)
1479 evar_tmp(2) = lbuf%STRA(kk(2)+i)
1480 evar_tmp(3) = lbuf%STRA(kk(3)+i)
1481 evar_tmp(4) = lbuf%STRA(kk(4)+i)*half
1482 evar_tmp(5) = lbuf%STRA(kk(5)+i)*half
1483 evar_tmp(6) = lbuf%STRA(kk(6)+i)*half
1486 IF (elbuf_tab(ng)%BUFLY(1)%L_PLA > 0)
THEN
1487 sigp(7,ispau,is) = lbuf%PLA(i)
1491 IF (mte == 12 .OR. mte == 14)
THEN
1493 evar_tmp(j) = lbuf%EPE(kk(j)+i)
1495 evar_tmp(3:6) = zero
1496 ELSEIF (elbuf_tab(ng)%BUFLY(1)%L_STRA > 0)
THEN
1497 evar_tmp(1) = lbuf%STRA(kk(1)+i)
1498 evar_tmp(2) = lbuf%STRA(kk(2)+i)
1499 evar_tmp(3) = lbuf%STRA(kk(3)+i)
1500 evar_tmp(4) = lbuf%STRA(kk(4)+i)*half
1501 evar_tmp(5) = lbuf%STRA(kk(5)+i)*half
1502 evar_tmp(6) = lbuf%STRA(kk(6)+i)*half
1508 strain(j) = strain(j) + evar_tmp(j)/nptg
1513 IF (khbe == 14.AND.icsig > 0)
THEN
1518 gama(2)= lbuf%GAMA(kk(1)+i)
1519 gama(3)= lbuf%GAMA(kk(2)+i)
1533 gama(1)= lbuf%GAMA(kk(1)+i)
1534 gama(2)= lbuf%GAMA(kk(2)+i)
1549 gama(1)= lbuf%GAMA(kk(2)+i)
1551 gama(3)= lbuf%GAMA(kk(1)+i)
1568 gama(1)=gbuf%GAMA(kk(1) + i)
1569 gama(2)=gbuf%GAMA(kk(2) + i)
1570 gama(3)=gbuf%GAMA(kk(3) + i)
1571 gama(4)=gbuf%GAMA(kk(4) + i)
1572 gama(5)=gbuf%GAMA(kk(5) + i)
1573 gama(6)=gbuf%GAMA(kk(6) + i)
1586 CALL srota6(x,ixs(1,n),kcvt,sigg ,gama,khbe,igtyp,isorth)
1587 CALL srota6(x,ixs(1,n),kcvt,evar_tmp,gama,khbe,igtyp,isorth)
1591 wwa(196+ipwwa+j) = sigg(j)
1594 wwa(196+ipwwa +7) = plag
1597 wwa(239060+ipwwa+j) = evar_tmp(j)
1601 evar(j) = evar(j) + evar_tmp(j)/nptg
1610 nuvarth =
min(60,nuvar)
1612 wwa(136 + j) = user(j)
1620 wwa(239030 + j) = strain(j)
1624 wwa(1618 + j) = evar(j)
1627 wwa(1618 + 4) = evar(4)
1628 wwa(1618 + 5) = evar(6)
1629 wwa(1618 + 6) = evar(5)
1643 IF (isolnod == 4)
THEN
1650 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(ipt,1,1)
1651 mbuf => elbuf_tab(ng)%BUFLY(1)%MAT(ipt,1,1)
1652 wwa(40+ipt)=lbuf%SIG(kk(1)+i)
1653 wwa(48+ipt)=lbuf%SIG(kk(2)+i)
1654 wwa(56+ipt)=lbuf%SIG(kk(3)+i)
1655 wwa(64+ipt)=lbuf%SIG(kk(4)+i)
1656 wwa(72+ipt)=lbuf%SIG(kk(5)+i)
1657 wwa(80+ipt)=lbuf%SIG(kk(6)+i)
1659 wwa(40+ipt)=wwa(40+ipt) + lbuf%VISC(kk(1)+i)
1660 wwa(48+ipt)=wwa(48+ipt) + lbuf%VISC(kk(2)+i)
1661 wwa(56+ipt)=wwa(56+ipt) + lbuf%VISC(kk(3)+i)
1662 wwa(64+ipt)=wwa(64+ipt) + lbuf%VISC(kk(4)+i)
1663 wwa(72+ipt)=wwa(72+ipt) + lbuf%VISC(kk
1664 wwa(80+ipt)=wwa(80+ipt) + lbuf%VISC(kk(6)+i)
1667 IF(mte == 12 .OR. mte == 14)
THEN
1669 strain(j) = strain(j) + lbuf%EPE(kk(j)+i)/npt
1671 wwa(239036+ipt)=lbuf%STRA(kk(1)+i)
1672 wwa(239040+ipt)=lbuf%STRA(kk(2)+i)
1673 wwa(239044+ipt)=lbuf%STRA(kk(3)+i)
1674 ELSEIF (elbuf_tab(ng)%BUFLY(1)%L_STRA > 0)
THEN
1676 strain(j)= strain(j) + lbuf%STRA(kk(j)+i)/npt
1679 wwa(239036+ipt)=lbuf%STRA(kk(1)+i)
1680 wwa(239040+ipt)=lbuf%STRA(kk(2)+i)
1681 wwa(239044+ipt)=lbuf%STRA(kk(3)+i)
1682 wwa(239048+ipt)=lbuf%STRA(kk(4)+i) *half
1683 wwa(239052+ipt)=lbuf%STRA(kk(5)+i) *half
1684 wwa(239056+ipt)=lbuf%STRA(kk(6)+i) *half
1691 wwa(1618 + j) = strain(j)
1694 wwa(1618 + 4) = strain(4)
1695 wwa(1618 + 5) = strain(6)
1696 wwa(1618 + 6) = strain(5)
1699 wwa(239030 + j) = strain(j)
1703 ELSEIF(isrot == 0)
THEN
1704 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(1,1,1)
1706 IF (mte == 12 .OR. mte == 14)
THEN
1708 strain(j) = lbuf%EPE(kk(j)+i)
1710 ELSEIF (elbuf_tab(ng)%BUFLY(1)%L_STRA > 0)
THEN
1712 strain(j) = lbuf%STRA(kk(j)+i)
1718 wwa(1618 + j) = strain(j)
1721 wwa(1618 + 4) = strain(4)
1722 wwa(1618 + 5) = strain(6)
1723 wwa(1618 + 6) = strain(5)
1726 wwa(239030 + j) = strain(j)
1731 ELSEIF (isolnod == 10)
THEN
1741 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(ipt,1,1)
1742 mbuf => elbuf_tab(ng)%BUFLY(1)%MAT(ipt,1,1)
1743 wwa(40+ipt)=lbuf%SIG(kk(1)+i)
1744 wwa(48+ipt)=lbuf%SIG(kk(2)+i)
1745 wwa(56+ipt)=lbuf%SIG(kk(3)+i)
1746 wwa(64+ipt)=lbuf%SIG(kk(4)+i)
1747 wwa(72+ipt)=lbuf%SIG(kk(5)+i)
1748 wwa(80+ipt)=lbuf%SIG(kk(6)+i)
1750 wwa(40+ipt)=wwa(40+ipt) + lbuf%VISC(kk(1)+i)
1751 wwa(48+ipt)=wwa(48+ipt) + lbuf%VISC(kk(2)+i)
1753 wwa(64+ipt)=wwa(64+ipt) + lbuf%VISC(kk(4)+i)
1754 wwa(72+ipt)=wwa(72+ipt) + lbuf%VISC(kk(5)+i)
1755 wwa(80+ipt)=wwa(80+ipt) + lbuf%VISC(kk(6)+i)
1758 nuvarth =
min(60,nuvar)
1761 . mbuf%VAR(i + (j-1)*nel )/npt
1763 IF (elbuf_tab(ng)%BUFLY(1)%L_STRA > 0)
THEN
1765 strain(j)= strain(j) + lbuf%STRA(kk(j)+i)/npt
1767 wwa(239036+ipt)=lbuf%STRA(kk(1)+i)
1768 wwa(239040+ipt)=lbuf%STRA(kk(2)
1769 wwa(239044+ipt)=lbuf%STRA(kk(3)+i)
1770 wwa(239048+ipt)=lbuf%STRA(kk(4)+i) *half
1771 wwa(239052+ipt)=lbuf%STRA(kk(5)+i) *half
1772 wwa(239056+ipt)=lbuf%STRA(kk(6)+i) *half
1774 ELSEIF(mte == 12 .OR. mte == 14)
THEN
1776 strain(j) = strain(j) + lbuf%EPE(kk(j)+i)/npt
1778 wwa(239036+ipt)=lbuf%EPE(kk(1)+i)
1779 wwa(239040+ipt)=lbuf%EPE(kk(2)+i)
1780 wwa(239044+ipt)=lbuf%EPE(kk(3)+i)
1781 ELSEIF (elbuf_tab(ng)%BUFLY(1)%L_STRA > 0)
THEN
1783 strain(j) = strain(j) + lbuf%STRA(kk(j)+i)/nptg
1786 wwa(239036+ipt)=lbuf%STRA(kk(1)+i)
1787 wwa(239040+ipt)=lbuf%STRA(kk(2)+i)
1788 wwa(239044+ipt)=lbuf%STRA(kk(3)+i)
1789 wwa(239048+ipt)=lbuf%STRA(kk(4)+i) *half
1790 wwa(239052+ipt)=lbuf%STRA(kk(5)+i) *half
1791 wwa(239056+ipt)=lbuf%STRA(kk(6)+i) *half
1795 IF ( mte >= 28)
THEN
1797 nuvarth =
min(60,nuvar)
1805 wwa(1618 + j) = strain(j)
1808 wwa(1618 + 4) = strain(4)
1809 wwa(1618 + 5) = strain(6)
1810 wwa(1618 + 6) = strain(5)
1813 wwa(239030 + j) = strain(j)
1817 ELSEIF( isolnod == 16 .OR. isolnod == 20 .OR. (isolnod == 8.AND.(khbe == 14.OR.khbe == 17)))
THEN
1824 nptg=nptt*npts*nptr*nlay
1835 lbuf => elbuf_tab(ng)%BUFLY(il)%LBUF(ir,is,it)
1836 mbuf => elbuf_tab(ng)%BUFLY(il)%MAT(ir,is,it)
1839 cpt=(it-1)*99*6+((ir-1)*9+is-1)*6
1841 ipt = ir + ( (is-1) + (it-1)*npts )*nptr
1842 ipwwa = (it-1)*3*9*7 + (is-1)*3*7 + (ir-1)*7
1843 iuwwa = (it-1)*3*9*9 + (is-1)*3*9 + (ir-1)*9
1844 IF(isolnod == 8)
THEN
1845 ipwwa = (ir-1)*3*9*7 + (it-1)*3*7 + (is-1)*7
1846 iuwwa = (ir-1)*3*9*9 + (it-1)*3*9 + (is-1)*9
1848 IF(isolnod == 16)
THEN
1849 ipt = ir + ( (il-1) + (it-1)*nlay )*nptr
1850 ipwwa = (it-1)*3*9*7 + (il-1)*3*7 + (ir-1)*7
1851 iuwwa = (it-1)*3*9*9 + (il-1)*3*9 + (ir-1)*9
1855 wwa(196+ipwwa+itens) = lbuf%SIG(kk(itens)+i)
1856 sigp(itens,ispau,is) = lbuf%SIG(kk(itens)+i)
1861 wwa(196+ipwwa+7) = mbuf%VAR(i)
1862 sigp(7,ispau,is) = mbuf%VAR(i)
1865 nuvarth =
min(9,nuvar)
1867 wwa(889 + j + iuwwa) = mbuf%VAR(i+(j-1)*nel)
1870 nuvarth =
min(60,nuvar)
1872 user(j) = user(j)+mbuf%VAR(i+(j-1)*nel)/nptg
1873 wwa(889+j+iuwwa) =mbuf%VAR(i+(j-1)*nel)
1875 IF (elbuf_tab(ng)%BUFLY(1)%L_STRA > 0)
THEN
1877 strain(j) = strain(j) + lbuf%STRA(kk(j)+i)/nptg
1878 wwa(239060+ipwwa+j)=lbuf%STRA(kk(j)+i)
1881 strain(j) = strain(j) + lbuf%STRA(kk(j)+i)*half
1882 wwa(239060+ipwwa+j)=lbuf%STRA(kk(j)+i) *half
1888 IF (elbuf_tab(ng)%BUFLY(1)%L_PLA > 0)
THEN
1889 wwa(196 + ipwwa + 7)=lbuf%PLA(i)
1890 sigp(7,ispau,is)= lbuf%PLA(i)
1892 IF (mte==12 .OR. mte == 14)
THEN
1894 strain(j) = strain(j) + lbuf%EPE(kk(j)+i)/nptg
1895 wwa(239060+ipwwa+j)=lbuf%EPE(kk(j)+i)
1897 ELSEIF (elbuf_tab(ng)%BUFLY(1)%L_STRA > 0)
THEN
1899 strain(j) = strain(j) + lbuf%STRA
1900 wwa(239060+ipwwa+j)=lbuf%STRA
1903 strain(j) = strain(j) + lbuf%STRA(kk(j)+i)*half/nptg
1904 wwa(239060+ipwwa+j)=lbuf%STRA(kk(j)+i) *half
1917 nuvarth =
min(60,nuvar)
1919 wwa(136 + j) = user(j)
1923 IF (khbe == 17)
THEN
1925 gama(1)=gbuf%GAMA(kk(1) + i)
1926 gama(2)=gbuf%GAMA(kk(2) + i)
1927 gama(3)=gbuf%GAMA(kk(3) + i)
1928 gama(4)=gbuf%GAMA(kk(4) + i)
1929 gama(5)=gbuf%GAMA(kk(5) + i)
1930 gama(6)=gbuf%GAMA(kk(6) + i)
1931 CALL srota6(x,ixs(1,n),2,strain,gama,khbe,igtyp,isorth)
1935 wwa(239030 + j) = strain(j)
1939 wwa(1618 + j) = strain(j)
1942 wwa(1618 + 4) = strain(4)
1943 wwa(1618 + 5) = strain(6)
1944 wwa(1618 + 6) = strain(5)
1948 IF(isolnod == 16 )
THEN
1960 ipwwa = (it-1)*3*7 + (ir-1)*7
1962 wwa(826+itens+ipwwa) = sigp(itens,ispau,1)
1963 wwa(763+itens+ipwwa) = sigp(itens,ispau,npts)
1973 ipwwa = (it-1)*3*7 + (ir-1)*7
1976 wwa(826+itens+ipwwa) = sigp(itens,ispau,1)
1977 . +(sigp(itens,ispau,2)-sigp(itens,ispau,1))
1978 . *(-1 - a_gauss(1,nptl))
1979 . /(a_gauss(2,nptl)-a_gauss(1,nptl))
1981 wwa(763+itens+ipwwa)= sigp(itens,ispau,nptl-1)
1982 . +(sigp(itens,ispau,nptl)
1983 . - sigp(itens,ispau,nptl-1))
1984 . *(1 - a_gauss(nptl-1,nptl))
1985 . /(a_gauss(nptl,nptl)-a_gauss(nptl-1,nptl))
1995 ipwwa = (it-1)*3*7 + (ir-1)*7
1998 wwa(826+itens+ipwwa)
1999 . = sigp(itens,ispau,1)
2000 . +(sigp(itens,ispau,2)-sigp(itens,ispau,1))
2001 . *(-1 - a_gauss(1,nptl))
2002 . /(a_gauss(2,nptl)-a_gauss(1,nptl))
2004 wwa(763 + itens + ipwwa)
2005 . = sigp(itens,ispau,1)
2006 . +(sigp(itens,ispau,2)-sigp(itens,ispau,1))
2007 . *(1 - a_gauss(1,nptl))
2008 . /(a_gauss(2,nptl)-a_gauss(1,nptl))
2018 ELSEIF ((isolnod==6 .OR. isolnod==8) .AND. khbe==15)
THEN
2030 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(ipt,1,1)
2031 mbuf => elbuf_tab(ng)%BUFLY(1)%MAT(ipt,1,1)
2037 wwa(196+ipwwa+itens)=lbuf%SIG(kk(itens)+i)
2038 sigp(itens,1,ipt)= lbuf%SIG(kk(itens)+i)
2042 wwa(196+ipwwa+itens)= wwa(196+ipwwa+itens) + lbuf%VISC(kk(itens)+i)
2043 sigp(itens,1,ipt)= sigp(itens,1,ipt)+ lbuf%VISC(kk(itens)+i)
2049 wwa(196+ipwwa+7) = mbuf%VAR(i)
2050 sigp(7, 1 ,ipt)= mbuf%VAR(i)
2053 nuvarth =
min(9,nuvar)
2055 wwa(889 + j + iuwwa) = mbuf%VAR(i + (j-1)*nel )
2058 nuvarth =
min(60,nuvar)
2060 user(j) = user(j) + mbuf%VAR(i+(j-1)*nel)/npt
2061 wwa(889+j+iuwwa) = mbuf%VAR(i+(j-1)*nel)
2063 IF (elbuf_tab(ng)%BUFLY(1)%L_STRA > 0)
THEN
2065 strain(j) = strain(j) + lbuf%STRA(kk(j)+i)/npt
2066 wwa(239060+ipwwa+j)=lbuf%STRA(kk(j)+i)
2069 strain(j) = strain(j) + lbuf%STRA(kk(j)+i)*half/npt
2070 wwa(239060+ipwwa+j)=lbuf%STRA(kk(j)+i)*half
2074 IF (elbuf_tab(ng)%BUFLY(1)%L_PLA > 0)
THEN
2075 wwa(196 + ipwwa + 7)= lbuf%PLA(i)
2076 sigp(7, 1 ,ipt) = lbuf%PLA(i)
2078 IF (mte == 12 .OR. mte == 14)
THEN
2080 strain(j) = strain(j) + lbuf%EPE(kk(j)+i)/npt
2081 wwa(239060+ipwwa+j)=lbuf%EPE(kk(j)+i)
2083 ELSEIF (elbuf_tab(ng)%BUFLY(1)%L_STRA > 0)
THEN
2085 strain(j) = strain(j) + lbuf%STRA(kk(j)+i)/npt
2086 wwa(239060+ipwwa+j)=lbuf%STRA(kk(j)+i)
2089 strain(j) = strain(j) + lbuf%STRA(kk(j)+i)*half/npt
2090 wwa(239060+ipwwa+j)=lbuf%STRA(kk(j)+i)*half
2098 nuvarth =
min(60,nuvar)
2100 wwa(136 + j) = user(j)
2105 wwa(1618 + j) = strain(j)
2108 wwa(1618 + 4) = strain(4)
2109 wwa(1618 + 5) = strain(6)
2110 wwa(1618 + 6) = strain(5)
2113 wwa(239030 + j) = strain(j)
2119 wwa(826+itens + ipwwa) = sigp(itens,1,1)
2120 . +(sigp(itens,1,2)-sigp(itens,1,1))
2121 . *(-1 - a_gauss(1,npts))
2122 . /(a_gauss(2,npts)-a_gauss(1,npts))
2123 wwa(763+itens+ipwwa) = sigp(itens,1,npts-1)
2124 . +(sigp(itens,1,npts)
2125 . - sigp(itens,1,npts-1))
2126 . *(1 - a_gauss(npts-1,npts))
2127 . /(a_gauss(npts,npts)-a_gauss(npts-1,npts))
2132 wwa(826+itens+ipwwa) = sigp(itens,1,1)
2133 . +(sigp(itens,1,2)-sigp(itens,1,1))
2134 . *(-1 - a_gauss(1,npts))
2135 . /(a_gauss(2,npts)-a_gauss(1,npts))
2136 wwa(763 + itens + ipwwa) = sigp(itens,1,1)
2137 . +(sigp(itens,1,2)-sigp(itens,1,1))
2138 . *(1 - a_gauss(1,npts))
2139 . /(a_gauss(2,npts)-a_gauss(1,npts))
2143 ELSEIF (isolnod == 8.AND.khbe /= 14.AND.khbe /= 24)
THEN
2147 nlay = elbuf_tab(ng)%NLAY
2148 nptr = elbuf_tab(ng)%NPTR
2149 npts = elbuf_tab(ng)%NPTS
2150 nptt = elbuf_tab(ng)%NPTT
2151 npt = nptr * npts * nptt * nlay
2155 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(ir,is,it)
2156 mbuf => elbuf_tab(ng)%BUFLY(1)%MAT(ir,is,it)
2157 ipt = ir + ( (is-1) + (it-1)*npts )*nptr
2158 wwa(40+ipt)=lbuf%SIG(kk(1)+i)
2159 wwa(48+ipt)=lbuf%SIG(kk(2)+i)
2160 wwa(56+ipt)=lbuf%SIG(kk(3)+i)
2162 wwa(72+ipt)=lbuf%SIG(kk(5)+i)
2163 wwa(80+ipt)=lbuf%SIG(kk(6)+i)
2165 wwa(40+ipt)=wwa(40+ipt) + lbuf%VISC(kk(1)+i)
2166 wwa(48+ipt)=wwa(48+ipt) + lbuf%VISC(kk(2)+i)
2167 wwa(56+ipt)=wwa(56+ipt) + lbuf%VISC(kk(3)+i)
2168 wwa(64+ipt)=wwa(64+ipt) + lbuf%VISC(kk(4)+i)
2169 wwa(72+ipt)=wwa(72+ipt) + lbuf%VISC(kk(5)+i)
2170 wwa(80+ipt)=wwa(80+ipt) + lbuf%VISC(kk(6)+i)
2173 ipwwa = (it-1)*3*9*7 + (is-1)*3*7 + (ir-1)*7
2174 iuwwa = (it-1)*3*9*9 + (is-1)*3*9 + (ir-1)*9
2177 wwa(196+ipwwa+itens)=lbuf%SIG(kk(itens)+i)
2182 wwa(196+ipwwa+itens)=wwa(196+ipwwa+itens) + lbuf%VISC(kk(itens)+i)
2185 IF (elbuf_tab(ng)%BUFLY(1)%L_PLA > 0)
2189 wwa(196+ipwwa+ 7 ) = mbuf%VAR(i)
2192 nuvarth =
min(9,nuvar)
2194 wwa(889 + iuwwa + j) = mbuf%VAR(i+(j-1)*nel)
2196 IF (elbuf_tab(ng)%BUFLY(1)%L_STRA > 0)
THEN
2197 strain(1)=strain(1) + lbuf%STRA(kk(1)+i)*one_over_8
2198 strain(2)=strain(2) + lbuf%STRA(kk(2)+i)*one_over_8
2199 strain(3)=strain(3) + lbuf%STRA(kk(3)+i)*one_over_8
2200 strain(4)=strain(4) + lbuf%STRA(kk(4)+i)*one_over_8
2201 strain(5)=strain(5) + lbuf%STRA(kk(5)+i)*one_over_8
2202 strain(6)=strain(6) + lbuf%STRA(kk(6)+i)*one_over_8
2209 ELSEIF(npt == 1)
THEN
2210 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(1,1,1)
2212 IF (mte == 12 .OR. mte == 14)
THEN
2214 strain(j) = lbuf%EPE(kk(j)+i)
2217 ELSEIF (elbuf_tab(ng)%BUFLY(1)%L_STRA > 0)
THEN
2219 strain(j) = lbuf%STRA(kk(j)+i)
2222 strain(j) = lbuf%STRA(kk(j)+i) *half
2229 gama(1)=gbuf%GAMA(kk(1) + i)
2230 gama(2)=gbuf%GAMA(kk(2) + i)
2231 gama(3)=gbuf%GAMA(kk(3) + i)
2232 gama(4)=gbuf%GAMA(kk(4) + i)
2233 gama(5)=gbuf%GAMA(kk(5) + i)
2234 gama(6)=gbuf%GAMA(kk(6) + i)
2236 1 x , ixs(1,n), 2 , strain,
2237 2 gama, khbe , igtyp, isorth)
2240 wwa(239030 + j) = strain(j)
2244 wwa(1618 + j) = strain(j)
2247 wwa(1618 + 4) = strain(4)
2248 wwa(1618 + 5) = strain(6)
2249 wwa(1618 + 6) = strain(5)
2255 DO l=iadv,iadv+nvar-1