30 1 NEL ,NUPARAM ,NUVAR ,UPARAM ,UVAR ,
31 2 TIME ,TIMESTEP ,IPG ,ILAY ,IPT ,
32 3 SIGNXX ,SIGNYY ,SIGNXY ,SIGNYZ ,SIGNZX ,
33 4 NGL ,OFF ,FOFF ,DFMAX ,TDEL )
39#include "implicit_f.inc"
74INTEGER ,
DIMENSION(NEL),
INTENT(IN) :: NGL
75 my_real ,
INTENT(IN) ::
76 my_real ,
DIMENSION(NEL),
INTENT(IN) :: TIMESTEP,OFF,
77 . signxx,signyy,signxy,signyz,signzx
78 my_real,
DIMENSION(NUPARAM),
INTENT(IN) :: uparam
82 INTEGER ,
DIMENSION(NEL),
INTENT(INOUT) :: FOFF
83 my_real ,
DIMENSION(NEL),
INTENT(INOUT) :: DFMAX
84 my_real ,
DIMENSION(NEL),
INTENT(OUT) :: TDEL
85 my_real ,
DIMENSION(NEL,NUVAR) ,
INTENT(INOUT) :: UVAR
90 INTEGER ,
DIMENSION(NEL) :: INDX
91 my_real :: TBA,TBK,KK,SIGMAX,SIGR_INI,SIG1,SIG2,S1,S2
99 IF (off(i) == one .and. foff(i) == 1)
THEN
100 s1 = half*(signxx(i) + signyy(i))
101 s2 = half*(signxx(i) - signyy(i))
102 sig1 = s1 + sqrt(s2**2 + signxy(i)**2)
103 sig2 = s1 - sqrt(s2**2 + signxy(i)**2)
104 sigmax =
max(sig1,sig2)
105 IF (sigmax > sigr_ini) uvar(i,1) = uvar(i,1)
106 . + timestep(i)*(sigmax - sigr_ini)**tba
107 IF (uvar(i,1) >= tbk)
THEN
118 dfmax(i) =
min(one,
max(dfmax(i),uvar(i,1)/tbk))
125 WRITE(iout, 2000) ngl(i),ipg,ilay,ipt
126 WRITE(istdo,2100) ngl(i),ipg,ilay,ipt,time
127#include "lockoff.inc"
131 2000
FORMAT(1x,
'FAILURE (TB) OF SHELL ELEMENT ',i10,1x,
',GAUSS PT',
132 . i2,1x,
',LAYER',i3,1x,
',INTEGRATION PT',i3)
133 2100
FORMAT(1x,
'FAILURE (TB) OF SHELL ELEMENT ',i10,1x,
',GAUSS PT',
134 . i2,1x,
',LAYER',i3,1x,
',INTEGRATION PT',i3,1x,
'AT TIME :',1pe12.4)
subroutine fail_tbutcher_c(nel, nuparam, nuvar, uparam, uvar, time, timestep, ipg, ilay, ipt, signxx, signyy, signxy, signyz, signzx, ngl, off, foff, dfmax, tdel)