| Parameter Name | Units | Type | Default | Description |
| L | double | 0.0 | length | |
| BU | double | 0.0 | Undulator peak field | |
| PERIODS | long | 0 |
Number of undulator periods. | |
| METHOD | 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 | STRING | leading terms | ideal, exact, or "leading terms" | |
| ACCURACY | 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 | double | 0.0 | Laser wavelength. If zero, the wavelength is calculated from the resonance condition. | |
| LASER_PEAK_POWER | double | 0.0 | laser peak power | |
| LASER_W0 | double | 1 | laser spot size at waist,
|
|
| LASER_PHASE | double | 0.0 | laser phase | |
| LASER_X0 | double | 0.0 | laser horizontal offset at center of wiggler | |
| LASER_Y0 | double | 0.0 | laser vertical offset at center of wiggler |
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_Z0 | double | 0.0 | offset of waist position from center of wiggler | |
| LASER_TILT | double | 0.0 | laser tilt | |
| LASER_M | long | 0 |
laser horizontal mode number ( |
|
| LASER_N | long | 0 |
laser vertical mode number ( |
|
| SYNCH_RAD | long | 0 |
Include classical synchrotron radiation? | |
| ISR | long | 0 |
Include quantum excitation? | |
| TIME_PROFILE | STRING | NULL | ||
| TIME_OFFSET | 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.
| (22) |
| (23) |
| (24) |
| (25) |
| (26) |
| (27) |
| (28) |
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
and
.
By default, if the laser wavelength is not given, it is computed from the resonance
condition:
| (29) |
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
and
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
. Hence, the laser intensity is multiplied
by
. By default
in the
profile is lined up with
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.