35 . F11,F21,F31,F12,F22,F32,F13,F23,F33,F14,F24,F34,
36 . F15,F25,F35,F16,F26,F36,F17,F27,F37,F18,F28,F38,
38 . PX1H1, PX1H2, PX2H1, PX2H2,
39 . PX3H1, PX3H2, PX4H1, PX4H2,
41 . EINT,RHO,Q,EPLAS,EPSD,
42 . EPSDM,SIGM,EINTM,EINTO,RHOM,QM,EPLASM,
43 . NU,ZI,WI,VOLG,MM,OFF,
44 . VOL0,VOL0G,G_PLA,G_EPSD,NEL,SVIS,
45 . G_WPLA,L_WPLA, G_WPLA_FLAG)
49#include
"implicit_f.inc"
57 INTEGER G_PLA,G_EPSD,NEL
61 . PX1(*), PX2(*), PX3(*), PX4(*),
62 . PY1(*), (*), PY3(*), PY4(*),
63 . PZ1(*), PZ2(*), PZ3(*), PZ4(*),
64 . PX5(*), PX6(*), PX7(*), PX8(*),
65 . PY5(*), PY6(*), PY7(*), PY8(*),
66 . PZ5(*), PZ6(*), PZ7(*), PZ8(*),
67 . F11(*),F21(*),F31(*),F12(*),F22(*),F32(*),
68 . F13(*),F23(*),F33(*),F14(*),F24(*),F34(*),
69 . F15(*),F25(*),F35(*),F16(*),F26(*),F36(*),
70 . F17(*),F27(*),F37(*),F18(*),F28(
75 . eint(*),rho(*),q(*),eplasm(*),eplas(*),
76 . sigm(nel,6),eintm(*),einto(*),rhom(*),qm(*),epsd(*),epsdm(*),
77 . nu(*),zi,wi,volg(*),mm(mvsiz,2),off(*),
79 my_real,
DIMENSION(MVSIZ,6),
INTENT(INOUT) :: svis
80 INTEGER,
INTENT(IN) :: G_WPLA_FLAG
81 my_real,
DIMENSION(NEL*G_WPLA_FLAG),
INTENT(INOUT) :: G_WPLA
82 my_real,
DIMENSION(NEL*G_WPLA_FLAG),
INTENT(IN) :: L_WPLA
89 . (MVSIZ), S2(), S3(MVSIZ),
90 . S4(MVSIZ), S5(MVSIZ), S6(MVSIZ),
91 . RX1(MVSIZ), RY1(MVSIZ), SX1(MVSIZ), SY1(MVSIZ),
92 . SS1,SS2,SS3,SVM0,FINT,FINT1,FINT2,
93 . XH1I,XH2I,YH1I,YH2I,NU1(MVSIZ),FAC(MVSIZ)
96 s1(i)=(sig(i,1)+svis(i,1)-qvis(i))*vol(i)
97 s2(i)=(sig(i,2)+svis(i,2)-qvis(i))*vol(i)
98 s3(i)=(sig(i,3)+svis(i,3)-qvis(i))*vol(i)
99 s4(i)=(sig(i,4)+svis(i,4))*vol(i)
100 s5(i)=(sig(i,5)+svis(i,5))*vol(i)
101 s6(i)=(sig(i,6)+svis(i,6))*vol(i)
104 fint=s1(i)*px1(i)+s4(i)*py1(i)+s6(i)*pz1(i)
107 fint=s2(i)*py1(i)+s4(i)*px1(i)+s5(i)*pz1(i)
110 fint=s3(i)*pz1(i)+s6(i)*px1(i)+s5(i)*py1(i)
114 fint=s1(i)*px2(i)+s4(i)*py2(i)+s6(i)*pz2(i)
117 fint=s2(i)*py2(i)+s4(i)*px2(i)+s5(i)*pz2(i)
120 fint=s3(i)*pz2(i)+s6(i)*px2(i)+s5(i)*py2(i)
124 fint=s1(i)*px3(i)+s4(i)*py3(i)+s6(i)*pz3(i)
127 fint=s2(i)*py3(i)+s4(i)*px3(i)+s5(i)*pz3(i)
130 fint=s3(i)*pz3(i)+s6(i)*px3(i)+s5(i)*py3(i)
134 fint=s1(i)*px4(i)+s4(i)*py4(i)+s6(i)*pz4(i)
137 fint=s2(i)*py4(i)+s4(i)*px4(i)+s5(i)*pz4(i)
140 fint=s3(i)*pz4(i)+s6(i)*px4(i)+s5(i)*py4(i)
150 nu1(i) = nu(i)/(one -nu(i))
155 xh1i =-ry1(i)*px1h1(i)
156 xh2i = sy1(i)*px1h2(i)
157 yh1i = rx1(i)*px1h1(i)
158 yh2i =-sx1(i)*px1h2(i)
159 fint=s1(i)*(xh1i+xh2i)-nu(i)*xh1i*s2(i)
160 fint=fint-(nu1(i)*xh2i+nu(i)*xh1i)*s3(i)+s4(i)*(yh1i+yh2i)
163 fint=s2(i)*(yh1i+yh2i)-nu(i)*yh2i*s1(i)
164 fint=fint-(nu(i)*yh2i+nu1(i)*yh1i)*s3(i)+s4(i)*(xh1i+xh2i)
167 fint= s6(i)*xh1i+s5(i)*yh2i
171 xh1i =-ry1(i)*px2h1(i)
172 xh2i = sy1(i)*px2h2(i)
173 yh1i = rx1(i)*px2h1(i)
174 yh2i =-sx1(i)*px2h2(i)
175 fint=s1(i)*(xh1i+xh2i)-nu(i)*xh1i*s2(i)
176 fint=fint-(nu(i)*xh1i+nu1(i)*xh2i)*s3(i)+s4(i)*(yh1i+yh2i)
179 fint=s2(i)*(yh1i+yh2i)-nu(i)*yh2i*s1(i)
180 fint=fint-(nu(i)*yh2i+nu1(i)*yh1i)*s3(i)+s4(i)*(xh1i+xh2i)
183 fint= s6(i)*xh1i+s5(i)*yh2i
187 xh1i =-ry1(i)*px3h1(i)
188 xh2i = sy1(i)*px3h2(i)
189 yh1i = rx1(i)*px3h1(i)
190 yh2i =-sx1(i)*px3h2(i)
191 fint=s1(i)*(xh1i+xh2i)-nu(i)*xh1i*s2(i)
192 fint=fint-(nu(i)*xh1i+nu1(i)*xh2i)*s3(i)+s4(i)*(yh1i+yh2i)
195 fint=s2(i)*(yh1i+yh2i)-nu(i)*yh2i*s1(i)
196 fint=fint-(nu(i)*yh2i+nu1(i)*yh1i)*s3(i)+s4(i)*(xh1i+xh2i)
199 fint= s6(i)*xh1i+s5(i)*yh2i
203 xh1i =-ry1(i)*px4h1(i)
204 xh2i = sy1(i)*px4h2(i)
205 yh1i = rx1(i)*px4h1(i)
206 yh2i =-sx1(i)*px4h2(i)
207 fint=s1(i)*(xh1i+xh2i)-nu(i)*xh1i*s2(i)
208 fint=fint-(nu(i)*xh1i+nu1(i)*xh2i)*s3(i)+s4(i)*(yh1i+yh2i)
211 fint=s2(i)*(yh1i+yh2i)-nu(i)*yh2i*s1(i)
212 fint=fint-(nu(i)*yh2i+nu1(i)*yh1i)*s3(i)+s4(i)*(xh1i+xh2i)
215 fint= s6(i)*xh1i+s5(i)*yh2i
223 xh1i =-one_over_8*ry1(i)
224 xh2i = one_over_8*sy1(i)
225 yh1i = one_over_8*rx1(i)
226 yh2i =-one_over_8*sx1(i)
228 fint1=(s1(i)-nu(i)*s2(i)-nu(i)*s3(i))*xh1i+s4(i)*yh1i
229 fint2=(s1(i)-nu1(i)*s3(i))*xh2i+s4(i)*yh2i
231 f11(i)=f11(i)-fint1-fint2
232 f12(i)=f12(i)-fint1+fint2
233 f13(i)=f13(i)+fint1+fint2
234 f14(i)=f14(i)+fint1-fint2
235 f15(i)=f15(i)+fint1+fint2
236 f16(i)=f16(i)+fint1-fint2
237 f17(i)=f17(i)-fint1-fint2
238 f18(i)=f18(i)-fint1+fint2
240 fint1=(s2(i)-nu1(i)*s3(i))*yh1i+s4(i)*xh1i
241 fint2=(s2(i)-nu(i)*s1(i)-nu(i)*s3(i))*yh2i+s4(i)*xh2i
243 f21(i)=f21(i)-fint1-fint2
246 f24(i)=f24(i)+fint1-fint2
247 f25(i)=f25(i)+fint1+fint2
248 f26(i)=f26(i)+fint1-fint2
249 f27(i)=f27(i)-fint1-fint2
250 f28(i)=f28(i)-fint1+fint2
255 f31(i)=f31(i)-fint1-fint2
256 f32(i)=f32(i)-fint1+fint2
257 f33(i)=f33(i)+fint1+fint2
258 f34(i)=f34(i)+fint1-fint2
259 f35(i)=f35(i)+fint1+fint2
260 f36(i)=f36(i)+fint1-fint2
261 f37(i)=f37(i)-fint1-fint2
262 f38(i)=f38(i)-fint1+fint2
268 ss1 =sig(i,1)-sig(i,2)
269 ss2 =sig(i,2)-sig(i,3)
270 ss3 =sig(i,1)-sig(i,3)
271 svm0 =(ss1*ss1+ss2*ss2+ss3*ss3)*half + three*(sig(i,4)*sig(i,4)
272 . + sig(i,5)*sig(i,5)+sig(i,6)*sig(i,6))
273 mm(i,1) =
max(svm0,mm(i,1))
274 mm(i,2) =
min(svm0,mm(i,2))
279 fac(i) = off(i)*vol(i)/volg(i)
280 sigm(i,1) = sigm(i,1) + fac(i) * sig(i,1)
281 sigm(i,2) = sigm(i,2) + fac(i) * sig(i,2)
282 sigm(i,3) = sigm(i,3) + fac(i) * sig(i,3)
283 sigm(i,4) = sigm(i,4) + fac(i) * sig(i,4)
284 sigm(i,5) = sigm(i,5) + fac(i) * sig(i,5)
285 sigm(i,6) = sigm(i,6) + fac(i) * sig(i,6)
286 rhom(i) = rhom(i) + fac(i) * rho(i)
287 eintm(i) = eintm(i)+off(i)*vol0(i)/vol0g(i)*(eint(i)-einto(i))
288 IF (g_wpla_flag > 0) g_wpla(i) = g_wpla(i) + l_wpla(i)
289 qm(i) = qm(i) + fac(i) * q(i)
294 eplasm(i) = eplasm(i) + fac(i
299 epsdm(i) = epsdm(i) + fac(i) * epsd(i)
subroutine scfint3(sig, px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, px5, px6, px7, px8, py5, py6, py7, py8, pz5, pz6, pz7, pz8, f11, f21, f31, f12, f22, f32, f13, f23, f33, f14, f24, f34, f15, f25, f35, f16, f26, f36, f17, f27, f37, f18, f28, f38, vol, qvis, px1h1, px1h2, px2h1, px2h2, px3h1, px3h2, px4h1, px4h2, rx0, ry0, sx0, sy0, eint, rho, q, eplas, epsd, epsdm, sigm, eintm, einto, rhom, qm, eplasm, nu, zi, wi, volg, mm, off, vol0, vol0g, g_pla, g_epsd, nel, svis, g_wpla, l_wpla, g_wpla_flag)