Main changes
- GPU tracking is now implemented, thanks to @JeanLucPons,
- The computation of diffusion matrices is now modular and is integrated in the C integrators,
- Full support (read/write) of MAD8 and MAD-X files,
- Preliminary support (read/write) of Elegant files,
- Introduction of
Observable
objects. Together withVariable
objects, they provide a unified and expandable set of objects which can be used in matching, response matrices, plots, parameter scans… - Full support of element rotations and translations,
- Computation of generic response matrices.
New matching:
in the next version the matching method will be replaced by a new incompatible one. The transition to the new matching can start with this version by using the following import sequence:
from at.future import RefptsVariable, VariableList, match
The new matching try to satisfy constraints expressed in an ObservableList
by varying the variables in a VariableList
.
New features
- Gpu tracking by @JeanLucPons in #920
- Load MAD-X files by @lfarv in #770
- Observable objects by @lfarv in #738
- Loading of MAD and Elegant files by @lfarv in #844
- Modular computation of diffusion matrices by @lfarv in #742
- Implementation of a new function to rotate an element by @SebastienJoly in #921
- Improved matching by @lfarv in #892
- Response matrices by @lfarv in #893
- RDT observables by @lfarv in #909
Bug fixes
- Bug issue792 by @ZeusMarti in #793
- New test of the average optics values by @lfarv in #794
- use _Complex_I instead of I by @swhite2401 in #802
- Introduction of the function plot_RF_bucket_hamiltonian by @SebastienJoly in #784
- Documentation improvement by @lfarv in #797
- Fix atpass error handling by @lfarv in #798
- Add tune resonances plot by @oscarxblanco in #809
- Always attempt to import at.plot by @lfarv in #812
- fix plot_tune_diagram from future import annotations by @oscarxblanco in #813
- Longitudinal aperture by @SebastienJoly in #782
- check len(refpts) > 2 after removing zero length elements in get_lifetime() by @swhite2401 in #801
- Track all refpts in one track function call in acceptance calculations by @swhite2401 in #811
- Bug Fix: Wiggler diffusion matrix by @joanarenillas in #759
- Add feeddown polba by @oscarxblanco in #815
- Fix error messages in load_madx by @lfarv in #824
- Fix wiggler radiation by @lfarv in #822
- Fix saving lattices in m-files by @lfarv in #832
- concat changed to concatenate in pyat/at/physics/avlinopt by @simoneliuzzo in #834
- Fix LatticeObservable by @lfarv in #842
- Fix the "repr" representation of Elements (after numpy2.0) by @lfarv in #843
- fix uninitialised random generators in elempass by @lfarv in #845
- turn off quantdiff in ohmi_envelope by @swhite2401 in #840
- Tune, chromaticity and detuning periodicty by @swhite2401 in #837
- Fix "fastring" by @lfarv in #849
- Access to the lattice energy in integrators by @lfarv in #816
- Fix a bug in load_madx by @lfarv in #851
- Suppress a wrong warning when using linopt in beamline mode by @lfarv in #853
- Documentation of plotting functions by @lfarv in #856
- Fix docstrings in the acceptance.py module by @lfarv in #855
- Update Documentation by @lfarv in #857
- Set "periodicity" to 1 by default by @lfarv in #859
- Update GitHub actions by @lfarv in #861
- Compute RDTs by @swhite2401 in #821
- Tune documentation for dark mode by @lfarv in #864
- New matching by @lfarv in #806
- Fix ohmienvelope with wigglers by @lfarv in #870
- Documentation: new figure for the AT coordinate system by @lfarv in #876
- Set the wiggler indivisible by @lfarv in #875
- Fix the energy loss computation by @lfarv in #877
- Upgrade tests for new GitHub runners by @lfarv in #878
- Fix OpenMP compilation by @lfarv in #882
- Improvement of AT build process by @lfarv in #889
- Improve radiation_parameters by @lfarv in #888
- Fix OpenMP compilation bug by @lfarv in #891
- New element properties: dx, dy, tilt by @lfarv in #902
- Fix the energyloss computation for simple ring by @lcarver in #911
- Add non-linear chromaticity to DeltaQPass by @lcarver in #912
- Allow setting the seed of random generators by @lfarv in #905
- Fix atlinopt with harmonic cavity by @lfarv in #917
- Setting the nominal frequency on 6d lattices by @lfarv in #923
- Reorganise the rotation and translation functions by @lfarv in #932
New Contributors
- @joanarenillas made their first contribution in #759
Full Changelog: pyat-0.6.1...pyat-0.7.1