31 SUBROUTINE chsti3(JFT ,JLT,THK,HOUR,OFF ,PX1,
32 2 PX2,PY1,PY2 ,SIGY,IXC,DT1C,
33 3 SSP,RHO,STI ,Z2 ,EANI,STIR,
34 4 SHF,THK0,THK02,VISCMX,G ,A11 ,
35 5 H1 ,H2 ,H3 ,YM ,NU , ALPE,
36 6 VHX ,VHY ,VX1 ,VX2 ,VX3 ,VX4 ,VY1 ,
37 7 VY2 ,VY3 ,VY4,VZ1 ,VZ2 ,VZ3 ,VZ4 ,AREA,
38 8 H11 ,H12 ,H13 ,H21 ,H22 ,H23 ,H31 ,H32 ,H33 ,
39 9 B11 ,B12 ,B13 ,B14 ,B21 ,B22 ,B23 ,B24 ,
40 A RX1 ,RX2 ,RX3 ,RX4 ,RY1 ,RY2 ,RY3 ,RY4,
42 C IHBE ,NFT ,ISMSTR ,SRH3 ,IGTYP ,
44 use element_mod ,
only : nixc
48#include "implicit_f.inc"
60#include "remesh_c.inc"
69 INTEGER IXC(NIXC,*),IPARTC(*), JFT, JLT,
73 . THK(*), HOUR(NEL,5), OFF(*),EANI(*),PARTSAV(NPSAV,*),
74 . PX1(*), PX2(*), PY1(*), PY2(*), SIGY(*),DT1C(*),STIR(*),
75 . SSP(MVSIZ), RHO(MVSIZ),STI(MVSIZ),Z2(MVSIZ), SHF(MVSIZ),
76 . THK0(MVSIZ),VISCMX(MVSIZ), ALPE(MVSIZ), (*)
79 . B11(MVSIZ), B12(MVSIZ), B13(MVSIZ), B14(MVSIZ),
80 . B21(MVSIZ), B22(MVSIZ), B23(MVSIZ), B24(MVSIZ),
81 . h11(mvsiz), h12(mvsiz), h13(mvsiz), h14(mvsiz),
82 . h21(mvsiz), h22(mvsiz), h23(mvsiz), h24(mvsiz),
83 . h31(mvsiz), h32(mvsiz), h33(mvsiz), h34(mvsiz),
84 . rx1(mvsiz), rx2(mvsiz), rx3(mvsiz), rx4(mvsiz),
85 . ry1(mvsiz), ry2(mvsiz), ry3(mvsiz), ry4(mvsiz),
86 . vx1(mvsiz), vx2(mvsiz), vx3(mvsiz), vx4(mvsiz),
87 . vy1(mvsiz), vy2(mvsiz), vy3(mvsiz), vy4(mvsiz),
88 . vz1(mvsiz), vz2(mvsiz), vz3(mvsiz), vz4(mvsiz),
89 .
area(mvsiz),vhx(mvsiz),
90 . h1(mvsiz), h2(mvsiz), h3(mvsiz), vhy(mvsiz),
91 . ym(mvsiz), nu(mvsiz), thk02(mvsiz),srh3(*)
98 . GAMA1(MVSIZ), GAMA2(MVSIZ), GAMA3(MVSIZ), GAMA4(MVSIZ),
99 . H3L(MVSIZ), H3Q(MVSIZ),
100 . HG1(MVSIZ), HG2(MVSIZ) ,HP1(MVSIZ), HP2(MVSIZ) ,
101 . G(MVSIZ) , B1(MVSIZ), B2(MVSIZ),
102 . A11(MVSIZ) ,EHOU(MVSIZ),
103 . PX1V, PX2V, PY1V, PY2V,VV,
104 . SHFPR3, FAC, (MVSIZ), HOUR2(MVSIZ), HOUR3(MVSIZ),
105 . EHOURT, FMAX(MVSIZ),
112 IF(ismstr/=3.AND.ihbe/=0)
THEN
118 gama1(i)= off(i)*( one - px1v-py1v)
119 gama3(i)= off(i)*( one + px1v+py1v)
120 gama2(i)= off(i)*(-one - px2v-py2v)
121 gama4(i)= off(i)*(-one + px2v+py2v)
136 shfpr3 = shf(i)/(three*(one+nu(i)))
137 fac = fourth*rho(i)*thk02(i)
138 h3l(i) = h3(i)*zep072169*fac*
area(i)
139 h3q(i) = h3(i)*h3l(i)*hundred
140 h3l(i) = h3l(i)*ssp(i)
142 fac = ym(i)*thk0(i)*dt1c(i)*one_over_8
144 b1(i) = px1(i)*px1(i)+py1(i)*py1(i)
145 b2(i) = px2(i)*px2(i)+py2(i)*py2(i)
146 h2(i) = hp2(i) * fac*thk02(i)*shfpr3/(b1(i)+b2(i))
152 IF(ixc(4,i)==ixc(5,i))
THEN
165 IF(nodadt/=0.OR.idt1sh==1.OR.idtmins==2)
THEN
167 scale(i) = +
max(gama1(i)*gama1(i),gama2(i)*gama2(i),
168 . gama3(i)*gama3(i),gama4(i)*gama4(i)) *
169 . dt1c(i)*
max(h1(i),h2(i),h3l(i)) /
170 .
max(dt1c(i)*dt1c(i),em20)
171 sti(i)=sti(i) + scale(i)
176 . ((igtyp == 11 .OR. igtyp == 17 .OR. igtyp == 51)
177 . .AND. igmat > 0))
THEN
180 IF (off(i)==zero)
THEN
184 vv = viscmx(i) * viscmx(i) * alpe(i)
185 fac =
max(b1(i),b2(i))/(
area(i) * vv)
186 sti(i) = sti(i) + fac * thk0(i) * a11(i)
187 stir(i) = fac * a11r(i)*thk0(i)*thk02(i)*one_over_12 +
188 . fac * a11(i) *thk0(i)*
area(i) *one_over_9 +
189 . scale(i)*(thk02(i)* one_over_12 +
area(i)*one_over_9)
194 IF (off(i)==zero)
THEN
198 vv = viscmx(i) * viscmx(i) * alpe(i)
199 fac =
max(b1(i),b2(i))/(
area(i) * vv)
200 sti(i) = sti(i) + fac * thk0(i) * a11(i)
201 stir(i) = fac * a11r(i)*thk0(i)*thk02(i)* one_over_12 +
202 . scale(i)*thk02(i)* one_over_12
209 IF (off(i)==zero)
THEN
213 vv = viscmx(i) * viscmx(i) * alpe(i)
214 sti(i) = sti(i) +
max(b1(i),b2(i))
215 . * thk0(i) * a11(i) / (
area(i) * vv)
216 stir(i) = sti(i) * (thk02(i)* one_over_12 +
area(i) * one_over_9)
222 IF (off(i)==zero)
THEN
226 vv = viscmx(i) * viscmx(i) * alpe(i)
227 sti(i) = sti(i) +
max(b1(i),b2(i))
228 . * thk0(i) * a11(i) / (
area(i) * vv)
229 stir(i) = sti(i) * thk02(i)* one_over_12
239 hg1(i)=vx1(i)*gama1(i)+vx2(i)*gama2(i)
240 . +vx3(i)*gama3(i)+vx4(i)*gama4(i)
241 hg2(i)=vy1(i)*gama1(i)+vy2(i)*gama2(i)
242 . +vy3(i)*gama3(i)+vy4(i)*gama4(i)
246 hour(i,1)=hour(i,1)+hg1(i)*h1(i)
247 hour(i,2)=hour(i,2)+hg2(i)*h1(i)
248 fmax(i) = half*sigy(i)*thk0(i)*sqrt(
area(i))*hp1(i)
249 hour(i,1)=sign(
min( abs(hour(i,1)),fmax(i) ) , hour(i,1))
250 hour(i,2)=sign(
min( abs(hour(i,2)),fmax(i) ) , hour(i,2))
252 h11(i)=hour1(i)*gama1(i)
253 h12(i)=hour1(i)*gama2(i)
254 h13(i)=hour1(i)*gama3(i)
255 h14(i)=hour1(i)*gama4(i)
257 h21(i)=hour2(i)*gama1(i)
258 h22(i)=hour2(i)*gama2(i)
259 h23(i)=hour2(i)*gama3(i)
260 h24(i)=hour2(i)*gama4(i)
261 ehou(i) = hour1(i)*hg1(i) + hour2(i)*hg2(i)
268 hg1(i)=vz1(i)*gama1(i)+vz2(i)*gama2(i)
269 . +vz3(i)*gama3(i)+vz4(i)*gama4(i)
272 hour(i,3)=hour(i,3)+hg1(i)*h2(i)
273 fmax(i) = fourth*sigy(i)*thk0(i)*thk0(i)*hp2(i)
274 hour(i,3)=sign(
min( abs(hour(i,3)),fmax(i) ) , hour(i,3))
276 h31(i)=hour3(i)*gama1(i)
277 h32(i)=hour3(i)*gama2(i)
278 h33(i)=hour3(i)*gama3(i)
279 h34(i)=hour3(i)*gama4(i)
280 ehou(i) = ehou(i) + hour3(i)*hg1(i)
287 hg1(i)=rx1(i)-rx2(i)+rx3(i)-rx4(i)
288 hg2(i)=ry1(i)-ry2(i)+ry3(i)-ry4(i)
292 hour(i,4)=hg1(i)*(h3l(i)+h3q(i)*abs(hg1(i)))
293 hour(i,5)=hg2(i)*(h3l(i)+h3q(i)*abs(hg2(i)))
294 ehou(i) = ehou(i) + hour(i,4)*hg1(i) + hour(i,5)*hg2(i)
295 ehou(i) = dt1c(i) * ehou(i)*off(i)
296 ehourt = ehourt + ehou(i)
297 b11(i)= hour(i,4)*off(i)
298 b12(i)=-hour(i,4)*off(i)
299 b13(i)= hour(i,4)*off(i)
300 b14(i)=-hour(i,4)*off(i)
301 b21(i)= hour(i,5)*off(i)
302 b22(i)=-hour(i,5)*off(i)
303 b23(i)= hour(i,5)*off(i)
304 b24(i)=-hour(i,5)*off(i)
309 partsav(8,mx)=partsav(8,mx) + ehou(i)
313 ehour = ehour + ehourt
316 eani(nft+numels+i) = eani(nft+numels+i)+ehou(i)
subroutine chsti3(jft, jlt, thk, hour, off, px1, px2, py1, py2, sigy, ixc, dt1c, ssp, rho, sti, z2, eani, stir, shf, thk0, thk02, viscmx, g, a11, h1, h2, h3, ym, nu, alpe, vhx, vhy, vx1, vx2, vx3, vx4, vy1, vy2, vy3, vy4, vz1, vz2, vz3, vz4, area, h11, h12, h13, h21, h22, h23, h31, h32, h33, b11, b12, b13, b14, b21, b22, b23, b24, rx1, rx2, rx3, rx4, ry1, ry2, ry3, ry4, ipartc, partsav, ihbe, nft, ismstr, srh3, igtyp, igmat, a11r, nel)