31 2 TIME ,UPARAM ,NGL ,IPT ,ILAY ,
33 4 SIGNXX ,SIGNYY ,SIGNXY ,
34 5 EPSXX ,EPSYY ,EPSXY ,EPSYZ ,EPSZX ,
35 6 DPLA ,UVAR ,UEL ,FOFF ,
43#include "implicit_f.inc"
80 INTEGER,
INTENT(IN) :: ILAY,IPTT,IPG
81 INTEGER NEL, NUVAR, NGL(NEL),
83 my_real TIME,UPARAM(*),DPLA(NEL),
84 . EPSXX(NEL) ,EPSYY(NEL) ,EPSXY(NEL),
85 . EPSYZ(NEL) ,EPSZX(NEL),
86 . DFMAX(NEL) ,TDEL(NEL)
92 INTEGER ,
DIMENSION(NEL),
INTENT(INOUT) :: FOFF
93 my_real UVAR(NEL,NUVAR), OFF(NEL),OFFL(NEL),
94 . SIGNXX(NEL),SIGNYY(NEL),UEL(NEL),
100 INTEGER I,J,NINDX,LEN
101 INTEGER,
DIMENSION(NEL) :: INDX
102 my_real E_HYD,E_11,E_22,,E_12,E_23,E_13,
103 . EEQ,D_EEQ,SIG_11,SIG_A,SIG_B
120 IF(off(i) >= one .AND. foff(i) == 1 )
THEN
123 e_hyd = third * (epsxx(i) + epsyy(i))
124 e_11 = epsxx(i) - e_hyd
125 e_22 = epsyy(i) - e_hyd
131 eeq = e_11**2 + e_22**2 + e_33**2
132 eeq = eeq + two * (e_12**2) + two * (e_23**2) + two * (e_13**2)
133 eeq = 0.8164965809 * sqrt(eeq)
135 d_eeq = eeq - uvar(i,1)
136 IF (d_eeq <= zero) d_eeq = zero
140 uvar(i,1) = uvar(i,1) + dpla(i)
144 sig_a = (signxx(i) + signyy(i))/two
145 sig_b = sqrt(((signxx(i)-signyy(i))/two)**2+signxy(i)**2)
146 sig_11 = sig_a + sig_b
147 sig_11 = sig_11 * ema + (one-ema)* uvar(i,3)
149 uvar(i,2) = uvar(i,2) +
max(sig_11,zero) * d_eeq
151 dfmax(i) =
min(uvar(i,2) /
max(em20,abs(c0)),one)
153 IF (dfmax(i) >= one)
THEN
166 WRITE(istdo,2100) ngl(i),ipg,ilay,iptt,time
167#include "lockoff.inc"
171 2000
FORMAT(1x,
'FAILURE (COCKROFT-LATHAM) OF SHELL ELEMENT ',i10,1x,
',GAUSS PT',i2,1x,
',LAYER'
172 . 1x,
',INTEGRATION PT',i3
173 2100
FORMAT(1x,
'FAILURE (COCKROFT-LATHAM) OF SHELL ELEMENT ',i10,1x,
',GAUSS PT',i2,1x
',LAYER',i3,
174 . 1x,
',INTEGRATION PT',i3,1x,
'AT TIME :',1pe12.4)
subroutine fail_cockroft_c(nel, nuvar, time, uparam, ngl, ipt, ilay, npt0, iptt, ipg, signxx, signyy, signxy, epsxx, epsyy, epsxy, epsyz, epszx, dpla, uvar, uel, foff, off, dfmax, tdel)