28 SUBROUTINE m27elas(JFT ,JLT ,PM ,SIG ,IMAT ,
29 2 DEPSXX ,DEPSYY ,DEPSXY ,DEPSYZ ,DEPSZX,
30 3 DAMT ,CRAK ,SHF ,NEL )
34#include "implicit_f.inc"
46 INTEGER JFT, JLT,IMAT,NEL
49 . pm(npropm,*),damt(nel,2),crak(nel,2),shf(*),
50 . depsxx(mvsiz),depsyy(mvsiz),depsxy(mvsiz),depsyz(mvsiz),
52 my_real,
INTENT(INOUT) :: sig(nel,5)
59 . e(mvsiz),nu(mvsiz),g(mvsiz),de1(mvsiz),de2(mvsiz),
60 . eel1(mvsiz),eel2(mvsiz),eel3(mvsiz),eel4(mvsiz),eel5(mvsiz),
61 . a11(mvsiz),a22(mvsiz),a12(mvsiz),epst1(mvsiz),epst2(mvsiz),
62 . epsm1(mvsiz),epsm2(mvsiz),dmax1(mvsiz),dmax2(mvsiz),
65#include "vectorize.inc"
70 epst1(i) = pm(60,imat)
71 epst2(i) = pm(61,imat)
72 epsm1(i) = pm(62,imat)
73 epsm2(i) = pm(63,imat)
74 dmax1(i) = pm(64,imat)
75 dmax2(i) = pm(65,imat)
83#include "vectorize.inc"
85 de1(i) = one -
max(zero,sign(damt(i,1),sig(i,1)))
86 de2(i) = one -
max(zero,sign(damt(i,2),sig(i,2)))
88 . +sign(half,de1(i)-one))*(half+sign(half,de2(i)-one))
89 eel1(i) = (sig(i,1)/de1(i)-nu(i)*sig(i,2)*scale1)/e(i)
90 eel2(i) = (sig(i,2)/de2(i)-nu(i)*sig(i,1)*scale1)/e(i)
91 eel3(i) = sig(i,3)/de1(i)/de2(i)/g(i)
92 eel4(i) = sig(i,4)/
max(de2(i)*g(i)*shf(i),em30)
93 eel5(i) = sig(i,5)/
max(de1(i)*g(i)*shf(i),em30)
99 eel1(i) = eel1(i)+depsxx(i)
100 eel2(i) = eel2(i)+depsyy(i)
101 eel3(i) = eel3(i)+depsxy(i)
102 eel4(i) = eel4(i)+depsyz(i)
103 eel5(i) = eel5(i)+depszx(i)
109 IF (damt(i,1) /= zero)
THEN
110 crak(i,1) = crak(i,1) + depsxx(i)
111 damt(i,1) =
max(damt(i,1),crak(i,1)/(epsm1(i)-epst1(i)))
112 damt(i,1) =
min(damt(i,1),dmax1(i))
117 IF (damt(i,2) /= zero)
THEN
118 crak(i,2) = crak(i,2) + depsyy(i)
119 damt(i,2) =
max(damt(i,2),crak(i,2)/(epsm2(i)-epst2(i)))
120 damt(i,2) =
min(damt(i,2),dmax2(i))
127 de1(i) = one -
max(zero,sign(damt(i,1),sig(i,1)))
128 de2(i) = one -
max(zero,sign(damt(i,2),sig(i,2)))
130 . +sign(half,de1(i)-one))*(half+sign(half,de2(i)-one))
131 scale2 = one-nu(i)*nu(i)*scale1
132 a11(i) = e(i)*de1(i)/scale2
133 a22(i) = e(i)*de2(i)/scale2
134 a12(i) = nu(i)*a11(i)*scale1
138 sig(i,1) = a11(i)*eel1(i)+a12(i)*eel2(i)
139 sig(i,2) = a12(i)*eel1(i)+a22(i)*eel2(i)
140 sig(i,3) = de1(i)*de2(i)*g(i)*eel3(i)
141 sig(i,4) = de2(i)*g(i)*shf(i)*eel4(i)
142 sig(i,5) = de1(i)*g(i)*shf(i)*eel5(i)
subroutine m27elas(jft, jlt, pm, sig, imat, depsxx, depsyy, depsxy, depsyz, depszx, damt, crak, shf, nel)