28 integer mi(*),i,kon(*),ipkon(*),ne,iponor(2,*),knor(*),ntrans,
29 & inotr(2,*),nk,nk_,indexe,j,nodel(8),indexx,indexk,k,nodeb(8,3),
32 real*8 xnor(*),thicke(mi(3),*),trab(7,*),co(3,*),offset(2,*),
33 & thickb(2,3),xnorb(6,3),sc
39 if((lakon(i)(3:3).eq.
'1').or.(lakon(i)(4:4).eq.
'2'))
then 41 if(lakon(i)(4:4).eq.
'R')
then 46 elseif((lakon(i)(3:3).eq.
'2').or.(lakon(i)(4:5).eq.
'3'))
then 56 nodel(j)=kon(indexe+j)
57 kon(indexe+ishift+j)=nodel(j)
58 indexx=iponor(1,indexe+j)
59 indexk=iponor(2,indexe+j)
60 thickb(1,j)=thicke(1,indexe+j)
61 thickb(2,j)=thicke(2,indexe+j)
63 xnorb(k,j)=xnor(indexx+k)
66 nodeb(k,j)=knor(indexk+k)
70 inotr(1,nodeb(k,j))=inotr(1,nodel(j))
79 if(lakon(i)(8:8).ne.
'C')
then 80 kon(indexe+1)=nodeb(1,1)
82 co(j,nodeb(1,1))=co(j,nodel(1))
83 & -thickb(1,1)*xnorb(j,1)*(.5d0+offset(1,i))
84 & +thickb(2,1)*xnorb(j+3,1)*(.5d0-offset(2,i))
86 kon(indexe+2)=nodeb(1,nope)
88 co(j,nodeb(1,nope))=co(j,nodel(nope))
89 & -thickb(1,nope)*xnorb(j,nope)*(.5d0+offset(1,i))
90 & +thickb(2,nope)*xnorb(j+3,nope)*(.5d0-offset(2,i))
92 kon(indexe+3)=nodeb(2,nope)
94 co(j,nodeb(2,nope))=co(j,nodel(nope))
95 & -thickb(1,nope)*xnorb(j,nope)*(.5d0+offset(1,i))
96 & -thickb(2,nope)*xnorb(j+3,nope)*(.5d0+offset(2,i))
98 kon(indexe+4)=nodeb(2,1)
100 co(j,nodeb(2,1))=co(j,nodel(1))
101 & -thickb(1,1)*xnorb(j,1)*(.5d0+offset(1,i))
102 & -thickb(2,1)*xnorb(j+3,1)*(.5d0+offset(2,i))
104 kon(indexe+5)=nodeb(4,1)
106 co(j,nodeb(4,1))=co(j,nodel(1))
107 & +thickb(1,1)*xnorb(j,1)*(.5d0-offset(1,i))
108 & +thickb(2,1)*xnorb(j+3,1)*(.5d0-offset(2,i))
110 kon(indexe+6)=nodeb(4,nope)
112 co(j,nodeb(4,nope))=co(j,nodel(nope))
113 & +thickb(1,nope)*xnorb(j,nope)*(.5d0-offset(1,i))
114 & +thickb(2,nope)*xnorb(j+3,nope)*(.5d0-offset(2,i))
116 kon(indexe+7)=nodeb(3,nope)
118 co(j,nodeb(3,nope))=co(j,nodel(nope))
119 & +thickb(1,nope)*xnorb(j,nope)*(.5d0-offset(1,i))
120 & -thickb(2,nope)*xnorb(j+3,nope)*(.5d0+offset(2,i))
122 kon(indexe+8)=nodeb(3,1)
124 co(j,nodeb(3,1))=co(j,nodel(1))
125 & +thickb(1,1)*xnorb(j,1)*(.5d0-offset(1,i))
126 & -thickb(2,1)*xnorb(j+3,1)*(.5d0+offset(2,i))
132 kon(indexe+9)=nodeb(1,2)
134 co(j,nodeb(1,2))=co(j,nodel(2))
135 & -thickb(1,2)*xnorb(j,2)*(.5d0+offset(1,i))
136 & +thickb(2,2)*xnorb(j+3,2)*(.5d0-offset(2,i))
138 kon(indexe+10)=nodeb(5,3)
140 co(j,nodeb(5,3))=co(j,nodel(3))
141 & -thickb(1,3)*xnorb(j,3)*(.5d0+offset(1,i))
142 & -thickb(2,3)*xnorb(j+3,3)*offset(2,i)
144 kon(indexe+11)=nodeb(2,2)
146 co(j,nodeb(2,2))=co(j,nodel(2))
147 & -thickb(1,2)*xnorb(j,2)*(.5d0+offset(1,i))
148 & -thickb(2,2)*xnorb(j+3,2)*(.5d0+offset(2,i))
150 kon(indexe+12)=nodeb(5,1)
152 co(j,nodeb(5,1))=co(j,nodel(1))
153 & -thickb(1,1)*xnorb(j,1)*(.5d0+offset(1,i))
154 & -thickb(2,1)*xnorb(j+3,1)*offset(2,i)
156 kon(indexe+13)=nodeb(4,2)
158 co(j,nodeb(4,2))=co(j,nodel(2))
159 & +thickb(1,2)*xnorb(j,2)*(.5d0-offset(1,i))
160 & +thickb(2,2)*xnorb(j+3,2)*(.5d0-offset(2,i))
162 kon(indexe+14)=nodeb(7,3)
164 co(j,nodeb(7,3))=co(j,nodel(3))
165 & +thickb(1,3)*xnorb(j,3)*(.5d0-offset(1,i))
166 & -thickb(2,3)*xnorb(j+3,3)*offset(2,i)
168 kon(indexe+15)=nodeb(3,2)
170 co(j,nodeb(3,2))=co(j,nodel(2))
171 & +thickb(1,2)*xnorb(j,2)*(.5d0-offset(1,i))
172 & -thickb(2,2)*xnorb(j+3,2)*(.5d0+offset(2,i))
174 kon(indexe+16)=nodeb(7,1)
176 co(j,nodeb(7,1))=co(j,nodel(1))
177 & +thickb(1,1)*xnorb(j,1)*(.5d0-offset(1,i))
178 & -thickb(2,1)*xnorb(j+3,1)*offset(2,i)
180 kon(indexe+17)=nodeb(8,1)
182 co(j,nodeb(8,1))=co(j,nodel(1))
183 & -thickb(1,1)*xnorb(j,1)*offset(1,i)
184 & +thickb(2,1)*xnorb(j+3,1)*(.5d0-offset(2,i))
186 kon(indexe+18)=nodeb(8,3)
188 co(j,nodeb(8,3))=co(j,nodel(3))
189 & -thickb(1,3)*xnorb(j,3)*offset(1,i)
190 & +thickb(2,3)*xnorb(j+3,3)*(.5d0-offset(2,i))
192 kon(indexe+19)=nodeb(6,3)
194 co(j,nodeb(6,3))=co(j,nodel(3))
195 & -thickb(1,3)*xnorb(j,3)*offset(1,i)
196 & -thickb(2,3)*xnorb(j+3,3)*(.5d0+offset(2,i))
198 kon(indexe+20)=nodeb(6,1)
200 co(j,nodeb(6,1))=co(j,nodel(1))
201 & -thickb(1,1)*xnorb(j,1)*offset(1,i)
202 & -thickb(2,1)*xnorb(j+3,1)*(.5d0+offset(2,i))
210 co(j,nodeb(5,2))=co(j,nodel(2))
211 & -thickb(1,1)*xnorb(j,1)*(.5d0+offset(1,i))
212 & -thickb(2,1)*xnorb(j+3,1)*offset(2,i)
215 co(j,nodeb(7,2))=co(j,nodel(2))
216 & +thickb(1,1)*xnorb(j,1)*(.5d0-offset(1,i))
217 & -thickb(2,1)*xnorb(j+3,1)*offset(2,i)
220 co(j,nodeb(8,2))=co(j,nodel(2))
221 & -thickb(1,1)*xnorb(j,1)*offset(1,i)
222 & +thickb(2,1)*xnorb(j+3,1)*(.5d0-offset(2,i))
225 co(j,nodeb(6,2))=co(j,nodel(2))
226 & -thickb(1,1)*xnorb(j,1)*offset(1,i)
227 & -thickb(2,1)*xnorb(j+3,1)*(.5d0+offset(2,i))
235 write(*,*)
'*ERROR in gen3dfrom1d: element ',i,
236 &
'is a linear beam element with circular cross section' 237 write(*,*)
' Please use quadratic elements for beams 238 &with circular cross section.' 243 kon(indexe+1)=nodeb(1,1)
245 co(j,nodeb(1,1))=co(j,nodel(1))
246 & -thickb(1,1)*xnorb(j,1)*(sc+offset(1,i))
247 & +thickb(2,1)*xnorb(j+3,1)*(sc-offset(2,i))
249 kon(indexe+2)=nodeb(1,3)
251 co(j,nodeb(1,3))=co(j,nodel(3))
252 & -thickb(1,3)*xnorb(j,3)*(sc+offset(1,i))
253 & +thickb(2,3)*xnorb(j+3,3)*(sc-offset(2,i))
255 kon(indexe+3)=nodeb(2,3)
257 co(j,nodeb(2,3))=co(j,nodel(3))
258 & -thickb(1,3)*xnorb(j,3)*(sc+offset(1,i))
259 & -thickb(2,3)*xnorb(j+3,3)*(sc+offset(2,i))
261 kon(indexe+4)=nodeb(2,1)
263 co(j,nodeb(2,1))=co(j,nodel(1))
264 & -thickb(1,1)*xnorb(j,1)*(sc+offset(1,i))
265 & -thickb(2,1)*xnorb(j+3,1)*(sc+offset(2,i))
267 kon(indexe+5)=nodeb(4,1)
269 co(j,nodeb(4,1))=co(j,nodel(1))
270 & +thickb(1,1)*xnorb(j,1)*(sc-offset(1,i))
271 & +thickb(2,1)*xnorb(j+3,1)*(sc-offset(2,i))
273 kon(indexe+6)=nodeb(4,3)
275 co(j,nodeb(4,3))=co(j,nodel(3))
276 & +thickb(1,3)*xnorb(j,3)*(sc-offset(1,i))
277 & +thickb(2,3)*xnorb(j+3,3)*(sc-offset(2,i))
279 kon(indexe+7)=nodeb(3,3)
281 co(j,nodeb(3,3))=co(j,nodel(3))
282 & +thickb(1,3)*xnorb(j,3)*(sc-offset(1,i))
283 & -thickb(2,3)*xnorb(j+3,3)*(sc+offset(2,i))
285 kon(indexe+8)=nodeb(3,1)
287 co(j,nodeb(3,1))=co(j,nodel(1))
288 & +thickb(1,1)*xnorb(j,1)*(sc-offset(1,i))
289 & -thickb(2,1)*xnorb(j+3,1)*(sc+offset(2,i))
291 kon(indexe+9)=nodeb(1,2)
293 co(j,nodeb(1,2))=co(j,nodel(2))
294 & -thickb(1,2)*xnorb(j,2)*(sc+offset(1,i))
295 & +thickb(2,2)*xnorb(j+3,2)*(sc-offset(2,i))
297 kon(indexe+10)=nodeb(5,3)
299 co(j,nodeb(5,3))=co(j,nodel(3))
300 & -thickb(1,3)*xnorb(j,3)*(.5d0+offset(1,i))
301 & -thickb(2,3)*xnorb(j+3,3)*offset(2,i)
303 kon(indexe+11)=nodeb(2,2)
305 co(j,nodeb(2,2))=co(j,nodel(2))
306 & -thickb(1,2)*xnorb(j,2)*(sc+offset(1,i))
307 & -thickb(2,2)*xnorb(j+3,2)*(sc+offset(2,i))
309 kon(indexe+12)=nodeb(5,1)
311 co(j,nodeb(5,1))=co(j,nodel(1))
312 & -thickb(1,1)*xnorb(j,1)*(.5d0+offset(1,i))
313 & -thickb(2,1)*xnorb(j+3,1)*offset(2,i)
315 kon(indexe+13)=nodeb(4,2)
317 co(j,nodeb(4,2))=co(j,nodel(2))
318 & +thickb(1,2)*xnorb(j,2)*(sc-offset(1,i))
319 & +thickb(2,2)*xnorb(j+3,2)*(sc-offset(2,i))
321 kon(indexe+14)=nodeb(7,3)
323 co(j,nodeb(7,3))=co(j,nodel(3))
324 & +thickb(1,3)*xnorb(j,3)*(.5d0-offset(1,i))
325 & -thickb(2,3)*xnorb(j+3,3)*offset(2,i)
327 kon(indexe+15)=nodeb(3,2)
329 co(j,nodeb(3,2))=co(j,nodel(2))
330 & +thickb(1,2)*xnorb(j,2)*(sc-offset(1,i))
331 & -thickb(2,2)*xnorb(j+3,2)*(sc+offset(2,i))
333 kon(indexe+16)=nodeb(7,1)
335 co(j,nodeb(7,1))=co(j,nodel(1))
336 & +thickb(1,1)*xnorb(j,1)*(.5d0-offset(1,i))
337 & -thickb(2,1)*xnorb(j+3,1)*offset(2,i)
339 kon(indexe+17)=nodeb(8,1)
341 co(j,nodeb(8,1))=co(j,nodel(1))
342 & -thickb(1,1)*xnorb(j,1)*offset(1,i)
343 & +thickb(2,1)*xnorb(j+3,1)*(.5d0-offset(2,i))
345 kon(indexe+18)=nodeb(8,3)
347 co(j,nodeb(8,3))=co(j,nodel(3))
348 & -thickb(1,3)*xnorb(j,3)*offset(1,i)
349 & +thickb(2,3)*xnorb(j+3,3)*(.5d0-offset(2,i))
351 kon(indexe+19)=nodeb(6,3)
353 co(j,nodeb(6,3))=co(j,nodel(3))
354 & -thickb(1,3)*xnorb(j,3)*offset(1,i)
355 & -thickb(2,3)*xnorb(j+3,3)*(.5d0+offset(2,i))
357 kon(indexe+20)=nodeb(6,1)
359 co(j,nodeb(6,1))=co(j,nodel(1))
360 & -thickb(1,1)*xnorb(j,1)*offset(1,i)
361 & -thickb(2,1)*xnorb(j+3,1)*(.5d0+offset(2,i))
369 co(j,nodeb(5,2))=co(j,nodel(2))
370 & -thickb(1,1)*xnorb(j,1)*(.5d0+offset(1,i))
371 & -thickb(2,1)*xnorb(j+3,1)*offset(2,i)
374 co(j,nodeb(7,2))=co(j,nodel(2))
375 & +thickb(1,1)*xnorb(j,1)*(.5d0-offset(1,i))
376 & -thickb(2,1)*xnorb(j+3,1)*offset(2,i)
379 co(j,nodeb(8,2))=co(j,nodel(2))
380 & -thickb(1,1)*xnorb(j,1)*offset(1,i)
381 & +thickb(2,1)*xnorb(j+3,1)*(.5d0-offset(2,i))
384 co(j,nodeb(6,2))=co(j,nodel(2))
385 & -thickb(1,1)*xnorb(j,1)*offset(1,i)
386 & -thickb(2,1)*xnorb(j+3,1)*(.5d0+offset(2,i))