diff --git a/tests/regression_tests/periodic_6fold/inputs_true.dat b/tests/regression_tests/periodic_6fold/inputs_true.dat
new file mode 100644
index 0000000000..46c2a6ff55
--- /dev/null
+++ b/tests/regression_tests/periodic_6fold/inputs_true.dat
@@ -0,0 +1,34 @@
+
+
+ |
+ |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ eigenvalue
+ 1000
+ 4
+ 0
+
+
+ 0 0 0 5 5 0
+
+
+
diff --git a/tests/regression_tests/periodic_6fold/results_true.dat b/tests/regression_tests/periodic_6fold/results_true.dat
new file mode 100644
index 0000000000..2f0874c002
--- /dev/null
+++ b/tests/regression_tests/periodic_6fold/results_true.dat
@@ -0,0 +1,2 @@
+k-combined:
+1.858773E+00 1.550950E-02
diff --git a/tests/regression_tests/periodic_6fold/test.py b/tests/regression_tests/periodic_6fold/test.py
new file mode 100644
index 0000000000..1f8efdbf71
--- /dev/null
+++ b/tests/regression_tests/periodic_6fold/test.py
@@ -0,0 +1,62 @@
+import openmc
+import numpy as np
+
+from tests.testing_harness import PyAPITestHarness
+
+
+class Periodic6FoldTest(PyAPITestHarness):
+ def _build_inputs(self):
+ # Define materials
+ water = openmc.Material(1)
+ water.add_nuclide('H1', 2.0)
+ water.add_nuclide('O16', 1.0)
+ water.add_s_alpha_beta('c_H_in_H2O')
+ water.set_density('g/cc', 1.0)
+
+ fuel = openmc.Material(2)
+ fuel.add_nuclide('U235', 1.0)
+ fuel.set_density('g/cc', 4.5)
+
+ materials = openmc.Materials((water, fuel))
+ materials.default_temperature = '294K'
+ materials.export_to_xml()
+
+ # Define the geometry. Note that this geometry is somewhat non-sensical
+ # (it essentially defines a circle of half-cylinders), but it is
+ # designed so that periodic and reflective BCs will give different
+ # answers.
+ theta1 = (-1/6 + 1/2) * np.pi
+ theta2 = (1/6 - 1/2) * np.pi
+ plane1 = openmc.Plane(a=np.cos(theta1), b=np.sin(theta1),
+ boundary_type='periodic')
+ plane2 = openmc.Plane(a=np.cos(theta2), b=np.sin(theta2),
+ boundary_type='periodic')
+
+ x_max = openmc.XPlane(x0=5., boundary_type='reflective')
+
+ z_cyl = openmc.ZCylinder(x0=3*np.cos(np.pi/6), y0=3*np.sin(np.pi/6),
+ r=2.0)
+
+ outside_cyl = openmc.Cell(1, fill=water, region=(
+ +plane1 & +plane2 & -x_max & +z_cyl))
+ inside_cyl = openmc.Cell(2, fill=fuel, region=(
+ +plane1 & +plane2 & -z_cyl))
+ root_universe = openmc.Universe(0, cells=(outside_cyl, inside_cyl))
+
+ geometry = openmc.Geometry()
+ geometry.root_universe = root_universe
+ geometry.export_to_xml()
+
+ # Define settings
+ settings = openmc.Settings()
+ settings.particles = 1000
+ settings.batches = 4
+ settings.inactive = 0
+ settings.source = openmc.Source(space=openmc.stats.Box(
+ (0, 0, 0), (5, 5, 0)))
+ settings.export_to_xml()
+
+
+def test_periodic():
+ harness = Periodic6FoldTest('statepoint.4.h5')
+ harness.main()