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.
Applications
BEAMBEAM3D
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
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.
HiPACE++
Led by DESY, HiPACE++ (Highly efficient Plasma Accelerator Emulation in C++) is an open-source, parallel, 3D quasi-static particle-in-cell code to simulate beam-driven and laser-driven plasma acceleration. A full re-write of the legacy code HiPACE, HiPACE++ runs on CPU as well as GPU, demonstrating large speed-up over CPU-only implementations. HiPACE++ supports openPMD format for input and output, and features advanced algorithms (explicit field solver, adaptive time step) as well as multi-physics capabilities like Coulomb collisions, ADK model for field ionization, ion motion, and temperature effects. More info here.
IMPACT
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
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
LW3D is used for modeling of radiative & space-charge effects.
It is under development (2021).
POSTINST
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.
Wake-T
Led by DESY, Wake-T (Wakefield particle Tracker) is a particle tracking code that makes use of reduced physical models to allow for fast simulations of laser- and beam-driven wakefield accelerators. It models the plasma wakefield with a gridless, cylindrical quasi-static model and includes definitions for various beamline elements to enable start-to-end simulations of multistage setups.
WARP
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
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.
ARTEMIS
Led by 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
Led by 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.
Libraries
ABLASTR
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
AMReX is a software framework for massively parallel, block-structured adaptive mesh refinement (AMR) applications. Its development is led by Berkeley Lab’s Applied Mathematics and Computational Research Division (AMCR).
LASY
LAser manipulations made eaSY (lasy) is a Python library that facilitates the initialization of complex laser pulses, in simulations of laser-plasma interactions. More specifically, lasy offers many ways to define complex laser pulses (e.g. from commonly-known analytical formulas, from experimental measurements, etc.) and offers pre-processing functionalities (e.g. propagation, re-normalization, geometry conversion). The laser field is then exported in a standardized file, that can be read by external simulation codes.
openPMD-api
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.
Optimas
Co-led by DESY and LBNL, in collaboration with ANL scientists for libEnsemble, optimas is a Python library for scalable optimization on massively-parallel supercomputers. See the documentation for installation instructions, tutorials, and more information.
PICSAR-QED
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 CEA-LIDYL.
PICMI
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.