mirror of
https://github.com/openmc-dev/openmc.git
synced 2026-07-28 06:05:58 -04:00
Add recognized thermal scattering names for JEFF 4.0 and JENDL 5 (#3693)
This commit is contained in:
parent
f08326a9ac
commit
932f36f411
4 changed files with 230 additions and 12 deletions
|
|
@ -765,6 +765,11 @@ class IncidentNeutron(EqualityMixin):
|
|||
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'])
|
||||
|
|
@ -775,7 +780,6 @@ class IncidentNeutron(EqualityMixin):
|
|||
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:
|
||||
|
|
|
|||
|
|
@ -15,19 +15,41 @@ import openmc.data
|
|||
# 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),
|
||||
|
|
@ -36,16 +58,29 @@ _THERMAL_DATA = {
|
|||
'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),
|
||||
|
|
@ -54,7 +89,20 @@ _THERMAL_DATA = {
|
|||
'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),
|
||||
|
|
@ -64,32 +112,64 @@ _THERMAL_DATA = {
|
|||
'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),
|
||||
|
|
@ -98,16 +178,26 @@ _THERMAL_DATA = {
|
|||
'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),
|
||||
|
|
@ -132,7 +222,13 @@ _THERMAL_DATA = {
|
|||
'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),
|
||||
|
|
@ -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 "
|
||||
|
|
|
|||
|
|
@ -27,20 +27,41 @@ from .thermal_angle_energy import (CoherentElasticAE, IncoherentElasticAE,
|
|||
|
||||
|
||||
_THERMAL_NAMES = {
|
||||
'c_Ag': ('ag',),
|
||||
'c_Al27': ('al', 'al27', 'al-27', '13-al- 27'),
|
||||
'c_Al_in_Al2O3': ('asap00', 'asap', 'al(al2o3)'),
|
||||
'c_Be': ('be', 'be-metal', 'be-met', 'be00', 'be-metal', 'be metal', '4-be'),
|
||||
'c_Al_in_Y3Al5O12': ('al(y3al5o1', 'alyag'),
|
||||
'c_Au': ('au',),
|
||||
'c_Be': ('be', 'be-metal', 'be-met', 'be00', 'be-metal', 'be metal', '4-be', '4-be-'),
|
||||
'c_BeO': ('beo',),
|
||||
'c_Be_distinct': ('besd', 'be+sd'),
|
||||
'c_Be_in_BeO': ('bebeo', 'be-beo', 'be-o', 'be/o', 'bbeo00', 'be(beo)', 'be_beo'),
|
||||
'c_Be_in_Be2C': ('bebe2c', 'be(be2c)'),
|
||||
'c_Be_in_BeF2': ('bebef2', 'be in bef2'),
|
||||
'c_Be_in_FLiBe': ('beflib', 'be(flibe)'),
|
||||
'c_Bi': ('83-bi-', 'bi'),
|
||||
'c_Bi_in_Ge3Bi4O12': ('bi(ge3bi4o', 'bigbo'),
|
||||
'c_C6H6': ('benz', 'c6h6', 'benzine'),
|
||||
'c_C_in_Be2C': ('cbe2c', 'c(be2c)'),
|
||||
'c_C_in_C19H16_liquid': ('c(c19h16)l', 'c19liq'),
|
||||
'c_C_in_C19H16_solid': ('c(c19h16)s', 'c19sol'),
|
||||
'c_C_in_C2H6O_liquid': ('c(c2h6o)l', 'ethliq'),
|
||||
'c_C_in_C2H6O_solid': ('c(c2h6o)s', 'ethsol'),
|
||||
'c_C_in_C5O2H8': ('clucit', 'c(lucite)'),
|
||||
'c_C_in_C6H6_liquid': ('c(c6h6)l', 'benzlq'),
|
||||
'c_C_in_C6H6_solid': ('c(c6h6)s', 'benzsl'),
|
||||
'c_C_in_C7H8_liquid': ('c(c7h8)l', 'tolliq'),
|
||||
'c_C_in_C7H8_solid': ('c(c7h8)s', 'tolsol'),
|
||||
'c_C_in_C8H8': ('cc8h8', 'c(polystyr'),
|
||||
'c_C_in_C8H10_liquid': ('c(m-c8h10)l', 'xylliq'),
|
||||
'c_C_in_C8H10_solid': ('c(m-c8h10)s', 'xylsol'),
|
||||
'c_C_in_C9H12_liquid': ('c(c9h12)l', 'mesliq'),
|
||||
'c_C_in_C9H12_solid': ('c(c9h12)s', 'messol'),
|
||||
'c_C_in_CF2': ('ccf2', 'c(teflon)'),
|
||||
'c_C_in_CH2': ('c(c2h4)n r', 'cch2'),
|
||||
'c_C_in_CH4_liquid': ('c(ch4)l', 'cch4lq'),
|
||||
'c_C_in_CH4_solid': ('c(ch4)s', 'cch4sl'),
|
||||
'c_C_in_Diamond': ('c(c-diamon', 'cdiam'),
|
||||
'c_C_in_SiC': ('csic', 'c-sic', 'c(3c-sic)', 'c_sic'),
|
||||
'c_C_in_UC_100p': ('cuc100', 'cinuc_100p'),
|
||||
'c_C_in_UC_10p': ('cuc10', 'cinuc_10p'),
|
||||
|
|
@ -49,16 +70,29 @@ _THERMAL_NAMES = {
|
|||
'c_C_in_UC_HALEU': ('cuchal', 'cinuc_haleu'),
|
||||
'c_C_in_UC_HEU': ('cucheu', 'cinuc_heu'),
|
||||
'c_C_in_ZrC': ('czrc', 'c(zrc)'),
|
||||
'c_Ca': ('ca',),
|
||||
'c_Ca_in_CaH2': ('cah', 'cah00', 'cacah2', 'ca(cah2)', 'ca_cah2'),
|
||||
'c_Ca_in_CaO2H2': ('ca(caoh2)', 'cacaoh'),
|
||||
'c_Cr': ('cr',),
|
||||
'c_Cu': ('cu',),
|
||||
'c_D_in_7LiD': ('dlid', 'd(7lid)'),
|
||||
'c_D_in_D2O': ('dd2o', 'd-d2o', 'hwtr', 'hw', 'dhw00', 'd(d2o)'),
|
||||
'c_D_in_D2O_solid': ('dice',),
|
||||
'c_D_in_MgD2': ('d(mgd2)', 'dmgd2'),
|
||||
'c_F_in_Be2': ('fbef2', 'f in bef2'),
|
||||
'c_F_in_CF2': ('fcf2', 'f(teflon)'),
|
||||
'c_F_in_FLiBe': ('fflibe', 'f(flibe)'),
|
||||
'c_F_in_HF': ('f_hf',),
|
||||
'c_F_in_LiF': ('f(lif)', 'flif'),
|
||||
'c_F_in_MgF2': ('fmgf2', 'f in mgf2'),
|
||||
'c_Fe56': ('fe', 'fe56', 'fe-56', '26-fe- 56'),
|
||||
'c_Fe_in_Fe_alpha': ('fe(fe-alph', 'fealph'),
|
||||
'c_Fe_in_Fe_gamma': ('fe(fe-gamm', 'fegamm'),
|
||||
'c_Ga_in_GaN': ('ga(gan)', 'gagan'),
|
||||
'c_Ga_in_GaSe': ('ga(gase)', 'gagase'),
|
||||
'c_Ge': ('ge',),
|
||||
'c_Ge_in_Ge3Bi4O12': ('ge(ge3bi4o', 'gegbo'),
|
||||
'c_Ge_in_GeTe': ('ge(gete)', 'gegete'),
|
||||
'c_Graphite': ('graph', 'grph', 'gr', 'gr00', 'graphite'),
|
||||
'c_Graphite_10p': ('grph10', '10p graphit'),
|
||||
'c_Graphite_20p': ('grph20', '20 graphite'),
|
||||
|
|
@ -68,41 +102,86 @@ _THERMAL_NAMES = {
|
|||
'c_H_in_C5O2H8': ('lucite', 'c5o2h8', 'h-luci', 'h(lucite)'),
|
||||
'c_H_in_C8H8': ('hc8h8', 'h(polystyr'),
|
||||
'c_H_in_CaH2': ('hcah2', 'hca00', 'h(cah2)'),
|
||||
'c_H_in_CaO2H2': ('h(caoh2)', 'hcaoh'),
|
||||
'c_H1_in_CaH2': ('h1cah2', 'h1_cah2'),
|
||||
'c_H2_in_CaH2': ('h2cah2', 'h2_cah2'),
|
||||
'c_H_in_CH2': ('hch2', 'poly', 'pol', 'h-poly', 'pol00', 'h(ch2)'),
|
||||
'c_H_in_CH4_liquid': ('lch4', 'lmeth', 'l-ch4'),
|
||||
'c_H_in_CH4_solid': ('sch4', 'smeth', 's-ch4'),
|
||||
'c_H_in_C19H16_liquid': ('h(c19h16)l', 'h19liq'),
|
||||
'c_H_in_C19H16_solid': ('h(c19h16)s', 'h19sol'),
|
||||
'c_H_in_C2H6O_liquid': ('h(c2h6o)l', 'hetliq'),
|
||||
'c_H_in_C2H6O_solid': ('h(c2h6o)s', 'hetsol'),
|
||||
'c_H_in_C6H6_liquid': ('h(c6h6)l', 'hbzliq'),
|
||||
'c_H_in_C6H6_solid': ('h(c6h6)s', 'hbzsol'),
|
||||
'c_H_in_C7H8_liquid': ('h(c7h8)l', 'htlliq'),
|
||||
'c_H_in_C7H8_solid': ('h(c7h8)s', 'htlsol'),
|
||||
'c_H_in_C8H10_liquid': ('h(m-c8h10)l', 'hxyliq'),
|
||||
'c_H_in_C8H10_solid': ('h(m-c8h10)s', 'hxysol'),
|
||||
'c_H_in_C9H12_liquid': ('h(c9h12)l', 'hmsliq'),
|
||||
'c_H_in_C9H12_solid': ('h(c9h12)s', 'hmssol'),
|
||||
'c_H_in_CH2': ('hch2', 'poly', 'pol', 'h-poly', 'pol00', 'h(ch2)', 'h(c2h4)n r'),
|
||||
'c_H_in_CH4_liquid': ('lch4', 'lmeth', 'l-ch4', 'h(ch4)l'),
|
||||
'c_H_in_CH4_solid': ('sch4', 'smeth', 's-ch4', 'h(ch4)s'),
|
||||
'c_H_in_CH4_solid_phase_II': ('sch4p2',),
|
||||
'c_H_in_H2O': ('hh2o', 'h-h2o', 'lwtr', 'lw', 'lw00', 'h(h2o)'),
|
||||
'c_H_in_H2O_solid': ('hice', 'h-ice', 'ice00', 'h(ice-ih)', 'h(ice)'),
|
||||
'c_H_in_HF': ('hhf', 'h(hf)', 'h_hf'),
|
||||
'c_H_in_KOH': ('h(koh)', 'hkoh'),
|
||||
'c_H_in_LiH': ('h(lih)', 'hlih2'),
|
||||
'c_H_in_Mesitylene': ('mesi00', 'mesi', 'mesi-phii'),
|
||||
'c_H_in_MgH2': ('h(mgh2)', 'hmgh2'),
|
||||
'c_H_in_MgOH2': ('h(mgoh2)', 'hmgoh'),
|
||||
'c_H_in_NaMgH3': ('h(namgh3)', 'hnamg'),
|
||||
'c_H_in_NaOH': ('h(naoh)', 'hnaoh'),
|
||||
'c_H_in_ParaffinicOil': ('hparaf', 'h(paraffin', 'h(paraffini'),
|
||||
'c_H_in_SrH2': ('h(srh2)', 'hsrh2'),
|
||||
'c_H_in_Toluene': ('tol00', 'tol', 'tolue-phii'),
|
||||
'c_H_in_UH3': ('huh3', 'h(uh3)'),
|
||||
'c_H_in_YH2': ('hyh2', 'h-yh2', 'h(yh2)'),
|
||||
'c_H_in_ZrH': ('hzrh', 'h-zrh', 'h-zr', 'h/zr', 'hzr', 'hzr00', 'h(zrh)'),
|
||||
'c_H_in_ZrH2': ('hzrh2', 'h(zrh2)'),
|
||||
'c_H_in_ZrHx': ('hzrhx', 'h(zrhx)'),
|
||||
'c_H_in_ZrH2': ('hzrh2', 'h(zrh2)', 'h(zrh2) in'),
|
||||
'c_H_in_ZrHx': ('hzrhx', 'h(zrhx)', 'h(zrh15) i'),
|
||||
'c_I_in_NaI': ('i(nai)', 'inai'),
|
||||
'c_K': ('k',),
|
||||
'c_K_in_KOH': ('k(koh)', 'kkoh'),
|
||||
'c_Li_in_FLiBe': ('liflib', 'li(flibe)'),
|
||||
'c_Li_in_7LiD': ('lilid', '7li(7lid)'),
|
||||
'c_Li_in_7LiH': ('lilih', '7li(7lih)'),
|
||||
'c_Li_in_LiF': ('li(lif)', 'lilif'),
|
||||
'c_Li_in_LiH': ('li(lih)', 'lilih2'),
|
||||
'c_Mg24': ('mg', 'mg24', 'mg00', '24-mg'),
|
||||
'c_Mg_in_MgD2': ('mg(mgd2)', 'mgmgd2'),
|
||||
'c_Mg_in_MgF2': ('mgmgf2', 'mg in mgf2'),
|
||||
'c_Mg_in_MgH2': ('mg(mgh2)', 'mgmgh2'),
|
||||
'c_Mg_in_MgO': ('mgmgo', 'mg in mgo'),
|
||||
'c_Mg_in_MgOH2': ('mg(mgoh2)', 'mgoh2'),
|
||||
'c_Mg_in_NaMgH3': ('mg(namgh3)', 'mgnamg'),
|
||||
'c_Mo': ('mo',),
|
||||
'c_N_in_GaN': ('n(gan)', 'ngan'),
|
||||
'c_N_in_UN_100p': ('nun100', 'n-un-100p'),
|
||||
'c_N_in_UN_10p': ('nun10', 'n-un-10p'),
|
||||
'c_N_in_UN_5p': ('nun5', 'n-un-5p'),
|
||||
'c_N_in_UN': ('n-un', 'n(un)', 'n(un) l', 'ninun'),
|
||||
'c_N_in_UN_HALEU': ('nunhal', 'n-un-haleu'),
|
||||
'c_N_in_UN_HEU': ('nunheu', 'n-un-heu'),
|
||||
'c_Na': ('na',),
|
||||
'c_Na_in_NaI': ('na(nai)', 'nanai'),
|
||||
'c_Na_in_NaMgH3': ('na(namgh3)', 'nanamg'),
|
||||
'c_Na_in_NaOH': ('na(naoh)', 'nanaoh'),
|
||||
'c_Nb': ('nb',),
|
||||
'c_Ni': ('ni',),
|
||||
'c_O_in_Al2O3': ('osap00', 'osap', 'o(al2o3)'),
|
||||
'c_O_in_BeO': ('obeo', 'o-beo', 'o-be', 'o/be', 'obeo00', 'o(beo)', 'o_beo'),
|
||||
'c_O_in_C2H6O_liquid': ('o(c2h6o)l', 'oetliq'),
|
||||
'c_O_in_C2H6O_solid': ('o(c2h6o)s', 'oetsol'),
|
||||
'c_O_in_C5O2H8': ('olucit', 'o(lucite)'),
|
||||
'c_O_in_CaO2H2': ('o(caoh2)', 'ocaoh'),
|
||||
'c_O_in_D2O': ('od2o', 'o-d2o', 'ohw00', 'o(d2o)'),
|
||||
'c_O_in_H2O': ('o(h2o)', 'oh2o'),
|
||||
'c_O_in_H2O_solid': ('oice', 'o-ice', 'o(ice-ih)'),
|
||||
'c_O_in_Ge3Bi4O12': ('o(ge3bi4o1', 'ogbo'),
|
||||
'c_O_in_KOH': ('o(koh)', 'okoh'),
|
||||
'c_O_in_MgO': ('omgo', 'o in mgo'),
|
||||
'c_O_in_MgOH2': ('o(mgoh2)', 'omgoh'),
|
||||
'c_O_in_NaOH': ('o(naoh)', 'onaoh'),
|
||||
'c_O_in_PuO2': ('opuo2', 'o in puo2'),
|
||||
'c_O_in_SiO2_alpha': ('osio2a', 'o_sio2a'),
|
||||
'c_O_in_UO2_100p': ('ouo200', 'o-uo2-100p'),
|
||||
|
|
@ -111,16 +190,26 @@ _THERMAL_NAMES = {
|
|||
'c_O_in_UO2': ('ouo2', 'o-uo2', 'o2-u', 'o2/u', 'ouo200', 'o(uo2)'),
|
||||
'c_O_in_UO2_HALEU': ('ouo2hl', 'ouo2-haleu'),
|
||||
'c_O_in_UO2_HEU': ('ouo2he', 'o_uo2-heu'),
|
||||
'c_O_in_Y3Al5O12': ('o(y3al5o12', 'oyag'),
|
||||
'c_ortho_D': ('orthod', 'orthoD', 'dortho', 'od200', 'ortod', 'ortho-d'),
|
||||
'c_ortho_H': ('orthoh', 'orthoH', 'hortho', 'oh200', 'ortoh', 'ortho-h'),
|
||||
'c_para_D': ('parad', 'paraD', 'dpara', 'pd200', 'para-d'),
|
||||
'c_para_H': ('parah', 'paraH', 'hpara', 'ph200', 'para-h'),
|
||||
'c_Pb': ('pb',),
|
||||
'c_Pd': ('pd',),
|
||||
'c_Pt': ('pt',),
|
||||
'c_Pu_in_PuO2': ('puo2', 'pu in puo2'),
|
||||
'c_Si28': ('si00', 'sili', 'si'),
|
||||
'c_Si_in_SiC': ('sisic', 'si-sic', 'si(3c-sic)', 'si_sic'),
|
||||
'c_Si_in_SiO2_alpha': ('si_o2a', 'si_sio2a'),
|
||||
'c_SiO2_alpha': ('sio2', 'sio2a', 'sio2alpha'),
|
||||
'c_SiO2_beta': ('sio2b', 'sio2beta'),
|
||||
'c_SiO2_alpha': ('sio2', 'sio2a', 'sio2alpha', 'sio2-a'),
|
||||
'c_SiO2_beta': ('sio2b', 'sio2beta', 'sio2-b'),
|
||||
'c_S_in_ZnS': ('s(zns-spha', 'szns'),
|
||||
'c_Se_in_GaSe': ('se(gase)', 'segase'),
|
||||
'c_Sn': ('sn',),
|
||||
'c_Sr_in_SrH2': ('sr(srh2)', 'srsrh2'),
|
||||
'c_Te_in_GeTe': ('te(gete)', 'tegete'),
|
||||
'c_Ti': ('ti',),
|
||||
'c_U_metal_100p': ('u-100p',),
|
||||
'c_U_metal_10p': ('u-10p',),
|
||||
'c_U_metal_5p': ('u-5p',),
|
||||
|
|
@ -145,11 +234,17 @@ _THERMAL_NAMES = {
|
|||
'c_U_in_UO2': ('uuo2', 'u-uo2', 'u-o2', 'u/o2', 'uuo200', 'u(uo2)'),
|
||||
'c_U_in_UO2_HALEU': ('uo2hal', 'uuo2-haleu'),
|
||||
'c_U_in_UO2_HEU': ('uo2heu', 'u_uo2-heu'),
|
||||
'c_V': ('v',),
|
||||
'c_W': ('w',),
|
||||
'c_Y_in_Y3Al5O12': ('y(y3al5o12', 'yyag'),
|
||||
'c_Y_in_YH2': ('yyh2', 'y-yh2', 'y(yh2)'),
|
||||
'c_Zn': ('zn',),
|
||||
'c_Zn_in_ZnS': ('zn(zns-sph', 'znzns'),
|
||||
'c_Zr': ('zr',),
|
||||
'c_Zr_in_ZrC': ('zrzrc', 'zr(zrc)'),
|
||||
'c_Zr_in_ZrH': ('zrzrh', 'zr-zrh', 'zr-h', 'zr/h', 'zr(zrh)'),
|
||||
'c_Zr_in_ZrH2': ('zrzrh2', 'zr(zrh2)'),
|
||||
'c_Zr_in_ZrHx': ('zrzrhx', 'zr(zrhx)'),
|
||||
'c_Zr_in_ZrH2': ('zrzrh2', 'zr(zrh2)', 'zr(zrh2) i'),
|
||||
'c_Zr_in_ZrHx': ('zrzrhx', 'zr(zrhx)', 'zr(zrh15)'),
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -6,6 +6,8 @@ import random
|
|||
import numpy as np
|
||||
import pytest
|
||||
import openmc.data
|
||||
from openmc.data.thermal import _THERMAL_NAMES
|
||||
from openmc.data.njoy import _THERMAL_DATA
|
||||
|
||||
from . import needs_njoy
|
||||
|
||||
|
|
@ -258,6 +260,27 @@ def test_get_thermal_name():
|
|||
assert f('boogie_monster') == 'c_boogie_monster'
|
||||
|
||||
|
||||
def test_thermal_names_data_consistency():
|
||||
# Check that keys in _THERMAL_NAMES are also in _THERMAL_DATA
|
||||
names_only = set(_THERMAL_NAMES.keys()) - set(_THERMAL_DATA.keys())
|
||||
assert not names_only, f"Keys in _THERMAL_NAMES but not in _THERMAL_DATA: {names_only}"
|
||||
|
||||
# Check that keys in _THERMAL_DATA are also in _THERMAL_NAMES
|
||||
data_only = set(_THERMAL_DATA.keys()) - set(_THERMAL_NAMES.keys())
|
||||
assert not data_only, f"Keys in _THERMAL_DATA but not in _THERMAL_NAMES: {data_only}"
|
||||
|
||||
# Check that the name from each ThermalTuple in _THERMAL_DATA appears as
|
||||
# a recognized alias in _THERMAL_NAMES for the same key
|
||||
missing_aliases = []
|
||||
for key, thermal_tuple in _THERMAL_DATA.items():
|
||||
name = thermal_tuple.name
|
||||
if name not in _THERMAL_NAMES[key]:
|
||||
missing_aliases.append((key, name, _THERMAL_NAMES[key]))
|
||||
assert not missing_aliases, (
|
||||
f"ThermalTuple names not in _THERMAL_NAMES aliases: {missing_aliases}"
|
||||
)
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def fake_mixed_elastic():
|
||||
fake_tsl = openmc.data.ThermalScattering("c_D_in_7LiD", 1.9968, 4.9, [0.0253])
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue