35 1 NEL ,NGL ,NUPARAM ,NUVAR ,NFUNC ,IFUNC ,NPF ,
36 2 TF ,TIMESTEP,TIME ,UPARAM ,UVAR ,RHO ,PLA ,
37 3 DPLA ,SOUNDSP ,EPSD ,GS ,THK ,THKLY ,OFF ,
38 4 DEPSXX ,DEPSYY ,DEPSXY ,DEPSYZ ,DEPSZX ,
39 5 EPSPXX ,EPSPYY ,EPSPXY ,EPSPYZ ,EPSPZX ,
40 6 SIGOXX ,SIGOYY ,SIGOXY ,SIGOYZ ,SIGOZX ,
41 7 SIGNXX ,SIGNYY ,SIGNXY ,SIGNYZ ,SIGNZX ,
42 8 SIGY ,ET ,VARNL ,INLOC ,DT ,
43 9 IPG ,IPT ,NPTR ,NPTS ,NPTT ,
44 A BUFLY ,OFFL ,IOFF_DUCT)
50#include "implicit_f.inc"
60 INTEGER NEL,NUPARAM,NUVAR,NFUNC,INLOC,
61 . IPG,IPT,NPF(*),NGL(NEL),
62 . IFUNC(NFUNC),NPTR,NPTS,NPTT
63 INTEGER,
DIMENSION(NEL),
INTENT(INOUT) :: IOFF_DUCT
65 . TIMESTEP,TIME,(*),UPARAM(NUPARAM)
66 my_real,
DIMENSION(NEL),
INTENT(IN) ::
68 . DEPSXX,DEPSYY,DEPSXY,DEPSYZ,DEPSZX,
69 . EPSPXX,EPSPYY,EPSPXY,EPSPYZ,EPSPZX,
70 . sigoxx,sigoyy,sigoxy,sigoyz,sigozx
71 my_real,
DIMENSION(NEL),
INTENT(OUT) ::
72 . soundsp,signxx,signyy,signxy,signyz,signzx
73 my_real,
DIMENSION(NEL) :: sigy,et
74 my_real,
DIMENSION(NEL),
INTENT(INOUT) ::
75 . pla,epsd,thk,off,varnl,dpla,offl
76 my_real,
DIMENSION(NEL,NUVAR),
INTENT(INOUT) ::
78 TYPE(buf_lay_) :: BUFLY
82 INTEGER I,J,IRES,Ifail,NINDX,NINDX2,INDX(NEL),INDX2(NEL),
83 . ipos(nel),iad(nel),ilen(nel),ir,is,it
84 my_real dtmin,xscale_fail,yscale_fail,s1,s2,q,s11(nel),
85 . s22(nel),r_inter,dfdepsd(nel),fail(nel),seq(nel)
88 ires = nint(uparam(11))
91 ifail = nint(uparam(13))
98 xscale_fail = uparam(22)
99 yscale_fail = uparam(23)
107 1 nel ,ngl ,nuparam ,nuvar ,nfunc ,ifunc ,npf ,
108 2 tf ,timestep,time ,uparam ,uvar ,rho ,pla ,
109 3 dpla ,soundsp ,epsd ,gs ,thk ,thkly ,off ,
110 4 depsxx ,depsyy ,depsxy ,depsyz ,depszx ,
111 5 epspxx ,epspyy ,epspxy ,epspyz ,epspzx ,
112 6 sigoxx ,sigoyy ,sigoxy ,sigoyz ,sigozx ,
113 7 signxx ,signyy ,signxy ,signyz ,signzx ,
114 8 sigy ,et ,varnl ,seq ,inloc ,offl )
119 1 nel ,ngl ,nuparam ,nuvar ,nfunc ,ifunc ,npf ,
120 2 tf ,timestep,time ,uparam ,uvar ,rho ,pla ,
121 3 dpla ,soundsp ,epsd ,gs ,thk ,thkly ,off ,
122 4 depsxx ,depsyy ,depsxy ,depsyz ,depszx ,
123 5 epspxx ,epspyy ,epspxy ,epspyz ,epspzx ,
124 6 sigoxx ,sigoyy ,sigoxy ,sigoyz ,sigozx ,
125 7 signxx ,signyy ,signxy ,signyz ,signzx ,
126 8 sigy ,et ,varnl ,seq ,inloc ,offl )
138 IF (ifunc(4) > 0)
THEN
141 ilen(1:nel) = npf(ifunc(4)+1) / 2 - iad(1:nel) - ipos
142 CALL vinter2(tf,iad,ipos,ilen,nel,epsd/xscale_fail,dfdepsd,fail)
143 fail(1:nel) = yscale_fail*fail(1:nel)
149 IF (dtmin > zero .OR. ifunc(4) > 0)
THEN
153 IF ((dt(i) > em20).AND.(dt(i) < dtmin).AND.(off(i) == one))
THEN
160 IF ((ifunc(4) > 0).AND.(off(i) == one))
THEN
162 IF (offl(i) < em01) offl(i) = zero
163 IF (offl(i) < one) offl(i) = offl(i)*four_over_5
165 IF ((nptr == 1).AND.(npts == 1))
THEN
171 IF (offl(i)>zero) off(i) = one
174 IF ((ipg == 1).AND.(ipt == 1))
THEN
182 IF (bufly%LBUF(ir,is,it)%OFF(i)>zero) off(i) = one
189 IF (offl(i) == one)
THEN
192 IF (seq(i) >= fail(i)) offl(i) = four_over_5
194 ELSEIF (ifail == 1)
THEN
195 IF (pla(i) >= fail(i)) offl(i) = four_over_5
197 ELSEIF (ifail == 2)
THEN
198 s1 = half*(signxx(i) + signyy(i))
199 s2 = half*(signxx(i) - signyy(i))
200 q = sqrt(s2**2 + signxy(i)**2)
203 IF (s22(i) >= s11(i))
THEN
208 IF ((s11(i)>=fail(i)).OR.(abs(s22(i))>=fail(i))) offl(i) = four_over_5
210 ELSEIF (ifail == 3)
THEN
211 s1 = half*(signxx(i) + signyy(i))
212 s2 = half*(signxx(i) - signyy(i))
213 q = sqrt(s2**2 + signxy(i)**2)
216 IF (s22(i) >= s11(i))
THEN
221 IF (s11(i)>=fail(i)) offl(i) = four_over_5
224 IF (offl(i) == four_over_5)
THEN
237 WRITE(iout, 1000) ngl(indx(j))
238 WRITE(istdo,1100) ngl(indx(j)),tt
239#include "lockoff.inc"
247 WRITE(iout, 2000) ngl(indx2(j)),ipg,ipt
248 WRITE(istdo,2100) ngl(indx2(j)),ipg,ipt,tt
249#include "lockoff.inc"
253 1000
FORMAT(1x,'minimum timestep(plas_rate) reached, deleted shell element
',I10)
254 1100 FORMAT(1X,'minimum timestep(plas_rate) reached, deleted shell element
',I10,1X,'at time :
',1PE12.4)
255 2000 FORMAT(1X,'failure(plas_rate) in shell element
',I10,1X,',gauss pt
',I2,1X,',thickness intg. pt
',I3)
256 2100 FORMAT(1X,'failure(plas_rate) in shell element
',I10,1X,',gauss pt
',I2,1X,',thickness intg. pt
',I3,
257 . 1X,'at time :
',1PE12.4)
subroutine mat121c_newton(nel, ngl, nuparam, nuvar, nfunc, ifunc, npf, tf, timestep, time, uparam, uvar, rho, pla, dpla, soundsp, epsd, gs, thk, thkly, off, depsxx, depsyy, depsxy, depsyz, depszx, epspxx, epspyy, epspxy, epspyz, epspzx, sigoxx, sigoyy, sigoxy, sigoyz, sigozx, signxx, signyy, signxy, signyz, signzx, sigy, et, dplanl, seq, inloc, loff)
subroutine mat121c_nice(nel, ngl, nuparam, nuvar, nfunc, ifunc, npf, tf, timestep, time, uparam, uvar, rho, pla, dpla, soundsp, epsd, gs, thk, thkly, off, depsxx, depsyy, depsxy, depsyz, depszx, epspxx, epspyy, epspxy, epspyz, epspzx, sigoxx, sigoyy, sigoxy, sigoyz, sigozx, signxx, signyy, signxy, signyz, signzx, sigy, et, dplanl, seq, inloc, loff)
subroutine sigeps121c(nel, ngl, nuparam, nuvar, nfunc, ifunc, npf, tf, timestep, time, uparam, uvar, rho, pla, dpla, soundsp, epsd, gs, thk, thkly, off, depsxx, depsyy, depsxy, depsyz, depszx, epspxx, epspyy, epspxy, epspyz, epspzx, sigoxx, sigoyy, sigoxy, sigoyz, sigozx, signxx, signyy, signxy, signyz, signzx, sigy, et, varnl, inloc, dt, ipg, ipt, nptr, npts, nptt, bufly, offl, ioff_duct)