29 1 JFT ,JLT ,NUVAR ,UPARAM ,RHO0 ,
30 2 THK ,THK0 ,NEL ,SSP ,AREA ,
31 3 DEPSXX ,DEPSYY ,DEPSZZ ,
32 4 DEPSXY ,DEPSYZ ,DEPSZX ,
33 5 DEPBXX ,DEPBYY ,DEPBXY ,
35 7 SIGOXX ,SIGOYY ,SIGOZZ ,
36 8 SIGOXY ,SIGOYZ ,SIGOZX ,
37 9 MOMOXX ,MOMOYY ,MOMOXY ,
39 B SIGNXX ,SIGNYY ,SIGNZZ ,
40 C SIGNXY ,SIGNYZ ,SIGNZX ,
41 D MOMNXX ,MOMNYY ,MOMNXY ,
42 E MOMNPXZ ,MOMNPYZ ,TIME ,UVAR ,DT_INV ,
43 F VISCMX ,ALDT ,VOL0 ,IPM ,MAT ,
45 H NGL ,EZZAVG ,AREAPINCH)
49#include "implicit_f.inc"
61 INTEGER JFT,JLT,NEL,ISMSTR,NUVAR, IPM(NPROPMI,*),MAT(NEL),NGL(*)
64 . UPARAM(*),UVAR(NEL,NUVAR)
68 . DEPSXX(NEL),DEPSYY(NEL),DEPSZZ(NEL),
69 . DEPSXY(NEL),DEPSYZ(NEL),DEPSZX(NEL),
70 . DEPBXX(NEL),DEPBYY(NEL),DEPBXY(NEL),
71 . DEPPXZ(NEL),DEPPYZ(NEL),
72 . SIGOXX(NEL),SIGOYY(NEL),SIGOZZ(NEL),
73 . SIGOXY(NEL),SIGOYZ(NEL),SIGOZX(NEL)
74),MOMOYY(NEL),MOMOXY(NEL),
75 . MOMOPXZ(NEL),MOMOPYZ(NEL),
76 . AREA(NEL),THK(NEL),THK0(NEL),RHO0(NEL),DT_INV(NEL),ALDT(MVSIZ),
77 . VOL0(MVSIZ),PLA(NEL),DEGMB(MVSIZ),DEGFX(MVSIZ),EZZAVG(MVSIZ),
83 . signxx(nel),signyy(nel),signzz(nel),
84 . signxy(nel),signyz(nel),signzx(nel),
86 . momnpxz(nel),momnpyz(nel),
94 . PA1,PA2,PA3,PA4,PA5,
95 . E,NU,G,GS,SIGY,HM,SIGY0,
96 . MS,FS,D1,D2,D3,C1,C2,C3,
99 . vol(mvsiz),spheps(mvsiz),
100 . devdepsxx(mvsiz),devdepsyy(mvsiz),devdepszz(mvsiz),
101 . devdepsxy(mvsiz),devdepsyz(mvsiz),devdepsxz(mvsiz),
102 . b1(mvsiz),b2(mvsiz),b3(mvsiz),b4(mvsiz),b5(mvsiz),
103 . thk08(mvsiz),viscmx(mvsiz),thkx(mvsiz),mu(mvsiz),
104 . svonm(mvsiz),crit(mvsiz),sphsig(mvsiz),magdev(mvsiz),invmagdev(mvsiz),
105 . devsxx(mvsiz),devsyy(mvsiz),devszz(mvsiz),
106 . devsxy(mvsiz),devsyz(mvsiz),devszx(mvsiz),
107 . n1(mvsiz),n2(mvsiz),n3(mvsiz
108 . rr(mvsiz),unsyeq(mvsiz
109 . degsh_loc(mvsiz),degmb_loc(mvsiz),degfx_loc(mvsiz),dwelm(mvsiz),
110 . dwelf(mvsiz),dwpla(mvsiz),dpla(mvsiz),
112 . signdevxx(mvsiz),signdevyy(mvsiz),signdevzz(mvsiz),pnew(mvsiz),ptrial(mvsiz),
113 . pold(mvsiz),sigodevxx(mvsiz),sigodevyy(mvsiz),sigodevzz(mvsiz),dd(mvsiz)
117 IF (time == zero)
THEN
119 uvar(i,1) = areapinch(i)*thk(i)
127 nu = uparam(iadbuf+1)
128 sigy0 = uparam(iadbuf+2)
129 hm = uparam(iadbuf+3)
132 bulk = e/(three*(one-two*nu))
134 pa1 = e*(one-nu)/(one+nu)/(one-two*nu)
135 pa2 = e*nu/(one+nu)/(one-two*nu)
137 pa4 = (one+nu)*(one-two*nu)/(one-nu**2)/(one-nu)*pa1
138 pa5 = (one+nu)*(one-two*nu)/(one-nu**2)*pa2
145 thk08(i)= thk0(i)*one_over_12
155 thkx(i) = uvar(i,2)*(1+half*ezzavg(i))/(1-half*ezzavg(i))
158 vol(i) = areapinch(i)*thkx(i)
159 rho(i) = uvar(i,1)*rho0(i)/vol(i)
160 mu(i) = rho(i)/rho0(i)-one
168 degsh_loc(i) = sigoyz(i)*depsyz(i)+sigozx(i)*depszx(i
170 degmb_loc(i) = degmb(i) - degsh_loc(i)
172 degfx_loc(i) = degfx(i)
174 pold(i) = -third*(sigoxx(i)+sigoyy(i)+sigozz(i))
176 sigodevyy(i) = sigoyy(i)+pold(i)
177 sigodevzz(i) = sigozz(i)+pold(i)
179 dd(i) = third*(depsxx(i)+depsyy(i)+depszz(i))
181 signdevxx(i)=sigodevxx(i)+two*g*(depsxx(i)-dd(i))
182 signdevyy(i)=sigodevyy(i)+two*g*(depsyy(i)-dd(i))
183 signdevzz(i)=sigodevzz
185 signxy(i)=sigoxy(i)+g*depsxy(i)
186 signyz(i)=sigoyz(i)+gs*(depsyz(i)+zero*deppyz(i))
187 signzx(i)=sigozx(i)+gs*(depszx(i)+zero*deppxz(i))
190 momnyy(i)=momoyy(i)+b5(i)*depbxx(i)+b4(i)*depbyy(i)
191 momnxy(i)=momoxy(i)+b3(i)*depbxy(i)
192 momnpxz(i)=momopxz(i)+b3(i)*deppxz(i)
193 momnpyz(i)=momopyz(i)+b3(i)*deppyz(i)
195 ssp(i) = sqrt(pa1/rho0(i))
205 ms = momnxx(i)+momnyy(i)
208 . sqrt(
max(sixteen*(ms*ms + three*(momnxy(i)*momnxy(i) - momnxx(i)*momnyy(i)))
209 . +three*half*(signdevxx(i)**2+signdevyy(i)**2+signdevzz(i)**2+two*signxy(i)**2),em20))
210 sigy = sigy0 + hm*pla(i)
211 rr(i) =
min(one,sigy*unsyeq(i))
215 IF (rr(i) < one)
THEN
223 signxx(i) = signdevxx(i)*rr(i)-pnew(i)
224 signyy(i) = signdevyy(i)*rr(i)-pnew(i)
225 signxy(i) = signxy(i)*rr(i)
226 signzz(i) = signdevzz(i)*rr(i)-pnew(i)
228 d1 = signxx(i)-sigoxx(i)
229 d2 = signyy(i)-sigoyy(i)
230 d3 = signzz(i)-sigozz(i)
232 dwelm(i) = (signxx(i)+sigoxx(i))*(c1*d1+c2*d2+c2*d3)+
233 . (signyy(i)+sigoyy(i))*(c2*d1+c1*d2+c2*d3)+
235 . (signxy(i)+sigoxy(i))*(c3*(signxy(i)-sigoxy(i)))
236 degmb_loc(i) = degmb_loc(i)+signxx(i)*depsxx(i)+signyy(i)*depsyy(i)
237 . +signzz(i)*depszz(i)
238 . +signxy(i)*depsxy(i)
240 momnxx(i) = momnxx(i)*rr(i)
241 momnyy(i) = momnyy(i)*rr(i)
242 momnxy(i) = momnxy(i)*rr(i)
243 d1 = momnxx(i)-momoxx(i)
244 d2 = momnyy(i)-momoyy(i)
246 . (momnxx(i)+momoxx(i))*(c1*d1+c2*d2)
247 . +(momnyy(i)+momoyy(i))*(c2*d1+c1*d2)
248 . +(momnxy(i)+momoxy(i))*(c3*(momnxy(i)-momoxy(i))) )
249 degfx_loc(i) = degfx_loc(i)+ momnxx(i)*depbxx(i)+momnyy(i)*depbyy(i)
250 . +momnxy(i)*depbxy(i)
255 dwpla(i) = degmb_loc(i)+degfx_loc(i)*thk0(i)-dwelm(i)-dwelf(i)
259 dpla(i) =
max(zero,half*dwpla(i)/sigy)
260 pla(i) = pla(i) + dpla(i)
subroutine sigeps91gpinch(jft, jlt, nuvar, uparam, rho0, thk, thk0, nel, ssp, area, depsxx, depsyy, depszz, depsxy, depsyz, depszx, depbxx, depbyy, depbxy, deppxz, deppyz, sigoxx, sigoyy, sigozz, sigoxy, sigoyz, sigozx, momoxx, momoyy, momoxy, momopxz, momopyz, signxx, signyy, signzz, signxy, signyz, signzx, momnxx, momnyy, momnxy, momnpxz, momnpyz, time, uvar, dt_inv, viscmx, aldt, vol0, ipm, mat, pla, degmb, degfx, ngl, ezzavg, areapinch)