37
38
39
40
41
42
43#include "implicit_f.inc"
44
45
46
47#include "units_c.inc"
48#include "comlock.inc"
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80 INTEGER, INTENT(IN) :: ILAY,IPTT,IPG
81 INTEGER NEL, NUVAR, NGL(NEL),
82 . IPT,NPT0,NOFF(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)
87
88
89
90
91
92 INTEGER ,DIMENSION(NEL), INTENT(INOUT) :: FOFF
93 my_real uvar(nel,nuvar), off(nel),offl(nel),
94 . signxx(nel),signyy(nel),uel(nel),
95 . signxy(nel)
96
97
98
99
100 INTEGER I,J,NINDX,LEN
101 INTEGER, DIMENSION(NEL) :: INDX
102 my_real e_hyd,e_11,e_22,e_33,e_12,e_23,e_13,
103 . eeq,d_eeq,sig_11,sig_a,sig_b
104
105
106
108
109
110
111
112
113
114
115 c0 = uparam(1)
116 ema = uparam(2)
117 nindx = 0
118
119 DO i =1,nel
120 IF(off(i) >= one .AND. foff(i) == 1 ) THEN
121
122 IF(c0 < zero)THEN
123 e_hyd = third * (epsxx(i) + epsyy(i))
124 e_11 = epsxx(i) - e_hyd
125 e_22 = epsyy(i) - e_hyd
126 e_33 = -e_hyd
127 e_12 = half*epsxy(i)
128
129 e_13 = half*epszx(i
130
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)
134
135 d_eeq = eeq - uvar(i,1)
136 IF
137 uvar(i,1) = eeq
138 ELSE
139 d_eeq = dpla(i)
140 uvar(i,1) = uvar(i,1) + dpla(i)
141 ENDIF
142
143
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)
148 uvar(i,3)= sig_11
149 uvar(i,2) = uvar(i,2) +
max(sig_11,zero) * d_eeq
150
151 dfmax(i) =
min(uvar(i,2) /
max(em20,abs(c0)),one)
152
153 IF (dfmax(i) >= one) THEN
154 nindx = nindx + 1
155 indx(nindx) = i
156 foff(i) = 0
157 tdel(i) = time
158 ENDIF
159 ENDIF
160 ENDDO
161
162 DO j
163 i = indx(j)
164#include "lockon.inc"
165 WRITE(iout, 2000) ngl(i),ipg,ilay,iptt
166 WRITE(istdo,2100) ngl(i),ipg,ilay,iptt,time
167#include "lockoff.inc"
168
169 ENDDO
170
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)
175
176
177 RETURN