Lightsource Unified Modeling Environment

Lightsource Unified Modeling Environment (LUME) is a common interface and set of data standards for interacting with particle accelerator simulation codes. Set up, modify, and run your simulations from modern Python. Controlling these tools in a programmatic manner enables applications such as optimization, simulation chaining, and virtual accelerator modeling. Get started with LUME today by visiting some of the projects in our ecosystem listed below. Their documentation includes examples of how to run LUME codes on accelerator physics problems.

Ecosystem

LUME is organized into modules designed for defining its interface, interacting with physics simulation codes, and integrating the other LUME modules with tools like control systems. Explore the LUME ecosystem below.

LUME Base

Lightweight package defining common LUME, LUME Model interfaces. Used by all other LUME packages.

LUME IMPACT

For the IMPACT family of codes. Classes to control IMPACT-T and IMPACT-Z. LUME Model creation for IMPACT-T lattices.

LUME Genesis

For use with the Genesis 1.3 FEL simulation code.

LUME ASTRA

For use with A Space Charge Tracking Algorithm (ASTRA) from DESY.

LUME GPT

For use with the General Particle Tracer (GPT) code for space charge simulations.

LUME PVA

Serve the variables in your LUME Model as EPICS PVs. Ie for virtual accelerator modeling.

LUME BMAD

Create LUME Models for your Bmad lattice using pytao/

LUME Cheetah

For use with the Cheetah differentiable accelerator simulation tool.

LUME Torch

Serve pytorch surrogate models through the LUME Model interface.

OpenPMD Beamphysics

Python implementation of the OpenPMD Beamphysics extension data standard for charged particle beams. Used as a common data standard for beams within LUME.

Distgen

Generate OpenPMD Beamphysics charged particle beams from a wide variety of distributions. Used within LUME packages for beam creation.