EUROPEAN ORGANIZATION FOR NUCLEAR RESEARCH MAD-X Logo

PTC_NORMAL Module
(Non-Linear Machine Parameters)

The PTC_NORMAL module of MAD-X [a,b] is based on PTC code. This module takes full advantage of the PTC Normal Form analysis which is a  considerable upgrade of what was available with the Lie Algebra technique used in MAD8. It allows to calculate dispersions, chromaticities, anharmonicities and Hamiltonian terms to very high order. In fact, the order is only limited by the RAM memory of your computer and your patience to wait for the results.

The number of terms per order increases with some power law. The internal MAD-X tables are not adequate to keep such large amounts of data. On the other hand, only a reduced set of this data is actually needed by the user. Thus a much easier and flexible solution is to gather the users requirements with a series of special MAD-X command called SELECT_PTC_NORMAL. A special MAD-X table is dynamically built using just those commands and it will be filled by the next call to the  PTC_NORMAL-command.

Another essential advantage of this table is the fact that it is structured to facilitate exchange of Normal Form (including Hamiltonian terms of high order) between MAD-X modules. The immediate goal is to use this table to allow non-linear matching inside the present MAD-X MATCHING module.


Synopsis
PTC_CREATE_UNIVERSE;
PTC_CREATE_LAYOUT, model=integer,method=integer, nst=integer, [exact];
..............................
SELECT_PTC_NORMAL, dx,..., gnfu;
..............................
PTC_NORMAL;
WRITE, table=normal_results, file=normal_results;
..............................
PTC_END;
Commands
SELECT_PTC_NORMAL,
dx=integer, dpx=integer, dy=integer, dpy=integer,
q1
=0, dq1=integer, q2=0, dq2=integer,
anhx
=integer array, anhy=integer array,
gnfu
=integer,0,0, haml=integer,0,0,
eign
=integer, integer;
Description
The SELECT_PTC_NORMAL command selects parameters to be calculated by the next PTC_NORMAL command. The dispersion and tune parameters are defined by a name and an integer number specifying their order. For example, the notation "dx=2" means the horizontal dispersion to second order Dx(2)=(2)xco/δp(2), where "co" is abbreviation of "closed orbit". The anharmonisities are defined by a name and three integer numbers: the first is the order of ε1, the second is the order of ε2, the third is the order of  δp. For example, the notation "anhx=2,0,0" means second order in ε1: (2)q1/ε1(2).
Components of the eigenvectors at the end of the structure can be specified by two integers: the first integer defines the  eigenvector number, the second integer defines the coordinate {x, px, y, py, t, pt}.
The Generating Function can be specified by { n, 0, 0}. The positive and negative values of  n define the order of upright or skew resonances, respectively. The integers n2 and n3 are reserved for a future upgrade. For example, "gnfu=-5, 0, 0" will calculate all Generating Function terms for skew decapoles. In the output table, one finds the cosine, sine and amplitude coefficients as denoted by "GNFC", "GNFS", and "GNFA", respectively.
Similarily, the Hamiltonian Terms can be specified by { n, 0, 0}. The positive and negative values of  n define the order of upright or skew resonances, respectively. For example, "haml=3, 0, 0" will calculate all Hamiltonian terms for upright sextupoles. In the output table, one finds the cosine, sine and amplitude coefficients as denoted by "HAMC", "HAMS", and "HAMA", respectively. Caution: if more than one order of terms is selected only the lower one is correct because higher orders contain "cross terms" from the lower ones.
Parameters
Notation Meaning Value
DX, DPX,
DY,DPY
dispersions, Dx(n), Dpx(n),
Dy
(n), Dpy(n)

n

Q1, Q2

horizontal and vertical
tunes q1(0), q2(0)

0

DQ1, DQ2 derivatives of horizontal
and vertical tunes
(n)q1/δp(n), (n)q2/δp(n)

n

ANHX, ANHY Anharmonicities

n(ε1), n(ε2),
n
(δp)

GNFU Generating Function 

n, 0, 0

HAML Hamiltonian

n, 0, 0

EIGN Eigenvector (the n2-th component
of the n1-th eigenvector)

n1, n2

PTC_NORMAL,
    icase=
integer,
normal, closed_orbit,
    no
=integer, map_table, deltap=double;
Description
The calculation of the parameters specified by the preceding  SELECT_PTC_NORMAL commands is initiated by the PTC_NORMAL command, which operates on the working beam line defined in the latest USE command. The options for PTC_NORMAL command are described in the table below.
Options
Option Meaning Default Value Value Type
ICASE the user-defined dimensionality
of the phase-space (4, 5 or 6)

4

integer
NO the order of the map.

1

integer
CLOSED_ORBIT the switch to turn on
the closed orbit calculation.

.FALSE.

logical
DELTAP

relative momentum offset
for reference closed orbit

0.0

double
MAPTABLE turn on the map-table in memory

.FALSE.

logical
NORMAL turn on the calculation of
the Normal Form

.FALSE.

logical
Remarks

MAPTABLE: (requires no=1) creates the one-turn matrix which can be used by the next PTC_TWISS command.

Example
The simple example is located on the Web-page for the PTC_NORMAL example.
References for PTC_NORMAL
  1. F. Schmidt, "`MAD-X PTC Integration'', Proc. of the 2005 PAC Conference in Knoxville, USA, pp.1272.
  2. E.T. d Amico, "Nonlinear parameters from PTC", MAD-X Meeting 7 (29.11.2004), notes (doc-file).
  3. A. Schoch, "Theory of linear and non-linear perturbations of betatron oscillations in alternating-gradient synchrotrons ", CERN-27-21, 1958.
.See Also
PTC_NORMAL example, PTC Set-up Parameters.

V. Kapin (ITEP) and F. Schmidt, March 2006