Summary
- Source: https://www.aps.anl.gov/Accelerator-Operations-Physics/Software
- License: see https://epics.anl.gov/license/open.php
- Path: /usr/bin
- Documentation: https://ops.aps.anl.gov/oagSoftware.shtml
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.
Using (p)elegant
elegant (and SDDSToolkit) are installed as standard packages. The corresponding binaries are per default in your PATH. Check the documentation for further details.
Note: The standard pelegant binary is based on a very ancient openmpi version, which has severe issues with mpiio on beegfs when using multiple nodes. It will essentially only work for single node jobs. For multi-node jobs please use an alternative installation located in /software/pelegant. A sample setup looks like this:
#!/bin/bash #SBATCH --partition=petra4 # adjust partition, time, nodes etc ... #SBATCH --nodes=2 #SBATCH --constraint=75F3 #SBATCH --time=1:00:00 unset LD_PRELOAD source /etc/profile.d/modules.sh module purge module load maxwell openmpi/3.1.6 export PATH=/software/pelegant/2022.1/bin:$PATH export RPN_DEFNS=/usr/local/oag/defns.rpn MCA=' --mca btl_openib_warn_no_device_params_found 0 --mca pml ucx --mca mpi_cuda_support 0 ' np=$(( $(nproc) / 2 )) mpirun -N $np $MCA Pelegant <input-file>