31 SUBROUTINE aflux3(PM,IXS,V,W,X,FLUX,FLU1,ALE_CONNECT,NSG, TAG22)
40#include "implicit_f.inc"
50#include "vect01_c.inc"
57 INTEGER IXS(NIXS,NUMELS), NSG
58 my_real pm(npropm,nummat), v(3,numnod), w(3,numnod), x(3,numnod), flux(6,*), flu1(*)
64 . NC1(MVSIZ), NC2(MVSIZ), NC3(MVSIZ), NC4(MVSIZ),
65 . NC5(MVSIZ), NC6(MVSIZ), NC7(MVSIZ), NC8(MVSIZ),
69 . x1(mvsiz), x2(mvsiz), x3(mvsiz), x4(mvsiz),
70 . x5(mvsiz), x6(mvsiz), x7(mvsiz), x8(mvsiz),
71 . y1(mvsiz), y2(mvsiz), y3(mvsiz), y4(mvsiz),
72 . y5(mvsiz), y6(mvsiz), y7(mvsiz), y8(mvsiz),
73 . z1(mvsiz), z2(mvsiz), z3(mvsiz), z4(mvsiz),
74 . z5(mvsiz), z6(mvsiz), z7(mvsiz), z8(mvsiz),
75 . n1x(mvsiz),n1y(mvsiz),n1z(mvsiz),
76 . n2x(mvsiz),n2y(mvsiz),n2z(mvsiz),
77 . n3x(mvsiz),n3y(mvsiz),n3z(mvsiz),
78 . n4x(mvsiz),n4y(mvsiz),n4z(mvsiz),
79 . n5x(mvsiz),n5y(mvsiz),n5z(mvsiz),
80 . n6x(mvsiz),n6y(mvsiz),n6z(mvsiz),
81 . flux1(mvsiz), flux2(mvsiz), flux3(mvsiz),
82 . flux4(mvsiz), flux5(mvsiz), flux6(mvsiz),
83 . vx1(mvsiz), vx2(mvsiz), vx3(mvsiz),
84 . vx4(mvsiz), vx5(mvsiz), vx6(mvsiz),
85 . vy1(mvsiz), vy2(mvsiz), vy3(mvsiz),
86 . vy4(mvsiz), vy5(mvsiz), vy6(mvsiz),
87 . vz1(mvsiz), vz2(mvsiz), vz3(mvsiz),
88 . vz4(mvsiz), vz5(mvsiz), vz6(mvsiz),
89 . vdx1(mvsiz), vdx2(mvsiz), vdx3(mvsiz), vdx4(mvsiz),
90 . vdx5(mvsiz), vdx6(mvsiz), vdx7(mvsiz), vdx8(mvsiz),
91 . vdy1(mvsiz), vdy2(mvsiz), vdy3(mvsiz), vdy4(mvsiz),
92 . vdy5(mvsiz), vdy6(mvsiz), vdy7(mvsiz), vdy8(mvsiz),
93 . vdz1(mvsiz), vdz2(mvsiz), vdz3(mvsiz), vdz4(mvsiz),
94 . vdz5(mvsiz), vdz6(mvsiz), vdz7(mvsiz), vdz8(mvsiz),
95 . reduc,upwl(6,mvsiz),
96 . xc(mvsiz),yc(mvsiz),zc(mvsiz),
97 . xf1(mvsiz),yf1(mvsiz),zf1(mvsiz),
98 . xf2(mvsiz),yf2(mvsiz),zf2(mvsiz),
99 . xf3(mvsiz),yf3(mvsiz),zf3(mvsiz),
100 . xf4(mvsiz),yf4(mvsiz),zf4(mvsiz),
101 . xf5(mvsiz),yf5(mvsiz),zf5(mvsiz),
102 . xf6(mvsiz),yf6(mvsiz),zf6(mvsiz),
105 INTEGER,
DIMENSION(:),
POINTER :: pIsMain
107 my_real :: tag22(mvsiz), ratioface(6)
109 my_real,
DIMENSION(:),
POINTER :: pface
110 my_real,
DIMENSION(:) ,
POINTER :: pfullface
112 INTEGER MA,IC,JST(MVSIZ+1)
113 INTEGER MCELL,IB, NIN, NBCUT, IAD2
172 vdx1(i)=v(1,nc1(i)) - w(1,nc1(i))
173 vdy1(i)=v(2,nc1(i)) - w(2,nc1(i))
174 vdz1(i)=v(3,nc1(i)) - w(3,nc1(i))
176 vdx2(i)=v(1,nc2(i)) - w(1,nc2(i))
177 vdy2(i)=v(2,nc2(i)) - w(2,nc2(i))
178 vdz2(i)=v(3,nc2(i)) - w(3,nc2(i))
180 vdx3(i)=v(1,nc3(i)) - w(1,nc3(i))
182 vdz3(i)=v(3,nc3(i)) - w(3,nc3(i))
184 vdx4(i)=v(1,nc4(i)) - w(1,nc4(i))
185 vdy4(i)=v(2,nc4(i)) - w(2,nc4(i))
186 vdz4(i)=v(3,nc4(i)) - w(3,nc4(i))
188 vdx5(i)=v(1,nc5(i)) - w(1,nc5(i))
189 vdy5(i)=v(2,nc5(i)) - w(2,nc5(i))
190 vdz5(i)=v(3,nc5(i)) - w(3,nc5(i))
192 vdx6(i)=v(1,nc6(i)) - w(1,nc6(i))
193 vdy6(i)=v(2,nc6(i)) - w(2,nc6(i))
194 vdz6(i)=v(3,nc6(i)) - w(3,nc6(i))
196 vdx7(i)=v(1,nc7(i)) - w(1,nc7(i))
197 vdy7(i)=v(2,nc7(i)) - w(2,nc7(i))
198 vdz7(i)=v(3,nc7(i)) - w(3,nc7(i))
200 vdx8(i)=v(1,nc8(i)) - w(1,nc8(i))
201 vdy8(i)=v(2,nc8(i)) - w(2,nc8(i))
202 vdz8(i)=v(3,nc8(i)) - w(3,nc8(i))
209 ! [0.5*v_face] = 1/8 sum([v_node])
213 vx1(i)=one_over_8*(vdx1(i)+vdx2(i)+vdx3(i)+vdx4(i))
214 vx2(i)=one_over_8*(vdx3(i)+vdx4(i)+vdx8(i)+vdx7(i))
215 vx3(i)=one_over_8*(vdx5(i)+vdx6(i)+vdx7(i)+vdx8(i))
216 vx4(i)=one_over_8*(vdx1(i)+vdx2(i)+vdx6(i)+vdx5(i))
217 vx5(i)=one_over_8*(vdx2(i)+vdx3(i)+vdx7(i)+vdx6(i))
218 vx6(i)=one_over_8*(vdx1(i)+vdx4(i)+vdx8(i)+vdx5(i))
220 vy1(i)=one_over_8*(vdy1(i)+vdy2(i)+vdy3(i)+vdy4(i))
221 vy2(i)=one_over_8*(vdy3(i)+vdy4(i)+vdy8(i)+vdy7(i))
222 vy3(i)=one_over_8*(vdy5(i)+vdy6(i)+vdy7(i)+vdy8(i))
223 vy4(i)=one_over_8*(vdy1(i)+vdy2(i)+vdy6(i)+vdy5(i))
224 vy5(i)=one_over_8*(vdy2(i)+vdy3(i)+vdy7(i)+vdy6(i))
225 vy6(i)=one_over_8*(vdy1(i)+vdy4(i)+vdy8(i)+vdy5(i))
227 vz1(i)=one_over_8*(vdz1(i)+vdz2(i)+vdz3(i)+vdz4(i))
228 vz2(i)=one_over_8*(vdz3(i)+vdz4(i)+vdz8(i)+vdz7(i))
229 vz3(i)=one_over_8*(vdz5(i)+vdz6(i)+vdz7(i)+vdz8(i))
230 vz4(i)=one_over_8*(vdz1(i)+vdz2(i)+vdz6(i)+vdz5(i))
231 vz5(i)=one_over_8*(vdz2(i)+vdz3(i)+vdz7(i)+vdz6(i))
232 vz6(i)=one_over_8*(vdz1(i)+vdz4(i)+vdz8(i)+vdz5(i))
243 n1x(i)=(y3(i)-y1(i))*(z2(i
244 n1y(i)=(z3(i)-z1(i))*(x2(i)-x4(i)) - (x3(i)-x1(i))*(z2(i)-z4(i))
245 n1z(i)=(x3(i)-x1(i))*(y2(i)-y4(i)) - (y3(i)-y1(i))*(x2(i)-x4(i))
247 n2x(i)=(y7(i)-y4(i))*(z3(i)-z8(i)) - (z7(i)-z4(i))*(y3(i)-y8(i))
248 n2y(i)=(z7(i)-z4(i))*(x3(i)-x8(i)) - (x7(i)-x4(i))*(z3(i)-z8(i))
249 n2z(i)=(x7(i)-x4(i))*(y3(i)-y8(i)) - (y7(i)-y4(i))*(x3(i)-x8(i))
251 n3x(i)=(y6(i)-y8(i))*(z7(i)-z5(i)) - (z6(i)-z8(i))*(y7(i)-y5(i))
252 n3y(i)=(z6(i)-z8(i))*(x7(i)-x5(i)) - (x6(i)-x8(i))*(z7(i)-z5(i))
253 n3z(i)=(x6(i)-x8(i))*(y7(i)-y5(i)) - (y6(i)-y8(i))*(x7(i)-x5(i))
255 n4x(i)=(y2(i)-y5(i))*(z6(i)-z1(i)) - (z2(i)-z5(i))*(y6(i)-y1(i))
256 n4y(i)=(z2(i)-z5(i))*(x6(i)-x1(i)) - (x2(i)-x5(i))*(z6(i)-z1(i))
257 n4z(i)=(x2(i)-x5(i))*(y6(i)-y1(i)) - (y2(i)-y5(i))*(x6(i)-x1(i))
259 n5x(i)=(y7(i)-y2(i))*(z6(i)-z3(i)) - (z7(i)-z2(i))*(y6(i)-y3(i))
260 n5y(i)=(z7(i)-z2(i))*(x6(i)-x3(i)) - (x7(i)-x2(i))*(z6(i)-z3(i))
261 n5z(i)=(x7(i)-x2(i))*(y6(i)-y3(i)) - (y7(i)-y2(i))*(x6(i)-x3(i))
263 n6x(i)=(y8(i)-y1(i))*(z4(i)-z5(i)) - (z8(i)-z1(i))*(y4(i)-y5(i))
264 n6y(i)=(z8(i)-z1(i))*(x4(i)-x5(i)) - (x8(i)-x1(i))*(z4(i)-z5(i))
265 n6z(i)=(x8(i)-x1(i))*(y4(i)-y5(i)) - (y8(i)-y1(i))*(x4(i)-x5(i))
279 xc(i)=one_over_8*(x1(i)+x2(i)+x3(i)+x4(i)+x5(i)+x6(i)+x7(i)+x8(i))
280 yc(i)=one_over_8*(y1(i)+y2(i)+y3(i)+y4(i)+y5(i)+y6(i)+y7(i)+y8(i))
281 zc(i)=one_over_8*(z1(i)+z2(i)+z3(i)+z4(i)+z5(i)+z6(i)+z7(i)+z8(i))
284 xf1(i)=fourth*(x1(i)+x2(i)+x3(i)+x4(i))
285 xf2(i)=fourth*(x3(i)+x4(i)+x8(i)+x7(i))
286 xf3(i)=fourth*(x5(i)+x6(i)+x7(i)+x8(i))
287 xf4(i)=fourth*(x1(i)+x2(i)+x6(i)+x5(i))
288 xf5(i)=fourth*(x2(i)+x3(i)+x7(i)+x6(i))
289 xf6(i)=fourth*(x1(i)+x4(i)+x8(i)+x5(i))
291 yf1(i)=fourth*(y1(i)+y2(i)+y3(i)+y4(i))
292 yf2(i)=fourth*(y3(i)+y4(i)+y8(i)+y7(i))
293 yf3(i)=fourth*(y5(i)+y6(i)+y7(i)+y8(i))
294 yf4(i)=fourth*(y1(i)+y2(i)+y6(i)+y5(i))
295 yf5(i)=fourth*(y2(i)+y3(i)+y7(i)+y6(i))
296 yf6(i)=fourth*(y1(i)+y4(i)+y8(i)+y5(i))
298 zf1(i)=fourth*(z1(i)+z2(i)+z3(i)+z4(i))
299 zf2(i)=fourth*(z3(i)+z4(i)+z8(i)+z7(i))
300 zf3(i)=fourth*(z5(i)+z6(i)+z7(i)+z8(i))
301 zf4(i)=fourth*(z1(i)+z2(i)+z6(i)+z5(i))
302 zf5(i)=fourth*(z2(i)+z3(i)+z7(i)+z6(i))
303 zf6(i)=fourth*(z1(i)+z4(i)+z8(i)+z5(i))
307 test=(xf1(i)-xc(i))*n1x(i)+
308 . (yf1(i)-yc(i))*n1y(i)+
309 . (zf1(i)-zc(i))*n1z(i)
318 test=(xf2(i)-xc(i))*n2x(i)+
319 . (yf2(i)-yc(i))*n2y(i)+
320 . (zf2(i)-zc(i))*n2z(i)
329 test=(xf3(i)-xc(i))*n3x(i)+
330 . (yf3(i)-yc(i))*n3y(i)+
331 . (zf3(i)-zc(i))*n3z(i)
340 test=(xf4(i)-xc(i))*n4x(i)+
341 . (yf4(i)-yc(i))*n4y(i)+
342 . (zf4(i)-zc(i))*n4z(i)
351 test=(xf5(i)-xc(i))*n5x(i)+
352 . (yf5(i)-yc(i))*n5y(i)+
353 . (zf5(i)-zc(i))*n5z(i)
362 test=(xf6(i)-xc(i))*n6x(i)+
363 . (yf6(i)-yc(i))*n6y(i)+
364 . (zf6(i)-zc(i))*n6z(i)
379 flux1(i)=(vx1(i)*n1x(i)+vy1(i)*n1y(i)+vz1(i)*n1z(i))
380 flux2(i)=(vx2(i)*n2x(i)+vy2(i)*n2y(i)+vz2(i)*n2z(i))
381 flux3(i)=(vx3(i)*n3x(i)+vy3(i)*n3y(i)+vz3(i)*n3z(i))
382 flux4(i)=(vx4(i)*n4x(i)+vy4(i)*n4y(i)+vz4(i)*n4z(i))
383 flux5(i)=(vx5(i)*n5x(i)+vy5(i)*n5y(i)+vz5(i)*n5z(i))
384 flux6(i)=(vx6(i)*n6x(i)+vy6(i)*n6y(i)+vz6(i)*n6z(i))
392 print *,
"**inter22, CURRENTLY EULERIAN ONLY"
402 pismain =>
brick_list(nin,ib)%POLY(1:9)%IsMain
404 pfullface =>
brick_list(nin,ib)%Face_Brick(1:6)
405 ratioface(1) = pface(1) / pfullface(1)
406 ratioface(2) = pface(2) / pfullface(2)
407 ratioface(3) = pface(3) / pfullface(3)
408 ratioface(4) = pface(4) / pfullface(4)
409 ratioface(5) = pface(5) / pfullface(5)
410 ratioface(6) = pface(6) / pfullface(6)
411 flux1(i) = ratioface(1) * flux1(i)
412 flux2(i) = ratioface(2) * flux2(i)
413 flux3(i) = ratioface(3) * flux3(i)
414 flux4(i) = ratioface(4) * flux4(i)
415 flux5(i) = ratioface(5) * flux5(i)
416 flux6(i) = ratioface(6) * flux6(i)
425 IF(nint(pm(19,mat(1))) == 51)
THEN
452 IF (ivector == 0)
THEN
454 upwl(1,i)=pm(16,mat(i))
455 upwl(2,i)=pm(16,mat(i))
456 upwl(3,i)=pm(16,mat(i))
457 upwl(4,i)=pm(16,mat(i))
458 upwl(5,i)=pm(16,mat(i))
459 upwl(6,i)=pm(16,mat(i))
465 IF(mat(i) /= mat(i-1))
THEN
473 DO i=jst(ii),jst(ii+1)-1
490 iad2 = ale_connect%ee_connect%iad_connect(i + nft)
493 ii = ale_connect%ee_connect%connected(iad2 + 1 - 1)
495 flux1(i)=flux1(i)*reduc
498 ii = ale_connect%ee_connect%connected(iad2 + 2 - 1)
500 flux2(i)=flux2(i)*reduc
503 ii = ale_connect%ee_connect%connected(iad2 + 3 - 1)
505 flux3(i)=flux3(i)*reduc
508 ii = ale_connect%ee_connect%connected(iad2
510 flux4(i)=flux4(i)*reduc
513 ii = ale_connect%ee_connect%connected(iad2 + 5 - 1)
515 flux5(i)=flux5(i)*reduc
518 ii = ale_connect%ee_connect%connected(iad2 + 6 - 1)
520 flux6(i)=flux6(i)*reduc
534 flux(1,i)=flux1(i)-upwl(1,i)*abs(flux1(i))
535 flux(2,i)=flux2(i)-upwl(2,i)*abs(flux2(i))
536 flux(3,i)=flux3(i)-upwl(3,i)*abs(flux3(i))
537 flux(4,i)=flux4(i)-upwl(4,i)*abs(flux4(i))
538 flux(5,i)=flux5(i)-upwl(5,i)*abs(flux5(i))
539 flux(6,i)=flux6(i)-upwl(6,i)*abs(flux6(i))
541 flu1(i) =flux1(i)+upwl(1,i)*abs(flux1(i))
542 . +flux2(i)+upwl(2,i)*abs(flux2(i))
543 . +flux3(i)+upwl(3,i)*abs(flux3(i))
544 . +flux4(i)+upwl(4,i)*abs(flux4(i))
545 . +flux5(i)+upwl(5,i)*abs(flux5(i))
546 . +flux6(i)+upwl(6,i)*abs(flux6(i))