A Community Accelerator Lattice Standard
An effort to create a standard to promote lattice information exchange for particle accelerators.
Scope
As part of this effort, we focus on the physical layout and properties of a machine.
This excludes description of tracking of particles including collective effects.
Roadmap
-
Reach out to the community (continuous)
-
Request for documentation:
- Goal: document how various accelerator modeling codes already do for their lattices.
- Organizers: Create a template.
- element parameters
- lines/beamlines: how are elements distributed
- example of a facility/lattice
- Community: to fill out a template per existing code.
-
Request for proposals: how would we like to describe lattices and individual elements in terms of physical line & element properties?
- Goal: write down as text document (standard)
- use a simple bullet point document, e.g., with name of element, purpose, properties and alternates
- Form community consensus on:
- elements: which properties to put in the standard we are developing; which alternate descriptions do we need for the same element?
- lines/beamlines: which descriptions (e.g., sub-lines, channels/repetitions, line order inversion, physical line inversion, constants/variables to scale lines, etc.) do we need in the standard we are developing or which ones belong in implementations
-
Request for proposals: how would we like to store & exchange lattices in the 21st century?
- Goal: document advise to implementers.
- How can we programming language agnostic store and exchange lattices?
- examples for storage formats: TOML, YAML, JSON, XML, ... (with the right framework, one can support them all)
- examples for frameworks (import/export/validation): pydantic (Python), StructTypes.jl/Parameters.jl in Julia, etc.