Hi all
Just posting a tiny idea in case anyone else has a similar need or a nice solution already.
I keep making RegularMesh tallies and am looking for a more convenient method of setting the number of voxels.
In this case I’m making voxels that are cubes with the same length width and height
Currently I calculate the height width and depth of the geometry and then I set a length for the voxel edge and calculate the number of voxels that fit in each axis of the geometry.
It is a bit messy (especially at the edges of the geometry where I round down) but it basically allows me to set a single “resolution” number for the mesh voxels which automatically finds the dimensions in x,y,z to set for the regular mesh.
Currently openmc allows
reg_mesh = openmc.RegularMesh().from_domain(
my_geometry, # the corners of the mesh are being set automatically to surround the geometry
dimension=[200, 100, 25], # needs a calculation to find number in each dimension for cubes
)
With a bit of tinkering we could make the code accept a single “resolution” / voxel_edge_length
reg_mesh = openmc.RegularMesh().from_domain(
my_geometry, # the corners of the mesh are being set automatically to surround the geometry
voxel_edge_length=5, # sets the voxels to 5cm length, width, height and calculates dimension from this
)
Interested on getting peoples feeback on this idea, also wondering if I am I the only one who spends time trying to set the regular mesh dimensions so that I end up with voxels that are cubes?
Cheers
Jon