Berkeley Lab


The Beam, Plasma & Accelerator Simulation Toolkit (BLAST) evolved to explore opportunities for cooperation and integration among the developers of several codes developed by LBNL’s Accelerator Modeling Program (AMP) researchers and external collaborators (in the U.S. and abroad). Each is a state-of-the-art computational solution to certain problems in the modeling of particle accelerators. Links on this page take you to more-detailed descriptions of each code, and ultimately to their own developers’ sites.



BeamBeam3D is a parallel, electrostatic particle-in-cell (PIC) code for modeling strong-strong or strong-weak beam-beam interaction in high-energy colliders.


FBPIC is a specialized electromagnetic Particle-In-Cell code for simulations of laser-wakefield acceleration and plasma-wakefield acceleration, with close-to-cylindrical symmetry. The code can run on multi-CPU and multi-GPU architectures (NVIDIA only), and uses a cylindrical geometry to speed up simulations.


The IMPACT Suite is a 3-D parallel electrostatic PIC framework for modeling high intensity, high brightness beams in rf proton linacs, electron linacs and photoinjectors. IMPACT draws upon MaryLie for high order optics based on Lie algebraic maps. IMPACT’s most popular variants are IMPACT-T (time-based particle tracking) and IMPACT-Z (s-based particle tracking).


ImpactX is the next generation of the IMPACT-Z beam dynamics code, using s-based particle tracking on GPU and mesh-refinement capabilities. ImpactX is under development and a full re-implementation of IMPACT-Z in modern C++ (2022).


LW3D is used for modeling of radiative & space-charge effects. It is under development (2021).


POSINST is a 2-D electrostatic PIC code for studying the buildup of electron clouds. POSINST has a detailed secondary electron yield module. POSINST is not under active development.


WARP is a 2- and 3-D, parallel, electrostatic and electromagnetic PIC framework, aware of the accelerator lattice, that is used to model the generation, transport, and neutralization of charged-particle beams. It also has uses in modeling ion traps and laser-plasma accelerators.


WarpX is an advanced electromagnetic Particle-In-Cell code. WarpX is a full re-implementation of Warp in modern C++ for mesh-refinement and GPUs, developed as part of the Exascale Computing Project. WarpX also includes a time-based electrostatic mode.


Led by our collaborators at Berkeley Lab’s Applied Mathematics and Computational Research Division (AMCR), ARTEMIS (Adaptive mesh Refinement Time-domain ElectrodynaMIcs Solver) couples the Maxwell equation implementation in WarpX with an LLG module for studying micromagnetics and performance of next-generation microelectronics. ARTEMIS is built directly on WarpX.

GEMPIX (lead: IPP)

Led by our collaborators at Max Planck Institute for Plasma Physics (IPP), GEMPIX will be a gyrokinetic particle-in-cell code for tokamak fusion. GEMPIX is under development (2022) and will be based on BLAST software.

HiPACE++ (lead: DESY)

Led by our collaborators at DESY, HiPACE (Highly efficient Plasma Accelerator Emulation) is a relativistic, fully electromagnetic, three-dimensional (3D) and MPI-parallelized particle-in-cell (PIC) code. It uses the quasi-static approximation to efficiently model particle-beam driven plasma-wakefield accelerators. The successor of the original HiPACE code is called HiPACE++. It is built on the same software stack as WarpX and thus supports modern GPUs and mesh-refinement.



The Accelerated BLAST Recipes (ABLASTR) library separates general particle-in-cell components from WarpX that are common enough for the variety of applications in BLAST. ABLASTR is under development (2022) and based on AMReX.


AMReX is a software framework for massively parallel, block-structured adaptive mesh refinement (AMR) applications. Its development is led by our collaborators at Berkeley Lab’s Applied Mathematics and Computational Research Division (AMCR).


The Open Standard for Particle-Mesh Data (openPMD) is an open community meta-data standard originally started between Helmholtz-Zentrum Dresden-Rossendorf and Berkeley Lab. It has since grown to many contributors. The reference library implementation openPMD-api, which is maintained by Berkeley Lab and CASUS scientists, is used in BLAST codes for standardized I/O and exchange of beam & particle accelerator data between codes.


PICSAR was originally an Fortran library for common particle-in-cell components. It has evolved in a standalone PICSAR-QED C++ library that can be used as strong-field quantum electrodynamics physics module in GPU-accelerated PIC codes (e.g., based on AMReX or Kokkos). PICSAR-QED development is led by our collaborators at CEA-LIDYL.


The Particle-In-Cell Modeling Interface (PICMI) standard establishes conventions for the naming and structuring of input files for Particle-In-Cell simulations. For that, PICMI defines a common Python API that can be used across codes such as WarpX and FBPIC.