Glossary

In daily communication, we tend to abbreviate a lot of terms. It is important to us to make it easy to interact with the ImpactX community and thus, this list shall help to clarify often used terms.

Abbreviations

  • 2FA: Two-factor-authentication

  • ABLASTR: Accelerated BLAST Recipes, a library shared between the BLAST codes WarpX and ImpactX, providing, e.g., the space charge and CSR solvers

  • ADIOS2: The Adaptable Input Output System version 2, an I/O backend for openPMD output (bp files)

  • AI: artificial intelligence. ImpactX provides user-friendly interfaces suitable for AI/ML workflows, see, e.g., AI-assisted input design

  • AMR: adaptive mesh-refinement, used in our space charge solvers to resolve the particle beam where it needs it most

  • API: application programming interface, e.g., the Python interface of ImpactX

  • BC: boundary condition (of a simulation), e.g., the longitudinal particle boundary condition

  • BLAST: Beam, Plasma & Accelerator Simulation Toolkit, the open source code suite that ImpactX is part of

  • CI: continuous integration, automated tests that we perform before a proposed code-change is accepted; see PR

  • CPU: central processing unit, we usually mean a socket or generally the host-side of a computer (compared to the computer’s “accelerator”, i.e. GPU)

  • CS: Courant-Snyder; see Twiss parameters in the terms below

  • CSR: coherent synchrotron radiation, a collective effect from radiation generated when a charged particle beam is bent

  • DOE: The United States Department of Energy, the largest sponsor of national laboratory research in the United States of America

  • DP: double precision (64-bit floating point), the default ImpactX_PRECISION; see also SP

  • FFT: fast Fourier transform, e.g., used by the IGF space charge solver and the CSR calculation (-DImpactX_FFT=ON)

  • FODO: a periodic focusing lattice cell consisting of a focusing (F) quadrupole, a drift (O), a defocusing (D) quadrupole and another drift (O). The “hello world” of our examples

  • GPU: originally graphics processing unit, now used for fast general purpose computing (GPGPU). Also called (hardware) accelerator of a computer.

  • HDF5: Hierarchical Data Format 5, an I/O backend for openPMD output (h5 files)

  • HPC: high-performance computing, e.g., on large computing clusters and supercomputers

  • IGF: integrated Green function, the method used by the default (fft) space charge Poisson solver

  • IO: input/output, usually files and/or data

  • IOTA: the Integrable Optics Test Accelerator at Fermilab. ImpactX implements its nonlinear magnetic insert as a lattice element

  • IPO: interprocedural optimization, a collection of compiler optimization techniques that analyze the whole code to avoid duplicate calculations and optimize performance. Also called link-time optimization (LTO), see below.

  • ISR: incoherent synchrotron radiation, causing radiation reaction (mean energy loss) of the bunch in bending elements, often relevant at high energies

  • JSON: JavaScript Object Notation, a simple text format.

  • K-V: Kapchinskij-Vladimirskij distribution, an initial beam distribution that is uniform on the surface of a 4D transverse phase space ellipsoid

  • LBNL: Lawrence Berkeley National Laboratory, the U.S. DOE national laboratory leading the development of ImpactX

  • LLM: large language model. See our documentation on AI-assisted input design and developing ImpactX with LLMs

  • LTO: link-time optimization, program optimizations for file-by-file compilation that optimize object files before linking them together to an executable. Also called interprocedural optimization (IPO), see above.

  • MAD-X: Methodical Accelerator Design (version X), a CERN code for accelerator design. ImpactX often follows MAD-X conventions for element strengths and can import MAD-X lattice files

  • MCP: Model Context Protocol, an open standard to provide context (e.g., the ImpactX documentation) to LLMs

  • ML: machine learning, e.g., trained neural networks can be used as ML surrogate models for lattice elements, sections, or collective effects

  • MLMG: multi-level multigrid, the iterative solver used by the multigrid space charge Poisson solver option

  • MPI: message passing interface, used for parallelization over multiple nodes and/or multiple GPUs

  • MR: mesh-refinement, see AMR

  • NERSC: National Energy Research Scientific Computing Center, a supercomputing center located in Berkeley, CA (USA)

  • OTP: One-Time-Password, see 2FA

  • PALS: Particle Accelerator Lattice Standard, a community effort toward a common lattice description file format, which ImpactX can read

  • PR: github pull request, a proposed change to the ImpactX code base

  • RF: radio-frequency, e.g., an RF cavity element for particle acceleration and bunching

  • RMS: root mean square, e.g., in RMS beam sizes and RMS emittances calculated from the beam moments

  • SIMD: single instruction, multiple data, CPU vectorization used to speed up particle tracking (-DImpactX_SIMD=ON)

  • SP: single precision (32-bit floating point), see also DP

Terms

  • accelerator: depending on context, either a particle accelerator in physics or a hardware accelerator (i.e. GPU) in computing

  • AMReX: C++ library for block-structured adaptive mesh-refinement, a primary dependency of ImpactX

  • aperture: a thin collimator element applying a transverse boundary to the beam; particles outside are lost (see scraping)

  • beam monitor: a zero-length lattice element that writes the particle beam to openPMD output whenever the beam passes it

  • bunch: a longitudinally confined group of particles, also referred to as beam; the particle ensemble that ImpactX tracks through the lattice

  • chromatic effects: the dependence of the transverse focusing optics on the particle energy. Chromatic element models retain the exact nonlinear dependence on the energy variable \(p_t\) (see assumptions)

  • collective effects: effects that depend on the particle beam as a whole, arising from the interaction of the beam particles with each other through their self-fields and radiation, in contrast to single-particle optics in external fields. ImpactX applies collective effects such as space charge and the CSR wakefield between the slices of lattice elements

  • covariance matrix: the 6x6 matrix \(\Sigma_{ij}=\langle\zeta_i\zeta_j\rangle\) of second moments of the phase space coordinates; used to characterize the initial beam distribution and as the tracked state in envelope tracking

  • dashboard: the browser-based graphical user interface of ImpactX, which can also run in Jupyter notebooks

  • dispersion: linear dependence of the transverse particle orbit on the particle energy deviation (important within bending dipoles), reported in the reduced beam characteristics

  • distribution: the initial phase space density of the particle beam; ImpactX implements Gaussian, K-V, waterbag, Kurth, semi-Gaussian, triangle and thermal distributions, among others

  • eigenemittances: the three invariant emittances of the (possibly coupled) 6D beam distribution, also known as mode emittances; they coincide with the RMS emittances when inter-plane correlations vanish

  • emittance: a measure of the phase space area occupied by the beam in a coordinate plane; ImpactX reports unnormalized (geometric, 1-RMS) emittances \(\epsilon\) and normalized emittances \(\epsilon_\mathrm{n} = (\beta\gamma)_\mathrm{ref} \cdot \epsilon\) (see beam distribution input)

  • envelope tracking: a simplified tracking mode that evolves the beam envelope (6x6 covariance matrix) through linearized transport maps, for rapid parameter scans

  • hard-edge element: an ideal (thick) element model in which the fields are independent of s inside the element and terminate abruptly at its ends; see soft-edge element

  • lattice: the ordered sequence of beamline elements (drifts, magnets, cavities, …) that the beam is tracked through; it can be repeated periodically, e.g., for rings or channels

  • linac: a linear particle accelerator

  • LUMI: a European pre-exascale supercomputer at CSC (Finland)

  • macroparticle: a weighted simulation particle representing many physical beam particles

  • magnetic rigidity: \(B\rho = p/q\), the momentum per unit charge of the reference particle; element strengths (e.g., the quadrupole strength \(k\)) are normalized by it

  • openPMD: Open Standard for Particle-Mesh Data Files, a community meta-data project for scientific data; the output format of the beam monitor and input for the particle source element

  • Perlmutter: a Berkeley Lab nobel laureate and a Pre-Exascale supercomputer at NERSC

  • pyAMReX: the Python binding of AMReX, used to access particle and field data from Python without copying

  • Python: a popular scripted programming language and flexible interface language to ImpactX

  • reference particle: the particle that follows the reference trajectory; it is described by 8 phase space variables in a global lab coordinate system and the beam particle coordinates are deviations from it

  • reference trajectory: the nominal machine orbit, i.e., the ideal single-particle orbit used as part of the optics design; it relates the local beam coordinate system to the global lab coordinate system

  • ring: a circular accelerator, e.g., a storage ring or synchrotron. Usually modeled by repeating the lattice over many turns

  • s: the path length along the reference trajectory, used as the independent dynamical variable of tracking (instead of time)

  • scraping: the removal of particles that are lost from the beam, e.g., when hitting an aperture or leaving the simulation domain. Lost particles are collected and can be written to openPMD output (particles_lost)

  • slice: thick lattice elements are sliced into nslice segments. Collective effects such as space charge kicks are applied between slices

  • soft-edge element: an element modeled with an \(s\)-dependent, user-provided on-axis field profile, e.g., RF cavities, soft-edge solenoids and soft-edge quadrupoles

  • space charge: the collective effect of the beam’s own electrostatic self-field. Calculated by solving the Poisson equation in the bunch frame, between slices of the lattice elements

  • spin tracking: updating the particle spin 3-vector in the electromagnetic fields of each element, using methods based on the Thomas-BMT equation; the mean of the particle spin vectors is the polarization vector

  • symplectic: the defining property of Hamiltonian (transfer) maps, which preserve the phase space structure; particle tracking through lattice optics in ImpactX is symplectic

  • tracking modes: ImpactX can track individual particles (full dynamics), the beam envelope (linearized optics), or only the reference orbit (for early design)

  • transfer map: the map that advances the phase space coordinates through a lattice element; to lowest order a 6x6 matrix (linear transfer map), which users can also supply directly (linear_map)

  • Twiss parameters: the Courant-Snyder parameters \(\alpha\), \(\beta\) and \(\gamma\) describing the phase space ellipse of the beam, related by \(\gamma\beta - \alpha^2 = 1\)

  • wakefield: a collective self-field (other than space charge) that acts back on the beam, e.g., the CSR wakefield generated in bending elements

  • WarpX: the electromagnetic and electrostatic particle-in-cell code of BLAST, e.g., used to model source, injector, or plasma-based accelerator elements. ImpactX shares the ABLASTR library with WarpX and can exchange particle beams with WarpX through openPMD or Python

For plasma, laser and fusion related terminology, please also see the WarpX glossary.