37
38
39
40
41
43
44
45
46#include "implicit_f.inc"
47
48
49
50#include "units_c.inc"
51#include "comlock.inc"
52#include "vect01_c.inc"
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
81
82 INTEGER, INTENT(IN) :: NEL,NUPARAM,NUVAR,IPG,ILAY,IPTT
83 INTEGER ,DIMENSION(NEL), INTENT(IN) :: NGL
85 my_real ,
DIMENSION(NUPARAM),
INTENT(IN) :: uparam
86 my_real ,
DIMENSION(NEL),
INTENT(IN) :: dpla,epsp,tstar,off,
87 . signxx,signyy,signxy,signyz,signzx
88
89
90
91 INTEGER ,DIMENSION(NEL), INTENT(INOUT) :: FOFF
92 my_real ,
DIMENSION(NEL),
INTENT(INOUT) :: dfmax
93 my_real ,
DIMENSION(NEL),
INTENT(OUT) :: tdel
94 my_real,
DIMENSION(NEL,NUVAR),
INTENT(INOUT) :: uvar
95
96
97
98 INTEGER :: I,J,NINDX
99 INTEGER ,DIMENSION(NEL) :: INDX
100 my_real :: d1,d2,d3,d4,d5,epsp0,p,epsf,svm,epsf_min
101
102 nindx = 0
103 d1 = uparam(1)
104 d2 = uparam(2)
105 d3 = uparam(3)
106 d4 = uparam(4)
107 d5 = uparam(5)
108 epsp0 = uparam(6)
109 epsf_min = uparam(12)
110
111 DO i=1,nel
112 IF (off(i) == one .and. foff(i) == 1 .and. dpla(i) > zero) THEN
113 p = third*(signxx(i) + signyy(i))
114 svm = sqrt(signxx(i)*signxx(i) + signyy(i)*signyy(i)
115 . - signxx(i)*signyy(i) + three*signxy(i)*signxy(i))
116 epsf = d3*p/
max(em20,svm)
117 epsf = (d1 + d2*exp(epsf))
118 IF(d4/=zero) epsf = epsf * (one + d4*log(
max(one,epsp(i)/epsp0)))
119 IF(d5/=zero) epsf = epsf * (one + d5*tstar(i))
120 epsf =
max(epsf,epsf_min)
121 IF (epsf > zero) dfmax(i) = dfmax(i) + dpla(i)/epsf
122 IF (dfmax(i) >= one) THEN
123 nindx = nindx + 1
124 indx(nindx) = i
125 foff(i) = 0
126 tdel(i) = time
127 ENDIF
128 ENDIF
129 ENDDO
130
131 IF (nindx > 0) THEN
132 DO j=1,nindx
133 i = indx(j)
134#include "lockon.inc"
135 WRITE(iout, 2000) ngl(i),ipg,ilay,iptt
136 WRITE(istdo,2100) ngl(i),ipg,ilay,iptt,time
137#include "lockoff.inc"
138 END DO
139 END IF
140
141
142
143 DO i=1,nel
144 dfmax(i) =
min(one,dfmax(i))
145 ENDDO
146
147 2000 FORMAT(1x,'FAILURE (JC) OF SHELL ELEMENT ',i10,1x,',GAUSS PT',i2,1x,',LAYER',i3,
148 . 1x,',INTEGRATION PT',i3)
149 2100 FORMAT(1x,'FAILURE (JC) OF SHELL ELEMENT ',i10,1x,',GAUSS PT',i2,1x,',LAYER',i3,
150 . 1x,',INTEGRATION PT',i3,1x,'AT TIME :',1pe12.4)
151
152 RETURN