32 SUBROUTINE aflux3(PM,IXS,V,W,X,FLUX,FLU1,ALE_CONNECT,NSG, TAG22)
38 use element_mod ,
only : nixs
42#include "implicit_f.inc"
52#include "vect01_c.inc"
59 INTEGER IXS(NIXS,NUMELS), NSG
60 my_real pm(npropm,nummat), v(3,numnod), w(3,numnod), x(3,numnod), flux(6,*), flu1(*)
66 . NC1(MVSIZ), NC2(MVSIZ), NC3(MVSIZ), NC4(MVSIZ),
67 . NC5(MVSIZ), NC6(MVSIZ), NC7(MVSIZ), NC8(MVSIZ),
71 . x1(mvsiz), x2(mvsiz), x3(mvsiz), x4(mvsiz),
72 . x5(mvsiz), x6(mvsiz), x7(mvsiz), x8(mvsiz),
73 . y1(mvsiz), y2(mvsiz), y3(mvsiz), y4(mvsiz),
74 . y5(mvsiz), y6(mvsiz), y7(mvsiz), y8(mvsiz),
75 . z1(mvsiz), z2(mvsiz), z3(mvsiz), z4(mvsiz),
76 . z5(mvsiz), z6(mvsiz), z7(mvsiz), z8(mvsiz),
77 . n1x(mvsiz),n1y(mvsiz),n1z(mvsiz),
78 . n2x(mvsiz),n2y(mvsiz),n2z(mvsiz),
79 . n3x(mvsiz),n3y(mvsiz),n3z(mvsiz),
80 . n4x(mvsiz),n4y(mvsiz),n4z(mvsiz),
81 . n5x(mvsiz),n5y(mvsiz),n5z(mvsiz),
82 . n6x(mvsiz),n6y(mvsiz),n6z(mvsiz),
83 . flux1(mvsiz), flux2(mvsiz), flux3(mvsiz),
84 . flux4(mvsiz), flux5(mvsiz), flux6(mvsiz),
85 . vx1(mvsiz), vx2(mvsiz), vx3(mvsiz),
86 . vx4(mvsiz), vx5(mvsiz), vx6(mvsiz),
87 . vy1(mvsiz), vy2(mvsiz), vy3(mvsiz),
88 . vy4(mvsiz), vy5(mvsiz), vy6(mvsiz),
89 . vz1(mvsiz), vz2(mvsiz), vz3(mvsiz),
90 . vz4(mvsiz), vz5(mvsiz), vz6(mvsiz),
91 . vdx1(mvsiz), vdx2(mvsiz), vdx3(mvsiz), vdx4(mvsiz),
92 . vdx5(mvsiz), vdx6(mvsiz), vdx7(mvsiz), vdx8(mvsiz),
93 . vdy1(mvsiz), vdy2(mvsiz), vdy3(mvsiz), vdy4(mvsiz),
94 . vdy5(mvsiz), vdy6(mvsiz), vdy7(mvsiz), vdy8(mvsiz),
95 . vdz1(mvsiz), vdz2(mvsiz), vdz3(mvsiz), vdz4(mvsiz),
96 . vdz5(mvsiz), vdz6(mvsiz), vdz7(mvsiz), vdz8(mvsiz),
97 . reduc,upwl(6,mvsiz),
98 . xc(mvsiz),yc(mvsiz),zc(mvsiz),
99 . xf1(mvsiz),yf1(mvsiz),zf1(mvsiz),
100 . xf2(mvsiz),yf2(mvsiz),zf2(mvsiz),
101 . xf3(mvsiz),yf3(mvsiz),zf3(mvsiz),
102 . xf4(mvsiz),yf4(mvsiz),zf4(mvsiz),
103 . xf5(mvsiz),yf5(mvsiz),zf5(mvsiz),
104 . xf6(mvsiz),yf6(mvsiz),zf6(mvsiz),
107 INTEGER,
DIMENSION(:),
POINTER :: pIsMain
109 my_real :: tag22(mvsiz), ratioface(6)
111 my_real,
DIMENSION(:),
POINTER :: pface
112 my_real,
DIMENSION(:) ,
POINTER :: pfullface
114 INTEGER MA,IC,JST(MVSIZ+1)
115 INTEGER MCELL,IB, NIN, NBCUT, IAD2
174 vdx1(i)=v(1,nc1(i)) - w(1,nc1(i))
175 vdy1(i)=v(2,nc1(i)) - w(2,nc1(i))
176 vdz1(i)=v(3,nc1(i)) - w(3,nc1(i))
178 vdx2(i)=v(1,nc2(i)) - w(1,nc2(i))
179 vdy2(i)=v(2,nc2(i)) - w(2,nc2(i))
180 vdz2(i)=v(3,nc2(i)) - w(3,nc2(i))
182 vdx3(i)=v(1,nc3(i)) - w(1,nc3(i))
183 vdy3(i)=v(2,nc3(i)) - w(2,nc3(i))
184 vdz3(i)=v(3,nc3(i)) - w(3,nc3(i))
186 vdx4(i)=v(1,nc4(i)) - w(1,nc4(i))
187 vdy4(i)=v(2,nc4(i)) - w(2,nc4(i))
188 vdz4(i)=v(3,nc4(i)) - w(3,nc4(i))
190 vdx5(i)=v(1,nc5(i)) - w(1,nc5(i))
191 vdy5(i)=v(2,nc5(i)) - w(2,nc5(i))
192 vdz5(i)=v(3,nc5(i)) - w(3,nc5(i))
194 vdx6(i)=v(1,nc6(i)) - w(1,nc6(i))
195 vdy6(i)=v(2,nc6(i)) - w(2,nc6(i))
196 vdz6(i)=v(3,nc6(i)) - w(3,nc6(i))
198 vdx7(i)=v(1,nc7(i)) - w(1,nc7(i))
199 vdy7(i)=v(2,nc7(i)) - w(2,nc7(i))
200 vdz7(i)=v(3,nc7(i)) - w(3,nc7(i))
202 vdx8(i)=v(1,nc8(i)) - w(1,nc8(i))
203 vdy8(i)=v(2,nc8(i)) - w(2,nc8(i))
204 vdz8(i)=v(3,nc8(i)) - w(3,nc8(i))
215 vx1(i)=one_over_8*(vdx1(i)+vdx2(i)+vdx3(i)+vdx4(i))
216 vx2(i)=one_over_8*(vdx3(i)+vdx4(i)+vdx8(i)+vdx7(i))
217 vx3(i)=one_over_8*(vdx5(i)+vdx6(i)+vdx7(i)+vdx8(i))
218 vx4(i)=one_over_8*(vdx1(i)+vdx2(i)+vdx6(i)+vdx5(i))
219 vx5(i)=one_over_8*(vdx2(i)+vdx3(i)+vdx7(i)+vdx6(i))
220 vx6(i)=one_over_8*(vdx1(i)+vdx4(i)+vdx8(i)+vdx5(i))
222 vy1(i)=one_over_8*(vdy1(i)+vdy2(i)+vdy3(i)+vdy4(i))
223 vy2(i)=one_over_8*(vdy3(i)+vdy4(i)+vdy8(i)+vdy7(i))
224 vy3(i)=one_over_8*(vdy5(i)+vdy6(i)+vdy7(i)+vdy8(i))
225 vy4(i)=one_over_8*(vdy1(i)+vdy2(i)+vdy6(i)+vdy5(i))
226 vy5(i)=one_over_8*(vdy2(i)+vdy3(i)+vdy7(i)+vdy6(i))
227 vy6(i)=one_over_8*(vdy1(i)+vdy4(i)+vdy8(i)+vdy5(i))
229 vz1(i)=one_over_8*(vdz1(i)+vdz2(i)+vdz3(i)+vdz4(i))
230 vz2(i)=one_over_8*(vdz3(i)+vdz4(i)+vdz8(i)+vdz7(i))
231 vz3(i)=one_over_8*(vdz5(i)+vdz6(i)+vdz7(i)+vdz8(i))
232 vz4(i)=one_over_8*(vdz1(i)+vdz2(i)+vdz6(i)+vdz5(i))
233 vz5(i)=one_over_8*(vdz2(i)+vdz3(i)+vdz7(i)+vdz6(i))
234 vz6(i)=one_over_8*(vdz1(i)+vdz4(i)+vdz8(i)+vdz5(i))
245 n1x(i)=(y3(i)-y1(i))*(z2(i)-z4(i)) - (z3(i)-z1(i))*(y2(i)-y4(i))
246 n1y(i)=(z3(i)-z1(i))*(x2(i)-x4(i)) - (x3(i)-x1(i))*(z2(i)-z4(i))
247 n1z(i)=(x3(i)-x1(i))*(y2(i)-y4(i)) - (y3(i)-y1(i))*(x2(i)-x4(i))
249 n2x(i)=(y7(i)-y4(i))*(z3(i)-z8(i)) - (z7(i)-z4(i))*(y3(i)-y8(i))
250 n2y(i)=(z7(i)-z4(i))*(x3(i)-x8(i)) - (x7(i)-x4(i))*(z3(i)-z8(i))
251 n2z(i)=(x7(i)-x4(i))*(y3(i)-y8(i)) - (y7(i)-y4(i))*(x3(i)-x8(i))
253 n3x(i)=(y6(i)-y8(i))*(z7(i)-z5(i)) - (z6(i)-z8(i))*(y7(i)-y5(i))
254 n3y(i)=(z6(i)-z8(i))*(x7(i)-x5(i)) - (x6(i)-x8(i))*(z7(i)-z5(i))
255 n3z(i)=(x6(i)-x8(i))*(y7(i)-y5(i)) - (y6(i)-y8(i))*(x7(i)-x5(i))
257 n4x(i)=(y2(i)-y5(i))*(z6(i)-z1(i)) - (z2(i)-z5(i))*(y6(i)-y1(i))
258 n4y(i)=(z2(i)-z5(i))*(x6(i)-x1(i)) - (x2(i)-x5(i))*(z6(i)-z1(i))
259 n4z(i)=(x2(i)-x5(i))*(y6(i)-y1(i)) - (y2(i)-y5(i))*(x6(i)-x1(i))
261 n5x(i)=(y7(i)-y2(i))*(z6(i)-z3(i)) - (z7(i)-z2(i))*(y6(i)-y3(i))
262 n5y(i)=(z7(i)-z2(i))*(x6(i)-x3(i)) - (x7(i)-x2(i))*(z6(i)-z3(i))
263 n5z(i)=(x7(i)-x2(i))*(y6(i)-y3(i)) - (y7(i)-y2(i))*(x6(i)-x3(i))
265 n6x(i)=(y8(i)-y1(i))*(z4(i)-z5(i)) - (z8(i)-z1(i))*(y4(i)-y5(i))
266 n6y(i)=(z8(i)-z1(i))*(x4(i)-x5(i)) - (x8(i)-x1(i))*(z4(i)-z5(i))
267 n6z(i)=(x8(i)-x1(i))*(y4(i)-y5(i)) - (y8(i)-y1(i))*(x4(i)-x5(i))
281 xc(i)=one_over_8*(x1(i)+x2(i)+x3(i)+x4(i)+x5(i)+x6(i)+x7(i)+x8(i))
282 yc(i)=one_over_8*(y1(i)+y2(i)+y3(i)+y4(i)+y5(i)+y6(i)+y7(i)+y8(i))
283 zc(i)=one_over_8*(z1(i)+z2(i)+z3(i)+z4(i)+z5(i)+z6(i)+z7(i)+z8(i))
286 xf1(i)=fourth*(x1(i)+x2(i)+x3(i)+x4(i))
287 xf2(i)=fourth*(x3(i)+x4(i)+x8(i)+x7(i))
288 xf3(i)=fourth*(x5(i)+x6(i)+x7(i)+x8(i))
289 xf4(i)=fourth*(x1(i)+x2(i)+x6(i)+x5(i))
290 xf5(i)=fourth*(x2(i)+x3(i)+x7(i)+x6(i))
291 xf6(i)=fourth*(x1(i)+x4(i)+x8(i)+x5(i))
293 yf1(i)=fourth*(y1(i)+y2(i)+y3(i)+y4(i))
294 yf2(i)=fourth*(y3(i)+y4(i)+y8(i)+y7(i))
295 yf3(i)=fourth*(y5(i)+y6(i)+y7(i)+y8(i))
296 yf4(i)=fourth*(y1(i)+y2(i)+y6(i)+y5(i))
297 yf5(i)=fourth*(y2(i)+y3(i)+y7(i)+y6(i))
298 yf6(i)=fourth*(y1(i)+y4(i)+y8(i)+y5(i))
300 zf1(i)=fourth*(z1(i)+z2(i)+z3(i)+z4(i))
301 zf2(i)=fourth*(z3(i)+z4(i)+z8(i)+z7(i))
302 zf3(i)=fourth*(z5(i)+z6(i)+z7(i)+z8(i))
303 zf4(i)=fourth*(z1(i)+z2(i)+z6(i)+z5(i))
304 zf5(i)=fourth*(z2(i)+z3(i)+z7(i)+z6(i))
305 zf6(i)=fourth*(z1(i)+z4(i)+z8(i)+z5(i))
309 test=(xf1(i)-xc(i))*n1x(i)+
310 . (yf1(i)-yc(i))*n1y(i)+
311 . (zf1(i)-zc(i))*n1z(i)
320 test=(xf2(i)-xc(i))*n2x(i)+
321 . (yf2(i)-yc(i))*n2y(i)+
322 . (zf2(i)-zc(i))*n2z(i)
331 test=(xf3(i)-xc(i))*n3x(i)+
332 . (yf3(i)-yc(i))*n3y(i)+
333 . (zf3(i)-zc(i))*n3z(i)
342 test=(xf4(i)-xc(i))*n4x(i)+
343 . (yf4(i)-yc(i))*n4y(i)+
344 . (zf4(i)-zc(i))*n4z(i)
353 test=(xf5(i)-xc(i))*n5x(i)+
354 . (yf5(i)-yc(i))*n5y(i)+
355 . (zf5(i)-zc(i))*n5z(i)
364 test=(xf6(i)-xc(i))*n6x(i)+
365 . (yf6(i)-yc(i))*n6y(i)+
366 . (zf6(i)-zc(i))*n6z(i)
381 flux1(i)=(vx1(i)*n1x(i)+vy1(i)*n1y(i)+vz1(i)*n1z(i))
382 flux2(i)=(vx2(i)*n2x(i)+vy2(i)*n2y(i)+vz2(i)*n2z(i))
383 flux3(i)=(vx3(i)*n3x(i)+vy3(i)*n3y(i)+vz3(i)*n3z(i))
384 flux4(i)=(vx4(i)*n4x(i)+vy4(i)*n4y(i)+vz4(i)*n4z(i))
385 flux5(i)=(vx5(i)*n5x(i)+vy5(i)*n5y(i)+vz5(i)*n5z(i))
386 flux6(i)=(vx6(i)*n6x(i)+vy6(i)*n6y(i)+vz6(i)*n6z(i))
394 print *,
"**inter22, CURRENTLY EULERIAN ONLY"
403 pface =>
brick_list(nin,ib)%POLY(mcell)%FACE(1:6)%Surf
404 pismain =>
brick_list(nin,ib)%POLY(1:9)%IsMain
406 pfullface =>
brick_list(nin,ib)%Face_Brick(1:6)
407 ratioface(1) = pface(1) / pfullface(1)
408 ratioface(2) = pface(2) / pfullface(2)
409 ratioface(3) = pface(3) / pfullface(3)
410 ratioface(4) = pface(4) / pfullface(4)
411 ratioface(5) = pface(5) / pfullface(5)
412 ratioface(6) = pface(6) / pfullface(6)
413 flux1(i) = ratioface(1) * flux1(i)
414 flux2(i) = ratioface(2) * flux2(i)
415 flux3(i) = ratioface(3) * flux3(i)
416 flux4(i) = ratioface(4) * flux4(i)
417 flux5(i) = ratioface(5) * flux5(i)
418 flux6(i) = ratioface(6) * flux6(i)
427 IF(nint(pm(19,mat(1))) == 51)
THEN
454 IF (ivector == 0)
THEN
456 upwl(1,i)=pm(16,mat(i))
457 upwl(2,i)=pm(16,mat(i))
458 upwl(3,i)=pm(16,mat(i))
459 upwl(4,i)=pm(16,mat(i))
460 upwl(5,i)=pm(16,mat(i))
461 upwl(6,i)=pm(16,mat(i))
467 IF(mat(i) /= mat(i-1))
THEN
475 DO i=jst(ii),jst(ii+1)-1
492 iad2 = ale_connect%ee_connect%iad_connect(i + nft)
495 ii = ale_connect%ee_connect%connected(iad2 + 1 - 1)
497 flux1(i)=flux1(i)*reduc
500 ii = ale_connect%ee_connect%connected(iad2 + 2 - 1)
502 flux2(i)=flux2(i)*reduc
505 ii = ale_connect%ee_connect%connected(iad2 + 3 - 1)
507 flux3(i)=flux3(i)*reduc
510 ii = ale_connect%ee_connect%connected(iad2 + 4 - 1)
512 flux4(i)=flux4(i)*reduc
515 ii = ale_connect%ee_connect%connected(iad2 + 5 - 1)
517 flux5(i)=flux5(i)*reduc
520 ii = ale_connect%ee_connect%connected(iad2 + 6 - 1)
522 flux6(i)=flux6(i)*reduc
536 flux(1,i)=flux1(i)-upwl(1,i)*abs(flux1(i))
537 flux(2,i)=flux2(i)-upwl(2,i)*abs(flux2(i))
538 flux(3,i)=flux3(i)-upwl(3,i)*abs(flux3(i))
539 flux(4,i)=flux4(i)-upwl(4,i)*abs(flux4(i))
540 flux(5,i)=flux5(i)-upwl(5,i)*abs(flux5(i))
541 flux(6,i)=flux6(i)-upwl(6,i)*abs(flux6(i))
543 flu1(i) =flux1(i)+upwl(1,i)*abs(flux1(i))
544 . +flux2(i)+upwl(2,i)*abs(flux2(i))
545 . +flux3(i)+upwl(3,i)*abs(flux3(i))
546 . +flux4(i)+upwl(4,i)*abs(flux4(i))
547 . +flux5(i)+upwl(5,i)*abs(flux5(i))
548 . +flux6(i)+upwl(6,i)*abs(flux6(i))