41 2 WA,WAP0 ,IPARTS, IPART_STATE,
42 3 STAT_INDXS,IPART,SIZP0,NUMMAT,MAT_PARAM)
50 use element_mod ,
only : nixs
54#include "implicit_f.inc"
64#include "vect01_c.inc"
69 INTEGER ,
INTENT(IN) :: NUMMAT
72 . iparg(nparg,*),ipm(npropmi,*),igeo(npropgi,*),
73 . iparts(*), ipart_state(*), stat_indxs(*),ipart(lipart1,*)
74 TYPE (ELBUF_STRUCT_),
DIMENSION(NGROUP),
TARGET :: ELBUF_TAB
75 TYPE (MATPARAM_STRUCT_) ,
DIMENSION(NUMMAT) ,
INTENT(IN) :: MAT_PARAM
76 double precision WA(*),WAP0(*)
80 INTEGER I,N,J,K,JJ,LEN,ISOLNOD,IUS,NLAY,NPTR,NPTS,NPTT,
81 . NG, NEL, MLW,ID, IPRT0, IPRT,IE,
82 . il,ir,is,it,pid,nfail,irupt,irupt_type,nvar_rupt,
84 INTEGER,
DIMENSION(:),
ALLOCATABLE :: PTWA
85 INTEGER,
DIMENSION(:),
ALLOCATABLE :: PTWA_P0
86 CHARACTER*100 DELIMIT,LINE
88 ./
'#---1----|----2----|----3----|----4----|----5----|----6----|'/
90 ./
'----7----|----8----|----9----|----10---|'/
92 TYPE(l_bufel_) ,
POINTER :: LBUF
93 TYPE(G_BUFEL_) ,
POINTER :: GBUF
94 TYPE(buf_mat_) ,
POINTER :: MBUF
95 TYPE(buf_fail_),
POINTER :: FBUF
97 .
DIMENSION(:),
POINTER :: uvarf,dfmax
101 CALL my_alloc(ptwa,stat_numels)
102 ALLOCATE(ptwa_p0(0:
max(1,stat_numels_g)))
106 IF(stat_numels==0)
GOTO 200
109 isolnod = iparg(28,ng)
121 2 mlw ,nel ,nft ,iad ,ity ,
122 3 npt ,jale ,ismstr ,jeul ,jtur ,
123 4 jthe ,jlag ,jmult ,jhbe ,jivf ,
124 5 nvaux ,jpor ,jcvt ,jclose ,jplasol ,
125 6 irep ,iint ,igtyp ,israt ,isrot ,
126 7 icsen ,isorth ,isorthg ,ifailure,jsms )
130 gbuf => elbuf_tab(ng)%GBUF
131 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(1,1,1)
132 mbuf => elbuf_tab(ng)%BUFLY(1)%MAT(1,1,1)
133 nlay = elbuf_tab(ng)%NLAY
134 nptr = elbuf_tab(ng)%NPTR
135 npts = elbuf_tab(ng)%NPTS
136 nptt = elbuf_tab(ng)%NPTT
137 npt = nptr * npts * nptt * nlay
142 IF (ipart_state(iprt)==0) cycle
143 wa(jj+1) = gbuf%VOL(i)
145 wa(jj+3) = ixs(nixs,n)
151 wa(jj+9) = gbuf%OFF(i)
154 nfail = elbuf_tab(ng)%BUFLY(il)%NFAIL
157 imat = elbuf_tab(ng)%BUFLY(il)%IMAT
158 wa(jj+1) = ipm(1,imat)
161 irupt = mat_param(imat)%FAIL(ius)%FAIL_ID
164 irupt_type = mat_param(imat)%FAIL(ius)%IRUPT
165 wa(jj+1) = irupt_type
167 fbuf => elbuf_tab(ng)%BUFLY(il)%FAIL(1,1,1)
168 nvar_rupt = fbuf%FLOC(ius)%NVAR
169 wa(jj+1) = nvar_rupt + 1
172 IF (irupt == 0) cycle
177 uvarf => fbuf%FLOC(ius)%VAR
178 dfmax => fbuf%FLOC(ius)%DAMMX
182 wa(jj + 1) = uvarf((nv-1)*llt+i)
216 IF(ispmd==0.AND.len>0)
THEN
223 iprt = nint(wap0(j + 2))
224 ioff = nint(wap0(j + 9))
226 IF(iprt /= iprt0)
THEN
227 IF (izipstrs == 0)
THEN
228 WRITE(iugeo,
'(A)') delimit
229 WRITE(iugeo,
'(A)')
'/INIBRI/FAIL'
231 .
'#------------------------ REPEAT --------------------------'
233 .
'# BRICKID NLAY NPTR NPTS
234 . NPTT ILAY IRUPT IRUPT_TYP NUVAR IMAT'
235 WRITE(iugeo,
'(A/A/A)')
236 .
'# REPEAT K=1,NPTR,NPTS ',
237 .
'# UVAR(1,I) ............. ',
238 .
'# ............... UVAR(NUVAR,I) '
240 .
'#---------------------- END REPEAT ------------------------'
241 WRITE(iugeo,
'(A)') delimit
243 WRITE(line,
'(A)') delimit
245 WRITE(line,
'(A)')
'/INIBRI/FAIL'
248 .
'#------------------------ REPEAT --------------------------'
251 .
'# BRICKID NLAY NPTR NPTS
252 . NPTT ILAY IRUPT IRUPT_TYP NUVAR IMAT'
255 .
'# REPEAT K=1,NPTR,NPTS*NPTT*NLAY '
258 .
'# UVAR(1,I) ............. '
261 .
'# ............... UVAR(NUVAR,I) '
264 .'
#---------------------- END REPEAT ------------------------'
266 WRITE(line,
'(A)') delimit
273 nlay = nint(wap0(j+4))
274 nptr = nint(wap0(j+5))
275 npts = nint(wap0(j+6))
276 nptt = nint(wap0(j+7))
277 isolnod= nint(wap0(j+8))
281 nfail = nint(wap0(j+1))
283 imat = nint(wap0(j+1))
288 irupt_type = wap0(j+1)
290 nvar_rupt = wap0(j+1)
293 IF (irupt == 0) cycle
296 IF (izipstrs == 0)
THEN
297 WRITE(iugeo,
'(10I10)') id,nlay,nptr,npts,nptt,
298 . il,irupt,irupt_type,nvar_rupt,
301 WRITE(line,
'(10I10)') id,nlay,nptr,npts,nptt,
302 . il,irupt,irupt_type,nvar_rupt,
307 IF (izipstrs == 0)
THEN
311 IF (irupt /= 0)
WRITE(iugeo,
'(1P3E20.13)')
312 . (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)