Releases: desy-ml/cheetah
Releases · desy-ml/cheetah
0.6.3
0.6.2
🚨 Breaking Changes
- The handling of
device
anddtype
was overhauled. They might not behave as expected.Element
s also no longer have adevice
attribute. (see #115) (@jank324)
🚀 Features
- Add charge to the
ParameterBeam
andParticleBeam
classes (see #86) (@cr-xu) - Add opt-in speed optimisations (see #88) (@jank324)
🐛 Bug fixes
- Fix the transfer maps in
Drift
andDipole
; Add R56 in horizontal and vertical correctors modelling (see #90) (@cr-xu) - Fix fringe_field_exit of
Dipole
is overwritten byfringe_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 activeBPM
(see #101) (@jank324) - Fix error in ASTRA beam import where the energy was set to
float64
instead offloat32
(see #111) (@jank324) - Fix missing passing of
total_charge
inParameterBeam.transformed_to
(see #112) (@jank324) - Fix
Cavitiy.__repr__
printingvoltage
value forphase
property (see #121) (@jank324)
🐆 Other
- Add pull request template (see #97) (@jank324)
- Add Acknowledgements section to README (see #103) (@jank324)
benchmark
directory was moved todesy-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
0.6.0
🚨 Breaking Changes
- Cheetah elements are now subclasses of
torch.nn.Module
, where the parameters should always betorch.Tensor
. This makes cheetah a fully differentiable simulation code. (see #11) - The
cell
keyword argument ofcheetah.Segment
has been renamed toelements
. - 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 usefloat
,int
ornp.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
Segment
s can now be flattened (@jank324) - Ocelot converter adds support for
Cavity
,TDCavity
,Marker
,Monitor
,RBend
,SBend
,Aperture
andSolenoid
(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
0.5.19
🚀 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
andisort
as well asflake8
listing (@cr-xu) - Add type annotations (@jank324)
- Setup Sphinx documentation on readthedocs (@jank324)
0.5.18
0.5.17
0.5.16
0.5.15
🚀 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.