10 mistakes that silently ruin particle-in-cell simulations
Numerical heating, unresolved scales, noisy diagnostics and other PIC pitfalls that produce plausible but wrong results, and how to catch them.
Particle-in-cell (PIC) codes are extraordinarily powerful, and extraordinarily good at producing beautiful plots of the wrong answer. Below are the ten problems we encounter most often when auditing simulations, roughly ordered by how often they slip through to publication.
1. Not resolving the Debye length (explicit electrostatic PIC)
Standard momentum-conserving explicit PIC suffers from finite-grid instability when the cell size exceeds the Debye length. The plasma heats itself until grows to match :
The temperature quietly rising over the run is the giveaway. Energy-conserving or implicit schemes relax this constraint, but you need to know which scheme your code uses.
2. Violating the Courant condition, or sitting right on it
For explicit electromagnetic solvers, in dimensions. Running too close to the limit can amplify numerical Cherenkov radiation for relativistic beams. This is a classic problem in laser wakefield simulations.
3. Too few particles per cell
Statistical noise scales as . Low-density tails, instability growth rates and collision operators are especially sensitive. If a result changes when you double the particles per cell, it is not converged.
4. Under-resolving the laser or the skin depth
For laser–plasma problems, about 20–30 cells per wavelength is a common minimum, and the plasma skin depth must also be resolved. In dense targets the skin depth, not the laser wavelength, often sets the resolution.
5. Box and boundary artefacts
Reflections from absorbing boundaries, particles re-entering through periodic boundaries, and boxes too small for the transverse spread of a beam all inject unphysical signals. Run a test with a larger box at least once.
6. Mismatch between 2D and 3D physics
Many phenomena differ qualitatively in 2D: self-focusing, ion acceleration scalings, Weibel instability growth and energy partition. A 2D result is a hypothesis about the 3D answer.
7. Ignoring initial-condition noise
Quiet starts, temperature seeding and random-number choices change when instabilities emerge from noise. For growth-rate measurements, seed a known perturbation and compare it with linear theory.
8. Diagnostics that alias or average away physics
Field dumps that are too infrequent, spectra binned too coarsely, and time-averaging over plasma periods can hide or invent features. Check that your diagnostic cadence resolves the physics you are measuring.
9. No conservation tracking
Total energy should be monitored in every run. A drift of a few percent may be acceptable or catastrophic, depending on what you are measuring. You can only tell if you look.
10. No analytical benchmark
The single most valuable habit: before simulating your real problem, reproduce a known result in the same configuration. Examples include the Landau damping rate, the two-stream growth rate or a Child–Langmuir current. If the code cannot reproduce theory in a simple case, it will not be right in a complex one.
Want a second pair of eyes? Our independent V&V audit checks your setup against all of the above and more. To plan resolution and cost before you run, try the free PIC Simulation Planner.
Enjoyed this? Get Radial Notes monthly.