39 2 WA,WAP0 ,IPARTS, IPART_STATE,
40 3 STAT_INDXS,IPART,SIZP0)
50#include "implicit_f.inc"
60#include "vect01_c.inc"
67 . iparg(nparg,*),ipm(npropmi,*),igeo(npropgi,*),
68 . iparts(*), ipart_state(*), stat_indxs(*),ipart(lipart1,*)
69 TYPE (ELBUF_STRUCT_),
DIMENSION(NGROUP),
TARGET :: ELBUF_TAB
70 double precision WA(*),WAP0(*)
74 INTEGER I,N,J,K,JJ,LEN,ISOLNOD,IUS,NLAY,NPTR,NPTS,NPTT,NPTG,
75 . NG, NEL, MLW,ID, IPRT0, IPRT, NPG,IPG,IPT, NUVAR,IE,
76 . il,ir,is,it,pid,ioff
77 INTEGER,
DIMENSION(:),
ALLOCATABLE :: PTWA
78 INTEGER,
DIMENSION(:),
ALLOCATABLE :: PTWA_P0
79 CHARACTER*100 DELIMIT,LINE
81 ./
'#---1----|----2----|----3----|----4----|----5----|----6----|'/
83 ./
'----7----|----8----|----9----|----10---|'/
85 TYPE(l_bufel_) ,
POINTER :: LBUF
86 TYPE(G_BUFEL_) ,
POINTER :: GBUF
87 TYPE(buf_mat_) ,
POINTER :: MBUF
91 CALL my_alloc(ptwa,stat_numels)
92 ALLOCATE(ptwa_p0(0:
max(1,stat_numels_g)))
96 IF(stat_numels==0)
GOTO 200
99 isolnod = iparg(28,ng)
111 2 mlw ,nel ,nft ,iad ,ity ,
112 3 npt ,jale ,ismstr ,jeul ,jtur ,
113 4 jthe ,jlag ,jmult ,jhbe ,jivf ,
114 5 nvaux ,jpor ,jcvt ,jclose ,jplasol ,
115 6 irep ,iint ,igtyp ,israt ,isrot ,
116 7 icsen ,isorth ,isorthg ,ifailure,jsms )
120 gbuf => elbuf_tab(ng)%GBUF
121 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(1,1,1)
122 mbuf => elbuf_tab(ng)%BUFLY(1)%MAT(1,1,1)
123 nlay = elbuf_tab(ng)%NLAY
124 nptr = elbuf_tab(ng)%NPTR
125 npts = elbuf_tab(ng)%NPTS
126 nptt = elbuf_tab(ng)%NPTT
127 npt = nptr * npts * nptt * nlay
128 IF (jhbe==17.AND.iint==2) jhbe = 18
129 IF (jhbe==1.AND.iint==3) jhbe = 5
132 ELSEIF (mlw == 112)
THEN
135 nuvar = ipm(8,ixs(1,nft+1))
138 IF (isolnod == 16)
THEN
143 IF (ipart_state(iprt)==0) cycle
144 wa(jj+1) = gbuf%VOL(i)
146 wa(jj+3) = ixs(nixs,n)
154 wa(jj+11) = gbuf%OFF(i)
162 wa(jj + 1) = elbuf_tab(ng)%BUFLY(il)%LBUF(ir,is,it)%PLA(i + ius*nel)
166 mbuf => elbuf_tab(ng)%BUFLY(il)%MAT(ir,is,it)
168 wa(jj + 1) = mbuf%VAR(i + (ius-1)*nel)
183 IF (ipart_state(iprt)==0) cycle
184 wa(jj+1) = gbuf%VOL(i)
186 wa(jj+3) = ixs(nixs,n)
194 wa(jj+11) = gbuf%OFF(i)
202 wa(jj + 1) = elbuf_tab(ng)%BUFLY(il)%LBUF(ir,is,it)%PLA(i + ius*nel)
206 mbuf => elbuf_tab(ng)%BUFLY(il)%MAT(ir,is,it)
208 wa(jj + 1) = mbuf%VAR(i + (ius-1)*nel)
242 IF(ispmd==0.AND.len>0)
THEN
249 iprt = nint(wap0(j + 2))
250 ioff = nint(wap0(j + 11))
252 IF(iprt /= iprt0)
THEN
253 IF (izipstrs == 0)
THEN
254 WRITE(iugeo,
'(A)') delimit
255 WRITE(iugeo,
'(A)')
'/INIBRI/AUX'
257 .
'#------------------------ REPEAT --------------------------'
260 WRITE(iugeo,
'(A/A/A)')
261 .
'# IF(NPT /= 0) REPEAT K=1,NPT : REPEAT I=1,NPG :',
265 .
'#---------------------- END REPEAT ------------------------'
266 WRITE(iugeo,
'(A)') delimit
268 WRITE(line,
'(A)') delimit
270 WRITE(line,
'(A)')
'/INIBRI/AUX'
273 .
'#------------------------ REPEAT --------------------------'
279 .
'# IF(NPT /= 0) REPEAT K=1,NPT : REPEAT I=1,NPG :'
281 WRITE(line,
'(A)')
'# S1, S2, S3'
283 WRITE(line,
'(A)')
'# S12, S23, S31'
286 .
'#---------------------- END REPEAT ------------------------'
288 WRITE(line,
'(A)') delimit
294 id = nint(wap0(j + 3))
295 nlay = nint(wap0(j+4))
296 nptr = nint(wap0(j+5))
297 npts = nint(wap0(j+6))
298 nptt = nint(wap0(j+7))
299 isolnod= nint(wap0(j+8))
300 nuvar = nint(wap0(j+9))
301 jhbe = nint(wap0(j+10))
302 nptg = nlay*nptr*npts*nptt
305 IF(isolnod==8.AND.jhbe==14 )
THEN
306 IF (izipstrs == 0)
THEN
307 WRITE(iugeo,
'(7I10)') id,nptg,isolnod,jhbe,0,0,nuvar
309 WRITE(line,
'(7I10)') id,nptg,isolnod,jhbe,0,0,nuvar
313 IF (izipstrs == 0)
THEN
325 ELSEIF(isolnod==8 .OR. isolnod==6 .OR. isolnod
326 . isolnod==10 .OR. isolnod==16 .OR. isolnod==20)
THEN
327 IF (izipstrs == 0)
THEN
328 WRITE(iugeo,
'(7I10)') id,nptg,isolnod,jhbe,0,0,nuvar
330 WRITE(line,
'(7I10)') id,nptg,isolnod,jhbe,0,0,nuvar
334 IF (izipstrs == 0)
THEN
336 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)