The routine claw1 can be used to solve a system of
equations of the form

where 


Hyperbolic systems that are not in conservation form, e.g.,


The basic requirement on the homogenous system is that it be
hyperbolic in the sense that Riemann solver can be specified that,
for two states q^{L}^{ }and
q^{R}, returns a set of M^{w} wawes
W^{p} and speedssatisfying






The Riemann solver must be supplied by the user in the form of a
subroutine rp1 passed to claw1. The user must also
supply a boundary condition bc1 and, if applicable, a routine
src1 that solves the source term equationover a time step. Strang splitting is used to couple
this with the homogenous solution.
The general form is


The equations (6) are solved on a uniform Cartesian grid with , but more general curvilinear grids can be handled if there is a smooth coordinate transformation to a uniform grid. The capacity function K(x,y) is then used for the Jacobain of the grid mapping.