import os import numpy as np import openmc from openmc.examples import slab_mg from tests.testing_harness import PyAPITestHarness def create_library(): # Instantiate the energy group data and file object groups = openmc.mgxs.EnergyGroups(group_edges=[0.0, 0.625, 20.0e6]) mg_cross_sections_file = openmc.MGXSLibrary(groups) # Make the base, isotropic data nu = [2.50, 2.50] fiss = np.array([0.002817, 0.097]) capture = [0.008708, 0.02518] absorption = np.add(capture, fiss) scatter = np.array( [[[0.31980, 0.06694, 0.003], [0.004555, -0.0003972, 0.00002]], [[0.00000, 0.00000, 0.000], [0.424100, 0.05439000, 0.0025]]]) total = [0.33588, 0.54628] chi = [1., 0.] mat_1 = openmc.XSdata('mat_1', groups) mat_1.order = 2 mat_1.set_nu_fission(np.multiply(nu, fiss)) mat_1.set_absorption(absorption) mat_1.set_scatter_matrix(scatter) mat_1.set_total(total) mat_1.set_chi(chi) mg_cross_sections_file.add_xsdata(mat_1) # Write the file mg_cross_sections_file.export_to_hdf5('2g.h5') class MGXSTestHarness(PyAPITestHarness): def _cleanup(self): super()._cleanup() f = '2g.h5' if os.path.exists(f): os.remove(f) def test_mg_max_order(): create_library() model = slab_mg() model.settings.max_order = 1 harness = PyAPITestHarness('statepoint.10.h5', model) harness.main()