" ERROR: More than 95% of sampled external source sites were rejected. Please check your external source spatial definitions. " when designing a pebble-bed

I tried to do a k-eigenvalue calculation to check whether my pebble design was successful, but when I tried to start the calculation an error appeared stating that " ERROR: More than 95% of sampled external source sites were rejected. Please check your external source spatial definition. " , what should I do to solve this problem?

#####################################################	GEOMETRI	#####################################################

##  ********** (FUEL 1) **********
kernelsph 	= openmc.Sphere(r=0.025, boundary_type='reflective')	#KERNEL
buffsph 	= openmc.Sphere(r=0.034, boundary_type='reflective')	#BUFFER
IPyCsph 	= openmc.Sphere(r=0.038, boundary_type='reflective')	#In PyC
SiCsph 	    = openmc.Sphere(r=0.0423, boundary_type='reflective')	#SiC
OPyCsph 	= openmc.Sphere(r=0.0463, boundary_type='reflective')	#Out Pyc


kernel_cell = openmc.Cell(fill= fuel    , region    = -kernelsph            )       #kernel
buffer_cell = openmc.Cell(fill= buffer  , region    = +kernelsph & -buffsph )	    #buffer
IPyC_cell   = openmc.Cell(fill= IPyC    , region    = +buffsph & - IPyCsph  )		#Ipyc
SiC_cell    = openmc.Cell(fill= SiC     , region    = + IPyCsph & -SiCsph   )		#SiC
OPyC_cell   = openmc.Cell(fill= OPyC    , region    = +SiCsph & -OPyCsph    )		#OPyC

Triso_unv   = openmc.Universe(cells=(kernel_cell,buffer_cell,IPyC_cell,SiC_cell,OPyC_cell))	#TRISO UNIVERSE
Triso_part = openmc.Cell(fill=Triso_unv, region=-OPyCsph)					                #TRISO CELL

# Pebble-bed Fuel 1

fuel_zone           = openmc.Sphere(r=2.5, boundary_type='vacuum')	#r_fuel zone
r_fuel_pebble       = openmc.Sphere(r=3.0, boundary_type='vacuum')	#r_fuel_pebble
triso_outer_radius  =  0.0463 		#outer_r_of triso particle 


spheres = openmc.model.pack_spheres(radius=triso_outer_radius,num_spheres=8335,  region=-fuel_zone, pf=0.5)
triso_particles = [openmc.model.TRISO(triso_outer_radius, fill=Triso_unv, center=c) for c in spheres]


lattice_fuel_zone_cell = openmc.Cell(region=-fuel_zone)
lower_left, upp_right = lattice_fuel_zone_cell.region.bounding_box
shape = (4, 4, 4)
pitch = (upp_right - lower_left)/shape
triso_latt = openmc.model.create_triso_lattice(triso_particles, lower_left, pitch, shape, in_graphite)
lattice_fuel_zone_cell.fill = triso_latt

lattice_universe = openmc.Universe(cells=[lattice_fuel_zone_cell])

##  pebble fuel 1
fuel_pebble         = openmc.Cell       (fill   = out_graphite   , region = +fuel_zone & -r_fuel_pebble)
fuel_outer          = openmc.Cell       (fill   = Coolant_He  , region = +r_fuel_pebble)
fuel_pebble_unv     = openmc.Universe   (cells  = [lattice_fuel_zone_cell,fuel_pebble,fuel_outer, ])
fuel_1              = openmc.Cell       (fill= fuel_pebble_unv)

geometry =openmc.Geometry([fuel_pebble,  ])
geometry.export_to_xml()

##  settings 
settings = openmc.Settings()
settings.batches = 300
settings.inactive = 50
settings.particles = 100000
bounds = [-3, -3, -3, 3, 3, 3]
uniform_dist = openmc.stats.Box(bounds[:3], bounds[3:], only_fissionable=True)
settings.source = openmc.source.Source(space=uniform_dist)
settings.export_to_xml()

I may be reading the code wrong, but it looks like the region of lattice_fuel_zone_cell is smaller than the bounds of the initial source distribution, so there may be particles spawning outside of your geometry. Making the initial distribution smaller should work.