WarpX: C++ Reference

Welcome to WarpX' C++ Reference

This document provides searchable low-level information useful for developers and experienced users.


WarpX is an advanced electromagnetic Particle-In-Cell code. It supports many features including Perfectly-Matched Layers (PML), mesh refinement, and the boosted-frame technique. WarpX is freely available on Github at ECP-WarpX/WarpX

WarpX is developed at LBNL in DOE's Exascale Computing Project and receives essential contributions from many collaborators, especially LIDYL (CEA, France), SLAC (USA), LLNL (USA), DESY (Germany), UHH (Germany), HZDR (Germany), Radiasoft (USA), and CERN (Switzerland), among others.


In case you are looking for the manual of WarpX, please go over to our documentation at warpx.readthedocs.io . Our manual also contains introductions for new developers that are best read first.


All of WarpX' development is done in the GitHub repository under the development branch; anyone can see the latest updates. A monthly release is tagged at the beginning of each month.


We are always happy to have users contribute to the WarpX source code. To contribute, issue a pull request against the development branch. Any level of changes are welcome: documentation, bug fixes, new test problems, new solvers, etc. For more complex projects, consider opening an issue first to coordinate development and gather feedback.

To obtain help, simply post a discussion or an issue on the WarpX GitHub page.