Xcoll release 0.9.3
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.uniquereturn arguments were switched) - Speeding up loss map loading from JSON: reading files in parallel (validation and aggregation are sequential), and support for
orjsonif installed - Added
deposited_energyanddeposited_energy_per_lengthoptions to normalisation (need to also providebeam_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
listandnumpy.arrayare not equal) - Option (default False) to expand numpy arrays into lists (and xobjects into dicts) to ease comparison (in which case
listandnumpy.arrayare equal) - Now has a
verboseoption for debugging (only prints output on failure)
- Much faster comparison by enforcing type equality (in which case
- 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.environmentcan only be accessed if using wrapper engine - Cannot instantiate
FlukaCollimatororGeant4Collimatorif engine is running - Limit number of warnings for multiple
rflukato one
Full Changelog: v0.9.2...v0.9.3