Using high temperature cross-sections in OpenMC

Hi all,

I am trying to use cross-sections at 800 K. I am not sure I am using the right way to set the temperature though. In my Python input file (I am using the Python API), I just set the “temperature” variable in my openmc.material to 800 K. For example, graphite = openmc.Material(name=‘Graphite’, temperature = ‘800’).

The problem is that when OpenMC runs, it does not find the corresponding cross-sections for the nuclides. This is the output on the command line:

| The OpenMC Monte Carlo Code
Copyright | 2011-2016 Massachusetts Institute of Technology
License | http://openmc.readthedocs.io/en/latest/license.html
Version | 0.8.0
Git SHA1 | 81c3bb593d30296efc531c15aba4b268cee687cf
Date/Time | 2016-11-29 15:22:36

Hi Julien,

The NNDC data unfortunately only includes cross sections at 293 K. You might want to look into using JEFF data instead which contains temperatures up to 1800 K.

Best,
Paul

Hi Paul,

Thanks for your help. I installed the JEFF data. However, I am not sure how I am supposed to use JEFF library. If I set the cross-section path to ‘/home/julien/openmc/data/jeff-3.2-hdf5/cross_sections.xml’, OpenMC can’t find high temperature cross sections. There is another folder with sub-folders of ACE library at different temperatures but I can’t find any ‘cross_sections.xml’ file to point to in this folder.
How am I suppose to point to the JEFF library path so that I can use high temperature cross sections?

Thanks a lot.

Julien

Hi Julien,

With your version of OpenMC you should be using the HDF5 libraries that were converted from ACE files (the openmc-get-jeff-data script does this for you), not the ACE files directly. What is the error message you get when you try to run using …/jeff-3.2-hdf5/cross_sections.xml?

Best,
Paul

Hi Paul,

Apologies for replying so late.

When I point my cross section path to ‘/home/julien/openmc/data/
jeff-3.2-hdf5/cross_sections.xml’ OpenMC is unable to find the cross sections of the isotopes even if the hdf5 corresponding files actually exist. For example when I start a pretty simple run case with uranium dioxyde, when OpenMC reads the cross sections it can’t find the cross section for the first nuclide (and I modified the composition to see if the first nuclides was the problem but it appears that OpenMC can’t find the cross sections of any nuclides). The error message I have is:

Reading settings XML file... Reading geometry XML file... Reading cross sections XML file... Reading materials XML file...

Reading U235 from /home/julien/openmc/data/jeff-3.2-hdf5/U235.h5
ERROR: Nuclear data library does not contain cross sections for U235 at or near
294 K.
ERROR STOP

Now, I also tried to use the MCNP cross sections (I converted them in HDF5 using the script openmc-convert-mcnp71-data that I found on the develop branch on Github) and I have the exact same error. I also changed the temperature in Material to see if that would work with other temperature but that did not fix the error.

I would be very grateful if someone could help me fix this error, preferably for the MCNP data case since I am planning on using MCNP cross sections.

Thanks a lot.

Julien

Update on the problem:

I checked the source code where the HDF5 data are read. I discovered that the temperatures read and provided by nuclide_header.F90 were in micro Kelvin for some reason. Therefore, the variable temps_available in nuclide_header.F90 is in mirco K while the temperature desired (temp_desired) is in Kelvin. Obviously, OpenMC thinks that my desired temperature does not match any available temperatures. I divided the elements of temps_available by 1e6 and OpenMC can read the cross section but I encounter segfault later in the process. Does someone has an idea about how to deal with this problem?

Thanks a lot.

Julien

Hi Julien,

We recently switched the units of energy in OpenMC from MeV to eV. You need to make sure that the HDF5 data you are using was produced by the same version of OpenMC that you are running with. It appears that your data was produced by an older version of OpenMC (and hence is in MeV) while the executable you are running expects data in eV. I would suggest regenerating your HDF5 cross sections and see if that fixes the problem.

Best regards,
Paul

The way that temperature is treated with the master branch is fundamentally different than how it is treated in the latest develop branch. With the master branch, everything was based on ACE data. To select data at a particular temperature, you would indicate a cross section “suffix”, e.g. 71c or 80c, rather than specifying a temperature directly. The error you are seeing about temperatures not matching does not exist on the master branch. The fact that the code is able to open the HDF5 nuclear data at all means that it must be a later version. So, you may want to double check that you have installed the version that you think you did.

Paul,

You were right. For some reason I mixed up the versions provoking the errors I posted. I started a new develop-version OpenMC from scratch, converted the MCNP data and I can now use hight temperature cross sections. I am really sorry for the confusion. Thanks a lot anyway.

Julien