Hi all,
I’ve recently completed a dive into comparing two similar simulations of one pincell configuration, I was going through the two simulations with noting all details which would cause a change in k_eff whether expected or not. The final detail that surprised me is that the ordering of materials within the material.xml file has an impact on the resultant k_eff value and I cant seem to understand why this is. Apologies in advance if I miss introducing any acronyms in the body of the text, I’ve included a short list of them all at the end of the post.
It’s a very simple simulation so I was able to run every configuration with very few neutron histories (20 k), and I found that for simulations with 4 materials, I got 24 (4!) unique k-eff values , and for the two simulations with 5 materials I got 120 (5!) unique k-eff values. Now when I run 20 million neutron histories, this variation does get lessened, and a few cases converge, but I’m still wondering what the source of this variation is. I will do my best to explain what I’m working with. I was able to do this by using the papermill package to run the same notebook with one input parameter being filename which was used to get the material ids.
Simulation configurations: Fuel rod, surrounded by Helium ring, surrounded by Zirconium (Alloy) cladding ring, and moderator square box, as in Figure 1 below. Everything is centred on the origin.
The boundary conditions are reflective along the x-, y-, and z-directions. The source is defined as a point source at the origin, at the centre of the fuel rod material. Of course I’m happy to provide any details that I’ve left out when requested.
Now my understanding is that neutrons get emitted from the source, and their interactions get calculated along with the movement of the particle, and the generated random numbers get used by the particle going through various calculations on each particles side of things, so I’m not sure what this variation could be caused by. I had two colleagues independently suggest that the material_id dependence is caused by sets of random numbers being assigned to various materials, so when the particle interacts with those particles, then it takes from the set of those random numbers associated with that material. I’m pretty sure that’s not the case, because from what I’ve seen, the random numbers get input to the “particle’s side” of the interactions for lack of a better phrase.
I’ve included a few figures at the end of this post that shows for 6 different simulations the variation in k_eff results with a small 20k neutron histories, (the purpose of the low neutron histories was to be able to highlight the variations caused by these differences, I understand that these are not quality simulations to take meaningful results from).
I appreciate all inputs and possible suggestions on where I might find an answer, thank you. Additionally, if anyone would like to try to recreate my results I would be more than happy to send a brief report on what steps I took to run all these simulations.
Figure 2The above figure shows the range in Relative Standard Deviation (RSD) values, (relative to an average value of all calculated k_eff values per run, i.e. average of all PB2 HZP, TMI HFP, etc) presented by just changing the order of material_ids for the simulations, no other changes at all were made. The PB2 and TMI simulations had only 24 different runs due to only having 4 materials for the simulation, and the VVER simulations had 120 as there were 5 materials that needed to be specified.
The grid above shows a more quantitative look at the spread in keff values calculated with unfortunately only 2 or 3 (VVER HFP, TMI HZP, PB2 HZP) showing an roughly normal distribution for the RSD values per configuration.
Acronyms
PB-2: Peach Bottom-2
TMI: Three Mile Island[-1]
VVER: Water-Water Energetic Reactor [1000] (WWER)
HFP: Hot Full Power
HZP: Hot Zero Power







