PyTao is Python interface for Tao, which is based on the Bmad subroutine library for relativistic charged–particle and X-ray simulations in accelerators and storage rings.
Documentation for Bmad and Tao, as well as information for downloading the code if needed is given on the Bmad website.
Documentation |
|---|
See the PyTao installation instructions for details. The preferred installation method is using conda:
conda install -c conda-forge pytao
Currently PyTao requires an installed Bmad distribution compiled with the ACC_ENABLE_SHARED="Y" or ACC_ENABLE_SHARED_ONLY="Y" flag. This can be set in the bmad_dist/util/dist_prefs file (the default setting is fine).
| All platforms: |
|
| Name | Downloads | Version | Platforms |
|---|---|---|---|
Start a quick PyTao session with IPython using:
$ pytao -init tao.init
----------------------------------------------------------
Initializing Tao object with the following: -init tao.init
Type`tao.` and hit tab to see available commands.
----------------------------------------------------------
In [1]: tao
Out[1]: <Tao init='-init tao.init' so_lib='/path/to/libtao.so'>To use PyTao's plotting with Matplotlib ("mpl", alternatively Bokeh "bokeh"), use the --pyplot argument.
$ pytao --pyplot=mpl -init "$ACC_ROOT_DIR/bmad-doc/tao_examples/cbeta_cell/tao.init"
------------------------------------------------------------------------------------------------------
Initializing Tao object with: -init /Users/klauer/Repos/bmad/bmad-doc/tao_examples/cbeta_cell/tao.init
Type `tao.` and hit tab to see available commands.
------------------------------------------------------------------------------------------------------
* Matplotlib mode configured. Pyplot available as `plt`. *Start pytao's GUI from the command-line with:
pytao-gui -init tao.initTo release a new PyTao version with updated bindings for the Fortran functions:
- Activate a conda environment with
bmadinstalled with the target version - Double-check that bmad is updated in the environment via
conda list |grep bmad - Run
bash scripts/bump_minimum_version.sh - Commit, push, merge PR, tag, ...