A followon element for CSRCSBEND that applies the CSR wake over a drift.
Parallel capable? : yes
GPU capable? : yes
Backtracking capable? : no
Parameter Name  Units  Type  Default  Description 
L  M  double  0.0  length 
ATTENUATION_LENGTH  M  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  short  0  use spreading function? 

USE_OVERTAKING_LENGTH  short  0  use overtaking length for ATTENUATION_LENGTH? 

OL_MULTIPLIER  double  1  factor by which to multiply the overtaking length to get the attenuation length 

CSR  short  1  do CSR calcuations 

USE_SALDIN54  short  0  Use Saldin et al eq. 54 (NIM A 398 (1997) 373394 for decay vs z? 

SALDIN54POINTS  long  1000  Number of values of position inside bunch to average for Saldin eq 54. 

SALDIN54NORM_MODE  STRING  peak  peak or first 

SPREAD_MODE  STRING  full  full, simple, or radiationonly 

WAVELENGTH_MODE  STRING  sigmaz  sigmaz or peaktopeak 

BUNCHLENGTH_MODE  STRING  68percentile  rms, 68percentile, or 90percentile 

SALDIN54_OUTPUT  STRING  NULL  Filename for output of CSR intensity vs. z as computed using Saldin eq 54. 

USE_STUPAKOV  short  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) 

CSRDRIFT continued
A followon element for CSRCSBEND that applies the CSR wake over a drift.
Parameter Name  Units  Type  Default  Description 
LINEARIZE  short  0  use linear optics for drift pieces? 

LSC_INTERPOLATE  short  1  Interpolate computed LSC wake? 

LSC_BINS  long  0  If nonzero, include LSC with given number of bins. 

LSC_LOW_FREQUENCY_CUTOFF0  double  1  Highest spatial frequency at which lowfrequency cutoff filter is zero. If not positive, no lowfrequency cutoff filter is applied. Frequency is in units of Nyquist (0.5/binsize). 

LSC_LOW_FREQUENCY_CUTOFF1  double  1  Lowest spatial frequency at which lowfrequency cutoff filter is 1. If not given, defaults to LOW_FREQUENCY_CUTOFF1. 

LSC_HIGH_FREQUENCY_CUTOFF0  double  1  Spatial frequency at which smoothing filter begins for LSC. If not positive, no frequency filter smoothing is done. Frequency is in units of Nyquist (0.5/binsize). 

LSC_HIGH_FREQUENCY_CUTOFF1  double  1  Spatial frequency at which smoothing filter is 0 for LSC. If not given, defaults to HIGH_FREQUENCY_CUTOFF0. 

LSC_RADIUS_FACTOR  double  1.7  Radius factor for LSC computation. 

GROUP  string  NULL  Optionally used to assign an element to a group, with a userdefined name. Group names will appear in the parameter output file in the column ElementGroup 

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 CSRCSBENDCSRDRIFTCSRDRIFT and compare it with the sequence CSRCSBENDCSRDRIFTDRIFT CSRDRIFT, keeping the total drift length constant, you’ll find no change in the CSRinduced energy modulation. The model backpropagates 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 “overtakinglength” 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”, “68percentile”, and “90percentile”. The last two imply using half the length determined from the given percentile in place of the rms bunch length. I usually use 68percentile, which is the default.
CWIGGLER