32 . Y1,Y2,Y3,Y4,Z1,Z2,Z3,Z4,
33 . VY1,VY2,VY3,VY4,VZ1,VZ2,VZ3,VZ4,
35 . T11,T12,T13,T14,T21,T22,T23,T24,
36 . AREA,CXX,MAT,VD2,VIS,EANI,PID,GEO,
37 . PARTSAV,IPARTQ,EHOU, IPARG)
45#include "implicit_f.inc"
55#include "vect01_c.inc"
65 my_real pm(npropm,nummat),geo(npropg,numgeo), off(*), rho(*),eani(*),
66 . y1(*),y2(*),y3(*),y4(*),z1(*),z2(*),z3(*),z4(*),
67 . vy1(*), vy2(*), vy3(*), vy4(*), vz1(*), vz2(*), vz3(*),
68 . py1(*), py2(*), pz1(*), pz2(*),ehou(*),
69 . t11(*), t12(*), t13(*), t14(*), t21(*), t22(*), t23(*), t24(*),
70 . vz4(*),
area(*), cxx(*),vd2(*),vis(*), partsav(npsav,*)
71 INTEGER MAT(*),PID(*),IPARTQ(NUMELQ), IPARG(63:63)
77 . fcl(mvsiz) , fcq(mvsiz),
78 . g11(mvsiz) , g21(mvsiz) , g31(mvsiz) , g41(mvsiz),
79 . hgy(mvsiz), hgz(mvsiz),
80 . hy,hz,fac,px1h1,px2h1,ehourt, are
84 IF(mtn == 11 .OR. ((mtn == 17 .OR. mtn == 47) .AND.
ale%UPWIND%UPWM == 0))
THEN
102 caq(i)=geo(13,pid(i))
112 fcq(i)=rho(i)*sqrt(are)
118 IF(isfluid == 1 .AND.
ale%UPWIND%UPWM == 0)
THEN
123 ELSEIF(isfluid == 1 .AND.
ale%UPWIND%UPWM == 1)
THEN
125 fcl(i)=
min(fcl(i)*cxx(i),
max(20.*caq(i)*vis(i),fcl(i)*sqrt(vd2(i))))
128 ELSEIF(isfluid == 1 .AND.
ale%UPWIND%UPWM > 0)
THEN
130 IF(vis(i) > zero)
THEN
132 fcl(i)=twenty*caq(i)*vis(i)
134 fcq(i)=fcl(i)*caq(i)*hundred
140 fcq(i)=fcl(i)*caq(i)*hundred
162 hgy(i)=half*(vy1(i)-vy2(i)+vy3(i)-vy4(i))
163 hgz(i)=half*(vz1(i)-vz2(i)+vz3(i)-vz4(i))
166 t11(i)=hgy(i)*(fcl(i)+abs(hgy(i))*fcq(i))
170 t21(i)=hgz(i)*(fcl(i)+abs(hgz(i))*fcq(i))
174 ehou(i)= two*dt1*(t11(i)*hgy(i) + t21(i)*hgz(i))
181 hy=y1(i)-y2(i)+y3(i)-y4(i)
182 hz=z1(i)-z2(i)+z3(i)-z4(i)
184 px1h1=fac*(py1(i)*hy+pz1(i)*hz)
185 px2h1=fac*(py2(i)*hy+pz2(i)*hz)
192 hgy(i)=half*(g11(i)*vy1(i)+g21(i)*vy2(i)+g31(i)*vy3(i)+g41(i)*vy4(i))
196 hy=hgy(i)*(fcl(i)+abs(hgy(i))*fcq(i))
206 ehou(i)= two*dt1*(hy*hgy(i) + hz*hgz(i))
213 ehourt= ehourt+ehou(i)
217 partsav(8,mx)=partsav(8,mx) + ehou(i)
220 ehour = ehour + ehourt
225 eani(nft+i) = eani(nft+i)+ehou(i)/
max(em30,rho(i)*
area(i))
subroutine qhvis2(pm, off, rho, y1, y2, y3, y4, z1, z2, z3, z4, vy1, vy2, vy3, vy4, vz1, vz2, vz3, vz4, py1, py2, pz1, pz2, t11, t12, t13, t14, t21, t22, t23, t24, area, cxx, mat, vd2, vis, eani, pid, geo, partsav, ipartq, ehou, iparg)