openmc.Sphere doesnt loads the desired fill component, leaving a hole in geometry

Hi, i’m trying to model a cylindrical shell TRISO fuel compact manually. The TRISO packed radially inside cylinder, with the center of cylinder filled with coolant. I think i build the geometry quite successfully, but when i’m about to load TRISO particle into openmc.Sphere, its looks like my TRISO doesnt fit into the sphere, although the radius of TRISO and radius of the sphere is already matched. But when i print the universe, its already filled with my TRISO. I dont know what is wrong with my code, why the model doesnt displays the TRISO. Here the plot of the fuel compact
full-inner-fc
hollow-geom
and here my full code
TRIZO.ipynb (138.9 KB)
Can you help me with this problem? Thank you, and sorry for my bad english

Hi Rahmadani, welcome back to the community.
I think the problem came from the reality that your triso universe was placed at the origin (0,0,0) while you create a new surface at a new coordinate and fill the region with triso universe with the hope that the triso will follow your new position (coordinate), that is not how it works if you didnt translate (move) the triso cell to its corresponding position.

Since you declare each position of your triso, the triso notebook can help you with this part. openmc-notebooks/triso.ipynb at develop · openmc-dev/openmc-notebooks · GitHub
basically centers = openmc.model.pack_spheres(...) is generating a list of all center coordinates of your triso, so you can change this with your for loop that you already use to create the all coordinates of your triso centers. You can see that the centers in that example are just a list of coordinates, which you can create it. Then use the openmc.model.TRISO to create the cell for each triso
trisos = [openmc.model.TRISO(OPyCsph, trizo_fissile_universe, center) for center in centers]
Then you can use openmc.model.create_triso_lattice(...) to create the whole universe of this triso and its surrounding graphite matrix.

I noticed that you are creating the graphite matrix cell (fc_cells) without considering the sphere region that will be filled with the triso. Actually, this will create the cell overlapping.
That’s why I recommend you to try the triso feature of openmc by changing the center position of your triso, since you don’t want it to be random as the notebook example did. It will make your modeling experience a lot easier.

1 Like

Hi Wahid, thank you for the solution! The code worked perfectly after using openmc.model.TRISO. May God bless you with all good things.

Okay Rahma,
Don’t forget to do the geometry overlapping check with geometry debug at least one time after your model being generated. may god bless you too.