Accelerator physics codes
A charged particle accelerator is a complex machine that takes elementary charged particles and accelerates them to very high energies. Accelerator physics is a field of physics encompassing all the aspects required to design and operate the equipment and to understand the resulting dynamics of the charged particles. There are software packages associated with each such domain. A broader index of existing and historical accelerator simulation codes is located at [1]
Single particle dynamics codes
For many applications it is sufficient to track a single particle through the relevant electric and magnetic fields. Some such codes include:
- MAD and MAD-X (now including PTC) [2]
- Bmad (contains PTC and reproduces PTC's unique beam line structures) [3]
- SAD [4]
- Beta [5]
- Elegant [6]
- Zgoubi [7]
- Accelerator Toolbox (AT),[8]
- OPA [9]
- SAMM [10]
- TRACY and variants[11]
- BDISM[12]
Spin Tracking codes
Some the above codes also perform tracking of spin (e.g. Zgoubi).
Collective effects codes
The interactions between the particles in the beam can have important effects on the behavior, control and dynamics. In some cases, the physical quantities may be found out of a single particle dynamics code. In others, a multiparticle code itself may be built that has both the single particle tracking through the electromagnetic fields from the machine and also the interaction with the rest of the beam.
Space charge codes
The self interaction (e.g. space charge) of the charged particle beam can cause growth of the beam, such as with bunch lengthening or intrabeam scattering, or it may cause an instability and associated beam loss. Typically the Poisson equation is solved at intervals during the tracking using Particle-in-cell algorithms. Many scientists have written special purpose codes to compute these growth values and instability thresholds. Codes include
- Tranft [13]
- mbtrack [14]
- ORBIT,[15] PyORBIT[16]
- Synergia [17]
- IMPACT [18]
- OPAL
- GPT [19]
- VSim [20]
- TraceWin [21]
Impedance computation codes
An important class of collective effects may be summarized in terms of the beams response to an "impedance". An important job is thus the computation of this impedance for the machine. Codes for this computation include
Magnet and other hardware-modeling codes
To control the charged particle beam, appropriate electric and magnetic fields must be created. There are software packages to help in the design and understanding of the magnets, RF cavities, and other elements that create these fields. Codes include
Lattice file format and data interchange issues
Given the variety of modelling tasks, there is not one common data format that has developed. For describing the layout of an accelerator and the corresponding elements, one uses a so-called "lattice file". There have been numerous attempts at unifying the lattice file formats used in different codes. One unification attempt is the Accelerator Markup Language, and the Universal Accelerator Parser.[32] Another attempt at a unified approach to accelerator codes is the UAL or Universal Accelerator Library.[33]
The file formats used in MAD may be the most common, with translation routines available to convert to an input form needed for a different code. Associated with the Elegant code is a data format called SDDS, with an associated suite of tools. If one uses a Matlab-based code, such as Accelerator Toolbox, one has available all the tools within Matlab.
Codes in applications of particle accelerators
There are many applications of particle accelerators. For example, two important applications are elementary particle physics and synchrotron radiation production. When performing a modeling task for any accelerator operation, the results of charged particle beam dynamics simulations must feed into the associated application. Thus, for a full simulation, one must include the codes in associated applications. For particle physics, the simulation may be continued in a detector with a code such as Geant4.
For a synchrotron radiation facility, for example, the electron beam produces an x-ray beam that then travels down a beamline before reaching the experiment. Thus, the electron beam modeling software must interface with the x-ray optics modelling software such as SRW,[34] Shadow,[35] McXTrace,[36] or Spectra.[37] Bmad,[3] is an exception since it can model both X-rays and charged particle beams. The x-rays are used in an experiment which may be modeled and analyzed with various software, such as the DAWN science platform.[38]
See also
References
- ↑ the CERN CARE/HHH website
- ↑ MAD/MAD-X homepage at cern.ch
- 1 2 Bmad home page at cornell.edu
- ↑ SAD home page at kek.jp
- ↑ user's guide
- ↑ ELEGANT,a Flexible SDDS Compliant Code for Accelerator Simulation software
- ↑ Zgoubi home page at sourceforge.net
- ↑ ATcollab website
- ↑ OPA website
- ↑ SAMM, another Matlab based tracking code, at liv.ac.uk
- ↑ libtracy at sourceforge.net
- ↑
- ↑ TRANFT user's manual, BNL--77074-2006-IR http://www.osti.gov/scitech/biblio/896444
- ↑ THE MULTIPARTICLE TRACKING CODES SBTRACK AND MBTRACK. R. Nagaoka, PAC '09 paper here
- ↑ ORBIT home page at ornl.gov
- ↑ PyORBIT repository
- ↑ Synergia home page at fnal.gov
- ↑ IMPACT homepage at Berkeley Lab
- ↑ GPT, General Particle Tracer, at pulsar.nl
- ↑ VSim at Tech-X
- ↑ TraceWin at CEA Saclay
- ↑ ABCI home page at kek.jp
- 1 2 ACE3P at slac.stanford.gov
- ↑ CST, Computer Simulation Technology at cst.com
- ↑ GdfidL, Gitter drueber, fertig ist die Laube at gdfidl.de
- ↑ T. Weiland, DESY
- ↑ VSim at Tech-X
- ↑ COMSOL home page at comsol.com
- ↑ CST Electromagnetic Studio at cst.com
- ↑ OPERA at magnet-design-software.com
- ↑ VSim at Tech-X
- ↑ Description of AML and UAP at cornell.edu
- ↑ See references by N. Malitsky and Talman such as this manual from 2002.
- ↑ SRW home page at esrf.eu
- ↑ Shadow home page at esrf.eu
- ↑ McXTrace home page at mcxtrace.org
- ↑ Spectra home page at riken.go.jp
- ↑ DAWN science platform website