Run ImpactX

How to select a tracking mode

ImpactX can be run using any of three distinct tracking modes. ImpactX’s most powerful tracking mode makes use of symplectic particle tracking with collective effects included (space charge, CSR, wakefields, etc.). Additionally, ImpactX provides two simplified tracking modes to aid scientists through every step, from beamline inception to operation: tracking of the beam envelope (6x6 covariance matrix) through linearized transport maps, or only tracking of the reference particle orbit.

Mode

Use Case

Generality

Space Charge Effects

Particle Tracking

Full Dynamics

Most general

Supported (3D only)

Envelope Tracking

Rapid Scans

Linearized

Supported (2D or 3D)

Reference Tracking

Early Design

Reference orbit

No

The 3D space charge model used during envelope tracking currently assumes that the spatial block of the 6x6 beam covariance matrix is diagonal–that is, <xy> = <yt> = <tx> = 0. Support for 3D space charge during envelope tracking with nonzero correlations <xy>, <yt>, or <tx> will be added in the near future.

How to select a user interface

ImpactX can be run in three major interfaces:

  1. As a Python module (script),

  2. As an executable application with a key-value input file, or

  3. From a graphical user interface (dashboard).

While each of these interfaces provide access to the same physics models, you might pick one or the other for specific needs, experience and workflows:

Interface

Experience

Good For

Interactive

Extensible

Jupyter

HPC Support

Python

Beginner-Advanced

Automation, AI/ML

Yes

Yes

Yes

Yes

Application

Advanced

Minimal requirements

No

No

Terminal

Yes

Dashboard

Beginner

Learning, Control-Systems

Yes

No

Yes

Not yet

How to run

After installing ImpactX, run one of our examples, e.g., a FODO cell, like this:

python run_fodo.py
impactx input_fodo.in
impactx-dashboard

How to select a computing system

ImpactX supports running on your laptop, alongside edge computers in control systems, in the browser as a dashboard or Jupyter application, on cloud computers, or supercomputers (HPC). This enables leveraging ImpactX through any stage of a particle accelerator’s life cycle.

Compute Location

Good for

Local Computer

Initial designs

Edge/Control System

Operations, Digital Twins

Supercomputer

Large Design Studies, ML training

Additionally, ImpactX runs on CPUs (from AMD, Intel, IBM, ARM, etc.) and modern hardware like GPUs (from Nvidia, AMD or Intel). As a rough guidance, they are best used for:

Hardware

Resolution needs

AI/ML

Energy Efficiency

CPUs

Small (<10M particles) runs and coarse collective effects

Yes

Lower

GPUs

Many (>10M) particles and/or detailed collective effects

Fastest

Higher