Skip to content

OpenMC 0.12.1

Compare
Choose a tag to compare
@paulromano paulromano released this 25 Mar 19:44
· 3443 commits to develop since this release
3691358

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 reactions argument to openmc.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_mode and reaction_rate_opts to openmc.deplete.Operator.
    • Depletion results can be used to create a new openmc.Materials object using the openmc.deplete.ResultsList.export_to_materials method.
  • Multigroup current and diffusion cross sections can be generated through the openmc.mgxs.Current and openmc.mgxs.DiffusionCoefficient classes.

  • 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: