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:
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.
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), Laurids Jeppe (CFEL), Igor Andriyash (Laboratoire d’Optique Appliquee), Omri Seemann (Weizmann Institute), Daniel Seipt (University of Michigan), Samuel Yoffe (University of Strathclyde) and David Grote (LLNL and LBNL).
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 R. Lehe et al., PRE, 2016 (arXiv)
Parallel finite-order solver for multi-CPU/GPU simulations: S. Jalas et al., PoP, 2017 (arXiv)
Parallel finite-order boosted-frame simulations for multi-CPU/GPU simulations: M. Kirchen et al., PRE, 2020
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.