A non-symplectic numerically integrated planar undulator including optional co-propagating laser beam
for laser modulation of the electron beam.
Parallel capable? : yes
GPU capable? : no
Back-tracking capable? : no
Parameter Name | Units | Type | Default | Description |
L | M | double | 0.0 | length |
BU | T | double | 0.0 | Undulator peak field |
TGU_GRADIENT | 1∕M | double | 0.0 | Transverse gradient divided by maximum on-axis field. |
TGU_COMP_FACTOR | NULL | double | 1 | Use to adjust constant field component to reduce trajectory error. |
PERIODS | long | 0 | Number of undulator periods. |
|
METHOD | NULL | STRING | non-adaptive runge-kutta | integration method (runge-kutta, bulirsch-stoer, modified-midpoint, two-pass modified-midpoint, leap-frog, non-adaptive runge-kutta) |
FIELD_EXPANSION | NULL | STRING | leading terms | ideal, exact, or ”leading terms” |
ACCURACY | NULL | double | 0.0 | Integration accuracy for adaptive integration. (Not recommended) |
N_STEPS | long | 0 | Number of integration steps for non-adaptive integration. |
|
POLE_FACTOR1 | double | 0.1557150345504 | Strength factor for the first and last pole. |
|
POLE_FACTOR2 | double | 0.380687012288581 | Strength factor for the second and second-to-last pole. |
|
POLE_FACTOR3 | double | 0.802829337348179 | Strength factor for the third and third-to-last pole. |
|
LASER_WAVELENGTH | M | double | 0.0 | Laser wavelength. If zero, the wavelength is calculated from the resonance condition. |
LASER_PEAK_POWER | W | double | 0.0 | laser peak power |
LASER_W0 | M | double | 1 | laser spot size at waist, w0 = σx = σy |
LSRMDLTR continued
A non-symplectic numerically integrated planar undulator including optional co-propagating laser beam for
laser modulation of the electron beam.
Parameter Name | Units | Type | Default | Description |
LASER_PHASE | RAD | double | 0.0 | laser phase |
LASER_X0 | M | double | 0.0 | laser horizontal offset at center of wiggler |
LASER_Y0 | M | double | 0.0 | laser vertical offset at center of wiggler |
LASER_Z0 | M | double | 0.0 | offset of waist position from center of wiggler |
LASER_TILT | RAD | double | 0.0 | laser tilt |
LASER_M | short | 0 | laser horizontal mode number (<5) |
|
LASER_N | short | 0 | laser vertical mode number (<5) |
|
SYNCH_RAD | short | 0 | Include classical, single-particle synchrotron radiation? |
|
ISR | short | 0 | Include quantum excitation? |
|
HELICAL | short | 0 | If non-zero, simulate helical undulator. |
|
TIME_PROFILE | NULL | STRING | NULL | <filename>=<x>+<y> form specification of input file giving time-dependent modulation of the laser electric and magnetic fields. |
TIME_OFFSET | S | double | 0.0 | Time offset of the laser profile. |
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 simulates a planar undulator, together with an optional co-propagating laser beam that can be used as a beam heater or modulator. The simulation is done by numerical integration of the Lorentz equation. It is not symplectic, and hence this element is not recommended for long-term tracking simulation of undulators in storage rings.
The fields in the undulator can be expressed in one of three ways. The FIELD_EXPANSION parameter is used to control which method is used.
| (71) |
| (72) |
and
| (73) |
where ku = 2π∕λu and λu is the undulator period. This is the most precise method, but also the slowest.
Experimental feature: One may also model a transverse gradient undulator (TGU) by setting the TGU_GRADIENT parameter to a non-zero value. In this case, taking a as the normalized gradient, the fields are [54]
| (74) |
| (75) |
and
| (76) |
where γ is the central relativistic factor for the beam and C is given by the TGU_COMP_FACTOR parameter. This factor, and the term it multiplies, is present in order to help suppress the trajectory error at the end of the device. It may require adjustment in order to achieve the desired level of correction. In addition, the user may need to adjust the pole-strength factors and include external misalignments and steering magnets in order to supress not only the trajectory error, but also dispersion errors.
| (77) |
and
| (78) |
In most cases, this gives results that are very close to the exact fields, at a savings of 10% in computation time. This is the default mode.
| (79) |
| (80) |
This is about 10% faster than the leading-order mode, but less precise. Also, it does not include vertical focusing, so it is not generally recommended.
If HELICAL is set to a nonzero value, a helical device is modeled by combining the fields of two planar devices, one of which is rotated 90 degrees and displaced one quarter wavelength. Again, the FIELD_EXPANSION parameter is used to control which method is used.
| (81) |
| (82) |
and
| (83) |
| (84) |
| (85) |
and
| (86) |
| (87) |
| (88) |
| (89) |
This is about 10% faster than the leading-order mode, but less precise. Also, it does not include vertical focusing, so it is not generally recommended.
The expressions for the laser field used by this element are from A. Chao’s article “Laser Acceleration
— Focussed Laser,” available on-line at
http://www.slac.stanford.edu/~achao/LaserAccelerationFocussed.pdf . The implementation covers laser
modes TEMij, where 0 ≤ i ≤ 4 and 0 ≤ j ≤ 4.
By default, if the laser wavelength is not given, it is computed from the resonance condition:
| (90) |
where γ is the relativistic factor for the beam and K is the undulator parameter.
The adaptive integrator doesn’t work well for this element, probably due to sudden changes in field derivatives in the first and last three poles (a result of the implementation of the undulator terminations). Hence, the default integrator is non-adaptive Runge-Kutta. The integration accuracy is controlled via the N_STEPS parameter. N_STEPS should be about 100 times the number of undulator periods.
The three pole factors are defined so that the trajectory is centered about x = 0 and x′ = 0 with zero dispersion. This wouldn’t be true with the standard two-pole termination, which might cause problems overlapping the laser with the electron beam.
The laser time profile can be specified using the TIME_PROFILE parameter to specify the name of an SDDS file containing the profile. If given, the electric and magnetic fields of the laser are multiplied by the profile P(t). Hence, the laser intensity is multiplied by P2(t). By default t = 0 in the profile is lined up with ⟨t⟩ in the electron bunch. This can be changed with the TIME_OFFSET parameter. A positive value of TIME_OFFSET moves the laser profile forward in time (toward the head of the bunch).
Explanation of <filename>=<x>+<y> format: Several elements in elegant make use of data from external files to provide input waveforms. The external files are SDDS files, which may have many columns. In order to provide a convenient way to specify both the filename and the columns to use, we frequently employ <filename>=<x>+<y> format for the parameter value. For example, if the parameter value is waveform.sdds=t+A, then it means that columns t and A will be taken from file waveform.sdds. The first column is always the independent variable (e.g., time, position, or frequency), while the second column is the dependent quantity.
LTHINLENS