32
33
34
35 USE elbufdef_mod
36
37
38
39#include "implicit_f.inc"
40
41
42
43#include "com01_c.inc"
44#include "com04_c.inc"
45#include "param_c.inc"
46
47
48
49 INTEGER IXS(NIXS,*),IXQ(NIXQ,*), IXC(NIXC,*),
50 . IXT(NIXT,*), IXP(NIXP,*), IXR(NIXR,*), IXTG(NIXTG,*),
51 . IBUF(*), NN, IPARG(NPARG,*)
53 . bufel(*), bufel0(*)
54 TYPE (ELBUF_STRUCT_), DIMENSION(NGROUP) :: ELBUF_TAB
55
56
57
58 INTEGER I, ITAG(NUMNOD), NG, MLW, ITY, NEL, NFT, IAD, NBX, II,
59 . NALL, IHBE, NPT, ISTRAIN, IEXPAN,ISROT
60
61 DO i=1,lbufel
62 bufel0(i)=bufel(i)
63 ENDDO
64 DO i=1,numnod
65 itag(i)=0
66 ENDDO
67 DO i=1,nn
68 itag(ibuf(i))=1
69 ENDDO
70
71 DO ng=1,ngroup
72 mlw=iparg(1,ng)
73 ity=iparg(5,ng)
74 nel=iparg(2,ng)
75 nft=iparg(3,ng)
76 nbx=iparg(4,ng) -1
77 IF (ity==1) THEN
78 DO i=1,nel
79 ii=i+nft
80 nall = itag(ixs(2,ii)) * itag(ixs(3,ii)) *
81 + itag(ixs(4,ii)) * itag(ixs(5,ii)) *
82 + itag(ixs(6,ii)) * itag(ixs(7,ii)) *
83 + itag(ixs(8,ii)) * itag(ixs(9,ii))
84 IF (nall == 0) elbuf_tab(ng)%GBUF%OFF(i) = zero
85 ENDDO
86 ELSEIF (ity==3) THEN
87 DO i=1,nel
88 ii=i+nft
89 nall = itag(ixc(2,ii)) * itag(ixc(3,ii)) *
90 + itag(ixc(4,ii)) * itag(ixc(5,ii))
91 IF (nall == 0) elbuf_tab(ng)%GBUF%OFF(i) = zero
92 ENDDO
93 ELSEIF (ity==7) THEN
94 DO i=1,nel
95 ii=i+nft
96 nall = itag(ixtg(2,ii)) * itag(ixtg(3,ii)) *
97 + itag(ixtg(4,ii))
98 IF (nall == 0) elbuf_tab(ng)%GBUF%OFF(i) = zero
99 ENDDO
100 ELSEIF (ity==50) THEN
101 DO i=1,nel
102 bufel0(nbx+i)=zero
103 ENDDO
104 ELSEIF (ity==4) THEN
105 DO i=1,nel
106 ii=i+nft
107 nall = itag(ixt(2,ii)) * itag(ixt(3,ii))
108 IF (nall == 0) elbuf_tab(ng)%GBUF%OFF(i) = zero
109
110 ENDDO
111 ELSEIF (ity==5) THEN
112 DO i=1,nel
113 ii=i+nft
114 nall = itag(ixp(2,ii)) * itag(ixp(3,ii))
115 IF (nall == 0) elbuf_tab(ng)%GBUF%OFF(i) = zero
116
117 ENDDO
118 ELSEIF (ity==6) THEN
119 DO i=1,nel
120 ii=i+nft
121 nall = itag(ixr(2,ii)) * itag(ixr(3,ii))
122 IF (nall == 0) elbuf_tab(ng)%GBUF%OFF(i) = zero
123
124 ENDDO
125 ENDIF
126 ENDDO
127
128 RETURN