40 2 WA,WAP0 ,IPARTS, IPART_STATE,
41 3 STAT_INDXS,IPART,SIZP0,NUMMAT,MAT_PARAM)
52#include "implicit_f.inc"
62#include "vect01_c.inc"
67 INTEGER ,
INTENT(IN) :: NUMMAT
70 . iparg(nparg,*),ipm(npropmi,*),igeo(npropgi,*),
71 . iparts(*), ipart_state(*), stat_indxs(*),ipart(lipart1,*)
72 TYPE (ELBUF_STRUCT_),
DIMENSION(NGROUP),
TARGET :: ELBUF_TAB
73 TYPE (MATPARAM_STRUCT_) ,
DIMENSION(NUMMAT) ,
INTENT(IN) :: MAT_PARAM
74 double precision WA(*),WAP0(*)
78 INTEGER I,N,,K,JJ,LEN,ISOLNOD,IUS,NLAY,NPTR,NPTS,NPTT,NPTG,
79 . NG, NEL, MLW,ID, IPRT0, IPRT, NPG,IPG,IPT,IE,
80 . il,ir,is,it,pid,nvarf,nfail,irupt,irupt_type,nvar_rupt,
82 INTEGER,
DIMENSION(:),
ALLOCATABLE :: PTWA
83 INTEGER,
DIMENSION(:),
ALLOCATABLE :: PTWA_P0
84 CHARACTER*100 DELIMIT,LINE
86 ./
'#---1----|----2----|----3----|----4----|----5----|----6----|'/
88 ./
'----7----|----8----|----9----|----10---|'/
90 TYPE(l_bufel_) ,
POINTER :: LBUF
91 TYPE(G_BUFEL_) ,
POINTER :: GBUF
92 TYPE(buf_mat_) ,
POINTER :: MBUF
93 TYPE(buf_fail_),
POINTER :: FBUF
95 .
DIMENSION(:),
POINTER :: uvarf,dfmax
99 CALL my_alloc(ptwa,stat_numels)
100 ALLOCATE(ptwa_p0(0:
max(1,stat_numels_g)))
104 IF(stat_numels==0)
GOTO 200
107 isolnod = iparg(28,ng)
119 2 mlw ,nel ,nft ,iad ,ity ,
120 3 npt ,jale ,ismstr ,jeul ,jtur ,
121 4 jthe ,jlag ,jmult ,jhbe ,jivf ,
122 5 nvaux ,jpor ,jcvt ,jclose ,jplasol ,
123 6 irep ,iint ,igtyp ,israt ,isrot ,
124 7 icsen ,isorth ,isorthg ,ifailure,jsms )
128 gbuf => elbuf_tab(ng)%GBUF
129 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(1,1,1)
130 mbuf => elbuf_tab(ng)%BUFLY(1)%MAT(1,1,1)
131 nlay = elbuf_tab(ng)%NLAY
132 nptr = elbuf_tab(ng)%NPTR
133 npts = elbuf_tab(ng)%NPTS
134 nptt = elbuf_tab(ng)%NPTT
135 npt = nptr * npts * nptt * nlay
140 IF (ipart_state(iprt)==0) cycle
141 wa(jj+1) = gbuf%VOL(i)
143 wa(jj+3) = ixs(nixs,n)
149 wa(jj+9) = gbuf%OFF(i)
152 nfail = elbuf_tab(ng)%BUFLY(il)%NFAIL
155 imat = elbuf_tab(ng)%BUFLY(il)%IMAT
156 wa(jj+1) = ipm(1,imat)
159 irupt = mat_param(imat)%FAIL(ius)%FAIL_ID
162 irupt_type = mat_param(imat)%FAIL(ius)%IRUPT
163 wa(jj+1) = irupt_type
165 fbuf => elbuf_tab(ng)%BUFLY(il)%FAIL(1,1,1)
166 nvar_rupt = fbuf%FLOC(ius)%NVAR
167 wa(jj+1) = nvar_rupt + 1
170 IF (irupt == 0) cycle
175 uvarf => fbuf%FLOC(ius)%VAR
176 dfmax => fbuf%FLOC(ius)%DAMMX
180 wa(jj + 1) = uvarf((nv-1)*llt+i)
214 IF(ispmd==0.AND.len>0)
THEN
221 iprt = nint(wap0(j + 2))
222 ioff = nint(wap0(j + 9))
224 IF(iprt /= iprt0)
THEN
225 IF (izipstrs == 0)
THEN
226 WRITE(iugeo,
'(A)') delimit
227 WRITE(iugeo,
'(A)')
'/INIBRI/FAIL'
229 .
'#------------------------ REPEAT --------------------------'
231 .
'# BRICKID NLAY NPTR NPTS
232 . NPTT ILAY IRUPT IRUPT_TYP NUVAR IMAT'
233 WRITE(iugeo,
'(A/A/A)')
234 .
'# REPEAT K=1,NPTR,NPTS ',
235 .
'# UVAR(1,I) ............. ',
236 .
'# ............... UVAR(NUVAR,I) '
238 .
'#---------------------- END REPEAT ------------------------'
239 WRITE(iugeo,
'(A)') delimit
241 WRITE(line,
'(A)') delimit
243 WRITE(line,
'(A)')
'/INIBRI/FAIL'
246 .
'#------------------------ REPEAT --------------------------'
249 .
'# BRICKID NLAY NPTR NPTS
250 . NPTT ILAY IRUPT IRUPT_TYP NUVAR IMAT'
253 .
'# REPEAT K=1,NPTR,NPTS*NPTT*NLAY '
256 .
'# UVAR(1,I) ............. '
259 .
'# ............... UVAR(NUVAR,I) '
262 .
'#---------------------- END REPEAT ------------------------'
264 WRITE(line,
'(A)') delimit
271 nlay = nint(wap0(j+4))
272 nptr = nint(wap0(j+5))
273 npts = nint(wap0(j+6))
274 nptt = nint(wap0(j+7))
275 isolnod= nint(wap0(j+8))
279 nfail = nint(wap0(j+1))
281 imat = nint(wap0(j+1))
286 irupt_type = wap0(j+1)
288 nvar_rupt = wap0(j+1)
291 IF (irupt == 0) cycle
294 IF (izipstrs == 0)
THEN
295 WRITE(iugeo,
'(10I10)') id,nlay,nptr,npts,nptt,
296 . il,irupt,irupt_type,nvar_rupt,
299 WRITE(line,
'(10I10)') id,nlay,nptr,npts,nptt,
300 . il,irupt,irupt_type,nvar_rupt,
305 IF (izipstrs == 0)
THEN
309 IF (irupt /= 0)
WRITE(iugeo,
'(1P3E20.13)')
310 . (wap0(j + k),k=1,nvar_rupt)
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)