Skip to content

OpenMC 0.13.1

Compare
Choose a tag to compare
@paulromano paulromano released this 19 Aug 12:10
· 1604 commits to develop since this release
33bc948

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 renamed openmc.deplete.CoupledOperator.

  • The openmc.deplete.ResultsList class has been renamed to openmc.deplete.Results and no longer requires you to call the from_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 now openmc.StatePoint.keff
    • openmc.deplete.ResultsList.get_eigenvalue is now openmc.deplete.Results.get_keff
  • The openmc.stats.SphericalIndependent class, which used to accept a distribution for theta now accepts a distribution for cos_theta instead in order to more easily handle the common case of specifying a uniform spatial distribution over a sphere (also see the new openmc.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 and optimize options have been removed; instead, use the standard CMAKE_BUILD_TYPE variable.

New Features

  • Two new composite surfaces: openmc.model.IsogonalOctagon and openmc.model.CylinderSector.

  • The DAGMCUniverse class now has a bounding_box attribute and a bounding_region method.

  • When translating a Region using the translate method, there is now an inplace 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 material
    • The 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 as write_data_to_vtk methods.

  • Support for externally managed MOAB meshes or libMesh meshes.

  • Multiple discrete distributions can be merged with the new openmc.stats.Discrete.merge method.

  • The openmc.stats.spherical_uniform function creates a uniform distribution over a sphere using the SphericalIndependent class.

  • Univariate distributions in the openmc.stats module now have sample() methods.

  • An openmc_sample_external_source function has been added to the C API with a corresponding Python binding openmc.lib.sample_external_source.

  • The track file generation capability has been completely overhauled. Track files now include much more information, and a new openmc.Tracks class allows access to track file information from the Python API and has a write_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 a wwinp file to a list of WeightWindows 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 a sources 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.


Bug Fixes

Contributors