What’s New in 0.12.1
Summary
This release of OpenMC includes an assortment of new features and many bug
fixes. The openmc.deplete module incorporates a number of improvements in
usability, accuracy, and performance. Other enhancements include generalized
rotational periodic boundary conditions, expanded source modeling capabilities,
and a capability to generate windowed multipole library files from ENDF files.
New Features
Boundary conditions have been refactored and generalized. Rotational periodic boundary conditions can now be applied to any N-fold symmetric geometry.
External source distributions have been refactored and extended. Users writing their own C++ custom sources need to write a class that derives from
openmc::Source. These changes have enabled new functionality, such as:Mixing more than one custom source library together
Mixing a normal source with a custom source
Using a file-based source for fixed source simulations
Using a file-based source for eigenvalue simulations even when the number of particles doesn’t match
New capability to read and write a source file based on particles that cross a surface (known as a “surface source”).
Various improvements related to depletion:
Reactions used in a depletion chain can now be configured through the
reactionsargument toopenmc.deplete.Chain.from_endf().Specifying a power of zero during a depletion simulation no longer results in an unnecessary transport solve.
Reaction rates can be computed either directly or using multigroup flux tallies that are used to collapse reaction rates afterward. This is enabled through the
reaction_rate_modeandreaction_rate_optstoopenmc.deplete.Operator.Depletion results can be used to create a new
openmc.Materialsobject using theopenmc.deplete.ResultsList.export_to_materials()method.
Multigroup current and diffusion cross sections can be generated through the
openmc.mgxs.Currentandopenmc.mgxs.DiffusionCoefficientclasses.Added
openmc.data.isotopes()function that returns a list of naturally occurring isotopes for a given element.Windowed multipole libraries can now be generated directly from the Python API using
openmc.data.WindowedMultipole.from_endf().The new
openmc.write_source_file()function allows source files to be generated programmatically.
Bug Fixes
Contributors
This release contains new contributions from the following people: