Different Burnup Results

Hi, I’ve been working on a 330 MWth PWR SMART reactor using OpenMC. While doing the depletion calculation, I had some problems that cause the differences between OpenMC and MCNP results.

What I’ve done: reviewing the fuel and other materials (composition, temperature, volume all the same), checking geometry overlaps (no overlaps), raising the particle number (10k-30k), defining each fuel based on assembly type (similar to the MCNP references code), using different nuclear data and chain data, using different normalization mode, creating 10-20 radius concentric pin geometry for the UO2+Gd2O3 fuel pin.

What I haven’t done: using diff_burnable_mats=True, when I used this on ENDFB VII.1 chain file it crashed immediately after first calculation (kernel crashed on .ipynb jupyter and killed on manual .py execution), but it worked when I use CASL PWR chain, while the results still different.

The first one is the MCNP result, the last one is the OpenMC result.

Hi daffwz Calcium, welcome back to the openmc community
At first, I thought your k-eff plot was a proper depletion result compared to the first plot, because the equilibrium xenon was kick-in in time. The first plot didn’t show a similar trend of lower keff caused by the Xe and I. Additionally, from what I remember, SMART with UO2 fuel has a 3-year cycle length; however, the first plot shows a keff of 1.16 after the core has been operated for 1000 days, which is high for a core that has a cycle length of 3 years. The first plot might not taking account the Xe-135 and I-135 which is possible with a tier 1 fission product in mcnp.
Also, have you checked the coolant temperature being used for your core model? I think the coolant density should be low for depletion calculation under HFP condition compare to CZP.

Also, you can compare your result to the plot figure from Figures 9 and 10 of this study by Jeyhouni (2018): The utilization of thorium in Small Modular Reactors – Part I: Neutronic assessment

Hi, thank you for the answer!

It was confirmed that the reference I took has slightly different configuration for the material and burnup calculation so instead I use the one you gave earlier.

I also have some questions regarding the OpenMC burnup calculation:

  1. Does diff_burnable_mats=False will affect much to the burnup results? I can’t utilize the feature since it always results in kernel crashed (i don’t know if my model definition was not optimize enough or the computer can’t handle the process)
  2. Is there any feature that I might’ve missed that should give more accurate burnup results from OpenMC? I’ve applied the subdivision in the burnable absorber fuel, I have also read that the normalization of reaction rates may over-deplete the materials so it’s better to use energy-deposition mode, but I don’t know if defining the settings.source uniformly throughout may increase the accuracy results so I haven’t done that.

Hai hai,
I haven’t tried the diff_burnable_mats feature of the openmc, but I have tried to manually create a specific material for each fuel assembly position, and it can change the trend of calculated keff under depletion calculation. You can try that on your SMART core model, either by using different material axially or radial for differentiating the same fuel assembly that is positioned at a non-symmetric position. Also, memory usage might be higher with more materials to deplete, so you can do some sensitivity analysis to get the proper number of different materials.

Openmc also has various integrators that might interest you. I have tried some of it on a simple fuel assembly model, and the calculated nuclide density can be varied to some degree.

Regarding the normalization of openmc depletion calculation, this topic have been summarized the effects of slightly lower thermal power for each fission in openmc compared to other codes. It can be modified by changing the fission Q value at the chain file.

I hope it could help you