Skip to content

Releases: xsuite/xcoll

Xcoll release 0.5.9

28 Oct 16:21
b88c6b0
Compare
Choose a tag to compare

Develop Updates

  • Moved release API to xaux (code centralisation) to ensure version pinning

Full Changelog: v0.5.8...v0.5.9

Xcoll release 0.5.8

25 Oct 12:30
d26142b
Compare
Choose a tag to compare

Develop Updates

  • Bugfix in crystals: the only_mcs flag was not set for crystals. Hence, when it was being queried it often wrongly evaluated to True, skipping the the code that follows where the other material-dependent parameters were defined. The rest of material-dependent parameters hence became garbage, leading to wrong results. This bugfix has been spotted by @chiaramaccani and accidentally fixed by @[email protected]
  • Adapted df.groupby in interaction_record to be future-proof with pandas

Full Changelog: v0.5.7...v0.5.8

Xcoll release 0.5.7

16 Oct 12:35
78e8a6c
Compare
Choose a tag to compare

Develop Updates

  • Bugfix in collimator class organisation

Full Changelog: v0.5.6...v0.5.7

Xcoll release 0.5.6

15 Oct 14:40
71869e0
Compare
Choose a tag to compare

What's Changed

  • Added generate_pencil() and generate_delta() to collimator elements (and deprecated xcoll.generate_pencil_on_collimator() and xcoll. generate_delta_from_dispersion())

Develop Updates

  • Bugfix in gh.py
  • Test reorganisation (to deal with issues with Xsuite automatic testing)
  • Bugfix in collimator installation (gave issues with K2)

Full Changelog: v0.5.5...v0.5.6

Xcoll release 0.5.5

10 Oct 10:08
09d7e0a
Compare
Choose a tag to compare

What's Changed

  • Implemented new API on the line, providing (for now) the following functions:
    • line.collimators.assign_optics()
    • line.collimators.open()
    • line.collimators.to_parking()
    • line.scattering.enable()
    • line.scattering.enable()

Develop Updates

  • Updated tests and examples for new API
  • Fixed test__list_tests by giving it a recognisable path

Full Changelog: v0.5.4...v0.5.5

Xcoll release v0.5.4

09 Oct 00:48
a237888
Compare
Choose a tag to compare

What's Changed

Develop Updates

  • Tests and examples for the impact table
  • Edge effects in MCS align to edge (for correct exit locations)
  • Bugfix in EverestCrystal which would make particle get stuck in an (almost) infinite amount of transition or VR effects
  • Bugfix in EverestCrystal that would make some jobs fail channeling (Fixed part0 bug by @chiaramaccani in #106)
  • Bugfix in ionisation loss which was calculated at the wrong location (Ionization loss and critical angle by @simoneotelie in #94)
  • Amorphous and mcs by @simoneotelie in #95
  • CollimatorManager deprecated (raises error)
  • New release script, fully in Python (with built-in API to git, github, and poetry)
  • Added boilerplate XcollLineAPI, to allow Xcoll methods on the line (need PR xsuite/xtrack#536 first)

Full Changelog: v0.5.3...v0.5.4

Xcoll release 0.5.3

30 Sep 12:16
99d7076
Compare
Choose a tag to compare

Develop Updates

  • Bugfix in BlowUp and EmittanceMonitor (previous version did double install if name of element already present in line), and adapted tests accordingly
  • Small change in BlackCrystal test to catch an edge case that was wrong

Full Changelog: v0.5.2...v0.5.3

Xcoll release 0.5.2

28 Sep 09:51
a932828
Compare
Choose a tag to compare

Develop Updates

  • Small adaptations in preparation for Xtrack 0.68.0 by @giadarol in #99

Full Changelog: v0.5.1...v0.5.2

Xcoll release 0.5.1

28 Aug 12:56
ebfb1f5
Compare
Choose a tag to compare

Develop Updates

  • Small fix in InteractionRecord: BlowUp and EmittanceMonitor are no scatter elements, so these should not be logged in the table.

Full Changelog: v0.5.0...v0.5.1

Xcoll release 0.5.0

29 Jul 20:52
700204d
Compare
Choose a tag to compare

What's Changed

  • Two new elements:
    • BlowUp: to add random kicks to a beam. Two modes of operation are possible; use_individual_kicks=False (default), where each particle gets the same kick (though different turn-by-turn), and use_individual_kicks=True, where each particle gets a different kick. The latter option is not realistic but provides a smoother blow-up (which is sometimes easier to work with in simulation). The class has an install classmethod to instantiate the element and install it in a line in one go (returning the instance). If the element is instantiated and installed manually, the fields line and name need to be set to have access to the twiss. A method calibrate_by_emittance is provided which sets the blow-up such that the beam gets shifted beyond 5 sigma in roughly 1000 turns. Finally, the field amplitude allows to scale this calibration.
    • EmittanceMonitor: a monitor that works on any Context by accumulating (using AtomicAdd) the 6D covariances of the physical coordinates. It provides the fields gemitt_x, gemitt_y, gemitt_zeta, nemitt_x, nemitt_y, nemitt_zeta, gemitt_I, gemitt_II, gemitt_III, nemitt_I, nemitt_II, and nemitt_III. The class has an install classmethod to instantiate the element and install it in a line in one go (returning the instance). If the element is instantiated and installed manually, the field line needs to be set to have access to the reference particle.
    • Added examples and test for those elements
  • Fixed bug by @simoneotelie in #84: active inside EverestBlock was ignored
  • Pencil crystal by @chiaramaccani in #87
  • Installing collimators by family is now possible.
  • Particle fields in InteractionRecord have been renamed (x_before, x_after, etc)
  • Record flags in InteractionRecord have been renamed (record_impacts, record_exits, record_scatterings)
  • Fixed crystal geometry for right-sided crystals
  • Added views to BaseCollimator to get the s position of the jaw corners

Develop Updates

  • Renamed collimators_src folder as elements_src
  • Bugfix when setting gap_R
  • Several bugfixes in InteractionRecord, and made things like io_buffer more robust
  • Two bugfixes in lossmap:
    • particles lost in an aperture directly after a crystal should stay in that aperture (as the crystal is too small to follow the same logic as the regular collimators in this situation)
    • Typo in line_is_reversed
  • Better tests for BlackAbsorber
  • Adapted impacts tests, however, exit tests fail (need to investigate)
  • Materials database in Everest slightly adapted to be more flexible (SixTrack <-> Xcoll)
  • Tracking Everest would fail for a material with the _only_mcs flag. This is fixed now, but the logic should be rethought

Full Changelog: v0.4.0...v0.5.0