Hi all
I’m running a very simple spherical geometry and tallying current on a surface and getting a fatal error. I wonder if anyone could give ideas on how to avoid this error.
The only odd part of the script is the density of the material, changing the density solves the problem but I am hoping to keep the density high to simulate the correct inertial confinement fusion case (Revolver)
python mve.py
Simulating batch 89
Simulating batch 90
Simulating batch 91
Traceback (most recent call last):
File "mve.py", line 43, in <module>
sp_filename = model.run()
File "/home/jshimwell/openmc/openmc/model/model.py", line 712, in run
openmc.run(particles, threads, geometry_debug, restart_file,
File "/home/jshimwell/openmc/openmc/executor.py", line 314, in run
_run(args, output, cwd)
File "/home/jshimwell/openmc/openmc/executor.py", line 125, in _run
raise RuntimeError(error_msg)
RuntimeError: OpenMC aborted unexpectedly.
So I’ve tried running the openmc executable in openmc with gdb
gdb --exec /usr/local/bin/openmc
>>> run
Simulating batch 89
Simulating batch 90
Simulating batch 91
Thread 21 "openmc" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffebc2a700 (LWP 4242)]
0x00007ffff7a6c8f9 in std::__uniq_ptr_impl<openmc::Surface, std::default_delete<openmc::Surface> >::_M_ptr (
this=<optimized out>) at /usr/include/c++/7/bits/unique_ptr.h:147
147 pointer _M_ptr() const { return std::get<0>(_M_t); }
I’m running Ubuntu 18.04, with the very latest version of openmc from the develop branch commit tag
cd13d3471da30213bf68b91739994b73bb07cb90 and I’m using ENDF-B-VIII.0-NNDC data I attach the python script if anyone is able to reproduce this and let me know if it works for others?
import openmc
shell_material = openmc.Material()
shell_material.add_element("Au", 1.0, percent_type="ao")
shell_material.set_density("g/cm3", 1930) # revolver density
materials = openmc.Materials([shell_material])
surface_inner_shell = openmc.Sphere(r=0.0035)
surface_outer_shell = openmc.Sphere(r=0.0095)
sphere_surface_detector_1 = openmc.Sphere(r=20000, boundary_type="vacuum")
fuel_region = -surface_inner_shell
shell_region = +surface_inner_shell & -surface_outer_shell
void_region_1 = +surface_outer_shell & -sphere_surface_detector_1
fuel_cell = openmc.Cell(region=fuel_region)
shell_cell = openmc.Cell(region=shell_region, fill=shell_material)
void_cell_1 = openmc.Cell(region=void_region_1)
geometry = openmc.Geometry([fuel_cell, shell_cell, void_cell_1])
source = openmc.Source()
source.angle = openmc.stats.Isotropic()
settings = openmc.Settings()
settings.batches = 100
settings.particles = 80000
settings.run_mode = "fixed source"
settings.source = source
settings.photon_transport = False
surface_filter_1 = openmc.SurfaceFilter(sphere_surface_detector_1)
time_tally_1 = openmc.Tally(name="time_tally_detector_1")
time_tally_1.scores = ["current"]
time_tally_1.filters = [surface_filter_1]
tallies = openmc.Tallies([time_tally_1])
model = openmc.model.Model(geometry, materials, settings, tallies)
sp_filename = model.run()