This is a particle accelerator code for electron linacs, synchrotrons, and much more.
According to its user manual, “elegant stands for ‘ELEctron Generation ANd Tracking,’ a somewhat out-of-date description of a fully 6D accelerator program that now does much more than generate particle distributions and track them. elegant, written entirely in the C programming language, uses a variant of the MAD input format to describe accelerators, which may be either transport lines, circular machines, or a combination thereof. Program execution is driven by commands in a namelist format.”
Its full name is Synchrotron Radiation Workshop and it’s an X-ray optics code for synchrotron radiation and coherent X-ray beamlines, such as what you find at the ALS or NSLS-II.
“Frequency-domain near-field methods are used for the SR calculation, and the Fourier-optics based approach is generally used for the wavefront propagation simulation.
“The code enables both fully- and partially-coherent radiation propagation simulations in steady-state and in frequency-/time-dependent regimes. Besides the SR applications, the code can be efficiently used for various simulations involving conventional lasers and other sources. SRW versions interfaced to Python and to IGOR Pro (WaveMetrics), as well as cross-platform library with C API, are available,”according to its GitHub repo.
OPAL or “Object Oriented Parallel Accelerator Library” is a particle accelerator code for linacs and electron guns with 3D space charge. OPAL is open-source and you can learn more about it here.
This is a particle accelerator code for single or multiple bunch rings with 3D PIC. It’s a hybrid Python/C++ package. Learn more about Synergia here.
Originally developed in the 1970s, Zgoubi is a particle accelerator code for electron and ion spin dynamics in rings. Learn more about Zgoubi here.
Sirepo is designed to aid both the beginner and advanced coder. While a GUI interface is beneficial in many ways, there may be operations and tasks a researcher wishes to carry out in the command line.
This is why there are easy exports to other file formats, like a simple zipped file or Python source file. (Accessible from the top menu bar in your workspace, pictured here.)