34 . IXC,IXTG,IPARTC,IPARTTG,IPART_STATE,
35 . NODTAG,STAT_INDXC,STAT_INDXTG,SH4TREE,SH3TREE,
36 . IPARG ,SH4TRIM ,SH3TRIM ,ELBUF_TAB,THKE ,
46#include "implicit_f.inc"
53#include "remesh_c.inc"
60 INTEGER ITAB(*), ITABG(
65 . iparg(nparg,*), sh4trim(*), sh3trim(*),
67 TYPE (ELBUF_STRUCT_),
DIMENSION(NGROUP),
TARGET :: ELBUF_TAB
73 INTEGER I, N, JJ, IPRT0, IPRT, K, II
74 INTEGER NG, NEL, NFT, LFT, LLT, ITY, MLW, ITHK,IOFF
76 INTEGER,
DIMENSION(:),
ALLOCATABLE :: NP
77 INTEGER,
DIMENSION(:,:),
ALLOCATABLE :: CLEF
78 double precision,
DIMENSION(:),
ALLOCATABLE :: THK
79 TYPE(g_bufel_) ,
POINTER :: GBUF
81 CALL my_alloc(thk,
max(numelc,numeltg))
82 CALL my_alloc(clef,2,
max(numelc,numeltg))
83 CALL my_alloc(np,8*
max(numelc,numeltg))
96 gbuf => elbuf_tab(ng)%GBUF
105 IF(ipart_state(iprt)==0)cycle
107 np(jj+1) = ixc(nixc,n)
108 np(jj+2) = itab(ixc(2,n))
109 np(jj+3) = itab(ixc(3,n))
110 np(jj+4) = itab(ixc(4,n))
111 np(jj+5) = itab(ixc(5,n))
113 np(jj+7) = iabs(nint(gbuf%OFF(i)))
115 IF (mlw /= 0 .AND. mlw /= 13)
THEN
117 thk(ii) = gbuf%THK(i)
126 stat_numelc =stat_numelc+1
127 clef(1,stat_numelc)=iprt
128 clef(2,stat_numelc)=ixc(nixc,n)
143 CALL my_orders(0,work,clef,stat_indxc,stat_numelc,2)
151 IF(idel==0.OR.(idel==1.AND.ioff >= 1))
THEN
152 IF(iprt /= iprt0)
THEN
153 WRITE(iugeo,
'(A,I10)')
'/SHELL/',ipart(4,iprt)
155 .
'# SHELLID NOD1 NOD2 NOD3 NOD4 THK'
158 WRITE(iugeo,
'(5I10,30X,1PE20.13)')
159 . np(jj+1),np(jj+2),np(jj+3),np(jj+4),np(jj+5),thk(k)
178 IF(ipart_state(iprt)==0)cycle
180 np(jj+1) = ixc(nixc,n)
181 IF(sh4tree(2,n) /= 0)
THEN
182 np(jj+2) = ixc(nixc,sh4tree(2,n) )
183 np(jj+3) = ixc(nixc,sh4tree(2,n)+1)
184 np(jj+4) = ixc(nixc,sh4tree(2,n)+2)
185 np(jj+5) = ixc(nixc,sh4tree(2,n)+3)
192 np(jj+6) = sh4tree(3,n)
194 IF(lsh4trim /= 0)
THEN
195 IF(sh4trim(n)==-1)
THEN
214 IF(iprt /= iprt0)
THEN
215 WRITE(iugeo,
'(A)')
'/ADMESH/STATE/SHELL'
217 .
'# SHELLID ID1 ID2 ID3 ID4 LEVEL',
221 WRITE(iugeo,
'(7I10)')
222 . np(jj+1),np(jj+2),np(jj+3),np(jj+4),np(jj+5),np(jj+6),np(jj+8)
237 gbuf => elbuf_tab(ng)%GBUF
247 IF(ipart_state(iprt)==0)cycle
249 np(jj+1) = ixtg(nixtg,n)
250 np(jj+2) = itab(ixtg(2,n))
251 np(jj+3) = itab(ixtg(3,n))
252 np(jj+4) = itab(ixtg(4,n))
254 np(jj+6) = iabs(nint(gbuf%OFF(i)))
256 IF (mlw /= 0 .AND. mlw /= 13)
THEN
258 thk(ii) = gbuf%THK(i)
267 stat_numeltg =stat_numeltg+1
268 clef(1,stat_numeltg)=iprt
269 clef(2,stat_numeltg)=ixtg(nixtg,n)
284 CALL my_orders(0,work,clef,stat_indxtg,stat_numeltg,2)
292 IF(idel==0.OR.(idel==1.AND.ioff >= 1))
THEN
293 IF(iprt /= iprt0)
THEN
294 WRITE(iugeo,
'(A,I10)')
'/SH3N/',ipart(4,iprt)
296 .
'# SH3NID NOD1 NOD2 NOD3 THK'
299 WRITE(iugeo,
'(4I10,40X,1PE20.13)')
300 . np(jj+1),np(jj+2),np(jj+3),np(jj+4),thk(k)
321 IF(ipart_state(iprt)==0)cycle
323 np(jj+1) = ixtg(nixtg,n)
324 IF(sh3tree(2,n) /= 0)
THEN
325 np(jj+2) = ixtg(nixtg,sh3tree(2,n) )
326 np(jj+3) = ixtg(nixtg,sh3tree(2,n)+1)
327 np(jj+4) = ixtg(nixtg,sh3tree(2,n)+2)
328 np(jj+5) = ixtg(nixtg,sh3tree(2,n)+3)
335 np(jj+6) = sh3tree(3,n)
337 IF(lsh3trim /= 0)
THEN
338 IF(sh3trim(n)==-1)
THEN
357 IF(iprt /= iprt0)
THEN
358 WRITE(iugeo,
'(A)')
'/ADMESH/STATE/SH3N'
360 .
'# SH3NID ID1 ID2 ID3 ID4 LEVEL',
364 WRITE(iugeo,
'(7I10)')
365 . 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)