Bending magnet RAy Tracing using (Bx, By, Bz) vs (x, y, z).
Parallel capable? : yes
GPU capable? : no
Back-tracking capable? : no
Parameter Name | Units | Type | Default | Description |
L | M | double | 0.0 | length |
ANGLE | RAD | double | 0.0 | Nominal bending angle. Will be refined to match geometry specified by input/output and vertex coordinates |
FSE | NULL | double | 0.0 | fractional strength error |
ACCURACY | NULL | double | 0.0 | integration accuracy |
METHOD | NULL | STRING | NULL | Ignored. Method defaults to Bulirsch-Stoer. |
FILENAME | NULL | STRING | NULL | name of file containing columns (x, y, z, Bx, By, Bz) |
XVERTEX | M | double | 0.0 | x coordinate of vertex point |
ZVERTEX | M | double | 0.0 | z coordinate of vertex point |
XENTRY | M | double | 0.0 | x coordinate of nominal entry point |
ZENTRY | M | double | 0.0 | z coordinate of nominal entry point |
XEXIT | M | double | 0.0 | x coordinate of nominal exit point |
ZEXIT | M | double | 0.0 | z coordinate of nominal exit point |
DXMAP | M | double | 0.0 | x displacement of map |
DZMAP | M | double | 0.0 | z displacement of map |
YAWMAP | RAD | double | 0.0 | yaw of map about x=z=0 |
FACTOR | double | 1 | factor by which to multiply fields |
|
DELTA_BY_INSIDE | T | double | 0.0 | Vertical magnetic field to add to the map value when inside the hard-edge boundaries |
USE_FTABLE | short | 0 | If nonzero, use FTABLE method for integration. Value gives the number of kicks. |
|
XY_INTERPOLATION_ORDER | short | 1 | Order of interpolation in x and y. |
|
BRAT continued
Bending magnet RAy Tracing using (Bx, By, Bz) vs (x, y, z).
Parameter Name | Units | Type | Default | Description |
XY_GRID_EXCESS | short | 0 | Number of rows or columns to add in each dimension to the minimum. |
|
XY_EXTRAPOLATE | short | 0 | If nonzero, will extrapolate the field map in (x,y) if particle is outside. Otherwise, field is assumed to be zero. |
|
USE_SBEN_MATRIX | short | 0 | If nonzero, instead of using tracking to determine the matrix, will just use a sector-bend matrix. |
|
SINGLE_PRECISION | short | 0 | If nonzero, store field data in single precision to reduce memory requirements. Incompatible with FTABLE mode. |
|
PARTICLE_OUTPUT_FILE | NULL | STRING | NULL | Filename template for particle output. Can be very resource intensive! |
PARTICLE_OUTPUT_LOST_ONLY | NULL | short | 0 | If non-zero, particle output includes only lost particles. |
PARTICLE_OUTPUT_SELECTION_INTERVAL | NULL | long | 1 | Interval between particles selected for output. |
PARTICLE_OUTPUT_SAMPLE_INTERVAL | NULL | long | 1 | Interval in integration steps for particle output. |
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 |
|
Bending magnet RAy Tracing using (Bx, By, Bz) vs (x, y, z). This element is a companion to the commandline program abrat. It integrates through a 3-D field map for a bending magnet, including coordinate transformations. No synchrotron radiation calculations are included at this time.
Coordinates
The coordinates of the field map are right-handed system (x, y, z), where z is along the length of the magnet, x is to the right as viewed along the direction of beam propagation, and y is up. The user must specify the (x, z) coordinates of three points:
The bending angle is equal to the angle between two lines: the line from ENTRY to VERTEX and the line from VERTEX to EXIT. The L and ANGLE parameters supplied by the user are used for geometry calculations (e.g., floor coordinates) only.
The DXMAP, DZMAP, YAWMAP, and FSE values can be used to optimize the field map to ensure that the horizontal reference trajectory is not displaced at the exit of the element. The optimization feature of the abrat program can be used to determine these values.
Matrix generation
elegant will use tracking to determine the transport matrix for BRAT 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.
If matrices are not of particular interest, significant time savings can be realized by setting USE_SBEND_MATRIX=1. Of course, any matrix-based results (e.g., twiss parameters) are then dubious at best.
Integration methods
The original (and default) integration method is Bulirsch-Stoer integration of the Lorentz force equation. As an alternative, one can use the faster, rotation-based method of the FTABLE element. For repeated use, the two methods should be compared and a choice made based on the user’s needs.
BUMPER