31 . NEL ,NGL ,NUPARAM ,UPARAM ,
32 . TIME ,EPSD ,OFF ,DFMAX ,
33 . TDEL ,IOUT ,ISTDO ,IFUNC ,
36 . M3 ,SNPC ,NPF ,STF ,
37 . TF ,EPSXX ,EPSXY ,EPSXZ ,
38 . KXX ,KYY ,KZZ ,NVAR ,
45#include "implicit_f.inc"
53 INTEGER ,
INTENT(IN) :: NEL
54 INTEGER ,
INTENT(IN) :: NUPARAM
55 INTEGER ,
INTENT(IN) :: IOUT
56 INTEGER ,
INTENT(IN) :: ISTDO
57 INTEGER ,
INTENT(IN) :: SNPC
58 INTEGER ,
INTENT(IN) :: STF
59 INTEGER ,
DIMENSION(NEL) ,
INTENT(IN) :: NGL
60 INTEGER ,
DIMENSION(100) ,
INTENT(IN) :: IFUNC
61 INTEGER ,
DIMENSION(SNPC) ,
INTENT(IN) :: NPF
62 INTEGER ,
INTENT(IN) :: NVAR
65 my_real ,
DIMENSION(NUPARAM) ,
INTENT(IN) :: uparam
66 my_real ,
DIMENSION(NEL) ,
INTENT(IN) :: epsd
67 my_real ,
DIMENSION(STF) ,
INTENT(IN) :: tf
68 my_real ,
DIMENSION(NEL) ,
INTENT(INOUT) :: off
69 my_real ,
DIMENSION(NEL) ,
INTENT(INOUT) :: dfmax
70 my_real ,
DIMENSION(NEL) ,
INTENT(INOUT) :: tdel
71 my_real ,
DIMENSION(NEL) ,
INTENT(IN) :: f1,f2,f3
72 my_real ,
DIMENSION(NEL) ,
INTENT(IN) :: m1,m2,m3
73 my_real ,
DIMENSION(NEL) ,
INTENT(IN) :: epsxx,epsxy,epsxz
74 my_real ,
DIMENSION(NEL) ,
INTENT(IN) :: kxx,kyy,kzz
75 my_real ,
DIMENSION(NEL,NVAR),
INTENT(INOUT) :: uvar
76 my_real,
DIMENSION(NEL) ,
INTENT(INOUT) :: dmgscl
81 INTEGER ,
DIMENSION(NEL) :: INDX
82 my_real :: rfac,r1,r2,ie_sp,dydx,rief1,rief2,xfac,finter,fact
84 my_real ,
DIMENSION(NEL) :: damage
92 uvar(i,1) = uvar(i,1) + (
93 . f1(i)*epsxx(i) + f2(i)*epsxy(i) + f3(i)*epsxz(i) +
94 . m1(i)*kxx(i) + m2(i)*kyy(i) + m3(i)*kzz(i))
98 IF (off(i) == one )
THEN
99 IF (ifunc(1) /= 0)
THEN
100 rfac = finter(ifunc(1),epsd(i)*xfac,npf,tf,dydx)
101 rfac =
max(rfac,em20)
107 ie_sp = uvar(i,1)/
area
110 damage(i) = (ie_sp-r1)/(r2-r1)
111 damage(i) =
min(one,damage(i
112 dfmax(i) =
max(dfmax(i) ,damage(i))
123 dmgscl(i) = one - dfmax(i)
130 WRITE(iout, 1000) ngl(i),time
131 WRITE(istdo,1000) ngl(i),time
132#include "lockoff.inc"
136 1000
FORMAT(5x,
'FAILURE (ENERGY) OF BEAM ELEMENT ',i10,1x,
'AT TIME :',1pe12.4)
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)