29 . NEL ,NGL ,IPT ,NUPARAM ,UPARAM ,
30 . TIME ,TSTAR ,SIGNXX ,SIGNXY ,SIGNZX ,
31 . DPLA ,EPSD ,OFF ,FOFF ,DFMAX ,
32 . TDEL ,IOUT ,ISTDO ,UELR , NPG)
38#include "implicit_f.inc"
46 INTEGER ,
INTENT(IN) :: NEL
47 INTEGER ,
INTENT(IN) :: NUPARAM
48 INTEGER ,
INTENT(IN) :: IPT
49 INTEGER ,
INTENT(IN) :: IOUT
50 INTEGER ,
INTENT(IN) ::
51 INTEGER ,
DIMENSION(NEL) ,
INTENT(IN) :: NGL
53 my_real ,
DIMENSION(NUPARAM) ,
INTENT(IN)
54 my_real ,
DIMENSION(NEL) ,
INTENT(IN) :: dpla
55 my_real ,
DIMENSION(NEL) ,
INTENT(IN)
56 my_real ,
DIMENSION(NEL) ,
INTENT(IN) :: tstar
57 my_real ,
DIMENSION(NEL) ,
INTENT(INOUT) :: off
58 my_real ,
DIMENSION(NEL) ,
INTENT(IN) :: signxx
59 my_real ,
DIMENSION(NEL) ,
INTENT(IN) :: signxy
60 my_real ,
DIMENSION(NEL) ,
INTENT(IN) :: signzx
61 INTEGER ,
DIMENSION(NEL) ,
INTENT(INOUT) :: FOFF
62 my_real ,
DIMENSION(NEL) ,
INTENT(INOUT) :: dfmax
63 my_real ,
DIMENSION(NEL) ,
INTENT(INOUT) :
64 my_real,
DIMENSION(NEL) ,
INTENT(INOUT) :: uelr
65 INTEGER ,
INTENT(IN) :: NPG
69 INTEGER :: I,J,NINDX,FAILIP
70 INTEGER ,
DIMENSION(NEL) :: INDX
71 my_real :: D1,D2,D3,D4,D5,EPSD0,P,EPSF,SVM,EPSF_MIN
81 failip =
min(nint(uparam(13)),npg)
84 IF (off(i) == one .and. foff(i) == 1 .and. dpla
THEN
86 svm = signxx(i)**2 + three*(signxy(i)**2 + signzx(i)**2)
88 epsf = d3 * p /
max(em20, svm)
89 epsf = d1 + d2 * exp(epsf)
90 IF (d4 /= zero) epsf = epsf * (one + d4*log(
max(one,epsd(i)/epsd0)))
91 IF (d5 /= zero) epsf = epsf * (one + d5*tstar(i))
92 epsf =
max(epsf,epsf_min)
93 IF (epsf > zero) dfmax(i) = dfmax(i) + dpla(i) / epsf
94 IF (dfmax(i) >= one)
THEN
100 uelr(i) = uelr(i) + one
101 IF (nint(uelr(i)) >= failip)
THEN
112 WRITE(iout, 1000) ngl(i),ipt,time
113 WRITE(istdo,1000) ngl(i),ipt,time
114#include "lockoff.inc"
115 IF (off(i) == four_over_5)
THEN
116 WRITE(iout, 1111) ngl(i),time
117 WRITE(istdo,1111) ngl(i),time
122 1000
FORMAT(5x,
'FAILURE (JC) OF BEAM ELEMENT ',i10,1x,
',INTEGRATION PT',i5
123 . ,2x,
'AT TIME :',1pe12.4)
125 1111
FORMAT(1x,
'DELETED BEAM ELEMENT ',i10,1x,'at time :
',1PE12.4)
subroutine fail_johnson_ib(nel, ngl, ipt, nuparam, uparam, time, tstar, signxx, signxy, signzx, dpla, epsd, off, foff, dfmax, tdel, iout, istdo, uelr, npg)