35 . X1, X2, X3, X4, X5, X6, X7, X8,
36 . Y1, Y2, Y3, Y4, Y5, Y6, Y7, Y8,
37 . Z1, Z2, Z3, Z4, Z5, Z6, Z7, Z8,
38 . VX1, VX2, VX3, VX4, VX5, VX6, VX7, VX8,
39 . VY1, VY2, VY3, VY4, VY5, VY6, VY7, VY8,
40 . VZ1, VZ2, VZ3, VZ4, VZ5, VZ6, VZ7, VZ8,
41 . VDX1, VDX2, VDX3, VDX4, VDX5, VDX6, VDX7, VDX8,
42 . VDY1, VDY2, VDY3, VDY4, VDY5, VDY6, VDY7, VDY8,
43 . VDZ1, VDZ2, VDZ3, VDZ4, VDZ5, VDZ6, VDZ7, VDZ8,
44 . VDX,VDY,VDZ,VD2,VIS,OFFG,OFF,RHO,
45 . RHOO,NC1,NC2,NC3,NC4,NC5,NC6,NC7,NC8,NGL,MXT,NGEO,
46 . XD1, XD2 , XD3, XD4, XD5, XD6, XD7, XD8,
47 . YD1, YD2 , YD3, YD4, YD5, YD6, YD7, YD8,
48 . ZD1, ZD2 , ZD3, ZD4, ZD5, ZD6, ZD7, ZD8,
49 . XDP, IPARG, NG , NEL, MOM, TAG22)
67#include "implicit_f.inc"
75#include "vect01_c.inc"
84 INTEGER IXS(NIXS,*),IPARG(NPARG,*),NG,NEL
85 my_real,
INTENT(IN) :: MOM(NEL,*), TAG22(NEL)
87 . X(3,*),V(3,*),W(3,*), (*),
88 . X1(*), X2(*), X3(*), X4(*), X5(*), X6(*), X7(*), X8(*),
89 . Y1(*), Y2(*), Y3(*), Y4(*), Y5(*), Y6(*), Y7(*), Y8(*),
90 . Z1(*), Z2(*), Z3(*), Z4(*), Z5(*), Z6(*), Z7(*), Z8(*),
91 . (*), VX2(*), (*), VX4(*), VX5(*), VX6(*), VX7(*), VX8(*),
92 . VY1(*), VY2(*), VY3(*), VY4(*), VY5(*), VY6(*), VY7(*), VY8(*),
93 . VZ1(*), VZ2(*), VZ3(*), VZ4(*), VZ5(*), VZ6(*), VZ7(*), VZ8(*),
94 . VDX1(*),VDX2(*),VDX3(*),VDX4(*),VDX5(*),VDX6(*),VDX7(*),VDX8(*)
100 INTEGER NC1(*), NC2(*), NC3(*), NC4(*),
101 . nc5(*), nc6(*), nc7(*), nc8(*), mxt(*), ngl(*),ngeo(*)
105 . xd1(*), xd2(*), xd3(*), xd4(*), xd5(*), xd6(*), xd7(*), xd8
106 . yd1(*), yd2(*), yd3(*), yd4(*), yd5(*), yd6(*), yd7(*), yd8(*),
107 . zd1(*), zd2(*), zd3(*), zd4(*), zd5(*), zd6(*), zd7(*), zd8(*)
111 INTEGER I, J,MXT_1,IB,NBCUT,NIN,MCELL
112 my_real,
DIMENSION(MVSIZ) ::
113 . RX, RY, RZ, SX, SY, SZ, TX, TY, TZ,
114 . E1X, E1Y, E1Z, E2X, E2Y, E2Z, E3X, E3Y, E3Z
116 . off_l,wdx(mvsiz),wdy(mvsiz),wdz(mvsiz),vw,vwn,vw1,vw2,vw3,surf,sum_surf,
229 1 xd1, xd2, xd3, xd4,
230 2 xd5, xd6, xd7, xd8,
231 3 yd1, yd2, yd3, yd4,
232 4 yd5, yd6, yd7, yd8,
233 5 zd1, zd2, zd3, zd4,
234 6 zd5, zd6, zd7, zd8,
242 4 e1y, e2y, e3y, e1z,
253 off(i) = abs(offg(i))
254 off_l =
min(off_l,offg(i))
344 IF(iparg(64,ng)==1)
THEN
358 wdx(i) = one_over_8*( w(1,nc1(i))+w(1,nc2(i))+w(1,nc3(i))+w(1,nc4(i))+w(1,nc5(i))+w
359 wdy(i) = one_over_8*( w(2,nc1(i))+w(2,nc2(i))+w(2,nc3(i))+w(2,nc4(i))+w(2,nc5(i))+w(2,nc6(i))+w(2,nc7(i))+w(2,nc8(i)))
360 wdz(i) = one_over_8*( w
361 vdx(i) = mom(i,1)/rho(i) - wdx(i)
362 vdy(i) = mom(i,2)/rho(i) - wdy(i)
363 vdz(i) = mom(i,3)/rho(i) - wdz(i)
364 vd2(i) = vdx(i)*vdx(i)+vdy(i)*vdy(i)+vdz(i)*vdz(i)
368 vdx(i) = mom(i,1)/rho(i)
369 vdy(i) = mom(i,2)/rho(i)
370 vdz(i) = mom(i,3)/rho(i)
371 vd2(i) = vdx(i)*vdx(i)+vdy(i)*vdy(i)+vdz(i)*vdz(i)
380 vdx(i) = mom(i,1)/rho(i) - wdx(i)
381 vdy(i) = mom(i,2)/rho(i) - wdy(i)
382 vdz(i) = mom(i,3)/rho(i) - wdz(i)
383 vd2(i) = vdx(i)*vdx(i)+vdy(i)*vdy(i)+vdz(i)*vdz(i)
388 IF(int22/=0)ib = nint(tag22(i))
392 IF(nbcut>0)iscutcell=.true.
394 IF(iscutcell .EQV. .false.)
THEN
395 wdx(i) = one_over_8*( w(1,nc1(i))+w(1,nc2(i))+w(1,nc3(i))+w(1,nc4(i))+w(1,nc5(i))+w(1,nc6(i))+w(1,nc7(i))+w(1,nc8(i)))
396 wdy(i) = one_over_8*( w(2,nc1(i))+w(2,nc2(i))+w(2,nc3(i))+w(2,nc4(i))+w(2,nc5(i))+w(2,nc6(i))+w(2,nc7(i))+w
397 wdz(i) = one_over_8*( w(3,nc1(i))+w(3,nc2(i))+w(3,nc3(i
398 vdx(i) = mom(i,1)/rho(i) - wdx(i)
399 vdy(i) = mom(i,2)/rho(i) - wdy(i)
400 vdz(i) = mom(i,3)/rho(i) - wdz(i)
401 vd2(i) = vdx(i)*vdx(i)+vdy(i)*vdy(i)+vdz(i)*vdz(i)
418 j=maxloc(
brick_list(nin,ib)%POLY(mcell)%FACE(1:6)%SURF,1)
419 surf =
brick_list(nin,ib)%POLY(mcell)%FACE(j)%SURF
421 vw1 =
brick_list(nin,ib)%POLY(mcell)%FACE(j)%Vel(1)
422 vw2 =
brick_list(nin,ib)%POLY(mcell)%FACE(j)%Vel(2)
423 vw3 =
brick_list(nin,ib)%POLY(mcell)%FACE(j)%Vel(3)
424 ww1 =
brick_list(nin,ib)%POLY(mcell)%FACE(j)%W(1)
425 ww2 =
brick_list(nin,ib)%POLY(mcell)%FACE(j)%W(2)
426 ww3 =
brick_list(nin,ib)%POLY(mcell)%FACE(j)%W(3)
430 vwn = vw1*vw1 + vw2*vw2 + vw3*vw3
436 surf =
brick_list(nin,ib)%POLY(mcell)%FACE(j)%SURF
438 sum_surf = sum_surf + surf
439 vw1 =
brick_list(nin,ib)%POLY(mcell)%FACE(j)%Vel(1)
440 vw2 =
brick_list(nin,ib)%POLY(mcell)%FACE(j)%Vel(2)
441 vw3 =
brick_list(nin,ib)%POLY(mcell)%FACE(j)%Vel(3)
442 ww1 =
brick_list(nin,ib)%POLY(mcell)%FACE(j)%W(1)
443 ww2 =
brick_list(nin,ib)%POLY(mcell)%FACE(j)%W(2)
444 ww3 =
brick_list(nin,ib)%POLY(mcell)%FACE(j)%W(3)
448 vwn = vw1*vw1 + vw2*vw2 + vw3*vw3
449 vdx(i) = vdx(i)+surf*vw1
450 vdy(i) = vdy(i)+surf*vw2
451 vdz(i) = vdz(i)+surf*vw3
452 vd2(i) =
max(vd2(i),vwn)
455 IF(sum_surf>zero)
THEN
456 vdx(i) = vdx(i) / sum_surf
457 vdy(i) = vdy(i) / sum_surf
458 vdz(i) = vdz(i) / sum_surf
469 write (*,fmt=
'(A,I10,4F30.16)')
"VD x,y,z,2, ID=",ixs(11,i), vdx(i),vdy(i),vdz(i),vd2(i)
subroutine scoor3_fvm(x, ixs, v, w, gama, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8, vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8, vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8, vdx1, vdx2, vdx3, vdx4, vdx5, vdx6, vdx7, vdx8, vdy1, vdy2, vdy3, vdy4, vdy5, vdy6, vdy7, vdy8, vdz1, vdz2, vdz3, vdz4, vdz5, vdz6, vdz7, vdz8, vdx, vdy, vdz, vd2, vis, offg, off, rho, rhoo, nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8, ngl, mxt, ngeo, xd1, xd2, xd3, xd4, xd5, xd6, xd7, xd8, yd1, yd2, yd3, yd4, yd5, yd6, yd7, yd8, zd1, zd2, zd3, zd4, zd5, zd6, zd7, zd8, xdp, iparg, ng, nel, mom, tag22)