Using high temperature cross-sections in OpenMC

330 views
Skip to first unread message

Julien de Lanversin

unread,
Nov 29, 2016, 3:43:00 PM11/29/16
to OpenMC Users Group
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

 ===========================================================================
 ========================>     INITIALIZATION     <=========================
 ===========================================================================

 Reading settings XML file...
 Reading geometry XML file...
 Reading cross sections XML file...
 Reading materials XML file...
 Reading Li7 from /home/julien/openmc/data/nndc_hdf5/Li7.h5
 ERROR: Nuclear data library does not contain cross sections for Li7 at or near
        800 K.
ERROR STOP
Traceback (most recent call last):
  File "msr3", line 405, in <module>
    sp = StatePoint('statepoint.80.h5')
  File "/usr/local/lib/python2.7/dist-packages/openmc-0.8.0-py2.7.egg/openmc/statepoint.py", line 116, in __init__
    self._f = h5py.File(filename, 'r')
  File "/usr/local/lib/python2.7/dist-packages/h5py-2.5.0-py2.7-linux-x86_64.egg/h5py/_hl/files.py", line 260, in __init__
    fid = make_fid(name, mode, userblock_size, fapl, swmr=swmr)
  File "/usr/local/lib/python2.7/dist-packages/h5py-2.5.0-py2.7-linux-x86_64.egg/h5py/_hl/files.py", line 89, in make_fid
    fid = h5f.open(name, flags, fapl=fapl)
  File "h5py/_objects.pyx", line 54, in h5py._objects.with_phil.wrapper (/home/julien/h5py-2.5.0/h5py/_objects.c:2579)
  File "h5py/_objects.pyx", line 55, in h5py._objects.with_phil.wrapper (/home/julien/h5py-2.5.0/h5py/_objects.c:2538)
  File "h5py/h5f.pyx", line 76, in h5py.h5f.open (/home/julien/h5py-2.5.0/h5py/h5f.c:1816)
IOError: Unable to open file (Unable to open file: name = 'statepoint.80.h5', errno = 2, error message = 'no such file or directory', flags = 0, o_flags = 0)


I tried to set temp to 900 or 873 and it does not work.

I downloaded my cross section from NNDC using the script in OpenMC. Does this error mean that I actually don't have high temperature cross-sections in my NNDC library?

Thanks for your help.


Julien

Paul Romano

unread,
Nov 29, 2016, 4:04:21 PM11/29/16
to Julien de Lanversin, OpenMC Users Group
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

--
You received this message because you are subscribed to the Google Groups "OpenMC Users Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openmc-users+unsubscribe@googlegroups.com.
To post to this group, send email to openmc...@googlegroups.com.
Visit this group at https://groups.google.com/group/openmc-users.
For more options, visit https://groups.google.com/d/optout.

Julien de Lanversin

unread,
Nov 29, 2016, 11:29:31 PM11/29/16
to OpenMC Users Group, j.detro...@gmail.com
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
To unsubscribe from this group and stop receiving emails from it, send an email to openmc-users...@googlegroups.com.

Paul Romano

unread,
Dec 5, 2016, 8:55:11 AM12/5/16
to Julien de Lanversin, OpenMC Users Group
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

To unsubscribe from this group and stop receiving emails from it, send an email to openmc-users+unsubscribe@googlegroups.com.
Message has been deleted

Julien de Lanversin

unread,
Jan 5, 2017, 3:27:22 PM1/5/17
to OpenMC Users Group, j.detro...@gmail.com
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
Message has been deleted

Julien de Lanversin

unread,
Jan 6, 2017, 11:53:10 AM1/6/17
to OpenMC Users Group, j.detro...@gmail.com
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

Paul Romano

unread,
Jan 6, 2017, 2:51:23 PM1/6/17
to Julien de Lanversin, OpenMC Users Group
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

To unsubscribe from this group and stop receiving emails from it, send an email to openmc-users+unsubscribe@googlegroups.com.
Message has been deleted

Paul Romano

unread,
Jan 6, 2017, 3:06:57 PM1/6/17
to Julien de Lanversin, OpenMC Users Group
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.

On Fri, Jan 6, 2017 at 1:59 PM, Julien de Lanversin <j.detro...@gmail.com> wrote:
Hi Paul,


Thanks for your reply. Just a quick thought: I am using the master branch version of OpenMC but the script to convert the MCNP data I used is a copy paste from the develop branch (the master branch does not seem to have a script to convert MCNP data). Could that be the reason why the temp/energy units does not match?

Thanks


Julien

Julien de Lanversin

unread,
Jan 7, 2017, 3:44:55 PM1/7/17
to OpenMC Users Group, j.detro...@gmail.com
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
Reply all
Reply to author
Forward
0 new messages