Bending magnet RAy Tracing using (Bx, By, Bz) vs (x, y, z).
Parallel capable? : yes
GPU capable? : no
Backtracking 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 BulirschStoer. 
FILENAME  NULL  STRING  NULL  name of file containing columns (x, y, z, Bx, By, Bz) for main field 
ADDITIONAL_FILENAME  NULL  STRING  NULL  name of a file containing columns (x, y, z, Bx, By, Bz) for adding to the main field 
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 
DYMAP  M  double  0.0  y displacement of map 
DZMAP  M  double  0.0  z displacement of map 
YAWMAP  RAD  double  0.0  yaw of map about x=z=0 
MAIN_FACTOR  double  1  factor by which to multiply main fields 

ADDITIONAL_FACTOR  double  0.0  factor by which to multiply additional fields prior to adding to main fields 

BRAT continued
Bending magnet RAy Tracing using (Bx, By, Bz) vs (x, y, z).
Parameter Name  Units  Type  Default  Description 
FACTOR  double  1  factor by which to multiply combined fields 

DELTA_BY_INSIDE  T  double  0.0  Vertical magnetic field to add to the map value when inside the hardedge 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. 

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 sectorbend matrix. 

USE_DRIFT_MATRIX  short  0  If nonzero, instead of using tracking to determine the matrix, will just use a drift 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 nonzero, particle output includes only lost particles. 
BRAT continued
Bending magnet RAy Tracing using (Bx, By, Bz) vs (x, y, z).
Parameter Name  Units  Type  Default  Description 
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 userdefined 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 3D 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 righthanded 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 reuse 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 matrixbased results (e.g., twiss parameters) are then dubious at best.
Symmetry
By default, the BRAT element should be supplied with the full 3D field map of the magnet. To allow saving memory and reducing the time to load data, partial magnetic field maps can be loaded as well, but the user must specify the symmetry of the magnet to ensure that the fields are modeled correctly in the full volume. This is done using the ySymmetry and zSymmetry parameters in the input file, which may have one of three values: none (default), even, and odd. A normal (upright) multipole magnet would have ySymmetry=odd, while a skew multipole would have ySymmetry=even.
Note that when using these symmetries, the user is not required to limit the field map to y ≥ 0, though doing so saves the most memory. If possible, it is recommended to provide the fields over y ≥2Δy, so that the transverse interpolation as a few points on both sides of y = 0. This will ensure better results near the origin.
Integration methods
The original (and default) integration method is BulirschStoer integration of the Lorentz force equation. As an alternative, one can use the faster, rotationbased 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