PyAT 0.6
Main changes
- First release under the Apache 2.0 license
- Support of python 3.12
- Introduction of a beam slice monitor for simulation of collective effects
- Introduction of new "Variable" objects (still preliminary)
- Lattices may be loaded and saved in JSON format. AT files in JSON format can be used for exchanging lattices between Matlab and python, as an alternative to the proprietary
.matformat.
New features
- Beam slice monitor by @swhite2401 in #692
- Added KStep and HStep keyword arguments to fit_tune and fit_chrom by @simoneliuzzo in #711
- return ZERO acceptance if no tracked particle survives in at/pyat/acceptance/boundary.py by @simoneliuzzo in #707
- Add vbeam vgen vbunch buffers for beam loading element by @lcarver in #699
- Support of python 3.12, 64-bit wheels only by @lfarv in #704
- Update GitHub actions by @lfarv in #734
- Upgrade the test sequence for pytest >= 8 by @lfarv in #735
- Update build system by @lfarv in #747
- Variables by @lfarv in #700
- Atavedata by @ZeusMarti in #678
- AT Licensing by @lfarv in #760
- Save and load lattices in JSON format by @lfarv in #766
- Adapted the get_mcf() function by @SebastienJoly in #768
- Also scaling families in tune and chromaticity fits by @swhite2401 in #783
- Add momap multirefpts by @oscarxblanco in #773
- numpy 2.0 support by @lfarv in #785
Bug fixes
- use np.float64 instead of np.float in function get_bunch_length_espread of pyat/at/acceptance/touschek.py module by @simoneliuzzo in #706
- Simple Ring modification to solve energy loss computation bug by @lcarver in #710
- set correct size for zero acceptance in grid and vector configuration by @swhite2401 in #716
- bugfix in rotation angles and improved help of rotate_elem by @swhite2401 in #713
- Fix a few "simple ring" problems by @lfarv in #720
- Corrected documentation errors on PolynomA/B by @lfarv in #723
- Better handling of Matlab RingParam element by @lfarv in #741
- Preserve the case of RingParam attribute names by @lfarv in #744
- Fix Lattice.reduce by @lfarv in #733
- Correct random generators for MPI by @lfarv in #737
- Fix .mat file loading by @lfarv in #750
- BugFix: normalization by 0 in get_timelag_fromU0 by @swhite2401 in #758
- make_copy decorator not working for lattice defined as list by @swhite2401 in #764
- BugFix: memory error incollective effects circular buffers by @swhite2401 in #771
- Bug in piwinski touschek scattering B2 term by @swhite2401 in #765
- Fix a regression bug in atavedata by @lfarv in #774
- Fix bug reading atM66 elements from matlab lattice by @pcsch in #779
- Regression bug from PR #774: beam_current lattice attribute not propagated correctly by @swhite2401 in #778
New Contributors
- @SebastienJoly made their first contribution in #768
Full Changelog: pyat-0.5.0...pyat-0.6