Particle # could not be located after crossing a boundary of lattice #

Dear Abdullah Alharbi, welcome back to the openmc community.
I checked your model and I think you forgot to declare the axial region at the top and bottom of your fuel plate universe region. it could be seen from the axial plot of your model

So I add some corrections to your regions for cladding and the coolant cell surrounding the cladding. here is the notebook to show my correction to your script
AbdullahAlharbi.ipynb (59.2 KB)

Since your model is a single fuel assembly surrounded with water, then the k-eff will be low (subcritical), so if you want to calculate the infinite multiplication factor (k-inf), then I also activate your outer region for whole fuel assembly with reflective boundary conditions (BC).
you can also notice that I removed the vacuum BC from your cladding surface since I think it would be better to use the default transmission BC as mentioned by magnoxemo. that’s because you still have surrounding coolant in contact with those surfaces.

I also noticed that you have some issues with openmc.plot feature (Plotting Command Issue), so I add the script to use that feature in the notebook as shown here

regarding the inconsistency issue based on the plot figure (Inconsistency with Lattice Components Placement), if you think that it comes from the plot resolution, then you can increase the resolution. you can use a fine resolution of up to 1 pixel per 0.1 mm or more as you want, i.e. for a plot with a width of 8 cm, you can use 800 pixels, like this one

I also show you the simple methods for declaring your xsdir instead of using os.environ['OPENMC_CROSS_SECTIONS'] = ....

materials.cross_sections = '/home/eastdusty/openmc_env/share/data/endfb80/endfb-viii.0-hdf5/cross_sections.xml' # XSDIR

I hope this could help on your problems