Overview of elegant and SDDS
The purpose of this document is to briefly summarize the capabilities
available of elegant and the SDDS toolkit for simulation of
rings, linacs, and beam transport systems.. The description covers
both the serial and parallel versions. The intended audience is
potential new users, who may want to know in general terms what elegant can do without having to read the manual. Hence, we will not
show detailed examples. For that, refer to the
available from our web site.
elegant is open source, with both source code
More detail as well as the most up-to-date information will be found in the
as well as the
forum. Users are encouraged
to join and participate in the forum. At minimum, users should subscribe to the ``Bugs'' topic,
since this is where bug notifications are posted.
The capabilities of elegant for accelerator simulation will be broken down as follows:
- Simulation capabilties, for example, the ability to simulate random errors.
- Physics capabilities, for example, the ability to simulate coherent synchrotron radiation effects.
- Cooperative capabilities, for example, the ability to read data produced by other programs.
The simulation capabilities of elegant at the highest level, irrespective of any particular physics, are
listed here. Generally speaking, these capabilities map into the commands that appear in the main input file.
- Tracking of rings, linacs, and transport lines
- Computation of s-dependent and final properties, including
- Beam moments, from tracking or analysis
- Twiss parameters
- Matrix elements
- Trajectory/orbit response matrix
- Floor coordinates
- Aperture determination
- Input of s-dependent aperture
- Computation of dynamic acceptance
- Computation of s-dependent momentum acceptance
- Optimization of results of computations and tracking
- Tracking and computations with errors
- Generate or load random error sets
- Perform correction of tunes, chromaticities, trajectory/orbit
- Control lattice parameters
- Scan parameters in multi-dimensional loops
- Alter parameters from values in lattice definition
- Load SDDS data to overwrite values in lattice definition
- Insert elements into lattice
- Sub-divide elements
- Bunch generation, or reading of bunch data from files
- Multi-stage simulation
- Load particles from previous tracking run
- Load lattice parameters from previous optimization run
- Load errors and correction settings from previous error run
- Time-dependent ramping or modulation
- Determination of frequency maps for rings
- Change of particle type (default is electrons)
The physics capabilities of elegant are listed here. Generally
speaking, these capabilities map into elements that can appear in the
- Single-particle dynamics
- Magnetic elements using matrix or symplectic tracking methods, e.g.,
drifts, dipoles, quadrupoles, sextupoles, higher multipoles, wigglers, alpha magnets, solenoids, etc.
- Stray fields and steering correctors
- Undulator kick maps.
- Classical and quantum synchrotron radiation effects in magnets
- Accelerating and deflecting standing-wave rf cavities
- Traveling wave linear accelerating cavities
- Scattering by materials or using user-defined distributions
- Time-dependent dipole and multipole kickers
- User-designed transformation using external program
- User-specified matrix
- Apertures and scrapers
- Collective dynamics
- Short-range wake fields and impedances.
- Long-range wakes due to resonant modes.
- Coherent synchrotron radiation.
- Longitudinal space-charge impedance .
- Transverse space-charge kicks for rings .
- Intrabeam scattering .
- Touschek scattering .
- Beam position monitors
- Phase space output and analysis monitors
- Digital feedback systems
One of the strengths of elegant is its ability to work cooperatively with other programs.
This is done through the use of SDDS (Self-Describing Data Sets[1,2]) files.
Such capabilities include
- Use of the general-purpose SDDS toolkit for postprocessing and graphics. Capabilities include
sophisticated plotting, definition of new quantities using formulae, filtering, cross-referencing, sorting,
one- and two-dimensional histograms, frequency analysis, fitting, etc.
You can find out more about SDDS from the SDDS Info Page.
- Reading particle distribution data from other programs, including ASTRA , IMPACT , and TRACK .
- Phase space analysis to obtain twiss parameters and moments.
- Computation of radiation brightness and flux tuning curves, as well as radiation distributions and other properties.
- Upsampling of particle distributions to increase particle number, smooth the distribution, and add modulations.
- Processing of quadrupole-scan emittance measurement data.
- Computation of the CSR impedance for use in tracking .
- Use of elegant data for Touschek lifetime, intrabeam scattering, and potential well distortion computations.
- Translation of elegant lattice into other formats.
- Computation of multipole error data to reflect defined magnet construction errors .
M. Borland, ``A Self-Describing File Protocol for Simulation
Integration and Shared Postprocessors,'' Proc. 1995 PAC, May 1-5,
1995, Dallas, Texas, pp. 2184-2186 (1996).
M. Borland, ``A Universal Postprocessing Toolkit for Accelerator
Simulation and Data Analysis,'' Proc. 1998 ICAP Conference,
Sept. 14-18, 1998, Monterey, California, to be published.
K. Halbach, ``First Order Perturbation Effects in Iron-Dominated Two-Dimensional Symmetrial Multipoles'',
NIM 74-1, 1969, 147-164.
Z. Huang et al., Phys. Rev. ST Accel. Beams 7 074401 (2004).
A. Xiao et al., ``Direct Space-Charge Calculation in elegant and its Application to the
ILC Damping Ring,'' Proc. PAC2007, 3456-3458.
A. Xiao, ``Study of IBS Effects for High-Brightness Linac Beams,'' Proc. Linac08, 296-298 (2009).
A. Xiao et al., ``Monte Carlo simulation of Touschek effect,'' Phys. Rev. ST Accel. Beams 13,
W. Warnock, ``Shielded Coherent Synchrotron Radiation and Its Effect on Very Short Bunches,'' SLAC-PUB-5375, 1990.
P. Elleaume, ``A New Approach to Electron Beam Dynamics in Undulators and Wigglers,'' Proc. EPAC 1992, 661-663.
K. Flöttmann, Astra User Manual, http://www.desy.de/ mpyflo/Astra_dokumentation/
J. Qiang et al., J. Comp. Phys. 163, 434 (2000).
V. N. Aseev et al., Proc. PAC05, 2053-2055 (2005); ASCII version 39 from B. Mustapha.