Skip to content

Releases: atcollab/at

PyAT 0.7.1

03 Jun 12:13
Compare
Choose a tag to compare

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 with Variable 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

Bug fixes

New Contributors

Full Changelog: pyat-0.6.1...pyat-0.7.1

AT 2.7

02 Jun 14:27
6d10a82
Compare
Choose a tag to compare

Main changes

  • GPU tracking is now implemented, thanks to @JeanLucPons,
  • Physical constants are updated to CODADA 2022. This may cause slight changes in the results,
  • The computation of diffusion matrices is now modular and is integrated in the C integrators,
  • The seed of random generators can now be set at the beginning of tracking, as an argument of ringpass and linepass.

New features

Bug fixes

Full Changelog: 2.6...2.7

AT 2.6

25 Jun 10:09
b310cc4
Compare
Choose a tag to compare

Main changes

  • First release under the Apache 2.0 license
  • 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 .mat format.

New features

Bug fixes

Full Changelog: 2.5...2.6

PyAT 0.6.1

25 Jun 16:59
cb61c7a
Compare
Choose a tag to compare

Bug fix release: no new feature

Bug fixes

Full Changelog: pyat-0.6...pyat-0.6.1

PyAT 0.6

25 Jun 10:09
b310cc4
Compare
Choose a tag to compare

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 .mat format.

New features

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

Full Changelog: pyat-0.5.0...pyat-0.6

Matlab AT 2.5

20 Nov 14:56
e3d35ef
Compare
Choose a tag to compare

Main changes

  • A new keyword df is introduced to specify to specify off-momentum computation, in addition to dp and dct. It is available in atsetcavity, findorbit*, findm44, atlinopt*, tunechrom,

  • Radiation tapering can be set using attapering. Tapering is based on a new attribute FieldScaling added to all magnet passmethods,

  • A set of new "exact" integrators is introduced: ExactDriftPass, ExactMultipolePass, ExactSectorBendPass, ExactRectangularBendPass.

  • The physical constants used in the C integrators have been updated to the CODATA 2018 values. The values used in python come form scipy.constants and were already up-to-date. So because of an update of the Cγ constant,

    results related to radiation and slightly different from the previous values.

New features

  • "atsummary", "ringpara" and "atx" use "atlinopt6" for optics by @lfarv in #500
  • Introduce an RF frequency shift input to specify off-momentum computation by @lfarv in #501
  • Variable multipole by @swhite2401 in #510
  • Correct Dipole tapering by @swhite2401 in #623
  • Matlab frequency control by @lfarv in #560
  • Introduction of an "energy loss" element by @lfarv in #632
  • New Matlab function atsimplering by @lfarv in #657
  • Create BndStrMPoleSymplectic4RadPass by @catohxb in #665
  • New integrators: ExactDriftPass, ExactMultipolePass by @lfarv in #581
  • feat: compute longitudinal RDT fluctuations. by @wei0852 in #685
  • Update and centralize the C constants by @JeanLucPons in #691

Bug fixes

  • quantpass bugfixes by @swhite2401 in #504
  • Take "QuantPass" into account when checking 6D motion by @lfarv in #507
  • Remove spurious printout by @lfarv in #509
  • Secure the emittance computation in atsummary and ringpara by @lfarv in #511
  • Failure of GitHub action for Matlab compilation error by @lfarv in #535
  • Use the ct coordinate in the variable multipole pass method by @carmignani in #532
  • Update quantum diffusion pass methods by @lfarv in #534
  • do not split elements with IdTablePass method by @oscarxblanco in #563
  • Bug fix on atrotatelattice by @lfarv in #569
  • ringparam always returns an emittance by @swhite2401 in #583
  • Fixes bug producing infrequent NaN from calcnaff by @pcsch in #587
  • 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
  • Process aperture and misalignment in CorrectorPass by @swhite2401 in #623
  • Fix at disable_6d by @lfarv in #625
  • Don't automatically cache the location of RF cavities by @lfarv in #640
  • fix: ring phase advances in computeRDT.m by @wei0852 in #652
  • Bug fix in atdisable_6d: keep the Energy field in cavities. by @lfarv in #654
  • Fix atmaincavities by @lfarv in #656
  • Correct the attribute name of solenoids in Matlab by @lfarv in #663
  • Bug fix in atgeometry by @lfarv in #667
  • Improve the performance of at summary by @lnadolski in #688
  • removes ByError from sbend help in matlab by @oscarxblanco in #690
  • Fix a regression bug in AtGetRingProperties by @lfarv in #701

New Contributors

Full Changelog: 2.4...2.5

PyAT 0.5.0

18 Nov 20:24
dd325a4
Compare
Choose a tag to compare

Main changes

  • A new cleaner interface for tracking is introduced: the new functions lattice_track and element_track, and the equivalent methods Lattice.track and Element.track, replace lattice_pass, element_pass and patpass. The old functions are still available,

  • Radiation tapering is corrected. It is based on a new attribute FieldScaling added to all magnet passmethods,

  • New elements are available: "beamloading cavity", "energy loss".

  • A set of new "exact" integrators is introduced: ExactDriftPass, ExactMultipolePass, ExactSectorBendPass, ExactRectangularBendPass.

  • The physical constants used in the C integrators have been updated to the CODATA 2018 values. The values used in python come form scipy.constants and were already up-to-date. So because of an update of the Cγ constant,

    results related to radiation and slightly different from the previous values.

New features

Bug fixes

  • Fix the creation of .mat files by @lfarv in #627
  • deprecates ncpu; use pool_size by @oscarxblanco in #631
  • Remove a deprecation warning in numpy 1.25 by @lfarv in #626
  • Remove the warning when calling plot_beta in transfer line mode by @lfarv in #638
  • Correct the axis definition in plot_sigma by @lfarv in #648
  • The DPStep keyword in linopt6 raises an error for 4D lattices by @lfarv in #651
  • Remove collective passes from internal lattice_pass by @swhite2401 in #650
  • Fix attribute names in Simple Ring by @lcarver in #655
  • Error parsing args for twiss_in and r_4d by @lcarver in #662
  • Collective bugfix by @lcarver in #664
  • Parallel lattice_track bugfix and help by @swhite2401 in #675

New Contributors

Full Changelog: pyat-0.4.0...pyat-0.5.0

PyAT 0.4.0

16 Jun 19:33
99c483c
Compare
Choose a tag to compare

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

New features

Incompatibilities

  • None expected

New Contributors

Full Changelog: pyat-0.3.0...pyat-0.4.0

PyAT 0.3.0

24 Sep 14:00
555c2af
Compare
Choose a tag to compare

Main changes

  • The default passmethod for RF cavities is now RFCavityPass instead of CavityPass

  • Introduction of wake elements: WakeElement, ResonatorElement, LongResonatorElement, ResWallElement,

  • Lifetime and dynamic aperture calculations,

  • new Lattice.reduce method,

  • Some badly named functions and methods now have aliases with more meaningful names:

    legacy name new name
    Lattice.radiation_on Lattice.enable_6d
    Lattice.radiation_off Lattice.disable_6d
    Lattice.radiation Lattice.is_6d
    @check_radiation @check_6d
    @set_radiation @set_6d

    From now on, it is recommended to use the new names.

  • Computation and plot of the lattice geometry

What's Changed

Bug fixes

Full Changelog: pyat-0.2.2...pyat-0.3.0

Matlab AT 2.4

05 Sep 16:55
8ace206
Compare
Choose a tag to compare

What's Changed

Full Changelog: 2.3...2.4