38 . NEL ,NFT ,ITY ,IGRSH4N ,IGRSH3N ,
46 USE crack_depth_init_mod
47 USE brokmann_crack_init_mod
48 use brokmann_random_def_mod
52#include "implicit_f.inc"
62 INTEGER,
DIMENSION(NEL) ,
INTENT(IN) :: NGL
63 my_real,
DIMENSION(NEL) ,
INTENT(IN) :: aldt
64 my_real,
DIMENSION(NEL) ,
INTENT(IN) :: thk
65 TYPE (ELBUF_STRUCT_) :: ELBUF_STR
66 TYPE () ,
DIMENSION(NGRSHEL) :: IGRSH4N
67 TYPE (GROUP_) ,
DIMENSION(NGRSH3N) :: IGRSH3N
68 TYPE (MATPARAM_STRUCT_) ,
DIMENSION(NUMMAT) ,
INTENT(INOUT) :: MAT_PARAM
69 TYPE (FAIL_BROKMANN_) ,
INTENT(IN) :: FAIL_BROKMANN
73 INTEGER I,II,KK,IEL,ID,,,IS,IT,NPTR,NPTS,NPTT,IFL,ITGLASS,ELNUM,
74 . ,IGRID,NUMEL,IMAT,IRUPT,NFAIL,NUPARAM,NUVAR,NINDX,IVAR,NUM
75 INTEGER TAGSH((NUMELC,NUMELTG)),TAGEL(NEL),INDX(NEL)
81 DO il=1, elbuf_str%NLAY
82 nfail = elbuf_str%BUFLY(il)%NFAIL
85 nptt = elbuf_str%BUFLY(il)%NPTT
86 imat = elbuf_str%BUFLY(il)%IMAT
91 irupt = mat_param(imat)%FAIL(ifl)%IRUPT
93 nuparam = mat_param(imat)%FAIL(ifl)%NUPARAM
94 nuvar = mat_param(imat)%FAIL(ifl)%NUVAR
95 itglass = nint(mat_param(imat)%FAIL(ifl)%UPARAM(22))
100 kk = ngrnod + ngrbric + ngrquad
101 igrid = mat_param(imat)%FAIL(ifl)%UPARAM(12)
102 mat_param(imat)%FAIL(ifl)%UPARAM(11) = one / sqrt(pi)
103 IF (igrid > 0) igr = ngr2usrn(igrid,igrsh4n,ngrshel,num)
105 ELSEIF (ity == 7)
THEN
106 igrid = mat_param(imat)%FAIL(ifl)%UPARAM(13)
107 IF (igrid > 0) igr = ngr2usrn(igrid,igrsh3n,ngrsh3n,num)
114 numel = igrsh4n(igr)%NENTITY
116 ii = igrsh4n(igr)%ENTITY(iel)
119 ELSEIF (ity == 7)
THEN
120 numel = igrsh3n(igr)%NENTITY
122 ii = igrsh3n(igr)%ENTITY(iel)
128 IF (tagsh(i+nft) == 1)
THEN
135 elbuf_str%BUFLY(il)%FAIL(ir,is,it)%FLOC(ifl)%VAR(ivar + i) = 1
148 DO il=1, elbuf_str%NLAY
149 nfail = elbuf_str%BUFLY(il)%NFAIL
150 nptr = elbuf_str%NPTR
151 npts = elbuf_str%NPTS
152 nptt = elbuf_str%BUFLY(il)%NPTT
153 imat = elbuf_str%BUFLY(il)%IMAT
158 irupt = mat_param(imat)%FAIL(ifl)%IRUPT
159 IF (irupt == 28)
THEN
160 nuparam = mat_param(imat)%FAIL(ifl)%NUPARAM
161 nuvar = mat_param(imat)%FAIL(ifl)%NUVAR
162 itglass = nint(mat_param(imat)%FAIL(ifl)%UPARAM(22))
166 CALL crack_depth_init(nel ,it ,nptt ,nuparam ,nuvar,
167 . mat_param(imat)%FAIL(ifl)%UPARAM,
168 . elbuf_str%BUFLY(il)%FAIL(ir,is,it)%FLOC(ifl)%VAR,
169 . elbuf_str%BUFLY(il)%FAIL(ir,is,it)%FLOC(ifl)%DAMMX,
170 . elbuf_str%GBUF%DMG )
174 IF (itglass == 1 .and. (it == 1 .or. it == nptt))
THEN
175 DO ii = 1,fail_brokmann%NFAIL
176 IF (fail_brokmann%BROKMANN(ii)%IMAT == imat)
THEN
180 do kk = 1,fail_brokmann%brokmann(ii)%nelem
181 id = fail_brokmann%brokmann(ii)%brokmann_elem(kk)%id
183 if (id == ngl(iel))
then
191 CALL brokmann_crack_init(nel ,it ,nptt ,nuparam ,nuvar,
192 . mat_param(imat)%FAIL(ifl)%UPARAM ,fail_brokmann%BROKMANN(ii),
193 . elbuf_str%BUFLY(il)%FAIL(ir,is,it)%FLOC(ifl)%VAR,
194 . indx ,thk ,aldt ,ngl )