QuickPIC with Azimuthal Decomposition (QPAD) is a quasi-3D parallel (MPI-based) quasi-static PIC code written in modern Fortran, which is developed based on the framework of full 3D PIC code QuickPIC. QPAD is a very efficient PIC code for modeling short-pulse laser or relativistic charged particle beam–plasma interactions. QPAD is the first PIC code that combines both quasi-static approximation and azimuthal harmonic decomposition in the community of plasma based accelerators. This can speed up the simulation by orders of magnitude compared with the 3D fully explicit electromagnetic PIC code or full 3D quasi-static code. QPAD utilizes synchronous parallelism in the transverse direction and asynchronous parallelism (pipeline) in the longitudinal direction, which maximizes the parallel scalability. The current version implements many useful features for simultion of plasma based accelerators, including
- Various particle pushers
- Field-induced ionization (ADK model)
- Ponderomotive guiding center model for laser
- Spin dynamics for beam particles
- Multiple initialization for beams and plasma species
- Import beam particles from file
- Parallel cyclic reduction Poisson solver (Hypre)
More simulation features and hardware supports are being developed, including
- GPU support
- Dynamic load balance
- Adaptive time step
- Radiation reaction
- Others
QPAD is being actively developed and maintained. In order to obatin the latest features of the program at the first time, we recommend that you subscribe to this website.
If you install QPAD, we ask that you please contact Fei Li ([email protected]) or Weiming An ([email protected]). The development of QPAD relies on grant funding for which we are required to report code usage, and we would greatly appreciate being able to maintain accurate user-number tallies. We are pleased to see QPAD can help your researches. For scientific publications, please consider to cite the original paper of QPAD:
- F. Li et al., Comput. Phys. Commun. (2021), 261, 107784. (Link)
Other possible relavant papers includes:
- QuickPIC original paper 1: W. An et al., J. Comput. Phys. (2013), 250, 165–177. (Link)
- QuickPIC original paper 2: C. Huang et al., J. Comput. Phys. (2006), 217(2), 658–679. (Link)
- Pipelining algorithm: B. Feng et al., J. Comput. Phys. (2009), 228(15), 5340–5348. (Link)
Click here to read the legacy documentation.
The legacy version of documentation is no longer updated, and thus we encourage switching to the new version. The new version is prepared for the future open source QPAD and will be accessed through readthedocs.org at that time. Before then, please follow the steps below to use the new version.
The QPAD documentation source files are compiled and generated by Sphinx. Sphinx can be easily installed from PyPI.
pip install -U sphinx
Other installation methods can be found here. You may also need to install the readthedocs.org style to make the output documentation look more beautiful.
pip install sphinx_rtd_theme
Then navigate to the /docs
folder and use the following command to generate documentation with html format.
make html
The output documentation is located at /docs/build/html
and you can visit it via index.html
. To generate documentation with other output formats, please check with make help
.
In case that you have difficulty to install Sphinx or the above the method does not work for you, we have put a precompiled html documentation and you can visit it via /docs/html/index.html
.