.. currentmodule:: openmc
This release of OpenMC includes several noteworthy and unique features. Most importantly, mesh-based weight windows have been added and work with all supported mesh types (regular, rectilinear, cylindrical, spherical, and unstructured). Other additions include torus surfaces, an ability to place CAD-based geometries in universes, a feature to export/import physical properties, and a filter for particle time.
There is one breaking changing in the Python API. The :class:`openmc.deplete.Operator` class used to accept :class:`~openmc.Geometry` and :class:`~openmc.Settings` objects as its first two arguments; users now need to pass a :class:`~openmc.model.Model` class instead.
The minimum supported Python version is now 3.6.
- Variance reduction using mesh-based weight windows is now possible with the :class:`~openmc.WeightWindows` class.
- Users can now model axis-aligned tori using the :class:`~openmc.XTorus`, :class:`~openmc.YTorus`, and :class:`~openmc.ZTorus` classes.
- DAGMC CAD-based geometries can now be placed in a universe using :class:`~openmc.DAGMCUniverse`, allowing users to combine CSG and CAD-based geometry in a single model.
- The C/C++ API has two new functions
openmc_properties_export
andopenmc_properties_import
with corresponding Python API bindings, :func:`~openmc.lib.export_properties` and :func:`~openmc.lib.import_properties`. These functions allow physical properties (temperatures, densities, material compositions) to be written to an HDF5 file and re-used for subsequent simulations. - A new :class:`~openmc.stats.PowerLaw` univariate distribution
- The capabilities of the :class:`~openmc.Model` class have been substantially expanded (e.g., the :meth:`~openmc.model.Model.deplete`, :meth:`~openmc.model.Model.plot_geometry`, and :meth:`~openmc.model.Model.rotate_cells` methods).
- A new :class:`~openmc.TimeFilter` class that allows tallies to be filtered by the particle's time, which is now tracked.
- The :class:`~openmc.Source` class now allows you to specify a time distribution.
- The new :class:`~openmc.CylindricalMesh` and :class:`~openmc.SphericalMesh` can be used for mesh tallies over cylidrical and spherical meshes, respectively.
- Geometry plotting, which used to produce the files in the unusual .ppm format, now produces .png files by default.
- Fix for shared fission bank memory errors
- Make sure properties export only happens from root process
- Fix pathlib use error in openmc-ace-to-hdf5
- Fix DAGMC and libMesh variable in CMake config
- Fix bug associated with volume calc in MG mode
- Add missing Settings.write_initial_source property
- Bug fixes for specifying Materials.cross_sections
- Removing Legendre filter in diffusion coefficient results
- Ensure particles lost during event_calculate_xs are terminated
- Fixed parsing of xsdir entries with a continuation line
- openmc.RegularMesh attribute consistency
- Ensure secondary particles below energy cutoff are not created
- Allow compilation with g++ 11
- Depletion-related bug fixes
- Miscellaneous bug fixes
- Fixes for various bugs
- Reset triggers in openmc_reset