OPAL (Object Oriented Parallel Accelerator Library) is a parallel open source tool for charged-particle optics in linear accelerators and rings, including 3D space charge. Using the MAD language with extensions, OPAL can run on a laptop as well as on the largest high performance computing systems. OPAL is built from the ground up as a parallel application exemplifying the fact that high performance computing is the third leg of science, complementing theory and experiment. The OPAL framework makes it easy to add new features in the form of new C++ classes. OPAL comes in two flavours:
OPAL-cycl: tracks particles with 3D space charge including neighbouring turns in cyclotrons and FFAs with time as the independent variable.
OPAL-t: models beam lines, linacs, rf-photo injectors and
complete XFELs excluding the undulator.
The code is managed through the git distributed version control system. A suite of unit tests have been developed for various parts of OPAL, validating each part of the code independently. Unit tests use the google testing framework. System tests validate the overall integration of different elements. Documentation is written in asciidoc. Tools are available to readily convert asciidoc into formats such as pdf and html for display.
Please use the OPAL mailing list opal@ … (opal AT lists.psi.ch) to discuss problems and issues. Subscribe to the mailing list
Please report bugs and feature requests to the issue tracker or to the mailing list.