Skip to content

Releases: atcollab/at

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

Matlab AT 2.3

04 Apr 13:12
8c772d3
Compare
Choose a tag to compare

Main changes

  • atlinopt6 replaces atlinopt in some optics function: atplot, atfittune, atfitchrom,…
    This allows working with 6D lattices. However there are still many functions still using atlinopt. The transition will be continued,
  • 2 new functions atGetRingProperties and atSetRingProperties handle global lattices parameters (energy, periodicity, particle, harmonic number). They are stored in the optional RingParam lattice element. Its use is now recommended since it avoids lengthy searches when a parameter is requested,
  • A new function atloadlattice makes reading lattice files easier,
  • The default passmethod for cavities is now RFCavityPass instead of CavityPass. CavityPass is still available but should not be used: it is wrong for multi-tune tracking if the RF frequency is not the nominal one.

List of changes

  • Linopt6 in plots and parameters by @lfarv in #297
  • first look at PolynomB in *LinearPass by @swhite2401 in #290
  • Updated plotAperture by @lfarv in #313
  • Remove the dependency of RFCavityPass on harmonic number by @lfarv in #319
  • Remove the dependency of find_orbit6 on the harmonic number by @lfarv in #318
  • Added optional tolerances in "TouschekPiwinskiLifeTime" by @lfarv in #326
  • New README.md file in the docs directory by @lfarv in #331
  • New Lattice properties: energy, harmonic number and particle by @lfarv in #329
  • Fix problems reading .mat files by @lfarv in #341
  • allow fit chrom with radon by @swhite2401 in #349
  • Cavity phase offset arg by @swhite2401 in #348
  • atenergy computes the harmonic number from the RF frequency by @lfarv in #350
  • atsetcavity accepts dp and dct arguments by @lfarv in #354
  • Energy and particle available to C integrators by @lfarv in #368
  • Allow setting "dp" in 6D linear optics by @lfarv in #364
  • New Matlab function atloadlattice by @lfarv in #377
  • Add a "turn" input to atpass by @lfarv in #376
  • Set the default cavity PassMethod to RFCavityPass by @lfarv in #372

Bug fixes

Full Changelog: 2.0...2.3

PyAT 0.2.2

26 Jan 16:21
1861392
Compare
Choose a tag to compare

What's Changed

Full Changelog: pyat-0.2.1...pyat-0.2.2