PALS: Particle Accelerator Language Standard

PALS: Particle Accelerator Language Standard#

The Particle Accelerator Language Standard (PALS) defines a common, language-neutral way to describe the lattices and machine information of particle accelerators and storage rings — so that this information can be shared freely between simulation programs, published, archived, and analyzed with a single, unified description.

A PALS-based lattice can hold the information for an entire machine complex, from beam creation through to the dump lines, enabling start-to-end simulations built on a single lattice. PALS itself does not perform simulations or tracking; it is the standardized description that simulation programs read from and write to.

Why PALS?

  • Portability between applications and differing algorithms

  • Open access description of scientific data for publishing and archiving

  • A unified basis for post-processing, visualization, and analysis

Explore the standard#

🚀 Overview

What PALS is, what it is not, and how simulation programs interact with a PALS file.

Overview
📐 Fundamentals

Core concepts, notation, and coordinate conventions used throughout the schema.

Fundamental Structure
🧩 Lattice Elements

The standardized element kinds, their parameters, and how they are grouped.

Lattice Elements
🔗 Beamlines & Construction

Organizing elements into lines and branches to describe an entire machine complex.

BeamLines
💻 Implementations

Code packages and simulation programs that read and write PALS files.

Code Packages
🤝 Contributing

Governance, how to contribute, and guidelines for writing documentation.

How to Contribute