Skip to content

Commit 27cb0dc

Browse files
authored
Merge pull request #2441 from paulromano/release-0.13.3
Release of version 0.13.3
2 parents f77aec1 + e2373c8 commit 27cb0dc

File tree

13 files changed

+191
-34
lines changed

13 files changed

+191
-34
lines changed

docs/source/releasenotes/0.13.2.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ Notably, a capability has been added to compute the photon spectra from decay of
1414
unstable nuclides. Alongside that, a new :data:`openmc.config` configuration
1515
variable has been introduced that allows easier configuration of data sources.
1616
Additionally, users can now perform cell or material rejection when sampling
17-
external source distributions. Finally,
17+
external source distributions.
1818

1919
------------------------------------
2020
Compatibility Notes and Deprecations
Lines changed: 134 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,134 @@
1+
====================
2+
What's New in 0.13.3
3+
====================
4+
5+
.. currentmodule:: openmc
6+
7+
-------
8+
Summary
9+
-------
10+
11+
This release of OpenMC includes many bug fixes, performance improvements, and
12+
several notable new features. Some of the highlights include support for MCPL
13+
source files, NCrystal thermal scattering materials, and a new
14+
:class:`openmc.stats.MeshSpatial` class that allows a source distribution to be
15+
specified over a mesh. Additionally, OpenMC now allows you to export your model
16+
as a single XML file rather than separate XML files for geometry, materials,
17+
settings, and tallies.
18+
19+
------------------------------------
20+
Compatibility Notes and Deprecations
21+
------------------------------------
22+
23+
- Atomic mass data used in :func:`openmc.data.atomic_mass` has been updated to
24+
AME 2020, which results in slightly different masses.
25+
26+
------------
27+
New Features
28+
------------
29+
30+
- Support was added for `MCPL <https://mctools.github.io/mcpl/>`_ files to be
31+
used as external sources. Additionally, source points and surfaces sources can
32+
be written as MCPL files instead of HDF5 files. (`#2116
33+
<https://github.com/openmc-dev/openmc/pull/2116>`_)
34+
- Support was added for `NCrystal <https://github.com/mctools/ncrystal>`_
35+
thermal scattering materials. (`#2222
36+
<https://github.com/openmc-dev/openmc/pull/2222>`_)
37+
- The :class:`~openmc.CylindricalMesh` and :class:`~openmc.SphericalMesh`
38+
classes now have an ``origin`` attribute that changes the center of the mesh.
39+
(`#2256 <https://github.com/openmc-dev/openmc/pull/2256>`_)
40+
- A new :class:`openmc.model.Polygon` class allows defining generalized 2D
41+
polygons. (`#2266 <https://github.com/openmc-dev/openmc/pull/2266>`_)
42+
- A new :func:`openmc.data.decay_energy` function and
43+
:meth:`openmc.Material.get_decay_heat` method enable determination of decay
44+
heat from a single nuclide or material. (`#2287
45+
<https://github.com/openmc-dev/openmc/pull/2287>`_)
46+
- Full models can now be written as a single XML file rather than separate
47+
geometry, materials, settings, and tallies XML files. (`#2291
48+
<https://github.com/openmc-dev/openmc/pull/2291>`_)
49+
- Discrete distributions are now sampled using alias sampling, which is O(1) in
50+
time. (`#2329 <https://github.com/openmc-dev/openmc/pull/2329>`_)
51+
- The new :class:`openmc.stats.MeshSpatial` allows a spatial source distribution
52+
to be specified with source strengths for each mesh element. (`#2334
53+
<https://github.com/openmc-dev/openmc/pull/2334>`_)
54+
- The new :meth:`openmc.Geometry.get_surfaces_by_name` method returns a list of
55+
matching surfaces in a geometry. (`#2347
56+
<https://github.com/openmc-dev/openmc/pull/2347>`_)
57+
- A new :attr:`openmc.Settings.create_delayed_neutrons` attribute controls
58+
whether delayed neutrons are created during a simulation. (`#2348
59+
<https://github.com/openmc-dev/openmc/pull/2348>`_)
60+
- The :meth:`openmc.deplete.Results.export_to_materials` method now takes a
61+
``path`` argument. (`#2364 <https://github.com/openmc-dev/openmc/pull/2364>`_)
62+
- A new :meth:`openmc.EnergyFilter.get_tabular` method allows one to create a
63+
tabular distribution based on tally results using an energy filter. (`#2371
64+
<https://github.com/openmc-dev/openmc/pull/2371>`_)
65+
- Several methods in the :class:`openmc.Material` class that require a volume to
66+
be set (e.g., :meth:`~openmc.Material.get_mass`) now accept a ``volume``
67+
argument. (`#2412 <https://github.com/openmc-dev/openmc/pull/2412>`_)
68+
69+
---------
70+
Bug Fixes
71+
---------
72+
73+
- Fix for finding redundant surfaces (`#2263 <https://github.com/openmc-dev/openmc/pull/2263>`_)
74+
- Adds tolerance for temperatures slightly out of bounds (`#2265 <https://github.com/openmc-dev/openmc/pull/2265>`_)
75+
- Fix getter/setter for weight window bounds (`#2275 <https://github.com/openmc-dev/openmc/pull/2275>`_)
76+
- Make sure Chain.reduce preserves decay source (`#2283 <https://github.com/openmc-dev/openmc/pull/2283>`_)
77+
- Fix array shape for weight window bounds (`#2284 <https://github.com/openmc-dev/openmc/pull/2284>`_)
78+
- Fix for non-zero CDF start points in TSL data (`#2290 <https://github.com/openmc-dev/openmc/pull/2290>`_)
79+
- Fix a case where inelastic scattering yield is zero (`#2295 <https://github.com/openmc-dev/openmc/pull/2295>`_)
80+
- Prevent Compton profile out-of-bounds memory access (`#2297 <https://github.com/openmc-dev/openmc/pull/2297>`_)
81+
- Produce light particles from decay (`#2301 <https://github.com/openmc-dev/openmc/pull/2301>`_)
82+
- Fix zero runtime attributes in depletion statepoints (`#2302 <https://github.com/openmc-dev/openmc/pull/2302>`_)
83+
- Fix bug in openmc.Universe.get_nuclide_densities (`#2310 <https://github.com/openmc-dev/openmc/pull/2310>`_)
84+
- Only show print output from depletion on rank 0 (`#2311 <https://github.com/openmc-dev/openmc/pull/2311>`_)
85+
- Fix photon transport with no atomic relaxation data (`#2312 <https://github.com/openmc-dev/openmc/pull/2312>`_)
86+
- Fix for precedence in region expressions (`#2318 <https://github.com/openmc-dev/openmc/pull/2318>`_)
87+
- Allow source particles with energy below cutoff (`#2319 <https://github.com/openmc-dev/openmc/pull/2319>`_)
88+
- Fix IncidentNeutron.from_njoy for high temperatures (`#2320 <https://github.com/openmc-dev/openmc/pull/2320>`_)
89+
- Add capability to unset cell temperatures (`#2323 <https://github.com/openmc-dev/openmc/pull/2323>`_)
90+
- Fix in plot_xs when S(a,b) tables are present (`#2335 <https://github.com/openmc-dev/openmc/pull/2335>`_)
91+
- Various fixes for tally triggers (`#2344 <https://github.com/openmc-dev/openmc/pull/2344>`_)
92+
- Raise error when mesh is flat (`#2363 <https://github.com/openmc-dev/openmc/pull/2363>`_)
93+
- Don't call normalize inside Tabular.mean (`#2375 <https://github.com/openmc-dev/openmc/pull/2375>`_)
94+
- Avoid out-of-bounds access in inelastic scatter sampling (`#2378 <https://github.com/openmc-dev/openmc/pull/2378>`_)
95+
- Use correct direction for anisotropic fission (`#2381 <https://github.com/openmc-dev/openmc/pull/2381>`_)
96+
- Fix several thermal scattering nuclide assignments (`#2382 <https://github.com/openmc-dev/openmc/pull/2382>`_)
97+
- Fix _materials_by_id attribute in Model (`#2385 <https://github.com/openmc-dev/openmc/pull/2385>`_)
98+
- Updates to batch checks for simulation restarts (`#2390 <https://github.com/openmc-dev/openmc/pull/2390>`_)
99+
- write_data_to_vtk volume normalization correction (`#2397 <https://github.com/openmc-dev/openmc/pull/2397>`_)
100+
- Enable generation of JEFF 3.3 depletion chain (`#2410 <https://github.com/openmc-dev/openmc/pull/2410>`_)
101+
- Fix spherical to Cartesian coordinate conversion (`#2417 <https://github.com/openmc-dev/openmc/pull/2417>`_)
102+
- Handle zero photon cross sections in IncidentPhoton.from_ace (`#2433 <https://github.com/openmc-dev/openmc/pull/2433>`_)
103+
- Fix hybrid depletion when nuclides are not present (`#2436 <https://github.com/openmc-dev/openmc/pull/2436>`_)
104+
- Fix bug in cylindrical and spherical meshes (`#2439 <https://github.com/openmc-dev/openmc/pull/2439>`_)
105+
- Improvements to mesh radial boundary coincidence (`#2443 <https://github.com/openmc-dev/openmc/pull/2443>`_)
106+
107+
------------
108+
Contributors
109+
------------
110+
111+
- `Hunter Belanger <https://github.com/HunterBelanger>`_
112+
- `Rémi Delaporte-Mathurin <https://github.com/RemDelaporteMathurin>`_
113+
- `Christopher Fichtlscherer <https://github.com/cfichtlscherer>`_
114+
- `Valerio Giusti <https://github.com/valeriogiusti>`_
115+
- `Chris Keckler <https://github.com/keckler>`_
116+
- `Kalin Kiesling <https://github.com/kkiesling>`_
117+
- `Thomas Kittelmann <https://github.com/tkittel>`_
118+
- `Erik Knudsen <https://github.com/ebknudsen>`_
119+
- `Colin Larmier <https://github.com/colinelarmier>`_
120+
- `Amanda Lund <https://github.com/amandalund>`_
121+
- `Jose Ignacio Marquez Damien <https://github.com/marquezj>`_
122+
- `Josh May <https://github.com/joshmay1>`_
123+
- `Patrick Myers <https://github.com/myerspat>`_
124+
- `Baptiste Mouginot <https://github.com/bam241>`_
125+
- `April Novak <https://github.com/aprilnovak>`_
126+
- `Matthew Nyberg <https://github.com/NybergWISC>`_
127+
- `Ethan Peterson <https://github.com/eepeterson>`_
128+
- `Gavin Ridley <https://github.com/gridley>`_
129+
- `Paul Romano <https://github.com/paulromano>`_
130+
- `Patrick Shriwise <https://github.com/pshriwise>`_
131+
- `Jonathan Shimwell <https://github.com/Shimwell>`_
132+
- `Paul Wilson <https://github.com/gonuke>`_
133+
- `Olek Yardas <https://github.com/yardasol>`_
134+
- `Jiankai Yu <https://github.com/rockfool>`_

docs/source/releasenotes/index.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ Release Notes
77
.. toctree::
88
:maxdepth: 1
99

10+
0.13.3
1011
0.13.2
1112
0.13.1
1213
0.13.0

docs/source/usersguide/install.rst

Lines changed: 30 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -105,9 +105,9 @@ other information use:
105105
106106
.. note::
107107

108-
It should be noted that by default OpenMC builds with ``-O2 -g`` flags which
109-
are equivalent to a CMake build type of `RelwithDebInfo`. In addition, MPI
110-
is OFF while OpenMP is ON.
108+
It should be noted that by default OpenMC is built with
109+
`-DCMAKE_BUILD_TYPE=RelwithDebInfo`. In addition, MPI is OFF while OpenMP is
110+
ON.
111111

112112
It is recommended to install OpenMC with the Python API. Information about this
113113
Spack recipe can be found with the following command:
@@ -133,17 +133,18 @@ following command:
133133
configured defaults unless otherwise specfied in the specification on the
134134
command line. In the above example, assuming the default options weren't
135135
changed in Spack's package configuration, py-openmc will link against a
136-
non-optimized non-MPI openmc. Even if an optimized openmc was built
137-
separately, it will rebuild openmc with optimization OFF. Thus, if you are
138-
trying to link against dependencies that were configured different than
139-
defaults, ``^openmc[variants]`` will have to be present in the command.
136+
non-MPI non-release build of openmc. Even if a release build of openmc was
137+
built separately, it will rebuild openmc with the default build type. Thus,
138+
if you are trying to link against dependencies that were configured
139+
different than defaults, ``^openmc[variants]`` will have to be present in
140+
the command.
140141

141-
For a more performant build of OpenMC with optimization turned ON and MPI
142-
provided by OpenMPI, the following command can be used:
142+
For a release build of OpenMC with MPI support on (provided by OpenMPI), the
143+
following command can be used:
143144

144145
.. code-block:: sh
145146
146-
spack install py-openmc+mpi ^openmc+optimize ^openmpi
147+
spack install py-openmc +mpi ^openmpi ^openmc build_type=Release
147148
148149
.. note::
149150

@@ -163,7 +164,7 @@ This can be observed using Spack's ``spec`` tool:
163164

164165
.. code-block::
165166
166-
spack spec py-openmc+mpi ^openmc+optimize
167+
spack spec py-openmc +mpi ^openmc build_type=Release
167168
168169
Once installed, environment/lmod modules can be generated or Spack's ``load``
169170
feature can be used to access the installed packages.
@@ -277,7 +278,7 @@ Prerequisites
277278
Lists) files instead of .h5 files for sources (external source
278279
distribution, k-eigenvalue source distribution, and surface sources). To
279280
turn this option on in the CMake configuration step, add the following
280-
option:
281+
option::
281282

282283
cmake -DOPENMC_USE_MCPL=on ..
283284

@@ -288,7 +289,7 @@ Prerequisites
288289
on-the-fly approach. To use it `install
289290
<https://github.com/mctools/ncrystal/wiki/Get-NCrystal>`_ and `initialize
290291
<https://github.com/mctools/ncrystal/wiki/Using-NCrystal#setting-up>`_
291-
NCrystal and turn on the option in the CMake configuration step:
292+
NCrystal and turn on the option in the CMake configuration step::
292293

293294
cmake -DOPENMC_USE_NCRYSTAL=on ..
294295

@@ -299,7 +300,7 @@ Prerequisites
299300
be used, but the implementation is currently restricted to collision
300301
estimators. In addition to turning this option on, the path to the libMesh
301302
installation should be specified as part of the ``CMAKE_PREFIX_PATH``
302-
variable.::
303+
variable::
303304

304305
cmake -DOPENMC_USE_LIBMESH=on -DOPENMC_USE_MPI=on -DCMAKE_PREFIX_PATH=/path/to/libmesh/installation ..
305306

@@ -371,6 +372,10 @@ CMakeLists.txt Options
371372

372373
The following options are available in the CMakeLists.txt file:
373374

375+
OPENMC_ENABLE_COVERAGE
376+
Compile and link code instrumented for coverage analysis. This is typically
377+
used in conjunction with gcov_. (Default: off)
378+
374379
OPENMC_ENABLE_PROFILE
375380
Enables profiling using the GNU profiler, gprof. (Default: off)
376381

@@ -385,22 +390,23 @@ OPENMC_USE_DAGMC
385390
should also be defined as `DAGMC_ROOT` in the CMake configuration command.
386391
(Default: off)
387392

393+
OPENMC_USE_MCPL
394+
Turns on support for reading MCPL_ source files and writing MCPL source points
395+
and surface sources. (Default: off)
396+
388397
OPENMC_USE_NCRYSTAL
389-
Turns on support for NCrystal materials. NCrystal must be
390-
`installed <https://github.com/mctools/ncrystal/wiki/Get-NCrystal>`_ and
391-
`initialized <https://github.com/mctools/ncrystal/wiki/Using-NCrystal#setting-up>`_.
398+
Turns on support for NCrystal materials. NCrystal must be `installed
399+
<https://github.com/mctools/ncrystal/wiki/Get-NCrystal>`_ and `initialized
400+
<https://github.com/mctools/ncrystal/wiki/Using-NCrystal#setting-up>`_.
392401
(Default: off)
393402

394403
OPENMC_USE_LIBMESH
395404
Enables the use of unstructured mesh tallies with libMesh_. (Default: off)
396405

397-
OPENMC_ENABLE_COVERAGE
398-
Compile and link code instrumented for coverage analysis. This is typically
399-
used in conjunction with gcov_. (Default: off)
400-
401406
OPENMC_USE_MPI
402-
Turns on compiling with MPI (default: off). For further information on MPI options,
403-
please see the `FindMPI.cmake documentation <https://cmake.org/cmake/help/latest/module/FindMPI.html>`_.
407+
Turns on compiling with MPI (Default: off). For further information on MPI
408+
options, please see the `FindMPI.cmake documentation
409+
<https://cmake.org/cmake/help/latest/module/FindMPI.html>`_.
404410

405411
To set any of these options (e.g., turning on profiling), the following form
406412
should be used:
@@ -521,13 +527,7 @@ distribution/repository, run:
521527
pip will first check that all :ref:`required third-party packages
522528
<usersguide_python_prereqs>` have been installed, and if they are not present,
523529
they will be installed by downloading the appropriate packages from the Python
524-
Package Index (`PyPI <https://pypi.org/>`_). However, do note that since pip
525-
runs the ``setup.py`` script which requires NumPy, you will have to first
526-
install NumPy:
527-
528-
.. code-block:: sh
529-
530-
pip install numpy
530+
Package Index (`PyPI <https://pypi.org/>`_).
531531

532532
Installing in "Development" Mode
533533
--------------------------------

include/openmc/version.h.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ namespace openmc {
1010
constexpr int VERSION_MAJOR {@OPENMC_VERSION_MAJOR@};
1111
constexpr int VERSION_MINOR {@OPENMC_VERSION_MINOR@};
1212
constexpr int VERSION_RELEASE {@OPENMC_VERSION_RELEASE@};
13-
constexpr bool VERSION_DEV {true};
13+
constexpr bool VERSION_DEV {false};
1414
constexpr std::array<int, 3> VERSION {VERSION_MAJOR, VERSION_MINOR, VERSION_RELEASE};
1515
// clang-format on
1616

openmc/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,4 +38,4 @@
3838
from openmc.model import rectangular_prism, hexagonal_prism, Model
3939

4040

41-
__version__ = '0.13.3-dev'
41+
__version__ = '0.13.3'

openmc/deplete/results.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -398,6 +398,8 @@ def export_to_materials(
398398
path : PathLike
399399
Path to materials XML file to read. Defaults to 'materials.xml'.
400400
401+
.. versionadded:: 0.13.3
402+
401403
Returns
402404
-------
403405
mat_file : Materials

openmc/filter.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1349,6 +1349,8 @@ def get_tabular(self, values, **kwargs):
13491349
(e.g., a source spectrum) based on tally results that were obtained from
13501350
using an :class:`~openmc.EnergyFilter`.
13511351
1352+
.. versionadded:: 0.13.3
1353+
13521354
Parameters
13531355
----------
13541356
values : iterable of float

openmc/geometry.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -537,6 +537,8 @@ def get_cells_by_name(self, name, case_sensitive=False, matching=False):
537537
def get_surfaces_by_name(self, name, case_sensitive=False, matching=False):
538538
"""Return a list of surfaces with matching names.
539539
540+
.. versionadded:: 0.13.3
541+
540542
Parameters
541543
----------
542544
name : str

openmc/model/model.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -644,6 +644,8 @@ def run(self, particles=None, threads=None, geometry_debug=False,
644644
Exports a single model.xml file rather than separate files.
645645
Defaults to True.
646646
647+
.. versionadded:: 0.13.3
648+
647649
Returns
648650
-------
649651
Path

0 commit comments

Comments
 (0)