rpt2bu.f.html | |
Source file: rpt2bu.f | |
Directory: /Users/rjl/clawpack_src/clawpack_master/apps/fvmbook/chap20/burgers | |
Converted: Sat Mar 23 2024 at 11:04:47 using clawcode2html | |
This documentation file will not reflect any later changes in the source file. |
c c c ===================================================== subroutine rpt2(ixy,imp,maxm,meqn,mwaves,maux,mbc,mx, & ql,qr,aux1,aux2,aux3,asdq,bmasdq,bpasdq) c ===================================================== implicit double precision (a-h,o-z) c c # Riemann solver in the transverse direction for 2D Burgers' equation c # u_t + cos(theta)*(0.5*u^2)_x + sin(theta)*(0.5*u^2)_y = 0 c c # Split asdq into eigenvectors of Roe matrix B. c # For the scalar equation, this simply amounts to computing the c # transverse wave speed from the opposite Riemann problem. c dimension ql(meqn, 1-mbc:maxm+mbc) dimension qr(meqn, 1-mbc:maxm+mbc) dimension asdq(meqn, 1-mbc:maxm+mbc) dimension bmasdq(meqn, 1-mbc:maxm+mbc) dimension bpasdq(meqn, 1-mbc:maxm+mbc) common /comrp/ theta c if (ixy .eq. 1) then b = 0.5d0*dsin(theta) else b = 0.5d0*dcos(theta) endif c do 10 i = 2-mbc, mx+mbc sb = b*(qr(1,i-1) + ql(1,i)) bmasdq(1,i) = dmin1(sb, 0.d0) * asdq(1,i) bpasdq(1,i) = dmax1(sb, 0.d0) * asdq(1,i) 10 continue c return end