10.9 BRAT—Bending magnet RAy Tracing using (Bx, By, Bz) vs (x, y, z).

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 NULLdouble 0.0

fractional strength error






ACCURACY NULLdouble 0.0

integration accuracy






METHOD NULLSTRINGNULL

Ignored. Method defaults to Bulirsch-Stoer.






FILENAME NULLSTRINGNULL

name of file containing columns (x, y, z, Bx, By, Bz) for main field






ADDITIONAL_FILENAMENULLSTRINGNULL

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






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.






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 NULLSTRINGNULL

Filename template for particle output. Can be very resource intensive!






PARTICLE_OUTPUT_LOST_ONLYNULLshort 0

If non-zero, 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_INTERVALNULLlong 1

Interval between particles selected for output.






PARTICLE_OUTPUT_SAMPLE_INTERVAL NULLlong 1

Interval in integration steps for particle output.






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






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.

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 ≥-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 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