We devise and explore an iterative optimization procedure for controlling particle populations in particle-in-cell (PIC) codes via merging and splitting of computational macro-particles.
Our approach, is to compute an optimal representation of the global particle phase space structure while decreasing or increasing the entire particle population, based on k-means clustering of the data. In essence the procedure amounts to merging or splitting particles by statistical means, throughout the entire simulation volume in question, while minimizing a 6-dimensional total distance measure to preserve the physics.
Particle merging is by far the most demanding procedure when considering conservation laws of physics; it amounts to lossy compression of particle phase space data. We demonstrate that our k-means approach conserves energy and momentum to high accuracy, even for high compression ratios of about four --- i.e., Nf/Ni = 0.25.
Interestingly, we find that the most intuitive naiive approach to particle splitting does not yield accurate results over hundreds of simulation time steps. Rather, a more complex particle splitting procedure is superior.
Implementation and testing is done using an electromagnetic PIC code, the Photon-Plasma code. Nonetheless, the k-means framework is general; it is not limited to Vlasov-Maxwell type PIC codes. We discuss advantages and drawbacks of this optimal phase space reconstruction.