10.55 LGBEND—A multi-segment straight longitudinal dipole magnet

A multi-segment straight longitudinal dipole magnet
Parallel capable? : yes
GPU capable? : no
Back-tracking capable? : no






Parameter Name Units Type Default

Description






L M double 0.0

arc length (ignored)






CONFIGURATION NULLSTRINGNULL

configuration file from straightDipoleFringeCalc






APERTURE_DATA NULLSTRINGNULL

aperture data vs distance traveled from start (aperture_data format)






TILT RAD double 0.0

rotation about incoming longitudinal axis






DX M double 0.0

misalignment






DY M double 0.0

misalignment






DZ M double 0.0

misalignment






EYAW M double 0.0

misalignment






EPITCH M double 0.0

misalignment






ETILT RAD double 0.0

error rotation about incoming longitudinal axis






FSE double 0.0

fractional strength error






N_SLICES long 4

Number of slices (full integrator steps) per segment.






INTEGRATION_ORDER short 4

integration order (2, 4, or 6)






EDGE_ORDER short 2

Gives order of edge effects.






SYNCH_RAD short 0

include classical, single-particle synchrotron radiation?






ISR short 0

include incoherent synchrotron radiation (quantum excitation)?






ISR1PART short 1

Include ISR for single-particle beam only if ISR=1 and ISR1PART=1






SR_IN_ORDINARY_MATRIX short 0

If nonzero, the (tracking-based) matrix used for routine computations includes classical synchrotron radiation if SYNCH_RAD=1.






LGBEND continued

A multi-segment straight longitudinal dipole magnet






Parameter Name UnitsType Default

Description






USE_RAD_DIST short 0

If nonzero, overrides SYNCH_RAD and ISR, causing simulation of radiation from distributions, optionally including opening angle.






ADD_OPENING_ANGLE short 1

If nonzero, radiation opening angle effects are added if USE_RAD_DIST is nonzero.






OPTIMIZE_FSE short 1

Optimize strength (FSE) of first and last segments to obtain the ideal deflection angle and final trajectory.






COMPENSATE_KN short 1

If nonzero, K1 and K2 strengths are adjusted to compensate for the changes in FSE needed to center the trajectory.






VERBOSE short 0

If nonzero, print messages showing optimized FSE and x offset.






GROUP stringNULL

Optionally used to assign an element to a group, with a user-defined name. Group names will appear in the parameter output file in the column ElementGroup






This element provides a symplectic straight-pole, multi-segment bending magnet with the exact Hamiltonian in Cartesian coordinates. The quadrupole, sextupole, and other multipole terms are defined in Cartesian coordinates. The element is restricted to having rectangular ends for each segment. It is, in essence, like a series of CCBEND [61] elements concatenated into a whole.

The LGBEND element has relatively few explicit parameters, giving the illusion of simplicity. A custom configuration file is used to specify the many parameters of an LGBEND. This file is generated using the companion program straightDipoleFringeCalc from a generalized gradient expansion (GGE). The GGE can be created using either computeCBGGE (for cylindrical-boundary data) or computeRBGGE for (rectangular-boundary data). There is an example in the elegant examples collection.

One issue with LGBEND, as with CCBEND and to a lesser degree CSBEND, is that the final reference trajectory is not guaranteed to be on axis. To address this, but default LGBEND will automatically adjust the strength of the first and last segments to minimize the x and x coordinates of the reference particle. (This can be defeated by setting OPTIMIZE_FSE=0.) In doing this, the K1 and K2 values of those segments are by default automatically scaled to ensure that the integrated quadrupole and sextupole are not chagned. (This can be defeated by setting COMPENSATE_KN=0.)

Radiation effects

If SYNCH_RAD is non-zero, classical synchrotron radiation is included in tracking. Incoherent synchrotron radiation, when requested with ISR=1, normally uses gaussian distributions for the excitation of the electrons. (To exclude ISR for single-particle tracking, set ISR1PART=0.) Setting USE_RAD_DIST=1 invokes a more sophisticated algorithm that uses correct statistics for the photon energy and number distributions. In addition, if USE_RAD_DIST=1 one may also set ADD_OPENING_ANGLE=1, which includes the photon angular distribution when computing the effect on the emitting electron.

If SYNCH_RAD and SR_IN_ORDINARY_MATRIX are non-zero, classical synchrotron radiation will be included in the ordinary matrix (e.g., for twiss_output and matrix_output). Symplecticity is not assured, but the results may be interesting nonetheless. A more rigorous approach is to use moments_output. SR_IN_ORDINARY_MATRIX does not affect tracking.

Adding errors

Misalignments are performed in the body-centered frame using Venturini’s method [58] based on the values provided for DX, DY, DZ, ETILT, EPITCH, and EYAW. The FSE parameter is used to impart a global fractional strength error, which affects not only the dipole field but also any quadrupole or sextupole terms. The TILT parameter is used to specify the design orientation of the magnet.

Matrix generation

elegant will use tracking to determine the transport matrix for LGBEND elements, which is needed for computation of twiss parameters and other operations. This can require some time, so elegant will cache the matrices and re-use them for identical elements. Still, there is a performance benefit to be had from using the parallel version, particularly when assignment of errors prevents sharing of results among many elements.

LMIRROR