|
| 1 | +==================== |
| 2 | +What's New in 0.12.0 |
| 3 | +==================== |
| 4 | + |
| 5 | +.. currentmodule:: openmc |
| 6 | + |
| 7 | +------- |
| 8 | +Summary |
| 9 | +------- |
| 10 | + |
| 11 | +This release of OpenMC includes an assortment of new features and many bug fixes. |
| 12 | +In particular, the :mod:`openmc.deplete` module has been heavily tested which |
| 13 | +has resulted in a number of usability improvements, bug fixes, and other |
| 14 | +enhancements. Energy deposition calculations, particularly for coupled |
| 15 | +neutron-photon simulations, have been improved as well. |
| 16 | + |
| 17 | +Improvements in modeling capabilities continue to be added to the code, |
| 18 | +including the ability to rotate surfaces in the Python API, several new |
| 19 | +"composite" surfaces, a variety of new methods on :class:`openmc.Material`, |
| 20 | +unstructured mesh tallies that leverage the existing DAGMC infrastructure, |
| 21 | +effective dose coefficients from ICRP-116, and a new cell instance tally |
| 22 | +filter. |
| 23 | + |
| 24 | +------------ |
| 25 | +New Features |
| 26 | +------------ |
| 27 | + |
| 28 | +- All surfaces now have a `rotate` method that allows them to be rotated. |
| 29 | +- Several "composite" surfaces, which are actually composed of multiple surfaces |
| 30 | + but can be treated as a normal surface through the -/+ unary operators, have |
| 31 | + been added. These include: |
| 32 | + |
| 33 | + - :class:`openmc.model.RightCircularCylinder` |
| 34 | + - :class:`openmc.model.RectangularParallelepiped` |
| 35 | + - :class:`openmc.model.XConeOneSided` (and equivalent versions for y- and z-axes) |
| 36 | + |
| 37 | +- Various improvements related to depletion: |
| 38 | + |
| 39 | + - The matrix exponential solver can now be configured through the `solver` |
| 40 | + argument on depletion integrator classes. |
| 41 | + - The :meth:`openmc.deplete.Chain.reduce` method can automatically reduce the |
| 42 | + number of nuclides in a depletion chain. |
| 43 | + - Depletion integrator classes now allow a user to specify timesteps in several |
| 44 | + units (s, min, h, d, MWd/kg). |
| 45 | + - :meth:`openmc.deplete.ResultsList.get_atoms` now allows a user to obtain |
| 46 | + depleted material compositions in atom/b-cm. |
| 47 | + |
| 48 | +- Several new methods on :class:`openmc.Material`: |
| 49 | + |
| 50 | + - The :meth:`openmc.Material.add_elements_from_formula` method allows a user |
| 51 | + to create a material based on a chemical formula. |
| 52 | + - :meth:`openmc.Material.add_element` now supports the `enrichment` argument for |
| 53 | + non-uranium elements when only two isotopes are naturally occurring. |
| 54 | + - :meth:`openmc.Material.add_element` now supports adding elements by name |
| 55 | + rather than by symbol. |
| 56 | + - The :meth:`openmc.Material.get_elements` method returns a list of elements |
| 57 | + within a material. |
| 58 | + - The :meth:`openmc.Material.mix_materials` method allows multiple materials to |
| 59 | + be mixed together based on atom, weight, or volume fractions. |
| 60 | + |
| 61 | +- The acceptable number of lost particles can now be configured through |
| 62 | + :attr:`openmc.Settings.max_lost_particles` and |
| 63 | + :attr:`openmc.Settings.rel_max_lost_particles`. |
| 64 | +- Delayed photons produced from fission are now accounted for by default by |
| 65 | + scaling the yield of prompt fission photons. This behavior can be modified |
| 66 | + through the :attr:`openmc.Settings.delayed_photon_scaling` attribute. |
| 67 | +- A trigger can now be specified for a volume calculation via the |
| 68 | + :meth:`openmc.VolumeCalculation.set_trigger` method. |
| 69 | +- The :class:`openmc.stats.SphericalIndependent` and |
| 70 | + :class:`openmc.stats.CylindricalIndependent` classes allow a user to |
| 71 | + specify source distributions based on spherical or cylindrical coordinates. |
| 72 | +- Custom external source distributions can be used via the |
| 73 | + :attr:`openmc.Source.library` attribute. |
| 74 | +- Unstructured mesh class, :class:`openmc.UnstructuredMesh`, that can be used in |
| 75 | + tallies. |
| 76 | +- The :class:`openmc.CellInstanceFilter` class allows one or more instances of a |
| 77 | + repeated cell to be tallied. This is effectively a more flexible version of |
| 78 | + the existing :class:`openmc.DistribcellFilter` class. |
| 79 | +- The :func:`openmc.data.dose_coefficients` function provides effective dose |
| 80 | + coefficients from ICRP-116 and can be used in conjunction with |
| 81 | + :class:`openmc.EnergyFunctionFilter` in a tally. |
| 82 | + |
| 83 | +--------- |
| 84 | +Bug Fixes |
| 85 | +--------- |
| 86 | + |
| 87 | +- `Keep user-supplied prev_results on operator <https://github.com/openmc-dev/openmc/pull/1605>`_ |
| 88 | +- `Fix bug when S(a,b) tables appear in depletable material <https://github.com/openmc-dev/openmc/pull/1605>`_ |
| 89 | +- `DAGMC fix for implicit complement material assignment <https://github.com/openmc-dev/openmc/pull/1604>`_ |
| 90 | +- `Bug fix for tallying reaction rates in coupled n-p runs <https://github.com/openmc-dev/openmc/pull/1603>`_ |
| 91 | +- `Corrected issue with multiplicity matrix <https://github.com/openmc-dev/openmc/pull/1598>`_ |
| 92 | +- `Fix depletion with photon transport <https://github.com/openmc-dev/openmc/pull/1595>`_ |
| 93 | +- `Fix secondary photon creation <https://github.com/openmc-dev/openmc/pull/1591>`_ |
| 94 | +- `Bug fix for total xs plotting <https://github.com/openmc-dev/openmc/pull/1563>`_ |
| 95 | +- `Account for light nuclide production in depletion <https://github.com/openmc-dev/openmc/pull/1555>`_ |
| 96 | +- `Reset timer in depletion calculations <https://github.com/openmc-dev/openmc/pull/1539>`_ |
| 97 | +- `Fix for Model.run <https://github.com/openmc-dev/openmc/pull/1536>`_ |
| 98 | +- `Ensure NJOY output goes to specified directory <https://github.com/openmc-dev/openmc/pull/1522>`_ |
| 99 | +- `Fix bug preventing creating photon data <https://github.com/openmc-dev/openmc/pull/1489>`_ |
| 100 | +- `Fix bug when surface ID > 999999 <https://github.com/openmc-dev/openmc/pull/1486>`_ |
| 101 | +- `Fix bug for reading output settings in Settings.from_xml <https://github.com/openmc-dev/openmc/pull/1478>`_ |
| 102 | +- `Fix improve energy deposition for coupled neutron-photon <https://github.com/openmc-dev/openmc/pull/1449>`_ |
| 103 | +- `Use number of particles for tally normalization <https://github.com/openmc-dev/openmc/pull/1442>`_ |
| 104 | +- `Fix a number of problems related to photoatomic data <https://github.com/openmc-dev/openmc/pull/1425>`_ |
| 105 | +- `Fix cosine smearing for S(a,b) <https://github.com/openmc-dev/openmc/pull/1420>`_ |
| 106 | +- `Use relative distances for coincidence test in hex lattice <https://github.com/openmc-dev/openmc/pull/1414>`_ |
| 107 | +- `Fix RPATH for non-Debian linux systems <https://github.com/openmc-dev/openmc/pull/1411>`_ |
| 108 | +- `Fix mesh plotter energy filter bins <https://github.com/openmc-dev/openmc/pull/1409>`_ |
| 109 | +- `Fix memory leak <https://github.com/openmc-dev/openmc/pull/1395>`_ |
| 110 | +- `Fix volume allocation related to burnable materials <https://github.com/openmc-dev/openmc/pull/1392>`_ |
| 111 | +- `Fix tally mesh bug for short tracks <https://github.com/openmc-dev/openmc/pull/1387>`_ |
| 112 | +- `DAGMC void material assignment fix <https://github.com/openmc-dev/openmc/pull/1375>`_ |
| 113 | +- `Fix for Mesh __repr__ methods <https://github.com/openmc-dev/openmc/pull/1385>`_ |
| 114 | + |
| 115 | +------------ |
| 116 | +Contributors |
| 117 | +------------ |
| 118 | + |
| 119 | +This release contains new contributions from the following people: |
| 120 | + |
| 121 | +- `Paul Cosgrove <https://github.com/ChasingNeutrons>`_ |
| 122 | +- `Steven Dargaville <https://github.com/stevendargaville>`_ |
| 123 | +- `Andrew Davis <https://github.com/makeclean>`_ |
| 124 | +- `Iurii Drobyshev <https://github.com/dryuri92>`_ |
| 125 | +- `Guillaume Giudicelli <https://github.com/GiudGiud>`_ |
| 126 | +- `Alec Golas <https://github.com/awgolas>`_ |
| 127 | +- `Avery Grieve <https://github.com/NuclearEngideer>`_ |
| 128 | +- `Sterling Harper <https://github.com/smharper>`_ |
| 129 | +- `Yuan Hu <https://github.com/YuanHu-PKU-KIT>`_ |
| 130 | +- `Yue Jin <https://github.com/kingyue737>`_ |
| 131 | +- `Andrew Johnson <https://github.com/drewejohnson>`_ |
| 132 | +- `Mikolaj Kowalski <https://github.com/Mikolaj-A-Kowalski>`_ |
| 133 | +- `Shikhar Kumar <https://github.com/shikhar413>`_ |
| 134 | +- `Jingang Liang <https://github.com/liangjg>`_ |
| 135 | +- `David Long <https://github.com/davidjohnlong>`_ |
| 136 | +- `Amanda Lund <https://github.com/amandalund>`_ |
| 137 | +- `Alex Lyons <https://github.com/alex-lyons>`_ |
| 138 | +- `Adam Nelson <https://github.com/nelsonag>`_ |
| 139 | +- `Ethan Peterson <https://github.com/eepeterson>`_ |
| 140 | +- `Sam Powell-Gill <https://github.com/sampug>`_ |
| 141 | +- `Ariful Islam Pranto <https://github.com/AI-Pranto>`_ |
| 142 | +- `Simon Richards <https://github.com/simondrichards>`_ |
| 143 | +- `Gavin Ridley <https://github.com/gridley>`_ |
| 144 | +- `Paul Romano <https://github.com/paulromano>`_ |
| 145 | +- `Jonathan Shimwell <https://github.com/Shimwell>`_ |
| 146 | +- `Patrick Shriwise <https://github.com/pshriwise>`_ |
| 147 | +- `John Tramm <https://github.com/jtramm>`_ |
| 148 | +- `Paul P.H. Wilson <https://github.com/gonuke>`_ |
| 149 | +- `Jiankai Yu <https://github.com/rockfool>`_ |
0 commit comments