Parameter Name | Units | Type | Default | Description |
L | double | 0.0 | length | |
ATTENUATION_LENGTH | double | 0.0 | exponential attenuation length for wake | |
DZ | double | 0.0 | interval between kicks | |
N_KICKS | long | 1 | number of kicks (if DZ is zero) | |
SPREAD | long | 0 |
use spreading function? | |
USE_OVERTAKING_LENGTH | long | 0 |
use overtaking length for ATTENUATION_LENGTH? | |
OL_MULTIPLIER | double | 1 | factor by which to multiply the overtaking length to get the attenuation length | |
USE_SALDIN54 | long | 0 |
Use Saldin et al eq. 54 (NIM A 398 (1997) 373-394 for decay vs z? | |
SALDIN54POINTS | long | 1000 | Number of values of position inside bunch to average for Saldin eq 54. | |
CSR | long | 1 | do CSR calcuations | |
SALDIN54NORM_MODE | STRING | peak | peak or first | |
SPREAD_MODE | STRING | full | full, simple, or radiation-only | |
WAVELENGTH_MODE | STRING | sigmaz | sigmaz or peak-to-peak | |
BUNCHLENGTH_MODE | STRING | 68-percentile | rms, 68-percentile, or 90-percentile | |
SALDIN54_OUTPUT | STRING | NULL | Filename for output of CSR intensity vs. z as computed using Saldin eq 54. | |
USE_STUPAKOV | long | 0 |
Use treatment from G. Stupakov's note of 9/12/2001? | |
STUPAKOV_OUTPUT | STRING | NULL | Filename for output of CSR wake vs. s as computed using Stupakov's equations. | |
STUPAKOV_OUTPUT_INTERVAL | long | 1 | Interval (in kicks) between output of Stupakov wakes. | |
SLICE_ANALYSIS_INTERVAL | long | 0 |
interval (in kicks) of output to slice analysis file (from slice_analysis command) |
A follow-on element for CSRCSBEND that applies the CSR wake over a drift.
Parameter Name | Units | Type | Default | Description |
LINEARIZE | long | 0 |
use linear optics for drift pieces? |
This element has a number of models for simulation of CSR in drift
spaces following CSRCSBEND elements. Note that all models allow
support splitting the drift into multiple CSRDRIFT elements.
One can also have intervening elements like quadrupoles,
as often happens in chicanes. The CSR effects inside such
intervening elements are applied in the CSRDRIFT downstream of
the element.
For a discussion of some of the methods behind this element, see M. Borland, ``Simple method for particle tracking with coherent synchrotron radiation,'' Phys. Rev. ST Accel. Beams 4, 070701 (2001).
N.B.: by default, this element uses 1 CSR kick (N_KICKS=1) at the center of the drift. This is usually not a good choice. I usually use the DZ parameter instead of N_KICKS, and set it to something like 0.01 (meters). The user should vary this parameter to assess how small it needs to be.
The models are as following, in order of decreasing sophistication and accuracy:
This model has the most sophisticated treatment for intervening elements of any of the models. For example, if you have a sequence CSRCSBEND-CSRDRIFT-CSRDRIFT and compare it with the sequence CSRCSBEND-CSRDRIFT-DRIFT -CSRDRIFT, keeping the total drift length constant, you'll find no change in the CSR-induced energy modulation. The model back-propagates to the beginning of the intervening element and performs the CSR computations starting from there.
This is the slowest model to run. It uses the same binning and smoothing parameters as the upstream CSRCSBEND. If run time is a problem, compare it to the other models and use only if you get different answers.
The ``Saldin 54'' and ``overtaking-length'' models rely on computation of the bunch length, which is controlled with the BUNCHLENGTH_MODE parameter. Nominally, one should use the true RMS, but when the beam has temporal spikes, it isn't always clear that this is the best choice. The choices are ``rms'', ``68-percentile'', and ``90-percentile''. The last two imply using half the length determined from the given percentile in place of the rms bunch length. I usually use 68-percentile, which is the default.