diff options
| author | Connor Moore <connor.moore@psi.ch> | 2026-06-29 10:35:20 +0200 |
|---|---|---|
| committer | Connor Moore <connor.moore@psi.ch> | 2026-06-29 10:35:20 +0200 |
| commit | 0754342e6359ec0210d06211065d043b6152564b (patch) | |
| tree | 0adbe4ba91d1b12dd1bb5fb87f2725b36557ac45 | |
| parent | d043c159e88574c3874306a34e7ca2e68c46dd7a (diff) | |
WIP Material conversion to match INL VTB Serpent model
| -rwxr-xr-x | hpmr.py | 275 |
1 files changed, 227 insertions, 48 deletions
@@ -80,7 +80,8 @@ mat_triso_sic.add_nuclide("Si30",0.0154) mat_triso_sic.add_nuclide("C12",0.5) mat_triso_sic.set_density("g/cc",3.171) mat_triso_sic.temperature = mat_temp_fuel -mat_triso_sic.add_s_alpha_beta("c_SiC") +mat_triso_sic.add_s_alpha_beta("c_C_in_SiC") +mat_triso_sic.add_s_alpha_beta("c_Si_in_SiC") mat_list.append(mat_triso_sic) mat_triso_pyc2 = openmc.Material(204,name="TRISO Pin PyC2") @@ -92,7 +93,7 @@ mat_list.append(mat_triso_pyc2) ## 300 - Moderator Pins ## mat_mod_helium = openmc.Material(300,name="Moderator Pin Helium") -mat_mod_helium.add_element("He4",1.0) +mat_mod_helium.add_nuclide("He4",1.0) mat_mod_helium.set_density("g/cc",0.18e-3) mat_list.append(mat_mod_helium) @@ -166,7 +167,7 @@ mat_mod_ss316_he_smear.add_nuclide('Mo98',8.065e-5) mat_mod_ss316_he_smear.add_nuclide('Mo100',3.234e-5) mat_mod_ss316_he_smear.set_density("atom/b-cm",0.0229) mat_mod_ss316_he_smear.temperature = mat_temp_global -mat_list.add_nuclide(mat_mod_ss316_he_smear) +mat_list.append(mat_mod_ss316_he_smear) # YH2 from official Serpent mat_mod_yh2 = openmc.Material(303,name="Moderater Pin YH2") @@ -178,66 +179,244 @@ mat_mod_yh2.add_s_alpha_beta("c_H_in_YH2") mat_mod_yh2.add_s_alpha_beta("c_Y_in_YH2") mat_list.append(mat_mod_yh2) -## 400s - Heat Pipes ## -mat_pipe_helium = openmc.Material(name="Heat Pipe Helium") -mat_pipe_helium.add_element("He4",1.0) + +## 400 - Heat Pipes ## +mat_pipe_helium = openmc.Material(400,name="Heat Pipe Helium") +mat_pipe_helium.add_nuclide("He4",1.0) mat_pipe_helium.set_density("g/cc",0.18e-3) mat_list.append(mat_pipe_helium) - # From the offical Serpent input mat_pipe_ss316 = openmc.Material(401,name="Heat Pipe SS316") -mat_pipe_ss316.add_nuclide('C12', 0.001901) -mat_pipe_ss316.add_nuclide('Si28', 0.0092693) -mat_pipe_ss316.add_nuclide('Si29', 4.7251e-4) -mat_pipe_ss316.add_nuclide('Si30', 3.1166e-4) -mat_pipe_ss316.add_nuclide('P31', 4.1322e-4) -mat_pipe_ss316.add_nuclide('S32', 2.471e-4) -mat_pipe_ss316.add_nuclide('S33', 1.9511e-6) -mat_pipe_ss316.add_nuclide('S34', 1.1056e-5) -mat_pipe_ss316.add_nuclide('S36', 3.0016e-8) -mat_pipe_ss316.add_nuclide('Cr50', 7.9116e-3) -mat_pipe_ss316.add_nuclide('Cr52', 0.15257) -mat_pipe_ss316.add_nuclide('Cr53', 0.01730) -mat_pipe_ss316.add_nuclide('Cr54', 4.3063e-3) -mat_pipe_ss316.add_nuclide('Mn55', 0.01028) -mat_pipe_ss316.add_nuclide('Fe54', 0.039029) -mat_pipe_ss316.add_nuclide('Fe56', 0.61213) -mat_pipe_ss316.add_nuclide('Fe57', 0.014144) -mat_pipe_ss316.add_nuclide('Fe58', 1.3343e-3) -mat_pipe_ss316.add_nuclide('Ni58', 0.077516) -mat_pipe_ss316.add_nuclide('Ni60', 0.029859) -mat_pipe_ss316.add_nuclide('Ni61', 1.2981e-3) -mat_pipe_ss316.add_nuclide('Ni62', 4.1389e-3) -mat_pipe_ss316.add_nuclide('Ni64', 1.0544e-3) -mat_pipe_ss316.add_nuclide('Mo92', 2.1259e-3) -mat_pipe_ss316.add_nuclide('Mo94', 1.3299e-3) -mat_pipe_ss316.add_nuclide('Mo95', 2.303e-3) -mat_pipe_ss316.add_nuclide('Mo96', 2.4191e-3) -mat_pipe_ss316.add_nuclide('Mo97', 1.3903e-3) -mat_pipe_ss316.add_nuclide('Mo98', 3.5249e-3) +mat_pipe_ss316.add_nuclide('C12', 0.001901) +mat_pipe_ss316.add_nuclide('Si28',0.0092693) +mat_pipe_ss316.add_nuclide('Si29',4.7251e-4) +mat_pipe_ss316.add_nuclide('Si30',3.1166e-4) +mat_pipe_ss316.add_nuclide('P31', 4.1322e-4) +mat_pipe_ss316.add_nuclide('S32', 2.471e-4) +mat_pipe_ss316.add_nuclide('S33', 1.9511e-6) +mat_pipe_ss316.add_nuclide('S34', 1.1056e-5) +mat_pipe_ss316.add_nuclide('S36', 3.0016e-8) +mat_pipe_ss316.add_nuclide('Cr50',7.9116e-3) +mat_pipe_ss316.add_nuclide('Cr52',0.15257) +mat_pipe_ss316.add_nuclide('Cr53',0.01730) +mat_pipe_ss316.add_nuclide('Cr54',4.3063e-3) +mat_pipe_ss316.add_nuclide('Mn55',0.01028) +mat_pipe_ss316.add_nuclide('Fe54',0.039029) +mat_pipe_ss316.add_nuclide('Fe56',0.61213) +mat_pipe_ss316.add_nuclide('Fe57',0.014144) +mat_pipe_ss316.add_nuclide('Fe58',1.3343e-3) +mat_pipe_ss316.add_nuclide('Ni58',0.077516) +mat_pipe_ss316.add_nuclide('Ni60',0.029859) +mat_pipe_ss316.add_nuclide('Ni61',1.2981e-3) +mat_pipe_ss316.add_nuclide('Ni62',4.1389e-3) +mat_pipe_ss316.add_nuclide('Ni64',1.0544e-3) +mat_pipe_ss316.add_nuclide('Mo92',2.1259e-3) +mat_pipe_ss316.add_nuclide('Mo94',1.3299e-3) +mat_pipe_ss316.add_nuclide('Mo95',2.303e-3) +mat_pipe_ss316.add_nuclide('Mo96',2.4191e-3) +mat_pipe_ss316.add_nuclide('Mo97',1.3903e-3) +mat_pipe_ss316.add_nuclide('Mo98',3.5249e-3) mat_pipe_ss316.add_nuclide('Mo100',1.4135e-3) mat_pipe_ss316.set_density("g/cc",7.67) mat_list.append(mat_pipe_ss316) -mat_pipe_k_liquid = openmc.Material(name="Heat Pipe Potassium (Liquid)") -mat_pipe_k_liquid.add_element("K",1.0) +mat_pipe_k_liquid = openmc.Material(402,name="Heat Pipe Potassium (Liquid)") +mat_pipe_k_liquid.add_nuclide("K39",0.93258) +mat_pipe_k_liquid.add_nuclide("K40",0.00012) +mat_pipe_k_liquid.add_nuclide("K41",0.06730) mat_pipe_k_liquid.set_density("g/cc",0.705) +mat_pipe_k_liquid.temperature = mat_temp_global mat_list.append(mat_pipe_k_liquid) -mat_pipe_wick = openmc.Material.mix_materials( - name = "Heat Pipe Wick", - materials = [mat_pipe_k_liquid, mat_pipe_ss316], - fracs = [0.7, 0.3], - percent_type = 'vo' - ) -mat_list.append(mat_pipe_wick) - -mat_pipe_k_gas = openmc.Material(name="Heat Pipe Potassium (Gaseous)") -mat_pipe_k_gas.add_element("K",1.0) +mat_pipe_k_gas = openmc.Material(403,name="Heat Pipe Potassium (Gaseous)") +mat_pipe_k_gas.add_nuclide("K39",0.93258) +mat_pipe_k_gas.add_nuclide("K40",0.00012) +mat_pipe_k_gas.add_nuclide("K41",0.06730) +mat_pipe_k_gas.temperature = mat_temp_global mat_pipe_k_gas.set_density("g/cc",1.11e-4) mat_list.append(mat_pipe_k_gas) +mat_pipe_wick_smear = openmc.Material(404,name="Heat Pipe Wick (Smeared)") +mat_pipe_wick_smear.add_nuclide('C12',5.589e-4) +mat_pipe_wick_smear.add_nuclide('Si28',2.725e-3) +mat_pipe_wick_smear.add_nuclide('Si29',1.389e-4) +mat_pipe_wick_smear.add_nuclide('Si30',9.163e-5) +mat_pipe_wick_smear.add_nuclide('P31',1.215e-4) +mat_pipe_wick_smear.add_nuclide('S32',7.265e-5) +mat_pipe_wick_smear.add_nuclide('S33',5.736e-7) +mat_pipe_wick_smear.add_nuclide('S34',3.25e-6) +mat_pipe_wick_smear.add_nuclide('S36',8.825e-9) +mat_pipe_wick_smear.add_nuclide('Cr50',2.326e-3) +mat_pipe_wick_smear.add_nuclide('Cr52',4.485e-2) +mat_pipe_wick_smear.add_nuclide('Cr53',5.086e-3) +mat_pipe_wick_smear.add_nuclide('Cr54',1.266e-3) +mat_pipe_wick_smear.add_nuclide('Mn55',3.022e-3) +mat_pipe_wick_smear.add_nuclide('Fe54',1.147e-2) +mat_pipe_wick_smear.add_nuclide('Fe56',0.18) +mat_pipe_wick_smear.add_nuclide('Fe57',4.158e-3) +mat_pipe_wick_smear.add_nuclide('Fe58',3.923e-4) +mat_pipe_wick_smear.add_nuclide('Ni58',2.279e-2) +mat_pipe_wick_smear.add_nuclide('Ni60',8.778e-3) +mat_pipe_wick_smear.add_nuclide('Ni61',3.816e-4) +mat_pipe_wick_smear.add_nuclide('Ni62',1.217e-3) +mat_pipe_wick_smear.add_nuclide('Ni64',3.10e-4) +mat_pipe_wick_smear.add_nuclide('Mo92',6.25e-4) +mat_pipe_wick_smear.add_nuclide('Mo94',3.91e-4) +mat_pipe_wick_smear.add_nuclide('Mo95',6.771e-4) +mat_pipe_wick_smear.add_nuclide('Mo96',7.112e-4) +mat_pipe_wick_smear.add_nuclide('Mo97',4.087e-4) +mat_pipe_wick_smear.add_nuclide('Mo98',1.036e-3) +mat_pipe_wick_smear.add_nuclide('Mo100',4.156e-4) +mat_pipe_wick_smear.add_nuclide('K39',0.6584) +mat_pipe_wick_smear.add_nuclide('K40',8.472e-5) +mat_pipe_wick_smear.add_nuclide('K41',4.751e-2) +mat_pipe_wick_smear.temperature = mat_temp_global +mat_pipe_wick_smear.set_density("g/cc",2.753) +mat_list.append(mat_pipe_wick_smear) + +mat_pipe_inner_he = openmc.Material(405,name="Heat Pipe Inner He Smear") +mat_pipe_inner_he.add_nuclide('He4',2.68e-5) +mat_pipe_inner_he.add_nuclide('C12',1.62e-6) +mat_pipe_inner_he.add_nuclide('Si28',7.92e-6) +mat_pipe_inner_he.add_nuclide('Si29',4.04e-7) +mat_pipe_inner_he.add_nuclide('Si30',2.66e-7) +mat_pipe_inner_he.add_nuclide('P31',3.53e-7) +mat_pipe_inner_he.add_nuclide('S32',2.11e-7) +mat_pipe_inner_he.add_nuclide('S33',1.67e-9) +mat_pipe_inner_he.add_nuclide('S34',9.45e-9) +mat_pipe_inner_he.add_nuclide('S36',2.57e-11) +mat_pipe_inner_he.add_nuclide('Cr50',6.76e-6) +mat_pipe_inner_he.add_nuclide('Cr52',1.30e-4) +mat_pipe_inner_he.add_nuclide('Cr53',1.48e-5) +mat_pipe_inner_he.add_nuclide('Cr54',3.68e-6) +mat_pipe_inner_he.add_nuclide('Mn55',8.79e-6) +mat_pipe_inner_he.add_nuclide('Fe54',3.34e-5) +mat_pipe_inner_he.add_nuclide('Fe56',5.23e-4) +mat_pipe_inner_he.add_nuclide('Fe57',1.21e-5) +mat_pipe_inner_he.add_nuclide('Fe58',1.14e-6) +mat_pipe_inner_he.add_nuclide('Ni58',6.63e-5) +mat_pipe_inner_he.add_nuclide('Ni60',2.55e-5) +mat_pipe_inner_he.add_nuclide('Ni61',1.11e-6) +mat_pipe_inner_he.add_nuclide('Ni62',3.54e-6) +mat_pipe_inner_he.add_nuclide('Ni64',9.01e-7) +mat_pipe_inner_he.add_nuclide('Mo92',1.82e-6) +mat_pipe_inner_he.add_nuclide('Mo94',1.14e-6) +mat_pipe_inner_he.add_nuclide('Mo95',1.97e-6) +mat_pipe_inner_he.add_nuclide('Mo96',2.07e-6) +mat_pipe_inner_he.add_nuclide('Mo97',1.19e-6) +mat_pipe_inner_he.add_nuclide('Mo98',3.01e-6) +mat_pipe_inner_he.add_nuclide('Mo100',1.21e-6) +mat_pipe_inner_he.temperature = mat_temp_global +mat_pipe_inner_he.set_density("atom/b-cm",0.0008815) +mat_list.append(mat_pipe_inner_he) + +mat_pipe_inner_region = openmc.Material(406,name="Heat Piper Inner Region Smear (vapour K + liquid K + wick)") +mat_pipe_inner_region.add_nuclide('C12',3.808e-6) +mat_pipe_inner_region.add_nuclide('Si28',1.856e-5) +mat_pipe_inner_region.add_nuclide('Si29',9.463e-7) +mat_pipe_inner_region.add_nuclide('Si30',6.242e-7) +mat_pipe_inner_region.add_nuclide('P31',8.277e-7) +mat_pipe_inner_region.add_nuclide('S32',4.949e-7) +mat_pipe_inner_region.add_nuclide('S33',3.908e-9) +mat_pipe_inner_region.add_nuclide('S34',2.214e-8) +mat_pipe_inner_region.add_nuclide('S36',6.012e-11) +mat_pipe_inner_region.add_nuclide('Cr50',1.585e-5) +mat_pipe_inner_region.add_nuclide('Cr52',3.055e-4) +mat_pipe_inner_region.add_nuclide('Cr53',3.465e-5) +mat_pipe_inner_region.add_nuclide('Cr54',8.625e-6) +mat_pipe_inner_region.add_nuclide('Mn55',2.059e-5) +mat_pipe_inner_region.add_nuclide('Fe54',7.814e-5) +mat_pipe_inner_region.add_nuclide('Fe56',1.226e-3) +mat_pipe_inner_region.add_nuclide('Fe57',2.833e-5) +mat_pipe_inner_region.add_nuclide('Fe58',2.673e-6) +mat_pipe_inner_region.add_nuclide('Ni58',1.553e-4) +mat_pipe_inner_region.add_nuclide('Ni60',5.98e-5) +mat_pipe_inner_region.add_nuclide('Ni61',2.60e-6) +mat_pipe_inner_region.add_nuclide('Ni62',8.291e-6) +mat_pipe_inner_region.add_nuclide('Ni64',2.112e-6) +mat_pipe_inner_region.add_nuclide('Mo92',4.258e-6) +mat_pipe_inner_region.add_nuclide('Mo94',2.664e-6) +mat_pipe_inner_region.add_nuclide('Mo95',4.613e-6) +mat_pipe_inner_region.add_nuclide('Mo96',4.845e-6) +mat_pipe_inner_region.add_nuclide('Mo97',2.784e-6) +mat_pipe_inner_region.add_nuclide('Mo98',7.058e-6) +mat_pipe_inner_region.add_nuclide('Mo100',2.831e-6) +mat_pipe_inner_region.add_nuclide('K39',5.895e-3) +mat_pipe_inner_region.add_nuclide('K40',7.586e-7) +mat_pipe_inner_region.add_nuclide('K41',4.254e-4) +mat_pipe_inner_region.temperature = mat_temp_global +mat_pipe_inner_region.set_density("atom/b-cm",0.08324) +mat_list.append(mat_pipe_inner_region) + + +mat_pipe_he_gap_smear = openmc.Material(407,name="Heat Pipe He Gap SS316 Smear") +mat_pipe_he_gap_smear.add_nuclide('He4',5.629e-6) +mat_pipe_he_gap_smear.add_nuclide('C12',1.287e-4) +mat_pipe_he_gap_smear.add_nuclide('Si28',6.276e-4) +mat_pipe_he_gap_smear.add_nuclide('Si29',3.199e-5) +mat_pipe_he_gap_smear.add_nuclide('Si30',2.11e-5) +mat_pipe_he_gap_smear.add_nuclide('P31',2.798e-5) +mat_pipe_he_gap_smear.add_nuclide('S32',1.673e-5) +mat_pipe_he_gap_smear.add_nuclide('S33',1.321e-7) +mat_pipe_he_gap_smear.add_nuclide('S34',7.486e-7) +mat_pipe_he_gap_smear.add_nuclide('S36',2.032e-9) +mat_pipe_he_gap_smear.add_nuclide('Cr50',5.357e-4) +mat_pipe_he_gap_smear.add_nuclide('Cr52',1.033e-2) +mat_pipe_he_gap_smear.add_nuclide('Cr53',1.171e-3) +mat_pipe_he_gap_smear.add_nuclide('Cr54',2.916e-4) +mat_pipe_he_gap_smear.add_nuclide('Mn55',6.96e-4) +mat_pipe_he_gap_smear.add_nuclide('Fe54',2.643e-3) +mat_pipe_he_gap_smear.add_nuclide('Fe56',0.04145) +mat_pipe_he_gap_smear.add_nuclide('Fe57',9.576e-4) +mat_pipe_he_gap_smear.add_nuclide('Fe58',9.034e-5) +mat_pipe_he_gap_smear.add_nuclide('Ni58',5.248e-3) +mat_pipe_he_gap_smear.add_nuclide('Ni60',2.022e-3) +mat_pipe_he_gap_smear.add_nuclide('Ni61',8.789e-5) +mat_pipe_he_gap_smear.add_nuclide('Ni62',2.802e-4) +mat_pipe_he_gap_smear.add_nuclide('Ni64',7.139e-5) +mat_pipe_he_gap_smear.add_nuclide('Mo92',1.439e-4) +mat_pipe_he_gap_smear.add_nuclide('Mo94',9.004e-5) +mat_pipe_he_gap_smear.add_nuclide('Mo95',1.559e-4) +mat_pipe_he_gap_smear.add_nuclide('Mo96',1.638e-4) +mat_pipe_he_gap_smear.add_nuclide('Mo97',9.413e-5) +mat_pipe_he_gap_smear.add_nuclide('Mo98',2.387e-4) +mat_pipe_he_gap_smear.add_nuclide('Mo100',9.57e-5) +mat_pipe_he_gap_smear.temperature = mat_temp_global +mat_pipe_he_gap_smear.set_density("atom/b-cm",0.06771) +mat_list.append(mat_pipe_he_gap_smear) + +## 500 - Core-level details ## + +mat_core_be_reflector = openmc.Material(500,name="Core Beryllium Reflector") +mat_core_be_reflector.add_nuclide("Be9",1.0) +mat_core_be_reflector.temperature = mat_temp_global +mat_core_be_reflector.set_density("g/cc",1.848) +mat_core_be_reflector.add_s_alpha_beta("c_Be") +mat_list.append(mat_core_be_reflector) + +mat_core_be_control_drum = openmc.Material(501,name="Core Beryllium Control Drum") +mat_core_be_control_drum.add_nuclide("Be9",1.0) +mat_core_be_control_drum.temperature = mat_temp_global +mat_core_be_control_drum.set_density("g/cc",1.848) +mat_core_be_control_drum.add_s_alpha_beta("c_Be") +mat_list.append(mat_core_be_control_drum) + +mat_core_b4c_control_drum = openmc.Material(502,name="Core B4C Control Drum Absorber") +mat_core_b4c_control_drum.add_nuclide("B10",0.76) +mat_core_b4c_control_drum.add_nuclide("B11",0.04) +mat_core_b4c_control_drum.add_nuclide("C12",0.20) +mat_core_b4c_control_drum.temperature = mat_temp_global +mat_core_b4c_control_drum.set_density("g/cc",2.51) + +mat_core_b4c_central = openmc.Material(503,name="Core B4C Central Absorber") +mat_core_b4c_central.add_nuclide("B10",0.76) +mat_core_b4c_central.add_nuclide("B11",0.04) +mat_core_b4c_central.add_nuclide("C12",0.20) +mat_core_b4c_central.temperature = mat_temp_global +mat_core_b4c_central.set_density("g/cc",1.25) + + ############ GEOMETRY ############ # All measurements are in cm unless specified geo_constant_pin_pitch = 2.3 |
