SAMM: Simple Accelerator Modelling in Matlab

SAMM is an accelerator tracking code that runs in Matlab.  The code consists of a set of Matlab class definitions and functions, for representing accelerator components and beam lines, and for applying standard analysis techniques.

There are optional external tracking libraries, using dynamic link library (dll) files called from Matlab, that can be used for efficient tracking of bunches with large numbers of particles.  These are presently in beta testing. contains all the files necessary to run SAMM.  Installation consists simply of unzipping the archive, and adding the directories to the Matlab path.  There are a number of examples to help new users to get started. contains the source code for the 'external' tracking libraries, and MS Visual Studio 2010 solution and project files. Note that it is not necessary to install the external tracking libraries to use SAMM: the code comes with tracking routines that can be executed within Matlab. However, the external tracking libraries offer greater efficiency for larger scale tracking simulations.

The SAMM Manual describes how to use SAMM, and provides some explanation of the physics.


Last updated: 23 September 2016 (SAMM version 3.0)



Merlin is a C++ class library for accelerator modelling.