Spectral, quasi-3D Particle-In-Cell for CPU and GPU
FBPIC 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, with close-to-cylindrical symmetry.
Language and harware
FBPIC is written entirely in Python, but uses Numba Just-In-Time compiler for high performance. In addition, the code was designed to be run either on CPU or GPU. For large simulations, running the code on GPU can be up to 40 times faster than on CPU.
The installation instructions below are for a local computer. For more details, or for instructions specific to a particular HPC cluster, see the documentation.
Install the dependencies of FBPIC. This can be done in two lines:
conda install numba scipy h5py conda install -c conda-forge mpi4py pyfftw
Download and install FBPIC:
pip install fbpic
Optional: in order to run on GPU, install the additional package accelerate:
conda install accelerate
(The accelerate package is not free, but there is a 30-day free trial period, which starts when the above command is entered. For further use beyond 30 days, one option is to obtain an academic license, which is also free. To do so, please visit this link.)
Once installed, FBPIC is available as a Python module on your system.
Therefore, in order to run a physical simulation, you will need a Python script that imports FBPIC’s functionalities and use them to setup the simulation. You can find examples of such scripts in the documentation or in this repository, in docs/source/example_input/.
Once your script is ready, the simulation is run simply by typing:
We welcome contributions to the code! Please read this page for guidelines on how to contribute.
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!
Release history Release notifications
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size||File type||Python version||Upload date||Hashes|
|Filename, size fbpic-0.4.1-py3-none-any.whl (173.5 kB)||File type Wheel||Python version py3||Upload date||Hashes View hashes|
|Filename, size fbpic-0.4.1.tar.gz (136.1 kB)||File type Source||Python version None||Upload date||Hashes View hashes|