Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in
O OPALManualWiki
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
    • Iterations
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Analytics
    • Analytics
    • CI/CD
    • Code Review
    • Issue
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • snuverink_j
  • OPALManualWiki
  • Wiki
  • introduction

Last edited by gsell Sep 11, 2017
Page history

introduction

Table of Contents
  • 1. Introduction
    • 1.1. Aim of OPAL and History
    • 1.2. Parallel Processing Capabilities
    • 1.3. Quality Management
    • 1.4. Output
    • 1.5. Change History
    • 1.6. Known Issues and Limitations
    • 1.7. Acknowledgments
    • 1.8. Citation

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:

Table 1. Table Parameters Parallel Performance Example
Distribution Particles Mesh Greens Function Time steps

Gauss 3D

10^8

1024^3

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.

Figure 1 : Parallel efficiency and particles pushed per \mu s as a function of cores

drift2c1

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.

Figure 2 : Comparison of energy and emittance in x between Impact-t and OPAL-t

GunCompEn GunCompEx

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.

Figure 3 : H5root enables a variety of data analysis and post processing task on OPAL data

H5rootPicture1 H5rootPicture2 H5rootPicture3

1.5. Change History

See Appendix [changelog] for a detailed list of changes in OPAL.

1.6. Known Issues and Limitations

1.6.1. OPAL-cycl

  • Restart with the option PSDUMPLOCALFRAME does not work yet,

  • In complicated geometries such as spiral inflectors, proper particle deletion at the boundary sometimes fails.

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)}
}
Clone repository
  • autophase
  • beam command
  • benchmarks
  • control
  • conventions
  • distribution
  • elements
  • fieldmaps
  • fieldsolvers
  • format
  • geometry
  • Home
  • introduction
  • lines
  • opal madx
View All Pages