Difference in Fission rate Tally value from MeshFilter and CellFilter

Hello again,
relating to my latest thread here: Weird Fission Reaction Rate Calculated in Epithermal Assembly Depletion

I found that Fission Value acquire from MeshFilter (Left) and CellFilter (Right) Tally is different which lead to the difference in Axial Peaking Factor show in this figure

Result got from MeshFilter is similar to the Result from Serpent (from literature) in every time step from 0 to 90Mwd/kg. While the Result from CellFilter is the same result with results.get_reaction_rate for defined material_ids. The differences can be observed clearly in the internal blanket zone.

as I’m doing the Multiphysics calculation loop. It is much easier for me to use the results.get_reaction_rate or at least CellFilter because it gives results in the form of an array that matches my axial block numbers which means my geometry height can be parametrized later.


bounds = [-11.41225,-11.41225,0,11.41225,11.41225,102.5]
tallies_file = openmc.Tallies()

mesh_axial = openmc.RegularMesh(mesh_id=1)
mesh_axial.dimension = [1,1, 205]
mesh_axial.lower_left = bounds[:3]
mesh_axial.upper_right = bounds[3:]
mesh_f_axial = openmc.MeshFilter(mesh_axial)

tally_axial = openmc.Tally(name='axial peaking')
tally_axial.filters = [mesh_f_axial]
tally_axial.scores = ['fission']


tally_axial_2 = openmc.Tally(name='APF')
tally_axial_2.filters = [openmc.CellFilter([LFB1_cell,LFB2_cell,LFB3_cell,LFB4_cell,LFB5_cell,LFB6_cell,LFB7_cell,LFB8_cell,\
                                           IBB1_cell, IBB2_cell, IBB3_cell, IBB4_cell, IBB5_cell, IBB6_cell, IBB7_cell, IBB8_cell,\
                                           UFB1_cell, UFB2_cell, UFB3_cell, UFB4_cell, UFB5_cell, UFB6_cell, UFB7_cell, UFB8_cell,\
                                           UBB1_cell, UBB2_cell, UBB3_cell, UBB4_cell, UBB5_cell, UBB6_cell, UBB7_cell, UBB8_cell,UBB9_cell,UBB10_cell])]
tally_axial_2.scores = ['fission']

The differences appear after 0 Mwd/kg

Any reason behind this difference ?

1 Like

Thanks a lot @Sivakorn.SSW for this sharing. Very intersting and usefull.

If your mesh elements and cells cover the exact same spatial regions, they should produce equivalent tally results. For your model, are the cells all the same size (and covering the exact same regions that the mesh covers)?

Yes, It should be the same. I had covered all the same regions and was also specified using material ids instead of using cell names. The CellFilter result is different from MeshFilter after BOC , I’m quite sure that I had covered the same spatial region because the fission rate at 0Mwd/kg is exactly the same.

@paulromano I may be mistaken , I still using the same Material and Geometry from Particle had a negative distance to a lattice boundary after 0.12.1 update. Maybe you can try reproducing the issue by adding the tally.

Thank you for your prompt reply,

@Sivakorn.SSW If you have an example model that demonstrates this difference on that you’re able to share, I can look into it further.

@paulromano I Sent the IPYNB demonstrates my reactor model including Tally defining and Post-Processing in your private message. Furthermore, In the notebook files I compared result from RectilinearMesh(), RegularMesh() and cell.filters :

Thank you for your supporting,
Sivakorn Sansawas

Update : 5 Sep 2021
I notice when I use the same height for each mesh, The APF in the middle is going to be below 0.5 using the rectilinear and mesh filters., When I tally the blocks by their height, the APF will be. > 0.5 .

The thing that makes differences isn’t a tally type, but a height.

This makes Rectilinear (with unequal mesh height), cell filter, material filter results different from using Rectilinear (with equal mesh height) and mesh filter.

I am not sure why, The result of the tally using the same mesh height matched the results of SERPENT2.

hello, @sivakorn.SSW, could you tell me how to get axial height or radial diameter over flux rate or others variable?