What’s New in 0.12.0¶
Summary¶
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.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.
Several new methods on
openmc.Material
:The
openmc.Material.add_elements_from_formula()
method allows a user to create a material based on a chemical formula.openmc.Material.add_element()
now supports the enrichment argument for non-uranium elements when only two isotopes are naturally occurring.openmc.Material.add_element()
now supports adding elements by name rather than by symbol.The
openmc.Material.get_elements()
method returns a list of elements within a material.The
openmc.Material.mix_materials()
method allows multiple materials to be mixed together based on atom, weight, or volume fractions.
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¶
Contributors¶
This release contains new contributions from the following people: