39 SUBROUTINE tensors(ELBUF_TAB,IPARG ,ITENS ,IXS ,PM ,
40 2 EL2FA ,NBF ,TENS ,EPSDOT ,
41 3 NBPART ,X ,IADG ,IPART ,
42 4 IPARTSP ,ISPH3D ,IPM ,IGEO )
49 use element_mod ,
only : nixs
53#include "implicit_f.inc"
57#include "vect01_c.inc"
69 my_real tens(6,*),epsdot(6,*),pm(npropm,*),x(3,*)
70 INTEGER IPARG(NPARG,*),ITENS,
71 . IXS(NIXS,*),EL2FA(*),IADG(NSPMD,*),IPM(NPROPMI,*),
72 . nbf,nbpart,ipart(lipart1,*),ipartsp(*),
73 . isph3d,igeo(npropgi,*)
74 TYPE (ELBUF_STRUCT_),
DIMENSION(NGROUP),
TARGET :: ELBUF_TAB
80 INTEGER I,N,J,NG,NEL,IPT,MT1,MLW, ISTRAIN,TSHELL,
82 . nn1,nn2,nn3,nn4,icsig,ior_tsh,nuvar,buf,
83 . kcvt,isolnod,nlay,nptr,npts,nptt,nptg,il,is,ir,it,ivisc,iok,
85 REAL,
DIMENSION(:),
ALLOCATABLE :: WA
86 TYPE(G_BUFEL_) ,
POINTER :: GBUF
87 TYPE(L_BUFEL_) ,
POINTER :: LBUF
90 CALL my_alloc(wa,6*nbf)
97 nn4 = nn3 + isph3d*(numsph+maxpjet)
100 gbuf => elbuf_tab(ng)%GBUF
101 istrain = iparg(44,ng)
102 isolnod = iparg(28,ng)
105 2 mlw ,nel ,nft ,iad ,ity ,
106 3 npt ,jale ,ismstr ,jeul ,jtur ,
107 4 jthe ,jlag ,jmult ,jhbe ,jivf ,
108 5 nvaux ,jpor ,kcvt ,jclose ,jplasol ,
109 6 irep ,iint ,igtyp ,israt ,isrot ,
110 7 icsen ,isorth ,isorthg ,ifailure,jsms )
125 IF (igtyp==20 .OR. igtyp==21 .OR. igtyp==22) tshell = 1
126 IF (igtyp == 21.OR.igtyp == 22) ior_tsh = 1
127 nlay = elbuf_tab(ng)%NLAY
128 nptr = elbuf_tab(ng)%NPTR
129 npts = elbuf_tab(ng)%NPTS
130 nptt = elbuf_tab(ng)%NPTT
131 nptg = nptt*npts*nptr
136 IF (kcvt==1.AND.isorth/=0) kcvt=2
138 IF (igtyp /= 22)
THEN
139 IF (isorth > 0) isorthg = 0
144 tens(1,el2fa(nn2+n)) = zero
145 tens(2,el2fa(nn2+n)) = zero
146 tens(3,el2fa(nn2+n)) = zero
147 tens(4,el2fa(nn2+n)) = zero
148 tens(5,el2fa(nn2+n)) = zero
149 tens(6,el2fa(nn2+n)) = zero
153 evar(1:6,lft:llt)=zero
160 evar(1,i) = gbuf%SIG(jj(1) + i)
161 evar(2,i) = gbuf%SIG(jj(2) + i)
162 evar(3,i) = gbuf%SIG(jj(3) + i)
163 evar(4,i) = gbuf%SIG(jj(4) + i)
164 evar(5,i) = gbuf%SIG(jj(5) + i)
165 evar(6,i) = gbuf%SIG(jj(6) + i)
168 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(1,1,1)
170 evar(1,i) =evar(1,i)+ lbuf%VISC(jj(1) + i)
171 evar(2,i) =evar(2,i)+ lbuf%VISC(jj(2) + i)
172 evar(3,i) =evar(3,i)+ lbuf%VISC(jj(3) + i)
173 evar(4,i) =evar(4,i)+ lbuf%VISC(jj(4) + i)
174 evar(5,i) =evar(5,i)+ lbuf%VISC(jj(5) + i)
175 evar(6,i) =evar(6,i)+ lbuf%VISC(jj(6) + i)
179 IF( nfilsol /= 0 .AND. gbuf%G_FILL /= 0 )
THEN
181 evar(1,i) = evar(1,i) * gbuf%FILL(i)
182 evar(2,i) = evar(2,i) * gbuf%FILL(i)
183 evar(3,i) = evar(3,i) * gbuf%FILL(i)
184 evar(4,i) = evar(4,i) * gbuf%FILL(i)
185 evar(5,i) = evar(5,i) * gbuf%FILL(i)
186 evar(6,i) = evar(6,i) * gbuf%FILL(i)
190 IF (jhbe == 17 .AND. iint ==3)
THEN
194 IF(el2fa(nn2+n) /= 0)
THEN
196 IF(kcvt==2.AND.jhbe/=14.AND.jhbe/=15)
THEN
197 gama(1)=gbuf%GAMA(jj(1) + i)
198 gama(2)=gbuf%GAMA(jj(2) + i)
199 gama(3)=gbuf%GAMA(jj(3) + i)
200 gama(4)=gbuf%GAMA(jj(4) + i)
201 gama(5)=gbuf%GAMA(jj(5) + i)
202 gama(6)=gbuf%GAMA(jj(6) + i)
212 2 igtyp, gbuf%COR_FR(9*(i-1)+1),iint, isorth)
215 ELSE IF (kcvt /= 0 .AND. jhbe /= 16)
THEN
219 IF(el2fa(nn2+n) /= 0)
THEN
221 IF(kcvt==2.AND.jhbe/=14.AND.jhbe/=15)
THEN
222 gama(1)=gbuf%GAMA(jj(1) + i)
223 gama(2)=gbuf%GAMA(jj(2) + i)
224 gama(3)=gbuf%GAMA(jj(3) + i)
225 gama(4)=gbuf%GAMA(jj(4) + i)
226 gama(5)=gbuf%GAMA(jj(5) + i)
227 gama(6)=gbuf%GAMA(jj(6) + i)
236 CALL srota6(x, ixs(1,n), kcvt, evar(1,i),gama, jhbe, igtyp, isorth)
241 ELSEIF (itens == 2)
THEN
246 IF (isolnod == 8 .AND. igtyp == 43)
THEN
249 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(ipt,1,1)
250 evar(3,i) = evar(3,i) + lbuf%EPE(jj(1) + i)/npt
251 evar(2,i) = evar(2,i) + lbuf%EPE(jj(2) + i)/npt
252 evar(1,i) = evar(1,i) + lbuf%EPE(jj(3) + i)/npt
257 IF(el2fa(nn2+n) /= 0)
THEN
258 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
262 ELSEIF (isolnod == 8 .AND. npt == 8 .AND. jhbe /= 14 .AND. jhbe /= 24 .AND. jhbe /= 15 .AND. jhbe /= 17 )
THEN
268 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(1,1,j)
269 evar(1,i) = evar(1,i) + lbuf%STRA(jj(1) + i)*one_over_8
270 evar(2,i) = evar(2,i) + lbuf%STRA(jj(2) + i)*one_over_8
271 evar(3,i) = evar(3,i) + lbuf%STRA(jj(3) + i)*one_over_8
272 evar(4,i) = evar(4,i) + lbuf%STRA(jj(4) + i)*one_over_8
273 evar(5,i) = evar(5,i) + lbuf%STRA(jj(5) + i)*one_over_8
274 evar(6,i) = evar(6,i) + lbuf%STRA(jj(6) + i)*one_over_8
279 ELSEIF ((isolnod==8 .OR. (isolnod == 4 .AND. isrot==0)) .AND. npt==1 .AND. jhbe /= 14 .AND. jhbe /= 15)
THEN
280 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(1,1,1)
281 IF (isorth > 0) isorthg = 1
282 IF (mlw>=28.AND.mlw /= 49)
THEN
285 evar(1,i) = lbuf%STRA(jj(1) + i)
286 evar(2,i) = lbuf%STRA(jj(2) + i)
287 evar(3,i) = lbuf%STRA(jj(3) + i)
288 evar(4,i) = lbuf%STRA(jj(4) + i)*half
289 evar(5,i) = lbuf%STRA(jj(5) + i)*half
290 evar(6,i) = lbuf%STRA(jj(6) + i)*half
292 IF (isorth > 0) kcvt = 2
293 ELSEIF (mlw == 12 .OR. mlw == 14)
THEN
296 evar(1,i) = evar(1,i) + lbuf%EPE(jj(1) + i)
297 evar(2,i) = evar(2,i) + lbuf%EPE(jj(2) + i)
298 evar(3,i) = evar(3,i) + lbuf%EPE(jj(3) + i)
300 IF (isorth > 0) kcvt = 2
301 ELSEIF (mlw == 24 .OR. mlw == 25)
THEN
304 evar(1,i) = lbuf%STRA(jj(1) + i)
305 evar(2,i) = lbuf%STRA(jj(2) + i)
306 evar(3,i) = lbuf%STRA(jj(3) + i)
307 evar(4,i) = lbuf%STRA(jj(4) + i)*half
308 evar(5,i) = lbuf%STRA(jj(5) + i)*half
309 evar(6,i) = lbuf%STRA(jj(6) + i)*half
311 IF (isorth > 0) kcvt = 2
312 ELSEIF (istrain > 0)
THEN
313 IF (mlw /= 14 .AND. mlw /= 24 .AND. mlw<28 .OR. mlw == 49)
THEN
316 evar(1,i) = lbuf%STRA(jj(1) + i)
317 evar(2,i) = lbuf%STRA(jj(2) + i)
318 evar(3,i) = lbuf%STRA(jj(3) + i)
319 evar(4,i) = lbuf%STRA(jj(4) + i)*half
320 evar(5,i) = lbuf%STRA(jj(5) + i)*half
321 evar(6,i) = lbuf%STRA(jj(6) + i)*half
338 IF(el2fa(nn2+n) /= 0)
THEN
340 gama(1)=gbuf%GAMA(jj(1) + i)
341 gama(2)=gbuf%GAMA(jj(2) + i)
342 gama(3)=gbuf%GAMA(jj(3) + i)
343 gama(4)=gbuf%GAMA(jj(4) + i)
344 gama(5)=gbuf%GAMA(jj(5) + i)
345 gama(6)=gbuf%GAMA(jj(6) + i)
354 CALL srota6(x, ixs(1,n), kcvt, evar(1,i),gama, jhbe, igtyp, isorth)
359 ELSEIF(isolnod == 16 .OR. isolnod == 20 .OR. (isolnod == 8 .AND. (jhbe == 14 .OR. jhbe == 17)))
THEN
361 IF (mlw>=28.AND.mlw /= 49)
THEN
368 lbuf => elbuf_tab(ng)%BUFLY(il)%LBUF(ir,is,it)
369 evar(1,i) = evar(1,i) + lbuf%STRA(jj(1) + i)/npt
370 evar(2,i) = evar(2,i) + lbuf%STRA(jj(2) + i)/npt
371 evar(3,i) = evar(3,i) + lbuf%STRA(jj(3) + i)/npt
372 evar(4,i) = evar(4,i) + lbuf%STRA(jj(4) + i)*half/npt
373 evar(5,i) = evar(5,i) + lbuf%STRA(jj(5) + i)*half/npt
374 evar(6,i) = evar(6,i) + lbuf%STRA(jj(6) + i)*half/npt
380 ELSEIF (mlw == 12 .OR. mlw == 14)
THEN
387 lbuf => elbuf_tab(ng)%BUFLY(il)%LBUF(ir,is,it)
388 evar(1,i) = evar(1,i) + lbuf%EPE(jj(1) + i)/npt
389 evar(2,i) = evar(2,i) + lbuf%EPE(jj(2) + i)/npt
390 evar(3,i) = evar(3,i) + lbuf%EPE(jj(3) + i)/npt
396 ELSEIF(mlw == 24 .OR. mlw == 25)
THEN
403 lbuf => elbuf_tab(ng)%BUFLY(il)%LBUF(ir,is,it)
404 IF (elbuf_tab(ng)%BUFLY(il)%L_STRA > 0)
THEN
405 evar_tmp(1) = lbuf%STRA(jj(1) + i)/npt
406 evar_tmp(2) = lbuf%STRA(jj(2) + i)/npt
407 evar_tmp(3) = lbuf%STRA(jj(3) + i)/npt
408 evar_tmp(4) = lbuf%STRA(jj(4) + i)*half/npt
409 evar_tmp(5) = lbuf%STRA(jj(5) + i)*half/npt
410 evar_tmp(6) = lbuf%STRA(jj(6) + i)*half/npt
412 IF (kcvt /= 0 .AND.icsig > 0)
THEN
413 IF (igtyp == 21)
THEN
418 IF(el2fa(nn2+n) /= 0)
THEN
421 gama(2)= gbuf%GAMA(jj(1) + i)
422 gama(3)= gbuf%GAMA(jj(2) + i)
434 CALL srota6(x, ixs(1,n),kcvt, evar_tmp,gama, jhbe, igtyp, isorth)
437 IF(el2fa(nn2+n) /= 0)
THEN
439 gama(1)= gbuf%GAMA(jj(1) + i)
440 gama(2)= gbuf%GAMA(jj(2) + i)
453 CALL srota6(x, ixs(1,n),kcvt, evar_tmp,gama, jhbe, igtyp, isorth)
456 IF(el2fa(nn2+n) /= 0)
THEN
458 gama(1)= gbuf%GAMA(jj(2) + i)
460 gama(3)= gbuf%GAMA(jj(1) + i)
472 CALL srota6(x, ixs(1,n),kcvt, evar_tmp,gama, jhbe, igtyp, isorth)
481 IF(el2fa(nn2+n) /= 0)
THEN
484 gama(2)= lbuf%GAMA(jj(1) + i)
485 gama(3)= lbuf%GAMA(jj(2) + i)
497 CALL srota6(x, ixs(1,n),kcvt, evar_tmp,gama, jhbe, igtyp, isorth)
500 IF(el2fa(nn2+n) /= 0)
THEN
502 gama(1)= lbuf%GAMA(jj(1) + i)
503 gama(2)= lbuf%GAMA(jj(2) + i)
516 CALL srota6(x, ixs(1,n),kcvt, evar_tmp,gama, jhbe, igtyp, isorth)
519 IF(el2fa(nn2+n) /= 0)
THEN
521 gama(1)= lbuf%GAMA(jj(2) + i)
523 gama(3)= lbuf%GAMA(jj(1) + i)
535 CALL srota6(x, ixs(1,n),kcvt, evar_tmp,gama, jhbe, igtyp, isorth)
541 evar(1,i) = evar(1,i)+evar_tmp(1)
542 evar(2,i) = evar(2,i)+evar_tmp(2)
543 evar(3,i) = evar(3,i)+evar_tmp(3)
544 evar(4,i) = evar(4,i)+evar_tmp(4)
545 evar(5,i) = evar(5,i)+evar_tmp(5)
546 evar(6,i) = evar(6,i)+evar_tmp(6)
553 ELSEIF(istrain > 0)
THEN
554 IF (mlw /= 14.AND.mlw /= 24.AND.mlw<28)
THEN
561 lbuf => elbuf_tab(ng)%BUFLY(il)%LBUF(ir,is,it)
562 evar_tmp(1) = lbuf%STRA(jj(1) + i)/npt
563 evar_tmp(2) = lbuf%STRA(jj(2) + i)/npt
564 evar_tmp(3) = lbuf%STRA(jj(3) + i)/npt
565 evar_tmp(4) = lbuf%STRA(jj(4) + i)*half/npt
566 evar_tmp(5) = lbuf%STRA(jj(5) + i)*half/npt
567 evar_tmp(6) = lbuf%STRA(jj(6) + i)*half/npt
569 IF (kcvt /= 0 .AND.icsig > 0)
THEN
574 IF(el2fa(nn2+n) /= 0)
THEN
577 gama(2)= lbuf%GAMA(jj(1) + i)
578 gama(3)= lbuf%GAMA(jj(2) + i)
590 CALL srota6(x, ixs(1,n),kcvt, evar_tmp,gama, jhbe, igtyp, isorth)
593 IF(el2fa(nn2+n) /= 0)
THEN
595 gama(1)= lbuf%GAMA(jj(1) + i)
596 gama(2)= lbuf%GAMA(jj(2) + i)
609 CALL srota6(x, ixs(1,n),kcvt, evar_tmp,gama, jhbe, igtyp, isorth)
612 IF(el2fa(nn2+n) /= 0)
THEN
614 gama(1)= lbuf%GAMA(jj(2) + i)
616 gama(3)= lbuf%GAMA(jj(1) + i)
628 CALL srota6(x, ixs(1,n),kcvt, evar_tmp
633 evar(1,i) = evar(1,i)+evar_tmp(1)
634 evar(2,i) = evar(2,i)+evar_tmp(2)
635 evar(3,i) = evar(3,i)+evar_tmp(3)
636 evar(4,i) = evar(4,i)+evar_tmp(4)
637 evar(5,i) = evar(5,i)+evar_tmp(5)
638 evar(6,i) = evar(6,i)+evar_tmp(6)
657 IF (mlw == 12 .OR. mlw == 14 .OR. mlw == 24 .OR. mlw == 25 .OR. (mlw >= 28 .AND. mlw
THEN
658 IF (isorth > 0) kcvt = 2
661 IF (kcvt /= 0 .AND.icsig == 0 .AND. jhbe /= 16)
THEN
665 IF(el2fa(nn2+n) /= 0)
THEN
667 gama(1)=gbuf%GAMA(jj(1) + i)
668 gama(2)=gbuf%GAMA(jj(2) + i)
669 gama(3)=gbuf%GAMA(jj(3) + i)
670 gama(4)=gbuf%GAMA(jj(4) + i)
671 gama(5)=gbuf%GAMA(jj(5) + i)
672 gama(6)=gbuf%GAMA(jj(6) + i)
681 CALL srota6(x, ixs(1,n), kcvt, evar(1,i),gama, jhbe, igtyp, isorth)
686 ELSEIF (isolnod==10 .OR. (isolnod==4 .AND. isrot==1))
THEN
688 IF (mlw>=28.AND.mlw /= 49)
THEN
692 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(ipt,1,1)
693 evar(1,i) = evar(1,i)+lbuf%STRA(jj(1) + i)/npt
694 evar(2,i) = evar(2,i)+lbuf%STRA(jj(2) + i)/npt
695 evar(3,i) = evar(3,i)+lbuf%STRA(jj(3) + i)/npt
696 evar(4,i) = evar(4,i)+lbuf%STRA(jj(4) + i)*half/npt
697 evar(5,i) = evar(5,i)+lbuf%STRA(jj(5) + i)*half/npt
698 evar(6,i) = evar(6,i)+lbuf%STRA(jj(6) + i)*half/npt
701 ELSEIF(mlw == 12 .OR. mlw == 14)
THEN
705 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(ipt,1,1)
706 evar(1,i) = evar(1,i) + lbuf%EPE(jj(1) + i)/npt
707 evar(2,i) = evar(2,i) + lbuf%EPE(jj(2) + i)/npt
708 evar(3,i) = evar(3,i) + lbuf%EPE(jj(3) + i)/npt
711 ELSEIF ((mlw == 24 .OR. mlw == 25) .and. istrain > 0)
THEN
715 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(ipt,1,1)
716 evar(1,i) = evar(1,i)+lbuf%STRA(jj(1) + i)/npt
717 evar(2,i) = evar(2,i)+lbuf%STRA(jj(2) + i)/npt
718 evar(3,i) = evar(3,i)+lbuf%STRA(jj(3) + i)/npt
719 evar(4,i) = evar(4,i)+lbuf%STRA(jj(4) + i)*half/npt
720 evar(5,i) = evar(5,i)+lbuf%STRA(jj(5) + i)*half/npt
721 evar(6,i) = evar(6,i)+lbuf%STRA(jj(6) + i)*half/npt
724 ELSEIF(istrain > 0)
THEN
725 IF (mlw /= 14.AND.mlw /= 24.AND.mlw<28)
THEN
729 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(ipt,1,1)
730 evar(1,i) = evar(1,i)+lbuf%STRA(jj(1) + i)/npt
731 evar(2,i) = evar(2,i)+lbuf%STRA(jj(2) + i)/npt
732 evar(3,i) = evar(3,i)+lbuf%STRA(jj(3) + i)/npt
733 evar(4,i) = evar(4,i)+lbuf%STRA(jj(4) + i)*half/npt
734 evar(5,i) = evar(5,i)+lbuf%STRA(jj(5) + i)*half/npt
735 evar(6,i) = evar(6,i)+lbuf%STRA(jj(6) + i)*half/npt
753 IF (el2fa(nn2+n) /= 0)
THEN
755 gama(1)=gbuf%GAMA(jj(1) + i)
756 gama(2)=gbuf%GAMA(jj(2) + i)
757 gama(3)=gbuf%GAMA(jj(3) + i)
758 gama(4)=gbuf%GAMA(jj(4) + i)
759 gama(5)=gbuf%GAMA(jj(5) + i)
760 gama(6)=gbuf%GAMA(jj(6) + i)
769 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
774 ELSEIF(((isolnod == 6.OR.isolnod == 8).AND.jhbe == 15) .OR. ((isolnod == 6).AND.jhbe == 24))
THEN
776 IF (mlw>=28.AND.mlw /= 49.AND.istrain > 0)
THEN
781 lbuf => elbuf_tab(ng)%BUFLY(il)%LBUF(ipt,1,1)
782 evar(1,i) = evar(1,i)+lbuf%STRA(jj(1) + i)/(nptg*nlay)
783 evar(2,i) = evar(2,i)+lbuf%STRA(jj(2) + i)/(nptg*nlay)
784 evar(3,i) = evar(3,i)+lbuf%STRA(jj(3) + i)/(nptg*nlay)
785 evar(4,i) = evar(4,i)+lbuf%STRA(jj(4) + i)*half/(nptg*nlay)
786 evar(5,i) = evar(5,i)+lbuf%STRA(jj(5) + i)*half/(nptg*nlay)
787 evar(6,i) = evar(6,i)+lbuf%STRA(jj(6) + i)*half/(nptg*nlay)
791 ELSEIF(mlw == 12 .OR. mlw == 14)
THEN
795 lbuf => elbuf_tab(ng)%BUFLY(il)%LBUF(ipt,1,1)
796 evar(1,i) = evar(1,i) + lbuf%EPE(jj(1) + i)/(nptg*nlay)
797 evar(2,i) = evar(2,i) + lbuf%EPE(jj(2) + i)/(nptg*nlay)
798 evar(3,i) = evar(3,i) + lbuf%EPE(jj(3) + i)/(nptg*nlay)
802 ELSEIF ((mlw == 24 .OR. mlw == 25) .and. istrain > 0)
THEN
807 lbuf => elbuf_tab(ng)%BUFLY(il)%LBUF(ipt,1,1)
808 evar(1,i) = evar(1,i)+lbuf%STRA(jj(1) + i)/(nptg*nlay)
809 evar(2,i) = evar(2,i)+lbuf%STRA(jj(2) + i)/(nptg*nlay)
810 evar(3,i) = evar(3,i)+lbuf%STRA(jj(3) + i)/(nptg*nlay)
811 evar(4,i) = evar(4,i)+lbuf%STRA(jj(4) + i)*half/(nptg*nlay)
812 evar(5,i) = evar(5,i)+lbuf%STRA(jj(5) + i)*half/(nptg*nlay)
813 evar(6,i) = evar(6,i)+lbuf%STRA(jj(6) + i)*half/(nptg*nlay)
817 ELSEIF (istrain > 0)
THEN
818 IF(mlw /= 14.AND.mlw /= 24.AND.mlw<28)
THEN
823 lbuf => elbuf_tab(ng)%BUFLY(il)%LBUF(ipt,1,1)
824 evar(1,i) = evar(1,i)+lbuf%STRA(jj(1) + i)/(nptg*nlay)
825 evar(2,i) = evar(2,i)+lbuf%STRA(jj(2) + i)/(nptg*nlay)
826 evar(3,i) = evar(3,i)+lbuf%STRA(jj(3) + i)/(nptg*nlay)
827 evar(4,i) = evar(4,i)+lbuf%STRA(jj(4) + i)*half/(nptg*nlay)
828 evar(5,i) = evar(5,i)+lbuf%STRA(jj(5) + i)*half/(nptg*nlay)
829 evar(6,i) = evar(6,i)+lbuf%STRA(jj(6) + i)*half/(nptg*nlay)
848 IF (el2fa(nn2+n) /= 0)
THEN
850 gama(1)= gbuf%GAMA(jj(1) + i)
851 gama(2)= gbuf%GAMA(jj(2) + i)
864 CALL srota6(x, ixs(1,n), kcvt, evar(1,i),gama, jhbe, igtyp, isorth)
873 ELSEIF (itens == 4 .AND. mlw == 24 .AND. nint(pm(56,mt1)) == 1)
THEN
884 IF (isolnod == 8 .AND.(jhbe == 14 .OR. jhbe == 15))
THEN
887 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(1,1,1)
889 evar(1,i) = evar(1,i)+lbuf%DGLO(jj(1) + i)
890 evar(2,i) = evar(2,i)+lbuf%DGLO(jj(2) + i)
891 evar(3,i) = evar(3,i)+lbuf%DGLO(jj(3) + i)
892 evar(4,i) = evar(4,i)+lbuf%DGLO(jj(4) + i)
893 evar(5,i) = evar(5,i)+lbuf%DGLO(jj(5) + i)
894 evar(6,i) = evar(6,i)+lbuf%DGLO(jj(6) + i)
901 IF(el2fa(nn2+n) /= 0)
THEN
903 gama(1)= gbuf%GAMA(jj(1) + i)
904 gama(2)= gbuf%GAMA(jj(2) + i)
917 CALL srota6(x, ixs(1,n), kcvt, evar(1,i),gama, jhbe, igtyp, isorth)
922 ELSEIF (itens == 5)
THEN
935 IF ((isolnod == 8 .OR. (isolnod == 4 .AND. isrot == 0)) .AND. npt == 1 .AND. jhbe /= 14 .AND. jhbe /= 15)
THEN
937 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(1,1,1)
938 IF (isorth > 0) isorthg = 1
942 evar(1,i) = lbuf%PLA(jj(1) + i + nel)
943 evar(2,i) = lbuf%PLA(jj(2) + i + nel)
944 evar(3,i) = lbuf%PLA(jj(3) + i + nel)
945 evar(4,i) = lbuf%PLA(jj(4) + i + nel)*half
946 evar(5,i) = lbuf%PLA(jj(5) + i + nel)*half
947 evar(6,i) = lbuf%PLA(jj(6) + i + nel)*half
955 IF (el2fa(nn2+n) /= 0)
THEN
957 gama(1) = gbuf%GAMA(jj(1) + i)
958 gama(2) = gbuf%GAMA(jj(2) + i)
959 gama(3) = gbuf%GAMA(jj(3) + i)
960 gama(4) = gbuf%GAMA(jj(4) + i)
961 gama(5) = gbuf%GAMA(jj(5) + i)
962 gama(6) = gbuf%GAMA(jj(6) + i)
971 CALL srota6(x, ixs(1,n), kcvt, evar(1,i),gama, jhbe, igtyp, isorth)
976 ELSEIF (isolnod == 16 .OR. isolnod == 20 .OR. (isolnod == 8 .AND. (jhbe == 14 .OR. jhbe == 17)))
THEN
985 lbuf => elbuf_tab(ng)%BUFLY(il)%LBUF(ir,is,it)
986 IF (elbuf_tab(ng)%BUFLY(il)%L_PLA > 0)
THEN
988 evar_tmp(1) = lbuf%PLA(jj(1) + i + nel)/npt
989 evar_tmp(2) = lbuf%PLA(jj(2) + i + nel)/npt
990 evar_tmp(3) = lbuf%PLA(jj(3) + i + nel)/npt
991 evar_tmp(4) = lbuf%PLA(jj(4) + i + nel)*half/npt
992 evar_tmp(5) = lbuf%PLA(jj(5) + i + nel)*half/npt
993 evar_tmp(6) = lbuf%PLA(jj(6) + i + nel)*half/npt
996 IF (kcvt /= 0 .AND.icsig > 0)
THEN
997 IF (igtyp == 21)
THEN
1002 IF (el2fa(nn2+n) /= 0)
THEN
1005 gama(2) = gbuf%GAMA(jj(1) + i)
1006 gama(3) = gbuf%GAMA(jj(2) + i)
1018 CALL srota6(x, ixs(1,n),kcvt, evar_tmp,gama, jhbe, igtyp, isorth)
1021 IF (el2fa(nn2+n) /= 0)
THEN
1023 gama(1) = gbuf%GAMA(jj(1) + i)
1024 gama(2) = gbuf%GAMA(jj(2) + i)
1037 CALL srota6(x, ixs(1,n),kcvt, evar_tmp,gama, jhbe, igtyp, isorth)
1040 IF (el2fa(nn2+n) /= 0)
THEN
1042 gama(1) = gbuf%GAMA(jj(2) + i)
1044 gama(3) = gbuf%GAMA(jj(1) + i)
1056 CALL srota6(x, ixs(1,n),kcvt, evar_tmp,gama, jhbe, igtyp, isorth)
1062 IF (jhbe == 14)
THEN
1065 IF (el2fa(nn2+n) /= 0)
THEN
1068 gama(2) = lbuf%GAMA(jj(1) + i)
1069 gama(3) = lbuf%GAMA(jj(2) + i)
1081 CALL srota6(x, ixs(1,n),kcvt, evar_tmp,gama, jhbe, igtyp, isorth)
1084 IF (el2fa(nn2+n) /= 0)
THEN
1086 gama(1) = lbuf%GAMA(jj(1) + i)
1087 gama(2) = lbuf%GAMA(jj(2) + i)
1100 CALL srota6(x, ixs(1,n),kcvt, evar_tmp, gama, jhbe, igtyp, isorth)
1103 IF (el2fa(nn2+n) /= 0)
THEN
1105 gama(1) = lbuf%GAMA(jj(2) + i)
1107 gama(3) = lbuf%GAMA(jj(1) + i)
1119 CALL srota6(x, ixs(1,n),kcvt, evar_tmp,gama, jhbe, igtyp, isorth)
1125 evar(1,i) = evar(1,i)+evar_tmp(1)
1126 evar(2,i) = evar(2,i)+evar_tmp(2)
1127 evar(3,i) = evar(3,i)+evar_tmp(3)
1128 evar(4,i) = evar(4,i)+evar_tmp(4)
1129 evar(5,i) = evar(5,i)+evar_tmp(5)
1130 evar(6,i) = evar(6,i)+evar_tmp(6)
1139 icsig = iparg(17,ng)
1140 IF (kcvt /= 0 .AND. icsig == 0 .AND. jhbe /= 16)
THEN
1144 IF (el2fa(nn2+n) /= 0)
THEN
1146 gama(1) = gbuf%GAMA(jj(1) + i)
1147 gama(2) = gbuf%GAMA(jj(2) + i)
1148 gama(3) = gbuf%GAMA(jj(3) + i)
1149 gama(4) = gbuf%GAMA(jj(4) + i)
1150 gama(5) = gbuf%GAMA(jj(5) + i)
1151 gama(6) = gbuf%GAMA(jj(6) + i)
1160 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
1165 ELSEIF (isolnod == 10 .OR. (isolnod == 4 .AND. isrot == 1))
THEN
1167 IF (mlw == 24 .AND. istrain > 0)
THEN
1171 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(ipt,1,1)
1172 evar(1,i) = evar(1,i) + lbuf%PLA(jj(1) + i + nel)/npt
1173 evar(2,i) = evar(2,i) + lbuf%PLA(jj(2) + i + nel)/npt
1174 evar(3,i) = evar(3,i) + lbuf%PLA(jj(3) + i + nel)/npt
1175 evar(4,i) = evar(4,i) + lbuf%PLA(jj(4) + i + nel)*half/npt
1176 evar(5,i) = evar(5,i) + lbuf%PLA(jj(5) + i + nel)*half/npt
1177 evar(6,i) = evar(6,i) + lbuf%PLA(jj(6) + i + nel)*half/npt
1186 IF (el2fa(nn2+n) /= 0)
THEN
1188 gama(1) = gbuf%GAMA(jj(1) + i)
1189 gama(2) = gbuf%GAMA(jj(2) + i)
1190 gama(3) = gbuf%GAMA(jj(3) + i)
1191 gama(4) = gbuf%GAMA(jj(4) + i)
1192 gama(5) = gbuf%GAMA(jj(5) + i)
1193 gama(6) = gbuf%GAMA(jj(6) + i)
1202 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
1207 ELSEIF (((isolnod == 6.OR.isolnod == 8).AND.jhbe == 15) .OR. ((isolnod == 6).AND.jhbe == 24))
THEN
1209 IF (mlw == 24 .AND. istrain > 0)
THEN
1214 lbuf => elbuf_tab(ng)%BUFLY(il)%LBUF(ipt,1,1)
1215 evar(1,i) = evar(1,i)+lbuf%PLA(jj(1) + i + nel)/(nptg*nlay)
1216 evar(2,i) = evar(2,i)+lbuf%PLA(jj(2) + i + nel)/(nptg*nlay)
1217 evar(3,i) = evar(3,i)+lbuf%PLA(jj(3) + i + nel)/(nptg*nlay)
1218 evar(4,i) = evar(4,i)+lbuf%PLA(jj(4) + i + nel)*half/(nptg*nlay)
1219 evar(5,i) = evar(5,i)+lbuf%PLA(jj(5) + i + nel)*half/(nptg*nlay)
1220 evar(6,i) = evar(6,i)+lbuf%PLA(jj(6) + i + nel)*half/(nptg*nlay)
1230 IF (el2fa(nn2+n) /= 0)
THEN
1232 gama(1) = gbuf%GAMA(jj(1) + i)
1233 gama(2) = gbuf%GAMA(jj(2) + i)
1246 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
1257 ELSEIF (itens>=10.AND.itens<=1009)
THEN
1260 IF (isolnod == 8 .AND. igtyp == 43)
THEN
1265 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(ipt,1,1)
1266 evar(3,i) = evar(3,i) + lbuf%SIG(jj(3) + i)/nptr
1267 evar(2,i) = evar(2,i) + lbuf%SIG(jj(5) + i)/nptr
1268 evar(1,i) = evar(1,i) + lbuf%SIG(jj(6) + i)/nptr
1274 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(ipt,1,1)
1275 evar(3,i)= evar(3,i)+ lbuf%SIG(jj(3) + i)/nptr+ lbuf%VISC(jj(3) + i)/nptr
1276 evar(2,i)= evar(2,i)+ lbuf%SIG(jj(5) + i)/nptr+ lbuf%VISC(jj(5) + i)/nptr
1277 evar(1,i)= evar(1,i)+ lbuf%SIG(jj(6) + i)/nptr+ lbuf%VISC(jj(6) + i)/nptr
1283 IF(el2fa(nn2+n) /= 0)
THEN
1284 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
1288 ELSEIF (isolnod == 8 .AND. npt == 8.AND. jhbe /= 14 .AND. jhbe /= 24 .AND. jhbe /= 15)
THEN
1291 is = mod(abs(pti)/10,10)
1292 it = mod(abs(pti),10)
1293 IF (ir == 0 .AND. it == 0)
THEN
1295 ELSEIF(ir <= nptr .AND. is <= npts .AND. it <= nptt)
THEN
1296 ipt = ir + ( (is-1) + (it-1)*npts )*nptr
1297 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(ir,is,it)
1300 evar(1,i) = lbuf%SIG(jj(1) + i)
1301 evar(2,i) = lbuf%SIG(jj(2) + i)
1302 evar(3,i) = lbuf%SIG(jj(3) + i)
1303 evar(4,i) = lbuf%SIG(jj(4) + i)
1304 evar(5,i) = lbuf%SIG(jj(5) + i)
1305 evar(6,i) = lbuf%SIG(jj(6) + i)
1309 evar(1,i) =evar(1,i)+lbuf%VISC(jj(1) + i)
1310 evar(2,i) =evar(2,i)+lbuf%VISC(jj(2) + i)
1311 evar(3,i) =evar(3,i)+lbuf%VISC(jj(3) + i)
1312 evar(4,i) =evar(4,i)+lbuf%VISC(jj(4) + i)
1313 evar(5,i) =evar(5,i)+lbuf%VISC(jj(5) + i)
1314 evar(6,i) =evar(6,i)+lbuf%VISC(jj(6) + i)
1322 IF(el2fa(nn2+n) /= 0)
THEN
1324 gama(1)= gbuf%GAMA(jj(1) + i)
1325 gama(2)= gbuf%GAMA(jj(2) + i)
1326 gama(3)= gbuf%GAMA(jj(3) + i)
1327 gama(4)= gbuf%GAMA(jj(4) + i)
1328 gama(5)= gbuf%GAMA(jj(5) + i)
1329 gama(6)= gbuf%GAMA(jj(6) + i)
1338 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
1353 ELSEIF((isolnod == 8.OR.npt == 1) .AND. jhbe /= 14.AND.jhbe /= 15.AND.jhbe /= 17)
THEN
1359 is = mod(abs(pti)/10,10)
1360 it = mod(abs(pti),10)
1361 IF (ir == 0 .AND. it == 0)
THEN
1363 ipt = ir + ( (is-1) + (it-1)*npts )*nptr
1365 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(1,1,1)
1367 evar(1,i) = lbuf%SIG(jj(1) + i)
1368 evar(2,i) = lbuf%SIG(jj(2) + i)
1369 evar(3,i) = lbuf%SIG(jj(3) + i)
1370 evar(4,i) = lbuf%SIG(jj(4) + i)
1371 evar(5,i) = lbuf%SIG(jj(5) + i)
1372 evar(6,i) = lbuf%SIG(jj(6) + i)
1376 evar(1,i) =evar(1,i)+lbuf%VISC(jj(1) + i)
1377 evar(2,i) =evar(2,i)+lbuf%VISC(jj(2) + i)
1378 evar(3,i) =evar(3,i)+lbuf%VISC(jj(3) + i)
1379 evar(4,i) =evar(4,i)+lbuf%VISC(jj(4) + i)
1380 evar(5,i) =evar(5,i)+lbuf%VISC(jj(5) + i)
1381 evar(6,i) =evar(6,i)+lbuf%VISC(jj(6) + i)
1389 IF(el2fa(nn2+n) /= 0)
THEN
1391 gama(1)=gbuf%GAMA(jj(1) + i)
1392 gama(2)=gbuf%GAMA(jj(2) + i)
1393 gama(3)=gbuf%GAMA(jj(3) + i)
1394 gama(4)=gbuf%GAMA(jj(4) + i)
1395 gama(5)=gbuf%GAMA(jj(5) + i)
1396 gama(6)=gbuf%GAMA(jj(6) + i)
1405 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
1411 ELSEIF (isolnod == 20 .OR. isolnod == 16 )
THEN
1414 is=mod(abs(pti)/10,10)
1416 IF (ir == 0 .OR. is == 0.OR. it == 0) cycle
1417 IF (tshell == 1 .AND. is <= nlay )
THEN
1418 lbuf => elbuf_tab(ng)%BUFLY(is)%LBUF(ir,1,it)
1420 ELSEIF(ir <= nptr .AND. is <= npts .AND. it <= nptt)
THEN
1421 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(ir,is,it)
1424 ipt = ir + ( (is-1) + (it-1)*npts )*nptr
1427 evar(1,i) = lbuf%SIG(jj(1) + i)
1428 evar(2,i) = lbuf%SIG(jj(2) + i)
1429 evar(3,i) = lbuf%SIG(jj(3) + i)
1430 evar(4,i) = lbuf%SIG(jj(4) + i)
1431 evar(5,i) = lbuf%SIG(jj(5) + i)
1432 evar(6,i) = lbuf%SIG(jj(6) + i)
1436 evar(1,i) =evar(1,i)+lbuf%VISC(jj(1) + i)
1437 evar(2,i) =evar(2,i)+lbuf%VISC(jj(2) + i)
1438 evar(3,i) =evar(3,i)+lbuf%VISC(jj(3) + i)
1439 evar(4,i) =evar(4,i)+lbuf%VISC(jj(4) + i)
1440 evar(5,i) =evar(5,i)+lbuf%VISC(jj(5) + i)
1441 evar(6,i) =evar(6,i)+lbuf%VISC(jj(6) + i)
1445 IF (kcvt /= 0 .AND. jhbe /= 16)
THEN
1449 IF(el2fa(nn2+n) /= 0)
THEN
1451 gama(1)=gbuf%GAMA(jj(1) + i)
1452 gama(2)=gbuf%GAMA(jj(2) + i)
1453 gama(3)=gbuf%GAMA(jj(3) + i)
1454 gama(4)=gbuf%GAMA(jj(4) + i)
1455 gama(5)=gbuf%GAMA(jj(5) + i)
1456 gama(6)=gbuf%GAMA(jj(6) + i)
1465 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
1470 ELSEIF (isolnod == 8 .AND. jhbe == 14 )
THEN
1472 icsig = iparg(17,ng)
1473 nptg = nptr * npts * nptt * nlay
1475 is0=mod(abs(pti)/10,10)
1476 it0=mod(abs(pti),10)
1477 ipid = ixs(10,1 + nft)
1478 IF (ir0==0.OR.is0==0.OR.it0==0) cycle
1482 IF (tshell == 1)
THEN
1483 IF (icsig==100)
THEN
1487 ELSEIF (icsig==10)
THEN
1498 ipt = ir + ( (is-1) + (it-1)*npts )*nptr
1500 IF (tshell == 1 .AND. it <= nlay )
THEN
1501 lbuf => elbuf_tab(ng)%BUFLY(it)%LBUF(ir,is,1)
1503 ELSEIF(ir0 <= nptr .AND. is0 <= npts .AND. it0 <= nptt)
THEN
1504 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(ir,is,it)
1509 evar(1,i) = lbuf%SIG(jj(1) + i)
1510 evar(2,i) = lbuf%SIG(jj(2) + i)
1511 evar(3,i) = lbuf%SIG(jj(3) + i)
1512 evar(4,i) = lbuf%SIG(jj(4) + i)
1513 evar(5,i) = lbuf%SIG(jj(5) + i)
1514 evar(6,i) = lbuf%SIG(jj(6) + i)
1518 evar(1,i) =evar(1,i)+lbuf%VISC(jj(1) + i)
1519 evar(2,i) =evar(2,i)+lbuf%VISC(jj(2) + i)
1520 evar(3,i) =evar(3,i)+lbuf%VISC(jj(3) + i)
1521 evar(4,i) =evar(4,i)+lbuf%VISC(jj(4) + i)
1522 evar(5,i) =evar(5,i)+lbuf%VISC(jj(5) + i)
1523 evar(6,i) =evar(6,i)+lbuf%VISC(jj(6) + i)
1531 IF (igtyp == 21)
THEN
1536 IF(el2fa(nn2+n) /= 0)
THEN
1539 gama(2)=gbuf%GAMA(jj(1) + i)
1540 gama(3)=gbuf%GAMA(jj(2) + i)
1552 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
1558 IF(el2fa(nn2+n) /= 0)
THEN
1560 gama(1)=gbuf%GAMA(jj(1) + i)
1561 gama(2)=gbuf%GAMA(jj(2) + i)
1574 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
1580 IF(el2fa(nn2+n) /= 0)
THEN
1582 gama(1)=gbuf%GAMA(jj(2) + i)
1584 gama(3)=gbuf%GAMA(jj(1) + i)
1596 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
1605 IF(el2fa(nn2+n) /= 0)
THEN
1608 gama(2)=lbuf%GAMA(jj(1) + i)
1609 gama(3)=lbuf%GAMA(jj(2) + i)
1621 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
1627 IF(el2fa(nn2+n) /= 0)
THEN
1629 gama(1)=lbuf%GAMA(jj(1) + i)
1630 gama(2)=lbuf%GAMA(jj(2) + i)
1643 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
1649 IF(el2fa(nn2+n) /= 0)
THEN
1651 gama(1)=lbuf%GAMA(jj(2) + i)
1653 gama(3)=lbuf%GAMA(jj(1) + i)
1665 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
1673 IF(el2fa(nn2+n) /= 0)
THEN
1675 gama(1)=gbuf%GAMA(jj(1) + i)
1676 gama(2)=gbuf%GAMA(jj(2) + i)
1677 gama(3)=gbuf%GAMA(jj(3) + i)
1678 gama(4)=gbuf%GAMA(jj(4) + i)
1679 gama(5)=gbuf%GAMA(jj(5) + i)
1680 gama(6)=gbuf%GAMA(jj(6) + i)
1689 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
1695 ELSEIF(isolnod == 10.OR.(isolnod == 4 .AND. isrot == 1))
THEN
1698 is=mod(abs(pti)/10,10)
1700 IF (ir == 0 .AND. it == 0)
THEN
1703 IF (ir == 1 .AND. is == 1 .AND. it == 1) ipt = 1
1704 IF (ir == 2 .AND. is == 1 .AND. it == 1) ipt = 2
1705 IF (ir == 1 .AND. is == 2 .AND. it == 1) ipt = 3
1706 IF (ir == 1 .AND. is == 1 .AND. it == 2) ipt = 4
1708 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(ipt,1,1)
1710 evar(1,i) = lbuf%SIG(jj(1) + i)
1711 evar(2,i) = lbuf%SIG(jj(2) + i)
1712 evar(3,i) = lbuf%SIG(jj(3) + i)
1713 evar(4,i) = lbuf%SIG(jj(4) + i)
1714 evar(5,i) = lbuf%SIG(jj(5) + i)
1715 evar(6,i) = lbuf%SIG(jj(6) + i)
1719 evar(1,i) =evar(1,i)+lbuf%VISC(jj(1) + i)
1720 evar(2,i) =evar(2,i)+lbuf%VISC(jj(2) + i)
1721 evar(3,i) =evar(3,i)+lbuf%VISC(jj(3) + i)
1722 evar(4,i) =evar(4,i)+lbuf%VISC(jj(4) + i)
1723 evar(5,i) =evar(5,i)+lbuf%VISC(jj(5) + i)
1724 evar(6,i) =evar(6,i)+lbuf%VISC(jj(6) + i)
1732 IF(el2fa(nn2+n) /= 0)
THEN
1734 gama(1)=gbuf%GAMA(jj(1) + i)
1735 gama(2)=gbuf%GAMA(jj(2) + i)
1736 gama(3)=gbuf%GAMA(jj(3) + i)
1737 gama(4)=gbuf%GAMA(jj(4) + i)
1738 gama(5)=gbuf%GAMA(jj(5) + i)
1739 gama(6)=gbuf%GAMA(jj(6) + i)
1748 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
1754 ELSEIF (((isolnod == 6.OR.isolnod == 8).AND.jhbe == 15) .OR. ((isolnod == 6).AND.jhbe == 24))
THEN
1755 ipt = mod(abs(pti)/10,10)
1756 IF ( ipt > 0 .AND. ipt<=nlay)
THEN
1758 lbuf => elbuf_tab(ng)%BUFLY(ipt)%LBUF(1,1,1)
1760 evar(1,i) = lbuf%SIG(jj(1) + i)
1761 evar(2,i) = lbuf%SIG(jj(2) + i)
1762 evar(3,i) = lbuf%SIG(jj(3) + i)
1763 evar(4,i) = lbuf%SIG(jj(4) + i)
1764 evar(5,i) = lbuf%SIG(jj(5) + i)
1765 evar(6,i) = lbuf%SIG(jj(6) + i)
1769 evar(1,i) =evar(1,i)+lbuf%VISC(jj(1) + i)
1770 evar(2,i) =evar(2,i)+lbuf%VISC(jj(2) + i)
1771 evar(3,i) =evar(3,i)+lbuf%VISC(jj(3) + i)
1772 evar(4,i) =evar(4,i)+lbuf%VISC(jj(4) + i)
1773 evar(5,i) =evar(5,i)+lbuf%VISC(jj(5) + i)
1774 evar(6,i) =evar(6,i)+lbuf%VISC(jj(6) + i)
1781 IF(el2fa(nn2+n) /= 0)
THEN
1782 gama(1)= gbuf%GAMA(jj(1) + i)
1783 gama(2)= gbuf%GAMA(jj(2) + i)
1788 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
1795 IF( nfilsol /= 0 .AND. gbuf%G_FILL /= 0 )
THEN
1797 evar(1,i) = evar(1,i) * gbuf%FILL(i)
1798 evar(2,i) = evar(2,i) * gbuf%FILL(i)
1799 evar(3,i) = evar(3,i) * gbuf%FILL(i)
1800 evar(4,i) = evar(4,i) * gbuf%FILL(i)
1801 evar(5,i) = evar(5,i) * gbuf%FILL(i)
1802 evar(6,i) = evar(6,i) * gbuf%FILL(i)
1807 ELSEIF(itens>=2010.AND.itens<=22109)
THEN
1810 IF (((isolnod == 6.OR.isolnod == 8).AND.jhbe == 15) .OR. ((isolnod == 6).AND.jhbe == 24))
THEN
1811 ipt = mod(abs(pti)/10,201)
1812 IF ( ipt > 0 .AND. ipt<=nlay .AND.nlay>9)
THEN
1814 lbuf => elbuf_tab(ng)%BUFLY(ipt)%LBUF(1,1,1)
1816 evar(1,i) = lbuf%SIG(jj(1) + i)
1817 evar(2,i) = lbuf%SIG(jj(2) + i)
1818 evar(3,i) = lbuf%SIG(jj(3) + i)
1819 evar(4,i) = lbuf%SIG(jj(4) + i)
1820 evar(5,i) = lbuf%SIG(jj(5) + i)
1821 evar(6,i) = lbuf%SIG(jj(6) + i)
1825 evar(1,i) =evar(1,i)+lbuf%VISC(jj(1) + i)
1826 evar(2,i) =evar(2,i)+lbuf%VISC(jj(2) + i)
1827 evar(3,i) =evar(3,i)+lbuf%VISC(jj(3) + i)
1828 evar(4,i) =evar(4,i)+lbuf%VISC(jj(4) + i)
1829 evar(5,i) =evar(5,i)+lbuf%VISC(jj(5) + i)
1830 evar(6,i) =evar(6,i)+lbuf%VISC(jj(6) + i)
1837 IF(el2fa(nn2+n) /= 0)
THEN
1838 gama(1)= lbuf%GAMA(jj(1) + i)
1839 gama(2)= lbuf%GAMA(jj(2) + i)
1844 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
1850 ELSEIF (isolnod == 16.OR.(isolnod == 8 .AND.jhbe == 14))
THEN
1852 icsig = iparg(17,ng)
1854 is0=mod(abs(pti)/10,201)
1855 it0=mod(abs(pti),10)
1856 IF (ir0==0.OR.is0==0.OR.it0==0.OR.nlay<10) cycle
1860 IF (tshell == 1)
THEN
1861 IF (icsig==100)
THEN
1865 ELSEIF (icsig==10)
THEN
1875 IF (ir>nptr.OR.is>npts.OR.it>nlay) cycle
1876 ipt = ir + ( (is-1) + (it-1)*npts )*nptr
1877 IF ( ipt <= npt )
THEN
1878 IF (tshell == 1)
THEN
1879 lbuf => elbuf_tab(ng)%BUFLY(it)%LBUF(ir,is,1)
1881 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(ir,is,it)
1884 evar(1,i) = lbuf%SIG(jj(1) + i)
1885 evar(2,i) = lbuf%SIG(jj(2) + i)
1886 evar(3,i) = lbuf%SIG(jj(3) + i)
1887 evar(4,i) = lbuf%SIG(jj(4) + i)
1888 evar(5,i) = lbuf%SIG(jj(5) + i)
1889 evar(6,i) = lbuf%SIG(jj(6) + i)
1893 evar(1,i) =evar(1,i)+lbuf%VISC(jj(1) + i)
1894 evar(2,i) =evar(2,i)+lbuf%VISC(jj(2) + i)
1895 evar(3,i) =evar(3,i)+lbuf%VISC(jj(3) + i)
1896 evar(4,i) =evar(4,i)+lbuf%VISC(jj(4) + i)
1897 evar(5,i) =evar(5,i)+lbuf%VISC(jj(5) + i)
1898 evar(6,i) =evar(6,i)+lbuf%VISC(jj(6) + i)
1902 IF (kcvt /= 0 .AND. jhbe /= 16)
THEN
1909 IF(el2fa(nn2+n) /= 0)
THEN
1912 gama(2)=lbuf%GAMA(jj(1) + i)
1913 gama(3)=lbuf%GAMA(jj(2) + i)
1925 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
1931 IF(el2fa(nn2+n) /= 0)
THEN
1933 gama(1)=lbuf%GAMA(jj(1) + i)
1934 gama(2)=lbuf%GAMA(jj(2) + i)
1947 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
1953 IF(el2fa(nn2+n) /= 0)
THEN
1955 gama(1)=lbuf%GAMA(jj(2) + i)
1957 gama(3)=lbuf%GAMA(jj(1) + i)
1969 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
1977 IF( nfilsol /= 0 .AND. gbuf%G_FILL /= 0 )
THEN
1979 evar(1,i) = evar(1,i) * gbuf%FILL(i)
1980 evar(2,i) = evar(2,i) * gbuf%FILL(i)
1981 evar(3,i) = evar(3,i) * gbuf%FILL(i)
1982 evar(4,i) = evar(4,i) * gbuf%FILL(i)
1983 evar(5,i) = evar(5,i) * gbuf%FILL(i)
1984 evar(6,i) = evar(6,i) * gbuf%FILL(i)
1989 ELSEIF (itens>=1010.AND.itens<=2009)
THEN
1992 IF (isolnod == 8.AND.npt == 8 .AND. jhbe /= 14 .AND. jhbe /= 24 .AND. jhbe /= 15 .AND. jhbe /= 17)
THEN
1994 is=mod(abs(pti)/10,10)
1996 ipt = ir + ( (is-1) + (it-1)*npts )*nptr
1998 IF(ir <= nptr .AND. is <= npts .AND. it <= nptt)
THEN
1999 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(ir,is,it)
2002 evar(1,i) = evar(1,i) + lbuf%STRA(jj(1) + i)
2003 evar(2,i) = evar(2,i) + lbuf%STRA(jj(2) + i)
2004 evar(3,i) = evar(3,i) + lbuf%STRA(jj(3) + i)
2005 evar(4,i) = evar(4,i) + lbuf%STRA(jj(4) + i)
2006 evar(5,i) = evar(5,i) + lbuf%STRA(jj(5) + i)
2007 evar(6,i) = evar(6,i) + lbuf%STRA(jj(6) + i)
2025 IF(el2fa(nn2+n) /= 0)
THEN
2027 gama(1)=gbuf%GAMA(jj(1) + i)
2028 gama(2)=gbuf%GAMA(jj(2) + i)
2029 gama(3)=gbuf%GAMA(jj(3) + i)
2030 gama(4)=gbuf%GAMA(jj(4) + i)
2031 gama(5)=gbuf%GAMA(jj(5) + i)
2032 gama(6)=gbuf%GAMA(jj(6) + i)
2041 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
2046 ELSEIF ((isolnod == 8 .OR. npt == 1 .OR. (isolnod == 4 .AND. isrot == 0)) .AND.
2047 . jhbe /= 14 .AND. jhbe /= 15 .AND. jhbe /= 17)
THEN
2050 is=mod(abs(pti)/10,10)
2052 ipt = ir + ( (is-1) + (it-1)*npts )*nptr
2054 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(1,1,1)
2055 IF (mlw>=28.AND.mlw /= 49 .OR. mlw == 24)
THEN
2057 evar(1,i) = evar(1,i) + lbuf%STRA(jj(1) + i)
2058 evar(2,i) = evar(2,i) + lbuf%STRA(jj(2) + i)
2059 evar(3,i) = evar(3,i) + lbuf%STRA(jj(3) + i)
2060 evar(4,i) = evar(4,i) + lbuf%STRA(jj(4) + i)*half
2061 evar(5,i) = evar(5,i) + lbuf%STRA(jj(5) + i)*half
2062 evar(6,i) = evar(6,i) + lbuf%STRA(jj(6) + i)*half
2064 ELSEIF(mlw == 12 .OR. mlw == 14)
THEN
2066 evar(1,i) = evar(1,i) + lbuf%EPE(jj(1) + i)
2067 evar(2,i) = evar(2,i) + lbuf%EPE(jj(2) + i)
2068 evar(3,i) = evar(3,i) + lbuf%EPE(jj(3) + i)
2070 ELSEIF (istrain > 0)
THEN
2071 IF (mlw /= 14.AND.mlw /= 24.AND.mlw<28.OR. mlw == 49)
THEN
2073 evar(1,i) = evar(1,i) + lbuf%STRA(jj(1) + i)
2074 evar(2,i) = evar(2,i) + lbuf%STRA(jj(2) + i)
2075 evar(3,i) = evar(3,i) + lbuf%STRA(jj(3) + i)
2076 evar(4,i) = evar(4,i) + lbuf%STRA(jj(4) + i)*half
2077 evar(5,i) = evar(5,i) + lbuf%STRA(jj(5) + i)*half
2078 evar(6,i) = evar(6,i) + lbuf%STRA(jj(6) + i)*half
2088 IF(el2fa(nn2+n) /= 0)
THEN
2090 gama(1)=gbuf%GAMA(jj(1) + i)
2091 gama(2)=gbuf%GAMA(jj(2) + i)
2092 gama(3)=gbuf%GAMA(jj(3) + i)
2093 gama(4)=gbuf%GAMA(jj(4) + i)
2094 gama(5)=gbuf%GAMA(jj(5) + i)
2095 gama(6)=gbuf%GAMA(jj(6) + i)
2104 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
2109 ELSEIF (isolnod == 16.OR.isolnod == 20.OR.(isolnod == 8.AND. (jhbe == 14 .OR. jhbe == 17)))
THEN
2111 icsig = iparg(17,ng)
2113 is0=mod(abs(pti)/10,10)
2114 it0=mod(abs(pti),10)
2115 IF (ir0==0.OR.is0==0.OR.it0==0) cycle
2119 IF (tshell == 1)
THEN
2120 IF (icsig==100)
THEN
2124 ELSEIF (icsig==10)
THEN
2134 IF (ir>nptr.OR.is>npts) cycle
2135 ipt = ir + ( (is-1) + (it-1)*npts )*nptr
2137 IF (tshell == 1)
THEN
2138 IF (isolnod == 16.AND. is0 <= nlay)
THEN
2139 lbuf => elbuf_tab(ng)%BUFLY(is0)%LBUF(ir,1,it)
2141 ELSEIF (it <= nlay)
THEN
2142 lbuf => elbuf_tab(ng)%BUFLY(it)%LBUF(ir,is,1)
2146 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(ir,is,it)
2150 IF(mlw>=28.AND.mlw /= 49)
THEN
2153 evar(1,i) = lbuf%STRA(jj(1) + i)
2154 evar(2,i) = lbuf%STRA(jj(2) + i)
2155 evar(3,i) = lbuf%STRA(jj(3) + i)
2156 evar(4,i) = lbuf%STRA(jj(4) + i)*half
2157 evar(5,i) = lbuf%STRA(jj(5) + i)*half
2158 evar(6,i) = lbuf%STRA(jj(6) + i)*half
2160 ELSEIF(mlw == 12 .OR. mlw == 14)
THEN
2163 evar(1,i) = lbuf%EPE(jj(1) + i)
2164 evar(2,i) = lbuf%EPE(jj(2) + i)
2165 evar(3,i) = lbuf%EPE(jj(3) + i)
2167 ELSEIF(mlw == 24 .OR. mlw == 25)
THEN
2170 evar(1,i) = lbuf%STRA(jj(1) + i)
2171 evar(2,i) = lbuf%STRA(jj(2) + i)
2172 evar(3,i) = lbuf%STRA(jj(3) + i)
2173 evar(4,i) = lbuf%STRA(jj(4) + i) * half
2174 evar(5,i) = lbuf%STRA(jj(5) + i) * half
2175 evar(6,i) = lbuf%STRA(jj(6) + i) * half
2177 ELSEIF (mlw == 25)
THEN
2179 evar(1,i) = lbuf%STRA(jj(1) + i)
2180 evar(2,i) = lbuf%STRA(jj(2) + i)
2181 evar(3,i) = lbuf%STRA(jj(3) + i)
2182 evar(4,i) = lbuf%STRA(jj(4) + i) * half
2183 evar(5,i) = lbuf%STRA(jj(5) + i) * half
2184 evar(6,i) = lbuf%STRA(jj(6) + i) * half
2186 ELSEIF(istrain > 0)
THEN
2187 IF(mlw /= 14.AND.mlw /= 24.AND.mlw<28)
THEN
2190 evar(1,i) = lbuf%STRA(jj(1) + i)
2191 evar(2,i) = lbuf%STRA(jj(2) + i)
2192 evar(3,i) = lbuf%STRA(jj(3) + i)
2193 evar(4,i) = lbuf%STRA(jj(4) + i) * half
2194 evar(5,i) = lbuf%STRA(jj(5) + i) * half
2195 evar(6,i) = lbuf%STRA(jj(6) + i) * half
2200 IF (kcvt >1 .AND. jhbe /= 16)
THEN
2203 IF (jhbe == 14.AND.icsig > 0)
THEN
2204 IF (igtyp == 21)
THEN
2209 IF(el2fa(nn2+n) /= 0)
THEN
2212 gama(2)=gbuf%GAMA(jj(1) + i)
2213 gama(3)=gbuf%GAMA(jj(2) + i)
2225 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
2231 IF(el2fa(nn2+n) /= 0)
THEN
2233 gama(1)=gbuf%GAMA(jj(1) + i)
2234 gama(2)=gbuf%GAMA(jj(2) + i)
2247 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
2253 IF(el2fa(nn2+n) /= 0)
THEN
2255 gama(1)=gbuf%GAMA(jj(2) + i)
2257 gama(3)=gbuf%GAMA(jj(1) + i)
2269 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
2278 IF(el2fa(nn2+n) /= 0)
THEN
2281 gama(2)=lbuf%GAMA(jj(1) + i)
2282 gama(3)=lbuf%GAMA(jj(2) + i)
2294 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
2300 IF(el2fa(nn2+n) /= 0)
THEN
2302 gama(1)=lbuf%GAMA(jj(1) + i)
2303 gama(2)=lbuf%GAMA(jj(2) + i)
2316 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
2322 IF(el2fa(nn2+n) /= 0)
THEN
2324 gama(1)=lbuf%GAMA(jj(2) + i)
2326 gama(3)=lbuf%GAMA(jj(1) + i)
2338 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
2346 IF(el2fa(nn2+n) /= 0)
THEN
2348 gama(1)=gbuf%GAMA(jj(1) + i)
2349 gama(2)=gbuf%GAMA(jj(2) + i)
2350 gama(3)=gbuf%GAMA(jj(3) + i)
2351 gama(4)=gbuf%GAMA(jj(4) + i)
2352 gama(5)=gbuf%GAMA(jj(5) + i)
2353 gama(6)=gbuf%GAMA(jj(6) + i)
2362 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
2369 ELSEIF (((isolnod == 6.OR.isolnod == 8).AND.jhbe == 15) .OR. ((isolnod == 6).AND.jhbe == 24))
THEN
2370 ipt = mod(abs(pti)/10,10)
2371 IF ( ipt > 0 .AND. ipt<=nlay )
THEN
2372 lbuf => elbuf_tab(ng)%BUFLY(ipt)%LBUF(1,1,1)
2373 IF(mlw>=28.AND.mlw /= 49)
THEN
2375 evar(1,i) = lbuf%STRA(jj(1) + i)
2376 evar(2,i) = lbuf%STRA(jj(2) + i)
2377 evar(3,i) = lbuf%STRA(jj(3) + i)
2378 evar(4,i) = lbuf%STRA(jj(4) + i)*half
2379 evar(5,i) = lbuf%STRA(jj(5) + i)*half
2380 evar(6,i) = lbuf%STRA(jj(6) + i)*half
2382 ELSEIF(mlw == 12 .OR. mlw == 14)
THEN
2384 evar(1,i) = lbuf%EPE(jj(1) + i)
2385 evar(2,i) = lbuf%EPE(jj(2) + i)
2386 evar(3,i) = lbuf%EPE(jj(3) + i)
2390 evar(1,i) = lbuf%STRA(jj(1) + i)
2391 evar(2,i) = lbuf%STRA(jj(2) + i)
2392 evar(3,i) = lbuf%STRA(jj(3) + i)
2393 evar(4,i) = lbuf%STRA(jj(4) + i)*half
2394 evar(5,i) = lbuf%STRA(jj(5) + i)*half
2395 evar(6,i) = lbuf%STRA(jj(6) + i)*half
2398 IF (kcvt /= 0 )
THEN
2402 IF(el2fa(nn2+n) /= 0)
THEN
2404 gama(1)=gbuf%GAMA(jj(1) + i)
2405 gama(2)=gbuf%GAMA(jj(2) + i)
2418 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
2424 ELSEIF (isolnod==10 .OR. (isolnod==4 .AND. isrot==1))
THEN
2427 is=mod(abs(pti)/10,10)
2430 IF (ir == 1 .AND. is == 1 .AND. it == 1) ipt = 1
2431 IF (ir == 2 .AND. is == 1 .AND. it == 1) ipt = 2
2432 IF (ir == 1 .AND. is == 2 .AND. it == 1) ipt = 3
2433 IF (ir == 1 .AND. is == 1 .AND. it == 2) ipt = 4
2435 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(ipt,1,1)
2436 IF (mlw>=28.AND.mlw /= 49 .OR. mlw == 24)
THEN
2438 evar(1,i) = evar(1,i) + lbuf%STRA(jj(1) + i)
2439 evar(2,i) = evar(2,i) + lbuf%STRA(jj(2) + i)
2440 evar(3,i) = evar(3,i) + lbuf%STRA(jj(3) + i)
2441 evar(4,i) = evar(4,i) + lbuf%STRA(jj(4) + i)*half
2442 evar(5,i) = evar(5,i) + lbuf%STRA(jj(5) + i)*half
2443 evar(6,i) = evar(6,i) + lbuf%STRA(jj(6) + i)*half
2445 ELSEIF (mlw == 12 .OR. mlw == 14)
THEN
2447 evar(1,i) = evar(1,i) + lbuf%EPE(jj(1) + i)
2448 evar(2,i) = evar(2,i) + lbuf%EPE(jj(2) + i)
2449 evar(3,i) = evar(3,i) + lbuf%EPE(jj(3) + i)
2451 ELSEIF (istrain > 0)
THEN
2452 IF (mlw /= 14.AND.mlw /= 24.AND.mlw<28)
THEN
2454 evar(1,i) = evar(1,i) + lbuf%STRA(jj(1) + i)
2455 evar(2,i) = evar(2,i) + lbuf%STRA(jj(2) + i)
2456 evar(3,i) = evar(3,i) + lbuf%STRA(jj(3) + i)
2457 evar(4,i) = evar(4,i) + lbuf%STRA(jj(4) + i)*half
2458 evar(5,i) = evar(5,i) + lbuf%STRA(jj(5) + i)*half
2459 evar(6,i) = evar(6,i) + lbuf%STRA(jj(6) + i)*half
2468 IF(el2fa(nn2+n) /= 0)
THEN
2470 gama(1)=gbuf%GAMA(jj(1) + i)
2471 gama(2)=gbuf%GAMA(jj(2) + i)
2472 gama(3)=gbuf%GAMA(jj(3) + i)
2473 gama(4)=gbuf%GAMA(jj(4) + i)
2474 gama(5)=gbuf%GAMA(jj(5) + i)
2475 gama(6)=gbuf%GAMA(jj(6) + i)
2484 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
2492 ELSEIF (itens>=22110.AND.itens<=42209)
THEN
2495 IF (((isolnod == 6.OR.isolnod == 8).AND.jhbe == 15) .OR. ((isolnod == 6).AND.jhbe == 24))
THEN
2496 ipt = mod(abs(pti)/10,201)
2497 IF ( ipt > 0 .AND. ipt<=nlay.AND.nlay>9)
THEN
2498 lbuf => elbuf_tab(ng)%BUFLY(ipt)%LBUF(1,1,1)
2499 IF(mlw>=28.AND.mlw /= 49)
THEN
2501 evar(1,i) = lbuf%STRA(jj(1) + i)
2502 evar(2,i) = lbuf%STRA(jj(2) + i)
2503 evar(3,i) = lbuf%STRA(jj(3) + i)
2504 evar(4,i) = lbuf%STRA(jj(4) + i)*half
2505 evar(5,i) = lbuf%STRA(jj(5) + i)*half
2506 evar(6,i) = lbuf%STRA(jj(6) + i)*half
2508 ELSEIF(mlw == 12 .OR. mlw == 14)
THEN
2510 evar(1,i) = lbuf%EPE(jj(1) + i)
2511 evar(2,i) = lbuf%EPE(jj(2) + i)
2512 evar(3,i) = lbuf%EPE(jj(3) + i)
2516 evar(1,i) = lbuf%STRA(jj(1) + i)
2517 evar(2,i) = lbuf%STRA(jj(2) + i)
2518 evar(3,i) = lbuf%STRA(jj(3) + i)
2519 evar(4,i) = lbuf%STRA(jj(4) + i)*half
2520 evar(5,i) = lbuf%STRA(jj(5) + i)*half
2521 evar(6,i) = lbuf%STRA(jj(6) + i)*half
2524 IF (kcvt /= 0 )
THEN
2528 IF(el2fa(nn2+n) /= 0)
THEN
2530 gama(1)=lbuf%GAMA(jj(1) + i)
2531 gama(2)=lbuf%GAMA(jj(2) + i)
2544 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
2550 ELSEIF (isolnod==16.OR.(isolnod==8.AND.jhbe==14))
THEN
2552 icsig = iparg(17,ng)
2554 is0=mod(abs(pti)/10,201)
2555 it0=mod(abs(pti),10)
2556 IF (ir0==0.OR.is0==0.OR.it0==0.OR.nlay<10) cycle
2560 IF (tshell == 1)
THEN
2561 IF (icsig==100)
THEN
2565 ELSEIF (icsig==10)
THEN
2575 IF (ir>nptr.OR.is>npts.OR.it>nlay) cycle
2576 ipt = ir + ( (is-1) + (it-1)*npts )*nptr
2577 IF (ipt <= npt )
THEN
2578 IF (tshell == 1)
THEN
2579 lbuf => elbuf_tab(ng)%BUFLY(it)%LBUF(ir,is,1)
2581 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(ir,is,it)
2583 IF(mlw>=28.AND.mlw /= 49)
THEN
2585 evar(1,i) = lbuf%STRA(jj(1) + i)
2586 evar(2,i) = lbuf%STRA(jj(2) + i)
2587 evar(3,i) = lbuf%STRA(jj(3) + i)
2588 evar(4,i) = lbuf%STRA(jj(4) + i)*half
2589 evar(5,i) = lbuf%STRA(jj(5) + i)*half
2590 evar(6,i) = lbuf%STRA(jj(6) + i)*half
2592 ELSEIF(mlw == 12 .OR. mlw == 14)
THEN
2594 evar(1,i) = lbuf%EPE(jj(1) + i)
2595 evar(2,i) = lbuf%EPE(jj(2) + i)
2596 evar(3,i) = lbuf%EPE(jj(3) + i)
2598 ELSEIF(mlw == 24 .OR. mlw == 25)
THEN
2600 evar(1,i) = lbuf%STRA(jj(1) + i)
2601 evar(2,i) = lbuf%STRA(jj(2) + i)
2602 evar(3,i) = lbuf%STRA(jj(3) + i)
2603 evar(4,i) = lbuf%STRA(jj(4) + i)*half
2604 evar(5,i) = lbuf%STRA(jj(5) + i)*half
2605 evar(6,i) = lbuf%STRA(jj(6) + i)*half
2607 ELSEIF (mlw == 25)
THEN
2609 evar(1,i) = lbuf%STRA(jj(1) + i)
2610 evar(2,i) = lbuf%STRA(jj(2) + i)
2611 evar(3,i) = lbuf%STRA(jj(3) + i)
2612 evar(4,i) = lbuf%STRA(jj(4) + i) * half
2613 evar(5,i) = lbuf%STRA(jj(5) + i) * half
2614 evar(6,i) = lbuf%STRA(jj(6) + i) * half
2616 ELSEIF(istrain > 0)
THEN
2617 IF(mlw /= 14.AND.mlw /= 24.AND.mlw<28)
THEN
2619 evar(1,i) = lbuf%STRA(jj(1) + i)
2620 evar(2,i) = lbuf%STRA(jj(2) + i)
2621 evar(3,i) = lbuf%STRA(jj(3) + i)
2622 evar(4,i) = lbuf%STRA(jj(4) + i) * half
2623 evar(5,i) = lbuf%STRA(jj(5) + i) * half
2624 evar(6,i) = lbuf%STRA(jj(6) + i) * half
2630 IF (kcvt /= 0 .AND. jhbe /= 16)
THEN
2633 IF (jhbe == 14.AND.icsig > 0)
THEN
2638 IF(el2fa(nn2+n) /= 0)
THEN
2641 gama(2)=lbuf%GAMA(jj(1) + i)
2642 gama(3)=lbuf%GAMA(jj(2) + i)
2654 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
2660 IF(el2fa(nn2+n) /= 0)
THEN
2662 gama(1)=lbuf%GAMA(jj(1) + i)
2663 gama(2)=lbuf%GAMA(jj(2) + i)
2676 CALL srota6(x, ixs(1,n), kcvt, evar(1,i),gama, jhbe, igtyp, isorth)
2682 IF(el2fa(nn2+n) /= 0)
THEN
2684 gama(1)=lbuf%GAMA(jj(2) + i)
2686 gama(3)=lbuf%GAMA(jj(1) + i)
2698 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
2707 ELSEIF (itens >= 42210 .AND. itens <= 43209)
THEN
2711 IF (isolnod == 16.OR.isolnod == 20.OR.(isolnod == 8.AND. (jhbe == 14 .OR. jhbe == 17)))
THEN
2713 icsig = iparg(17,ng)
2715 is0=mod(abs(pti)/10,10)
2716 it0=mod(abs(pti),10)
2717 ipid = ixs(10,1 + nft)
2718 IF (ir0==0.OR.is0==0.OR.it0==0) cycle
2722 IF (tshell == 1)
THEN
2723 IF (icsig==100)
THEN
2727 ELSEIF (icsig==10)
THEN
2737 IF (ir>nptr.OR.is>npts) cycle
2738 ipt = ir + ( (is-1) + (it-1)*npts )*nptr
2740 IF (tshell == 1)
THEN
2741 IF (isolnod == 16.AND. is0 <= nlay)
THEN
2742 lbuf => elbuf_tab(ng)%BUFLY(is0)%LBUF(ir,1,it)
2744 ELSEIF (it <= nlay)
THEN
2745 lbuf => elbuf_tab(ng)%BUFLY(it)%LBUF(ir,is,1)
2749 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(ir,is,it)
2757 evar(1,i) = lbuf%PLA(jj(1) + i + nel)
2758 evar(2,i) = lbuf%PLA(jj(2) + i + nel)
2759 evar(3,i) = lbuf%PLA(jj(3) + i + nel)
2760 evar(4,i) = lbuf%PLA(jj(4) + i + nel) * half
2761 evar(5,i) = lbuf%PLA(jj(5) + i + nel) * half
2762 evar(6,i) = lbuf%PLA(jj(6) + i + nel) * half
2766 IF (kcvt /= 0 .AND. jhbe /= 16)
THEN
2769 IF (jhbe == 14 .AND. icsig > 0)
THEN
2770 IF (igtyp == 21)
THEN
2775 IF (el2fa(nn2+n) /= 0)
THEN
2778 gama(2) = gbuf%GAMA(jj(1) + i)
2779 gama(3) = gbuf%GAMA(jj(2) + i)
2791 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
2797 IF (el2fa(nn2+n) /= 0)
THEN
2799 gama(1) = gbuf%GAMA(jj(1) + i)
2800 gama(2) = gbuf%GAMA(jj(2) + i)
2813 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
2819 IF (el2fa(nn2+n) /= 0)
THEN
2821 gama(1) = gbuf%GAMA(jj(2) + i)
2823 gama(3) = gbuf%GAMA(jj(1) + i)
2835 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
2844 IF (el2fa(nn2+n) /= 0)
THEN
2847 gama(2) = lbuf%GAMA(jj(1) + i)
2848 gama(3) = lbuf%GAMA(jj(2) + i)
2860 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
2866 IF (el2fa(nn2+n) /= 0)
THEN
2868 gama(1) = lbuf%GAMA(jj(1) + i)
2869 gama(2) = lbuf%GAMA(jj(2) + i)
2882 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
2888 IF (el2fa(nn2+n) /= 0)
THEN
2890 gama(1) = lbuf%GAMA(jj(2) + i)
2892 gama(3) = lbuf%GAMA(jj(1) + i)
2904 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
2912 IF (el2fa(nn2+n) /= 0)
THEN
2914 gama(1) = lbuf%GAMA(jj(1) + i)
2915 gama(2) = lbuf%GAMA(jj(2) + i)
2916 gama(3) = lbuf%GAMA(jj(3) + i)
2917 gama(4) = lbuf%GAMA(jj(4) + i)
2918 gama(5) = lbuf%GAMA(jj(5) + i)
2919 gama(6) = lbuf%GAMA(jj(6) + i)
2928 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
2935 ELSEIF (isolnod == 10 .OR. (isolnod==4 .AND. isrot==1))
THEN
2938 is = mod(abs(pti)/10,10)
2939 it = mod(abs(pti),10)
2941 IF (ir == 1 .AND. is == 1 .AND. it == 1) ipt = 1
2942 IF (ir == 2 .AND. is == 1 .AND. it == 1) ipt = 2
2943 IF (ir == 1 .AND. is == 2 .AND. it == 1) ipt = 3
2944 IF (ir == 1 .AND. is == 1 .AND. it == 2) ipt = 4
2946 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(ipt,1,1)
2949 evar(1,i) = evar(1,i) + lbuf%PLA(jj(1) + i + nel)
2950 evar(2,i) = evar(2,i) + lbuf%PLA(jj(2) + i + nel)
2951 evar(3,i) = evar(3,i) + lbuf%PLA(jj(3) + i + nel)
2952 evar(4,i) = evar(4,i) + lbuf%PLA(jj(4) + i + nel)*half
2953 evar(5,i) = evar(5,i) + lbuf%PLA(jj(5) + i + nel)*half
2954 evar(6,i) = evar(6,i) + lbuf%PLA(jj(6) + i + nel)*half
2962 IF (el2fa(nn2+n) /= 0)
THEN
2964 gama(1) = gbuf%GAMA(jj(1) + i)
2965 gama(2) = gbuf%GAMA(jj(2) + i)
2966 gama(3) = gbuf%GAMA(jj(3) + i)
2967 gama(4) = gbuf%GAMA(jj(4) + i)
2968 gama(5) = gbuf%GAMA(jj(5) + i)
2969 gama(6) = gbuf%GAMA(jj(6) + i)
2978 CALL srota6(x, ixs(1,n), kcvt, evar(1,i),gama, jhbe, igtyp, isorth)
2983 ELSEIF (((isolnod == 6.OR.isolnod == 8).AND.jhbe == 15) .OR. ((isolnod == 6).AND.jhbe == 24))
THEN
2985 ipt = mod(abs(pti)/10,10)
2986 IF ( ipt > 0 .AND. ipt<=nlay)
THEN
2987 lbuf => elbuf_tab(ng)%BUFLY(ipt)%LBUF(1,1,1)
2990 evar(1,i) = lbuf%PLA(jj(1) + i + nel)
2991 evar(2,i) = lbuf%PLA(jj(2) + i + nel)
2992 evar(3,i) = lbuf%PLA(jj(3) + i + nel)
2993 evar(4,i) = lbuf%PLA(jj(4) + i + nel)*half
2994 evar(5,i) = lbuf%PLA(jj(5) + i + nel)*half
2995 evar(6,i) = lbuf%PLA(jj(6) + i + nel)*half
3000 IF (el2fa(nn2+n) /= 0)
THEN
3002 gama(1)=gbuf%GAMA(jj(1) + i)
3003 gama(2)=gbuf%GAMA(jj(2) + i)
3016 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
3023 ELSEIF (itens >= 43210 .AND. itens <= 63309)
THEN
3027 IF (((isolnod == 6.OR.isolnod == 8).AND.jhbe == 15) .OR. ((isolnod == 6).AND.jhbe == 24))
THEN
3029 ipt = mod(abs(pti)/10,201)
3030 IF ( ipt > 0 .AND. ipt<=nlay .AND. nlay>9)
THEN
3031 lbuf => elbuf_tab(ng)%BUFLY(ipt)%LBUF(1,1,1)
3034 evar(1,i) = lbuf%PLA(jj(1) + i + nel)
3035 evar(2,i) = lbuf%PLA(jj(2) + i + nel)
3036 evar(3,i) = lbuf%PLA(jj(3) + i + nel)
3037 evar(4,i) = lbuf%PLA(jj(4) + i + nel)*half
3038 evar(5,i) = lbuf%PLA(jj(5) + i + nel)*half
3039 evar(6,i) = lbuf%PLA(jj(6) + i + nel)*half
3044 IF (el2fa(nn2+n) /= 0)
THEN
3046 gama(1)=gbuf%GAMA(jj(1) + i)
3047 gama(2)=gbuf%GAMA(jj(2) + i)
3060 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
3064 ELSEIF ((isolnod == 16.OR.(isolnod == 8 .AND.jhbe == 14)))
THEN
3066 icsig = iparg(17,ng)
3068 is0=mod(abs(pti)/10,201)
3069 it0=mod(abs(pti),10)
3070 IF (ir0==0.OR.is0==0.OR.it0==0.OR.nlay<10) cycle
3074 IF (tshell == 1)
THEN
3075 IF (icsig==100)
THEN
3079 ELSEIF (icsig==10)
THEN
3089 IF (ir>nptr.OR.is>npts) cycle
3090 ipt = ir + ( (is-1) + (it-1)*npts )*nptr
3091 IF (ipt <= npt )
THEN
3092 IF (isolnod == 16)
THEN
3093 lbuf => elbuf_tab(ng)%BUFLY(is0)%LBUF(ir,1,it)
3095 lbuf => elbuf_tab(ng)%BUFLY(it)%LBUF(ir,is,1)
3099 evar(1,i) = lbuf%PLA(jj(1) + i + nel)
3100 evar(2,i) = lbuf%PLA(jj(2) + i + nel)
3101 evar(3,i) = lbuf%PLA(jj(3) + i + nel)
3102 evar(4,i) = lbuf%PLA(jj(4) + i + nel)*half
3103 evar(5,i) = lbuf%PLA(jj(5) + i + nel)*half
3104 evar(6,i) = lbuf%PLA(jj(6) + i + nel)*half
3108 IF (kcvt /= 0 .AND. jhbe /= 16)
THEN
3111 IF (jhbe == 14 .AND. icsig > 0)
THEN
3116 IF (el2fa(nn2+n) /= 0)
THEN
3119 gama(2) = lbuf%GAMA(jj(1) + i)
3120 gama(3) = lbuf%GAMA(jj(2) + i)
3132 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
3138 IF (el2fa(nn2+n) /= 0)
THEN
3140 gama(1) = lbuf%GAMA(jj(1) + i)
3141 gama(2) = lbuf%GAMA(jj(2) + i)
3154 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
3160 IF (el2fa(nn2+n) /= 0)
THEN
3162 gama(1) = lbuf%GAMA(jj(2) + i)
3164 gama(3) = lbuf%GAMA(jj(1) + i)
3176 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
3183 IF (el2fa(nn2+n) /= 0)
THEN
3185 gama(1) = lbuf%GAMA(jj(1) + i)
3186 gama(2) = lbuf%GAMA(jj(2) + i)
3187 gama(3) = lbuf%GAMA(jj(3) + i)
3188 gama(4) = lbuf%GAMA(jj(4) + i)
3189 gama(5) = lbuf%GAMA(jj(5) + i)
3190 gama(6) = lbuf%GAMA(jj(6) + i)
3199 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
3216 IF (isolnod == 16)
THEN
3220 IF(el2fa(nn2+n) /= 0)
THEN
3221 tens(1,el2fa(nn2+n)) = evar(1,i)
3222 tens(2,el2fa(nn2+n)) = evar(2,i)
3223 tens(3,el2fa(nn2+n)) = evar(3,i)
3224 tens(4,el2fa(nn2+n)) = evar(4,i)
3225 tens(5,el2fa(nn2+n)) = evar(5,i)
3226 tens(6,el2fa(nn2+n)) = evar(6,i)
3227 tens(1,el2fa(nn2+n)+1) = evar(1,i)
3228 tens(2,el2fa(nn2+n)+1) = evar(2,i)
3229 tens(3,el2fa(nn2+n)+1) = evar(3,i)
3230 tens(4,el2fa(nn2+n)+1) = evar(4,i)
3231 tens(5,el2fa(nn2+n)+1) = evar(5,i)
3232 tens(6,el2fa(nn2+n)+1) = evar(6,i)
3233 tens(1,el2fa(nn2+n)+2) = evar(1,i)
3234 tens(2,el2fa(nn2+n)+2) = evar(2,i)
3235 tens(3,el2fa(nn2+n)+2) = evar(3,i)
3236 tens(4,el2fa(nn2+n)+2) = evar(4,i)
3237 tens(5,el2fa(nn2+n)+2) = evar(5,i)
3238 tens(6,el2fa(nn2+n)+2) = evar(6,i)
3239 tens(1,el2fa(nn2+n)+3) = evar(1,i)
3240 tens(2,el2fa(nn2+n)+3) = evar(2,i)
3241 tens(3,el2fa(nn2+n)+3) = evar(3,i)
3242 tens(4,el2fa(nn2+n)+3) = evar(4,i)
3243 tens(5,el2fa(nn2+n)+3) = evar(5,i)
3244 tens(6,el2fa(nn2+n)+3) = evar(6,i)
3250 IF(el2fa(nn2+n) /= 0)
THEN
3251 tens(1,el2fa(nn2+n)) = evar(1,i)
3252 tens(2,el2fa(nn2+n)) = evar(2,i)
3253 tens(3,el2fa(nn2+n)) = evar(3,i)
3254 tens(4,el2fa(nn2+n)) = evar(4,i)
3255 tens(5,el2fa(nn2+n)) = evar(5,i)
3256 tens(6,el2fa(nn2+n)) = evar(6,i)
3262 ELSEIF (isph3d == 1.AND.ity == 51)
THEN
3266 iprt=ipartsp(1 + nft)
3268 gbuf => elbuf_tab(ng)%GBUF
3269 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(1,1,1)
3272 IF (itens == 1)
THEN
3277 IF (el2fa(nn3+n) /= 0)
THEN
3278 tens(1,el2fa(nn3+n)) = lbuf%SIG(jj(1) + i)
3279 tens(2,el2fa(nn3+n)) = lbuf%SIG(jj(2) + i)
3280 tens(3,el2fa(nn3+n)) = lbuf%SIG(jj(3) + i)
3281 tens(4,el2fa(nn3+n)) = lbuf%SIG(jj(4) + i)
3282 tens(5,el2fa(nn3+n)) = lbuf%SIG(jj(5) + i)
3283 tens(6,el2fa(nn3+n)) = lbuf%SIG(jj(6) + i)
3289 IF (el2fa(nn3+n) /= 0)
THEN
3290 tens(1,el2fa(nn3+n)) = lbuf%SIG(jj(1)+i) + lbuf%VISC(jj(1)+i)
3291 tens(2,el2fa(nn3+n)) = lbuf%SIG(jj(2)+i) + lbuf%VISC(jj(2)+i)
3292 tens(3,el2fa(nn3+n)) = lbuf%SIG(jj(3)+i) + lbuf%VISC(jj(3)+i)
3293 tens(4,el2fa(nn3+n)) = lbuf%SIG(jj(4)+i) + lbuf%VISC(jj(4)+i)
3294 tens(5,el2fa(nn3+n)) = lbuf%SIG(jj(5)+i) + lbuf%VISC(jj(5)+i)
3295 tens(6,el2fa(nn3+n)) = lbuf%SIG(jj(6)+i) + lbuf%VISC(jj(6)+i)
3302 ELSEIF(itens == 4.AND.mlw == 24 .AND. nint(pm(56,mt1)) == 1)
THEN
3306 IF(el2fa(nn3+n) /= 0)
THEN
3307 tens(1,el2fa(nn3+n)) = lbuf%DGLO(jj(1) + i)
3308 tens(2,el2fa(nn3+n)) = lbuf%DGLO(jj(2) + i)
3309 tens(3,el2fa(nn3+n)) = lbuf%DGLO(jj(3) + i)
3310 tens(4,el2fa(nn3+n)) = lbuf%DGLO(jj(4) + i)
3311 tens(5,el2fa(nn3+n)) = lbuf%DGLO(jj(5) + i)
3312 tens(6,el2fa(nn3+n)) = lbuf%DGLO(jj(6) + i)
3320 IF (el2fa(nn3+n) /= 0)
THEN
3321 tens(1,el2fa(nn3+n)) = zero
3322 tens(2,el2fa(nn3+n)) = zero
3323 tens(3,el2fa(nn3+n)) = zero
3324 tens(4,el2fa(nn3+n)) = zero
3325 tens(5,el2fa(nn3+n)) = zero
3326 tens(6,el2fa(nn3+n)) = zero
3331 ELSEIF (ity==101)
THEN
3346 IF (el2fa(nn4+n) /= 0)
THEN
3348 tens(1,el2fa(nn4+n)+j-1) = evar(1,i)
3349 tens(2,el2fa(nn4+n)+j-1) = evar(1,i)
3350 tens(3,el2fa(nn4+n)+j-1) = evar(1,i)
3351 tens(4,el2fa(nn4+n)+j-1) = evar(1,i)
3352 tens(5,el2fa(nn4+n)+j-1) = evar(1,i)
3353 tens(6,el2fa(nn4+n)+j-1) = evar(1,i)
3375 wa(6*n-5) = tens(1,n)
3376 wa(6*n-4) = tens(2,n)
3377 wa(6*n-3) = tens(3,n)
3378 wa(6*n-2) = tens(4,n)
3379 wa(6*n-1) = tens(5,n)
3380 wa(6*n ) = tens(6,n)
3383 buf = numelsg*6 + numels16g*18+numsphg*6
3912 SUBROUTINE tensgps3(ELBUF_TAB,FUNC1 ,FUNC2 ,IPARG ,GEO ,
3913 . IXS ,IXS10 ,IXS16 ,IXS20 ,IXQ ,
3914 . IXC ,IXTG ,IXT ,IXP ,IXR ,
3923 use element_mod ,
only : nixs,nixq,nixc,nixtg,nixr,nixt,nixp
3927#include "implicit_f.inc"
3931#include "vect01_c.inc"
3932#include "mvsiz_p.inc"
3933#include "com01_c.inc"
3934#include "com04_c.inc"
3935#include "param_c.inc"
3941 . func1(3,*),func2(3,*),geo(npropg,*),x(3,*),
3943 INTEGER IPARG(NPARG,*),
3944 . IXS(NIXS,*),IXQ(NIXQ,*),IXC(NIXC,*),IXTG(NIXTG,*),
3945 . IXT(NIXT,*),IXP(NIXP,*),IXR(NIXR,*),
3946 . IXS10(6,*) ,IXS16(8,*) ,IXS20(12,*) ,ITAGPS(*)
3947 TYPE (ELBUF_STRUCT_),
DIMENSION(NGROUP),
TARGET :: ELBUF_TAB
3955 . a_gauss_r,a_gauss_s,a_gauss_t,n1,
3956 . a_gauss_r1,a_gauss_s1,a_gauss_t1,
3957 . a_gauss_p_r,a_gauss_p_s,a_gauss_p_t,
3959 my_real,
ALLOCATABLE,
DIMENSION(:,:) :: evar
3960 INTEGER I, NG, NEL,KCVT,
3964 . isolnod, nptr, npts, nptt,
3965 . is, ir, it,nc(20,mvsiz),nnod,ilay,
3966 . icsig,ivisc,jj(6),mat(mvsiz)
3968 TYPE(G_BUFEL_) ,
POINTER :: GBUF
3969 TYPE(L_BUFEL_) ,
POINTER :: LBUF
3971 . a_gauss(9,9),evar_tmp(6),
alpha,beta,alpha_1,beta_1,
3972 . jr0(mvsiz),js0(mvsiz),jt0(mvsiz),nu(mvsiz),sig_hour(mvsiz,6),
3984 . evar_t10(6,10),a_heph(3,8)
3985 INTEGER SOL_NODE(3,8), IPERM1(10),IPERM2(10),NN2,ITSH
3986 DATA IPERM1/0,0,0,0,1,2,3,1,2,3/
3987 DATA IPERM2/0,0,0,0,2,3,1,4,4,4/
3993 2 -.577350269189626,0.577350269189626,0. ,
3996 3 -.774596669241483,0. ,0.774596669241483,
3999 4 -.861136311594053,-.339981043584856,0.339981043584856,
4000 4 0.861136311594053,0. ,0. ,
4002 5 -.906179845938664,-.538469310105683,0. ,
4003 5 0.538469310105683,0.906179845938664,0. ,
4005 6 -.932469514203152,-.661209386466265,-.238619186083197,
4006 6 0.238619186083197,0.661209386466265,0.932469514203152,
4008 7 -.949107912342759,-.741531185599394,-.405845151377397,
4009 7 0. ,0.405845151377397,0.741531185599394,
4010 7 0.949107912342759,0. ,0. ,
4011 8 -.960289856497536,-.796666477413627,-.525532409916329,
4012 8 -.183434642495650,0.183434642495650,0.525532409916329,
4013 8 0.796666477413627,0.960289856497536,0. ,
4014 9 -.968160239507626,-.836031107326636,-.613371432700590,
4015 9 -.324253423403809,0. ,0.324253423403809,
4016 9 0.613371432700590,0.836031107326636,0.968160239507626/
4039 CALL my_alloc(evar,6,numnod)
4050 ivisc = iparg(61,ng)
4051 gbuf => elbuf_tab(ng)%GBUF
4053 2 mlw ,nel ,nft ,iad ,ity ,
4054 3 npt ,jale ,ismstr ,jeul ,jtur ,
4055 4 jthe ,jlag ,jmult ,jhbe ,jivf ,
4056 5 nvaux ,jpor ,kcvt ,jclose ,jplasol ,
4057 6 irep ,iint ,igtyp ,israt ,isrot ,
4058 7 icsen ,isorth ,isorthg ,ifailure,jsms )
4060 IF (iparg(8,ng)==1.OR.mlw==0.OR.mlw==13) cycle
4062 isolnod = iparg(28,ng)
4075 gbuf => elbuf_tab(ng)%GBUF
4076 IF (kcvt==1.AND.isorth/=0) kcvt=2
4080 IF(isolnod == 8)
THEN
4082 nc(j,i) = ixs(j+1,n)
4084 ELSEIF(isolnod == 4)
THEN
4089 ELSEIF(isolnod == 6)
THEN
4096 ELSEIF(isolnod == 10)
THEN
4103 nc(j+4,i) = ixs10(j,nn1)
4105 ELSEIF(isolnod == 16)
THEN
4107 nc(j,i) = ixs(j+1,n)
4109 nn1 = n - (numels8+numels10+numels20)
4111 nc(j+8,i) = ixs16(j,nn1)
4113 ELSEIF(isolnod == 20)
THEN
4115 nc(j,i) = ixs(j+1,n)
4117 nn1 = n - (numels8+numels10)
4119 nc(j+8,i) = ixs20(j,nn1)
4124 nptr = elbuf_tab(ng)%NPTR
4125 npts = elbuf_tab(ng)%NPTS
4126 nptt = elbuf_tab(ng)%NPTT
4127 nlay = elbuf_tab(ng)%NLAY
4128 npt = nptr*npts*nptt
4131 IF (jhbe == 24)
THEN
4132 CALL pre_heph(x,ixs,jr0,js0,jt0,pm,mat,nu,nft,nel)
4134 IF(igtyp == 20 .OR. igtyp ==21 .OR. igtyp == 22)
THEN
4140 IF (isolnod == 8.AND. jhbe<9)
THEN
4146 gama(1:6) = gbuf%GAMA(jj(1:6) + i)
4158 lbuf => elbuf_tab(ng)%BUFLY(ilay)%LBUF(1,1,1)
4159 evar_tmp(1:6) = gbuf%SIG(jj(1:6) + i)
4161 evar_tmp(1:6) =evar_tmp(1:6)+ lbuf%VISC(jj(1:6) + i)
4163 IF (kcvt /= 0)
CALL srota6(x, ixs(1,n),kcvt, evar_tmp,gama, jhbe, igtyp, isorth)
4165 evar(1:6,nc(j,i)) = evar(1:6,nc(j,i)) + evar_tmp(1:6)
4168 ELSEIF(isolnod == 6 .OR. isolnod == 8 .OR. isolnod == 16 .OR. isolnod == 20)
THEN
4171 IF(itsh>0 .AND. jhbe /= 14)
THEN
4176 gama(1) = gbuf%GAMA(jj(1) + i)
4177 gama(2) = gbuf%GAMA(jj(2) + i)
4178 gama(3) = gbuf%GAMA(jj(3) + i)
4179 gama(4) = gbuf%GAMA(jj(4) + i)
4180 gama(5) = gbuf%GAMA(jj(5) + i)
4181 gama(6) = gbuf%GAMA(jj(6) + i)
4193 DO j=1,
min(8,isolnod)
4194 DO k=1,
min(8,isolnod)
4195 IF(sol_node(2,k) == sol_node(2,j))
THEN
4197 IF (sol_node(1,k) == -1 .AND. sol_node(1,j) == -1)
4199 IF (sol_node(1,k) == -1 .AND. sol_node(1,j) == 1)
4200 . ir =
max(1,nptr-1)
4201 IF (sol_node(1,k) == 1 .AND. sol_node(1,j) == 1)
4203 IF (sol_node(1,k) == 1 .AND. sol_node(1,j) == -1)
4205 IF (sol_node(2,k) == -1 .AND. sol_node(2,j) == -1)
4207 IF (sol_node(2,k) == -1 .AND. sol_node(2,j) == 1)
4208 . is =
max(1,npts-1)
4209 IF (sol_node(2,k) == 1 .AND. sol_node(2,j) == 1)
4211 IF (sol_node(2,k) == 1 .AND. sol_node(2,j) == -1)
4213 IF (sol_node(3,k) == -1 .AND. sol_node(3,j) == -1)
4215 IF (sol_node(3,k) == -1 .AND. sol_node(3,j) == 1)
4216 . it =
max(1,nptt-1)
4217 IF (sol_node(3,k) == 1 .AND. sol_node(3,j) == 1)
4219 IF (sol_node(3,k) == 1 .AND. sol_node(3,j) == -1)
4228 ELSEIF (sol_node(1,j) == -1 )
THEN
4229 a_gauss_r = a_gauss(1,nptr)
4230 a_gauss_r1 = a_gauss(2,nptr)
4232 . (-one-half*(a_gauss_r1+a_gauss_r))/
4233 . (half*(a_gauss_r1-a_gauss_r))
4234 ELSEIF(sol_node(1,j) == 1 )
THEN
4235 a_gauss_r = a_gauss(nptr-1,nptr)
4236 a_gauss_r1 = a_gauss(nptr,nptr)
4238 . (one+half*(a_gauss_r1+a_gauss_r))/
4239 . (half*(a_gauss_r1-a_gauss_r))
4244 ELSEIF (sol_node(2,j) == -1 )
THEN
4245 a_gauss_s = a_gauss(1,npts)
4248 . (-one-half*(a_gauss_s1+a_gauss_s))/
4250 ELSEIF(sol_node(2,j) == 1 )
THEN
4251 a_gauss_s = a_gauss(npts-1,npts)
4252 a_gauss_s1 = a_gauss(npts,npts)
4254 . (one+half*(a_gauss_s1+a_gauss_s))/
4255 . (half*(a_gauss_s1-a_gauss_s))
4260 ELSEIF (sol_node(3,j) == -1 )
THEN
4261 a_gauss_t = a_gauss(1,nptt)
4262 a_gauss_t1 = a_gauss(2,nptt)
4264 . (-one-half*(a_gauss_t1+a_gauss_t))/
4265 . (half*(a_gauss_t1-a_gauss_t))
4266 ELSEIF(sol_node(3,j) == 1 )
THEN
4267 a_gauss_t = a_gauss(nptt-1,nptt)
4268 a_gauss_t1 = a_gauss(nptt,nptt)
4270 . (one+half*(a_gauss_t1+a_gauss_t))/
4271 . (half*(a_gauss_t1-a_gauss_t))
4274 IF (jhbe == 15 .OR. jhbe == 16)
THEN
4278 . (one+sol_node(1,k) * a_gauss_p_r) *
4279 . (one+sol_node(3,k) * a_gauss_p_t) )
4282 lbuf => elbuf_tab(ng)%BUFLY(ilay)%LBUF(ir,is,it)
4283 evar_tmp(1) = lbuf%SIG(jj(1) + i)
4284 evar_tmp(2) = lbuf%SIG(jj(2) + i)
4285 evar_tmp(3) = lbuf%SIG(jj(3) + i)
4286 evar_tmp(4) = lbuf%SIG(jj(4) + i)
4287 evar_tmp(5) = lbuf%SIG(jj(5) + i)
4288 evar_tmp(6) = lbuf%SIG(jj(6) + i)
4290 evar_tmp(1) = evar_tmp(1) + lbuf%VISC(jj(1) + i)
4291 evar_tmp(2) = evar_tmp(2) + lbuf%VISC(jj(2) + i)
4292 evar_tmp(3) = evar_tmp(3) + lbuf%VISC(jj(3) + i)
4293 evar_tmp(4) = evar_tmp(4) + lbuf%VISC(jj(4) + i)
4294 evar_tmp(5) = evar_tmp(5) + lbuf%VISC(jj(5) + i)
4295 evar_tmp(6) = evar_tmp(6) + lbuf%VISC(jj(6) + i)
4297 IF (kcvt /= 0)
CALL srota6(x, ixs(1,n),kcvt, evar_tmp,gama, jhbe, igtyp, isorth)
4298 evar(1,nc(j,i)) = evar(1,nc(j,i)) + n1 * evar_tmp(1)
4299 evar(2,nc(j,i)) = evar(2,nc(j,i)) + n1 * evar_tmp(2)
4300 evar(3,nc(j,i)) = evar(3,nc(j,i)) + n1 * evar_tmp(3)
4301 evar(4,nc(j,i)) = evar(4,nc(j,i)) + n1 * evar_tmp(4)
4302 evar(5,nc(j,i)) = evar(5,nc(j,i)) + n1 * evar_tmp(5)
4303 evar(6,nc(j,i)) = evar(6,nc(j,i)) + n1 * evar_tmp(6)
4308 ELSEIF (jhbe == 24)
THEN
4313 gama(1:6) = gbuf%GAMA(jj(1:6) + i)
4330 lbuf => elbuf_tab(ng)%BUFLY(ilay)%LBUF(1,1,1)
4332 CALL szsigpara(jr0 ,js0 ,jt0 ,gbuf%HOURG ,gbuf%SIG ,
4333 . sig_hour ,ksi ,eta ,zeta ,nu ,nel , i)
4334 evar_tmp(1:6) = sig_hour(i,1:6)
4336 evar_tmp(1:6) =evar_tmp(1:6)+ lbuf%VISC(jj(1:6) + i)
4338 IF (kcvt /= 0)
CALL srota6(x, ixs(1,n),kcvt, evar_tmp,gama, jhbe, igtyp, isorth)
4339 evar(1:6,nc(j,i)) = evar(1:6,nc(j,i)) + evar_tmp(1:6)
4347 gama(1) = gbuf%GAMA(jj(1) + i)
4348 gama(2) = gbuf%GAMA(jj(2) + i)
4349 gama(3) = gbuf%GAMA(jj(3) + i)
4350 gama(4) = gbuf%GAMA(jj(4) + i)
4351 gama(5) = gbuf%GAMA(jj(5) + i)
4352 gama(6) = gbuf%GAMA(jj(6) + i)
4362 IF(itsh>0) nptt = nlay
4363 DO j=1,
min(8,isolnod)
4364 DO k=1,
min(8,isolnod)
4365 IF (sol_node(1,k) == -1 .AND. sol_node(1,j) == -1)
4367 IF (sol_node(1,k) == -1 .AND. sol_node(1,j) == 1)
4368 . is =
max(1,npts-1)
4369 IF (sol_node(1,k) == 1 .AND. sol_node(1,j) == 1)
4371 IF (sol_node(1,k) == 1 .AND. sol_node(1,j) == -1)
4373 IF (sol_node(2,k) == -1 .AND. sol_node(2,j) == -1)
4375 IF (sol_node(2,k) == -1 .AND. sol_node(2,j) == 1)
4376 . it =
max(1,nptt-1)
4377 IF (sol_node(2,k) == 1 .AND. sol_node(2,j) == 1)
4379 IF (sol_node(2,k) == 1 .AND. sol_node(2,j) == -1)
4381 IF (sol_node(3,k) == -1 .AND. sol_node(3,j) == -1)
4383 IF (sol_node(3,k) == -1 .AND. sol_node(3,j) == 1)
4384 . ir =
max(1,nptr-1)
4385 IF (sol_node(3,k) == 1 .AND. sol_node(3,j) == 1)
4387 IF (sol_node(3,k) == 1 .AND. sol_node(3,j) == -1)
4396 ELSEIF (sol_node(1,j) == -1 )
THEN
4397 a_gauss_r = a_gauss(1,nptr)
4398 a_gauss_r1 = a_gauss(2,nptr)
4400 . (-one-half*(a_gauss_r1+a_gauss_r))/
4401 . (half*(a_gauss_r1-a_gauss_r))
4402 ELSEIF(sol_node(1,j) == 1 )
THEN
4403 a_gauss_r = a_gauss(nptr-1,nptr)
4404 a_gauss_r1 = a_gauss(nptr,nptr)
4406 . (one+half*(a_gauss_r1+a_gauss_r))/
4407 . (half*(a_gauss_r1-a_gauss_r))
4412 ELSEIF (sol_node(2,j) == -1 )
THEN
4413 a_gauss_s = a_gauss(1,npts)
4414 a_gauss_s1 = a_gauss(2,npts)
4416 . (-one-half*(a_gauss_s1+a_gauss_s))/
4417 . (half*(a_gauss_s1-a_gauss_s))
4418 ELSEIF(sol_node(2,j) == 1 )
THEN
4419 a_gauss_s = a_gauss(npts-1,npts)
4420 a_gauss_s1 = a_gauss(npts,npts)
4422 . (one+half*(a_gauss_s1+a_gauss_s))/
4423 . (half*(a_gauss_s1-a_gauss_s))
4428 ELSEIF (sol_node(3,j) == -1 )
THEN
4429 a_gauss_t = a_gauss(1,nptt)
4430 a_gauss_t1 = a_gauss(2,nptt)
4432 . (-one-half*(a_gauss_t1+a_gauss_t))/
4433 . (half*(a_gauss_t1-a_gauss_t))
4434 ELSEIF(sol_node(3,j) == 1 )
THEN
4435 a_gauss_t = a_gauss(nptt-1,nptt)
4436 a_gauss_t1 = a_gauss(nptt,nptt)
4438 . (one+half*(a_gauss_t1+a_gauss_t))/
4439 . (half*(a_gauss_t1-a_gauss_t))
4443 . (one+sol_node(1,k) * a_gauss_p_r) *
4444 . (one+sol_node(2,k) * a_gauss_p_s) *
4445 . (one+sol_node(3,k) * a_gauss_p_t) )
4447 IF (igtyp == 20 .OR. igtyp ==21 .OR. igtyp == 22)
THEN
4456 zeta = a_gauss(it,2)
4458 lbuf => elbuf_tab(ng)%BUFLY(ilay)%LBUF(ir,is,it)
4460 evar_tmp(1) = lbuf%SIG(jj(1) + i)
4461 evar_tmp(2) = lbuf%SIG(jj(2) + i)
4462 evar_tmp(3) = lbuf%SIG(jj(3) + i)
4463 evar_tmp(4) = lbuf%SIG(jj(4) + i)
4464 evar_tmp(5) = lbuf%SIG(jj(5) + i)
4465 evar_tmp(6) = lbuf%SIG(jj(6) + i)
4468 evar_tmp(1) =evar_tmp(1)+ lbuf%VISC(jj(1) + i)
4469 evar_tmp(2) =evar_tmp(2)+ lbuf%VISC(jj(2) + i)
4470 evar_tmp(3) =evar_tmp(3)+ lbuf%VISC(jj(3) + i)
4471 evar_tmp(4) =evar_tmp(4)+ lbuf%VISC(jj(4) + i)
4472 evar_tmp(5) =evar_tmp(5)+ lbuf%VISC(jj(5) + i)
4473 evar_tmp(6) =evar_tmp(6)+ lbuf%VISC(jj(6) + i)
4475 IF (kcvt /= 0)
CALL srota6(x, ixs(1,n),kcvt, evar_tmp,gama, jhbe, igtyp, isorth)
4476 evar(1,nc(j,i)) = evar(1,nc(j,i)) + n1 * evar_tmp(1)
4477 evar(2,nc(j,i)) = evar(2,nc(j,i)) + n1 * evar_tmp(2)
4478 evar(3,nc(j,i)) = evar(3,nc(j,i)) + n1 * evar_tmp(3)
4479 evar(4,nc(j,i)) = evar(4,nc(j,i)) + n1 * evar_tmp(4)
4480 evar(5,nc(j,i)) = evar(5,nc(j,i)) + n1 * evar_tmp(5)
4481 evar(6,nc(j,i)) = evar(6,nc(j,i)) + n1 * evar_tmp(6)
4488 ELSEIF(isolnod == 4 .AND. isrot/=1)
THEN
4494 gama(1) = gbuf%GAMA(jj(1) + i)
4495 gama(2) = gbuf%GAMA(jj(2) + i)
4496 gama(3) = gbuf%GAMA(jj(3) + i)
4497 gama(4) = gbuf%GAMA(jj(4) + i)
4498 gama(5) = gbuf%GAMA(jj(5) + i)
4499 gama(6) = gbuf%GAMA(jj(6) + i)
4511 lbuf => elbuf_tab(ng)%BUFLY(ilay)%LBUF(1,1,1)
4512 evar_tmp(1) = lbuf%SIG(jj(1) + i)
4513 evar_tmp(2) = lbuf%SIG(jj(2) + i)
4514 evar_tmp(3) = lbuf%SIG(jj(3) + i)
4515 evar_tmp(4) = lbuf%SIG(jj(4) + i)
4516 evar_tmp(5) = lbuf%SIG(jj(5) + i)
4517 evar_tmp(6) = lbuf%SIG(jj(6) + i)
4519 evar_tmp(1) =evar_tmp(1)+ lbuf%VISC(jj(1) + i)
4520 evar_tmp(2) =evar_tmp(2)+ lbuf%VISC(jj(2) + i)
4521 evar_tmp(3) =evar_tmp(3)+ lbuf%VISC(jj(3) + i)
4522 evar_tmp(4) =evar_tmp(4)+ lbuf%VISC(jj(4) + i)
4523 evar_tmp(5) =evar_tmp(5)+ lbuf%VISC(jj(5) + i)
4524 evar_tmp(6) =evar_tmp(6)+ lbuf%VISC(jj(6) + i)
4526 IF (kcvt /= 0)
CALL srota6(x, ixs(1,n),kcvt, evar_tmp,gama, jhbe, igtyp, isorth)
4528 evar(1,nc(j,i)) = evar(1,nc(j,i)) + n1 * evar_tmp(1)
4529 evar(2,nc(j,i)) = evar(2,nc(j,i)) + n1 * evar_tmp(2)
4530 evar(3,nc(j,i)) = evar(3,nc(j,i)) + n1 * evar_tmp(
4531 evar(4,nc(j,i)) = evar(4,nc(j,i)) + n1 * evar_tmp(4)
4532 evar(5,nc(j,i)) = evar(5,nc(j,i)) + n1 * evar_tmp(5)
4533 evar(6,nc(j,i)) = evar(6,nc(j,i)) + n1 * evar_tmp(6)
4536 ELSEIF(isolnod == 10 .OR. (isolnod == 4 .AND. isrot==1))
THEN
4544 gama(1) = gbuf%GAMA(jj(1) + i)
4545 gama(2) = gbuf%GAMA(jj(2) + i)
4546 gama(3) = gbuf%GAMA(jj(3) + i)
4547 gama(4) = gbuf%GAMA(jj(4) + i)
4548 gama(5) = gbuf%GAMA(jj(5) + i)
4549 gama(6) = gbuf%GAMA(jj(6) + i)
4560 evar_t10(1:6,j)=zero
4572 lbuf => elbuf_tab(ng)%BUFLY(ilay)%LBUF(ir,is,it)
4573 evar_t10(1,j) = evar_t10(1,j)+ n1 *lbuf%SIG(jj(1) + i)
4574 evar_t10(2,j) = evar_t10(2,j)+ n1 *lbuf%SIG(jj(2) + i)
4575 evar_t10(3,j) = evar_t10(3,j)+ n1 *lbuf%SIG(jj(3) + i)
4577 evar_t10(5,j) = evar_t10(5,j)+ n1 *lbuf%SIG(jj(5) + i)
4578 evar_t10(6,j) = evar_t10(6,j)+ n1 *lbuf%SIG(jj(6) + i)
4580 evar_t10(1,j) =evar_t10(1,j)+ n1 *lbuf%VISC(jj(1) + i)
4581 evar_t10(2,j) =evar_t10(2,j)+ n1 *lbuf%VISC(jj(2) + i)
4582 evar_t10(3,j) =evar_t10(3,j)+ n1 *lbuf%VISC(jj(3) + i)
4583 evar_t10(4,j) =evar_t10(4,j)+ n1 *lbuf%VISC(jj(4) + i)
4584 evar_t10(5,j) =evar_t10(5,j)+ n1 *lbuf%VISC(jj(5) + i)
4585 evar_t10(6,j) =evar_t10(6,j)+ n1 *lbuf%VISC(jj(6) + i)
4588 IF (kcvt /= 0)
CALL srota6(x, ixs(1,n), kcvt, evar_t10(1,j),gama, jhbe, igtyp, isorth)
4591 evar(1,nc(j,i)) = evar(1,nc(j,i)) + evar_t10(1,j)
4592 evar(2,nc(j,i)) = evar(2,nc(j,i)) + evar_t10(2,j)
4593 evar(3,nc(j,i)) = evar(3,nc(j,i)) + evar_t10(3,j)
4594 evar(4,nc(j,i)) = evar(4,nc(j,i)) + evar_t10(4,j)
4595 evar(5,nc(j,i)) = evar(5,nc(j,i)) + evar_t10(5,j)
4596 evar(6,nc(j,i)) = evar(6,nc(j,i)) + evar_t10(6,j)
4598 IF(isolnod == 10 )
THEN
4602 evar_t10(1:6,j) = half*(evar_t10(1:6,nn1)+evar_t10(1:6,nn2))
4605 evar(1,nc(j,i)) = evar(1,nc(j,i)) + evar_t10(1,j)
4606 evar(2,nc(j,i)) = evar(2,nc(j,i)) + evar_t10(2,j)
4607 evar(3,nc(j,i)) = evar(3,nc(j,i)) + evar_t10(3,j)
4608 evar(4,nc(j,i)) = evar(4,nc(j,i)) + evar_t10(4,j)
4609 evar(5,nc(j,i)) = evar(5,nc(j,i)) + evar_t10(5,j)
4610 evar(6,nc(j,i)) = evar(6,nc(j,i)) + evar_t10(6,j)
4620 func1(k,n) = evar(k,n)
4621 func2(k,n) = evar(k+3,n)
4623 itagps(n) = itagps(n)+1
4760 . IXS ,IXS10 ,IXS16 ,IXS20 ,X ,
4761 . ITAGPS ,PM ,TAG_SKIN_ND )
4762 use element_mod ,
only : nixs
4772#include "implicit_f.inc"
4776#include "vect01_c.inc"
4777#include "mvsiz_p.inc"
4778#include "com01_c.inc"
4779#include "com04_c.inc"
4780#include "param_c.inc"
4786 . func1(3,*),func2(3,*),x(3,*),
4788 INTEGER IPARG(NPARG,*),TAG_SKIN_ND(*),
4789 . IXS(NIXS,*),IXS10(6,*) ,IXS16(8,*) ,IXS20(12,*) ,ITAGPS(*)
4790 TYPE (ELBUF_STRUCT_),
DIMENSION(NGROUP),
TARGET :: ELBUF_TAB
4797 . A_GAUSS_R,,A_GAUSS_T,N1,
4798 . A_GAUSS_R1,A_GAUSS_S1,A_GAUSS_T1,
4799 . A_GAUSS_P_R,,A_GAUSS_P_T,
4801 my_real,
ALLOCATABLE,
DIMENSION(:,:) :: evar
4802 INTEGER I, NG, NEL,KCVT,
4806 . isolnod, nptr, npts, nptt
4807 . is, ir, it,nc(20,mvsiz),nnod,ilay,
4808 . icsig,ivisc,jj(6),mat(mvsiz),iskin(mvsiz)
4810 TYPE(G_BUFEL_) ,
POINTER :: GBUF
4811 TYPE(L_BUFEL_) ,
POINTER :: LBUF
4813 . A_GAUSS(9,9),EVAR_TMP(6),ALPHA,BETA,ALPHA_1,BETA_1,
4814 . JR0(MVSIZ),(MVSIZ),JT0(MVSIZ),NU(MVSIZ),SIG_HOUR(MVSIZ,6),
4826 . evar_t10(6,10),a_heph(3,8)
4828 . SOL_NODE(3,8), IPERM1(10),IPERM2(10),NN2
4829 DATA IPERM1/0,0,0,0,1,2,3,1,2,3/
4830 DATA IPERM2/0,0,0,0,2,3,1,4,4,4/
4836 2 -.577350269189626,0.577350269189626,0. ,
4839 3 -.774596669241483,0. ,0.774596669241483,
4842 4 -.861136311594053,-.339981043584856,0.339981043584856,
4843 4 0.861136311594053,0. ,0. ,
4845 5 -.906179845938664,-.538469310105683,0. ,
4846 5 0.538469310105683,0.906179845938664,0. ,
4848 6 -.932469514203152,-.661209386466265,-.238619186083197,
4849 6 0.238619186083197,0.661209386466265,0.932469514203152,
4851 7 -.949107912342759,-.741531185599394,-.405845151377397,
4852 7 0. ,0.405845151377397,0.741531185599394,
4853 7 0.949107912342759,0. ,0. ,
4854 8 -.960289856497536,-.796666477413627,-.525532409916329,
4855 8 -.183434642495650,0.183434642495650,0.525532409916329,
4856 8 0.796666477413627,0.960289856497536,0. ,
4858 9 -.324253423403809,0. ,0.324253423403809,
4859 9 0.613371432700590,0.836031107326636,0.968160239507626/
4882 CALL my_alloc(evar,6,numnod)
4892 ivisc = iparg(61,ng)
4893 gbuf => elbuf_tab(ng)%GBUF
4895 2 mlw ,nel ,nft ,iad ,ity ,
4896 3 npt ,jale ,ismstr ,jeul ,jtur ,
4897 4 jthe ,jlag ,jmult ,jhbe ,jivf ,
4898 5 nvaux ,jpor ,kcvt ,jclose ,jplasol ,
4899 6 irep ,iint ,igtyp ,israt ,isrot ,
4900 7 icsen ,isorth ,isorthg ,ifailure,jsms )
4903 isolnod = iparg(28,ng)
4915 IF (ity == 1.AND.(igtyp==14.OR.igtyp==6))
THEN
4916 gbuf => elbuf_tab(ng)%GBUF
4917 IF (kcvt==1.AND.isorth/=0) kcvt=2
4922 IF(isolnod == 8)
THEN
4924 nc(j,i) = ixs(j+1,n)
4927 iskin(i) = iskin(i) + tag_skin_nd(nc(j,i))
4929 ELSEIF(isolnod == 4)
THEN
4935 iskin(i) = iskin(i) + tag_skin_nd(nc(j,i))
4937 ELSEIF(isolnod == 6)
THEN
4944 ELSEIF(isolnod == 10)
THEN
4951 nc(j+4,i) = ixs10(j,nn1)
4954 iskin(i) = iskin(i) + tag_skin_nd(nc(j,i))
4956 ELSEIF(isolnod == 16)
THEN
4958 nc(j,i) = ixs(j+1,n)
4960 nn1 = n - (numels8+numels10+numels20)
4962 nc(j+8,i) = ixs16(j,nn1)
4964 ELSEIF(isolnod == 20)
THEN
4966 nc(j,i) = ixs(j+1,n)
4968 nn1 = n - (numels8+numels10)
4970 nc(j+8,i) = ixs20(j,nn1)
4973 iskin(i) = iskin(i) + tag_skin_nd(nc(j,i))
4978 nptr = elbuf_tab(ng)%NPTR
4979 npts = elbuf_tab(ng)%NPTS
4980 nptt = elbuf_tab(ng)%NPTT
4981 nlay = elbuf_tab(ng)%NLAY
4982 npt = nptr*npts*nptt
4985 IF (jhbe == 24)
THEN
4986 CALL pre_heph(x,ixs,jr0,js0,jt0,pm,mat,nu,nft,nel)
4989 IF(isolnod == 6 .OR. isolnod == 8 .OR.
4990 . isolnod == 16 .OR. isolnod == 20)
THEN
4993 IF(nlay > 1 .AND. jhbe /= 14)
THEN
4995 IF (iskin(i)==0) cycle
4999 gama(1) = gbuf%GAMA(jj(1) + i)
5000 gama(2) = gbuf%GAMA(jj(2) + i)
5001 gama(3) = gbuf%GAMA(jj(3) + i)
5002 gama(4) = gbuf%GAMA(jj(4) + i)
5003 gama(5) = gbuf%GAMA(jj(5) + i)
5004 gama(6) = gbuf%GAMA(jj(6) + i)
5016 DO j=1,
min(8,isolnod)
5017 DO k=1,
min(8,isolnod)
5018 IF(sol_node(2,k) == sol_node(2,j))
THEN
5020 IF (sol_node(1,k) == -1 .AND. sol_node(1
5022 IF (sol_node(1,k) == -1 .AND. sol_node(1,j) == 1)
5023 . ir =
max(1,nptr-1)
5024 IF (sol_node(1,k) == 1 .AND. sol_node(1,j) == 1)
5026 IF (sol_node(1,k) == 1 .AND. sol_node(1,j) == -1)
5028 IF (sol_node(2,k) == -1 .AND. sol_node(2,j) == -1)
5030 IF (sol_node(2,k) == -1 .AND. sol_node(2,j) == 1)
5031 . is =
max(1,npts-1)
5032 IF (sol_node(2,k) == 1 .AND. sol_node(2,j) == 1)
5034 IF (sol_node(2,k) == 1 .AND. sol_node(2,j) == -1)
5036 IF (sol_node(3,k) == -1 .AND. sol_node(3,j) == -1)
5038 IF (sol_node(3,k) == -1 .AND. sol_node(3,j) == 1)
5039 . it =
max(1,nptt-1)
5040 IF (sol_node(3,k) == 1 .AND. sol_node(3,j) == 1)
5042 IF (sol_node(3,k) == 1 .AND. sol_node(3,j) == -1)
5051 ELSEIF (sol_node(1,j) == -1 )
THEN
5053 a_gauss_r1 = a_gauss(2,nptr)
5055 . (-one-half*(a_gauss_r1+a_gauss_r))/
5056 . (half*(a_gauss_r1-a_gauss_r))
5057 ELSEIF(sol_node(1,j) == 1 )
THEN
5058 a_gauss_r = a_gauss(nptr-1,nptr)
5059 a_gauss_r1 = a_gauss(nptr,nptr)
5061 . (one+half*(a_gauss_r1+a_gauss_r))/
5062 . (half*(a_gauss_r1-a_gauss_r))
5067 ELSEIF (sol_node(2,j) == -1 )
THEN
5068 a_gauss_s = a_gauss(1,npts)
5069 a_gauss_s1 = a_gauss(2,npts)
5071 . (-one-half*(a_gauss_s1+a_gauss_s))/
5072 . (half*(a_gauss_s1-a_gauss_s))
5073 ELSEIF(sol_node(2,j) == 1 )
THEN
5074 a_gauss_s = a_gauss(npts-1,npts)
5075 a_gauss_s1 = a_gauss(npts,npts)
5077 . (one+half*(a_gauss_s1+a_gauss_s))/
5078 . (half*(a_gauss_s1-a_gauss_s))
5083 ELSEIF (sol_node(3,j) == -1 )
THEN
5084 a_gauss_t = a_gauss(1,nptt)
5085 a_gauss_t1 = a_gauss(2,nptt)
5087 . (-one-half*(a_gauss_t1+a_gauss_t))/
5088 . (half*(a_gauss_t1-a_gauss_t))
5089 ELSEIF(sol_node(3,j) == 1 )
THEN
5090 a_gauss_t = a_gauss(nptt-1,nptt)
5091 a_gauss_t1 = a_gauss(nptt,nptt)
5093 . (one+half*(a_gauss_t1+a_gauss_t))/
5094 . (half*(a_gauss_t1-a_gauss_t))
5097 IF (jhbe == 15 .OR. jhbe == 16)
THEN
5101 . (one+sol_node(1,k) * a_gauss_p_r) *
5102 . (one+sol_node(3,k) * a_gauss_p_t) )
5105 lbuf => elbuf_tab(ng)%BUFLY(ilay)%LBUF(ir,is,it)
5106 evar_tmp(1) = lbuf%SIG(jj(1) + i)
5107 evar_tmp(2) = lbuf%SIG(jj(2) + i)
5108 evar_tmp(3) = lbuf%SIG(jj(3) + i)
5109 evar_tmp(4) = lbuf%SIG(jj(4) + i)
5110 evar_tmp(5) = lbuf%SIG(jj(5) + i)
5111 evar_tmp(6) = lbuf%SIG(jj(6) + i)
5113 evar_tmp(1) = evar_tmp(1) + lbuf%VISC(jj(1) + i)
5114 evar_tmp(2) = evar_tmp(2) + lbuf%VISC(jj(2) + i)
5115 evar_tmp(3) = evar_tmp(3) + lbuf%VISC(jj(3) + i)
5116 evar_tmp(4) = evar_tmp(4) + lbuf%VISC(jj(4) + i)
5117 evar_tmp(5) = evar_tmp(5) + lbuf%VISC(jj(5) + i)
5118 evar_tmp(6) = evar_tmp(6) + lbuf%VISC(jj(6) + i)
5120 IF (kcvt /= 0)
CALL srota6(x, ixs(1,n),kcvt, evar_tmp,gama, jhbe, igtyp, isorth)
5121 evar(1,nc(j,i)) = evar(1,nc(j,i)) + n1 * evar_tmp(1)
5122 evar(2,nc(j,i)) = evar(2,nc(j,i)) + n1 * evar_tmp(2)
5123 evar(3,nc(j,i)) = evar(3,nc(j,i)) + n1 * evar_tmp(3)
5124 evar(4,nc(j,i)) = evar(4,nc(j,i)) + n1 * evar_tmp(4)
5125 evar(5,nc(j,i)) = evar(5,nc(j,i)) + n1 * evar_tmp(5)
5126 evar(6,nc(j,i)) = evar(6,nc(j,i)) + n1 * evar_tmp(6)
5131 ELSEIF (jhbe == 24)
THEN
5133 IF (iskin(i)==0) cycle
5137 gama(1:6) = gbuf%GAMA(jj(1:6) + i)
5154 lbuf => elbuf_tab(ng)%BUFLY(ilay)%LBUF(1,1,1)
5156 CALL szsigpara(jr0 ,js0 ,jt0 ,gbuf%HOURG ,gbuf%SIG ,
5157 . sig_hour ,ksi ,eta ,zeta ,nu ,nel , i)
5158 evar_tmp(1:6) = sig_hour(i,1:6)
5160 evar_tmp(1:6) =evar_tmp(1:6)+ lbuf%VISC(jj(1:6) + i)
5162 IF (kcvt /= 0)
CALL srota6(x, ixs(1,n),kcvt, evar_tmp,gama, jhbe, igtyp, isorth)
5163 evar(1:6,nc(j,i)) = evar(1:6,nc(j,i)) + evar_tmp(1:6)
5168 IF (iskin(i)==0) cycle
5172 gama(1) = gbuf%GAMA(jj(1) + i)
5173 gama(2) = gbuf%GAMA(jj(2) + i)
5174 gama(3) = gbuf%GAMA(jj
5175 gama(4) = gbuf%GAMA(jj(4) + i)
5176 gama(5) = gbuf%GAMA(jj(5) + i)
5177 gama(6) = gbuf%GAMA(jj(6) + i)
5187 IF(igtyp == 20 .OR. igtyp ==21 .OR. igtyp == 22)
THEN
5190 DO j=1,
min(8,isolnod)
5191 DO k=1,
min(8,isolnod)
5192 IF (sol_node(1,k) == -1 .AND. sol_node(1,j) == -1)
5195 . is =
max(1,npts-1)
5196 IF (sol_node(1,k) == 1 .AND. sol_node(1,j) == 1)
5198 IF (sol_node(1,k) == 1 .AND. sol_node(1,j) == -1)
5200 IF (sol_node(2,k) == -1 .AND. sol_node(2,j) == -1)
5202 IF (sol_node(2,k) == -1 .AND. sol_node(2,j) == 1)
5203 . it =
max(1,nptt-1)
5204 IF (sol_node(2,k) == 1 .AND. sol_node(2,j) == 1)
5206 IF (sol_node(2,k) == 1 .AND. sol_node(2,j) == -1)
5208 IF (sol_node(3,k) == -1 .AND. sol_node(3,j) == -1)
5210 IF (sol_node(3,k) == -1 .AND. sol_node(3,j) == 1)
5211 . ir =
max(1,nptr-1)
5212 IF (sol_node(3,k) == 1 .AND. sol_node(3,j) == 1)
5214 IF (sol_node(3,k) == 1 .AND. sol_node(3,j) == -1)
5223 ELSEIF (sol_node(1,j) == -1 )
THEN
5224 a_gauss_r = a_gauss(1,nptr)
5225 a_gauss_r1 = a_gauss(2,nptr)
5227 . (-one-half*(a_gauss_r1+a_gauss_r))/
5228 . (half*(a_gauss_r1-a_gauss_r))
5229 ELSEIF(sol_node(1,j) == 1 )
THEN
5230 a_gauss_r = a_gauss(nptr-1,nptr)
5231 a_gauss_r1 = a_gauss(nptr,nptr)
5233 . (one+half*(a_gauss_r1+a_gauss_r))/
5234 . (half*(a_gauss_r1-a_gauss_r))
5239 ELSEIF (sol_node(2,j) == -1 )
THEN
5240 a_gauss_s = a_gauss(1,npts)
5241 a_gauss_s1 = a_gauss(2,npts)
5243 . (-one-half*(a_gauss_s1+a_gauss_s))/
5244 . (half*(a_gauss_s1-a_gauss_s))
5245 ELSEIF(sol_node(2,j) == 1 )
THEN
5246 a_gauss_s = a_gauss(npts-1,npts)
5247 a_gauss_s1 = a_gauss(npts,npts)
5249 . (one+half*(a_gauss_s1+a_gauss_s))/
5250 . (half*(a_gauss_s1-a_gauss_s))
5255 ELSEIF (sol_node(3,j) == -1 )
THEN
5256 a_gauss_t = a_gauss(1,nptt)
5257 a_gauss_t1 = a_gauss(2,nptt)
5259 . (-one-half*(a_gauss_t1+a_gauss_t))/
5260 . (half*(a_gauss_t1-a_gauss_t))
5261 ELSEIF(sol_node(3,j) == 1 )
THEN
5262 a_gauss_t = a_gauss(nptt-1,nptt)
5263 a_gauss_t1 = a_gauss(nptt,nptt)
5265 . (one+half*(a_gauss_t1+a_gauss_t))/
5266 . (half*(a_gauss_t1-a_gauss_t))
5270 . (one+sol_node(1,k) * a_gauss_p_r) *
5271 . (one+sol_node(2,k) * a_gauss_p_s) *
5272 . (one+sol_node(3,k) * a_gauss_p_t) )
5274 IF (igtyp == 20 .OR. igtyp ==21 .OR. igtyp == 22)
THEN
5283 zeta = a_gauss(it,2)
5285 lbuf => elbuf_tab(ng)%BUFLY(ilay)%LBUF(ir,is,it)
5287 evar_tmp(1) = lbuf%SIG(jj(1) + i)
5288 evar_tmp(2) = lbuf%SIG(jj(2) + i)
5289 evar_tmp(3) = lbuf%SIG(jj(3) + i)
5290 evar_tmp(4) = lbuf%SIG(jj(4) + i)
5291 evar_tmp(5) = lbuf%SIG(jj(5) + i)
5292 evar_tmp(6) = lbuf%SIG(jj(6) + i)
5294 evar_tmp(1) =evar_tmp(1)+ lbuf%VISC(jj(1) + i)
5295 evar_tmp(2) =evar_tmp(2)+ lbuf%VISC(jj(2) + i)
5296 evar_tmp(3) =evar_tmp(3)+ lbuf%VISC(jj(3) + i)
5297 evar_tmp(4) =evar_tmp(4)+ lbuf%VISC(jj(4) + i)
5298 evar_tmp(5) =evar_tmp(5)+ lbuf%VISC(jj(5) + i)
5299 evar_tmp(6) =evar_tmp(6)+ lbuf%VISC(jj(6) + i)
5301 IF (kcvt /= 0)
CALL srota6(x, ixs(1,n),kcvt, evar_tmp,gama, jhbe, igtyp, isorth)
5302 evar(1,nc(j,i)) = evar(1,nc(j,i)) + n1 * evar_tmp(1)
5303 evar(2,nc(j,i)) = evar(2,nc(j,i)) + n1 * evar_tmp(2)
5304 evar(3,nc(j,i)) = evar(3,nc(j,i)) + n1 * evar_tmp(3)
5305 evar(4,nc(j,i)) = evar(4,nc(j,i)) + n1 * evar_tmp(4)
5306 evar(5,nc(j,i)) = evar(5,nc(j,i)) + n1 * evar_tmp(5)
5307 evar(6,nc(j,i)) = evar(6,nc(j,i)) + n1 * evar_tmp(6)
5313 ELSEIF(isolnod == 4 )
THEN
5316 IF (iskin(i)==0) cycle
5320 gama(1) = gbuf%GAMA(jj(1) + i)
5321 gama(2) = gbuf%GAMA(jj(2) + i)
5322 gama(3) = gbuf%GAMA(jj(3) + i)
5323 gama(4) = gbuf%GAMA(jj(4) + i)
5324 gama(5) = gbuf%GAMA(jj(5) + i)
5325 gama(6) = gbuf%GAMA(jj(6) + i)
5337 lbuf => elbuf_tab(ng)%BUFLY(ilay)%LBUF(1,1,1)
5338 evar_tmp(1) = lbuf%SIG(jj(1) + i)
5339 evar_tmp(2) = lbuf%SIG(jj(2) + i)
5340 evar_tmp(3) = lbuf%SIG(jj(3) + i)
5341 evar_tmp(4) = lbuf%SIG(jj(4) + i)
5342 evar_tmp(5) = lbuf%SIG(jj(5) + i)
5343 evar_tmp(6) = lbuf%SIG(jj(6) + i)
5345 evar_tmp(1) =evar_tmp(1)+ lbuf%VISC(jj(1) + i)
5346 evar_tmp(2) =evar_tmp(2)+ lbuf%VISC(jj(2) + i
5347 evar_tmp(3) =evar_tmp(3)+ lbuf%VISC(jj(3) + i)
5348 evar_tmp(4) =evar_tmp(4)+ lbuf%VISC(jj(4) + i)
5349 evar_tmp(5) =evar_tmp(5)+ lbuf%VISC(jj(5) + i)
5350 evar_tmp(6) =evar_tmp(6)+ lbuf%VISC(jj(6) + i)
5352 IF (kcvt /= 0)
CALL srota6( x, ixs(1,n),kcvt, evar_tmp,gama, jhbe, igtyp, isorth)
5354 evar(1,nc(j,i)) = evar(1,nc(j,i)) + n1 * evar_tmp(1)
5355 evar(2,nc(j,i)) = evar(2,nc(j,i)) + n1 * evar_tmp(2)
5356 evar(3,nc(j,i)) = evar(3,nc(j,i)) + n1 * evar_tmp(
5357 evar(4,nc(j,i)) = evar(4,nc(j,i)) + n1 * evar_tmp(
5358 evar(5,nc(j,i)) = evar(5,nc(j,i)) + n1 * evar_tmp(5)
5359 evar(6,nc(j,i)) = evar(6,nc(j,i)) + n1 * evar_tmp(6)
5362 ELSEIF(isolnod == 10)
THEN
5364 alpha_1 = -alpha/(beta-alpha)
5365 beta_1 = (one-alpha)/(beta-alpha)
5367 IF (iskin(i)==0) cycle
5371 gama(1) = gbuf%GAMA(jj(1) + i)
5372 gama(2) = gbuf%GAMA(jj(2) + i)
5373 gama(3) = gbuf%GAMA(jj(3) + i)
5374 gama(4) = gbuf%GAMA(jj(4) + i)
5375 gama(5) = gbuf%GAMA(jj(5) + i)
5376 gama(6) = gbuf%GAMA(jj(6) + i)
5387 evar_t10(1:6,j)=zero
5399 lbuf => elbuf_tab(ng)%BUFLY(ilay)%LBUF(ir,is,it)
5400 evar_t10(1,j) = evar_t10(1,j)+ n1 *lbuf%SIG(jj(1) + i)
5401 evar_t10(2,j) = evar_t10(2,j)+ n1 *lbuf%SIG(jj(2) + i)
5402 evar_t10(3,j) = evar_t10(3,j)+ n1 *lbuf%SIG(jj(3) + i)
5403 evar_t10(4,j) = evar_t10(4,j)+ n1 *lbuf%SIG(jj(4) + i)
5404 evar_t10(5,j) = evar_t10(5,j)+ n1 *lbuf%SIG(jj(5) + i)
5405 evar_t10(6,j) = evar_t10(6,j)+ n1 *lbuf%SIG(jj(6) + i)
5407 evar_t10(1,j) =evar_t10(1,j)+ n1 *lbuf%VISC(jj(1) + i)
5408 evar_t10(2,j) =evar_t10(2,j)+ n1 *lbuf%VISC(jj(2) + i)
5409 evar_t10(3,j) =evar_t10(3,j)+ n1 *lbuf%VISC(jj(3) + i)
5410 evar_t10(4,j) =evar_t10(4,j)+ n1 *lbuf%VISC(jj(4) + i)
5411 evar_t10(5,j) =evar_t10(5,j)+ n1 *lbuf%VISC(jj(5) + i)
5412 evar_t10(6,j) =evar_t10(6,j)+ n1 *lbuf%VISC(jj(6) + i)
5415 IF (kcvt /= 0)
CALL srota6( x, ixs(1,n), kcvt, evar_t10(1,j), gama, jhbe, igtyp, isorth)
5420 evar_t10(1:6,j) = half*(evar_t10(1:6,nn1)+evar_t10(1:6,nn2))
5423 evar(1,nc(j,i)) = evar(1,nc(j,i)) + evar_t10(1,j)
5424 evar(2,nc(j,i)) = evar(2,nc(j,i)) + evar_t10(2,j)
5425 evar(3,nc(j,i)) = evar(3,nc(j,i)) + evar_t10(3,j)
5426 evar(4,nc(j,i)) = evar(4,nc(j,i)) + evar_t10(4,j)
5427 evar(5,nc(j,i)) = evar(5,nc(j,i)) + evar_t10(5,j)
5428 evar(6,nc(j,i)) = evar(6,nc(j,i)) + evar_t10(6,j)
5433 IF (iskin(i)==0) cycle
5438 func1(k,n) = evar(k,n)
5439 func2(k,n) = evar(k+3,n)
5441 itagps(n) = itagps(n)+1