= The _OPAL_ Framework: Version 2024.1 Andreas Adelmann (PSI); Arnau AlbĂ (PSI); Pedro Calvo (CIEMAT); Matthias Frey (U. St Andrews); Achim Gsell (PSI); Uldis Locans (PSI); Christof Metzger-Kraus; Sriramkrishnan Muralikrishnan (JSC); Nicole Neveu (SLAC); Philippe Piot (NIU); Chris Rogers (RAL); Steve Russell (LANL); Suzanne Sheehy (Oxford); Jochem Snuverink (PSI); Daniel Winklehner (MIT) ifdef::backend-docbook5,backend-html5[] :docinfo1: :toc: left :numbered: :description: _OPAL_ User Manual :keywords: _OPAL_ :revdate: @REVDATE@ :adoc: adoc endif::[] ifdef::env-gitlab[] include::env-gitlab.attributes[] endif::[] include::Manual.attributes[] ifdef::backend-html5[] [cols="<19,<27,<.^27,<27",frame="none",grid="none"] |=== | image:logos/psi_logo.png[width=121] | image:logos/ciemat_logo.jpg[width=242] | image:logos/SLAC-lab-hires.png[width=220] | image:logos/UKRI_STF_logo.png[width=176] | image:logos/MIT-logo-with-spelling-design1-large-black-red.svg[width=175] | image:logos/Logo_FZ_Juelich_1561x454_rgb_jpg.jpg[width=165] | image:logos/St_Andrews_logo.png[width=165] | image:logos/NIU_horz_3Clr.png[width=165] |=== ''' endif::[] :sectnums: == Abstract _OPAL_ 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 the following 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. _OPAL-map_:: map tracking (experimental, no space charge yet) It should be noted that not all features of _OPAL_ are available in all flavours. ifdef::env-gitlab[] :sectnums!: == Table of Contents . {link_manual_src}/introduction.{adoc}[Introduction] . {link_manual_src}/conventions.{adoc}[Conventions] . {link_manual_src}/pitfalls.{adoc}[Pitfalls and Limitations] . {link_manual_src}/tutorial.{adoc}[Tutorial] . {link_manual_src}/opalt.{adoc}[OPAL-T] . {link_manual_src}/opalcycl.{adoc}[OPAL-CYCL] . {link_manual_src}/opalmap.{adoc}[OPAL-MAP] . {link_manual_src}/format.{adoc}[Command Format] . {link_manual_src}/control.{adoc}[Control Statements] . {link_manual_src}/elements.{adoc}[Elements] . {link_manual_src}/field-output.{adoc}[Field Output Commands] . {link_manual_src}/lines.{adoc}[Beam Lines] . {link_manual_src}/beam-command.{adoc}[Beam Command] . {link_manual_src}/distribution.{adoc}[Distribution Command] . {link_manual_src}/fieldsolvers.{adoc}[Field Solver] . {link_manual_src}/track.{adoc}[Tracking] . {link_manual_src}/wakefields.{adoc}[Wakefields] . {link_manual_src}/geometry.{adoc}[Geometry] . {link_manual_src}/partmatter.{adoc}[Physics Models Used in the Particle Matter Interaction Model] . {link_manual_src}/optimiser.{adoc}[Multi Objective Optimization] . {link_manual_src}/sampler.{adoc}[Sampler] .Appendices [upperalpha] . {link_manual_src}/syntax.{adoc}[OPAL Language Syntax] . {link_manual_src}/fieldmaps.{adoc}[OPAL-T Field Maps] . {link_manual_src}/opal-madx.{adoc}[OPAL-MADX Conversion Guide] . {link_manual_src}/autophase.{adoc}[Auto-phasing Algorithm] . {link_manual_src}/benchmarks.{adoc}[Benchmarks] endif::[] ifdef::backend-docbook5,backend-html5[] include::introduction.adoc[] include::conventions.adoc[] include::pitfalls.adoc[] include::tutorial.adoc[] include::opalt.adoc[] include::opalcycl.adoc[] include::opalmap.adoc[] include::format.adoc[] include::control.adoc[] include::elements.adoc[] include::field-output.adoc[] include::lines.adoc[] include::beam-command.adoc[] include::distribution.adoc[] include::fieldsolvers.adoc[] include::track.adoc[] include::wakefields.adoc[] include::geometry.adoc[] include::partmatter.adoc[] include::optimiser.adoc[] include::sampler.adoc[] include::syntax.adoc[] include::fieldmaps.adoc[] include::opal-madx.adoc[] include::autophase.adoc[] include::benchmarks.adoc[] endif::[] // EOF