mirror of
https://github.com/openmc-dev/openmc.git
synced 2026-07-25 12:35:29 -04:00
30 lines
1.1 KiB
Python
30 lines
1.1 KiB
Python
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()
|