v0.13.0
Summary
This significant update includes CEMeNT final stretch and CARRE development debut, including
(1) Major refactor for ease-of-use, expandability, and maintainability
(2) Foundations for new features and capabilities
Major refactor:
code_factoryfor generating Numba-GPU-supported structured structured based on Python class objects- Function reorganization toward module-based structure with interfaces
- GPU support is still under development to match the refactor. The version without refactor that has complete GPU support is available in the
cementbranch. Complete GPU support (on AMD and NVDIA machines) on the new refactored vertion is targeted to complete in 0.14.0 or 0.15.0 release.
New features and capabilities:
- ACE-based neutron continuous-energy physics
- Electron transport: single-scattering
- Multiparticle and physics models interfaces
- Element data library for electron transport
- ACEtk-based data library generator for neutron and electron transport
Several features are temporarily dropped during the refactor:
- Domain decomposition
- iQMC
- UQ
- Initial Condition bank
- Branchless collision
- Compressed sensing
- Derivative Source Method
- Weight window
These methods will be gradually re-implemented in the next releases.
What's Changed
- Tally refactoring by @ilhamv in #328
- GPU support for the refactored tally array by @ilhamv in #352
- Major refactor by @ilhamv in #351
- Patches for python 3.12+ by @jpmorgan98 in #353
- Changing Ubuntu version to latest by @jpmorgan98 in #356
- Moving source by @ilhamv in #357
- Surface unit test by @ilhamv in #361
- back in black (26.1.0) by @ilhamv in #362
- Add source direction filter by @ilhamv in #365
- Visualizer Numba Optimization by @gunnarrl in #360
- fix table selection in sampling by @ilhamv in #366
- move in Numba-compiled visualization subfunction into the main function by @ilhamv in #367
- revise native physics test reference by @ilhamv in #368
- More robust MPI bank rebalance operation by @ilhamv in #369
- Organize GPU-related items by @ilhamv in #370
- Minor fixes by @ilhamv in #371
- Adds PR and Issue templates by @nglaser3 in #373
- Documentation Updates and Improvements by @melekderman in #374
- Documentation Update - Follow-up to #374 by @melekderman in #378
- Containerization Support to Improve Portability by @melekderman in #377
- Fix source isotropy flagging by @ilhamv in #381
- Add support for general cylinders and axis-aligned cones. by @melekderman in #376
- Improve Docker workflow by @melekderman in #382
- Refactor to make path for multi particle simulation by @ilhamv in #384
- Merge mesh tally into tracklength tally by @ilhamv in #385
- Add energy_deposition tally and update neutron functions accordingly by @melekderman in #383
- add atomic number by @ilhamv in #389
- Add neutron inelastic scattering law unit tests by @massimolarsen in #388
- Create torus_z.py by @Talen-Ayers in #364
- Refactored Version of Electron Transport Capability by @melekderman in #387
- Fix - Update Docker image name in workflow configuration by @melekderman in #390
- Prepare and run native-physics regression test by default by @ilhamv in #391
- Gpu fix by @ilhamv in #375
- Add information and hints for errors in tally setups by @ilhamv in #392
- Fix PR template not autopopulating by @nglaser3 in #395
- Redesign and track numba_types; exclude black-formatting for scripts generated by code_factory by @ilhamv in #396
- Remove print statement for surface tally scores by @melekderman in #403
- Mesh-based weight windows by @nglaser3 in #394
- Fix unit tests in CI by @nglaser3 in #413
- edit pr template by @ilhamv in #415
- Update nuclear data generator by @ilhamv in #416
- Add TorusX, TorusY, and Torus surface by @gunnarrl in #422
- Convert testing framework to use numpy testing for array comparisons by @nglaser3 in #418
- CI Improvement by @melekderman in #426
- add mass number by @ilhamv in #420
- Fix #431 by @melekderman in #434
- Minor fixes by @melekderman in #435
- Fix Issue #432 by @melekderman in #433
- Fixes #437 by @melekderman in #438
- Release 0.13 by @ilhamv in #443
- Release 0.13.0 by @ilhamv in #442
New Contributors
- @gunnarrl made their first contribution in #360
- @nglaser3 made their first contribution in #373
- @massimolarsen made their first contribution in #388
- @Talen-Ayers made their first contribution in #364
Full Changelog: v0.12.0...v0.13.0