Sodium Fast Reactor Benchmarks

We computed by OpenMC two 1000 MWt Sodium Fast Reactor Benchmarks (MET-1000 and MOX-1000) with metallic and oxide fuel from NEA/NSC/R(2015)9. For a comparison we use the average value of the benchmark participants and standard deviations of the average value. We have reasonably well agreement for reactor multiplication factor, Doppler effect and control rod worth. The difference is below the standard deviation of the average value.

However for the sodium void effect we have considerable difference from the average benchmark results, the deviation is about 60 % for the metallic fuel MET-1000 and 35 % for the oxide fuel MOX-1000. This benchmark is well know and I think may be someone already computed these reactors and can say anything about the difference. If someone is interested about these problems and want to check it I am ready to share my OpenMC input files for the both problems.

@Denis_Solovyev Thanks for sharing these results. I’d be interested in taking a look at the inputs to see if I can reproduce the differences in sodium void effect you’re seeing. If you have equivalent Serpent/MCNP inputs, that would be helpful as well.

Hello, Paul Romano.

We send you our codes for MET-1000 calculation.
met_1000_core_up.py — Here is the code, where the core is with sodium.
met_1000_core_up_void.py — Here is the code, where the core is without sodium

We use standard OpenMC library ENDF/B-VII.1 for our calculation ( Official Data Libraries | OpenMC ) with linear interpolation of the cross section.

We do not have equivalent Serpent/MCNP results.
If you have any questions, please, let me know.

Denis Solovyev.
chanel_3d.py (10.5 KB)
control_rods.py (6.4 KB)
control_rods_up_calculation.py (9.2 KB)
coolant.py (4.0 KB)
coolant_cell_construction.py (910 Bytes)
empty_duct.py (3.2 KB)
fa_calculation.py (12.9 KB)
fuel_assembly.py (4.9 KB)
materials_met_1000.py (25.6 KB)
met_1000_core_up.py (7.0 KB)
met_1000_core_up_void.py (6.9 KB)
radial_reflector.py (4.8 KB)
radial_reflector_calculation.py (7.8 KB)
radial_shield.py (4.8 KB)
radial_shield_calculation.py (7.8 KB)

Hello, Paul Romano.
We found the reason of the differences in the sodium void effect between our calculation and the average benchmark results.
The problem was that for voided states we did not correctly removed sodium from the reactor core.
When we changed it we get the result close to benchmark report.
We add the revised version of our input:
control_rods_up_calculation.py (9.2 KB)
fa_calculation.py (12.8 KB)

met_1000_core_up.py file is used for calculation reactor core with sodium.
met_1000_core_up_void.py file is used for calculation reactor core without sodium.

1 Like

Glad you were able to figure it out!

hello,Denis_Solovyev.
Recently I have also been calculating the MOX-1000 benchmark question, congratulations on your correct calculation of them, I have a few questions can you help me to answer? First of all, what is the keff of the benchmark problem MOX-1000? Can you give me a reference? Secondly, there are only 48 shield assemblies in the outermost circle of the benchmark question MOX-1000. If openmc.HexLattice is used, the outermost circle has to be arranged with 66 assemblies. How do you deal with this problem? Did you use 18 air-filled components? I really hope you can pay attention to my questions. If anyone else is also aware of these problems, I hope you can help me. Thank you!

Hello.
I can’t say anything about our keff, as we made the calculation a long time ago.

Here is the benchmark data. As I remember - we have average test results in keff.
nsc-r2015-9.pdf (4.0 MB)

We use this rings in our model:
ring_1 = [control_rods_univ]*1
ring_2 = [fa_inner_univ]*6
ring_3 = [fa_inner_univ]*12
ring_4 = ( [control_rods_univ] + [fa_inner_univ]*2 ) *6
ring_5 = [fa_middle_univ]*24
ring_6 = [fa_middle_univ]*30
ring_7 = ([control_rods_univ ] + [fa_middle_univ]*2)*12
ring_8 = ([fa_outer_univ]*3 + [fa_middle_univ]*2 + [fa_outer_univ]*2) * 6
ring_9 = ([radial_reflector_univ]*2 + [fa_outer_univ]*5 + [radial_reflector_univ]*1) * 6
ring_10 = [radial_reflector_univ]*54
ring_11 = ([radial_shield_univ]*2 + [radial_reflector_univ]*7 + [radial_shield_univ]*1)*6
ring_12 = ([coolant_univ]*2 + [radial_shield_univ]*8 + [coolant_univ])*6

As you can see there are coolant elements in the last ring, not air.

Thank you very much for your information, which is of great help to me!