OpenMC 0.12.1
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 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_mode
andreaction_rate_opts
toopenmc.deplete.Operator
. - Depletion results can be used to create a new
openmc.Materials
object using theopenmc.deplete.ResultsList.export_to_materials
method.
- Reactions used in a depletion chain can now be configured through the
-
Multigroup current and diffusion cross sections can be generated through the
openmc.mgxs.Current
andopenmc.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
- Proper detection of MPI wrappers
- Fix related to declaration order of maps/vectors
- Check for existence of decay rate attribute
- Small updates to deal with JEFF 3.3 data
- Fix for depletion chain generation
- Fix call to superclass constructor in MeshPlotter
- Fix for data crossover in VTK files
- Make sure reaction names are recognized as valid tally scores
- Fix bug related to logging of particle restarts
- Examine if region exists before removing redundant surfaces
- Fix plotting of individual universe levels
- Mixed materials should inherit depletable attribute
- Fix typo in energy units in dose coefficients
- Fixes for large tally cases
- Fix verification of volume calculation results
- Fix calculation of decay energy for depletion chains
- Fix pointers in CartesianIndependent
- Ensure correct initialization of members for RegularMesh
- Add missing import in depletion module
- Fixed several bugs related to decay-rate
- Fix how depletion operator distributes burnable materials
- Fix assignment of elemental carbon in JEFF 3.3
- Fix typo in
RectangularParallelepiped.__pos__
- Fix temperature tolerance with S(a,b) data
- Fix sampling or normal distribution
- Fix for SharedArray relaxed memory ordering
- Check for proper format of source files
- Ensure (n,gamma) reaction rate tally uses sampled cross section
- Fix for temperature range behavior
Contributors
This release contains new contributions from the following people: