C -*- Mode: Fortran; -*- c----------------------------------------------------------------------- subroutine SetRoeVariables(utilde,vl,vr,inlo,inhi,ilo,ihi) use mesh implicit none integer:: inlo, inhi double precision,intent(in):: vl(INLO:INHI,nvar) double precision,intent(in):: vr(INLO:INHI,nvar) double precision:: utilde(ILO:IHI,nvar) double precision:: rhol,rhor integer:: ilo,ihi integer:: i,j,k,l integer:: ierror utilde=0.D0 c write(6,*) 'SetRoeVars=',inlo,inhi,ilo,ihi c Simple arithmetic average do i=ilo,ihi,1 c rhol=dsqrt(vl(i,1)) c rhor=dsqrt(vr(i,1)) c utilde(i,1)=dsqrt(rhol*rhor) do l=1,nvar,1 utilde(i,l)=0.5D0*(vl(i,l)+ vr(i,l)) c write(6,*) 'Roe Vars',i,rhol, rhor c utilde(i,l)=(vl(i,l)*rhol+ vr(i,l)*rhor)/(rhol+rhor) c utilde(i,l)=vl(i,l) enddo enddo return end