30 2 EINT, AREA, AL0, PLA,
36#include "implicit_f.inc"
52 INTEGER,
INTENT(IN) :: NEL
53 INTEGER MAT(MVSIZ),(MVSIZ),NGL(MVSIZ)
55 . PM(NPROPM,*),GEO(NPROPG,*),OFF(*),FOR(*),EINT(*),
63 . YM(MVSIZ),GAP(MVSIZ),
64 . ca(mvsiz),cb(mvsiz),cn(mvsiz),
ymax(mvsiz),
65 . epmx(mvsiz),yld(mvsiz),ff(mvsiz),hh(mvsiz),
66 . aa(mvsiz),pr(mvsiz),yma
81 icc(i) =nint(pm(49,mat(i)))
86 IF (gap(i) > zero .AND. al(i) <= (al0(i)-gap(i))) off(i)=one
90 eint(i)=eint(i)+for(i)*eps(i)*al(i)*dt1*half
94 area(i)=
area(i)*(one - two*pr(i)*eps(i)*dt1*off(i))
99 for(i)=for(i)+yma*eps(i)*dt1
104 yld(i)=ca(i)+cb(i)*pla(i)**cn(i)
110 IF (cn(i) == one)
THEN
113 IF (pla(i) /= zero)
THEN
114 hh(i)= cb(i)*cn(i)/pla(i)**(one -cn(i))
122 aa(i) = (ym(i)+hh(i))*
area(i)
124 ff(i) = abs(for(i))-yld(i)*
area(i)
125 ff(i) =
max(zero,ff(i))
129 pla(i)=pla(i)+ff(i)/aa(i)
133 for(i)=cvmgt(sign(yld(i)*
area(i),for(i)),for(i),ff(i) > zero)
139 IF (off(i) < em01) off(i)=zero
140 IF (off(i) < one) off(i)=off(i)*four_over_5
144 IF (off(i) < one) cycle
145 IF (pla(i) < epmx(i)) cycle
146 off(i)=off(i)*four_over_5
153 WRITE(iout,1000) ngl(i)
154 WRITE(istdo,1100) ngl(i),tt
155#include "lockoff.inc"
160 for(i)= for(i)*off(i)
164 eint(i)=eint(i)+for(i)*eps(i)*al(i)*dt1*half
167 1000
FORMAT(1x,
'-- RUPTURE OF TRUSS ELEMENT NUMBER ',i10)
168 1100
FORMAT(1x,
'-- RUPTURE OF TRUSS ELEMENT :',i10,
' AT TIME :',g11.4)
subroutine ymax(idn, fac, npc, pld, stiffmin, stiffmax, stiffini, stiffavg)
subroutine m2lawt(pm, geo, off, for, eint, area, al0, pla, sti, mat, mgm, ngl, eps, al, nel)