Particleclaw is a characteristic particle method for scalar conservation laws. Instead of considering a fixed grid, particles follow the the characteristic curves. This yields an accurate approximation while the solution is smooth. On the occurrence of shocks, particles are merged. Similarly, into large gaps, particles are inserted. This particle management mimics the behavior of characteristic curves, and shocks and rarefaction waves arise naturally. Shocks can be located accurately, without being explicitly tracked. Our method is designed to perform the merging and insertion in such a fashion that correct shock speeds are obtained. It is based on local similarity solutions between neighboring particles, which yield an explicit definition of area. Thus, the method conserves area exactly.

Program Code

Below is the method as a fully vectorized Matlab code.
Current version: 1.0 All below Matlab files
particleclaw.m The computational code
pclaw_ex_quartic.m Example flow under a quartic flux function
pclaw_ex_burgers.m Example Burgers' equation with Riemann initial condition
pclaw_ex_bucklev.m Example Buckley-Leverett equation
pclaw_ex_obstacle.m Example flow over obstacle
pclaw_ex_obstacle_disode.m   Example flow over obstacle with special treatment of discontinuous source term
pclaw_load.m Load a stored computational data file
pclaw_animate.m Load and animating a sequence of computational data files
README.txt A brief documentation

The Method

Particles are moved according to their characteristic equations. Between two neighboring particles, an interpolation is defined, such that the evolution of the interpolant is an actual solution of the conservation law. As shown in the left figure below, the interpolating solution is defined as either coming from a discontinuity (rarefaction wave), or going into a discontinuity (compression wave).

Interpolation Inserting a particle Merging two particles

If two particles depart, a new particle is inserted once their distance becomes too large. As shown in the middle figure above, the newly inserted particle is placed on the interpolation. At the moment two particles share the same position (but different function values), they are merged into a single particle. As shown in the right figure above, the merged particle is placed, so that the total area in conserved. It can be shown that the new particle's function value lies between the merged particles' function values, hence the method is total variation diminishing, and shocks move at correct speeds.


Below examples show the particle method in comparison with Clawpack solutions of a similar resolution.

Quartic flux function with smooth initial data
Particleclaw for quartic flux
Videos: animated gif (500kB), divx codec (1MB), msvc codec (4.3MB)

While the solution is smooth, it is represented exactly by the particles. After shocks have occurred, the particles near jumps approximate the solution.

Burgers' equation Riemann problem
Particleclaw for Burgers Riemann problem
Videos: animated gif (500kB), divx codec (1MB), msvc codec (3.6MB)

A shock is always represented by one particle and it stretches one interval to the left and one to the right. Any particle arising from a merge indicates a shock. A simple postprocessing step can recover a sharp shock. With this step, for the simple case of a Riemann problem, the method reproduces the exact solution.

Buckley-Leverett equation
Particleclaw for Buckley-Leverett
Videos: animated gif (500kB), divx codec (1MB), msvc codec (4.4MB)

Non-convex flux functions appear in many practical applications, such as the Buckley-Leverett equation in oil recovery. In the particle method, they are treated using special particles, that are carried at inflection points of the flux function.

Flow over obstacle
Particleclaw for Burgers with source
Videos: animated gif (750kB), divx codec (1.5MB), msvc codec (6.4MB)

The method is based on a splitting approach: Source terms are incorporated fully into the characteristic formulation. However, particle management is based on the similarity solutions of the source-free equation.

Current Research

The particle method preserves area exactly by construction. In addition, it gives a direct control on entropy, namely entropy is only decreased when particles are merged. We are currently applying the method to a version of Burgers' equation with a global source term. The physical questions arising with this equation require an exact conservation of area, and an exact control on the energy (which is an entropy here). Traditional numerical schemes do not allow a controlled treatment of the energy, due to the presence of numerical dissipation.

Related Publications

Y. Farjoun, B. Seibold, An exact particle method for scalar conservation laws and its application to stiff reaction kinetics Meshfree methods for Partial Differential Equations V, Lecture Notes in Computational Science and Engineering, Vol. 79, Griebel, M. and Schweitzer, M.A. (ed.), Springer, 2011, pp. 105-124.
Y. Farjoun, B. Seibold, A rarefaction-tracking method for conservation laws, J. Eng. Math, Vol. 66, No. 1, 2010, pp. 237-251.
Y. Farjoun, B. Seibold, An exactly conservative particle method for one dimensional scalar conservation laws, J. Comput. Phys., Vol. 228, No. 14, 2009, pp. 5298-5315.
Y. Farjoun, B. Seibold, Solving one dimensional scalar conservation laws by particle management, Meshfree methods for Partial Differential Equations IV, Lecture Notes in Computational Science and Engineering, Vol. 65, Griebel, M. and Schweitzer, M.A. (ed.), Springer, 2009, pp. 95-109.
B. Seibold, M-Matrices in meshless finite difference methods, PhD thesis, Department of Mathematics, University of Kaiserslautern, 2006.