Bend#

class georges.manzoni.elements.Bend(name: str = '', integrator: ~georges.manzoni.integrators.IntegratorType = <class 'georges.manzoni.integrators.MadXIntegrator'>, *params, **kwargs)[source]#

Bases: Magnet

Define a Bend magnet.

PARAMETERS#

Dictionary containing the parameters of the Bend with their default values.

Type:

dict

Examples

>>> b1 = Bend('B1', L=1*_ureg.m, ANGLE=30*_ureg.degrees, E1=5*_ureg.degrees, HGAP=2*_ureg.cm, K1=3*_ureg.m**-2)
>>> b1 
    Bend: {'NAME': 'B1',
    'AT_ENTRY': <Quantity(0, 'meter')>,
    'AT_CENTER': <Quantity(0, 'meter')>,
    'AT_EXIT': <Quantity(0, 'meter')>,
    'APERTYPE': None, 'APERTURE': [],
    'KINEMATICS': None,
    'ANGLE': <Quantity(30, 'degree')>,
    'K0': <Quantity(0.0, '1 / meter')>,
    'K1': <Quantity(3, '1 / meter ** 2')>,
    'K2': <Quantity(0.0, '1 / meter ** 3')>,
    'L': <Quantity(1, 'meter')>,
    'E1': <Quantity(5, 'degree')>,
    'E2': <Quantity(0.0, 'radian')>,
    'TILT': <Quantity(0.0, 'radian')>,
    'HGAP': <Quantity(2, 'centimeter')>,
    'FINT': 0.0,
    'FINTX': 0.0}

Command attributes

NAME=''

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

Type:

str

AT_ENTRY='0 meter'

Entrance position of the element.

Type:

Quantity

AT_CENTER='0 meter'

Entrance position of the element.

Type:

Quantity

AT_EXIT='0 meter'

Exit position of the element.

Type:

Quantity

APERTYPE='None'

Aperture type (CIRCULAR, ELLIPTICAL, RECTANGULAR or PHASE_SPACE)

Type:

NoneType

APERTURE='[]'
Type:

list

KINEMATICS='None'

Reference kinematics

Type:

NoneType

ANGLE='0.0 radian'

Bending angle.

Type:

Quantity

K0='0.0 / meter'

Dipolar normalized gradient

Type:

Quantity

K1='0.0 / meter ** 2'

Quadrupolar normalized gradient.

Type:

Quantity

K2='0.0 / meter ** 3'

Sextupolar normalized gradient.

Type:

Quantity

L='0.0 meter'

Magnet length.

Type:

Quantity

E1='0.0 radian'

Entrance face angle.

Type:

Quantity

E2='0.0 radian'

Exit face angle.

Type:

Quantity

TILT='0.0 radian'

Magnet tilt angle.

Type:

Quantity

HGAP='0.0 meter'

Magnet gap.

Type:

Quantity

FINT='0.0'

Fringe field integral.

Type:

float

FINTX='0.0'

Exit fringe field integral.

Type:

float

Default initializer for all Commands.

Attributes Summary

PARAMETERS

Parameters of the element, with their default value and their description .

edges

fringe_field_integrals

length

Length of the element.

parameters

Methods Summary

compute_fringe(h, e, hgap, fint)

Attributes Documentation

PARAMETERS: dict = {'ANGLE': (<Quantity(0.0, 'radian')>, 'Bending angle.'), 'APERTURE': ([], ''), 'APERTYPE': (None, 'Aperture type (CIRCULAR, ELLIPTICAL, RECTANGULAR or PHASE_SPACE)'), 'AT_CENTER': (<Quantity(0, 'meter')>, 'Entrance position of the element.'), 'AT_ENTRY': (<Quantity(0, 'meter')>, 'Entrance position of the element.'), 'AT_EXIT': (<Quantity(0, 'meter')>, 'Exit position of the element.'), 'E1': (<Quantity(0.0, 'radian')>, 'Entrance face angle.'), 'E2': (<Quantity(0.0, 'radian')>, 'Exit face angle.'), 'FINT': (0.0, 'Fringe field integral.'), 'FINTX': (0.0, 'Exit fringe field integral.'), 'HGAP': (<Quantity(0.0, 'meter')>, 'Magnet gap.'), 'K0': (<Quantity(0.0, '1 / meter')>, 'Dipolar normalized gradient'), 'K1': (<Quantity(0.0, '1 / meter ** 2')>, 'Quadrupolar normalized gradient.'), 'K2': (<Quantity(0.0, '1 / meter ** 3')>, 'Sextupolar normalized gradient.'), 'KINEMATICS': (None, 'Reference kinematics'), 'L': (<Quantity(0.0, 'meter')>, 'Magnet length.'), 'NAME': ('', 'Primary label for the Manzoni command (default: auto-generated hash).'), 'TILT': (<Quantity(0.0, 'radian')>, 'Magnet tilt angle.')}#

Parameters of the element, with their default value and their description .

edges#
fringe_field_integrals#
length#
parameters#

Methods Documentation

static compute_fringe(h: float, e: float, hgap: float, fint: float) Tuple[float, float][source]#