39
40
41
42 USE elbufdef_mod
44
45
46
47#include "implicit_f.inc"
48
49
50
51#include "mvsiz_p.inc"
52#include "com01_c.inc"
53#include "com04_c.inc"
54#include "param_c.inc"
55
56
57
58
60 . pm(npropm,*), geo(npropg,*),
61 . anim(*),oned_vector(3,*),x(3,*),d(3,*),tors(15,*)
62 INTEGER IPARG(NPARG,*),
63 . IXT(NIXT,*),IXP(NIXP,*),IXR(NIXR,*),IFUNC,
64 . NANIM1D_L,
65 . IS_WRITTEN_ONED(*),ID_ELEM(*),ITY_ELEM(*),
66 . IPARTT(*) ,IPARTP(*),IPARTR(*),H3D_PART(*)
67 INTEGER BUF,INFO1,INFO2
68
69 TYPE (ELBUF_STRUCT_), DIMENSION(NGROUP), TARGET :: ELBUF_TAB
70 CHARACTER(LEN=NCHARLINE100) :: KEYWORD
71
72
73
74
76 . evar(mvsiz), mass(mvsiz) ,
77 . off, p, vonm2, vonm, s1, s2, s12, s3, value(3),
78 . a1,b1,b2,b3,yeq,f1,m1,m2,m3, xm,
79 .
for,
area, feq, eplas, rho0, a0, xx1, yy1, zz1, al0
80 INTEGER I, II, NG, NEL, NFT, IAD, ITY, LFT, NPT, ISS, ISC,
81 . IADD, N, J, LLT, MLW, NB1, NB2, NB3, NB4, NB5,
82 . NB6, NB7, NB8, NB9, NB10, NB11, NB12, NB13, NB14, NB15,
83 . NB16, LLL,NUVAR,IGTYP,
84 . ISTRAIN,NN, K1, K2,JTURB,MT,JALE, IMID, IALEL,IPID,
85 . NN1,NN2,NN3,NN4,NN5,NN6,NN7,NN8,NN9,NN10,NF,
86 . ,K,INC,KK,IHBE,ISROT,ILAYER,IR,IS,JJ(6),IOK_PART(MVSIZ),
87 . IS_WRITTEN_VALUE(MVSIZ),N1, N2
88 REAL R4
89
90 TYPE(G_BUFEL_) ,POINTER :: GBUF
91 TYPE(L_BUFEL_),POINTER :: LBUF
92
93
94 nn1 = 1
95 nn3 = 1
96 nn4 = nn3
97 nn5 = nn4
98 nn6 = nn5
99 nn7 = nn6 + numelt
100 nn8 = nn7 + numelp
101 nn9 = nn8 + numelr
102 nn10= nn9
103
104 DO ng=1,ngroup
105 mlw =iparg(1,ng)
106 nel =iparg(2,ng)
107 ity =iparg(5,ng)
108 igtyp =iparg(38,ng)
109
110 gbuf => elbuf_tab(ng)%GBUF
111
112 nft =iparg(3,ng)
113
114 DO i=1,6
115 jj(i) = nel*(i-1)
116 ENDDO
117
118 value(1:3) = zero
119 DO i=1,nel
120 is_written_value(i) = 0
121 ENDDO
122
123 IF (ity == 4) offset = 0
124 IF (ity == 5) offset = numelt
125 IF (ity == 6) offset = numelt+numelp
126
127 DO i=1,nel
128 IF (ity == 4) THEN
129 id_elem(offset+nft+i) = ixt(nixt,nft+i)
130 ity_elem(offset+nft+i) = 4
131 IF( h3d_part(ipartt(nft+i)) == 1) iok_part(i) = 1
132 ELSEIF (ity == 5) THEN
133 id_elem(offset+nft+i) = ixp(nixp,nft+i)
134 ity_elem(offset+nft+i) = 5
135 IF( h3d_part(ipartp(nft+i)) == 1) iok_part(i) = 1
136 ELSEIF (ity == 6) THEN
137 id_elem(offset+nft+i) = ixr(nixr,nft+i)
138 ity_elem(offset+nft+i) = 6
139 IF( h3d_part(ipartr(nft+i)) == 1) iok_part(i) = 1
140 ENDIF
141 ENDDO
142
143 IF(ity==4 .OR. ity==5 .OR. ity==6)THEN
144 DO i=1,nel
145 oned_vector(1:3,offset+nft+i) = zero
146 ENDDO
147 ENDIF
148
149
150
151 IF(ity==4)THEN
152
153 IF (keyword == 'FINT') THEN
154
155 DO i=1,nel
156 value(1) = tors(1,offset+nft+i)
157 value(2) = tors(2,offset+nft+i)
158 value(3) = tors(3,offset+nft+i)
160 . VALUE)
161 ENDDO
162
163
164
165
166
167
168
169
170
171
172 ENDIF
173
174
175
176 ELSEIF(ity==5)THEN
177
178 IF (keyword == 'FINT') THEN
179
180 DO i=1,nel
181 value(1) = tors(1,offset+nft+i)
182 value(2) = tors(2,offset+nft+i)
183 value(3) = tors(3,offset+nft+i)
185 . VALUE)
186 ENDDO
187
188
189
190
191
192
193
194
195
196
197 ENDIF
198
199
200
201 ELSEIF(ity==6)THEN
202
203 IF (keyword == 'FINT') THEN
204
205 DO i=1,nel
206 value(1) = tors(1,offset+nft+i)
207 value(2) = tors(2,offset+nft+i)
208 value(3) = tors(3,offset+nft+i)
210 . VALUE)
211 ENDDO
212
213
214
215
216
217
218
219
220
221
222 ENDIF
223 ENDIF
224 ENDDO
225
226 RETURN
subroutine h3d_write_vector(iok_part, is_written, vector, i, offset, nft, value)
subroutine area(d1, x, x2, y, y2, eint, stif0)
for(i8=*sizetab-1;i8 >=0;i8--)
integer, parameter ncharline100