AGSMainMagnet

class zgoubidoo.commands.magnetique.AGSMainMagnet(label1: str = '', label2: str = '', *params, **kwargs)[source]

Bases: zgoubidoo.commands.magnetique.CartesianMagnet

AGS main magnet.

Zgoubi manual description

The AGS main magnet is a combined function dipole with straight axis (lines of constant field are straight lines). The field computation routines for AGSMM are the same as for MULTIPOL (details in section 1.3.7, page 26), however AGSMM has the following four particularities :

  • There are only three multipole components present in AGSMM : dipole, quadrupole and sextupole.

  • The dipole field B0 is drawn from the reference rigidity, Bρref , and follows the latter so to preserve \(\rho = B\rho_{ref}/B0\) and the orbit deviation L/ρ. In particular,

    • in the absence of acceleration, Bρref ≡ BORO, with BORO the quantity appearing in the object definition using [MC]OBJET,

    • in presence of acceleration using CAVITE, Bρref is changed to BORO×Dref at each passage in the cavity, with Dref the relative synchronous momentum increase, a quantity that zgoubi updates at cavity traversal.

  • The field indices, quadrupole K1 and sextupole K2, are derived from the reference rigidity, Bρref , via momentum-dependent polynomials, taken from Ref. [39], and following in that the methods found in the MAD model of the AGS [40].

  • The AGS main dipole has back-leg windings, used for instance for injection and extraction orbit bumps.

The number of winding turns and the number of ampere-turns are part of the data in the input data list. The intensity in the windings is accounted for in the conversion from total ampere-turns in the magnet to momentum and then to magnetic field. Note : A consequence of items 2 and 3 is that no field value is required in defining the AGS main magnets in the zgoubi.dat input data list.

Command attributes

LABEL1=''

Primary label for the Zgoubi command (default: auto-generated hash).

Type

str

LABEL2=''

Secondary label for the Zgoubi command.

Type

str

HEIGHT='20 centimeter'

Height of the magnet (distance between poles), used by plotting functions.

Type

Quantity

POLE_WIDTH='30 centimeter'

Pole width (used for plotting only).

Type

Quantity

PIPE_THICKNESS='2 centimeter'

Thickness of the pipe, used by plotting functions.

Type

Quantity

PIPE_COLOR='grey'

Color of the pipe, used by plotting functions.

Type

str

REFERENCE_FIELD_COMPONENT='BZ'

Orientation of the reference field (used by field maps)

Type

str

KINEMATICS='None'

A kinematics object.

Type

NoneType

APERTURE_LEFT='10 centimeter'

Aperture size of the magnet, left side (used for plotting only).

Type

Quantity

APERTURE_RIGHT='10 centimeter'

Aperture size of the magnet, right side (used for plotting only).

Type

Quantity

APERTURE_TOP='10 centimeter'

Aperture size of the magnet, top side (used for plotting only).

Type

Quantity

APERTURE_BOTTOM='10 centimeter'

Aperture size of the magnet, bottom side (used for plotting only).

Type

Quantity

COLOR='#FF0000'

Magnet color for plotting.

Type

str

LENGTH_IS_ARC_LENGTH='False'
Type

bool

IL='2'

Print field and coordinates along trajectories

Type

int

MOD='1'

Type of dipole magnet

Type

int

dL='0.0 centimeter'

UNUSED

Type

Quantity

R0='10.0 centimeter'

Radius of the pole tips

Type

Quantity

dB1='0'

Relative error on dipole component

Type

int

dB2='0'

Relative error on quadrupole component

Type

int

dB3='0'

Relative error on sextupole component

Type

int

NBLW='0'

Number of back-leg windings

Type

int

WMOD='1'

Back-leg winding model

Type

int

NW='[0]'

Number of windings

Type

list

I='[0] ampere'

Current of windings

Type

Quantity

X_E='0 centimeter'

Entrance face integration zone for the fringe field

Type

Quantity

LAM_E='0 centimeter'

Entrance face fringe field extent

Type

Quantity

E2='0 centimeter'

Quadrupole fringe field extent

Type

Quantity

E3='0 centimeter'

Sextupole fringe field extent

Type

Quantity

NCE='0'

UNUSED

Type

int

C0_E='0'

Fringe field coefficient C0

Type

int

C1_E='1'

Fringe field coefficient C1

Type

int

C2_E='0'

Fringe field coefficient C2

Type

int

C3_E='0'

Fringe field coefficient C3

Type

int

C4_E='0'

Fringe field coefficient C4

Type

int

C5_E='0'

Fringe field coefficient C5

Type

int

X_S='0 centimeter'

Exit face integration zone for the fringe field

Type

Quantity

LAM_S='0 centimeter'

Exit face fringe field extent

Type

Quantity

S2='0 centimeter'

Quadrupole fringe field extent

Type

Quantity

S3='0 centimeter'

Sextupole fringe field extent

Type

Quantity

NCS='0'

UNUSED

Type

int

C0_S='0'

Fringe field coefficient C0

Type

int

C1_S='1'

Fringe field coefficient C1

Type

int

C2_S='0'

Fringe field coefficient C2

Type

int

C3_S='0'

Fringe field coefficient C3

Type

int

C4_S='0'

Fringe field coefficient C4

Type

int

C5_S='0'

Fringe field coefficient C5

Type

int

R1='0 radian'

Skew angle of field component R1

Type

Quantity

R2='0 radian'

Skew angle of field component R2

Type

Quantity

R3='0 radian'

Skew angle of field component R3

Type

Quantity

XPAS='0.1 centimeter'

Integration step

Type

Quantity

KPOS='1'

Misalignment type

Type

int

XCE='0 centimeter'

x offset

Type

Quantity

YCE='0 centimeter'

y offset

Type

Quantity

ALE='0 radian'

misalignment rotation

Type

Quantity

XS='0 centimeter'

X shift

Type

Quantity

YS='0 centimeter'

Y shift

Type

Quantity

ZR='0 centimeter'

Z rotation

Type

Quantity

ZS='0 centimeter'

Z shift

Type

Quantity

YR='0 centimeter'

Y rotation

Type

Quantity

Default initializer for all Commands.

Attributes Summary

KEYWORD

Keyword of the command used for the Zgoubi input data.

PARAMETERS

Parameters of the command, with their default value, their description and optinally an index used by other commands (e.g.

Attributes Documentation

KEYWORD: str = 'AGSMM'

Keyword of the command used for the Zgoubi input data.

PARAMETERS: dict = {'ALE': (<Quantity(0, 'radian')>, 'misalignment rotation', 83), 'APERTURE_BOTTOM': (<Quantity(10, 'centimeter')>, 'Aperture size of the magnet, bottom side (used for plotting only).'), 'APERTURE_LEFT': (<Quantity(10, 'centimeter')>, 'Aperture size of the magnet, left side (used for plotting only).'), 'APERTURE_RIGHT': (<Quantity(10, 'centimeter')>, 'Aperture size of the magnet, right side (used for plotting only).'), 'APERTURE_TOP': (<Quantity(10, 'centimeter')>, 'Aperture size of the magnet, top side (used for plotting only).'), 'C0_E': (0, 'Fringe field coefficient C0', 31), 'C0_S': (0, 'Fringe field coefficient C0', 51), 'C1_E': (1, 'Fringe field coefficient C1', 32), 'C1_S': (1, 'Fringe field coefficient C1', 52), 'C2_E': (0, 'Fringe field coefficient C2', 33), 'C2_S': (0, 'Fringe field coefficient C2', 53), 'C3_E': (0, 'Fringe field coefficient C3', 34), 'C3_S': (0, 'Fringe field coefficient C3', 54), 'C4_E': (0, 'Fringe field coefficient C4', 35), 'C4_S': (0, 'Fringe field coefficient C4', 55), 'C5_E': (0, 'Fringe field coefficient C5', 36), 'C5_S': (0, 'Fringe field coefficient C5', 56), 'COLOR': ('#FF0000', 'Magnet color for plotting.'), 'E2': (<Quantity(0, 'centimeter')>, 'Quadrupole fringe field extent', 23), 'E3': (<Quantity(0, 'centimeter')>, 'Sextupole fringe field extent', 24), 'HEIGHT': (<Quantity(20, 'centimeter')>, 'Height of the magnet (distance between poles), used by plotting functions.'), 'I': (<Quantity([0], 'ampere')>, 'Current of windings'), 'IL': (2, 'Print field and coordinates along trajectories', 1), 'KINEMATICS': (None, 'A kinematics object.'), 'KPOS': (1, 'Misalignment type', 80), 'LABEL1': ('', 'Primary label for the Zgoubi command (default: auto-generated hash).'), 'LABEL2': ('', 'Secondary label for the Zgoubi command.'), 'LAM_E': (<Quantity(0, 'centimeter')>, 'Entrance face fringe field extent', 22), 'LAM_S': (<Quantity(0, 'centimeter')>, 'Exit face fringe field extent', 41), 'LENGTH_IS_ARC_LENGTH': (False, ''), 'MOD': (1, 'Type of dipole magnet'), 'NBLW': (0, 'Number of back-leg windings', 20), 'NCE': (0, 'UNUSED', 30), 'NCS': (0, 'UNUSED', 50), 'NW': ([0], 'Number of windings'), 'PIPE_COLOR': ('grey', 'Color of the pipe, used by plotting functions.'), 'PIPE_THICKNESS': (<Quantity(2, 'centimeter')>, 'Thickness of the pipe, used by plotting functions.'), 'POLE_WIDTH': (<Quantity(30, 'centimeter')>, 'Pole width (used for plotting only).'), 'R0': (<Quantity(10.0, 'centimeter')>, 'Radius of the pole tips'), 'R1': (<Quantity(0, 'radian')>, 'Skew angle of field component R1', 60), 'R2': (<Quantity(0, 'radian')>, 'Skew angle of field component R2', 60), 'R3': (<Quantity(0, 'radian')>, 'Skew angle of field component R3', 60), 'REFERENCE_FIELD_COMPONENT': ('BZ', 'Orientation of the reference field (used by field maps)'), 'S2': (<Quantity(0, 'centimeter')>, 'Quadrupole fringe field extent', 21), 'S3': (<Quantity(0, 'centimeter')>, 'Sextupole fringe field extent', 21), 'WMOD': (1, 'Back-leg winding model'), 'XCE': (<Quantity(0, 'centimeter')>, 'x offset', 81), 'XPAS': (<Quantity(0.1, 'centimeter')>, 'Integration step', 70), 'XS': (<Quantity(0, 'centimeter')>, 'X shift', 81), 'X_E': (<Quantity(0, 'centimeter')>, 'Entrance face integration zone for the fringe field', 21), 'X_S': (<Quantity(0, 'centimeter')>, 'Exit face integration zone for the fringe field', 40), 'YCE': (<Quantity(0, 'centimeter')>, 'y offset', 82), 'YR': (<Quantity(0, 'centimeter')>, 'Y rotation', 81), 'YS': (<Quantity(0, 'centimeter')>, 'Y shift', 81), 'ZR': (<Quantity(0, 'centimeter')>, 'Z rotation', 81), 'ZS': (<Quantity(0, 'centimeter')>, 'Z shift', 81), 'dB1': (0, 'Relative error on dipole component'), 'dB2': (0, 'Relative error on quadrupole component'), 'dB3': (0, 'Relative error on sextupole component'), 'dL': (<Quantity(0.0, 'centimeter')>, 'UNUSED')}

Parameters of the command, with their default value, their description and optinally an index used by other commands (e.g. fit).