Skip to content

Releases: desy-ml/cheetah

0.6.3

28 Mar 21:40
Compare
Choose a tag to compare

🐛 Bug fixes

🐆 Other

0.6.2

13 Feb 14:06
c0f5c50
Compare
Choose a tag to compare

🚨 Breaking Changes

  • The handling of device and dtype was overhauled. They might not behave as expected. Elements also no longer have a device attribute. (see #115) (@jank324)

🚀 Features

  • Add charge to the ParameterBeam and ParticleBeam classes (see #86) (@cr-xu)
  • Add opt-in speed optimisations (see #88) (@jank324)

🐛 Bug fixes

  • Fix the transfer maps in Drift and Dipole; Add R56 in horizontal and vertical correctors modelling (see #90) (@cr-xu)
  • Fix fringe_field_exit of Dipole is overwritten by fringe_field bug (see #99) (@cr-xu)
  • Fix error caused by mismatched devices on machines with CUDA GPUs (see #97 and #115) (@jank324)
  • Fix error raised when tracking a ParameterBeam through an active BPM (see #101) (@jank324)
  • Fix error in ASTRA beam import where the energy was set to float64 instead of float32 (see #111) (@jank324)
  • Fix missing passing of total_charge in ParameterBeam.transformed_to (see #112) (@jank324)
  • Fix Cavitiy.__repr__ printing voltage value for phase property (see #121) (@jank324)

🐆 Other

  • Add pull request template (see #97) (@jank324)
  • Add Acknowledgements section to README (see #103) (@jank324)
  • benchmark directory was moved to desy-ml/cheetah-demos repository (see #108) (@jank324)
  • Update citations to new arXiv preprint (see #117) (@jank324)
  • Improve the docstring with proper units for the phase space dimensions (see #122) (@cr-xu)
  • Link to the new paper (on arXiv) in the documentation (see #125) (@jank324)

0.6.1

17 Sep 10:27
Compare
Choose a tag to compare

🐛 Bug fixes

  • Fix issue where converters submodule was not installed properly (see 1562496) (@jank324)

0.6.0

15 Sep 14:14
Compare
Choose a tag to compare

🚨 Breaking Changes

  • Cheetah elements are now subclasses of torch.nn.Module, where the parameters should always be torch.Tensor. This makes cheetah a fully differentiable simulation code. (see #11)
  • The cell keyword argument of cheetah.Segment has been renamed to elements.
  • Element and beam parameters must now always be passed to the constructor or set afterwards as a torch.Tensor. It is no longer possible to use float, int or np.ndarray. (see #11)

🚀 Features

  • Convert from Bmad lattices files (see #65) (@jank324)
  • Add proper transfer map for cavity (see #65) (@jank324, @cr-xu)
  • Twiss parameter calculation and generate new beam from twiss parameter (see #62) (@jank324, @cr-xu)
  • Saving and loading lattices from LatticeJSON (see #9) (@cr-xu)
  • Nested Segments can now be flattened (@jank324)
  • Ocelot converter adds support for Cavity, TDCavity, Marker, Monitor, RBend, SBend, Aperture and Solenoid (see #78) (@jank324)

🐛 Bug fixes

  • Fix dependencies on readthedocs (see #54) (@jank324)
  • Fix error when tracking ParameterBeam through segment on CPU (see #68) (@cr-xu)

🐆 Other

  • Add CHANGELOG.md (see #74)
  • Improved documentation on converting Marker object into cheetah (see #58) (#jank324)

0.5.19

22 May 08:54
Compare
Choose a tag to compare

🚀 Features

  • Better error messages when beam and accelerator devices don't match (@FelixTheilen)

🐛 Bug fixes

  • Fix BPM issue with ParameterBeam (@FelixTheilen)
  • Fix wrong screen reading dimensions (@cr-xu)

🐆 Other

  • Improve docstrings (@FelixTheilen)
  • Implement better testing with pytest (@FelixTheilen)
  • Setup formatting with black and isort as well as flake8 listing (@cr-xu)
  • Add type annotations (@jank324)
  • Setup Sphinx documentation on readthedocs (@jank324)

0.5.18

06 Feb 17:23
Compare
Choose a tag to compare

🐛 Bug Fixes

  • Fix issue where multivariate_normal() crashes because cov is not positive-semidefinite.

0.5.17

05 Feb 09:18
a5901fa
Compare
Choose a tag to compare

🚀 New Features

  • Faster screen reading simulation by using torch.histogramdd()

0.5.16

02 Feb 12:05
Compare
Choose a tag to compare

🐛 Bug Fixes

  • Fix bug where some screens from the ARES Ocelot lattice were converted to Drift elements.

0.5.15

12 Oct 16:47
f153a87
Compare
Choose a tag to compare

🚀 New Features

  • Ocelot has been removed as a mandatory dependency and is now only needed when someone wants to convert from Ocelot objects.

🐛 Bug Fixes

  • An error that only packages with all dependencies available on PyPI can be installed from PyPI has been fixed.

0.5.14

28 Sep 20:11
Compare
Choose a tag to compare

🚀 Features

  • Introduce black for code formatting and isort for import organisation.
  • Prepare release on PyPI as cheetah-accelerator.