clawpack/pyclaw — pull request #137 by ketch (2012-02-14 06:52:16+00:00)
Title: Dynamic selection of Riemann solver

This change dramatically alters the way PyClaw works, although the change to application scripts is minor. Previously, each application had its own Makefile in which the appropriate set of Riemann solvers was specified.

With this update (which has a corresponding update in clawpack/riemann) the Riemann solvers are chosen in Python by something like

import riemann
solver.rp = riemann.rp2_acoustics

which ensures that the appropriate normal and transverse solvers are used. No compilation is needed now for most applications. Instead, the user only needs to make once in each of the following directories:

- $PYCLAW/src/pyclaw/clawpack
- $PYCLAW/src/pyclaw/sharpclaw
- $RIEMANN/src/python/riemann

We should probably add a setup.py in each of those repos that does the compiling.

Application-specific compilation is still required if one wishes to use problem-specific Fortran routines; the only existing example is that of shallow water on the sphere.