13.6 Highlights of What’s New in Version 2021.4
Here is a summary of what’s changed since release 2021.3.
13.6.1 Bug Fixes for Elements
- A memory leak was fixed in the FMULT element.
- As pointed out by P. Anisimov, there were problems with the IBSCATTER element when more
than one was inserted in the beamline. This was fixed. In addition, the code now detects
negative growth rates (typically in the transverse planes) and correctly refuses to operate in
“random” mode, since that mode is only able to increase the emittances.
- As pointed out by G. Penn (LBNL), the KSEXT element gave incorrect results for synchrotron
radiation if K1 or J1 was significant. This was fixed. This change resulted in some
reorganization of common routines used by KQUAD, KSEXT, KOCT, and CCBEND, so small
differences in results may be seen.
- The CALIBRATION factor on HKICK, VKICK, EHKICK, and EVKICK and the HCALIBRATION and
VCALIBRATION factors on HVKICK and EHVKICK was applied twice in the computation of the
response matrices for trajectories. That is, the actual calibration factor would be the square
of the given factor.
- A memory bug was found in CSBEND that would sometimes cause a crash when
REFERENCE_CORRECTION=1 if the moments_output command was given. This was reported by
G. Penn (LBNL).
13.6.2 Bug Fixes for Commands
- As pointed out by G. Penn (LBNL), the lengthError parameter in the closed_orbit output
file was always zero, even when fixed_length=0. This was fixed.
13.6.3 New and Modified Elements
- Added the FACTOR parameter for the FMULT element, allowing all multipole components to be
scaled by a common factor. Also added the UNTILTED_MATRIX parameter, which can be used
to force elegant to numerically compute the matrix for the untilted element; see the manual
page for discussion.
- Added the PARALLEL_INTEGRATION parameter to IBSCATTER, which permits disabling the
default parallelization of s-dependent integrals for intrabeam scattering.
- The WATCH element has a new parameter AUTO_REFERENCE that allows automatically
determining the reference frequency from the rf cavities.
13.6.4 New and Modified Commands
- The rf_setup command now does a better job of setting the rf frequency in the presence
of a closed orbit, which may have a different length than the nominal orbit. It also includes
the ability to offset the rf phase, which allows the user to compensate for small differences
between the calculation of the energy loss per turn from radiation integrals and tracking.
These improvements were inspired by questions from G. Penn (LBNL).
- The save_lattice command can now write the entire lattice as a single beamline, if
output_seq=2. This was requested by forum user blanco-garcia.
13.6.5 Changes Specific to the MPI Parallel Version
- Added the multiply_np_by_cores parameter to bunched_beam and bunched_beam_moments.
If non-zero, then the number of particles generated is n_particles_per_bunch times the
number of working cores.
13.6.6 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.6.7 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