Skip to content

Xcoll release 0.9.3

Choose a tag to compare

@freddieknets freddieknets released this 22 Jan 00:43
· 158 commits to main since this release
09b0d5a

What's Changed

  • LossMap:
    • Bugfix in aperture: when before collimator, it should only be redefined as absorbed if apertures are interpolated (otherwise, risk of not having any aperture losses for long region)
    • Bugfix in loading from json: collimator and aperture adding was done wrong (numpy.unique return arguments were switched)
    • Speeding up loss map loading from JSON: reading files in parallel (validation and aggregation are sequential), and support for orjson if installed
    • Added deposited_energy and deposited_energy_per_length options to normalisation (need to also provide beam_intensity)
    • Plotting can now be done with multiple zooms
  • Allow for (very) asymmetric jaws in Geant4Collimator (e.g. both on the negative or both on the positive side)

Develop Updates

  • deep_equal:
    • Much faster comparison by enforcing type equality (in which case list and numpy.array are not equal)
    • Option (default False) to expand numpy arrays into lists (and xobjects into dicts) to ease comparison (in which case list and numpy.array are equal)
    • Now has a verbose option for debugging (only prints output on failure)
  • Lossmap saving stores only unique xcoll versions into lossmap (and timestamps are moved to end of json file for readability)
  • Fix adt test for GPU context and added (working) copy method for EmittanceMonitor
  • Correctly recognise compiled libraries (FLUKA & Geant4 interfaces) by Python versio
  • Check that engine.environment can only be accessed if using wrapper engine
  • Cannot instantiate FlukaCollimator or Geant4Collimator if engine is running
  • Limit number of warnings for multiple rfluka to one

Full Changelog: v0.9.2...v0.9.3