mirror of
https://github.com/openmc-dev/openmc.git
synced 2026-07-21 14:35:27 -04:00
Merge pull request #2269 from paulromano/release-0.13.2
Release of version 0.13.2
This commit is contained in:
commit
030f73a869
17 changed files with 141 additions and 27 deletions
|
|
@ -3,8 +3,8 @@ project(openmc C CXX)
|
|||
|
||||
# Set version numbers
|
||||
set(OPENMC_VERSION_MAJOR 0)
|
||||
set(OPENMC_VERSION_MINOR 14)
|
||||
set(OPENMC_VERSION_RELEASE 0)
|
||||
set(OPENMC_VERSION_MINOR 13)
|
||||
set(OPENMC_VERSION_RELEASE 2)
|
||||
set(OPENMC_VERSION ${OPENMC_VERSION_MAJOR}.${OPENMC_VERSION_MINOR}.${OPENMC_VERSION_RELEASE})
|
||||
configure_file(include/openmc/version.h.in "${CMAKE_BINARY_DIR}/include/openmc/version.h" @ONLY)
|
||||
|
||||
|
|
|
|||
|
|
@ -69,9 +69,9 @@ copyright = '2011-2022, Massachusetts Institute of Technology, UChicago Argonne
|
|||
# built documents.
|
||||
#
|
||||
# The short X.Y version.
|
||||
version = "0.14"
|
||||
version = "0.13"
|
||||
# The full version, including alpha/beta/rc tags.
|
||||
release = "0.14.0"
|
||||
release = "0.13.2"
|
||||
|
||||
# The language for content autogenerated by Sphinx. Refer to documentation
|
||||
# for a list of supported languages.
|
||||
|
|
|
|||
|
|
@ -109,7 +109,8 @@ The current version of the statepoint file format is 17.0.
|
|||
- **y** (*double[]*) -- Interpolant values for energyfunction
|
||||
interpolation. Only used for 'energyfunction' filters.
|
||||
|
||||
:Attributes: - **interpolation** (*int*) -- Interpolation type. Only used for
|
||||
:Attributes:
|
||||
- **interpolation** (*int*) -- Interpolation type. Only used for
|
||||
'energyfunction' filters.
|
||||
|
||||
**/tallies/derivatives/derivative <id>/**
|
||||
|
|
|
|||
|
|
@ -22,6 +22,12 @@ Univariate Probability Distributions
|
|||
openmc.stats.Legendre
|
||||
openmc.stats.Mixture
|
||||
openmc.stats.Normal
|
||||
|
||||
.. autosummary::
|
||||
:toctree: generated
|
||||
:nosignatures:
|
||||
:template: myfunction.rst
|
||||
|
||||
openmc.stats.muir
|
||||
|
||||
Angular Distributions
|
||||
|
|
|
|||
99
docs/source/releasenotes/0.13.2.rst
Normal file
99
docs/source/releasenotes/0.13.2.rst
Normal file
|
|
@ -0,0 +1,99 @@
|
|||
====================
|
||||
What's New in 0.13.2
|
||||
====================
|
||||
|
||||
.. currentmodule:: openmc
|
||||
|
||||
-------
|
||||
Summary
|
||||
-------
|
||||
|
||||
This release of OpenMC includes several bug fixes, performance improvements for
|
||||
complex geometries and depletion simulations, and other general enhancements.
|
||||
Notably, a capability has been added to compute the photon spectra from decay of
|
||||
unstable nuclides. Alongside that, a new :data:`openmc.config` configuration
|
||||
variable has been introduced that allows easier configuration of data sources.
|
||||
Additionally, users can now perform cell or material rejection when sampling
|
||||
external source distributions. Finally,
|
||||
|
||||
------------------------------------
|
||||
Compatibility Notes and Deprecations
|
||||
------------------------------------
|
||||
|
||||
- If you are building against libMesh for unstructured mesh tally support,
|
||||
version 1.6 or higher is now required.
|
||||
- The ``openmc.stats.Muir`` class has been replaced by a
|
||||
:func:`openmc.stats.muir` function that returns an instance of
|
||||
:class:`openmc.stats.Normal`.
|
||||
|
||||
------------
|
||||
New Features
|
||||
------------
|
||||
|
||||
- The :meth:`openmc.Material.get_nuclide_atom_densities` method now takes an
|
||||
optional ``nuclide`` argument.
|
||||
- Functions/methods in the :mod:`openmc.deplete` module now accept times in
|
||||
Julian years (``'a'``).
|
||||
- The :meth:`openmc.Universe.plot` method now allows a pre-existing axes object
|
||||
to be passed in.
|
||||
- Performance optimization for geometries with many complex regions.
|
||||
- Performance optimization for depletion by avoiding deepcopies and caching
|
||||
reaction rates.
|
||||
- The :class:`openmc.RegularMesh` class now has a
|
||||
:meth:`~openmc.RegularMesh.from_domain` classmethod.
|
||||
- The :class:`openmc.CylindricalMesh` class now has a
|
||||
:meth:`~openmc.CylindricalMesh.from_domain` classmethod.
|
||||
- Improved method to condense diffusion coefficients from the :mod:`openmc.mgxs`
|
||||
module.
|
||||
- A new :data:`openmc.config` configuration variable has been introduced that
|
||||
allows data sources to be specified at runtime or via environment variables.
|
||||
- The :class:`openmc.EnergyFunctionFilter` class now supports multiple
|
||||
interpolation schemes, not just linear-linear interpolation.
|
||||
- The :class:`openmc.DAGMCUniverse` class now has ``material_names``,
|
||||
``n_cells``, and ``n_surfaces`` attributes.
|
||||
- A new :func:`openmc.data.decay_photon_energy` function has been added that
|
||||
returns the energy spectrum of photons emitted from the decay of an unstable
|
||||
nuclide.
|
||||
- The :class:`openmc.Material` class also has a new
|
||||
:attr:`~openmc.Material.decay_photon_energy` attribute that gives the decay
|
||||
photon energy spectrum from the material based on its constituent nuclides.
|
||||
- The :class:`openmc.deplete.StepResult` now has a
|
||||
:meth:`~openmc.deplete.StepResult.get_material` method.
|
||||
- The :class:`openmc.Source` class now takes a ``domains`` argument that
|
||||
specifies a list of cells, materials, or universes that is used to reject
|
||||
source sites (i.e., if the sampled sites are not within the specified domain,
|
||||
they are rejected).
|
||||
|
||||
---------
|
||||
Bug Fixes
|
||||
---------
|
||||
|
||||
- `Delay call to Tally::set_strides <https://github.com/openmc-dev/openmc/pull/2183>`_
|
||||
- `Fix reading reference direction from XML for angular distributions <https://github.com/openmc-dev/openmc/pull/2204>`_
|
||||
- `Fix erroneous behavior in Material.add_components <https://github.com/openmc-dev/openmc/pull/2205>`_
|
||||
- `Fix reading thermal elastic data from ACE <https://github.com/openmc-dev/openmc/pull/2226>`_
|
||||
- `Fix reading source file with time attribute <https://github.com/openmc-dev/openmc/pull/2228>`_
|
||||
- `Fix conversion of multiple thermal scattering data files from ACE <https://github.com/openmc-dev/openmc/pull/2232>`_
|
||||
- `Fix reading values from wwinp file <https://github.com/openmc-dev/openmc/pull/2242>`_
|
||||
- `Handle possibility of .ppm file in Universe.plot <https://github.com/openmc-dev/openmc/pull/2251>`_
|
||||
- `Update volume calc types to mitigate overflow issues <https://github.com/openmc-dev/openmc/pull/2270>`_
|
||||
|
||||
------------
|
||||
Contributors
|
||||
------------
|
||||
|
||||
- `Lewis Gross <https://github.com/lewisgross1296>`_
|
||||
- `Andrew Johnson <https://github.com/drewejohnson>`_
|
||||
- `Miriam Kreher <https://github.com/mkreher13>`_
|
||||
- `James Logan <https://github.com/jlogan03>`_
|
||||
- `Jose Ignacio Marquez Damien <https://github.com/marquezj>`_
|
||||
- `Josh May <https://github.com/joshmay1>`_
|
||||
- `Patrick Myers <https://github.com/myerspat>`_
|
||||
- `Adam Nelson <https://github.com/nelsonag>`_
|
||||
- `April Novak <https://github.com/aprilnovak>`_
|
||||
- `Ethan Peterson <https://github.com/eepeterson>`_
|
||||
- `Gavin Ridley <https://github.com/gridley>`_
|
||||
- `Paul Romano <https://github.com/paulromano>`_
|
||||
- `Patrick Shriwise <https://github.com/pshriwise>`_
|
||||
- `Jonathan Shimwell <https://github.com/Shimwell>`_
|
||||
- `Olek Yardas <https://github.com/yardasol>`_
|
||||
|
|
@ -7,6 +7,7 @@ Release Notes
|
|||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
0.13.2
|
||||
0.13.1
|
||||
0.13.0
|
||||
0.12.2
|
||||
|
|
|
|||
|
|
@ -340,11 +340,6 @@ enum class RunMode {
|
|||
|
||||
enum class GeometryType { CSG, DAG };
|
||||
|
||||
//==============================================================================
|
||||
// Volume Calculation Constants
|
||||
|
||||
constexpr uint64_t UINT64_T_MAX {std::numeric_limits<uint64_t>::max()};
|
||||
|
||||
} // namespace openmc
|
||||
|
||||
#endif // OPENMC_CONSTANTS_H
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ namespace openmc {
|
|||
constexpr int VERSION_MAJOR {@OPENMC_VERSION_MAJOR@};
|
||||
constexpr int VERSION_MINOR {@OPENMC_VERSION_MINOR@};
|
||||
constexpr int VERSION_RELEASE {@OPENMC_VERSION_RELEASE@};
|
||||
constexpr bool VERSION_DEV {true};
|
||||
constexpr bool VERSION_DEV {false};
|
||||
constexpr std::array<int, 3> VERSION {VERSION_MAJOR, VERSION_MINOR, VERSION_RELEASE};
|
||||
// clang-format on
|
||||
|
||||
|
|
|
|||
|
|
@ -38,4 +38,4 @@ from .config import *
|
|||
from openmc.model import rectangular_prism, hexagonal_prism, Model
|
||||
|
||||
|
||||
__version__ = '0.14.0-dev'
|
||||
__version__ = '0.13.2'
|
||||
|
|
|
|||
|
|
@ -587,7 +587,7 @@ def decay_photon_energy(nuclide: str) -> Optional[Univariate]:
|
|||
for the first time, you need to ensure that a depletion chain has been
|
||||
specified in openmc.config['chain_file'].
|
||||
|
||||
.. versionadded:: 0.14.0
|
||||
.. versionadded:: 0.13.2
|
||||
|
||||
Parameters
|
||||
----------
|
||||
|
|
|
|||
|
|
@ -202,7 +202,7 @@ class StepResult:
|
|||
def get_material(self, mat_id):
|
||||
"""Return material object for given depleted composition
|
||||
|
||||
.. versionadded:: 0.14.0
|
||||
.. versionadded:: 0.13.2
|
||||
|
||||
Parameters
|
||||
----------
|
||||
|
|
|
|||
|
|
@ -98,7 +98,7 @@ class Material(IDManagerMixin):
|
|||
this distribution is the total intensity of the photon source in
|
||||
[decay/sec].
|
||||
|
||||
.. versionadded:: 0.14.0
|
||||
.. versionadded:: 0.13.2
|
||||
|
||||
"""
|
||||
|
||||
|
|
@ -825,6 +825,8 @@ class Material(IDManagerMixin):
|
|||
element : str
|
||||
Specifies the element to match when searching through the nuclides
|
||||
|
||||
.. versionadded:: 0.13.2
|
||||
|
||||
Returns
|
||||
-------
|
||||
nuclides : list of str
|
||||
|
|
@ -877,6 +879,8 @@ class Material(IDManagerMixin):
|
|||
Nuclide for which atom density is desired. If not specified, the
|
||||
atom density for each nuclide in the material is given.
|
||||
|
||||
.. versionadded:: 0.13.2
|
||||
|
||||
Returns
|
||||
-------
|
||||
nuclides : dict
|
||||
|
|
|
|||
|
|
@ -729,7 +729,7 @@ def muir(e0, m_rat, kt):
|
|||
distribution: the mean energy of particles ``e0``, the mass of reactants
|
||||
``m_rat``, and the ion temperature ``kt``.
|
||||
|
||||
.. versionadded:: 0.14.0
|
||||
.. versionadded:: 0.13.2
|
||||
|
||||
Parameters
|
||||
----------
|
||||
|
|
|
|||
|
|
@ -650,19 +650,26 @@ class DAGMCUniverse(UniverseBase):
|
|||
bounding_box : 2-tuple of numpy.array
|
||||
Lower-left and upper-right coordinates of an axis-aligned bounding box
|
||||
of the universe.
|
||||
|
||||
.. versionadded:: 0.13.1
|
||||
material_names : list of str
|
||||
Return a sorted list of materials names that are contained within the
|
||||
DAGMC h5m file. This is useful when naming openmc.Material() objects
|
||||
as each material name present in the DAGMC h5m file must have a
|
||||
matching openmc.Material() with the same name.
|
||||
|
||||
.. versionadded:: 0.13.2
|
||||
n_cells : int
|
||||
The number of cells in the DAGMC model. This is the number of cells at
|
||||
runtime and accounts for the implicit complement whether or not is it
|
||||
present in the DAGMC file.
|
||||
|
||||
.. versionadded:: 0.13.2
|
||||
n_surfaces : int
|
||||
The number of surfaces in the model.
|
||||
|
||||
.. versionadded:: 0.13.1
|
||||
.. versionadded:: 0.13.2
|
||||
|
||||
"""
|
||||
|
||||
def __init__(self,
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
#include "openmc/output.h"
|
||||
|
||||
#include <algorithm> // for transform, max
|
||||
#include <cstring> // for strlen
|
||||
#include <cstdio> // for stdout
|
||||
#include <cstring> // for strlen
|
||||
#include <ctime> // for time, localtime
|
||||
#include <fstream>
|
||||
#include <iomanip> // for setw, setprecision, put_time
|
||||
|
|
@ -134,9 +134,10 @@ void header(const char* msg, int level)
|
|||
auto out = header(msg);
|
||||
|
||||
// Print header based on verbosity level.
|
||||
if (settings::verbosity >= level)
|
||||
if (settings::verbosity >= level) {
|
||||
fmt::print("\n{}\n\n", out);
|
||||
std::fflush(stdout);
|
||||
}
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
|
|
@ -396,7 +397,7 @@ void print_build_info()
|
|||
fmt::print("DAGMC support: {}\n", dagmc);
|
||||
fmt::print("libMesh support: {}\n", libmesh);
|
||||
fmt::print("Coverage testing: {}\n", coverage);
|
||||
fmt::print("Profiling flags: {}\n", profiling);
|
||||
fmt::print("Profiling flags: {}\n", profiling);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -224,7 +224,8 @@ SourceSite IndependentSource::sample(uint64_t* seed) const
|
|||
auto id = (domain_type_ == DomainType::CELL)
|
||||
? model::cells[coord.cell]->id_
|
||||
: model::universes[coord.universe]->id_;
|
||||
if (found = contains(domain_ids_, id)) break;
|
||||
if ((found = contains(domain_ids_, id)))
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -225,12 +225,11 @@ vector<VolumeCalculation::Result> VolumeCalculation::execute() const
|
|||
iterations++;
|
||||
uint64_t total_samples = iterations * n_samples_;
|
||||
|
||||
// warn user if total sample size is greater than what the size_t type can
|
||||
// warn user if total sample size is greater than what the uin64_t type can
|
||||
// represent
|
||||
if (total_samples == UINT64_T_MAX) {
|
||||
if (total_samples == std::numeric_limits<uint64_t>::max()) {
|
||||
warning("The number of samples has exceeded the type used to track hits. "
|
||||
"Volume "
|
||||
"results may be inaccurate.");
|
||||
"Volume results may be inaccurate.");
|
||||
}
|
||||
|
||||
// reset
|
||||
|
|
@ -246,8 +245,8 @@ vector<VolumeCalculation::Result> VolumeCalculation::execute() const
|
|||
// Create 2D array to store atoms/uncertainty for each nuclide. Later this
|
||||
// is compressed into vectors storing only those nuclides that are
|
||||
// non-zero
|
||||
auto n_nuc = settings::run_CE ? data::nuclides.size()
|
||||
: data::mg.nuclides_.size();
|
||||
auto n_nuc =
|
||||
settings::run_CE ? data::nuclides.size() : data::mg.nuclides_.size();
|
||||
xt::xtensor<double, 2> atoms({n_nuc, 2}, 0.0);
|
||||
|
||||
#ifdef OPENMC_MPI
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue