ACCELERATOR PHYSICS GROUP

New Features in MAD-9


Introduction

This page describes the new features of MAD-9 which are not available in MAD-8:

Physical Actions

In order to make matching much more flexible, the USE command has been removed. In MAD-8 the example
USE,PERIOD=LINE1
BEAM,...
SURVEY
TWISS
TRACK
...
ENDTRACK
allows only the use of one beam line at a time. In MAD-9, the equivalent commands are:
BEAM1:BEAM,...
SU1:SURVEY,LINE=LINE1;
TW1:TWISS,LINE=LINE1,BEAM=BEAM1;
TR1:TRACK,LINE=LINE1,BEAM=BEAM1;
...
ENDTRACK
The labels on the SURVEY, TWISS, and TRACK commands are optional, but they may be referred to in matching. The following should be noted:
  1. If the BEAM command is not labelled, its name defaults to UNNAMED_BEAM. If it is labelled, different subsequent commands can refer to different BEAM commands.
  2. If no BEAM command is given on TWISS or TRACK, the command UNNAMED_BEAM is used. Its default definition is:
    UNNAMED_BEAM:BEAM,PARTICLE=PROTON,PC=1,EX=1,EY=1,ET=1;
      
  3. The TWISS and SURVEY commands create a table object. All values contained in a table object can be referred to in matching with the syntax
    table-name@place->column-name
      
    To avoid re-computation of a table which does not change during matching, declare it as STATIC.

Tabulation of Results

As opposed to MAD-8, MAD-9 creates a table object for each SURVEY or TWISS command. The table contains a pointer to the element, the accumulated length, and the accumulated transfer matrix. Once created, the user may tabulate with the help of "canned" commands one of the following sets: The user can also freely choose in a LIST command which function(s) shall be tabulated.

Matching

Generated tables and the values which can be extracted for listing may also be used in matching. It is possible to use more than one tables in the same matching run. Tables which do not change as a function of the matching parameters can be declared as "static". Such tables will not be recomputed at each iteration.

Nesting of Lines and Sequences

A SEQUENCE can now also contain nested beam lines and sequences. Some of its components can be declared as "shared". Such components will exist only once in the program's memory, and will have one set of errors, regardless of how many times they are referred to.

Sequence Editor

The sequence editor now also deals with nested sequences. It can replace any nested object. The restrictions are:

Error Definitions

Multipole error definitions now make use of "vectors". They may then be entered with much simpler expressions than in MAD-8:
VECTOR BS={...,...,...,...,...,...}; // Systematic components
VECTOR AS={...,...,...,...,...,...};
VECTOR BR={...,...,...,...,...,...}; // Random components
VECTOR AR={...,...,...,...,...,...};
ERROR,LINE=LHC;
SELECT,LINE=LHC,CLASS=QUADRUPOLE;
EFCOMP,KNR=BS+TABLE(1:6,TGAUSS(2.0))*BR,
       KNS=AS+TABLE(1:6,TGAUSS(2.0))*AR;

fci, September 21, 1999

Back to SL/AP home page