This package contains all of the Riemann solvers provided with pyclaw. Each module solves a particular type of Riemann solver listed below with but have common function signatures that look like:
rp_<name>_<dim>d(q_l,q_r,aux_l,aux_r,aux_global)
with <name> replaced with the appropriate solver name and <dim> with the appropriate dimension.
Input: 


Output: 

All of the input and output values are arrays except for aux_global which are located according to the following scheme
Indexing works like this: here mbc=2 as an example
0 1 2 3 4 mx+mbc2 mx+mbc mx+mbc+2
 mx+mbc1  mx+mbc+1
     ...     
0 1  2 3 mx+mbc2 mx+mbc
mx+mbc1 mx+mbc+1
The top indices represent the values that are located on the grid
cell boundaries such as waves, s and other Riemann problem values,
the bottom for the cell centered values. In particular the ith grid cell
boundary has the following related information:
i1 i i+1
  
 i1  i 
  
Again, grid cell boundary quantities are at the top, cell centered
values are in the cell.
The arrays q_l[i], q_r are the left and right state respectively of the ith Riemann problem. All of the return values are also indexed by cell edge (Riemann problem being solved).
See [LeVeque_book_2002] for more details.
List of available Riemann solvers:
Riemann solvers for constant coefficient acoustics.
where
and the coefficient matrix is
The parameters density and bulk modulus are used to calculate the impedence and speed of sound = c.
Authors:  Kyle T. Mandli (20090203): Initial version 

Basic 1d acoustics riemann solver
See Riemann Solver Package for more details.
Version :  1.0 (20090203) 

Simple advection Riemann solvers
Basic advection Riemann solvers of the form (1d)
Authors:  Kyle T. Mandli (2008220): Initial version 

Basic 1d advection riemann solver
See Riemann Solver Package for more details.
Version :  1.0 (2008220) 

Riemann solvers for Burgers equation
Authors:  Kyle T. Mandli (200924): Initial version 

Riemann solver for Burgers equation in 1d
See Riemann Solver Package for more details.
Version :  1.0 (200924) 

Riemann solvers for the Euler equations
This module contains Riemann solvers for the Euler equations which have the form (in 1d):
where
the flux function is
and is the density, the velocity, is the energy and is the pressure.
Unless otherwise noted, the ideal gas equation of state is used:
Authors:  Kyle T. Mandli (20090626): Initial version 

Roe Euler solver in 1d
See Riemann Solver Package for more details.
Version :  1.0 (2009626) 

Riemann solvers for the shallow water equations.
Roe  Use Roe averages to caluclate the solution to the Riemann problem
HLL  Use a HLL solver
Riemann problem
where
the flux function is
and is the water column height, the velocity and is the gravitational acceleration.
Authors:  Kyle T. Mandli (20090205): Initial version 

Exact shallow water Riemann solver
Warning
This solver has not been implemented.
HLL shallow water solver
W_1 = Q_hat  Q_l s_1 = min(u_lc_l,u_l+c_l,lambda_roe_1,lambda_roe_2)
W_2 = Q_r  Q_hat s_2 = max(u_rc_r,u_r+c_r,lambda_roe_1,lambda_roe_2)
Q_hat = ( f(q_r)  f(q_l)  s_2 * q_r + s_1 * q_l ) / (s_1  s_2)
Version :  1.0 (20090205) 

Roe shallow water solver in 1d:
ubar = (sqrt(u_l) + sqrt(u_r)) / (sqrt(h_l) + sqrt(h_r))
cbar = sqrt( 0.5 * g * (h_l + h_r))
W_1 =  1  s_1 = ubar  cbar
 ubar  cbar 
W_2 =  1  s_1 = ubar + cbar
 ubar + cbar 
a1 = 0.5 * (  delta_hu + (ubar + cbar) * delta_h ) / cbar
a2 = 0.5 * ( delta_hu  (ubar  cbar) * delta_h ) / cbar
Version :  1.0 (20090205) 
