It seems like I have particles being lost in well defined geometry regions.
I am making a PWR light water model and seem to be losing particles in well defined but complicated fuel pins. I´ve attached the plotted xyz coordinate of the lost particle_x_xxxx.h5 file and a fuel assembly in the core. Has anyone else found anything similar?
I have checked the xyz coordinates of the lost particles. They are all in bounds for the reactor core. The interesting bit about this is I can take an assembly and the pincell found in one of the screengrabs and make that run on its own with no lost particles.
I can bypass this issue by setting lost particles to some arbitrary limit and in a 100 batch 10k particle run I only lose some 20 particles, 7 for 20 batches. But I would like to get this fixed. Geometry file may be supplied on request.
so are they lost in the sharp edges of the black crosses? try without those fancy holes? I can imagine that the green walls actually only touch at the very end, so that would be difficult for tracking
That thought did strike me, and I have tried that. That made a slight difference but I still lose particles in the same areas of the pin.
Also worth mentioning that green represents uranium fuel, grey stainless steel cladding and the black is a zirconium displacer. circular pins are a gadolinium burnable poison.
Probably not the issue in this case, but are you removing redundant surfaces with the merge_surfaces attribute of the Geometry class? If that is indeed not the issue I’d recommend including a square (or rectangle) in the definition of the black zirconium displacer region whose diagonal is a tiny bit smaller than the distance between the tangent points as it currently stands. This should absolve any numerical issues that are arising at that tangent point.
I Am not using the merge_surfaces attribute, have now tried a run with merge_surfaces active and the problem persists. Have also done a run entirely without the displacer geometry and that did not really fix the problem as some the particles seem to be lost in the meat of the fuel pin. Though it reduced the number of lost particles some but not entirely.
At this point my main suspect is numerical issues with the tracking, appending the geometry file if someone finds anything exciting. geometry.xml (13.6 KB)
Thanks for the reply and input @awHOR and @eepeterson , I really do appreciate it
Hey folks, I just want to say I have encountered a weird particle leak as well recently. My input was ill-defined, and I eventually found my error. However, the failure was silent and resulted in un physically tilted fluxes. It could be related, so I’ll try to pin it down and get the code to detect the error some time soon!
Hmm, sounds like you might have some surfaces defined as vacuum? I had the same issues, but turns out there were some vacuums where there should have been a transmission, before these issues mentioned above appeared.
Interesting! If you run into any issues like this in the future, another good strategy is to try running in geometry debug mode. This is done by passing -g on the command line or putting geometry_debug=True as a kwarg if initiating the run from python.
I revisited the problem I’d encountered, and it turned out to be a simple overlap that was immediately caught by running in debug mode.
I was used to Serpent that catches these automatically when plotting, but OpenMC does NOT do that!
Yeah, tried doing that as well, no overlaps that I or OpenMC could find. Which is interesting, I am thoroughly inclined to believe this to be numerical precision issues at this point.
Strange! Alright well some code could potentially be improved to make it less sensitive to roundoff. Are you defining this purely with CSG?
It’s a known issue that corner crossings of lattices tend to leak particles right now, although it’s a vanishingly small probability of hitting the corner in double precision.
Yes, its purely CSG, might be due to the nested nature of the lattices in the geometry in that case. As I use the hexlattice for the fuel assemblies and the assembly of the core.
Yeah, still slightly concerned that these disappearences happen in the fuel meat itself, but it might be a compunding effect of complicated geometry and hexlattice not being all that well behaved then.