mirror of
https://github.com/openmc-dev/openmc.git
synced 2026-07-28 06:05:58 -04:00
Release notes for 0.13.0
This commit is contained in:
parent
c6ad93d681
commit
fdd5e10822
13 changed files with 134 additions and 4 deletions
|
|
@ -90,6 +90,7 @@ Building geometry
|
|||
openmc.Complement
|
||||
openmc.Cell
|
||||
openmc.Universe
|
||||
openmc.DAGMCUniverse
|
||||
openmc.RectLattice
|
||||
openmc.HexLattice
|
||||
openmc.Geometry
|
||||
|
|
@ -143,6 +144,8 @@ Constructing Tallies
|
|||
openmc.ParticleFilter
|
||||
openmc.RegularMesh
|
||||
openmc.RectilinearMesh
|
||||
openmc.CylindricalMesh
|
||||
openmc.SphericalMesh
|
||||
openmc.UnstructuredMesh
|
||||
openmc.Trigger
|
||||
openmc.TallyDerivative
|
||||
|
|
|
|||
|
|
@ -13,10 +13,12 @@ Functions
|
|||
:template: myfunction.rst
|
||||
|
||||
calculate_volumes
|
||||
export_properties
|
||||
finalize
|
||||
find_cell
|
||||
find_material
|
||||
hard_reset
|
||||
import_properties
|
||||
init
|
||||
iter_batches
|
||||
keff
|
||||
|
|
|
|||
100
docs/source/releasenotes/0.13.0.rst
Normal file
100
docs/source/releasenotes/0.13.0.rst
Normal file
|
|
@ -0,0 +1,100 @@
|
|||
====================
|
||||
What's New in 0.13.0
|
||||
====================
|
||||
|
||||
.. currentmodule:: openmc
|
||||
|
||||
-------
|
||||
Summary
|
||||
-------
|
||||
|
||||
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.
|
||||
|
||||
------------
|
||||
New Features
|
||||
------------
|
||||
|
||||
- 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 single 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`` and
|
||||
``openmc_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.
|
||||
|
||||
---------
|
||||
Bug Fixes
|
||||
---------
|
||||
|
||||
- `Fix for shared fission bank memory errors <https://github.com/openmc-dev/openmc/pull/1856>`_
|
||||
- `Make sure properties export only happens from root process <https://github.com/openmc-dev/openmc/pull/1864>`_
|
||||
- `Fix pathlib use error in openmc-ace-to-hdf5 <https://github.com/openmc-dev/openmc/pull/1867>`_
|
||||
- `Fix DAGMC and libMesh variable in CMake config <https://github.com/openmc-dev/openmc/pull/1870>`_
|
||||
- `Fix bug associated with volume calc in MG mode <https://github.com/openmc-dev/openmc/pull/1889>`_
|
||||
- `Add missing Settings.write_initial_source property <https://github.com/openmc-dev/openmc/pull/1895>`_
|
||||
- `Bug fixes for specifying Materials.cross_sections <https://github.com/openmc-dev/openmc/pull/1898>`_
|
||||
- `Removing Legendre filter in diffusion coefficient results <https://github.com/openmc-dev/openmc/pull/1909>`_
|
||||
- `Ensure particles lost during event_calculate_xs are terminated <https://github.com/openmc-dev/openmc/pull/1911>`_
|
||||
- `Fixed parsing of xsdir entries with a continuation line <https://github.com/openmc-dev/openmc/pull/1913>`_
|
||||
- `openmc.RegularMesh attribute consistency <https://github.com/openmc-dev/openmc/pull/1922>`_
|
||||
- `Ensure secondary particles below energy cutoff are not created <https://github.com/openmc-dev/openmc/pull/1924>`_
|
||||
- `Allow compilation with g++ 11 <https://github.com/openmc-dev/openmc/pull/1938>`_
|
||||
- `Depletion-related bug fixes <https://github.com/openmc-dev/openmc/pull/1946>`_
|
||||
- `Miscellaneous bug fixes <https://github.com/openmc-dev/openmc/pull/1948>`_
|
||||
- `Fixes for various bugs <https://github.com/openmc-dev/openmc/pull/1949>`_
|
||||
- `Reset triggers in openmc_reset <https://github.com/openmc-dev/openmc/issues/1957>`_
|
||||
|
||||
------------
|
||||
Contributors
|
||||
------------
|
||||
|
||||
- `Hunter Belanger <https://github.com/HunterBelanger>`_
|
||||
- `Helen Brooks <https://github.com/helen-brooks>`_
|
||||
- `Andrew Davis <https://github.com/makeclean>`_
|
||||
- `Valerio Giusti <https://github.com/valeriogiusti>`_
|
||||
- `Jeff Hammond <https://github.com/jeffhammond>`_
|
||||
- `Yuan Hu <https://github.com/YuanHu-PKU-KIT>`_
|
||||
- `Andrew Johnson <https://github.com/drewejohnson>`_
|
||||
- `Miriam Kreher <https://github.com/mkreher13>`_
|
||||
- `Amanda Lund <https://github.com/amandalund>`_
|
||||
- `Adam Nelson <https://github.com/nelsonag>`_
|
||||
- `April Novak <https://github.com/aprilnovak>`_
|
||||
- `Ariful Islam Pranto <https://github.com/AI-Pranto>`_
|
||||
- `Gavin Ridley <https://github.com/gridley>`_
|
||||
- `Paul Romano <https://github.com/paulromano>`_
|
||||
- `Olaf Schumann <https://github.com/ojschumann>`_
|
||||
- `Jonathan Shimwell <https://github.com/Shimwell>`_
|
||||
- `Patrick Shriwise <https://github.com/pshriwise>`_
|
||||
- `John Tramm <https://github.com/jtramm>`_
|
||||
|
|
@ -7,6 +7,7 @@ Release Notes
|
|||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
0.13.0
|
||||
0.12.2
|
||||
0.12.1
|
||||
0.12.0
|
||||
|
|
|
|||
|
|
@ -1354,6 +1354,8 @@ class EnergyoutFilter(EnergyFilter):
|
|||
class TimeFilter(RealFilter):
|
||||
"""Bins tally events based on the particle's time.
|
||||
|
||||
.. versionadded:: 0.13.0
|
||||
|
||||
Parameters
|
||||
----------
|
||||
values : iterable of float
|
||||
|
|
|
|||
|
|
@ -144,8 +144,7 @@ def current_batch():
|
|||
def export_properties(filename=None, output=True):
|
||||
"""Export physical properties.
|
||||
|
||||
.. versionchanged:: 0.13.0
|
||||
The *output* argument was added.
|
||||
.. versionadded:: 0.13.0
|
||||
|
||||
Parameters
|
||||
----------
|
||||
|
|
@ -228,6 +227,8 @@ def hard_reset():
|
|||
def import_properties(filename):
|
||||
"""Import physical properties.
|
||||
|
||||
.. versionadded:: 0.13.0
|
||||
|
||||
Parameters
|
||||
----------
|
||||
filename : str
|
||||
|
|
|
|||
|
|
@ -1566,6 +1566,8 @@ class Settings:
|
|||
def from_xml(cls, path='settings.xml'):
|
||||
"""Generate settings from XML file
|
||||
|
||||
.. versionadded:: 0.13.0
|
||||
|
||||
Parameters
|
||||
----------
|
||||
path : str, optional
|
||||
|
|
|
|||
|
|
@ -244,11 +244,14 @@ class Uniform(Univariate):
|
|||
params = get_text(elem, 'parameters').split()
|
||||
return cls(*map(float, params))
|
||||
|
||||
|
||||
class PowerLaw(Univariate):
|
||||
"""Distribution with power law probability over a finite interval [a,b]
|
||||
|
||||
|
||||
The power law distribution has density function :math:`p(x) dx = c x^n dx`.
|
||||
|
||||
.. versionadded:: 0.13.0
|
||||
|
||||
Parameters
|
||||
----------
|
||||
a : float, optional
|
||||
|
|
@ -914,6 +917,8 @@ class Mixture(Univariate):
|
|||
def to_xml_element(self, element_name):
|
||||
"""Return XML representation of the mixture distribution
|
||||
|
||||
.. versionadded:: 0.13.0
|
||||
|
||||
Parameters
|
||||
----------
|
||||
element_name : str
|
||||
|
|
@ -939,6 +944,8 @@ class Mixture(Univariate):
|
|||
def from_xml_element(cls, elem):
|
||||
"""Generate mixture distribution from an XML element
|
||||
|
||||
.. versionadded:: 0.13.0
|
||||
|
||||
Parameters
|
||||
----------
|
||||
elem : xml.etree.ElementTree.Element
|
||||
|
|
|
|||
|
|
@ -2193,6 +2193,8 @@ class XTorus(TorusMixin, Surface):
|
|||
r"""A torus of the form :math:`(x - x_0)^2/B^2 + (\sqrt{(y - y_0)^2 + (z -
|
||||
z_0)^2} - A)^2/C^2 - 1 = 0`.
|
||||
|
||||
.. versionadded:: 0.13.0
|
||||
|
||||
Parameters
|
||||
----------
|
||||
x0 : float
|
||||
|
|
@ -2262,6 +2264,8 @@ class YTorus(TorusMixin, Surface):
|
|||
r"""A torus of the form :math:`(y - y_0)^2/B^2 + (\sqrt{(x - x_0)^2 + (z -
|
||||
z_0)^2} - A)^2/C^2 - 1 = 0`.
|
||||
|
||||
.. versionadded:: 0.13.0
|
||||
|
||||
Parameters
|
||||
----------
|
||||
x0 : float
|
||||
|
|
@ -2331,6 +2335,8 @@ class ZTorus(TorusMixin, Surface):
|
|||
r"""A torus of the form :math:`(z - z_0)^2/B^2 + (\sqrt{(x - x_0)^2 + (y -
|
||||
y_0)^2} - A)^2/C^2 - 1 = 0`.
|
||||
|
||||
.. versionadded:: 0.13.0
|
||||
|
||||
Parameters
|
||||
----------
|
||||
x0 : float
|
||||
|
|
|
|||
|
|
@ -869,6 +869,8 @@ class Tally(IDManagerMixin):
|
|||
def from_xml_element(cls, elem, **kwargs):
|
||||
"""Generate tally object from an XML element
|
||||
|
||||
.. versionadded:: 0.13.0
|
||||
|
||||
Parameters
|
||||
----------
|
||||
elem : xml.etree.ElementTree.Element
|
||||
|
|
|
|||
|
|
@ -629,6 +629,8 @@ class Universe(UniverseBase):
|
|||
class DAGMCUniverse(UniverseBase):
|
||||
"""A reference to a DAGMC file to be used in the model.
|
||||
|
||||
.. versionadded:: 0.13.0
|
||||
|
||||
Parameters
|
||||
----------
|
||||
filename : str
|
||||
|
|
|
|||
|
|
@ -358,6 +358,8 @@ class VolumeCalculation:
|
|||
def from_xml_element(cls, elem):
|
||||
"""Generate volume calculation object from an XML element
|
||||
|
||||
.. versionadded:: 0.13.0
|
||||
|
||||
Parameters
|
||||
----------
|
||||
elem : xml.etree.ElementTree.Element
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ class WeightWindows(IDManagerMixin):
|
|||
This class enables you to specify weight window parameters that are used in
|
||||
a simulation. Multiple sets of weight windows can be defined for different
|
||||
meshes and different particles. An iterable of :class:`WeightWindows`
|
||||
instances can be assigned to the :attr:`~openmc.Settings.weight_windows`
|
||||
instances can be assigned to the :attr:`openmc.Settings.weight_windows`
|
||||
attribute, which is then exported to XML.
|
||||
|
||||
Weight window lower/upper bounds are to be specified for each combination of
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue