Ability to add 0K elastic scattering from an ENDF file
Created by: paulromano
This pull request adds the ability to add 0K elastic scattering to an
IncidentNeutron instance from an ENDF file that can be used for DBRC (or equivalent). It uses the resonance reconstruction features in openmc.data to generate a 0K pointwise cross section. Two new functions in openmc.data were added,
thin, the former of which will come up with a reasonable set of (x,y) points for a function and the latter of which will then "thin" out that set of points. The nuclear data format didn't need any changes. Some extra logic was required so that the 0K is written/read from an HDF5 file if present.
I've updated our NNDC data to include 0K elastic scattering data for U238, U235, and Pu239. Now the
test_resonance_scattering test will actually run DBRC (and ARES, the fancy method by @walshjon) for real, not just faking it with 293 K data.
This PR fulfills a promise I made to @bforget to take a look at our heavy nuclide resonance scattering capabilities and make sure they were in a usable state.