13.15 Highlights of What’s New in Version 2020.1.1
13.15.1 Bug Fixes for Elements
Edge effects are now correctly handled for the KQUAD element in backtracking.
Improved backtracking for the CCBEND element (Cartesian Canonically-integrated Bend).
Backtracking for this element is still doubtful for large-angle dipoles with significant gradients.
The CCBEND element now incorporates a path-length correction to ensure that the central
path length in tracking is the same as the user-defined arc length. This prevents issues with
rf cavity setup and closed orbit determination. V. Sajaev (APS) reported this bug.
The ETILT parameter of the CSBEND, CSRCSBEND, SBEN, and RBEN elements was not
implemented correctly. Although the magnitude of the trajectory error was correct, it had the
wrong sign compared to the dynamic effects (e.g., vertical dispersion). This bug was reported
by G. Penn (LBNL), who also reported an error in adjustment of the path-length when ETILT
was nonzero (no adjustment was made). A new parameter ETILT_SIGN allows changing the
sign convention to match that of TILT.
The FSE_DIPOLE and FSE_QUADRUPOLE values were being left at the user-defined values when
determining the reference trajectory when REFERENCE_CORRECTION=1. This bug was reported
by G. Penn (LBNL), and has been fixed.
The handling of the DC term in ZTRANSVERSE was corrected. The code was ignoring the
real part of the impedance at DC. The issue was pointed out by R. Lindberg (APS). The
new script trwake2impedance illustrates how to create a transverse impedance from a wake
function using sddsfft.
The handling of the DC term in ZLONGIT was corrected. In particular, the term needed to
be multipled by two internally. The new script wake2impedance illustrates how to create a
longitudinal impedance from a wake function using sddsfft.
The matrix for the MULT element, used in computation of twiss parameters and beam moments,
was not being updated when parameters were changed during a run (e.g., with vary_element
or error_element).
Synchrotron radiation was computed incorrectly for KQUAD and KSEXT elements when the
HKICK or VKICK steering parameters were non-zero, as reported by G. Penn (LBNL).
13.15.2 Bug Fixes for Commands
The namelist parser was improved so that it now detects a common error, namely, a missing
(or incorrectly typed) &end token.
The bunched_beam command was giving inconsistent particle ID values between the serial
and parallel versions when first_is_fiducial=1, as reported by Duan Zhe (IHEP).
The twiss_output command would fail to deliver data to the s-dependent driving
terms output file if no file was giving for twiss parameters, as reported by forum user
felix_armborst. This is now flagged as an error.
13.15.3 New and Modified Elements
Backtracking is now available for the RFCW and LSCDRIFT elements, as well as for CSRCSBEND
with STEADY_STATE=1. The ENERGY element can also be used in backtracking, and is essential
in some cases to ensure matching reference energy profiles between forward and backward
tracking; an example is provided in the examples collection. Y. Park (UCLA) motivated the
work and helped with testing.
Work began on a mechanism for summarizing warnings at the end of a run. At present, the
summary is incomplete.
13.15.4 New and Modified Commands
Added more controls for mathematica-compatible output from the matrix_output. In
particular, it is now possible to put the output in separately-named files, which makes
importation into mathematica much simpler.
Work began on a mechanism for summarizing warnings at the end of a run. At present, the
summary is incomplete.
13.15.5 Changes to Related Programs and Files
Added the scripts wake2impedance and trwake2impedance to translate wake function data
into a form accepted by the ZLONGIT and ZTRANSVERSE elements, respectively.