OptiMX: A Program for Accelerator Optics


OptiM is a GUI-oriented program whose principal aim is to be an easy to use yet comprehensive accelerator optics design and analysis tool. Implemented in C++, it was originally developed as an MS Windows centric application using the commercial Borland OWL framework. OWL was discontinued in late 1999 and is now considered obsolete. The OWL dependency made maintaining and developing OptiM an increasingly problematic proposition; compatibility with post XP versions of MS Windows was one of many issues. In the spring of 2014, a decision was made to port OptiM to Qt, a modern, portable and open framework. As much as possible, the original interface has been preserved. While a significant amount of refactoring was required, the underlying physics has been left unchanged. The custom plotting capabilities of the original application have been replaced with functional equivalents based on a stable and well-established library (qwt). With very few minor exceptions (which are being addressed) the new refactored OptiM (dubbed OptiMX) should be a drop-in replacement for the original OWL version.


The original code was authored by Valeri Lebedev (val_at_fnal_dot_gov) starting in the mid-1990s; it was further developed and maintained by him until late 2014. The Qt port, refactoring and further development are by J.-F. Ostiguy (ostiguy_at_fnal_dot_gov).


The on-line help was created by editing an automatically converted version of the original Windows help file. While already quite usable, it still needs improvement. The help files are bundled with the installer packages. Up-to-date html help files are also accessible from this link .

Supported Operating Systems

OptiMX runs under MS Windows, Linux and Mac OSX. Binary installation packages are currently available only for MS-Windows and Linux. The native Mac OS X version is still experimental; please contact us if you are interested. Here is a screenshot of OptiM running under OS X.


For a summary of bugfixes and changes please consult the ChangeLog page.

Installation Instructions

Most linux distributions use a package manager (e.g. rpm, apt ..etc) that automatically deals with dependencies, i.e. ensures that required shared libraries are present and at a compatible version level. While from a user perspective it would be simpler to provide distribution specific binary packages, putting together, testing and maintaining such packages for multiple distributions represents a significant effort. Our generic linux binaries are a compromise; they include most (but not all) of the required dependencies under a private directory and are independent of the distribution package manager. The private shared libraries will not interfere with the rest of your system. If you get an error message about a missing or incompatible shared library, please contact us . It is simply not possible to anticipate all potential issues.


We are planning some improvements, including, in particular, better support for longitudinal dynamics.

Original (OWL) Version for MS Windows

MS Windows binaries for the original (OWL based) version as well as additional material and information remain available from V. Lebedev's OptiM page .


Bugs are unavoidable; if you spot something that is not working as expected, we would appreciate hearing from you. To report a bug, please send email to the optim-support mailing list. General comments/criticisms are always welcome and can also be sent to that list.

Two mailing lists are available: [ Instructions ]