Installation#
pyAT is a Python interface to Accelerator Toolbox. It uses the ‘pass methods’ defined in Accelerator Toolbox, implemented by compiling the C code used in the AT ‘integrators’ into a Python extension. These pass methods are used by higher-level functions to provide physics results.
Requirements#
pyAT supports Python 3.7 to 3.11.
Installation#
From PyPI#
Install accelerator-toolbox from PyPI:
$ pip install accelerator-toolbox
From GitHub#
Install git on your computer.
Download the latest version of AT:
$ git clone https://github.com/atcollab/at.git
Go to the pyAT installation directory:
$ cd at
Build and install:
$ pip install .
Parallel computation#
PyAT can be compiled for parallel processing. See Parallel processing
Usage#
Example:
>>> import at
>>> ring = at.Lattice.load('machine_data/hmba.mat')
>>> print(at.radiation_parameters(ring))
Frac. tunes: [0.2099983 0.34001317 0.00349013]
Tunes: [76.2099983 27.34001317]
Chromaticities: [5.73409894 3.91761206]
Momentum compact. factor: 8.506669e-05
Slip factor: -8.505944e-05
Energy: 6.000000e+09 eV
Energy loss / turn: 2.526189e+06 eV
Radiation integrals - I1: 0.07179435013387388 m
I2: 0.13844595446798158 m^-1
I3: 0.003357584058614851 m^-2
I4: -0.07375725030666251 m^-1
I5: 5.281495714523264e-07 m^-1
Mode emittances: [1.3148797e-10 nan nan]
Damping partition numbers: [1.53275121 1. 1.46724879]
Damping times: [0.00872477 0.0133729 0.00911427] s
Energy spread: 0.000934463
Bunch length: 0.0030591 m
Cavities voltage: 6000000.0 V
Synchrotron phase: 2.70701 rd
Synchrotron frequency: 1239.74 Hz
For more examples of how to use pyAT, see pyat_examples.rst
.