f-wave version of the wave-propagation algorithms

The subroutine claw/clawpack/1d/lib/step1fw.f can be used in place of claw/clawpack/1d/lib/step1.f in order to implement the f-wave version of the wave-propagation algorithms, as described in the paper
A Wave Propagation Method for Conservation Laws and Balance Laws with Spatially Varying Flux Functions,
Derek S. Bale, Randall J. LeVeque, Sorin Mitran, and James A. Rossmanith. To appear in SIAM J. Sci. Comput. (fwave.ps.gz)

In this algorithm, the flux difference $\Delta f$ is decomposed into f-waves instead of decomposing $\Delta Q$ into waves. This approach is useful for problems in conservation form with a spatially varying flux function, and for some problems with source terms.

To use step1fw.f, the Riemann solver rp1.f must be modified to return fwave in place of wave, along with the corresponding speeds s and fluctuations amdq and apdq. Examples using this approach, along with the required Riemann solvers, can be found at:

In two dimensions, the routine claw/clawpack/2d/lib/flux2fw.f can be used in place of claw/clawpack/2d/lib/flux2.f in order to implement the f-wave version of the wave-propagation algorithms.

(In two dimensions step2 calls flux2 along each slice of data and it is flux2 that must be modified.)


CLAWPACK Home page