mit-crpg/openmc — pull request #348 by paulromano (2014-12-20 21:26:26+00:00)
Title: Two physics improvements and NNDC data fixes

## Physics Improvements

@makeclean did comparisons of flux spectra resulting from OpenMC, MCNP, and Serpent simulations of fixed source problems with a 30 cm sphere of a single nuclide, for each nuclide in ENDF/B-VII.1. These comparisons revealed that in many cases the three codes give different spectra. I've dug into the results a bit and have now identified two issues with OpenMC:

- N-15 uses histogram interpolation on incoming energy for a law 4 energy distribution. OpenMC did not support this but would just throw a warning and continue on. This PR adds support for histogram interpolation.
- The MT=5 reaction has an energy-dependent neutron yield for many nuclide/reactions in ENDF/B-VII.1. OpenMC was treating this reaction as always emitting one neutron. Nuclides that are afflicted by this include: all isotopes of Ca, Zr, Tm, W, Pb, and Mn-55, Co-58, Th-232, and Pa-233. This PR adds support for reading the energy-dependent neutron yields and using them for inelastic scattering reactions. Note that this now overrides the temporary fix in #296. Since Zr appeared in so many of the regression test suite problems, this PR includes new results for almost all tests. I've also bumped up the number of histories in test_reflective_cone to 1000 to prevent issues when running the test suite with many threads.

## NNDC Data

The NNDC cross sections have been updated to fix ZAID identifiers for metastable nuclides. The new data consistently uses base ZAID + 400 for a metastable nuclide, e.g. 95642 for Am-242m. It's important to note that before this, if you put Am-242m in a problem, OpenMC would actually give you Am-244m because they both had the same ZAID of 95249.

I've updated the default cross_sections_nndc.xml that is used by get_nndc_data.py, and I've also updated get_nndc_data.py to move files into the right directory (the new archive added an extra directory) as well as check the MD5 checksums, thereby protecting us if NNDC decides to change the data again.

I have the regression suite [running](http://openmc.mit.edu/cdash/index.php?project=OpenMC&date=2014-12-20&filtercount=1&showfilters=1&field1=site/string&compare1=63&value1=n018) now. **Note: you will need to download the new NNDC data to get the test suite working.**