Issues with GVR

Hi everyone,

I am using OpenMC and trying to benchmark some variance reduction methods against TRIPOLI4® and compute some FOMs :slight_smile:

With OpenMC, I’m testing Global Variance Reduction (GVR) method on a test case geometry (labyrinth with 1.5m thick concrete walls).
I perfomed slight modifications to the code available here GVR script in order to obtain the weight windows on a user defined energy grid.

The photon source is equal to 1Bq of 60Co, positioned in the exact center of the room (= red point as shown below (0,0,110) ).
I have created a so called GVR_Mesh of 10x10x10 cm3 to tally the photon fluxes :
GVR_Mesh .lower_left = [-800, -400, 0]
GVR_Mesh .lower_left = [400, 400, 220]
(it’s a little wider than the building itself in order to get the flux outside of it)

I use a cell (20x20x20 cm3) to score the total photon flux right in front of the source, but just after the concrete wall outside.

I perform 4 iterations on 2 energy groups [0.01E+06, 0.1E+06, 1.0E+06] and 3000 batches of 3000 particles (= 3.10^6 histories). Sadly, i have a lot of variance discrepencies and cannot have a reliable value of the photon fluxes in my cell. It does not change when I increase the number of histories, neither when I allow a lot of spliting (1000000 vs 10 by default) or when I do more iterations…

I’m looking for clues because I’m a bit lost here… according to some papers I’ve read, it should work :slight_smile:

Thanks a lot for the help.

Good detective work finding those examples on the develop branch of the neutronics-workshop. I just wanted to mention the WeightWindow class was updated last week with this PR, it might be worth checking you have the latest openmc develop branch installed with that PR included.

Would it be possible to include your script, perhaps with a few comments to show where you changed the particles and the splitting.

Many thanks

Thanks for the answer. I’m actually using the official release of OpenMC, not the dev one.
Btw, I miscopied the script: https://github.com/fusion-energy/openmc_weight_window_generator
It’s the weight window generator, but I think it should work as well as the one embedded in the recent development, no ?

The WeightWidows part of openmc have been significantly improved in the current develop branch compared to the latest stable release.

The GVR script that you mentioned at the start of the post located in the develop branch of the neutronics-workshop needs the develop branch of openmc to run properly, so I assumed you were using the develop branch of openmc.

I agree, the very first script I posted needs the development branch to work. But I’m actually using the second one « openmc_weight_window_generator » modified to take into account an energy grid. I integrate the function directly in my openmc python file (that contains geometry, materials, settings,…)
That one works with the stable release.

Trying to use the Global Weight Window Generation via CAPI, but this line :
wws = openmc.lib.WeightWindows.from_tally(tally)
gives me the error :
AttributeError : module ‘openmc.lib’ has no attribute ‘WeightWindows’
Any idea why ?

@Max The openmc.lib.WeightWindows class was introduced after the most recent release (0.13.3), so you will need the development branch of the code in order to use that functionality.

2 Likes

@Paul. Yes, I figured out that my path was wrong… So now, everyhing is working fine :slight_smile: .
I still have a lot of difficulties to get a proper photon flux map without variance discrepancies. Need to check how many iterations / particles histories have to be simulated for my specific case.