import openmc def test_no_visible_boundary(run_in_tmpdir): copper = openmc.Material() copper.add_nuclide('Cu63', 1.0) copper.set_density('g/cm3', 0.3) air = openmc.Material() air.add_nuclide('N14', 1.0) air.set_density('g/cm3', 0.0012) # Create a simple model of a neutron source directly impinging on a thin # disc of copper. Neutrons leaving the back of the disc see no surfaces in # front of them. disc = openmc.model.RightCircularCylinder((0., 0., 1.), 0.1, 1.2) box = openmc.model.RectangularPrism(width=10, height=10, boundary_type='vacuum') c1 = openmc.Cell(fill=copper, region=-disc) c2 = openmc.Cell(fill=air, region=+disc & -box) model = openmc.Model() model.geometry = openmc.Geometry([c1, c2]) model.settings.run_mode = 'fixed source' model.settings.particles = 1000 model.settings.batches = 5 model.settings.source = openmc.IndependentSource( space=openmc.stats.Point(), angle=openmc.stats.Monodirectional((0., 0., 1.)) ) # Run model to ensure it doesn't segfault model.run()