... | ... | @@ -11,47 +11,47 @@ Introduction |
|
|
------------
|
|
|
|
|
|
[[aim-of-opal-and-history]]
|
|
|
Aim of `Opal` and History
|
|
|
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
|
|
|
*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
|
|
|
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`
|
|
|
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.
|
|
|
The *OPAL* framework makes it easy to add new features in the form of
|
|
|
new *C++* classes.
|
|
|
|
|
|
`Opal` comes in the following flavors:
|
|
|
*OPAL* comes in the following flavors:
|
|
|
|
|
|
* `Opal-cycl`
|
|
|
* `Opal-t`
|
|
|
* *OPAL-cycl*
|
|
|
* *OPAL-t*
|
|
|
|
|
|
`Opal-cycl` tracks particles with 3D space charge including neighboring
|
|
|
*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,
|
|
|
*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
|
|
|
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`.
|
|
|
The following icon `DOPAL-t` means that a feature is not yet available
|
|
|
in *OPAL-t*. A similar icon is used for *OPAL-cycl*.
|
|
|
|
|
|
[[parallel-processing-capabilities]]
|
|
|
Parallel Processing Capabilities
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
|
|
`Opal` is built to harness the power of parallel processing for an
|
|
|
*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
|
... | ... | @@ -83,16 +83,16 @@ 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
|
|
|
the usefulness of a code like *OPAL* to study present and future
|
|
|
particle accelerators. Using tools such as a source code version control
|
|
|
system (https://git-scm.com[git]), source code documentation using
|
|
|
Doxygen (found http://amas.web.psi.ch/docs/opal/html/[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`.
|
|
|
documentation to *OPAL*.
|
|
|
|
|
|
One example of an non trivial test-example is the PSI DC GUN. In
|
|
|
Figure <<guncomp1,2>> the comparison between `Impact-t` and `Opal-t` is
|
|
|
Figure <<guncomp1,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>>.
|
|
|
|
... | ... | @@ -101,7 +101,7 @@ size. Comments and _active contributions_ from readers are therefore |
|
|
most welcome. They may be sent to `andreas.adelmann@psi.ch`.
|
|
|
|
|
|
[#guncomp1]
|
|
|
.Figure 2 : Comparison of energy and emittance in latexmath:[x] between `Impact-t` and `Opal-t`
|
|
|
.Figure 2 : Comparison of energy and emittance in latexmath:[x] between *Impact-t* and *OPAL-t*
|
|
|
image:figures/Gun/GunCompEn.png[width=375]
|
|
|
image:figures/Gun/GunCompEx.png[width=375]
|
|
|
|
... | ... | @@ -120,7 +120,7 @@ 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`.
|
|
|
|
|
|
.Figure 3 : H5root enables a variety of data analysis and post processing task on `Opal` data
|
|
|
.Figure 3 : H5root enables a variety of data analysis and post processing task on *OPAL* data
|
|
|
image:figures/H5rootPicture1.png[width=250]
|
|
|
image:figures/H5rootPicture2.png[width=250]
|
|
|
image:figures/H5rootPicture3.png[width=250]
|
... | ... | @@ -129,14 +129,14 @@ image:figures/H5rootPicture3.png[width=250] |
|
|
Change History
|
|
|
~~~~~~~~~~~~~~
|
|
|
|
|
|
See Appendix <<changelog>> for a detailed list of changes in `Opal`.
|
|
|
See Appendix <<changelog>> for a detailed list of changes in *OPAL*.
|
|
|
|
|
|
[[known-issues-and-limitations]]
|
|
|
Known Issues and Limitations
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
|
|
[[opal-cycl]]
|
|
|
`Opal-cycl`
|
|
|
*OPAL-cycl*
|
|
|
^^^^^^^^^^^
|
|
|
|
|
|
* Restart with the option `PSDUMPLOCALFRAME` does not work yet,
|
... | ... | @@ -149,7 +149,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
|
|
|
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.
|
... | ... | @@ -162,7 +162,7 @@ and Tulin Kaman. |
|
|
Citation
|
|
|
~~~~~~~~
|
|
|
|
|
|
Please cite `Opal` in the following way:
|
|
|
Please cite *OPAL* in the following way:
|
|
|
|
|
|
....
|
|
|
@techreport{opal:1,
|
... | ... | |