13.23 Highlights of What’s New in Version 29.0, 15 Jan. 2016
Here is a summary of what’s changed since release 28.1:
13.23.1 Bug Fixes for Elements
- Fixed a bug in the MATR element that would crop up in multi-step runs, causing a crash or
lock-up. This was reported by P. Emma (SLAC).
- Fixed a bug in the RFMODE element that resulted in a few percent error between the voltage
seen by the beam and the feedback-regulated voltage. T. Berenc (ANL) helped resolve this.
- The output file feature was restored for the FTRFMODE element.
- The TFBDRIVER and TFBPICKUP feedback elements can now handle changes in the number of
- The drive limit for TFBDRIVER is now imposed after application of the filter, rather than
- The KQUAD element now has a valid associated transfer matrix for RADIAL=1. This bug was
reported by forum user libov.
13.23.2 Bug Fixes for Commands
- The touschek_scatter command now behaves as a regular major action command, meaning
that error generation, scanning, parameter loading, etc. behave as expected.
- Fixed a bug in the correct_tunes command that resulted in a crash when n_iterations=0
and would also have resulted in invalid data in the log file for mixed element types. This was
reported by V. Sajaev (ANL).
- Fixed a bug in the chromaticity command that resulted in a crash when n_iterations=0
and would also have resulted in invalid data in the log file for mixed element types.
- Fixed a bug related to optimization of the chromatic derivative of alpha_x. The value provided
was actually the chromatic derivative of betax. A related error gave incorrect results for the
use_linear_chromatic_matrix mode of the track command.
- Previous versions of this manual indicated that the find_aperture command provided a
quantity Area giving the dynamic aperture area for optimization. The quantity is in fact
called DaArea. This was reported by S. Hilbrich (TU Dortmund).
- Fixed a bug in the optimization feature that resulted in the user’s weighting factors being
ignored. This was pointed out by A. Zholents (ANL).
- Fixed a bug in the alter_elements command that caused string values not to be reflected in
the output file created with save_lattice. This was reported by T. Pulampong (SLRI/DLS).
13.23.3 New and Modified Elements
- Added nonlinear symplectic fringe field model to CSBEND and CSRCSBEND, based on
theoretical work of K. Hwang (IU) . The implementation was performed by Y. Sun (APS)
with assistance from K. Hwang and M. Borland.
- Added EKICKER, EHKICK, and EVKICK, which provide various flavors of steering correctors
using an Exact model. These may be used in place of the existing KICKER, HKICK, and VKICK
elements. The need for this was pointed out by L. Yang (BNL).
- The MATTER element now supports arrays of slits. This can be used, for example, to model a
double-slit spoiler for producing two pulses in an FEL.
- The ECOL and RCOL collimator elements now support an INVERT parameter to allow simulation
of an obstruction instead of an opening.
- The output files from the WATCH element in centroid and parameter mode now contain the
beam charge, provided that a CHARGE element is in the beamline.
- Elements that read multipole error files (e.g., KQUAD and KSEXT) now share data internally
rather than each reading the data files separately. This provides a significant speed
improvement for massively parallel execution in particular.
- The MALIGN element was improved to allow optionally applying misalignments to only part
of the beam, based on the particle ID.
- The RFMODE element now has a feature that allows “muting” the rf generator on a specified
pass, to simulate a trip of the rf source.
- The voltage “preloading” feature of the RFMODE element now works even when rf feedback is
- In order to eliminate problems with the parallel version, the IBSCATTER element no longer
has a separate CHARGE parameter. Instead, the CHARGE element should be used.
13.23.4 New and Modified Commands
- The analyze_map command can now determine the nonlinear transport matrix up to third
order based on tracking data, using the method described in . Parallel tracking is used for
this command in Pelegant. Previously, the analysis was limited to the linear matrix. Also,
the terminal lattice functions and their chromatic derivatives are determined from the map
for both transport lines and rings. This was requested by Y. Hao (BNL) and L. Yang (BNL).
- The correct_tunes and chromaticity commands now include a weighting factor that results
in minimization of the strength changes in the event that more than two familes are provided
for correction. (In the future this will be replaced with an SVD-based implemenetation.)
- Added to closed_orbit and correct commands the ability to use multi-turn tracking to
determine the approximate orbit. This was suggested by V. Sajaev (ANL), and is helpful
when the orbit convergence is poor.
- The output in the run_setup centroid file now contains the beam charge, provided that a
CHARGE element is in the beamline.
- The run_control command now includes a variable, n_passes_fiducial, that allows
specifying a different number of tracking passes for fiducialization than for tracking. For ring
fiducialization, this should probably always be 1.
- Most output files from elegant now include a parameter giving the SVN revision number of
the version used to create the output.
13.23.5 Changes Specific to Parallel Version
- The analyze_map command, which was improved as described above, can now use parallel
- A bug was fixed in the center_on_orbit feature of the track command. The bug caused
the particles on each processor to be offset by different amounts related to the centroid of the
local particles only. This was reported by M. Furseman (DLS).
- Fixed a bug in FTABLE introduced in version 26.0. The bug would cause the program to crash.
- Memory management was improved in the touschek_scatter command, allowing a larger
number of particles to be utilized.
- The SCRIPT element would cause a crash when twiss_output, matrix_output, or similar
commands were included but when tracking was required to determine the transfer matrix of
the element. This was fixed.
- Tracking instigated via the track command is now more forgiving of uneven particle losses
among cores. In particular, the program should no longer crash if one core has lost all of its
particles or all of the particles in a particular bunch.
- The stop_tracking_particle_limit feature of the track command now works in the
- Instead of exiting, the parallel version now simply ignores the slice_anlysis command.
13.23.6 Changes to Related Programs and Files
- The script reorganizeMmap was added to convert momentum aperture data from Pelegant
in output_mode=1 into the same form as produced by elegant. This was a result of
correspondence with S. Tian (IHEP).
- A bug was fixed in elegant2astra that resulting in slightly erroneous values for the
- The beamLifetimeCalc can now perform approximate Touschek lifetime calculations for
polarized beams. This was added by A. Xiao (ANL) following an inquiry from forum user