29 SUBROUTINE chsti3(JFT ,JLT,THK,HOUR,OFF ,PX1,
30 2 PX2,PY1,PY2 ,SIGY,IXC,DT1C,
31 3 SSP,RHO,STI ,Z2 ,EANI,STIR,
32 4 SHF,THK0,THK02,VISCMX,G ,A11 ,
33 5 H1 ,H2 ,H3 ,YM ,NU , ALPE,
34 6 VHX ,VHY ,VX1 ,VX2 ,VX3 ,VX4 ,VY1 ,
35 7 VY2 ,VY3 ,VY4,VZ1 ,VZ2 ,VZ3 ,VZ4 ,AREA,
36 8 H11 ,H12 ,H13 ,H21 ,H22 ,H23 ,H31 ,H32 ,H33 ,
37 9 B11 ,B12 ,B13 ,B14 ,B21 ,B22 ,B23 ,B24 ,
38 A RX1 ,RX2 ,RX3 ,RX4 ,RY1 ,RY2 ,RY3 ,RY4,
40 C IHBE ,NFT ,ISMSTR ,SRH3 ,IGTYP ,
45#include "implicit_f.inc"
57#include "remesh_c.inc"
66 INTEGER IXC(NIXC,*),IPARTC(*), JFT, JLT,
67 . IHBE ,NFT ,ISMSTR,IGTYP,IGMAT,NEL
70 . THK(*), HOUR(NEL,5), OFF(*),EANI(*),PARTSAV(,*),
71 . PX1(*), PX2(*), PY1(*), PY2(*), SIGY(*),DT1C(*),STIR(*),
72 . SSP(MVSIZ), RHO(MVSIZ),STI(MVSIZ),Z2(MVSIZ), SHF(MVSIZ),
73 . THK0(MVSIZ),VISCMX(MVSIZ), ALPE(MVSIZ), A11R(*)
76 . B11(MVSIZ), B12(MVSIZ), B13(MVSIZ), B14(MVSIZ),
77 . B21(MVSIZ), B22(MVSIZ), B23(MVSIZ), B24(MVSIZ),
78 . h11(mvsiz), h12(mvsiz), h13(mvsiz), h14(mvsiz),
79 . h21(mvsiz), h22(mvsiz), h23(mvsiz), h24(mvsiz),
80 . h31(mvsiz), h32(mvsiz), h33(mvsiz), h34(mvsiz),
81 . rx1(mvsiz), rx2(mvsiz), rx3(mvsiz), rx4(mvsiz),
82 . ry1(mvsiz), ry2(mvsiz), ry3(mvsiz), ry4(mvsiz),
83 . vx1(mvsiz), vx2(mvsiz), vx3(mvsiz), vx4(mvsiz),
84 . vy1(mvsiz), vy2(mvsiz), vy3(mvsiz), vy4(mvsiz),
85 . vz1(mvsiz), vz2(mvsiz), vz3(mvsiz), vz4(mvsiz),
86 .
area(mvsiz),vhx(mvsiz),
87 . h1(mvsiz), h2(mvsiz), h3(mvsiz), vhy(mvsiz),
88 . ym(mvsiz), nu(mvsiz), thk02(mvsiz),srh3(*)
95 . GAMA1(MVSIZ), GAMA2(MVSIZ), GAMA3(MVSIZ), GAMA4(MVSIZ),
96 . H3L(MVSIZ), H3Q(MVSIZ),
97 . HG1(MVSIZ), HG2(MVSIZ) ,HP1(MVSIZ), HP2(MVSIZ) ,
98 . G(MVSIZ) , B1(MVSIZ), B2(MVSIZ),
99 . A11(MVSIZ) ,(MVSIZ),
100 . PX1V, PX2V, PY1V, PY2V, SSPHVL,ZZ2,VV,
101 . , FAC, BB, HOUR1(MVSIZ), HOUR2(MVSIZ), HOUR3(MVSIZ),
102 . , PX1VP,PX2VP,PY1VP,, FMAX(MVSIZ),
103 . HOUR1P,HOUR2P,HOUR3P,FMAX1,FMAXP1,FMAX2,FMAXP2,FMAXP,
109 IF(ismstr/=3.AND.ihbe/=0)
THEN
115 gama1(i)= off(i)*( one - px1v-py1v)
116 gama3(i)= off(i)*( one + px1v+py1v)
117 gama2(i)= off(i)*(-one - px2v-py2v)
118 gama4(i)= off(i)*(-one + px2v+py2v)
133 shfpr3 = shf(i)/(three*(one+nu(i)))
134 fac = fourth*rho(i)*thk02(i)
135 h3l(i) = h3(i)*zep072169*fac*
area(i)
136 h3q(i) = h3(i)*h3l(i)*hundred
137 h3l(i) = h3l(i)*ssp(i)
139 fac = ym(i)*thk0(i)*dt1c(i)*one_over_8
141 b1(i) = px1(i)*px1(i)+py1(i)*py1(i)
142 b2(i) = px2(i)*px2(i)+py2(i)*py2(i)
143 h2(i) = hp2(i) * fac*thk02(i)*shfpr3/(b1(i)+b2(i))
149 IF(ixc(4,i)==ixc(5,i))
THEN
162 IF(nodadt/=0.OR.idt1sh==1.OR.idtmins==2)
THEN
164 scale(i) = +
max(gama1(i)*gama1(i),gama2(i)*gama2(i),
165 . gama3(i)*gama3(i),gama4(i)*gama4(i)) *
166 . dt1c(i)*
max(h1(i),h2(i),h3l(i)) /
167 .
max(dt1c(i)*dt1c(i),em20)
168 sti(i)=sti(i) + scale(i)
173 . ((igtyp == 11 .OR. igtyp == 17 .OR. igtyp == 51)
174 . .AND. igmat > 0))
THEN
177 IF (off(i)==zero)
THEN
181 vv = viscmx(i) * viscmx(i) * alpe(i)
182 fac =
max(b1(i),b2(i))/(
area(i) * vv)
183 sti(i) = sti(i) + fac * thk0(i) * a11(i)
184 stir(i) = fac * a11r(i)*thk0(i)*thk02(i)*one_over_12 +
185 . fac * a11(i) *thk0(i)*
area(i) *one_over_9 +
186 . scale(i)*(thk02(i)* one_over_12 +
area(i)*one_over_9)
191 IF (off(i)==zero)
THEN
195 vv = viscmx(i) * viscmx(i) * alpe(i)
196 fac =
max(b1(i),b2(i))/(
area(i) * vv)
197 sti(i) = sti(i) + fac * thk0(i) * a11(i)
198 stir(i) = fac * a11r(i)*thk0(i)*thk02(i)* one_over_12 +
199 . scale(i)*thk02(i)* one_over_12
206 IF (off(i)==zero)
THEN
210 vv = viscmx(i) * viscmx(i) * alpe(i)
211 sti(i) = sti(i) +
max(b1(i),b2(i))
212 . * thk0(i) * a11(i) / (
area(i) * vv)
213 stir(i) = sti(i) * (thk02(i)* one_over_12 +
area(i) * one_over_9)
219 IF (off(i)==zero)
THEN
223 vv = viscmx(i) * viscmx(i) * alpe(i)
224 sti(i) = sti(i) +
max(b1(i),b2(i))
225 . * thk0(i) * a11(i) / (
area(i) * vv)
226 stir(i) = sti(i) * thk02(i)* one_over_12
236 hg1(i)=vx1(i)*gama1(i)+vx2(i)*gama2(i)
237 . +vx3(i)*gama3(i)+vx4(i)*gama4(i)
238 hg2(i)=vy1(i)*gama1(i)+vy2(i)*gama2(i)
239 . +vy3(i)*gama3(i)+vy4(i)*gama4(i)
243 hour(i,1)=hour(i,1)+hg1(i)*h1(i)
245 fmax(i) = half*sigy(i)*thk0(i)*sqrt(
area(i))*hp1(i)
246 hour(i,1)=sign(
min( abs(hour(i,1)),fmax(i) ) , hour(i,1))
247 hour(i,2)=sign(
min( abs(hour(i,2)),fmax(i) ) , hour(i,2))
249 h11(i)=hour1(i)*gama1(i)
250 h12(i)=hour1(i)*gama2(i)
251 h13(i)=hour1(i)*gama3(i)
252 h14(i)=hour1(i)*gama4(i)
254 h21(i)=hour2(i)*gama1(i)
255 h22(i)=hour2(i)*gama2(i)
256 h23(i)=hour2(i)*gama3(i)
257 h24(i)=hour2(i)*gama4(i)
258 ehou(i) = hour1(i)*hg1(i) + hour2(i)*hg2(i)
265 hg1(i)=vz1(i)*gama1(i)+vz2(i)*gama2(i)
266 . +vz3(i)*gama3(i)+vz4(i)*gama4(i)
269 hour(i,3)=hour(i,3)+hg1(i)*h2(i)
270 fmax(i) = fourth*sigy(i)*thk0(i)*thk0(i)*hp2(i)
271 hour(i,3)=sign(
min( abs(hour(i,3)),fmax(i) ) , hour(i,3))
273 h31(i)=hour3(i)*gama1(i)
274 h32(i)=hour3(i)*gama2(i)
275 h33(i)=hour3(i)*gama3(i)
276 h34(i)=hour3(i)*gama4(i)
277 ehou(i) = ehou(i) + hour3(i)*hg1(i)
284 hg1(i)=rx1(i)-rx2(i)+rx3(i)-rx4(i)
285 hg2(i)=ry1(i)-ry2(i)+ry3(i)-ry4(i)
289 hour(i,4)=hg1(i)*(h3l(i)+h3q(i)*abs(hg1(i)))
290 hour(i,5)=hg2(i)*(h3l(i)+h3q(i)*abs(hg2(i)))
291 ehou(i) = ehou(i) + hour(i,4)*hg1(i) + hour(i,5)*hg2(i)
292 ehou(i) = dt1c(i) * ehou(i)*off(i)
293 ehourt = ehourt + ehou(i)
294 b11(i)= hour(i,4)*off(i)
295 b12(i)=-hour(i,4)*off(i)
296 b13(i)= hour(i,4)*off(i)
297 b14(i)=-hour(i,4)*off(i)
298 b21(i)= hour(i,5)*off(i)
299 b22(i)=-hour(i,5)*off(i)
300 b23(i)= hour(i,5)*off(i)
301 b24(i)=-hour(i,5)*off(i)
306 partsav(8,mx)=partsav(8,mx) + ehou(i)
310 ehour = ehour + ehourt
313 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)