35 . IXTG ,IPARTC ,IPARTTG ,DYNAIN_DATA ,
36 . NODTAG ,DYNAIN_INDXC,DYNAIN_INDXTG,IPARG ,
37 . ELBUF_TAB,THKE ,IPART )
46#include "implicit_f.inc"
59 INTEGER ITAB(*), (*), LENG, IGEO(NPROPGI,*),
60 . IXC(NIXC,*), IXTG(NIXTG,*),IPARTC(*), IPARTTG(*),
61 . NODTAG(*) , DYNAIN_INDXC(*) ,(*),
62 . iparg(nparg,*),ipart(lipart1,*)
64 TYPE (ELBUF_STRUCT_),
DIMENSION(NGROUP),
TARGET :: ELBUF_TAB
67 TYPE (DYNAIN_DATABASE),
INTENT(INOUT) :: DYNAIN_DATA
71 INTEGER I, N, JJ, IPRT0, IPRT, K, II
72 INTEGER NG, NEL, NFT, LFT, LLT
75 INTEGER ,
DIMENSION(:),
ALLOCATABLE :: NPC , NPTG
76 INTEGER ,
DIMENSION(:,:),
ALLOCATABLE :: CLEF
77 double precision THKN ,BETA
78 double precision ,
DIMENSION(:),
ALLOCATABLE :: THKC , THKTG ,BETAC , BETATG
79 TYPE(g_bufel_) ,
POINTER :: GBUF
86 ALLOCATE(npc(8*numelc),stat=ierr)
87 ALLOCATE(nptg(7*numeltg),stat=ierr)
88 ALLOCATE(clef(2,
max(numelc,numeltg)),stat=ierr)
89 ALLOCATE(thkc(numelc),stat=ierr)
90 ALLOCATE(thktg(numeltg),stat=ierr)
91 ALLOCATE(betac(numelc),stat=ierr)
92 ALLOCATE(betatg(numeltg),stat=ierr)
106 gbuf => elbuf_tab(ng)%GBUF
110 id_prop=igeo(1,iprop)
112 IF(igtyp/= 1) igtyp = 2
120 IF(dynain_data%IPART_DYNAIN(iprt)==0)cycle
122 npc(jj+1) = ixc(nixc,n)
123 npc(jj+2) = itab(ixc(2,n))
124 npc(jj+3) = itab(ixc(3,n))
125 npc(jj+4) = itab(ixc(4,n))
126 npc(jj+5) = itab(ixc(5,n))
127 npc(jj+6) = ipart(4,iprt)
128 npc(jj+7) = nint(gbuf%OFF(i))
131 IF (mlw /= 0 .AND. mlw /= 13)
THEN
133 thkc(ii) = gbuf%THK(i)
142 dynain_data%DYNAIN_NUMELC = dynain_data%DYNAIN_NUMELC+1
144 clef(1,dynain_data%DYNAIN_NUMELC)=igtyp
145 clef(2,dynain_data%DYNAIN_NUMELC)=ixc(nixc,n)
153 betac(ii) = (hundred80*acos(gbuf%BETAORTH(i)))/pi
162 DO n=1,dynain_data%DYNAIN_NUMELC
165 CALL my_orders(0,work,clef,dynain_indxc,dynain_data%DYNAIN_NUMELC,2)
179 gbuf => elbuf_tab(ng)%GBUF
183 id_prop=igeo(1,iprop)
185 IF(igtyp/= 1) igtyp = 2
193 IF(dynain_data%IPART_DYNAIN(iprt)==0)cycle
195 nptg(jj+1) = ixtg(nixtg,n)
196 nptg(jj+2) = itab(ixtg(2,n))
197 nptg(jj+3) = itab(ixtg(3,n))
198 nptg(jj+4) = itab(ixtg(4,n))
199 nptg(jj+5) = ipart(4,iprt)
200 nptg(jj+6) = nint(gbuf%OFF(i))
203 IF (mlw /= 0 .AND. mlw /= 13)
THEN
205 thktg(ii) = gbuf%THK(i)
214 dynain_data%DYNAIN_NUMELTG =dynain_data%DYNAIN_NUMELTG+1
216 clef(1,dynain_data%DYNAIN_NUMELTG)=igtyp
217 clef(2,dynain_data%DYNAIN_NUMELTG)=ixtg(nixtg,n)
224 betatg(ii) = (hundred80*acos(gbuf%BETAORTH(i)))/pi
233 DO n=1,dynain_data%DYNAIN_NUMELTG
236 CALL my_orders(0,work,clef,dynain_indxtg,dynain_data%DYNAIN_NUMELTG,2)
244 DO n=1,dynain_data%DYNAIN_NUMELC
252 IF(igtyp/=igtyp0)
THEN
253 IF(dynain_data%ZIPDYNAIN==0)
THEN
254 WRITE(iudynain,
'(A)')
'*ELEMENT_SHELL_THICKNESS'
255 WRITE(iudynain,
'(A)')
256 .
'$SHELLID PART_ID NOD1 NOD2 NOD3 NOD4'
257 WRITE(iudynain,
'(A)')
258 .
'$ THIC1 THIC2 THIC3 THIC4'
260 WRITE(line,
'(A)')
'*ELEMENT_SHELL_THICKNESS'
263 .
'$SHELLID PART_ID NOD1 NOD2 NOD3 NOD4'
266 .
'$ THIC1 THIC2 THIC3 THIC4'
272 IF(dynain_data%ZIPDYNAIN==0)
THEN
273 WRITE(iudynain,
'(6I8)')
274 . npc(jj+1),npc(jj+6),npc(jj+2),npc(jj+3),npc(jj+4),npc(jj+5)
275 WRITE(iudynain,
'(1P4G16.9)')
276 . thkn,thkn,thkn,thkn
279 . npc(jj+1),npc(jj+6),npc(jj+2),npc(jj+3),npc(jj+4),npc(jj+5)
281 WRITE(line,
'(1P4G16.9)')
282 . thkn,thkn,thkn,thkn
295 DO n=1,dynain_data%DYNAIN_NUMELTG
303 IF(dynain_data%ZIPDYNAIN==0)
THEN
304 WRITE(iudynain,
'(5I8)')
305 . nptg(jj+1),nptg(jj+5),nptg(jj+2),nptg
306 WRITE(iudynain,
'(1P3G16.9)')
310 . nptg(jj+1),nptg(jj+5),nptg(jj+2),nptg(jj+3),nptg(jj+4)
312 WRITE(line,
'(1P3G16.9)')
326 DO n=n4shell,dynain_data%DYNAIN_NUMELC
334 IF(igtyp/=igtyp0)
THEN
336 IF(dynain_data%ZIPDYNAIN==0)
THEN
337 WRITE(iudynain,
'(A)')
'*ELEMENT_SHELL_THICKNESS_BETA'
338 WRITE(iudynain,
'(A)')
339 .
'$SHELLID PART_ID NOD1 NOD2 NOD3 NOD4'
340 WRITE(iudynain,
'(A)')
341 .
'$ THIC1 THIC2 THIC3 THIC4 BETA'
343 WRITE(line,
'(A)')
'*ELEMENT_SHELL_THICKNESS_BETA'
346 .
'$SHELLID PART_ID NOD1 NOD2 NOD3 NOD4'
349 .
'$ THIC1 THIC2 THIC3 THIC4 BETA'
353 IF(dynain_data%ZIPDYNAIN==0)
THEN
354 WRITE(iudynain,
'(6I8)')
355 . npc(jj+1),npc(jj+6),npc(jj+2),npc(jj+3),npc(jj+4),npc(jj+5)
356 WRITE(iudynain,
'(1P5G16.9)')
357 . thkn,thkn,thkn,thkn,beta
360 . npc(jj+1),npc(jj+6),npc(jj+2),npc(jj+3),npc(jj+4),npc(jj+5)
362 WRITE(line,
'(1P5G16.9)')
363 . thkn,thkn,thkn,thkn,beta
371 DO n=n3shell,dynain_data%DYNAIN_NUMELTG
378 IF(dynain_data%ZIPDYNAIN==0)
THEN
379 WRITE(iudynain,
'(5I8)')
380 . nptg(jj+1),nptg(jj+5),nptg(jj+2),nptg(jj+3),nptg(jj+4)
381 WRITE(iudynain,
'(1P3G16.9,16X,1PG16.9)')
382 . thkn,thkn,thkn,beta
385 . npc(jj+1),npc(jj+6),npc(jj+2),npc(jj+3),npc(jj+4)
387 WRITE(line,
'(1P3G16.9,16X,1PG16.9)')
388 . thkn,thkn,thkn,beta
398 DEALLOCATE(npc,nptg,clef,thkc,thktg,betac,betatg)