The Phurba algorithm for simulating magnetohydrodynamics
Way of the Intercepting Asymptote
* Phurba paper #1
* Phurba paper #2
"Phurbas: An Adaptive, Lagrangian, Meshless, Magnetohydrodynamics Code. I. Algorithm" Maron, McNally & Mac Low, ApJS 2012, Vol 200, 1, 6
"Phurbas: An Adaptive, Lagrangian, Meshless, Magnetohydrodynamics Code. II. Implementation and Tests" McNally, Maron & Mac Low. ApJS 2012, Vol 200, 1, 7
Particles vs. meshes


Smoothed Particle Hydrodynamics 
Adaptive Mesh Refinement 
Algorithm classes
Phurba Pencil Riemann AREPO SPH Spectral
(AMR)
Geometry Particle Grid Grid Cell Particle Grid
Evolution Lagrange Euler Euler Lagrange Lagrange Euler
Space adapt Yes No Yes Yes Yes No
Continuous rez Yes No No Yes Yes No
Spatial fidelity 3rd order >6th order Riemann Riemann Poor Inf order
Conservative No No Yes Yes Yes No
Time fidelity D^2 / Dt^2 High Riemann Riemann Leapfrog High
Flexible PDEs Yes Yes No No No Yes
The Phurba algorithm is built from the principles of "Characteristic
(Lagrangian) evolution", "continuous fields", and "continuous spacetime
resolution". This gives it mathematical elegance and the flexibility to
simulate diverse classes of partial differential equations. This also makes it
impervious to the demons that haunt the Riemann and SPH algorithms.
Phurba's flexibility is crucial for simulating complex objects such as a
planetforming accretion disk.
Field values are carried on particles, which the phurba algorithm uses to construct
a continuous field profile. The construction is rubust for arbitrary particle
arrangements.
The phurba algorithm can simulate a highresolution wave with a mere 8 particles.
To do this, SPH requires an order of magnitude more particles, plus inelegant
kludges.
Time evolution and field construction