OpenMC 0.12.0
This release of OpenMC includes an assortment of new features and many bug fixes. In particular, the openmc.deplete
module has been heavily tested which has resulted in a number of usability improvements, bug fixes, and other enhancements. Energy deposition calculations, particularly for coupled neutron-photon simulations, have been improved as well.
Improvements in modeling capabilities continue to be added to the code, including the ability to rotate surfaces in the Python API, several new "composite" surfaces, a variety of new methods on openmc.Material
, unstructured mesh tallies that leverage the existing DAGMC infrastructure, effective dose coefficients from ICRP-116, and a new cell instance tally filter.
New Features
-
All surfaces now have a
rotate
method that allows them to be rotated. -
Several "composite" surfaces, which are actually composed of multiple surfaces but can be treated as a normal surface through the -/+ unary operators, have been added. These include:
openmc.model.RightCircularCylinder
openmc.model.RectangularParallelepiped
openmc.model.XConeOneSided
(and equivalent versions for y- and z-axes)
-
Various improvements related to depletion:
- The matrix exponential solver can now be configured through the
solver
argument on depletion integrator classes. - The
openmc.deplete.Chain.reduce
method can automatically reduce the number of nuclides in a depletion chain. - Depletion integrator classes now allow a user to specify timesteps in several units (s, min, h, d, MWd/kg).
openmc.deplete.ResultsList.get_atoms
now allows a user to obtain depleted material compositions in atom/b-cm.
- The matrix exponential solver can now be configured through the
-
Several new methods on
openmc.Material
:- The
add_elements_from_formula
method allows a user to create a material based on a chemical formula. add_element
now supports theenrichment
argument for non-uranium elements when only two isotopes are naturally occurring.add_element
now supports adding elements by name rather than by symbol.- The
get_elements
method returns a list of elements within a material. - The
mix_materials
method allows multiple materials to be mixed together based on atom, weight, or volume fractions.
- The
-
The acceptable number of lost particles can now be configured through
openmc.Settings.max_lost_particles
andopenmc.Settings.rel_max_lost_particles
. -
Delayed photons produced from fission are now accounted for by default by scaling the yield of prompt fission photons. This behavior can be modified through the
openmc.Settings.delayed_photon_scaling
attribute. -
A trigger can now be specified for a volume calculation via the
openmc.VolumeCalculation.set_trigger
method. -
The
openmc.stats.SphericalIndependent
andopenmc.stats.CylindricalIndependent
classes allow a user to specify source distributions based on spherical or cylindrical coordinates. -
Custom external source distributions can be used via the
openmc.Source.library
attribute. -
Unstructured mesh class,
openmc.UnstructuredMesh
, that can be used in tallies. -
The
openmc.CellInstanceFilter
class allows one or more instances of a repeated cell to be tallied. This is effectively a more flexible version of the existingopenmc.DistribcellFilter
class. -
The
openmc.data.dose_coefficients
function provides effective dose coefficients from ICRP-116 and can be used in conjunction withopenmc.EnergyFunctionFilter
in a tally.
Bug fixes
- Keep user-supplied prev_results on operator
- Fix bug when S(a,b) tables appear in depletable material
- DAGMC fix for implicit complement material assignment
- Bug fix for tallying reaction rates in coupled n-p runs
- Corrected issue with multiplicity matrix
- Fix depletion with photon transport
- Fix secondary photon creation
- Bug fix for total xs plotting
- Account for light nuclide production in depletion
- Reset timer in depletion calculations
- Fix for Model.run
- Ensure NJOY output goes to specified directory
- Fix bug preventing creating photon data
- Fix bug when surface ID > 999999
- Fix bug for reading output settings in Settings.from_xml
- Fix improve energy deposition for coupled neutron-photon
- Use number of particles for tally normalization
- Fix a number of problems related to photoatomic data
- Fix cosine smearing for S(a,b)
- Use relative distances for coincidence test in hex lattice
- Fix RPATH for non-Debian linux systems
- Fix mesh plotter energy filter bins
- Fix memory leak
- Fix volume allocation related to burnable materials
- Fix tally mesh bug for short tracks
- DAGMC void material assignment fix
- Fix for Mesh
__repr__
methods
Contributors
This release contains new contributions from the following people:
- @ChasingNeutrons
- @stevendargaville
- @makeclean
- @dryuri92
- @GiudGiud
- @awgolas
- @NuclearEngideer
- @smharper
- @YuanHu-PKU-KIT
- @kingyue737
- @drewejohnson
- @Mikolaj-A-Kowalski
- @shikhar413
- @liangjg
- @davidjohnlong
- @amandalund
- @alex-lyons
- @nelsonag
- @eepeterson
- @SamPUG
- @AI-Pranto
- @simondrichards
- @gridley
- @paulromano
- @shimwell
- @pshriwise
- @jtramm
- @gonuke
- @rockfool