Pin-wise flux tally in SFR hexagonal assembly (one hex duct cell per fuel pin)

Hi all,

I’m modeling a single SFR fuel assembly with a hexagonal lattice in OpenMC and would like to obtain a pin-wise flux distribution where each fuel pin corresponds to one hexagonal duct cell in the tally.

Is using a DistribcellFilter on the fuel cell inside the pin universe the correct way to achieve this, and how can I map each distribcell (or cell instance) index back to the corresponding physical pin position in the lattice?

1 Like

@tpdus

Hi,

I don’t know if you succeeded to find out how to map the obtained pin-wise flux distribution for the simulated fuel assembly, but I did something similar for Power Peak Factors (for a whole hexagonal SMR) by mapping obtained Distribcell results (according to what you want to score: flux, fission, …)

you need to use RegularPolygon function from matplotlib.patches :

from matplotlib.patches import RegularPolygon

and put it in a “for” loop

hexagon = RegularPolygon((x, y), orientation=np.pi/2, numVertices=6, radius=r, facecolor=coloring[fa], edgecolor=‘midnightblue’, lw=1.25, ) #

(facecolor and edgecolor are optional to choose by the user):

x and y are the coordinates of each hexagonal form (in this case hexagonal cell) related to radius r, and hexagonal coordinates X and Y (according to the sense of counting):

x = X[n]*(3/2)*r

y = ((np.sqrt(3)/2)*X[n]+Y[n]*np.sqrt(3))*r

the radius r is related to the hexagon edge:

r = edge*np.sqrt(1/3)

I hope that could help.