FBPIC documentation

FBPIC (Fourier-Bessel Particle-In-Cell) is a Particle-In-Cell (PIC) code for relativistic plasma physics. It is especially well-suited for physical simulations of laser-wakefield acceleration and plasma-wakefield acceleration.

The distinctive feature of FBPIC, compared to most other PIC codes, is to use a spectral cylindrical representation. This makes the code both fast and accurate, for situations with close-to-cylindrical symmetry. For a brief overview of the algorithm, its advantages and limitations, see the section Overview of the code.

In addition, FBPIC implements several useful features for laser-plasma acceleration, including:

  • Moving window
  • Calculation of space-charge fields at the beginning of the simulation
  • Intrinsic mitigation of Numerical Cherenkov Radiation (NCR) from relativistic bunches
  • Field ionization module (ADK model)
  • Support for boosted-frame simulations (including on-the-fly conversion of simulation results to the lab frame, and suppression of the Numerical Cherenkov Instability)

FBPIC can run on multi-core CPU (with multi-threading) or GPU. For large simulations, running the code on GPU can be much faster than on CPU.


Running simulations with multiple CPU nodes or multiple GPUs (using MPI) is currently functional, but not yet officially supported. Use this feature with caution for now.

Contents of the documentation

If you are new to FBPIC, we strongly recommend that you read the section Overview of the code first, so as to have a basic understanding of what the code does.

You can then see the section Installation and How to run the code, to get started with using FBPIC. For more information, the section API reference lists the main objects that are accessible through FBPIC.

Contributing to FBPIC

FBPIC is open-source, and the source code is hosted here, on Github.

We welcome contributions to the code! If you wish to contribute, please read this page .


FBPIC was originally developed by Remi Lehe at Berkeley Lab, and Manuel Kirchen at CFEL, Hamburg University. The code also benefitted from the contributions of Soeren Jalas, Kevin Peters and Irene Dornmair (CFEL).

If you use FBPIC for your research project: that’s great! We are very pleased that the code is useful to you! If your project even leads to a scientific publication, please consider citing FBPIC’s original paper, which can be found on this page (see this link for the arxiv version).