The ASTRA (A Space charge TRacking Algorithm) program is used for electron production at the cathode and tracks particles through user defined external fields taking into account the space charge field of the particle cloud. Astra offers cylindrical symmetric and fully 3D options for the space charge calculation.
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.
Scripting in elegant¶
Setting up for an elegant run thus involves more than creating input files for elegant per se. A complicated run will typically involve creation of a post-processing command file that processes elegant output and puts it in the most useful form, typically a series of graphs. Users thus have the full power of the SDDS Toolkit, the resident command interpreter (e.g., the UNIX shell), and their favorite scripting language (e.g., Tcl/Tk) at their disposal.
An example script which can be found here.