c
c =========================================================
subroutine flx2(ixy,maxmx,meqn,mbc,mx,q,maux,aux,f)
c =========================================================
c
c # Copyright (C) 2002 Ralf Deiterding
c # Brandenburgische Universitaet Cottbus
c
c # Copyright (C) 2003-2007 California Institute of Technology
c # Ralf Deiterding, ralf@amroc.net
c
implicit double precision (a-h,o-z)
dimension q(1-mbc:maxmx+mbc, meqn)
dimension aux(1-mbc:maxmx+mbc, maux)
dimension f(1-mbc:maxmx+mbc, meqn)
common /param/ gamma,gamma1,q0
c
if (ixy.eq.1) then
mu = 3
mv = 4
else
mu = 4
mv = 3
endif
c
do i=1-mbc,mx+mbc
rho = q(i,1)+q(i,2)
u = q(i,mu)/rho
v = q(i,mv)/rho
p = gamma1*(q(i,5) - q(i,2)*q0 - 0.5d0*rho*(u**2+v**2))
f(i,1) = u*q(i,1)
f(i,2) = u*q(i,2)
f(i,mu) = u*q(i,mu)+p
f(i,mv) = u*q(i,mv)
f(i,5) = u*(q(i,5)+p)
enddo
c
return
end
c