v1.0.0
Changelog
Breaking Changes
- For h5 files, the internal data layout has changed. rayx/rayx-ui wont be able to write/read the old format
RAYX-CORE
- New optical element: Crystal (#380)
- For more information visit our wiki: https://hz-b.github.io/rayx/Model/BeamlineObjects/OpticalElements/Crystal.html
- New optical element: Single layer foil (#391)
- For more information visit our wiki: https://hz-b.github.io/rayx/Model/BeamlineObjects/OpticalElements/Foil.html
- Beamlines are now represented as a tree graph (improved support for grouping of elements) (#350)
- For h5 files, the internal data layout has changed (#374)
- Each attribute is stored separately
- Each attribute may or may not be stored, depending on format options set (
--format ...flag)
- May record events from a single element only (#365)
- May record specific attributes of events only (#374)
- Advance electric field using optical path length (#394)
- Rework verbose mode console output (
--verboseflag) - Fix efficiency calculation
- Updated dependency
alpakato version2.0.0(https://github.com/alpaka-group/alpaka/releases/tag/2.0.0) (#399)- Inherently, the build dependency
boostwas dropped in rayx
- Inherently, the build dependency
- By default, rayx-core now compiles for all major cuda architectures (#399)
RAYX (cli)
- Rename cli format options
-F,--format TEXT Write specific Ray attributes to output H5 files. Provide a space-separated list of attributes. default value: "path_id position_x position_y position_z event_type direction_x direction_y direction_z energy electric_field_x electric_field_y electric_field_z path_length order element_id source_id " - Add cli option to dump meta data of h5 and rml files
-D,--dump TEXT Dump the meta data of a file (h5 or rml) - Add cli option to record events from a single element only
-R,--record-element INT Record events only for a specifc element - Add cli option to specify output filepath of csv or h5 files (#366)
-o,--output TEXT Output path or filename
RAYX-UI
Other Changes
- Improved ease of compilation using
compile.shscript (#385) - Add CMake option to enable/disable OpenMP backend (#357)
- Add CMake option to build
rayx-coreas static lib (#343) - Enable use of rayx as a submodule in another project (#359)
- Add shell.nix file, for starting a nix-shell environment, containing all dependencies required to build (#389)
New Contributors
- @JonasTrenkler made their first contribution (#357)
Other
Full Changelog: v0.21.2...v1.0.0
Probably coming soon
- Mac support including multithreaded tracing on CPU using OpenMP (arm, x86)
- Nix flake for reproducable dependency handling to make developing and building rayx more accessible
- Multi layer foil