Runtime MPI Error

Hi, I’m a new openmc user and currently working on my undergraduate studies. I’ve asked for help from the few graduate students that know openmc and I’ve scoured the internet for help. I keep getting an error “No fission sites banked on MPI rank 0”. I fear my problem is my lack of knowledge so anything helps. Here’s what I’m working with currently (the cross sections path redacted).

import openmc

openmc.Materials.cross_sections = ‘path to/cross_sections.xml’

# Mats ----

# Concrete

concrete = openmc.Material()

concrete.add_element(‘H’, 0.01)

concrete.add_element(‘Al’, 0.50)

concrete.add_element(‘Si’, 0.25)

concrete.add_element(‘Ca’, 0.24)

concrete.set_density(‘g/cm3’, 2.4)

# Air

air = openmc.Material(name=“Air”)

air.add_nuclide(‘N14’, 0.78)

air.add_nuclide(‘O16’, 0.22)

air.set_density(‘g/cm3’, 0.001225)

# Uranium

fuel = openmc.Material(name=‘Uranium’)

fuel.add_nuclide(‘Pu239’, 1.0)

# Bundle

materials = openmc.Materials([concrete, air, fuel])

# Geo

# Y

outsideTop = openmc.YPlane(10)

insideTop = openmc.YPlane(9)

insideBottom = openmc.YPlane(1)

outsideBottom = openmc.YPlane(0)

# X

outsideRight = openmc.XPlane(10)

insideRight = openmc.XPlane(9)

insideLeft = openmc.XPlane(1)

outsideLeft = openmc.XPlane(0)

# Z

topTopZ = openmc.ZPlane(10)

bottomBotZ = openmc.ZPlane(0)

bottomTopZ = openmc.ZPlane(1)

topBotZ = openmc.ZPlane(9)

# Src Pos.

fuelPos = openmc.Sphere(8,8,3,r=0.4)

insideBox = +insideLeft & + insideBottom & -insideRight & -insideTop & +bottomTopZ & -topBotZ

outsideBox = +outsideLeft & +outsideBottom & - outsideRight & -outsideTop & ~insideBox & -topTopZ & + bottomBotZ

fuelSphere = -fuelPos

outsideCell = openmc.Cell(fill = concrete, region = outsideBox)

insideCell = openmc.Cell(fill = air, region = insideBox)

fuelCell = openmc.Cell(fill=fuel, region = fuelSphere)

universe = openmc.Universe(cells=[insideCell, outsideCell, fuelCell])

geometry = openmc.Geometry(universe)

# Tally

filter = openmc.CellFilter([fuel.id, concrete.id, air.id])

tally = openmc.Tally()

tally.filters.append(filter)

tally.scores = [‘flux’]

tally.nuclides = [‘U235’]

# Src

point = openmc.stats.Point((8,8,3))

src = openmc.Source(space=point)

src.angle = openmc.stats.Isotropic()

src.energy = openmc.stats.Maxwell(14000)

# Set

settings = openmc.Settings()

settings.run_mode = ‘fixed source’

settings.batches = 100

settings.particles = 10000

settings.inactive = 10

settings.source = src

openmc.run()

Hi imluca, welcome to the openmc community.
First of all, you are not declaring the outer boundary condition. Since you do a fixed source with a small Pu ball, you can use boundary_type=‘vacuum’ for your outer surfaces.

Then you need to make sure that your cells do not overlap, your fuelCell is intersecting with the insideCell. I am using geometry debug to check my geometry each time I change my geometry drastically, openmc.run(geometry_debug=True), you can turn it off later

Also, at first, I couldn’t run your problem in fixed source mode because the neutrons grow exponentially, which was caused by your forgetting to add the fuel density. I think it makes the fuel density default to 1 atom/barn-cm, which is extremely dense for pure Pu-239, making your setup supercritical even with a 0.4 cm ball of Pu-239. After setting a proper density, your model became subcritical, and the fixed source mode can run on my notebook.

Here is your modified model imluca.ipynb (68.8 KB)