16.1 Highlights of What’s New in Version 2026.3
Here is a summary of what’s changed since release 2026.2.
16.1.1 Bug Fixes for Elements
16.1.2 Bug Fixes for Commands
- A bug was fixed in IBS calculations for moments_output that resulted in non-periodic
solutions. The emittances were not much affected.
- A limitation was resolved in coupled twiss parameter computations that resulted in the taking
the absolute value of the vertical dispersion.
16.1.3 New and Modified Elements
- The IMPEDANCE element was added, combining the physics of ZLONGIT and ZTRANSVERSE. This
allows combining simulation of short-range monopole, dipole, and quadrupole impedances
into a single element, giving a significant performance improvement compared to a sequence
of separate elements.
- The CWAKE element was added, combining the physics of WAKE and TRWAKE. This allows
combining simulation of short-range monopole, dipole, and quadrupole wakes into a single
element, giving a significant performance improvement compared to a sequence of separate
elements.
- Spin tracking was added to the CCBEND and LGBEND elements. With spin_tracking=1 set
in run_setup, both elements apply Thomas-BMT precession through the body and at the
entrance/exit edges.
- For CCBEND and LGBEND, the body radiation calculation now includes the contribution of
spurious systematic and random multipoles (SYSTEMATIC_MULTIPOLES, RANDOM_MULTIPOLES,
etc.). Previously these were applied to the orbit but omitted from the radiation calculation.
16.1.4 New and Modified Commands
- Added the load_knobs command, which allows loading knob definitions that link changes
in multiple elements to a user-defined handle. The handle can be used in alter_elements,
error_element, optimization_variable, and vary_element.
- Added the undulator_brightness command, which computes the x-ray brightness of a
specified undulator at a specified photon energy, typically for the periodic lattice functions and
equilibrium emittance computed by twiss_output. The results are available for optimization.
- The moments_output command now optionally includes the effect of elastic gas scattering.
- The coupled_twiss command now supplies alphax1, alphax2, alphay1, and alphay2 in the
output file, along with other quantities needed for progagation-based calculations.
- The coupled_twiss command now supports propagation of coupled lattice functions by
setting matched=0.
- The correct_coupling, compute_coupling_response_matrix, and
load_coupling_response_matrix commands were added, supplying a method of correcting
coupling using the vertical dispersion response to (typically) skew quadrupoles.
- The correct_lattice, compute_lattice_response_matrix, and
load_lattice_response_matrix commands were added, supplying a method of correcting
the linear lattice functions (βx, βy, ηx) at selected BPMs by adjusting (typically) normal
quadrupoles, against a user-supplied design-twiss reference file.
- The correct, correct_tunes, correct_chromaticity, correct_coupling, and
correct_lattice commands all have a reset_correctors_each_step qualifier that can be
used to force correctors back to the initial values at the start of each step. Previous versions
would automatically propagate the previous corrector strengths into the next step. This is
almost certainly not what is wanted in most cases, in light of which we decided to change the
default behavior.
- The twiss_output command now computes the equilibrium polarization and self-polarization
time when radiation_integrals=1.
- The parallel_optimization_setup command now allows selection of the randomsample
method. If selected, each processor uses a different random sequence.
16.1.5 Changes to Examples
16.1.6 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 11.
Changes to these tools in this release include
- The touschekLifetime program now computes the lifetime including polarization, based on
[46].
- The script swapOutPolarization was added to model the build-up of polarization during
swap-out operation and the effect on the beam lifetime.