Published August 13, 2026 | Version 26.08

ImpactX: an s-based beam dynamics code including space charge effects

Contributors

Research group:

  • 1. Lawrence Berkeley National Laboratory

Description

Dependencies

What's Changed

  • Space charge test with test particle tracking by @cemitch99 in https://github.com/BLAST-ImpactX/impactx/pull/1458
  • AMReX TrackedVector by @ax3l in https://github.com/BLAST-ImpactX/impactx/pull/1519
  • Space Charge: Less Guards in phi & next-best padding by @ax3l in https://github.com/BLAST-ImpactX/impactx/pull/1511
  • Fix: ExactSbend::transport_map by @ax3l in https://github.com/BLAST-ImpactX/impactx/pull/1524
  • Bump actions/checkout from 6 to 7 by @dependabot[bot] in https://github.com/BLAST-ImpactX/impactx/pull/1525
  • Fix 2D charge projection & 2D/2.5D SC by @ax3l in https://github.com/BLAST-ImpactX/impactx/pull/1517
  • Restore import of matplotlib for example plotting by @cemitch99 in https://github.com/BLAST-ImpactX/impactx/pull/1527
  • Modify Gauss2p5d longitudinal scale parameter default by @cemitch99 in https://github.com/BLAST-ImpactX/impactx/pull/1516
  • SP Tests: Tolerances by @ax3l in https://github.com/BLAST-ImpactX/impactx/pull/1520
  • BeamMonitor: Support >2B Particles Robustly by @ax3l in https://github.com/BLAST-ImpactX/impactx/pull/1077
  • setup.py: Emscripten by @ax3l in https://github.com/BLAST-ImpactX/impactx/pull/1528
  • Performance: Optimize (Chr)Quad by @ax3l in https://github.com/BLAST-ImpactX/impactx/pull/1521
  • Thin Elements: No Collective Kicks by @ax3l in https://github.com/BLAST-ImpactX/impactx/pull/1533
  • Array: Fixed Seed by @ax3l in https://github.com/BLAST-ImpactX/impactx/pull/1536
  • CI: Win MSVC w/ AVX2 by @ax3l in https://github.com/BLAST-ImpactX/impactx/pull/1539
  • openPMD-api: 0.17.1 by @ax3l in https://github.com/BLAST-ImpactX/impactx/pull/1535
  • Add sextupole kick test by @cemitch99 in https://github.com/BLAST-ImpactX/impactx/pull/1544
  • Fix handling of user apply_longitudinal_kick flag for Gauss2p5d by @cemitch99 in https://github.com/BLAST-ImpactX/impactx/pull/1546
  • setup.py: honor CMAKE_GENERATOR_PLATFORM for the Windows -A flag by @ax3l in https://github.com/BLAST-ImpactX/impactx/pull/1547
  • Bump actions/cache from 5 to 6 by @dependabot[bot] in https://github.com/BLAST-ImpactX/impactx/pull/1541
  • Doc: add_n_particles MPI by @ax3l in https://github.com/BLAST-ImpactX/impactx/pull/1537
  • The scripts were trying to write into directory $CFS/$proj_g but by @egstern in https://github.com/BLAST-ImpactX/impactx/pull/1543
  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in https://github.com/BLAST-ImpactX/impactx/pull/1548
  • Fix: GPU runs w/o GPU-Aware MPI by @ax3l in https://github.com/BLAST-ImpactX/impactx/pull/1532
  • Doc: Normalize Copyright Years 22-26 by @ax3l in https://github.com/BLAST-ImpactX/impactx/pull/1552
  • pyImpactX: Only export _PyInit_impactx_pybind by @ax3l in https://github.com/BLAST-ImpactX/impactx/pull/1538
  • Sphinx: :pp:param: role by @ax3l in https://github.com/BLAST-ImpactX/impactx/pull/1526
  • Doc: MPI Source Behavior by @ax3l in https://github.com/BLAST-ImpactX/impactx/pull/1551
  • Python: Config for openPMD by @ax3l in https://github.com/BLAST-ImpactX/impactx/pull/1555
  • Dashboard: Support Boolean Element Properties by @ax3l in https://github.com/BLAST-ImpactX/impactx/pull/1554
  • Prepare Particle Tracking Loop for Strang Splitting by @ax3l in https://github.com/BLAST-ImpactX/impactx/pull/1529
  • Gauss2p5D solver for low relativistic beta by @cemitch99 in https://github.com/BLAST-ImpactX/impactx/pull/1550
  • Python: impactx.Config.openpmd_backends by @ax3l in https://github.com/BLAST-ImpactX/impactx/pull/1559
  • Expanding Beam: Refine MLMG Space-Charge Grid by @ax3l in https://github.com/BLAST-ImpactX/impactx/pull/1558
  • Elements: Consistent Defaults by @ax3l in https://github.com/BLAST-ImpactX/impactx/pull/1449
  • CI: Benchmark Beam Moments by @ax3l in https://github.com/BLAST-ImpactX/impactx/pull/1560
  • Docs: Glossary by @ax3l in https://github.com/BLAST-ImpactX/impactx/pull/1553
  • Add QuadEdge spin push. by @cemitch99 in https://github.com/BLAST-ImpactX/impactx/pull/1514
  • Bump actions/setup-python from 6 to 7 by @dependabot[bot] in https://github.com/BLAST-ImpactX/impactx/pull/1567
  • Update Xopt Examples & CI by @ax3l in https://github.com/BLAST-ImpactX/impactx/pull/1568
  • Fix: Python Ref Q/M Properties by @ax3l in https://github.com/BLAST-ImpactX/impactx/pull/1569
  • BeamMonitor: gyromagnetic anomaly by @ax3l in https://github.com/BLAST-ImpactX/impactx/pull/1570
  • ChargeBinning: amrex::For by @ax3l in https://github.com/BLAST-ImpactX/impactx/pull/1575
  • Source: Add load_ref_particle=True by @ax3l in https://github.com/BLAST-ImpactX/impactx/pull/1571
  • BeamMonitor: Options particles and beam_moments by @ax3l in https://github.com/BLAST-ImpactX/impactx/pull/1557
  • Optimize Performance of Beam Moments Calculation: Single Pass by @ax3l in https://github.com/BLAST-ImpactX/impactx/pull/1561
  • Treat special case Ez=0 for ChrAcc element. by @cemitch99 in https://github.com/BLAST-ImpactX/impactx/pull/1577
  • Optimize Performance of Beam Moments Calculation: SIMD by @ax3l in https://github.com/BLAST-ImpactX/impactx/pull/1564
  • Spin push for ChrAcc element by @cemitch99 in https://github.com/BLAST-ImpactX/impactx/pull/1572
  • Sphinx: Hide TOC Titles by @ax3l in https://github.com/BLAST-ImpactX/impactx/pull/1582
  • routine to instantiate an impactx lattice based on a synergia lattice by @egstern in https://github.com/BLAST-ImpactX/impactx/pull/1271
  • Python: Improved Config by @ax3l in https://github.com/BLAST-ImpactX/impactx/pull/1580
  • Bump CodSpeedHQ/action from 4 to 5.0.1 by @dependabot[bot] in https://github.com/BLAST-ImpactX/impactx/pull/1586
  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in https://github.com/BLAST-ImpactX/impactx/pull/1585
  • Config: Omit Versions by @ax3l in https://github.com/BLAST-ImpactX/impactx/pull/1589
  • Fix BeamMonitor: Sample Interval Leak by @ax3l in https://github.com/BLAST-ImpactX/impactx/pull/1592
  • np.allclose Defaults by @ax3l in https://github.com/BLAST-ImpactX/impactx/pull/1581
  • CI: Actions Cache Hygiene by @ax3l in https://github.com/BLAST-ImpactX/impactx/pull/1590
  • Element Accessors: Traits and KnownElements Getters/Setters by @ax3l in https://github.com/BLAST-ImpactX/impactx/pull/1591
  • Elements: Argument Validation Raises ValueError by @ax3l in https://github.com/BLAST-ImpactX/impactx/pull/1595
  • Elements: Validate mapsteps > 0 by @ax3l in https://github.com/BLAST-ImpactX/impactx/pull/1596
  • Python: Fix Lattice Rebuild Corrupting Elements by @ax3l in https://github.com/BLAST-ImpactX/impactx/pull/1597
  • Elements: Validate nslice > 0 and int_order by @ax3l in https://github.com/BLAST-ImpactX/impactx/pull/1598
  • ExactCFbend: Fix Uninitialized Rigidity in transport_map by @ax3l in https://github.com/BLAST-ImpactX/impactx/pull/1600
  • Elements: Fix transport_map Reading Push-Only State by @ax3l in https://github.com/BLAST-ImpactX/impactx/pull/1601
  • Bump CodSpeedHQ/action from 5.0.2 to 5.0.3 by @dependabot[bot] in https://github.com/BLAST-ImpactX/impactx/pull/1603
  • Bump github/codeql-action from 4.37.4 to 4.37.6 by @dependabot[bot] in https://github.com/BLAST-ImpactX/impactx/pull/1604
  • Python: Fix Element unit Bindings by @ax3l in https://github.com/BLAST-ImpactX/impactx/pull/1607
  • synmadx: Fix ExactCFbend/ExactMultipole Conversion Crashes by @ax3l in https://github.com/BLAST-ImpactX/impactx/pull/1594
  • Spin push for dipole fringe fields by @cemitch99 in https://github.com/BLAST-ImpactX/impactx/pull/1605
  • Warn if too Many (or too Few) Boxes Per Process by @ax3l in https://github.com/BLAST-ImpactX/impactx/pull/1578
  • Multipole: 2nd-Order Accurate Spin Push by @ax3l in https://github.com/BLAST-ImpactX/impactx/pull/1609
  • Spin push for thin kick elements by @cemitch99 in https://github.com/BLAST-ImpactX/impactx/pull/1606
  • Release: 26.08 by @ax3l in https://github.com/BLAST-ImpactX/impactx/pull/1608

Full Changelog: https://github.com/BLAST-ImpactX/impactx/compare/26.06...26.08

Notes

This work was supported by the Laboratory Directed Research and Development Program of Lawrence Berkeley National Laboratory under U.S. Department of Energy Contract No. DE-AC02-05CH11231.

Files

BLAST-ImpactX/impactx-26.08.zip

Files (2.2 MB)

Name Size Download all
md5:eed35610828016baed6e419bd5d3f0ba
2.2 MB Preview Download

Additional details

Related works

References

  • Huebl A, Lehe R, Mitchell CE, Qiang J, Ryne RD, Sandberg RT and Vay J-L. Next Generation Computational Tools For The Modeling And Design Of Particle Accelerators At Exascale. NAPAC22 (2022)
  • Qiang J, Ryne R, Habib S, Decyk V. An Object-Oriented Parallel Particle-in-Cell Code for Beam Dynamics Simulation in Linear Accelerators. J. Comput. Phys. 163, 434-451 (2000). DOI:10.1006/jcph.2000.6570