45 . SNPC ,STF ,NEL ,JTHE ,DPLA ,
47 . OFF ,EPSD ,NPF ,TF ,
49 . SVM ,PRESSURE,AREA ,AL ,
50 . F1 ,F2 ,F3 ,M1 ,M2 ,
51 . M3 ,ISMSTR ,EPSXX ,EPSXY ,EPSXZ ,
52 . KXX ,KYY ,KZZ ,DTIME ,
53 . NTABLE ,TABLE ,PLA ,SIGY )
66#include "implicit_f.inc"
74 INTEGER ,
INTENT(IN) :: NEL
75 INTEGER ,
INTENT(IN) :: JTHE
76 INTEGER ,
INTENT(IN) :: SNPC
77 INTEGER ,
INTENT(IN) :: STF
78 INTEGER ,
INTENT(IN) :: IOUT ! output unit
79 INTEGER ,
INTENT(IN) :: ISTDO
80 INTEGER ,
INTENT(IN) :: ISMSTR
81 INTEGER ,
DIMENSION(SNPC) ,
INTENT(IN) :: NPF
82 INTEGER ,
DIMENSION(NEL) ,
INTENT(IN) :: NGL
85 my_real ,
DIMENSION(NEL) ,
INTENT(IN) :: dpla
86 my_real ,
DIMENSION(NEL) ,
INTENT(IN) :: al
87 my_real ,
DIMENSION(NEL) ,
INTENT(IN) :: svm
88 my_real ,
DIMENSION(NEL) ,
INTENT(IN) :: pressure
89 my_real ,
DIMENSION(NEL) ,
INTENT(IN) :: epsd
90 my_real ,
DIMENSION(NEL) ,
INTENT(IN) :: epsxx,epsxy,epsxz
91 my_real ,
DIMENSION(NEL) ,
INTENT(IN) :: kxx,kyy,kzz
92 my_real ,
DIMENSION(NEL) ,
INTENT(IN) :: tempel
93 my_real ,
DIMENSION(NEL) ,
INTENT(INOUT) :: f1,f2,f3
94 my_real ,
DIMENSION(NEL) ,
INTENT(INOUT) :: m1,m2,m3
96 my_real ,
DIMENSION(STF) ,
INTENT(IN) :: tf
97 my_real ,
DIMENSION(NEL) ,
INTENT(INOUT) :: off
98 my_real ,
DIMENSION(NEL) ,
INTENT(IN) :: pla
100 INTEGER ,
INTENT(IN) :: NTABLE
101 TYPE(ttable),
DIMENSION(NTABLE),
INTENT(INOUT) :: TABLE
102 my_real ,
DIMENSION(NEL) ,
INTENT(IN) :: sigy
104 TYPE (ELBUF_STRUCT_) ,
INTENT(INOUT) :: ELBUF_STR
105 TYPE (MATPARAM_STRUCT_) ,
INTENT(IN) :: MAT_PARAM
106 TYPE (FAIL_PARAM_) ,
INTENT(IN) :: FAIL
111 INTEGER :: I,IFL,NFUNC,NPARAM,IRUPT
113 my_real ,
DIMENSION(NEL) :: tstar
123 nparam = fail%NUPARAM
126 irupt = elbuf_str%GBUF%FAIL(1)%ILAWF
132 IF (off(i) < em01) off(i) = zero
133 IF (off(i) < one ) off(i) = off(i)*four_over_5
141 IF (jthe > 0 .or. elbuf_str%gbuf%g_temp > 0)
THEN
142 t0 = mat_param%THERM%TREF
143 tm = mat_param%THERM%TMELT
144 tstar(1:nel) =
max(zero,(tempel(1:nel)-t0)) /
max((tm-t0),em20)
150 . time ,tstar ,svm ,pressure ,
151 . dpla ,epsd ,off ,elbuf_str%GBUF%FAIL(1)%DAMMX,
152 . elbuf_str%GBUF%FAIL(1)%TDEL ,iout ,istdo )
155 IF (jthe > 0 .or. elbuf_str%gbuf%g_temp > 0)
THEN
156 t0 = mat_param%THERM%TREF
157 tm = mat_param%THERM%TMELT
158 tstar(1:nel) =
max(zero,(tempel(1:nel)-t0)) /
max((tm-t0),em20)
164 . nel ,ngl ,nparam ,fail%UPARAM,
165 . time ,epsd ,off ,elbuf_str%GBUF%FAIL(1)%DAMMX,
166 . elbuf_str%GBUF%FAIL(1)%TDEL,iout ,istdo ,fail%IFUNC ,
169 . tf ,ismstr ,elbuf_str%GBUF%FAIL(1)%NVAR, elbuf_str%GBUF%FAIL(1)%VAR,
170 . elbuf_str%GBUF%DMGSCL)
175 . time ,epsd ,off ,elbuf_str%GBUF%FAIL(1)%DAMMX,
176 . elbuf_str%GBUF%FAIL(1)%TDEL ,iout ,istdo ,fail%IFUNC ,
178 . m1 ,m2 ,m3 ,snpc ,npf ,stf ,
179 . tf ,epsxx ,epsxy ,epsxz ,kxx ,kyy ,
180 . kzz ,elbuf_str%GBUF%FAIL(1)%NVAR,elbuf_str%GBUF%FAIL(1)%VAR,
181 . elbuf_str%GBUF%DMGSCL)
186 . time ,svm ,pressure ,
187 . dpla ,off ,elbuf_str%GBUF%FAIL(1)%DAMMX,
188 . elbuf_str%GBUF%FAIL(1)%TDEL ,iout ,istdo ,fail%IFUNC ,
189 . nfunc,snpc ,npf ,stf ,tf,
190 . elbuf_str%GBUF%FAIL(1)%NVAR, elbuf_str%GBUF%FAIL(1)%VAR,al,
191 . elbuf_str%GBUF%DMGSCL)
194 CALL fail_visual_b(nel ,ngl ,nparam ,fail%UPARAM,
195 . time ,elbuf_str%GBUF%FAIL(1)%DAMMX,
198 . epsxx ,epsxy ,epsxz ,
199 . elbuf_str%GBUF%FAIL(1)%NVAR,
200 . elbuf_str%GBUF%FAIL(1)%VAR,ismstr, dtime)
204 . nel ,fail%NUPARAM ,elbuf_str%GBUF%FAIL(1)%NVAR ,fail%NFUNC,
205 . fail%IFUNC ,npf ,tf ,
206 . time ,dtime ,fail%UPARAM ,
207 . ngl ,elbuf_str%GBUF%DT ,epsd ,elbuf_str%GBUF%FAIL(1)%VAR ,
210 . epsxx ,epsxy ,epsxz ,
212 . elbuf_str%GBUF%FAIL(1)%DAMMX ,al ,table,
214 . fail%TABLE ,elbuf_str%GBUF%FAIL(1)%LF_DAMMX ,fail%NIPARAM ,fail%IPARAM,
219 . nel ,fail%NUPARAM ,elbuf_str%GBUF%FAIL(1)%NVAR ,
220 . table ,fail%NTABLE ,fail%TABLE ,time ,fail%UPARAM ,
221 . ngl ,al ,dpla ,epsd , elbuf_str%GBUF%FAIL(1)%VAR,
223 . pla ,sigy ,off ,elbuf_str%GBUF%FAIL(1)%DAMMX ,
224 . elbuf_str%GBUF%FAIL(1)%TDEL ,
225 . elbuf_str%GBUF%FAIL(1)%DAMINI,
226 . ntable,elbuf_str%GBUF%DMGSCL)
230 . nel ,fail%NUPARAM ,elbuf_str%GBUF%FAIL(1)%NVAR ,fail%NFUNC ,fail%IFUNC ,
231 . npf ,table ,tf ,time ,fail%UPARAM ,
232 . ngl ,al ,dpla ,epsd ,elbuf_str%GBUF%FAIL(1)%VAR,
234 . tempel ,off ,elbuf_str%GBUF%FAIL(1)%DAMMX ,elbuf_str%GBUF%FAIL(1)%TDEL ,
235 . fail%NTABLE ,fail%TABLE,
236 . snpc ,stf ,ntable ,elbuf_str%GBUF%DMGSCL)
241 IF (off(i) == four_over_5)
THEN
243 WRITE(iout, 1000) ngl(i),time
244 WRITE(istdo,1000) ngl(i),time
245#include "lockoff.inc"
249 1000
FORMAT(1x,
'DELETED BEAM ELEMENT in 1',i10,1x,
'AT TIME :',1pe12.4)
subroutine fail_beam3(elbuf_str, mat_param, fail, snpc, stf, nel, jthe, dpla, tempel, ngl, off, epsd, npf, tf, time, iout, istdo, svm, pressure, area, al, f1, f2, f3, m1, m2, m3, ismstr, epsxx, epsxy, epsxz, kxx, kyy, kzz, dtime, ntable, table, pla, sigy)
subroutine fail_energy_b(nel, ngl, nuparam, uparam, time, epsd, off, dfmax, tdel, iout, istdo, ifunc, area, f1, f2, f3, m1, m2, m3, snpc, npf, stf, tf, epsxx, epsxy, epsxz, kxx, kyy, kzz, nvar, uvar, dmgscl)