35 . IXC,IXTG,IPARTC,IPARTTG,IPART_STATE,
36 . NODTAG,STAT_INDXC,STAT_INDXTG,SH4TREE,SH3TREE,
37 . IPARG ,SH4TRIM ,SH3TRIM ,ELBUF_TAB,THKE ,
44 use element_mod ,
only : nixc,nixtg
48#include "implicit_f.inc"
55#include "remesh_c.inc"
62 INTEGER ITAB(*), ITABG(*), LENG, IPART(LIPART1,*),
63 . IGEO(NPROPGI,*), IXC(NIXC,*), IXTG(,*),
64 . IPARTC(*), IPARTTG(*), IPART_STATE(*),
65 . NODTAG(*), STAT_INDXC(*), STAT_INDXTG(*),
66 . sh4tree(ksh4tree,*), sh3tree(ksh3tree,*),
67 . iparg(nparg,*), sh4trim(*), sh3trim
69 TYPE (ELBUF_STRUCT_),
DIMENSION(NGROUP),
TARGET :: ELBUF_TAB
75 INTEGER I, N, JJ, IPRT0, IPRT, K, II
76 INTEGER NG, NEL, NFT, LFT, LLT, ITY, MLW, ITHK,IOFF
78 INTEGER,
DIMENSION(:),
ALLOCATABLE :: NP
79 INTEGER,
DIMENSION(:,:),
ALLOCATABLE :: CLEF
80 double precision,
DIMENSION(:),
ALLOCATABLE :: THK
81 TYPE(g_bufel_) ,
POINTER :: GBUF
84 CALL my_alloc(clef,2,
max(numelc,numeltg))
85 CALL my_alloc(np,8*
max(numelc
98 gbuf => elbuf_tab(ng)%GBUF
107 IF(ipart_state(iprt)==0)cycle
109 np(jj+1) = ixc(nixc,n)
110 np(jj+2) = itab(ixc(2,n))
111 np(jj+3) = itab(ixc(3,n))
112 np(jj+4) = itab(ixc(4,n))
113 np(jj+5) = itab(ixc(5,n))
115 np(jj+7) = iabs(nint(gbuf%OFF(i)))
117 IF (mlw /= 0 .AND. mlw /= 13)
THEN
119 thk(ii) = gbuf%THK(i)
128 stat_numelc =stat_numelc+1
129 clef(1,stat_numelc)=iprt
130 clef(2,stat_numelc)=ixc(nixc,n)
153 IF(idel==0.OR.(idel==1.AND.ioff >= 1))
THEN
154 IF(iprt /= iprt0)
THEN
155 WRITE(iugeo,
'(A,I10)')
'/SHELL/',ipart(4,iprt)
157 .
'# SHELLID NOD1 NOD2 NOD3 NOD4 THK'
160 WRITE(iugeo,
'(5I10,30X,1PE20.13)')
161 . np(jj+1),np(jj+2),np(jj+3),np(jj+4),np(jj+5),thk(k)
180 IF(ipart_state(iprt)==0)cycle
182 np(jj+1) = ixc(nixc,n)
183 IF(sh4tree(2,n) /= 0)
THEN
184 np(jj+2) = ixc(nixc,sh4tree(2,n) )
185 np(jj+3) = ixc(nixc,sh4tree(2,n)+1)
186 np(jj+4) = ixc(nixc,sh4tree(2,n)+2)
187 np(jj+5) = ixc(nixc,sh4tree(2,n)+3)
194 np(jj+6) = sh4tree(3,n)
196 IF(lsh4trim /= 0)
THEN
197 IF(sh4trim(n)==-1)
THEN
216 IF(iprt /= iprt0)
THEN
217 WRITE(iugeo,
'(A)')
'/ADMESH/STATE/SHELL'
219 .
'# SHELLID ID1 ID2 ID3 ID4 LEVEL',
223 WRITE(iugeo,
'(7I10)')
224 . np(jj+1),np(jj+2),np(jj+3),np(jj+4),np(jj+5),np(jj+6),np(jj+8)
239 gbuf => elbuf_tab(ng)%GBUF
249 IF(ipart_state(iprt)==0)cycle
251 np(jj+1) = ixtg(nixtg,n)
252 np(jj+2) = itab(ixtg(2,n))
253 np(jj+3) = itab(ixtg(3,n))
254 np(jj+4) = itab(ixtg(4,n))
256 np(jj+6) = iabs(nint(gbuf%OFF(i)))
258 IF (mlw /= 0 .AND. mlw /= 13)
THEN
260 thk(ii) = gbuf%THK(i)
269 stat_numeltg =stat_numeltg+1
270 clef(1,stat_numeltg)=iprt
271 clef(2,stat_numeltg)=ixtg(nixtg,n)
286 CALL my_orders(0,work,clef,stat_indxtg,stat_numeltg,2)
294 IF(idel==0.OR.(idel==1.AND.ioff >= 1))
THEN
295 IF(iprt /= iprt0)
THEN
296 WRITE(iugeo,
'(A,I10)')
'/SH3N/',ipart(4,iprt)
298 .
'# SH3NID NOD1 NOD2 NOD3 THK'
301 WRITE(iugeo,
'(4I10,40X,1PE20.13)')
302 . np(jj+1),np(jj+2),np(jj+3),np(jj+4),thk(k)
323 IF(ipart_state(iprt)==0)cycle
325 np(jj+1) = ixtg(nixtg,n)
326 IF(sh3tree(2,n) /= 0)
THEN
327 np(jj+2) = ixtg(nixtg,sh3tree(2,n) )
328 np(jj+3) = ixtg(nixtg,sh3tree(2,n)+1)
329 np(jj+4) = ixtg(nixtg,sh3tree(2,n)+2)
330 np(jj+5) = ixtg(nixtg,sh3tree(2,n)+3)
337 np(jj+6) = sh3tree(3,n)
339 IF(lsh3trim /= 0)
THEN
340 IF(sh3trim(n)==-1)
THEN
359 IF(iprt /= iprt0)
THEN
360 WRITE(iugeo,
'(A)')
'/ADMESH/STATE/SH3N'
362 .
'# SH3NID ID1 ID2 ID3 ID4 LEVEL',
366 WRITE(iugeo,
'(7I10)')
367 . np(jj+1),np(jj+2),np(jj+3),np(jj+4),np(jj+5),np(jj+6),np(jj+8)
subroutine stat_shel_mp(itab, itabg, leng, ipart, igeo, ixc, ixtg, ipartc, iparttg, ipart_state, nodtag, stat_indxc, stat_indxtg, sh4tree, sh3tree, iparg, sh4trim, sh3trim, elbuf_tab, thke, idel)