pica is a C++ kernel library for particle-in-cell plasma simulation.
The library provides basic routines and data structures for particle-in-cell plasma simulation. It currently includes Yee grid, first and second-order particle form factors, direct and charge-conserving current deposition, and cell-based particle layout and processing. The main routines are implemented for 1D, 2D and 3D Cartesian coordinates, are optimized and OpenMP-parallelized for multicore CPUs, including Xeon Phi.
The library is based on the core of the PICADOR particle-in-cell code.
pica is licensed under the MIT licence. For a detailed description, please refer to LICENSE.
pica is currently in the early alpha version and currently contains only implementations for shared memory systems. It is being extended with more data structures and routines, communications and load balancing for distributed memory. We plan to release a beta version along with a skeleton code based on the library on December 2017.