32 1 NEL ,NUVAR ,TIME ,TIMESTEP ,
34 4 OFF ,SIGNYZ ,SIGNXZ ,SIGNZZ ,EPSYZ ,
35 5 EPSXZ ,EPSZZ ,UVAR , OFFI ,REDUC ,
44#include "implicit_f.inc"
85 INTEGER ,NUVAR,NGL(*),IPLY
87 . TIME,TIMESTEP(*),SIGNZZ(*),
88 . SIGNYZ(*),SIGNXZ(*),EPSYZ(*),EPSXZ(*),EPSZZ(*),
89 . OFFI(*),REDUC(*),COUNT(*)
90 TYPE (FAIL_PARAM_) ,
INTENT(IN) :: FAIL
99 . i,j,idel,idel_l,iflag(mvsiz),indx(mvsiz),nindx,
100 . nindex,index(mvsiz),jst(mvsiz),ir,jj,imod,
105 . epst3(mvsiz),epsf3(mvsiz),epst13(mvsiz),epsf13(mvsiz),
106 . epst23(mvsiz),epsf23(mvsiz)
111 IF (off(i)==zero) cycle
112 epst3(i) = fail%UPARAM(5)
113 epsf3(i) = fail%UPARAM(6)
114 epst23(i) = fail%UPARAM(9)
115 epsf23(i) = fail%UPARAM(10)
116 epst13(i) = fail%UPARAM(11)
117 epsf13(i) = fail%UPARAM(12)
118 reduc(i) = fail%UPARAM(16)
148 IF(off(i) == one )
THEN
151 IF(uvar(i,1) < one )
THEN
153 IF(epsyz(i) >= epst23(i) )
THEN
154 dam2 = (epsyz(i) - epst23(i))/(epsf23(i) - epst23(i))
155 dam2 =
min(one, dam2)
156 IF(dam2 >= one) imod = 3
159 IF(epsxz(i) >= epst13(i) )
THEN
160 dam3 = (epsxz(i) - epst13(i))/(epsf13(i) - epst13(i))
161 dam3 =
min(one, dam3)
162 IF(dam3 >= one) imod = 2
165 IF(epszz(i) >= epst3(i) )
THEN
166 dam1= (epszz(i) - epst3(i))/(epsf3(i) - epst3(i))
167 dam1 =
min(one, dam1)
168 IF(dam1 >= one) imod = 1
171 dam =
max(uvar(i,1),dam1, dam2, dam3)
173 signxz(i) = signxz(i)*
max(one - dam,reduc(i))
174 signyz(i) = signyz(i)*
max(one - dam,reduc(i))
175 signzz(i) = signzz(i)*
max(one - dam
182 count(i) = count(i) + one
183 IF(int(count(i)) == 4)
THEN
184 WRITE(iout, 1300) ngl(i),iply,mode(i),time
185 WRITE(istdo,1300) ngl(i),iply,mode(i), time
202 WRITE(iout, 1200) ngl(i),iply,mode(i),time
203 WRITE(istdo,1200) ngl(i),iply,mode(i), time
204#include "lockoff.inc"
209 1200
FORMAT(1x,
'DELAMINATION OF SHELL #',i10,1x,
210 .
'INTERPLY', i10, 1x,
'MODE #',i10,1x,
211 . 'at time
# ',1PE20.13)
212 1300
FORMAT(1x,
'FULL DELAMINATION OF SHELL #',i10,1x,
213 .
'INTERPLY', i10, 1x,
'MODE #',i10,1x,
214 .
'AT TIME # ',1pe20.13)
subroutine delm24law(fail, nel, nuvar, time, timestep, ngl, iply, off, signyz, signxz, signzz, epsyz, epsxz, epszz, uvar, offi, reduc, count)