34 1 NEL ,NUPARAM,NUVAR ,NFUNC ,IFUNC ,NPF ,
35 2 TF ,TIME ,TIMESTEP,UPARAM ,RHO0 ,RHO ,
37 4 EPSPXX ,EPSPYY ,EPSPZZ ,EPSPXY ,EPSPYZ ,EPSPZX ,
38 5 DEPSXX ,DEPSYY ,DEPSZZ ,DEPSXY ,DEPSYZ ,DEPSZX ,
39 6 EPSXX ,EPSYY ,EPSZZ ,EPSXY ,EPSYZ ,EPSZX ,
40 7 SIGOXX ,SIGOYY ,SIGOZZ ,SIGOXY ,SIGOYZ ,SIGOZX ,
41 8 SIGNXX ,SIGNYY ,SIGNZZ ,SIGNXY ,SIGNYZ ,SIGNZX ,
42 9 SIGVXX ,SIGVYY ,SIGVZZ ,SIGVXY ,SIGVYZ ,SIGVZX ,
43 A SOUNDSP,VISCMAX,UVAR ,OFF ,NGL ,IPT ,
48#include "implicit_f.inc"
100#include "scr05_c.inc"
101#include "com08_c.inc"
102#include "units_c.inc"
107 INTEGER NEL, NUPARAM, NUVAR,IPT,
108 . NGL(NEL),MAT(NEL),IPM(NPROPMI,*)
110 . TIME,TIMESTEP,UPARAM(*),
111 . RHO(NEL),RHO0(NEL),VOLUME(NEL),EINT(NEL),
112 . EPSPXX(NEL),EPSPYY(NEL),EPSPZZ(NEL),
113 . EPSPXY(),EPSPYZ(NEL),EPSPZX(NEL),
114 . DEPSXX(NEL),DEPSYY(NEL),DEPSZZ(NEL),
115 . DEPSXY(NEL),DEPSYZ(NEL),DEPSZX(NEL),
116 . EPSXX(NEL) ,EPSYY(NEL) ,EPSZZ(NEL) ,
117 . EPSXY(NEL) ,EPSYZ(NEL) ,EPSZX(NEL) ,
118 . sigoxx(nel),sigoyy(nel),sigozz(nel),
119 . sigoxy(nel),sigoyz(nel),sigozx(nel),
125 . signxx(nel),signyy(nel),signzz(nel),
126 . signxy(nel),signyz(nel),signzx(nel),
127 . sigvxx(nel),sigvyy(nel),sigvzz(nel),
128 . sigvxy(nel),sigvyz(nel),sigvzx(nel),
129 . soundsp(nel),viscmax(nel)
134 . uvar(nel,nuvar), off(nel)
138 INTEGER NPF(*), NFUNC, IFUNC(NFUNC)
152 INTEGER I,J,IADBUF,IF1,IF2,AUX,IC,II,K,
153 . IAD1(MVSIZ),IPOS1(MVSIZ),ILEN1(MVSIZ),
157 . E11,E22,E33,G12,G23,G31,
158 . Y11,Y22,Y33,Y12,Y23,Y31,EP1,EP2,EP3,EP4,EP5,EP6,
159 . YC(MVSIZ),FAC1(MVSIZ),FAC2(MVSIZ),
160 . FAC3(MVSIZ),FAC4(MVSIZ),FAC5(MVSIZ),FAC6(MVSIZ),
161 . DYDX,DYDXV(MVSIZ),EP(MVSIZ,6),EPC(MVSIZ),
162 . EMX11,EMX22,EMX33,EMX12,EMX23,EMX31,AMUV
177 iadbuf = ipm(7,mat(i))
179 e22 = uparam(iadbuf+1)
180 e33 = uparam(iadbuf+2)
181 g12 = uparam(iadbuf+3)
182 g23 = uparam(iadbuf+4)
183 g31 = uparam(iadbuf+5)
185 signxx(i) = sigoxx(i) + e11 * depsxx(i)
186 signyy(i) = sigoyy(i) + e22 * depsyy(i)
187 signzz(i) = sigozz(i) + e33 * depszz(i)
188 signxy(i) = sigoxy(i) + g12 * depsxy(i)
189 signyz(i) = sigoyz(i) + g23 * depsyz(i)
190 signzx(i) = sigozx(i) + g31 * depszx(i)
192 soundsp(i) = sqrt(
max(e11,e22,e33,g12,g23,g31)/rho0(i))
199 iadbuf = ipm(7,mat(i)) - 1
200 emx11 = uparam(iadbuf+9)
201 emx22 = uparam(iadbuf+10)
202 emx33 = uparam(iadbuf+11)
203 emx12 = uparam(iadbuf+12)
204 emx23 = uparam(iadbuf+13)
205 emx31 = uparam(iadbuf+14)
206 fac1(i) = uparam(iadbuf+15)
207 fac2(i) = uparam(iadbuf+16)
208 fac3(i) = uparam(iadbuf+17)
209 fac4(i) = uparam(iadbuf+18)
210 fac5(i) = uparam(iadbuf+19)
211 fac6(i) = uparam(iadbuf+20)
212 IF((epsxx(i)>emx11.OR.
215 . abs(epsxy(i)/two)>emx12.OR.
216 . abs(epsyz(i)/two)>emx23.OR.
217 . abs(epszx(i)/two)>emx31).AND.off(i)/=zero)
THEN
226 WRITE(iout, 1000) ngl(indx(j))
227 WRITE(istdo,1100) ngl(indx(j)),tt
228#include "lockoff.inc"
241 iadbuf = ipm(7,mat(i))
242 if1=nint(uparam(iadbuf+6))
243 if2=nint(uparam(iadbuf+7))
267 nfunc = ipm(10,mat(i))
269 aux = ipm(10+j,mat(i))
273 ipos1(ic) = nint(uvar(i,j))
275 ilen1(ic) = npf(aux+1) / 2 - iad1(ic) - ipos1(ic)
282 CALL vinter2dp(tf,iad1,ipos1,ilen1,ic,epc,dydxv,yc)
284 CALL vinter2(tf,iad1,ipos1,ilen1,ic,epc,dydxv,yc)
288#include "vectorize.inc"
292 signxx(i)=sign(
min(abs(signxx(i)),yc(ii)*fac1(i)),signxx(i))
295#include "vectorize.inc"
299 signyy(i)=sign(
min(abs(signyy(i)),yc(ii)*fac2(i)),signyy(i))
302#include "vectorize.inc"
306 signzz(i)=sign(
min(abs(signzz(i)),yc(ii)*fac3(i)),signzz(i))
309#include "vectorize.inc"
313 signxy(i)=sign(
min(abs(signxy(i)),yc(ii)*fac4(i)),signxy(i))
316#include "vectorize.inc"
320 signyz(i)=sign(
min(abs(signyz(i)),yc(ii)*fac5(i)),signyz(i))
323#include "vectorize.inc"
327 signzx(i)=sign(
min(abs(signzx(i)),yc(ii)*fac6(i)),signzx(i))
333 1000
FORMAT(1x,
'RUPTURE OF SOLID ELEMENT NUMBER ',i10)
334 1100
FORMAT(1x,
'RUPTURE OF SOLID ELEMENT NUMBER ',i10,
335 .
' AT TIME :',g11.4)
subroutine sigeps28(nel, nuparam, nuvar, nfunc, ifunc, npf, tf, time, timestep, uparam, rho0, rho, volume, eint, epspxx, epspyy, epspzz, epspxy, epspyz, epspzx, depsxx, depsyy, depszz, depsxy, depsyz, depszx, epsxx, epsyy, epszz, epsxy, epsyz, epszx, sigoxx, sigoyy, sigozz, sigoxy, sigoyz, sigozx, signxx, signyy, signzz, signxy, signyz, signzx, sigvxx, sigvyy, sigvzz, sigvxy, sigvyz, sigvzx, soundsp, viscmax, uvar, off, ngl, ipt, ipm, mat, amu)