Problem format

 

One space dimension

 

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

(1)

where

The standard case of a homegenous conservation law has

(2)

is the source term and K the capacity function.
The flux function f(q) can also depend explicitly on x and t as well as q, as these can be passed to the Riemann solver in a common block.

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

(3)

can be solved ( acoustics in heteregenous medium for example).

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 qL and qR, returns a set of Mw wawes Wp and speedssatisfying

(4)

The Riemann solver must also return a left-going fluctuation and a right-going fluctuation. In the standard conservative case (2) ,

(5)

must be satisfied, and the fluctuations define a "flux-difference splitting". Typically

(5)

In the nonconservative case (3), the constraint (4) need not be satisfied.

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.

 

Two space dimensions


The general form is

(6)

where. The comments above for the one-dimensionnal case apply in general in two dimensions as well. In two dimensions it is necessary to provide two Riemann solvers rpn2 and rpt2, one in the direction normal to the interface and one in the tranversal direction.

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.