|
|
[![](https://amas.web.psi.ch/images/logo.png)](/OPAL/wiki/TracIni#header_logo-section)
|
|
|
|
|
|
OPAL Introduction
|
|
|
================
|
|
|
OPAL (Object Oriented Particle Accelerator Library) is an open source C++ framework for general particle accelerator simulations including 3D space charge, short range wake fields and particle matter interaction. OPAL is based on IPPL (Independent Parallel Particle Layer) which adds parallel capabilities. Main functions inherited from IPPL are: structured rectangular grids, fields, parallel FFT and particles with the respective interpolation operators. Other features are, expression templates and massive parallelism (up to 65000 processors) which makes is possible to tackle the largest problems in the field. A new Trilinos based iterative solver - currently in the comissioning phase - handles arbitrary complex boundary conditions and benefiting from the new geometry class.
|
|
|
optPilot Introduction
|
|
|
==================
|
|
|
Particle accelerators are invaluable tools for research in the basic and applied sciences, in fields such as materials science, chemistry, the biosciences, particle physics, nuclear physics and medicine. The successful design, commission, and operation of accelerator facilities is a non-trivial problem. Today, tuning machine parameters, i.e., bunch charge, emission time and various parameters of beamline elements, is most commonly done manually by running simulation codes to scan the parameter space. This approach is tedious, time consuming and can be error prone. In order to be able to automate the process of reliably identifying optimal configurations of accelerators we propose to formulate the investigation for an optimal set of tuning parameters as a large-scale multi- objective design optimization problem.
|
|
|
This involves significant computer modeling using accelerator simulation codes such as PSI’s OPAL (Object Oriented Parallel Accelerator Library) framework. Despite the fact that these codes are parallel, typical simulation parameters (e.g. a small number of macroparticles and mesh size) for individ- ual runs, limit their scalability to several hundred or a few thousand proces- sors. This represents a strong impediment in view of the petascale regime, therefore parallelization on multiple levels, e.g. running multiple parallel sim- ulations in parallel, becomes a necessity. On the other hand, introducing a low-dimensional scalable model enables multi-resolution simulation runs.
|
|
|
We present a general-purpose framework for simulation-based multi-objective optimization methods that allows the automatic investigation of optimal sets of machine parameters. The implementation is based on a master/slave paradigm, employing several masters and groups of workers to prevent communication hot-spots at master processes. In addition, we exploit information about the underlying network topology when placing master processes and assigning roles. Solution states are exchanged between masters in a rumor routing fash- ion on a social network graph using one-sided communication.
|
|
|
Using evolutionary algorithms and OPAL simulations as optimizer and for- ward solver in our framework, we demonstrate the feasibility and scalability of our approach on real applications in the domain of particle accelerators.
|
|
|
|
|
|
OPAL Documentation & Help
|
|
|
========================
|
|
|
|
|
|
* [OPAL Presentations]( OPALPresentations) and papers (ideal for an overview)
|
|
|
|
|
|
* For the download of OPAL binaries [visit] (https://amas.psi.ch/OPAL/wiki/Downloads)
|
|
|
|
|
|
* OPAL [Manual](http://amas.web.psi.ch/docs/opal/opal_user_guide.pdf)
|
|
|
* [PhD Theisis of Y. Ineichen]( http://e-collection.library.ethz.ch/eserv/eth:7041/eth-7041-02.pdf)
|
|
|
|
|
|
* Please use the OPAL mailing list opal@ … (opal AT lists.psi.ch) to discuss problems and issues. Add yourself to the [mailing list](https://psilists.ethz.ch/sympa/subscribe/opal)
|
|
|
|
|
|
OPAL Start with Examples
|
|
|
=====================
|
|
|
1. [Cyclotron](Cyclotron)
|
|
|
2. [FFAG](#FFAG)
|
|
|
3. [RF Photo Injector](RFPhotoInjector)
|
|
|
4. [Post Processing](PostProcessing)
|
|
|
5. Old (maybe outdated) [stuff](https://amas.psi.ch/OPAL/wiki/OPAL)
|
|
|
|
|
|
# OPAL Regression Test results for:
|
|
|
optPilot Start with Examples
|
|
|
========================
|
|
|
1. [FoDo Cell](food)
|
|
|
2. [FoDo Cell with Space Charge](fodosc1)
|
|
|
|
|
|
1. the [master branch](http://amas.web.psi.ch/opal/regressionTests/master/)
|
|
|
2. branch [OPAL-1.4.x](http://amas.web.psi.ch/opal/regressionTests/1.4/)
|
|
|
|
|
|
OPAL for Developers: Coding Style and Conventions
|
|
|
===========================================
|
|
|
optPilot for Developers: Coding Style and Conventions
|
|
|
=============================================
|
|
|
1. [Coding Style and Conventions](for-developers)
|
|
|
2. Download sources [here](https://gitlab.psi.ch/OPAL/src) use `ssh` when having git access or `htm`l for anonymous clone.
|
|
|
3. For PSI user go [here](Opalmerlin) to find out how to use OPAL on Merlin and how to compile. |
|
|
2. Download sources [here](https://gitlab.psi.ch/optPilot/src) use `ssh` when having git access or `htm`l for anonymous clone.
|
|
|
3. For PSI user go [here](optPilotmerlin) to find out how to use OPAL on Merlin and how to compile. |