diff options
| author | connorhhmoore <connor.moore@ontariotechu.net> | 2026-09-02 16:20:19 +0200 |
|---|---|---|
| committer | connorhhmoore <connor.moore@ontariotechu.net> | 2026-09-02 16:20:19 +0200 |
| commit | 9f54396f3bcf20170f5bc402e4585ce0f4fbfc86 (patch) | |
| tree | dbae1585610b7a984f31be8a4e840732993d8d7f /pin.py | |
| parent | 70474c06b8b08485153b96b28b25cd2be1b2d16f (diff) | |
Added support for dynamic enrichment
Diffstat (limited to 'pin.py')
| -rwxr-xr-x | pin.py | 32 |
1 files changed, 22 insertions, 10 deletions
@@ -15,7 +15,8 @@ cli_parser = argparse.ArgumentParser( cli_parser.add_argument("-t","--technique",default="none",choices=["none","vwh","rpt","rrpt"],help="What homogenization technique to use (if any) [none/vwh/rpt/rrpt], default none") cli_parser.add_argument("-r","--radius",default="0.5",type=float,help="Radius for RPT or RRPT homogenization [cm], default 0.5 cm. In the case of RRPT, this is the inner radius.") cli_parser.add_argument("-p","--packing-factor",default=0.29,type=float,help="Packing factor for TRISO packing (0.0, 1.0), default 0.29") -cli_parser.add_argument("-f","--fuel",default="uo2",choices=["uo2","uco5","uco10","uco15","uco20","un"],help="What type of fuel to use [uo2/uco10/uco15/uco20/un], default uo2.") +cli_parser.add_argument("-f","--fuel",default="uo2",choices=["uo2","uco5","uco10","uco15","uco20","ucodyn","un"],help="What type of fuel to use [uo2/uco10/uco15/uco20/ucodyn/un], default uo2.") +cli_parser.add_argument("-en","--enrichment",default=5.0,type=float,help="Enrichment of fuel (if using dynamic)") cli_parser.add_argument("-e","--execute",default=False,action="store_true",help="Whether or not to automatically run OpenMC, default false.") cli_args = cli_parser.parse_args() @@ -56,7 +57,17 @@ mat_triso_uo2.add_s_alpha_beta("c_U_in_UO2") mat_triso_uo2.add_s_alpha_beta("c_O_in_UO2") mat_list.append(mat_triso_uo2) -mat_triso_uco_5wo = openmc.Material(201,name="TRISO Pin 5% UCO Kernel") +mat_triso_uco_dyn = openmc.Material(201,name=f"TRISO Pin {cli_args.enrichment}% UCO Kernel") +mat_triso_uco_dyn.add_element("U",0.5,enrichment=cli_args.enrichment) +mat_triso_uco_dyn.add_nuclide("C12",0.13793) +mat_triso_uco_dyn.add_nuclide("O16",0.51724) +mat_triso_uco_dyn.set_density("g/cc",10.744) +mat_triso_uco_dyn.temperature = mat_temp_fuel +mat_triso_uco_dyn.add_s_alpha_beta("c_U_in_UC_5p") +mat_triso_uco_dyn.add_s_alpha_beta("c_C_in_UC_5p") +mat_list.append(mat_triso_uco_dyn) + +mat_triso_uco_5wo = openmc.Material(202,name="TRISO Pin 5% UCO Kernel") mat_triso_uco_5wo.add_nuclide("U235",0.0172417) mat_triso_uco_5wo.add_nuclide("U238",0.3275923) mat_triso_uco_5wo.add_nuclide("C12",0.13793) @@ -67,7 +78,7 @@ mat_triso_uco_5wo.add_s_alpha_beta("c_U_in_UC_5p") mat_triso_uco_5wo.add_s_alpha_beta("c_C_in_UC_5p") mat_list.append(mat_triso_uco_5wo) -mat_triso_uco_10wo = openmc.Material(202,name="TRISO Pin 10% UCO Kernel") +mat_triso_uco_10wo = openmc.Material(203,name="TRISO Pin 10% UCO Kernel") mat_triso_uco_10wo.add_nuclide("U235",0.034483) mat_triso_uco_10wo.add_nuclide("U238",0.310400) mat_triso_uco_10wo.add_nuclide("C12",0.13793) @@ -78,7 +89,7 @@ mat_triso_uco_10wo.add_s_alpha_beta("c_U_in_UC_10p") mat_triso_uco_10wo.add_s_alpha_beta("c_C_in_UC_10p") mat_list.append(mat_triso_uco_10wo) -mat_triso_uco_15wo = openmc.Material(203,name="TRISO Pin 15.5% UCO Kernel") +mat_triso_uco_15wo = openmc.Material(204,name="TRISO Pin 15.5% UCO Kernel") mat_triso_uco_15wo.add_nuclide("U235",0.051732) mat_triso_uco_15wo.add_nuclide("U238",0.293200) mat_triso_uco_15wo.add_nuclide("C12",0.13793) @@ -89,7 +100,7 @@ mat_triso_uco_15wo.add_s_alpha_beta("c_U_in_UC_10p") mat_triso_uco_15wo.add_s_alpha_beta("c_C_in_UC_10p") mat_list.append(mat_triso_uco_15wo) -mat_triso_uco_20wo = openmc.Material(204,name="TRISO Pin 20% UCO Kernel") +mat_triso_uco_20wo = openmc.Material(205,name="TRISO Pin 20% UCO Kernel") mat_triso_uco_20wo.add_nuclide("U235",0.068794) mat_triso_uco_20wo.add_nuclide("U238",0.27604) mat_triso_uco_20wo.add_nuclide("C12",0.13793) @@ -100,7 +111,7 @@ mat_triso_uco_20wo.add_s_alpha_beta("c_U_in_UC_HALEU") mat_triso_uco_20wo.add_s_alpha_beta("c_C_in_UC_HALEU") mat_list.append(mat_triso_uco_20wo) -mat_triso_un = openmc.Material(205,name="TRISO Pin UN Kernel") +mat_triso_un = openmc.Material(206,name="TRISO Pin UN Kernel") mat_triso_un.add_nuclide("U235",2.1125e-4) mat_triso_un.add_nuclide("U238",2.8758e-2) mat_triso_un.add_nuclide("U234",1.6795e-6) @@ -112,21 +123,21 @@ mat_triso_un.add_s_alpha_beta("c_U_in_UN") mat_triso_un.add_s_alpha_beta("c_N_in_UN") mat_list.append(mat_triso_un) -mat_triso_buffer = openmc.Material(206,name="TRISO Pin Buffer") +mat_triso_buffer = openmc.Material(207,name="TRISO Pin Buffer") mat_triso_buffer.add_nuclide("C12",1.0) mat_triso_buffer.set_density("g/cc",1.04) mat_triso_buffer.temperature = mat_temp_fuel mat_triso_buffer.add_s_alpha_beta("c_Graphite") mat_list.append(mat_triso_buffer) -mat_triso_pyc1 = openmc.Material(207,name="TRISO Pin PyC1") +mat_triso_pyc1 = openmc.Material(208,name="TRISO Pin PyC1") mat_triso_pyc1.add_nuclide("C12",1.0) mat_triso_pyc1.set_density("g/cc",1.882) mat_triso_pyc1.temperature = mat_temp_fuel mat_triso_pyc1.add_s_alpha_beta("c_Graphite") mat_list.append(mat_triso_pyc1) -mat_triso_sic = openmc.Material(208,name="TRISO Pin SiC") +mat_triso_sic = openmc.Material(209,name="TRISO Pin SiC") mat_triso_sic.add_nuclide("Si28",0.4611) mat_triso_sic.add_nuclide("Si29",0.0234) mat_triso_sic.add_nuclide("Si30",0.0154) @@ -137,7 +148,7 @@ 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(209,name="TRISO Pin PyC2") +mat_triso_pyc2 = openmc.Material(210,name="TRISO Pin PyC2") mat_triso_pyc2.add_nuclide("C12",1.0) mat_triso_pyc2.add_s_alpha_beta("c_Graphite") mat_triso_pyc2.temperature = mat_temp_fuel @@ -151,6 +162,7 @@ mat_fuel_map = { "uco10":mat_triso_uco_10wo, "uco15":mat_triso_uco_15wo, "uco20":mat_triso_uco_20wo, + "ucodyn":mat_triso_uco_dyn, "un":mat_triso_un } |
