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 | NULL | STRING | NULL | configuration file from straightDipoleFringeCalc |
APERTURE_DATA | NULL | STRING | NULL | 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 | Units | Type | 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 | string | NULL | 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