32 1 NEL ,NUPARAM ,NUVAR ,NFUNC ,IFUNC ,
33 2 UPARAM ,UVAR ,NPF ,TF ,TIME ,
34 3 NGL ,IPG ,ILAY ,IPT ,EPSP ,
35 4 AREA ,THK ,DMG_FLAG ,
36 5 DMG_SCALE,OFF ,FOFF ,DFMAX ,TDEL ,
37 6 SIGNXX ,SIGNYY ,SIGNXY ,SIGNYZ ,SIGNZX ,
38 7 DEPSXX ,DEPSYY ,DEPSXY ,DEPSYZ ,DEPSZX )
44#include "implicit_f.inc"
77 INTEGER ,
INTENT(IN) :: NEL,NUPARAM,NUVAR,IPG,ILAY,IPT
78 INTEGER ,
DIMENSION(NEL) ,
INTENT(IN) :: NGL
79 my_real ,
INTENT(IN) :: TIME
80 my_real ,
DIMENSION(NEL) ,
INTENT(IN) :: AREA,THK,EPSP,OFF,
81 . SIGNXX,SIGNYY,SIGNXY,SIGNYZ,SIGNZX,DEPSXX,DEPSYY,DEPSXY,
83 my_real,
DIMENSION(NUPARAM) ,
INTENT(IN) :: UPARAM
87 INTEGER ,
INTENT(OUT) ::DMG_FLAG
88 INTEGER ,
DIMENSION(NEL) ,
INTENT(INOUT) :: FOFF
89 my_real ,
DIMENSION(NEL) ,
INTENT(INOUT) :: DFMAX
90 my_real ,
DIMENSION(NEL) ,
INTENT(OUT) :: tdel,dmg_scale
91 my_real ,
DIMENSION(NEL,NUVAR) ,
INTENT(INOUT) :: uvar
95 INTEGER NPF(*), NFUNC, IFUNC(NFUNC)
109 INTEGER ,
DIMENSION(NEL) :: INDX
110 my_real RFAC,R1,R2,IE_SP,DYDX,RIEF1,RIEF2,XFAC
116 dmg_flag = int(uparam(5))
120 IF (off(i) == one .and. foff(i) == 1)
THEN
121 IF (ifunc(1) /= 0)
THEN
122 rfac = finter(ifunc(1),epsp(i)*xfac,npf,tf,dydx)
123 rfac =
max(rfac,em20)
130 uvar(i,1) = uvar(i,1) + signxx(i)*depsxx(i) +
133 . signyz(i)*depsyz(i) +
137 damage(i) = (ie_sp-r1)/(r2-r1)
138 damage(i) =
min(one,damage(i))
139 dfmax(i) =
max(dfmax(i) ,damage(i))
150 IF (dmg_flag == 1)
THEN
152 dmg_scale(i) = one - dfmax(i)
160 WRITE(iout, 2000) ngl(i),ipg,ilay,ipt
161 WRITE(istdo,2100) ngl(i),ipg,ilay,ipt,time
162#include "lockoff.inc"
166 2000
FORMAT(1x,
'FAILURE (ENERGY) OF SHELL ELEMENT ',i10,1x,
',GAUSS PT',
167 . i2,1x,
',LAYER',i3,1x,
',INTEGRATION PT',i3)
168 2100
FORMAT(1x,
'FAILURE (ENERGY) OF SHELL ELEMENT ',i10,1x,
',GAUSS PT',
169 . i2,1x,
',LAYER',i3,1x,
',INTEGRATION PT',i3,1x,
'AT TIME :',1pe12.4)
subroutine fail_energy_c(nel, nuparam, nuvar, nfunc, ifunc, uparam, uvar, npf, tf, time, ngl, ipg, ilay, ipt, epsp, area, thk, dmg_flag, dmg_scale, off, foff, dfmax, tdel, signxx, signyy, signxy, signyz, signzx, depsxx, depsyy, depsxy, depsyz, depszx)