Merge pull request #2335 from paulromano/plot-xs-sab-fix

Small fix in `plot_xs` when S(a,b) tables are present
This commit is contained in:
Jonathan Shimwell 2023-01-11 09:29:58 +00:00 committed by GitHub
commit 08c7d8935a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 28 additions and 1 deletions

View file

@ -563,7 +563,7 @@ def _calculate_cexs_elem_mat(this, types, temperature=294.,
for nuclide in nuclides.items():
sabs[nuclide[0]] = None
if isinstance(this, openmc.Material):
for sab_name in this._sab:
for sab_name, _ in this._sab:
sab = openmc.data.ThermalScattering.from_hdf5(
library.get_by_material(sab_name, data_type='thermal')['path'])
for nuc in sab.nuclides:

View file

@ -0,0 +1,27 @@
import openmc
import numpy as np
def test_calculate_cexs_elem_mat_sab():
"""Checks that sab cross sections are included in the
_calculate_cexs_elem_mat method and have the correct shape"""
mat_1 = openmc.Material()
mat_1.add_element("H", 4.0, "ao")
mat_1.add_element("O", 4.0, "ao")
mat_1.add_element("C", 4.0, "ao")
mat_1.add_s_alpha_beta("c_C6H6")
mat_1.set_density("g/cm3", 0.865)
energy_grid, data = openmc.plotter._calculate_cexs_elem_mat(
mat_1,
["inelastic"],
sab_name="c_C6H6",
)
assert isinstance(energy_grid, np.ndarray)
assert isinstance(data, np.ndarray)
assert len(energy_grid) > 1
assert len(data) == 1
assert len(data[0]) == len(energy_grid)