PyAT 0.4.0
Main modifications
This releases introduces:
- Time-dependent multipole strengths (sine wave, white noise, user-defined)
- Updated values of the physical constants
- Compatibility with python 3.11
- 3d element rotations (tilt, pitch, yaw)
- Plot of the Σ beam matrix
- Multibunch Wakefield
- Multibunch beamloading
- Beam monitor element (statistics on the particle distribution)
- Extend the definition of
refpts
to string patterns, regular expressions,None
,All
,End
special values - Improved documentation and examples
Bug fixes
- quantpass bugfixes by @swhite2401 in #504
- Take "QuantPass" into account when checking 6D motion by @lfarv in #507
- Failure of GitHub action for Matlab compilation error by @lfarv in #535
- at.sigma_matrix bug fix by @lfarv in #536
- Fix bug in convolve_wakefun by @lcarver in #550
- Bug fix on atrotatelattice by @lfarv in #569
- Fix circular imports by @lfarv in #570
- BugFix: refpts=None in get_lifetime by @swhite2401 in #580
- Fix bug in memory allocation of wake method by @lcarver in #579
- Correct return type of wakefunc_long_resonator by @lfarv in #591
- Fix compilation with OPENMP=1 by @lfarv in #607
- atreduce: check entrance and exit angles in bends by @lfarv in #604
- Fix the dtype of geometry data by @lfarv in #612
- Matching fixes by @swhite2401 in #615
New features
- Multibunch wakefieldpass by @swhite2401 in #493
- Introduce an RF frequency shift input to specify off-momentum computation by @lfarv in #505
- Variable multipole by @swhite2401 in #510
- Improve patpass by @lfarv in #515
- Upgrade scipy requirement to 1.4.0 by @lfarv in #520
- Python 3.11 by @lfarv in #523
- Element rotations by @swhite2401 in #519
- Multibunch Beamloading by @swhite2401 in #516
- Beam monitor by @swhite2401 in #521
- Update the python version spec by @lfarv in #526
- random generators compatibility with parallel processing by @lfarv in #513
- Unfold beam by @swhite2401 in #524
- Update at.beam by @lfarv in #531
- Use the ct coordinate in the variable multipole pass method by @carmignani in #532
- Update quantum diffusion pass methods by @lfarv in #534
- at.beam improvement by @lfarv in #537
- Collective unit tests by @swhite2401 in #539
- New plot_sigma() plotting function by @lfarv in #541
- Stub files for C extensions by @lfarv in #542
- relax chromaticity test for numpy 1.24 by @lfarv in #545
- Improvement of the "refpts" argument by @lfarv in #547
- Momentum offset for 6d orbit by @swhite2401 in #540
- do not split elements with IdTablePass method by @oscarxblanco in #563
- Frequency Analysis by @oscarxblanco in #556
- IdTablePass by @oscarxblanco in #558
- Axis definitions by @lfarv in #566
- Develop lattice by @lfarv in #565
- Improve the import order by @lfarv in #576
- zero length elements in lifetime calculation by @swhite2401 in #577
- Lattice operators by @swhite2401 in #573
- ringparam always returns an emittance by @swhite2401 in #583
- Acceptance shift zero + docs by @swhite2401 in #588
- Restore the standard behaviour of reversed(Lattice) by @lfarv in #589
- Energy loss relative tolerance by @swhite2401 in #596
- Relaxed passmethod coherence tests when loading files by @lfarv in #600
- Documentation for Collective Effects by @lcarver in #599
- regex option by @swhite2401 in #601
- Documentation of plot_beta by @lfarv in #617
- Harmonic analysis by @swhite2401 in #613
Incompatibilities
- None expected
New Contributors
- @oscarxblanco made their first contribution in #563
- @pcsch made their first contribution in #587
Full Changelog: pyat-0.3.0...pyat-0.4.0