36 . X1, X2, X3, X4, X5, X6, X7, X8,
37 . Y1, Y2, Y3, Y4, Y5, Y6, Y7, Y8,
38 . Z1, Z2, Z3, Z4, Z5, Z6, Z7, Z8,
39 . VX1, VX2, VX3, VX4, VX5, VX6, VX7, VX8,
40 . VY1, VY2, VY3, VY4, VY5, VY6, VY7, VY8,
41 . VZ1, VZ2, VZ3, VZ4, VZ5, VZ6, VZ7, VZ8,
42 . VDX1, VDX2, VDX3, VDX4, VDX5, VDX6, VDX7, VDX8,
43 . VDY1, VDY2, VDY3, VDY4, VDY5, VDY6, VDY7, VDY8,
44 . VDZ1, VDZ2, VDZ3, VDZ4, VDZ5, VDZ6, VDZ7, VDZ8,
45 . VDX,VDY,VDZ,VD2,VIS,OFFG,OFF,RHO,
46 . RHOO,NC1,NC2,NC3,NC4,NC5,NC6,NC7,NC8,NGL,MXT,NGEO,
47 . XD1, XD2 , XD3, XD4, XD5, XD6, XD7, XD8,
48 . YD1, YD2 , YD3, YD4, YD5, YD6, YD7, YD8,
49 . ZD1, ZD2 , ZD3, ZD4, ZD5, ZD6, ZD7, ZD8,
50 . XDP, IPARG, NG , NEL, MOM, TAG22)
65 use element_mod ,
only : nixs
69#include "implicit_f.inc"
77#include "vect01_c.inc"
84! mom(k \in [1:3]) => gbuf%MOM((k-1)*nel + i)
86 INTEGER IXS(NIXS,*),IPARG(NPARG,*),NG,NEL
87 my_real,
INTENT(IN) :: MOM(NEL,*), TAG22(NEL)
89 . X(3,*),V(3,*),W(3,*), (*),
90 . X1(*), X2(*), X3(*), X4(*), X5(*), X6(*), X7(*), X8(*),
91 . Y1(*), Y2(*), Y3(*), Y4(*), Y5(*), Y6(*), Y7(*), Y8(*),
92 . Z1(*), Z2(*), Z3(*), Z4(*), Z5(*), Z6(*), Z7(*), Z8(*),
93 . VX1(*), VX2(*), VX3(*), VX4(*), VX5(*), VX6(*), VX7(*), VX8(*),
94 . VY1(*), VY2(*), VY3(*), VY4(*), VY5(*), VY6(*), VY7(*), VY8(*),
95 . VZ1(*), VZ2(*), VZ3(*), VZ4(*), VZ5(*), VZ6(*), VZ7(*), VZ8(*),
96 . VDX1(*),VDX2(*),VDX3(*),VDX4(*),VDX5(*),VDX6(*),VDX7(*),VDX8(*),
97 . VDY1(*),VDY2(*),VDY3(*),VDY4(*),VDY5(*),VDY6(*),VDY7(*)
102 INTEGER NC1(*), NC2(*), NC3(*), NC4(*),
103 . nc5(*), nc6(*), nc7(*), nc8(*), mxt(*), ngl(*),ngeo(*)
107 . xd1(*), xd2(*), xd3(*), xd4(*), xd5(*), xd6(*), xd7(*), xd8(*),
108 . yd1(*), yd2(*), yd3(*), yd4(*), yd5(*), yd6(*), yd7(*), yd8(*),
109 . zd1(*), zd2(*), zd3(*), zd4(*), zd5(*), zd6(*), zd7(*), zd8(*)
113 INTEGER I, J,MXT_1,IB,NBCUT,NIN,MCELL
114 my_real,
DIMENSION(MVSIZ) ::
115 . RX, RY, RZ, SX, SY, SZ, TX, TY, TZ,
116 . E1X, E1Y, E1Z, E2X, E2Y, E2Z, E3X, E3Y, E3Z
118 . off_l,wdx(mvsiz),wdy(mvsiz),wdz(mvsiz),vw,vwn,vw1,vw2,vw3,surf,sum_surf,
231 1 xd1, xd2, xd3, xd4,
232 2 xd5, xd6, xd7, xd8,
233 3 yd1, yd2, yd3, yd4,
234 4 yd5, yd6, yd7, yd8,
235 5 zd1, zd2, zd3, zd4,
236 6 zd5, zd6, zd7, zd8,
244 4 e1y, e2y, e3y, e1z,
255 off(i) = abs(offg(i))
256 off_l =
min(off_l,offg(i))
346 IF(iparg(64,ng)==1)
THEN
360 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
361 wdy(i) = one_over_8*( w(2,nc1(i))+w(2,nc2(i)
362 wdz(i) = one_over_8*( w(3,nc1(i))+w(3,nc2(i))+w
363 vdx(i) = mom(i,1)/rho(i) - wdx(i)
364 vdy(i) = mom(i,2)/rho(i) - wdy(i)
365 vdz(i) = mom(i,3)/rho(i) - wdz(i)
366 vd2(i) = vdx(i)*vdx(i)+vdy(i)*vdy(i)+vdz(i)*vdz(i)
370 vdx(i) = mom(i,1)/rho(i)
371 vdy(i) = mom(i,2)/rho(i)
372 vdz(i) = mom(i,3)/rho(i)
373 vd2(i) = vdx(i)*vdx(i)+vdy(i)*vdy(i)+vdz(i)*vdz(i)
382 vdx(i) = mom(i,1)/rho(i) - wdx(i)
383 vdy(i) = mom(i,2)/rho(i) - wdy(i)
384 vdz(i) = mom(i,3)/rho(i) - wdz(i)
385 vd2(i) = vdx(i)*vdx(i)+vdy(i)*vdy(i)+vdz(i)*vdz(i)
390 IF(int22/=0)ib = nint(tag22(i))
394 IF(nbcut>0)iscutcell=.true.
396 IF(iscutcell .EQV. .false.)
THEN
397 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
398 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
399 wdz(i) = one_over_8*( w(3,nc1(i))+w(3,nc2(i))+w(3,nc3(i))+w(3,nc4(i))+w(3,nc5(i))+w(3,nc6(i))+w(3,nc7(i))+w(3,nc8(i)))
400 vdx(i) = mom(i,1)/rho(i) - wdx(i)
401 vdy(i) = mom(i,2)/rho(i) - wdy(i)
402 vdz(i) = mom(i,3)/rho(i) - wdz(i)
403 vd2(i) = vdx(i)*vdx(i)+vdy(i)*vdy(i)+vdz(i)*vdz(i)
420 j=maxloc(
brick_list(nin,ib)%POLY(mcell)%FACE(1:6)%SURF,1)
423 vw1 =
brick_list(nin,ib)%POLY(mcell)%FACE(j)%Vel(1)
425 vw3 =
brick_list(nin,ib)%POLY(mcell)%FACE(j)%Vel(3)
426 ww1 =
brick_list(nin,ib)%POLY(mcell)%FACE(j)%W(1)
427 ww2 =
brick_list(nin,ib)%POLY(mcell)%FACE(j)%W(2)
428 ww3 =
brick_list(nin,ib)%POLY(mcell)%FACE(j)%W(3)
432 vwn = vw1*vw1 + vw2*vw2 + vw3*vw3
438 surf =
brick_list(nin,ib)%POLY(mcell)%FACE(j)%SURF
440 sum_surf = sum_surf + surf
442 vw2 =
brick_list(nin,ib)%POLY(mcell)%FACE(j)%Vel(2)
444 ww1 =
brick_list(nin,ib)%POLY(mcell)%FACE(j)%W(1)
445 ww2 =
brick_list(nin,ib)%POLY(mcell)%FACE(j)%W(2)
450 vwn = vw1*vw1 + vw2*vw2 +
451 vdx(i) = vdx(i)+surf*vw1
452 vdy(i) = vdy(i)+surf*vw2
453 vdz(i) = vdz(i)+surf*vw3
454 vd2(i) =
max(vd2(i),vwn)
457 IF(sum_surf>zero)
THEN
458 vdx(i) = vdx(i) / sum_surf
459 vdy(i) = vdy(i) / sum_surf
460 vdz(i) = vdz(i) / sum_surf
471 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)