1. Introduction
1.1. Aim of OPAL and History
OPAL is a tool for charged-particle optics in accelerator structures and beam lines. Using the MAD language with extensions, OPAL is derived from MAD9P and is based on the CLASSIC class library, which was started in 1995 by an international collaboration. IPPL (Independent Parallel Particle Layer) is the framework which provides parallel particles and fields using data parallel approach. OPAL is built from the ground up as a parallel application exemplifying the fact that HPC (High Performance Computing) is the third leg of science, complementing theory and the experiment. HPC is made possible now through the increasingly sophisticated mathematical models and evolving computer power available on the desktop and in super computer centers. OPAL runs on your laptop as well as on the largest HPC clusters available today.
The OPAL framework makes it easy to add new features in the form of new C++ classes.
OPAL comes in the following flavors:
-
OPAL-cycl
-
OPAL-t
OPAL-cycl tracks particles with 3D space charge including neighboring turns in cyclotrons with time as the independent variable.
OPAL-t is a super-set of Impact-t and can be used to model guns, injectors, ERLs and complete XFELs excluding the undulator.
It should be noted that not all features of OPAL are available in both
flavors.
The following icon DOPAL-t
means that a feature is not yet available
in OPAL-t. A similar icon is used for OPAL-cycl.
1.2. Parallel Processing Capabilities
OPAL is built to harness the power of parallel processing for an improved quantitative understanding of particle accelerators. This goal can only be achieved with detailed 3D modelling capabilities and a sufficient number of simulation particles to obtain meaningful statistics on various quantities of the particle ensemble such as emittance, slice emittance, halo extension etc.
The following example is exemplifying this fact:
Distribution | Particles | Mesh | Greens Function | Time steps |
---|---|---|---|---|
Gauss 3D |
|
|
Integrated |
10 |
Figure 1 shows the parallel efficiency time as a function of used cores for a test example with parameters given in Table 1. The data were obtained on a Cray XT5 at the Swiss Center for Scientific Computing.
1.3. Quality Management
Documentation and quality assurance are given our highest attention since we are convinced that adequate documentation is a key factor in the usefulness of a code like OPAL to study present and future particle accelerators. Using tools such as a source code version control system (git), source code documentation using Doxygen (found here) and the extensive user manual you are now enjoying, we are committed to providing users as well as co-developers with state-of-the-art documentation to OPAL.
One example of an non trivial test-example is the PSI DC GUN. In Figure 2 the comparison between Impact-t and OPAL-t is shown. This example is part of the regression test suite that is run every night. The input file is found in Section [examplesbeamlines].
Misprints and obscurity are almost inevitable in a document of this
size. Comments and active contributions from readers are therefore
most welcome. They may be sent to andreas.adelmann@psi.ch
.
1.4. Output
The phase space is stored in the H5hut file-format and can be analyzed
using e.g. H5root . The frequency of the data output (phase space and
some statistical quantities) can be controlled using the OPTION
statement see Section [option], with the flag PSDUMPFREQ
. The file is
named like in input file but with the extension .h5.
A SDDS compatible ASCII file with statistical beam parameters is written
to a file with extension .stat. The frequency with which this data is
written can be controlled with the OPTION
statement
see Section [option] with the flag STATDUMPFREQ
.
1.5. Change History
See Appendix [changelog] for a detailed list of changes in OPAL.
1.7. Acknowledgments
The contributions of various individuals and groups are acknowledged in
the relevant chapters, however a few individuals have or had
considerable influence on the development of OPAL, namely Chris
Iselin, John Jowett, Julian Cummings, Ji Qiang, Robert Ryne and Stefan
Adam. For the H5root
visualization tool credits go to Thomas
Schietinger.
The following individuals are acknowledged for past contributions: Yuanjie Bi, Jianjun Yang, Colwyn Gulliford, Hao Zha, Christopher Mayes and Tulin Kaman.
1.8. Citation
Please cite OPAL in the following way:
@techreport{opal:1, title = {The OPAL (Object Oriented Parallel Accelerator Library) Framework}, author = {Andreas Adelmann, Christian Baumgarten, Matthias Frey, Achim Gsell, Valeria Rizzoglio, Jochem Snuverink (PSI) and Christof Metzger-Kraus and Yves Ineichen and Steve Russell (LANL) and Chuan Wang (CIAE) and Suzanne Sheehy and Chris Rogers (RAL) and Daniel Winklehner (MIT)}, institution = {Paul Scherrer Institut}, number = {PSI-PR-08-02}, year = {(2008-2017)} }