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 (see Running boosted-frame simulations)
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 .
Research & Attribution¶
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 (CFEL), Kevin Peters (CFEL), Irene Dornmair (CFEL), Igor Andriyash (Weizmann Institute), Omri Seemann (Weizmann Institute), Daniel Seipt (University of Michigan) and Samuel Yoffe (University of Strathclyde).
FBPIC’s algorithms are documented in following scientific publications:
- General description of FBPIC and it’s algorithm (original paper): R. Lehe et al., CPC, 2016 (arXiv)
- Boosted-frame technique with Galilean algorithm: M. Kirchen et al., PoP, 2016 (arXiv) and Lehe et al., PRE, 2016 (arXiv)
- Parallel finite-order solver for multi-CPU/GPU simulations: S. Jalas et al., PoP, 2017 (arXiv)
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 at least FBPIC’s original paper. If your project uses the more advanced algorithms, please consider citing the respective publications in addition.