Argonne National Laboratory

Accelerator Operations & Physics

Advance Photon Source
A U.S. Department of Energy, Office of Science,
Office of Basic Energy Sciences national synchrotron x-ray research facility

Argonne Home > Advanced Photon Source > Accelerator Systems Division > Accelerator Operations & Physics

Home of Accelerator Operations & Physics Software Package Source Code

License Agreement
This web page provides access to software packages produced by the Operations Analysis Group.

Note that some of this software (notably the SDDS code) is also distributed by the EPICS collaboration. However, those versions are usually out of date and we suggest that SDDS users download from this site. The directory structures are the same in the two distributions.

Documentation on these software packages can be found here.

For Windows users, an installation guide for SDDS and the simulation programs is available here
For Linux users, an installation guide for SDDS and the simulation programs is available here
Software Trees

Configuration files for EPICS build system
You'll need these files if you don't have the epics/base/configure area already. The files are used by gnumake to customize builds to specific operating systems.
You'll need these files if you don't have the epics/extensions/configure area already. The files are used by gnumake to customize builds to specific operating systems. You'll probably have to modify the RELEASE file for your specific system.


Retrieving and Building SDDS Toolkit
Here are all the files needed to compile the basic non-EPICS related SDDS toolkit. Simply click on the item and your browser will download the software (prompting you for a destination directory). In some cases, your web browser will automatically uncompress the tar file.

The GNU make source is given as well, since building SDDS requires using gnumake. Please check first with your support staff, as they should really be the ones installing the GNU tools. Lastly, if you don't have the bsdinstall program, you will need to grab the bsdinstall shell script and put it in your path. The basic install program on many systems is not powerful enough.

SDDS Source
  • SDDS.2.4 source (June 9, 2008)
  • SDDS.2.3.2 source (March 25, 2008)
  • SDDS.2.3.1 source (September 27, 2007)
    Fixed an issue that caused incorrect results with elegant.
  • SDDS.2.3 source (September 6, 2007)
  • SDDS.2.2 source (April 4, 2007)
    Minor changes. There probably will not be a binary release for this because it is very similar to the last version. The main difference is it adds a few functions needed to build the latest version of elegant.
  • SDDS.2.1.1 source (December 7, 2006)
    Fixed an issue with reading really long ascii array data.
  • SDDS.2.1 source (September 5, 2006)
    Added unsigned long and unsigned short as valid data types. This SDDS.2 is backward compatible with SDDS.1 and actually produces SDDS.1 output files if no unsigned data types are used.

  • defns.rpn This "rpn definitions file" is also needed. Be sure to define the environment variable RPN_DEFNS to point to this file.
  • SDDS.m This "SDDS.m" is needed to load the output of sdds2math into Mathematica.

SDDS Binaries


Java SDDS Source Code
  • Java SDDS Release (June 10, 2008)
    This version works with Java JDK 1.6.0. This version works independently from the C code. Documentation for the Java SDDS libarary can be found here. Additional documentation for the Java SDDS applications can be found here.

Java SDDS Binaries

Matlab SDDS Source Code
  • Matlab SDDS Release (January 26, 2006)
    This version requires the Java SDDS Binary be installed in the Matlab class path. These files are also included in the SDDS Source distribution. Installation instructions are also available.


Retrieving and Building SDDSepics toolkit
Here are the files needed to compile the EPICS control system specific SDDS applications. Simply click on the item and your browser will download the software (prompting you for a destination directory). You can untar this into the directory structure created by the SDDS tar file above, or vice versa. It is simply another module in the same build system.

SDDSepics Source


SDDSepics Binaries


SDDS/EPICS Demonstration Scripts
gzip'd tar file contains a number of Tcl/Tk scripts and data files for running demonstrations of the SDDS and the SDDS/EPICS Toolkits. It uses these toolkits and our extensions to Tcl/Tk. The demonstrations involve simulation of a storage ring using the portable channel access server, collection and analysis of data from the storage ring, measurement of the response matrix, and correction of the orbit. You should download and unpack this file first, then consult the README file for more detailed instructions. At present, these demos are only supported on LINUX and other UNIX platforms.


Configuration files for elegant, spiffe, genesis, and shower
The files are used by gnumake to customize builds to specific operating systems. You'll probably have to modify these files for your specific system.


PEM, Tcl/Tk Interpreter, and Tcl/Tk Library Source
This file contains the source for the Procedure Execution Manager (PEM), the OAG Tcl/Tk interpreter (with SDDS, CA, and operating system extensions), and the OAG Tcl/Tk procedure library. The oag directory created by the untarring the SDDS code and the OAG code must be at the same level in your directory structure.

elegant
elegant is an accelerator code that computes beta functions, matrices, orbits, floor coordinates, amplification factors, dynamic aperture, and more. It does 6-D tracking with matrices and/or canonical integrators, and supports a variety of time-dependent elements. It also does optimization (e.g., matching), including optimization of tracking results. It is the principle accelerator code used at APS. To get started with elegant 20.0.4, you can use the following example files and scripts as a guide.
The manual is available here.
Another source of information and help is the on-line forum.
  • elegant source version 20.0.4 (January 27, 2009)
    It works with the library sources in SDDS.2.4. This version builds on Solaris, Linux, Windows, OS X, and other systems. You will need the "rpn definitions file", available here; be sure to define the environment variable RPN_DEFNS to point to this file.
  • elegant source version 20.0 (January 16, 2009)
    It works with the library sources in SDDS.2.4. This version builds on Solaris, Linux, Windows, OS X, and other systems. You will need the "rpn definitions file", available here; be sure to define the environment variable RPN_DEFNS to point to this file.
  • elegant source version 19.1.6 (August 14, 2008)
    It works with the library sources in SDDS.2.4. This version builds on Solaris, Linux, Windows, OS X, and other systems. You will need the "rpn definitions file", available here; be sure to define the environment variable RPN_DEFNS to point to this file.
  • elegant source version 19.0 (June 6, 2008)
    It works with the library sources in SDDS.2.4. This version builds on Solaris, Linux, Windows, OS X, and other systems. You will need the "rpn definitions file", available here; be sure to define the environment variable RPN_DEFNS to point to this file.
  • Elegant.exe (January 27, 2009)
    A self installing Windows XP/Vista executable.
  • elegant-20.0.4-1.i386.rpm (January 27, 2009)
    Static 32bit binary Linux RPM file. (Works on 2.6.9 and newer kernels)
    elegant-20.0.4-1.x86_64.rpm (January 27, 2009)
    Static 64bit binary Linux RPM file. (Works on 2.6.9 and newer kernels)
  • darwin-ppc_elegant.tar.gz (version 19.1.6) (August 14, 2008)
    darwin-x86_elegant.tar.gz (January 27, 2009)
    Binary OS X executables. Installation assistance for elegant on OS X is available from the elegant forum. (The older installation guide is available here.)
  • solaris-sparc_elegant.tar.gz (January 27, 2009)
    Binary Solaris 10 sparc executables.
  • solaris-x86_64_elegant.tar.gz (January 27, 2009)
    Binary Solaris 10 x86 executables.


Spiffe
Spiffe is a fully-electromagnetic 2-1/2 dimensional particle-in-cell code for simulation of rf guns and similar systems with cylindrical symmetry.

Genesis
Genesis is a time dependent Free Electron Laser (FEL) simulation code written by Sven Reiche. Detailed information can be found here. This code was modified so that it can output SDDS files which can be plotted using sddsplot. Also the output files from elegant can be converted into input files for Genesis by using the elegant2genesis program in the SDDS ToolKit.

Shower
Shower is a C-interface to EGS4, a Monte Carlo electromagnetic shower simulation program. EGS4 (developped at SLAC) is a set of subroutines that generates and tracks particle in a electromagnetic shower. In the conventional EGS4 code system, the user must supply their own input and output routines and problem geometry definition written in the MORTRAN language. This arduous process has been replaced by the C-code interface provided here by reading and writing input and output particle information as data files, the geometry definition as a file of namelist type commands, and other information in an addition summary data file. All data files are in SDDS format, and therefore compatible with other processing and tracking programs.

SDDS interface to IDL
This API (sddsIDL) provides the capability for an IDL program to read and write SDDS formatted files.

Vorpal Visualization tool
This application (tcl/tk code) provides the interface for converting vorpal outputs to sdds files, postprocessing and displaying the results. It requires sdds toolkits which including hdf2sdds and OAG tcl/tk libaries.

Argonne National Laboratory License Agreement

Modified by soliday@aps.anl.gov