Particleclaw

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
 particleclaw_1p0.zip 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).

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.

Examples

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

Quartic flux function with smooth initial data 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 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 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 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.