Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion openmc/data/neutron.py
Original file line number Diff line number Diff line change
Expand Up @@ -765,6 +765,11 @@ def from_njoy(cls, filename, temperatures=None, evaluation=None, **kwargs):
for table in lib.tables[1:]:
data.add_temperature_from_ace(table)

# Use name based on ENDF evaluation. The name assigned by from_ace
# may be wrong for higher metastable states (e.g., Hf178_m2)
ev = evaluation if evaluation is not None else Evaluation(filename)
data.name = ev.gnds_name

# Add 0K elastic scattering cross section
if '0K' not in data.energy:
pendf = Evaluation(kwargs['pendf'])
Expand All @@ -775,7 +780,6 @@ def from_njoy(cls, filename, temperatures=None, evaluation=None, **kwargs):
data[2].xs['0K'] = xs

# Add fission energy release data
ev = evaluation if evaluation is not None else Evaluation(filename)
if (1, 458) in ev.section:
data.fission_energy = f = FissionEnergyRelease.from_endf(ev, data)
else:
Expand Down
98 changes: 97 additions & 1 deletion openmc/data/njoy.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,19 +15,41 @@
# identifiers.
ThermalTuple = namedtuple('ThermalTuple', ['name', 'zaids', 'nmix'])
_THERMAL_DATA = {
'c_Ag': ThermalTuple('ag', [47107, 47109], 1),
'c_Al27': ThermalTuple('al27', [13027], 1),
'c_Al_in_Al2O3': ThermalTuple('asap00', [13027], 1),
'c_Al_in_Y3Al5O12': ThermalTuple('alyag', [13027], 1),
'c_Au': ThermalTuple('au', [79197], 1),
'c_Be': ThermalTuple('be', [4009], 1),
'c_Be_distinct': ThermalTuple('besd', [4009], 1),
'c_Be_in_BeO': ThermalTuple('bebeo', [4009], 1),
'c_Be_in_Be2C': ThermalTuple('bebe2c', [4009], 1),
'c_Be_in_BeF2': ThermalTuple('bebef2', [4009], 1),
'c_Be_in_FLiBe': ThermalTuple('beflib', [4009], 1),
'c_BeO': ThermalTuple('beo', [4009, 8016, 8017, 8018], 2),
'c_Bi': ThermalTuple('bi', [83209], 1),
'c_Bi_in_Ge3Bi4O12': ThermalTuple('bigbo', [83209], 1),
'c_C6H6': ThermalTuple('benz', [1001, 6000, 6012], 2),
'c_C_in_Be2C': ThermalTuple('cbe2c', [6000, 6012, 6013], 1),
'c_C_in_C5O2H8': ThermalTuple('clucit', [6000, 6012, 6013], 1),
'c_C_in_C8H8': ThermalTuple('cc8h8', [6000, 6012, 6013], 1),
'c_C_in_C19H16_liquid': ThermalTuple('c19liq', [6000, 6012, 6013], 1),
'c_C_in_C19H16_solid': ThermalTuple('c19sol', [6000, 6012, 6013], 1),
'c_C_in_C2H6O_liquid': ThermalTuple('ethliq', [6000, 6012, 6013], 1),
'c_C_in_C2H6O_solid': ThermalTuple('ethsol', [6000, 6012, 6013], 1),
'c_C_in_C6H6_liquid': ThermalTuple('benzlq', [6000, 6012, 6013], 1),
'c_C_in_C6H6_solid': ThermalTuple('benzsl', [6000, 6012, 6013], 1),
'c_C_in_C7H8_liquid': ThermalTuple('tolliq', [6000, 6012, 6013], 1),
'c_C_in_C7H8_solid': ThermalTuple('tolsol', [6000, 6012, 6013], 1),
'c_C_in_C8H10_liquid': ThermalTuple('xylliq', [6000, 6012, 6013], 1),
'c_C_in_C8H10_solid': ThermalTuple('xylsol', [6000, 6012, 6013], 1),
'c_C_in_C9H12_liquid': ThermalTuple('mesliq', [6000, 6012, 6013], 1),
'c_C_in_C9H12_solid': ThermalTuple('messol', [6000, 6012, 6013], 1),
'c_C_in_CF2': ThermalTuple('ccf2', [6000, 6012, 6013], 1),
'c_C_in_CH2': ThermalTuple('cch2', [6000, 6012, 6013], 1),
'c_C_in_CH4_liquid': ThermalTuple('cch4lq', [6000, 6012, 6013], 1),
'c_C_in_CH4_solid': ThermalTuple('cch4sl', [6000, 6012, 6013], 1),
'c_C_in_Diamond': ThermalTuple('cdiam', [6000, 6012, 6013], 1),
'c_C_in_SiC': ThermalTuple('csic', [6000, 6012, 6013], 1),
'c_C_in_UC_100p': ThermalTuple('cuc100', [6000, 6012, 6013], 1),
'c_C_in_UC_10p': ThermalTuple('cuc10', [6000, 6012, 6013], 1),
Expand All @@ -36,16 +58,29 @@
'c_C_in_UC_HALEU': ThermalTuple('cuchal', [6000, 6012, 6013], 1),
'c_C_in_UC_HEU': ThermalTuple('cucheu', [6000, 6012, 6013], 1),
'c_C_in_ZrC': ThermalTuple('czrc', [6000, 6012, 6013], 1),
'c_Ca': ThermalTuple('ca', [20040, 20042, 20043, 20044, 20046, 20048], 1),
'c_Ca_in_CaH2': ThermalTuple('cacah2', [20040, 20042, 20043, 20044, 20046, 20048], 1),
'c_Ca_in_CaO2H2': ThermalTuple('cacaoh', [20040, 20042, 20043, 20044, 20046, 20048], 1),
'c_Cr': ThermalTuple('cr', [24050, 24052, 24053, 24054], 1),
'c_Cu': ThermalTuple('cu', [29063, 29065], 1),
'c_D_in_7LiD': ThermalTuple('dlid', [1002], 1),
'c_D_in_D2O': ThermalTuple('dd2o', [1002], 1),
'c_D_in_D2O_solid': ThermalTuple('dice', [1002], 1),
'c_D_in_MgD2': ThermalTuple('dmgd2', [1002], 1),
'c_F_in_Be2': ThermalTuple('fbef2', [9019], 1),
'c_F_in_CF2': ThermalTuple('fcf2', [9019], 1),
'c_F_in_FLiBe': ThermalTuple('fflibe', [9019], 1),
'c_F_in_HF': ThermalTuple('f_hf', [9019], 1),
'c_F_in_LiF': ThermalTuple('flif', [9019], 1),
'c_F_in_MgF2': ThermalTuple('fmgf2', [9019], 1),
'c_Fe56': ThermalTuple('fe56', [26056], 1),
'c_Fe_in_Fe_alpha': ThermalTuple('fealph', [26054, 26056, 26057, 26058], 1),
'c_Fe_in_Fe_gamma': ThermalTuple('fegamm', [26054, 26056, 26057, 26058], 1),
'c_Ga_in_GaN': ThermalTuple('gagan', [31069, 31071], 1),
'c_Ga_in_GaSe': ThermalTuple('gagase', [31069, 31071], 1),
'c_Ge': ThermalTuple('ge', [32070, 32072, 32073, 32074, 32076], 1),
'c_Ge_in_Ge3Bi4O12': ThermalTuple('gegbo', [32070, 32072, 32073, 32074, 32076], 1),
'c_Ge_in_GeTe': ThermalTuple('gegete', [32070, 32072, 32073, 32074, 32076], 1),
'c_Graphite': ThermalTuple('graph', [6000, 6012, 6013], 1),
'c_Graphite_10p': ThermalTuple('grph10', [6000, 6012, 6013], 1),
'c_Graphite_20p': ThermalTuple('grph20', [6000, 6012, 6013], 1),
Expand All @@ -54,7 +89,20 @@
'c_H_in_7LiH': ThermalTuple('hlih', [1001], 1),
'c_H_in_C5O2H8': ThermalTuple('lucite', [1001], 1),
'c_H_in_C8H8': ThermalTuple('hc8h8', [1001], 1),
'c_H_in_C19H16_liquid': ThermalTuple('h19liq', [1001], 1),
'c_H_in_C19H16_solid': ThermalTuple('h19sol', [1001], 1),
'c_H_in_C2H6O_liquid': ThermalTuple('hetliq', [1001], 1),
'c_H_in_C2H6O_solid': ThermalTuple('hetsol', [1001], 1),
'c_H_in_C6H6_liquid': ThermalTuple('hbzliq', [1001], 1),
'c_H_in_C6H6_solid': ThermalTuple('hbzsol', [1001], 1),
'c_H_in_C7H8_liquid': ThermalTuple('htlliq', [1001], 1),
'c_H_in_C7H8_solid': ThermalTuple('htlsol', [1001], 1),
'c_H_in_C8H10_liquid': ThermalTuple('hxyliq', [1001], 1),
'c_H_in_C8H10_solid': ThermalTuple('hxysol', [1001], 1),
'c_H_in_C9H12_liquid': ThermalTuple('hmsliq', [1001], 1),
'c_H_in_C9H12_solid': ThermalTuple('hmssol', [1001], 1),
'c_H_in_CaH2': ThermalTuple('hcah2', [1001], 1),
'c_H_in_CaO2H2': ThermalTuple('hcaoh', [1001], 1),
'c_H1_in_CaH2': ThermalTuple('h1cah2', [1001], 1),
'c_H2_in_CaH2': ThermalTuple('h2cah2', [1001], 1),
'c_H_in_CH2': ThermalTuple('hch2', [1001], 1),
Expand All @@ -64,32 +112,64 @@
'c_H_in_H2O': ThermalTuple('hh2o', [1001], 1),
'c_H_in_H2O_solid': ThermalTuple('hice', [1001], 1),
'c_H_in_HF': ThermalTuple('hhf', [1001], 1),
'c_H_in_KOH': ThermalTuple('hkoh', [1001], 1),
'c_H_in_LiH': ThermalTuple('hlih2', [1001], 1),
'c_H_in_Mesitylene': ThermalTuple('mesi00', [1001], 1),
'c_H_in_ParaffinicOil': ThermalTuple('hparaf', [1001], 1),
'c_H_in_Toluene': ThermalTuple('tol00', [1001], 1),
'c_H_in_MgH2': ThermalTuple('hmgh2', [1001], 1),
'c_H_in_MgOH2': ThermalTuple('hmgoh', [1001], 1),
'c_H_in_NaMgH3': ThermalTuple('hnamg', [1001], 1),
'c_H_in_NaOH': ThermalTuple('hnaoh', [1001], 1),
'c_H_in_SrH2': ThermalTuple('hsrh2', [1001], 1),
'c_H_in_UH3': ThermalTuple('huh3', [1001], 1),
'c_H_in_YH2': ThermalTuple('hyh2', [1001], 1),
'c_H_in_ZrH': ThermalTuple('hzrh', [1001], 1),
'c_H_in_ZrH2': ThermalTuple('hzrh2', [1001], 1),
'c_H_in_ZrHx': ThermalTuple('hzrhx', [1001], 1),
'c_I_in_NaI': ThermalTuple('inai', [53127], 1),
'c_K': ThermalTuple('k', [19039, 19040, 19041], 1),
'c_K_in_KOH': ThermalTuple('kkoh', [19039, 19040, 19041], 1),
'c_Li_in_FLiBe': ThermalTuple('liflib', [3006, 3007], 1),
'c_Li_in_7LiD': ThermalTuple('lilid', [3007], 1),
'c_Li_in_7LiH': ThermalTuple('lilih', [3007], 1),
'c_Li_in_LiF': ThermalTuple('lilif', [3006, 3007], 1),
'c_Li_in_LiH': ThermalTuple('lilih2', [3006, 3007], 1),
'c_Mg24': ThermalTuple('mg24', [12024], 1),
'c_Mg_in_MgF2': ThermalTuple('mgmgf2', [12024, 12025, 12026], 1),
'c_Mg_in_MgO': ThermalTuple('mgmgo', [12024, 12025, 12026], 1),
'c_Mg_in_MgD2': ThermalTuple('mgmgd2', [12024, 12025, 12026], 1),
'c_Mg_in_MgH2': ThermalTuple('mgmgh2', [12024, 12025, 12026], 1),
'c_Mg_in_MgOH2': ThermalTuple('mgoh2', [12024, 12025, 12026], 1),
'c_Mg_in_NaMgH3': ThermalTuple('mgnamg', [12024, 12025, 12026], 1),
'c_Mo': ThermalTuple('mo', [42092, 42094, 42095, 42096, 42097, 42098, 42100], 1),
'c_N_in_GaN': ThermalTuple('ngan', [7014, 7015], 1),
'c_N_in_UN_100p': ThermalTuple('nun100', [7014, 7015], 1),
'c_N_in_UN_10p': ThermalTuple('nun10', [7014, 7015], 1),
'c_N_in_UN_5p': ThermalTuple('nun5', [7014, 7015], 1),
'c_N_in_UN': ThermalTuple('n-un', [7014, 7015], 1),
'c_N_in_UN_HALEU': ThermalTuple('nunhal', [7014, 7015], 1),
'c_N_in_UN_HEU': ThermalTuple('nunheu', [7014, 7015], 1),
'c_Na': ThermalTuple('na', [11023], 1),
'c_Na_in_NaI': ThermalTuple('nanai', [11023], 1),
'c_Na_in_NaMgH3': ThermalTuple('nanamg', [11023], 1),
'c_Na_in_NaOH': ThermalTuple('nanaoh', [11023], 1),
'c_Nb': ThermalTuple('nb', [41093], 1),
'c_Ni': ThermalTuple('ni', [28058, 28060, 28061, 28062, 28064], 1),
'c_O_in_Al2O3': ThermalTuple('osap00', [8016, 8017, 8018], 1),
'c_O_in_BeO': ThermalTuple('obeo', [8016, 8017, 8018], 1),
'c_O_in_C5O2H8': ThermalTuple('olucit', [8016, 8017, 8018], 1),
'c_O_in_C2H6O_liquid': ThermalTuple('oetliq', [8016, 8017, 8018], 1),
'c_O_in_C2H6O_solid': ThermalTuple('oetsol', [8016, 8017, 8018], 1),
'c_O_in_CaO2H2': ThermalTuple('ocaoh', [8016, 8017, 8018], 1),
'c_O_in_D2O': ThermalTuple('od2o', [8016, 8017, 8018], 1),
'c_O_in_H2O_solid': ThermalTuple('oice', [8016, 8017, 8018], 1),
'c_O_in_MgO': ThermalTuple('omgo', [8016, 8017, 8018], 1),
'c_O_in_Ge3Bi4O12': ThermalTuple('ogbo', [8016, 8017, 8018], 1),
'c_O_in_H2O': ThermalTuple('oh2o', [8016, 8017, 8018], 1),
'c_O_in_KOH': ThermalTuple('okoh', [8016, 8017, 8018], 1),
'c_O_in_MgOH2': ThermalTuple('omgoh', [8016, 8017, 8018], 1),
'c_O_in_NaOH': ThermalTuple('onaoh', [8016, 8017, 8018], 1),
'c_O_in_PuO2': ThermalTuple('opuo2', [8016, 8017, 8018], 1),
'c_O_in_SiO2_alpha': ThermalTuple('osio2a', [8016, 8017, 8018], 1),
'c_O_in_UO2_100p': ThermalTuple('ouo200', [8016, 8017, 8018], 1),
Expand All @@ -98,16 +178,26 @@
'c_O_in_UO2': ThermalTuple('ouo2', [8016, 8017, 8018], 1),
'c_O_in_UO2_HALEU': ThermalTuple('ouo2hl', [8016, 8017, 8018], 1),
'c_O_in_UO2_HEU': ThermalTuple('ouo2he', [8016, 8017, 8018], 1),
'c_O_in_Y3Al5O12': ThermalTuple('oyag', [8016, 8017, 8018], 1),
'c_ortho_D': ThermalTuple('orthod', [1002], 1),
'c_ortho_H': ThermalTuple('orthoh', [1001], 1),
'c_para_D': ThermalTuple('parad', [1002], 1),
'c_para_H': ThermalTuple('parah', [1001], 1),
'c_Pb': ThermalTuple('pb', [82204, 82206, 82207, 82208], 1),
'c_Pd': ThermalTuple('pd', [46102, 46104, 46105, 46106, 46108, 46110], 1),
'c_Pt': ThermalTuple('pt', [78190, 78192, 78194, 78195, 78196, 78198], 1),
'c_Pu_in_PuO2': ThermalTuple('puo2', [94239, 94240, 94241, 94242, 94243], 1),
'c_Si28': ThermalTuple('si00', [14028], 1),
'c_Si_in_SiC': ThermalTuple('sisic', [14028, 14029, 14030], 1),
'c_Si_in_SiO2_alpha': ThermalTuple('si_o2a', [14028, 14029, 14030], 1),
'c_SiO2_alpha': ThermalTuple('sio2-a', [8016, 8017, 8018, 14028, 14029, 14030], 3),
'c_SiO2_beta': ThermalTuple('sio2-b', [8016, 8017, 8018, 14028, 14029, 14030], 3),
'c_S_in_ZnS': ThermalTuple('szns', [16032, 16033, 16034, 16036], 1),
'c_Se_in_GaSe': ThermalTuple('segase', [34074, 34076, 34077, 34078, 34080, 34082], 1),
'c_Sn': ThermalTuple('sn', [50112, 50114, 50115, 50116, 50117, 50118, 50119, 50120, 50122, 50124], 1),
'c_Sr_in_SrH2': ThermalTuple('srsrh2', [38084, 38086, 38087, 38088], 1),
'c_Te_in_GeTe': ThermalTuple('tegete', [52120, 52122, 52123, 52124, 52125, 52126, 52128, 52130], 1),
'c_Ti': ThermalTuple('ti', [22046, 22047, 22048, 22049, 22050], 1),
'c_U_metal_100p': ThermalTuple('u-100p', [92233, 92234, 92235, 92236, 92238], 1),
'c_U_metal_10p': ThermalTuple('u-10p', [92233, 92234, 92235, 92236, 92238], 1),
'c_U_metal_5p': ThermalTuple('u-5p', [92233, 92234, 92235, 92236, 92238], 1),
Expand All @@ -132,7 +222,13 @@
'c_U_in_UO2': ThermalTuple('uuo2', [92233, 92234, 92235, 92236, 92238], 1),
'c_U_in_UO2_HALEU': ThermalTuple('uo2hal', [92233, 92234, 92235, 92236, 92238], 1),
'c_U_in_UO2_HEU': ThermalTuple('uo2heu', [92233, 92234, 92235, 92236, 92238], 1),
'c_V': ThermalTuple('v', [23050, 23051], 1),
'c_W': ThermalTuple('w', [74180, 74182, 74183, 74184, 74186], 1),
'c_Y_in_Y3Al5O12': ThermalTuple('yyag', [39089], 1),
'c_Y_in_YH2': ThermalTuple('yyh2', [39089], 1),
'c_Zn': ThermalTuple('zn', [30064, 30066, 30067, 30068, 30070], 1),
'c_Zn_in_ZnS': ThermalTuple('znzns', [30064, 30066, 30067, 30068, 30070], 1),
'c_Zr': ThermalTuple('zr', [40090, 40091, 40092, 40094, 40096], 1),
'c_Zr_in_ZrC': ThermalTuple('zrzrc', [40000, 40090, 40091, 40092, 40094, 40096], 1),
'c_Zr_in_ZrH': ThermalTuple('zrzrh', [40000, 40090, 40091, 40092, 40094, 40096], 1),
'c_Zr_in_ZrH2': ThermalTuple('zrzrh2', [40000, 40090, 40091, 40092, 40094, 40096], 1),
Expand Down Expand Up @@ -565,7 +661,7 @@ def make_ace_thermal(filename, filename_thermal, temperatures=None,
else:
with warnings.catch_warnings(record=True) as w:
proper_name = openmc.data.get_thermal_name(zsymam_thermal)
if w:
if w or proper_name not in _THERMAL_DATA:
raise RuntimeError(
f"Thermal scattering material {zsymam_thermal} not "
"recognized. Please contact OpenMC developers at "
Expand Down
Loading
Loading