====================
What's New in 0.13.3
====================
.. currentmodule:: openmc
-------
Summary
-------
This release of OpenMC includes many bug fixes, performance improvements, and
several notable new features. Some of the highlights include support for MCPL
source files, NCrystal thermal scattering materials, and a new
:class:`openmc.stats.MeshSpatial` class that allows a source distribution to be
specified over a mesh. Additionally, OpenMC now allows you to export your model
as a single XML file rather than separate XML files for geometry, materials,
settings, and tallies.
------------------------------------
Compatibility Notes and Deprecations
------------------------------------
- Atomic mass data used in :func:`openmc.data.atomic_mass` has been updated to
AME 2020, which results in slightly different masses.
------------
New Features
------------
- Support was added for `MCPL `_ files to be
used as external sources. Additionally, source points and surfaces sources can
be written as MCPL files instead of HDF5 files. (`#2116
`_)
- Support was added for `NCrystal `_
thermal scattering materials. (`#2222
`_)
- The :class:`~openmc.CylindricalMesh` and :class:`~openmc.SphericalMesh`
classes now have an ``origin`` attribute that changes the center of the mesh.
(`#2256 `_)
- A new :class:`openmc.model.Polygon` class allows defining generalized 2D
polygons. (`#2266 `_)
- A new :func:`openmc.data.decay_energy` function and
:meth:`openmc.Material.get_decay_heat` method enable determination of decay
heat from a single nuclide or material. (`#2287
`_)
- Full models can now be written as a single XML file rather than separate
geometry, materials, settings, and tallies XML files. (`#2291
`_)
- Discrete distributions are now sampled using alias sampling, which is O(1) in
time. (`#2329 `_)
- The new :class:`openmc.stats.MeshSpatial` allows a spatial source distribution
to be specified with source strengths for each mesh element. (`#2334
`_)
- The new :meth:`openmc.Geometry.get_surfaces_by_name` method returns a list of
matching surfaces in a geometry. (`#2347
`_)
- A new :attr:`openmc.Settings.create_delayed_neutrons` attribute controls
whether delayed neutrons are created during a simulation. (`#2348
`_)
- The :meth:`openmc.deplete.Results.export_to_materials` method now takes a
``path`` argument. (`#2364 `_)
- A new :meth:`openmc.EnergyFilter.get_tabular` method allows one to create a
tabular distribution based on tally results using an energy filter. (`#2371
`_)
- Several methods in the :class:`openmc.Material` class that require a volume to
be set (e.g., :meth:`~openmc.Material.get_mass`) now accept a ``volume``
argument. (`#2412 `_)
---------
Bug Fixes
---------
- Fix for finding redundant surfaces (`#2263 `_)
- Adds tolerance for temperatures slightly out of bounds (`#2265 `_)
- Fix getter/setter for weight window bounds (`#2275 `_)
- Make sure Chain.reduce preserves decay source (`#2283 `_)
- Fix array shape for weight window bounds (`#2284 `_)
- Fix for non-zero CDF start points in TSL data (`#2290 `_)
- Fix a case where inelastic scattering yield is zero (`#2295 `_)
- Prevent Compton profile out-of-bounds memory access (`#2297 `_)
- Produce light particles from decay (`#2301 `_)
- Fix zero runtime attributes in depletion statepoints (`#2302 `_)
- Fix bug in openmc.Universe.get_nuclide_densities (`#2310 `_)
- Only show print output from depletion on rank 0 (`#2311 `_)
- Fix photon transport with no atomic relaxation data (`#2312 `_)
- Fix for precedence in region expressions (`#2318 `_)
- Allow source particles with energy below cutoff (`#2319 `_)
- Fix IncidentNeutron.from_njoy for high temperatures (`#2320 `_)
- Add capability to unset cell temperatures (`#2323 `_)
- Fix in plot_xs when S(a,b) tables are present (`#2335 `_)
- Various fixes for tally triggers (`#2344 `_)
- Raise error when mesh is flat (`#2363 `_)
- Don't call normalize inside Tabular.mean (`#2375 `_)
- Avoid out-of-bounds access in inelastic scatter sampling (`#2378 `_)
- Use correct direction for anisotropic fission (`#2381 `_)
- Fix several thermal scattering nuclide assignments (`#2382 `_)
- Fix _materials_by_id attribute in Model (`#2385 `_)
- Updates to batch checks for simulation restarts (`#2390 `_)
- write_data_to_vtk volume normalization correction (`#2397 `_)
- Enable generation of JEFF 3.3 depletion chain (`#2410 `_)
- Fix spherical to Cartesian coordinate conversion (`#2417 `_)
- Handle zero photon cross sections in IncidentPhoton.from_ace (`#2433 `_)
- Fix hybrid depletion when nuclides are not present (`#2436 `_)
- Fix bug in cylindrical and spherical meshes (`#2439 `_)
- Improvements to mesh radial boundary coincidence (`#2443 `_)
------------
Contributors
------------
- `Hunter Belanger `_
- `Rémi Delaporte-Mathurin `_
- `Christopher Fichtlscherer `_
- `Valerio Giusti `_
- `Chris Keckler `_
- `Kalin Kiesling `_
- `Thomas Kittelmann `_
- `Erik Knudsen `_
- `Colin Larmier `_
- `Amanda Lund `_
- `Jose Ignacio Marquez Damien `_
- `Josh May `_
- `Patrick Myers `_
- `Baptiste Mouginot `_
- `April Novak `_
- `Matthew Nyberg `_
- `Ethan Peterson `_
- `Gavin Ridley `_
- `Paul Romano `_
- `Patrick Shriwise `_
- `Jonathan Shimwell `_
- `Paul Wilson `_
- `Olek Yardas `_
- `Jiankai Yu `_