Modeling TRISO cylindrical fuel rod taking too much time

Greetings, Fellow OpenMC user and developers.

I have a fuel assembly with 17*17 rods. Each assembly has 5-6 type of rods and Each type of rods is cylindrical, So in design, I am assigning the different rods cells to a universe and later I am calling the universes when designing in the assembly lattice.

Now, I am trying to put 1 type of rods fuel as TRISO fuel and I am trying to use the below code

fuel_A_gap = openmc.ZCylinder(surface_id=101, x0=0, y0=0, r=0.411)

fuel_top= openmc.ZPlane(surface_id=105, z0= +91.7)
bottom_cap_in= openmc.ZPlane(surface_id=106, z0= -108.3)

spheres = [openmc.Sphere(r=1e-3*r)
for r in [20., 30., 35., 36.]]
cells = [openmc.Cell(cell_id=70,fill=fuel, region=-spheres[0]),
openmc.Cell(cell_id=71,fill=buff, region=+spheres[0] & -spheres[1]),
openmc.Cell(cell_id=72,fill=PyC1, region=+spheres[1] & -spheres[2]),
openmc.Cell(cell_id=73,fill=SiC, region=+spheres[2] & -spheres[3]),
openmc.Cell(cell_id=74,fill=PyC2, region=+spheres[3])]
triso_univ = openmc.Universe(universe_id=100,cells=cells)

region= -fuel_A_gap & +bottom_cap_in & -fuel_top

outer_radius = 40.*1e-3
centers = openmc.model.pack_spheres(radius=outer_radius, region=region, pf=0.3)

trisos = [openmc.model.TRISO(outer_radius, triso_univ, c) for c in centers]

centers = np.vstack([t.center for t in trisos])
len(trisos)4/3pi*outer_radius**3

#My fuel rod cell
Bundle_A_gap = openmc.Cell(cell_id=100,region=region)
lower_left, upper_right = Bundle_A_gap.region.bounding_box
shape = (1, 1, 1)
pitch = (upper_right - lower_left)/shape
lattice = openmc.model.create_triso_lattice(
trisos, lower_left, pitch, shape, He)

#Filling my fuel cell with lattice
Bundle_A_gap.fill = lattice

#defining a universe for the fuel cell to assign

univ1A = openmc.Universe(universe_id=1)

#adding that cell with other cells to the universe

univ1A.add_cells([Bundle_A_gap, Bundle_A_clad, Bundle_A_topcap, Bundle_A_spring, Bundle_A_bottomcap, Bundle_A_water])

Now, with this it’s taking too much time and the script never finishes running after 3 hours. Is there something happening in the background?
Is there a way to design a TRISO Cylinder fuel? any example? Any help is really appreciated.

Thanks.

Hi Sharif,

It will take time. Try to reduce pf<0.1 for faster running. If you want to keep the value >0.3, I will recommend you to use MPI and hyper-threading CPU.

Last year I designed a cylindrical fuel rod replacing pellet with Triso particle where pf = 0.4 which takes 2 days to create geometry file (:

-Pranto

Hi all,

I just ran this snippet locally and it took ~3-4 min to run. I’m curious as to what version you’re using, Sharif. The latest release of OpenMC (v0.11.0) has a few updates to the triso functions that improve performance. Perhaps a version update would help with this issue.

Cheers,