32 2 JFT ,JLT ,THK ,HOUR,OFF ,PX1 ,PX2 ,PY1 ,PY2 ,
33 3 IXC ,DT1C,SSP ,RHO ,STI ,VX1 ,VX2 ,VX3 ,VX4 ,VY1 ,
34 4 VY2 ,VY3 ,VY4 ,VZ1 ,VZ2 ,VZ3 ,VZ4 ,AREA,THK0,VHX ,
35 5 VHY ,SHF ,Z2 ,EANI,STIR,VISCMX,G ,A11 ,
36 6 H1 ,H2 ,H3 ,YM ,NU ,THK02 ,ALPE ,H11 ,
37 7 H12 ,H13 ,H21 ,H22 ,H23 ,H31 ,H32 ,H33 ,
38 8 B11 ,B12 ,B13 ,B14 ,B21 ,B22 ,B23 ,B24 ,
39 9 RX1 ,RX2 ,RX3 ,RX4 ,RY1 ,RY2 ,RY3 ,RY4 ,
41 B IHBE ,NFT ,ISMSTR,KFTS ,
42 C SRH1 ,SRH2 ,SRH3 ,IGTYP ,
44 use element_mod ,
only : nixc
48#include "implicit_f.inc"
60#include "remesh_c.inc"
70 INTEGER IXC(NIXC,*),IPARTC(*), JFT, JLT,
71 . IHBE ,NFT ,ISMSTR,KFTS,IGTYP,
75 . THK(*), HOUR(NEL,5), OFF(*),PARTSAV(NPSAV,*),
76 . PX1(*), PX2(*), PY1(*), PY2(*),DT1C(*),EANI(*),
77 . SSP(MVSIZ), RHO(MVSIZ),STI(MVSIZ),STIR(MVSIZ),
78 . VX1(MVSIZ), VX2(MVSIZ), VX3(MVSIZ), VX4(MVSIZ),
79 . VY1(MVSIZ), VY2(MVSIZ), VY3(MVSIZ), VY4(MVSIZ),
80 . VZ1(MVSIZ), VZ2(MVSIZ), VZ3(MVSIZ), VZ4(MVSIZ),
81 . AREA(MVSIZ),THK0(MVSIZ),VHX(MVSIZ), VHY(MVSIZ),
82 . shf(mvsiz),z2(mvsiz),viscmx(mvsiz),g(mvsiz),
83 . h1(mvsiz), h2(mvsiz), h3(mvsiz), a11(mvsiz),
84 . b11(mvsiz), b12(mvsiz), b13(mvsiz), b14(mvsiz),
85 . b21(mvsiz), b22(mvsiz), b23(mvsiz), b24(mvsiz),
86 . h11(mvsiz), h12(mvsiz), h13(mvsiz),
87 . h21(mvsiz), h22(mvsiz), h23(mvsiz),
88 . h31(mvsiz), h32(mvsiz), h33(mvsiz),
89 . rx1(mvsiz), rx2(mvsiz), rx3(mvsiz), rx4(mvsiz),
90 . ry1(mvsiz), ry2(mvsiz), ry3(mvsiz), ry4(mvsiz),
91 . thk02(mvsiz),ym(mvsiz), nu(mvsiz), alpe(mvsiz),
92 . srh1(*) ,srh2(*) ,srh3(*),a11r(*)
96 INTEGER I,MX,J, II, IC, JST(MVSIZ+1)
99 . H1L(MVSIZ), H2L(MVSIZ), H3L(MVSIZ), H1Q(MVSIZ), H2Q(MVSIZ),
100 . H3Q(MVSIZ), HG1(MVSIZ), HG2(MVSIZ),
101 . HH1(MVSIZ), (MVSIZ), HH3(MVSIZ),
102 . A1(MVSIZ), A2(MVSIZ), A3(MVSIZ), A4(MVSIZ),
103 . A5(MVSIZ), A6(MVSIZ), A7(MVSIZ), A8(MVSIZ),
104 . B1(MVSIZ), B2(MVSIZ), EHOU(MVSIZ),
106 . GAMA1(MVSIZ), GAMA2(MVSIZ), GAMA3(MVSIZ), GAMA4(MVSIZ)
108 . px1v, px2v, py1v, py2v, hvish1, hvish2,
109 . shfpr3, fac, ehourt,
110 . r0,r1,t2a,tsa,td,vv,
111 . hour1a,hour2a,hour3a,
113 . sr2d2,srshfpr3, inv9, inv12,scale(mvsiz)
116 sr2d2 = sqrt(two)* half
122 IF(ismstr/=1.AND.ismstr/=11.AND.ihbe>=1)
THEN
128 gama1(i)= off(i)*( one - px1v-py1v)
129 gama3(i)= off(i)*( one + px1v+py1v)
130 gama2(i)= off(i)*(-one - px2v-py2v)
131 gama4(i)= off(i)*(-one + px2v+py2v)
143 shfpr3 = shf(i)/(three*(one + nu(i)))
150 a2(i) = r0*sr2d2*srh1(i)
151 srshfpr3 = sqrt(shfpr3)
152 a3(i) = r1*hvish2*srshfpr3
153 a4(i) = r0*sr2d2*srh2(i)*srshfpr3
155 a5(i) = hh3(i)*r1*zep072169
156 hh3(i) = sr2d2*srh3(i)
157 a6(i) = hh3(i)*r0*zep072169
158 r0 = fourth*ym(i)*helas
160 a8(i) = h2(i)*r0*shfpr3
164 t2a = thk02(i)*area(i)
167 h1l(i) = a2(i)*ssp(i)*tsa
168 h2q(i) = a3(i)*thk02(i)
169 h2l(i) = a4(i)*ssp(i)*thk02(i)
171 h3l(i) = a6(i)*ssp(i)*t2a
174 b1(i) = px1(i)*px1(i)+py1(i)*py1(i)
175 b2(i) = px2(i)*px2(i)+py2(i)*py2(i)
176 hh2(i) = a8(i)*thk02(i)*td/(b1(i)+b2(i))
182 IF(ixc(4,i)==ixc(5,i))
THEN
199 IF(nodadt/=0.OR.idt1sh==1.OR.idtmins==2)
THEN
201 scale(i) =
max(gama1(i)*gama1(i),gama2(i)*gama2(i),
202 . gama3(i)*gama3(i),gama4(i)*gama4(i)) *
203 . dt1c(i)*
max(hh1(i)+h1l(i),hh2(i)+h2l(i),h3l(i))
205 sti(i) = sti(i) + scale(i)
210 . ((igtyp == 11 .OR. igtyp == 17 .OR. igtyp == 51)
211 . .AND. igmat > 0 ))
THEN
214 IF (off(i)==zero)
THEN
218 vv = viscmx(i) * viscmx(i) * alpe(i)
219 fac =
max(b1(i),b2(i))/(area(i) * vv)
220 sti(i) = sti(i) + fac * thk0(i) * a11(i)
222 . fac * a11(i)*thk0(i)*area(i)*inv9 +
223 . fac*scale(i)*(one_over_12*thk0(i)**2 + area
228 IF (off(i)==zero)
THEN
232 vv = viscmx(i) * viscmx(i) * alpe(i)
233 fac =
max(b1(i),b2(i))/(area(i) * vv)
234 sti(i) = sti(i) + fac * thk0(i) * a11(i)
235 stir(i) = fac * a11r(i)*one_over_12*thk0(i)**3 +
236 . fac*scale(i)*one_over_12*thk0(i)**2
243 IF (off(i)==zero)
THEN
247 vv = viscmx(i) * viscmx(i) * alpe(i)
248 sti(i) = sti(i) +
max(b1(i),b2(i))
249 . * thk0(i) * a11(i) / (area(i) * vv)
250 stir(i) = sti(i) * (thk02(i)*inv12 + area(i)*inv9)
256 IF (off(i)==zero)
THEN
260 vv = viscmx(i) * viscmx(i) * alpe(i)
261 sti(i) = sti(i) +
max(b1(i),b2(i))
262 . * thk0(i) * a11(i) / (area(i) * vv)
263 stir(i) = sti(i) * thk02(i)*inv12
272 IF(ismstr==1.OR.ismstr==11.OR.ihbe<1)
THEN
274 hg1(i)=(vx1(i)-vx2(i)+vx3(i)-vx4(i))*off(i)
275 hg2(i)=(vy1(i)-vy2(i)+vy3(i)-vy4(i))*off(i)
279 hg1(i)=vx1(i)*gama1(i)+vx2(i)*gama2(i)
280 . +vx3(i)*gama3(i)+vx4(i)*gama4(i)
281 hg2(i)=vy1(i)*gama1(i)+vy2(i)*gama2(i)
282 . +vy3(i)*gama3(i)+vy4(i)*gama4(i)
286 hour(i,1)=hour(i,1)+hg1(i)*hh1(i)
287 hour(i,2)=hour(i,2)+hg2(i)*hh1(i)
288 hour1a =hour(i,1)+hg1(i)*(h1l(i)+h1q(i)*abs(hg1(i)))
289 h11(i)=hour1a*gama1(i)
290 h12(i)=hour1a*gama2(i)
291 h13(i)=hour1a*gama3(i)
293 hour2a =hour(i,2)+hg2(i)*(h1l(i)+h1q(i)*abs(hg2(i)))
294 h21(i)=hour2a*gama1(i)
295 h22(i)=hour2a*gama2(i)
296 h23(i)=hour2a*gama3(i)
298 ehou(i) = hour1a*hg1(i) + hour2a*hg2(i)
304 IF(ismstr==1.OR.ismstr==11.OR.ihbe<1)
THEN
306 hg1(i)=(vz1(i)-vz2(i)+vz3(i)-vz4(i))*off(i)
310 hg1(i)=vz1(i)*gama1(i)+vz2(i)*gama2(i)
311 . +vz3(i)*gama3(i)+vz4(i)*gama4(i)
315 hour(i,3)=hour(i,3)+hg1(i)*hh2(i)
316 hour3a =hour(i,3)+hg1(i)*(h2l(i)+h2q(i)*abs(hg1(i)))
317 h31(i)=hour3a*gama1(i)
318 h32(i)=hour3a*gama2(i)
319 h33(i)=hour3a*gama3(i)
321 ehou(i) = ehou(i) + hour3a*hg1(i)
328 hg1(i)=rx1(i)-rx2(i)+rx3(i)-rx4(i)
329 hg2(i)=ry1(i)-ry2(i)+ry3(i)-ry4(i)
333 hour(i,4)=hg1(i)*(h3l(i)+h3q(i)*abs(hg1(i)))
334 hour(i,5)=hg2(i)*(h3l(i)+h3q(i)*abs(hg2(i)))
336 . hour(i,4)*hg1(i) + hour(i,5)*hg2(i)
337 ehou(i) = dt1c(i) * ehou(i) * off(i)
339 b11(i)= hour(i,4)*off(i)
340 b12(i)=-hour(i,4)*off(i)
341 b13(i)= hour(i,4)*off(i)
342 b14(i)=-hour(i,4)*off(i)
343 b21(i)= hour(i,5)*off(i)
344 b22(i)=-hour(i,5)*off(i)
345 b23(i)= hour(i,5)*off(i)
346 b24(i)=-hour(i,5)*off(i)
350 ehourt = ehourt + ehou(i)
356 IF (ipartc(j)/=ipartc(j-1))
THEN
366 partsav(8,mx)=partsav(8,mx) + ehou(i)
369 ELSEIF(ic==2.AND.kfts>0)
THEN
372 partsav(8,mx)=partsav(8,mx) + ehou(i)
376 partsav(8,mx)=partsav(8,mx) + ehou(i)
383 IF (jst(ii+1)-jst(ii)>15)
THEN
384 DO j=jst(ii),jst(ii+1)-1
385 partsav(8,mx)=partsav(8,mx)+ehou(j)
388 DO j=jst(ii),jst(ii+1)-1
389 partsav(8,mx)=partsav(8,mx)+ehou(j)
396 ehour = ehour + ehourt
399 eani(nft+numels+i) = eani(nft+numels+i) + ehou(i)
subroutine chvis3(jft, jlt, thk, hour, off, px1, px2, py1, py2, ixc, dt1c, ssp, rho, sti, vx1, vx2, vx3, vx4, vy1, vy2, vy3, vy4, vz1, vz2, vz3, vz4, area, thk0, vhx, vhy, shf, z2, eani, stir, viscmx, g, a11, h1, h2, h3, ym, nu, thk02, alpe, 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, kfts, srh1, srh2, srh3, igtyp, igmat, a11r, nel)