10.8 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)






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 NULLSTRINGNULL

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






PARTICLE_OUTPUT_LOST_ONLY NULLshort 0

If non-zero, particle output includes only lost particles.






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