40 2 WA,WAP0 ,IPARTS, IPART_STATE,
41 3 STAT_INDXS,IPART,SIZP0)
48 use element_mod ,
only : nixs
52#include "implicit_f.inc"
62#include "vect01_c.inc"
69 . iparg(nparg,*),ipm(npropmi,*),igeo(npropgi,*),
70 . iparts(*), ipart_state(*), stat_indxs(*),ipart(lipart1,*)
71 TYPE (ELBUF_STRUCT_),
DIMENSION(NGROUP),
TARGET ::
72 double precision WA(*),WAP0(*)
76 INTEGER I,N,J,K,JJ,LEN,ISOLNOD,IUS,NLAY,NPTR,NPTS,NPTT,NPTG,
77 . NG, NEL, MLW,ID, IPRT0, IPRT,IPT, NUVAR,IE,
78 . il,ir,is,it,pid,ioff
79 INTEGER,
DIMENSION(:),
ALLOCATABLE :: PTWA
80 INTEGER,
DIMENSION(:),
ALLOCATABLE :: PTWA_P0
81 CHARACTER*100 DELIMIT,LINE
83 ./
'#---1----|----2----|----3----|----4----|----5----|----6----|'/
85 ./
'----7----|----8----|----9----|----10---|'/
87 TYPE(l_bufel_) ,
POINTER :: LBUF
88 TYPE(G_BUFEL_) ,
POINTER :: GBUF
89 TYPE(buf_mat_) ,
POINTER :: MBUF
93 CALL my_alloc(ptwa,stat_numels)
94 ALLOCATE(ptwa_p0(0:
max(1,stat_numels_g)))
98 IF(stat_numels==0)
GOTO 200
101 isolnod = iparg(28,ng)
113 2 mlw ,nel ,nft ,iad ,ity ,
114 3 npt ,jale ,ismstr ,jeul ,jtur ,
115 4 jthe ,jlag ,jmult ,jhbe ,jivf ,
116 5 nvaux ,jpor ,jcvt ,jclose ,jplasol ,
117 6 irep ,iint ,igtyp ,israt ,isrot ,
118 7 icsen ,isorth ,isorthg ,ifailure,jsms )
122 gbuf => elbuf_tab(ng)%GBUF
123 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(1,1,1)
124 mbuf => elbuf_tab(ng)%BUFLY(1)%MAT(1,1,1)
125 nlay = elbuf_tab(ng)%NLAY
126 nptr = elbuf_tab(ng)%NPTR
127 npts = elbuf_tab(ng)%NPTS
128 nptt = elbuf_tab(ng)%NPTT
129 npt = nptr * npts * nptt * nlay
130 IF (jhbe==17.AND.iint==2) jhbe = 18
131 IF (jhbe==1.AND.iint==3) jhbe = 5
134 ELSEIF (mlw == 112)
THEN
137 nuvar = ipm(8,ixs(1,nft+1))
140 IF (isolnod == 16)
THEN
145 IF (ipart_state(iprt)==0) cycle
146 wa(jj+1) = gbuf%VOL(i)
148 wa(jj+3) = ixs(nixs,n)
156 wa(jj+11) = gbuf%OFF(i)
164 wa(jj + 1) = elbuf_tab(ng)%BUFLY(il)%LBUF(ir,is,it)%PLA(i + ius*nel)
168 mbuf => elbuf_tab(ng)%BUFLY(il)%MAT(ir,is,it)
170 wa(jj + 1) = mbuf%VAR(i + (ius-1)*nel)
185 IF (ipart_state(iprt)==0) cycle
186 wa(jj+1) = gbuf%VOL(i)
188 wa(jj+3) = ixs(nixs,n)
196 wa(jj+11) = gbuf%OFF(i)
204 wa(jj + 1) = elbuf_tab(ng)%BUFLY(il)%LBUF(ir,is,it)%PLA(i + ius*nel)
208 mbuf => elbuf_tab(ng)%BUFLY(il)%MAT(ir,is,it)
210 wa(jj + 1) = mbuf%VAR(i + (ius-1)*nel)
244 IF(ispmd==0.AND.len>0)
THEN
251 iprt = nint(wap0(j + 2))
252 ioff = nint(wap0(j + 11))
254 IF(iprt /= iprt0)
THEN
255 IF (izipstrs == 0)
THEN
256 WRITE(iugeo,
'(A)') delimit
257 WRITE(iugeo,
'(A)')
'/INIBRI/AUX'
259 .
'#------------------------ REPEAT --------------------------'
262 WRITE(iugeo,
'(A/A/A)')
263 .
'# IF(NPT /= 0) REPEAT K=1,NPT : REPEAT I=1,NPG :',
267 .
'#---------------------- END REPEAT ------------------------'
268 WRITE(iugeo,
'(A)') delimit
270 WRITE(line,
'(A)') delimit
272 WRITE(line,
'(A)')
'/INIBRI/AUX'
275 .
'#------------------------ REPEAT --------------------------'
281 .
'# IF(NPT /= 0) REPEAT K=1,NPT : REPEAT I=1,NPG :'
283 WRITE(line,
'(A)')'
# S1, S2, S3'
285 WRITE(line,
'(A)')
'# S12, S23, S31'
288 .
'#---------------------- END REPEAT ------------------------'
290 WRITE(line,
'(A)') delimit
296 id = nint(wap0(j + 3))
297 nlay = nint(wap0(j+4))
298 nptr = nint(wap0(j+5))
299 npts = nint(wap0(j+6))
300 nptt = nint(wap0(j+7))
301 isolnod= nint(wap0(j+8))
302 nuvar = nint(wap0(j+9))
303 jhbe = nint(wap0(j+10))
304 nptg = nlay*nptr*npts*nptt
307 IF(isolnod==8.AND.jhbe==14 )
THEN
308 IF (izipstrs == 0)
THEN
309 WRITE(iugeo,
'(7I10)') id,nptg,isolnod,jhbe,0,0,nuvar
311 WRITE(line,
'(7I10)') id,nptg,isolnod,jhbe,0,0,nuvar
315 IF (izipstrs == 0)
THEN
317 WRITE(iugeo,
'(1P3E20.13)')(wap0(j + k),k=1,nuvar)
327 ELSEIF(isolnod==8 .OR. isolnod==6 .OR. isolnod==4 .OR.
328 . isolnod==10 .OR. isolnod==16 .OR. isolnod==20)
THEN
329 IF (izipstrs == 0)
THEN
330 WRITE(iugeo,
'(7I10)') id,nptg,isolnod,jhbe,0,0,nuvar
332 WRITE(line,
'(7I10)') id,nptg,isolnod,jhbe,0,0,nuvar
336 IF (izipstrs == 0)
THEN
338 WRITE(iugeo,
'(1P3E20.13)')(wap0(j + k),k=1,nuvar)
subroutine initbuf(iparg, ng, mtn, llt, nft, iad, ity, npt, jale, ismstr, jeul, jtur, jthe, jlag, jmult, jhbe, jivf, mid, jpor, jcvt, jclose, jpla, irep, iint, igtyp, israt, isrot, icsen, isorth, isorthg, ifailure, jsms)