What’s New in 0.13.1¶
Summary¶
This release of OpenMC includes many bug fixes as well as improvements in
geometry modeling, mesh functionality, source specification, depletion
capabilities, and other general enhancements. The depletion module features a
new transport operator, openmc.deplete.IndependentOperator
, that allows
a depletion calculation to be performed using arbitrary one-group cross sections
(e.g., generated by an external solver) along with a
openmc.deplete.MicroXS
class for managing one-group cross sections. The
track file generation capability has been significantly overhauled and a new
openmc.Tracks
class was introduced to allow access to information in
track files from the Python API. Support has been added for new ENDF thermal
scattering evaluations that use mixed coherent/incoherent elastic scattering.
Compatibility Notes and Deprecations¶
The
openmc.deplete.Operator
class has been renamedopenmc.deplete.CoupledOperator
.The
openmc.deplete.ResultsList
class has been renamed toopenmc.deplete.Results
and no longer requires you to call thefrom_hdf5()
method in order to create it; instead, you can directly instantiate it.A few methods that represent k-effective have been renamed for the sake of consistency:
openmc.StatePoint.k_combined
is nowopenmc.StatePoint.keff
openmc.deplete.ResultsList.get_eigenvalue
is nowopenmc.deplete.Results.get_keff()
The
openmc.stats.SphericalIndependent
class, which used to accept a distribution fortheta
now accepts a distribution forcos_theta
instead in order to more easily handle the common case of specifying a uniform spatial distribution over a sphere (also see the newopenmc.stats.spherical_uniform()
function).If you are building OpenMC from source, note that several of our CMake options have been changed:
Old option
New option
debug
—
optimize
—
profile
OPENMC_ENABLE_PROFILE
coverage
OPENMC_ENABLE_COVERAGE
openmp
OPENMC_USE_OPENMP
—
OPENMC_USE_MPI
dagmc
OPENMC_USE_DAGMC
libmesh
OPENMC_USE_LIBMESH
The
debug
andoptimize
options have been removed; instead, use the standard CMAKE_BUILD_TYPE variable.
New Features¶
Two new composite surfaces:
openmc.model.IsogonalOctagon
andopenmc.model.CylinderSector
.The
DAGMCUniverse
class now has abounding_box
attribute and abounding_region()
method.When translating a
Region
using thetranslate()
method, there is now aninplace
argument.The
Material
class has several new methods and attributes:The
add_components()
methods allows you to add multiple nuclides/elements to a material with a single call by passing a dictionary.The
get_activity()
method returns the activity of a material in Bq, Bq/g, or Bq/cm³.The
remove_element()
method removes an element from a materialThe
get_nuclide_atoms()
method gives the number of atoms of each nuclide in a material
All mesh classes now have a
volumes
property that provides the volume of each mesh element as well aswrite_data_to_vtk
methods.Support for externally managed MOAB meshes or libMesh meshes.
Multiple discrete distributions can be merged with the new
merge()
method.The
openmc.stats.spherical_uniform()
function creates a uniform distribution over a sphere using theSphericalIndependent
class.Univariate distributions in the
openmc.stats
module now havesample()
methods.An
openmc_sample_external_source
function has been added to the C API with a corresponding Python bindingopenmc.lib.sample_external_source()
.The track file generation capability has been completely overhauled. Track files now include much more information, and a new
Tracks
class allows access to track file information from the Python API and has awrite_to_vtk()
method for writing a VTK file. Multiple tracks are now written to a single file (one per MPI rank).A new
openmc.wwinp_to_wws()
function that converts weight windows from awwinp
file to a list ofWeightWindows
objects.The new
openmc.EnergyFilter.from_group_structure()
method provides a way of creating an energy filter with a group structure identified by name.The
openmc.data.Decay
class now has asources
property that provides radioactive decay source distributions.A
openmc.mgxs.ReducedAbsorptionXS
class produces a multigroup cross section representing “reduced” absorption (absorption less neutron production from (n,xn) reactions).Added support in the Python API and HDF5 nuclear data format for new ENDF thermal neutron scattering evaluations with mixed coherent elastic and incoherent elastic.
CMake now relies on
find_package(MPI)
for a more standard means of identifying an MPI compiler configuration.