What’s New in 0.9.0¶
This release of OpenMC is the first release to use a new native HDF5 cross
section format rather than ACE format cross sections. Other significant new
features include a nuclear data interface in the Python API (openmc.data
)
a stochastic volume calculation capability, a random sphere packing algorithm
that can handle packing fractions up to 60%, and a new XML parser with
significantly better performance than the parser used previously.
Caution
With the new cross section format, the default energy units are now electronvolts (eV) rather than megaelectronvolts (MeV)! If you are specifying an energy filter for a tally, make sure you use units of eV now.
The Python API continues to improve over time; several backwards incompatible changes were made in the API which users of previous versions should take note of:
Each type of tally filter is now specified with a separate class. For example:
energy_filter = openmc.EnergyFilter([0.0, 0.625, 4.0, 1.0e6, 20.0e6])
Several attributes of the
Plot
class have changed (color
->color_by
andcol_spec
>colors
).Plot.colors
now accepts a dictionary mappingCell
orMaterial
instances to RGB 3-tuples or string colors names, e.g.:plot.colors = { fuel: 'yellow', water: 'blue' }
make_hexagon_region
is nowget_hexagonal_prism()
Several changes in
Settings
attributes:weight
is now set asSettings.cutoff['weight']
Shannon entropy is now specified by passing a
openmc.Mesh
toSettings.entropy_mesh
Uniform fission site method is now specified by passing a
openmc.Mesh
toSettings.ufs_mesh
All
sourcepoint_*
options are now specified in aSettings.sourcepoint
dictionaryResonance scattering method is now specified as a dictionary in
Settings.resonance_scattering
Multipole is now turned on by setting
Settings.temperature['multipole'] = True
The
output_path
attribute is nowSettings.output['path']
All the
openmc.mgxs.Nu*
classes are gone. Instead, anu
argument was added to the constructor of the corresponding classes.
System Requirements¶
There are no special requirements for running the OpenMC code. As of this release, OpenMC has been tested on a variety of Linux distributions and Mac OS X. Numerous users have reported working builds on Microsoft Windows, but your mileage may vary. Memory requirements will vary depending on the size of the problem at hand (mostly on the number of nuclides and tallies in the problem).
New Features¶
Stochastic volume calculations
Multi-delayed group cross section generation
Ability to calculate multi-group cross sections over meshes
Temperature interpolation on cross section data
Nuclear data interface in Python API,
openmc.data
Allow cutoff energy via
Settings.cutoff
Ability to define fuel by enrichment (see
Material.add_element()
)Random sphere packing for TRISO particle generation,
openmc.model.pack_trisos()
Critical eigenvalue search,
openmc.search_for_keff()
Model container,
openmc.model.Model
In-line plotting in Jupyter,
openmc.plot_inline()
Energy function tally filters,
openmc.EnergyFunctionFilter
Replaced FoX XML parser with pugixml
Cell/material instance counting,
Geometry.determine_paths()
Differential tallies (see
openmc.TallyDerivative
)Consistent multi-group scattering matrices
Improved documentation and new Jupyter notebooks
OpenMOC compatibility module,
openmc.openmoc_compatible
Bug Fixes¶
c5df6c: Fix mesh filter max iterator check
1cfa39: Reject external source only if 95% of sites are rejected
335359: Fix bug in plotting meshlines
17c678: Make sure system_clock uses high-resolution timer
23ec0b: Fix use of S(a,b) with multipole data
7eefb7: Fix several bugs in tally module
7880d4: Allow plotting calculation with no boundary conditions
ad2d9f: Fix filter weight missing when scoring all nuclides
59fdca: Fix use of source files for fixed source calculations
9eff5b: Fix thermal scattering bugs
7848a9: Fix combined k-eff estimator producing NaN
f139ce: Fix printing bug for tallies with AggregateNuclide
b8ddfa: Bugfix for short tracks near tally mesh edges
ec3cfb: Fix inconsistency in filter weights
5e9b06: Fix XML representation for verbosity
c39990: Fix bug tallying reaction rates with multipole on
c6b67e: Fix fissionable source sampling bug
489540: Check for void materials in tracklength tallies
f0214f: Fixes/improvements to the ARES algorithm
Contributors¶
This release contains new contributions from the following people: