33 1 NEL ,NUPARAM ,NUVAR ,TIME ,TIMESTEP ,UPARAM ,
34 2 SIGNXX ,SIGNYY ,SIGNZZ ,SIGNXY ,SIGNYZ ,SIGNZX ,
35 3 NGL ,DPLA ,UVAR ,OFF ,DFMAX ,TDELE )
39#include "implicit_f.inc"
46 INTEGER NEL, NUPARAM, NUVAR,NGL(NEL)
47 my_real TIME,,UPARAM(*),
48 . SIGNXX(NEL),SIGNYY(NEL),SIGNZZ(NEL),
49 . signxy(nel),signyz(nel),signzx(nel),uvar(nel,nuvar),
50 . dpla(nel),off(nel),dfmax(nel),tdele(nel)
54 INTEGER I,J,INDX(MVSIZ),NINDX
56 . P,triaxs,SVM,SXX,SYY,SZZ,EPS_CR,F_RTCL
66 IF (off(i) < em01) off(i) = zero
67 IF (off(i) < one .AND. off(i) > zero) off(i) = off(i)*four_over_5
79 IF (off(i) == one .AND. dpla(i) /= zero)
THEN
81 ! computation of hydrostatic stress, von mises stress, and stress triaxiality
82 p = third*(signxx(i) + signyy(i) + signzz(i))
86 svm = half*(sxx**2 + syy**2 + szz**2)
87 . + signxy(i)**2 + signzx(i)**2 + signyz(i)**2
89 triaxs = p/
max(em20,svm)
90 IF (triaxs > one) triaxs = one
91 IF (triaxs < -one) triaxs = -one
94 IF (triaxs < -third)
THEN
96 ELSEIF ((triaxs >= -third).AND.(triaxs < third))
THEN
97 f_rtcl = two*((one+triaxs*sqrt(twelve-twenty7*(triaxs**2)))/
98 . (three*triaxs+sqrt(twelve-twenty7*(triaxs**2))))
100 f_rtcl = exp(-half)*exp(three_half*triaxs)
103 ! computation of damage variables
104 dfmax(i) = dfmax(i) + f_rtcl*dpla(i)/
max(eps_cr,em6)
105 dfmax(i) =
min(one,dfmax(i))
108 IF (dfmax(i) >= one .AND. off(i) == one)
THEN
122 WRITE(iout, 1000) ngl(i),time
123 WRITE(istdo,1100) ngl(i),time
124#include "lockoff.inc"
128 1000
FORMAT(1x,
'DELETE SOLID ELEMENT NUMBER (RTCL) el#',i10,
129 .
' AT TIME :',1pe12.4)
130 1100
FORMAT(1x,
'DELETE SOLID ELEMENT NUMBER (RTCL) el#',i10,
131 .
' AT TIME :',1pe12.4)
subroutine fail_rtcl_s(nel, nuparam, nuvar, time, timestep, uparam, signxx, signyy, signzz, signxy, signyz, signzx, ngl, dpla, uvar, off, dfmax, tdele)
subroutine mulaw(lft, llt, nft, mtn, jcvt, pm, off, sig, eint, rho, vol, strain, gama, uvar, bufmat, tf, npf, imat, ngl, nuvar, nvartmp, vartmp, geo, pid, epsd, wxx, wyy, wzz, jsph, ssp, voln, vis, d1, d2, d3, d4, d5, d6, dvol, sold1, sold2, sold3, sold4, sold5, sold6, rx, ry, rz, sx, sy, sz, tx, ty, tz, ismstr, mfxx, mfxy, mfxz, mfyx, mfyy, mfyz, mfzx, mfzy, mfzz, ipm, isorth, nel, matparam)