13.1 Highlights of What’s New in Version 2023.3
Here is a summary of what’s changed since release 2023.2. Historical change logs are collected in Section
13.
13.1.1 Bug Fixes for Elements
- The SPEEDBUMP element and SCRAPER elements share a common parameter POSITION,
which indicates the position of the surface closest to the reference trajectory. The SCRAPER
element correctly interprets the sign of the POSITION parameter to indicate whether the
surface extends across the reference trajectory. For example, with INSERT_FROM=’’-x’’ and
POSITION=0.010, the scraper extends from the negative side 10 mm across the reference
trajectory. SPEEDBUMP, on the other hand, interprets the POSITION parameter as with different
conventions depending on the direction of insertion. The SCRAPER_CONVENTION parameter
was added to SPEEDBUMP to change the behavior to the SCRAPER approach. By default, the
old behavior is used.
13.1.2 Bug Fixes for Commands
- The computation of trajectory and orbit response matrices had a bug when link_elements
was used to link various steering elements. The response was computed without the links.
- The insert_elements command previously did not warn the user when nothing was inserted,
which could have surprising consequences. This is now flagged as an error, with an option to
issue a warning instead.
- The linear acceptance calculations provided by twiss_output were invalid when the nominal
trajectory was outside the aperture. This was been fixed.
- A bug was
corrected in the computation of the orbit response matrix when multiple steering_element
commands were used in combination with use_response_from_computed_orbits=1 in the
correct or correction_matrix_output command. The bug would cause generation of an
incorrect matrix or even a crash.
13.1.3 New and Modified Elements
- The CSBEND element now provides a new symplectic, nonlinear fringe-field implementation
that is similar to the one available for the CCBEND element, based on theoretical work
by R. Lindberg (APS), who also did most of the coding. A companion program,
curvedDipoleFringeCalc, computes the required seven integrals for the entrance and exit
fringes.
- The MRFDF element now supports the START_PASS, END_PASS, START_PID, and END_PID
parameters, per a request from forum user Seb_Wilkes.
- The CCBEND, CSBEND,
KQUAD, and LGBEND elements have a new parameter, SR_IN_ORDINARY_MATRIX which allows
including the effect of classical synchrotron radiation in ordinary matrix computations (e.g.,
for twiss_output or matrix_output). This would allow, for example, estimating the optical
effects of energy losses around the circumference of a storage ring. (The moments_output
provides a fully self-consistent treatment.) This is in response to a request from forum user
esmahmadi.
- When RFCA or RFCW elements are used with CHANGE_T=1, a warning will be issued if any other
time-dependent elements are present. This is to remind the user that such a combination may
yield wrong results or even crashes.
- The CORGPLATES element was added, providing the longitudinal wake for a pair of corrugated
plates [63].
- The ALPH element, which simulates transport through an alpha magnet [5], was improved to
support a separate element for momentum filtration, which allows visualizing the effect more
easily.
13.1.4 New and Modified Commands
- The correction_matrix_output command can now output response and inverse matrices
for coupled, i.e., unified, trajectory correction.
- The function of the interrupt-file feature of the optimize command was improved, allowing
control of the time interval between checks.
- The load_parameters command can now optionally load the same page from a file repeatedly.
This can be used to reassert a baseline configuration prior to other changes, for example.
- The insert_elements command now supports defining the region of insertion by bracking
with two named elements.
- The twiss_output command now provides the third-order momentum compaction. However,
users are cautioned that the analytical matrices for most elements are limited to second-order,
so using tracking-derived matrices is necessary where supported. This was added by M.
Wallbank (FNAL).
- The CPICKUP and CKICKER elements, used to model optical stochastic cooling, were improved
thanks to work by M. Wallbank (FNAL). The main improvement is that incoherent mode
can now be used in the parallel version.
- The run_setup command now offers the ability to set the initial s coordinate, using the
s_start parameter. This was requested by V. Sajaev (ANL).
13.1.5 Other Changes
- Performance improvements were made to serial and parallel versions in matrix memory
handling, numerical precision, and integrator-based elements (CSBEND, CCBEND,
LGBEND, etc.). Speed-ups vary between 5% and 70%, with 30-50% being typical. Tracking
results will be different from previous versions at machine precision level. This work was done
by N. Kuklev (APS).
- Maximum multipole order in input files is now limited to 19 (previously any order was valid).
Please let authors know if this is too low.
13.1.6 Changes Specific to the MPI Parallel Version
13.1.7 Changes Specific to the GPU Version
The GPU version continues to be an alpha release and contains bugs. Users are
encouraged to check results against the serial or parallel versions and report issues to the
developers.
13.1.8 Changes to Related Programs and Files
The elegant distribution includes many programs and scripts that perform computations with elegant
output data, provide interfaces with other programs, or prepare data for use with elegant. These are
listed in Section 8.
Changes to these tools in this release include