mirror of
https://github.com/openmc-dev/openmc.git
synced 2026-07-26 13:15:39 -04:00
50 lines
1.5 KiB
Python
50 lines
1.5 KiB
Python
import pytest
|
|
import openmc
|
|
|
|
from tests.testing_harness import PyAPITestHarness
|
|
|
|
|
|
@pytest.fixture
|
|
def model():
|
|
model = openmc.model.Model()
|
|
|
|
fuel = openmc.Material()
|
|
fuel.set_density('g/cc', 10.0)
|
|
fuel.add_nuclide('U235', 1.0)
|
|
|
|
h1 = openmc.Material()
|
|
h1.set_density('g/cc', 0.1)
|
|
h1.add_nuclide('H1', 0.1)
|
|
|
|
inner_sphere = openmc.Sphere(x0=1.0, r=5.0)
|
|
|
|
fuel_cell = openmc.Cell(fill=fuel, region=-inner_sphere)
|
|
hydrogen_cell = openmc.Cell(fill=h1, region=+inner_sphere)
|
|
univ = openmc.Universe(cells=[fuel_cell, hydrogen_cell])
|
|
|
|
# Create one cell on top of the other. Only one
|
|
# has a rotation
|
|
box = openmc.model.RectangularPrism(15., 15., 'z', boundary_type='vacuum')
|
|
lower_z = openmc.ZPlane(-7.5, boundary_type='vacuum')
|
|
upper_z = openmc.ZPlane(22.5, boundary_type='vacuum')
|
|
middle_z = openmc.ZPlane(7.5)
|
|
|
|
lower_cell = openmc.Cell(fill=univ, region=-box & +lower_z & -middle_z)
|
|
lower_cell.rotation = (10, 20, 30)
|
|
upper_cell = openmc.Cell(fill=univ, region=-box & +middle_z & -upper_z)
|
|
upper_cell.translation = (0, 0, 15)
|
|
|
|
model.geometry = openmc.Geometry(root=[lower_cell, upper_cell])
|
|
|
|
model.settings.particles = 10000
|
|
model.settings.inactive = 5
|
|
model.settings.batches = 10
|
|
source_box = openmc.stats.Box((-4., -4., -4.), (4., 4., 4.))
|
|
model.settings.source = openmc.IndependentSource(space=source_box)
|
|
|
|
return model
|
|
|
|
|
|
def test_rotation(model):
|
|
harness = PyAPITestHarness('statepoint.10.h5', model)
|
|
harness.main()
|