Skip to content

OpenMC 0.9.0

Compare
Choose a tag to compare
@paulromano paulromano released this 10 May 19:23

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 and col_spec > colors). Plot.colors now accepts a dictionary mapping Cell or Material instances to RGB 3-tuples or string colors names, e.g.:

    plot.colors = {
        fuel: 'yellow',
        water: 'blue'
    }
    
  • make_hexagon_region is now get_hexagonal_prism

  • Several changes in Settings attributes:

    • weight is now set as Settings.cutoff['weight']
    • Shannon entropy is now specified by passing a Mesh to Settings.entropy_mesh
    • Uniform fission site method is now specified by passing a Mesh to Settings.ufs_mesh
    • All sourcepoint_* options are now specified in a Settings.sourcepoint dictionary
    • Resonance 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 now Settings.output['path']
  • All the openmc.mgxs.Nu* classes are gone. Instead, a nu argument was added to the constructor of the corresponding classes.

New Features

Bug Fixes

  • c5df6ce Fix mesh filter max iterator check
  • 1cfa392 Reject external source only if 95% of sites are rejected
  • 3353592 Fix bug in plotting meshlines
  • 17c678d Make sure system_clock uses high-resolution timer
  • 23ec0b8 Fix use of S(a,b) with multipole data
  • 7eefb73 Fix several bugs in tally module
  • 7880d4f Allow plotting calculation with no boundary conditions
  • ad2d9ff Fix filter weight missing when scoring all nuclides
  • 59fdcac Fix use of source files for fixed source calculations
  • 9eff5b8 Fix thermal scattering bugs
  • 7848a97 Fix combined k-eff estimator producing NaN
  • f139ce8 Fix printing bug for tallies with AggregateNuclide
  • b8ddfac Bugfix for short tracks near tally mesh edges
  • ec3cfb5 Fix inconsistency in filter weights
  • 5e9b06a Fix XML representation for verbosity
  • c39990a Fix bug tallying reaction rates with multipole on
  • c6b67e6 Fix fissionable source sampling bug
  • 4895402 Check for void materials in tracklength tallies
  • f0214f4 Fixes/improvements to the ARES algorithm

Contributors

This release contains new contributions from the following people: