Sensitivity and Uncertainty Analysis Capability in OpenMC

Hi all,

I am very interested in using OpenMC as a design tool for a critical benchmark in verifying neutron cross sections. For this purpose, sensitivity and uncertainty analysis capability will be immensely useful in verifying how keff will react to slight changes in cross section, dimensions and composition of the assembly, and optimize for this sensitivity. Thus far, I have built an OpenMC model of the critical assembly and verified keff numbers against MCNP, and the results agrees well, but I will not be able to move on to the optimization phase without S&U analysis.

As you may know, such a functionality already exists within MCNP and the SCALE code package. Upon doing some literature research, I came across the paper titled “Development of continuous-energy sensitivity analysis capability in OpenMC” published on the Annuals of Nuclear Energy. It outlines the implementation of the CLUTCH-IFP method in OpenMC and even provides some validation against critical benchmarks very similar to the one I am designing. In my excitement, I contacted the authors but have not been able to obtain a copy of the OpenMC code they used. To my knowledge, there has not been a published version of OpenMC with this method implemented. May I ask if this is a feature in active development? I will appreciate any advice to point me in the right direction, thanks!

  • Mason Yu

Hi Mason,

I’m glad to hear that you are interesting in the sensitivity analysis capability that was worked on by several people at MIT. As you’ve discovered, this capability only existed in a developmental branch and was never merged into the main branch of OpenMC. I took a personal interest in getting it merged in the last year or so, but never had time to fully integrate it. The issue at present is that our codebase is rapidly moving from Fortran to C++. As this capability was written in Fortran, it will need to be refactored/rewritten, and that will need to happen after our tally system has been converted (which is the last remaining large piece of Fortran code to move to C++). Unfortunately, there’s no hard timeline for when this all would happen, but I still remain committed to getting this capability in the code eventually.

If you are interested in helping out in the effort, let us know and we can discuss further.

Best regards,

Hi Paul,

I’m very happy to say that I was able to obtain a copy of OpenMC with sensitivity analysis capability last night from the team lead by Prof. Benoit Forget at MIT! I have just installed it and is currently configuring it with the ENDF/B VIII.0 library, I look forward to applying its capabilities to my project. I am more than willing to help in whatever way possible to help merging S&U analysis function into the main branch of OpenMC. Although I do have experience with C++ applied to particle-in-cell simulations, I have to admit I am just starting out with Fortran. I think I will need some time to work with the code and read through it first, as user documentation for S&U analysis is very limited at the moment.

I have also recently sent an email to your ANL email address with more information on the project. I will certainly come back with more questions once I make a bit more progress.

-Mason Yu


I came across this post from a couple of years ago. I wonder if in the develop branch nowadays it is possible to find the sensitivity capability of OpenMC, or this is still under development. Thanks.

Hi @augusto_vib. Unfortunately it never did make it to the develop branch. I’m not sure what the status of this is but perhaps some of the folks from MIT who were working on it can comment.