mit-crpg / opendeplete

A depletion framework for OpenMC
MIT License
15 stars 5 forks source link

Use GND nuclide convention to match OpenMC library format #3

Closed paulromano closed 7 years ago

paulromano commented 8 years ago

The new HDF5 data format in OpenMC has a new nuclide naming convention (based on proposed GND format). This pull request updates OpenDeplete to be able to use new OpenMC HDF5 libraries.

cjosey commented 8 years ago

So, after much gnashing of teeth, I finally have read access to the forks of this repository and the time to run your modifications.

This PR generates identical output when seed is fixed to 1, which is perfect. The only thing missing is that example_plot.py was not updated. Once that's fixed, it'll be merged.

Also, of slight concern, the hdf5 libraries read a lot slower than the ACE equivalents. I imagine this is only a short- to medium-term problem, as hopefully we can set up OpenMC to never unload during depletion, but I thought I'd mention it.

paulromano commented 7 years ago

@cjosey I just made another update. This fixes the nuclide names in example.plot.py as requested. It also updates how temperature is handled to reflect recent changes in OpenMC. Cross section suffixes (71c, 712nc, etc.) no longer exist in our HDF5 data and instead temperature is specified directly, so I made some changes so that the Materials class stores a dictionary of temperatures rather than a dictionary of suffixes.

paulromano commented 7 years ago

Also, regarding HDF5 reading time- what are the specs on the system you're running on? The read performance I've seen so far seems to be pretty good, but if you're seeing otherwise I'm curious to know more.

cjosey commented 7 years ago

I finally found out why this branch is giving me a different answer than it used to.

For some reason, density units="sum" gives a different answer than density units="atom/cm3" value="<sum>".

I'll check to see if the values for sums I'm using are actually right (I copy-pasted from old input files), and let you know.

paulromano commented 7 years ago

Two more updates I just made:

cjosey commented 7 years ago

I just tested it and was able to precisely match old values, with one change. density="sum" assumes atoms/barn-cm, and my code assumes atoms/cc. Putting in a / 1.0e24 in openmc_wrapper.py:294 and 433 fixes it. Alternatively, we can go back to specifying units.

paulromano commented 7 years ago

Ah-ha, that makes sense. I've added the conversion factor in so that the numbers passed to OpenMC are atom/b-cm.

cjosey commented 7 years ago

All looks good. Thanks for the fixes!