From 1ca291087b5477315446a34950589c6b66caada9 Mon Sep 17 00:00:00 2001 From: Anupama Rajendra <113371601+anu1217@users.noreply.github.com> Date: Tue, 5 Nov 2024 15:43:38 -0600 Subject: [PATCH 01/28] Mix HCPB Materials using fusion-materials-db --- HCPB_Build_Dict.py | 175 +++++++++++++++++++++++++++ HCPB_Mix_Materials.py | 80 ++++++++++++ openmc_Materials_Object_from_json.py | 27 +++++ 3 files changed, 282 insertions(+) create mode 100644 HCPB_Build_Dict.py create mode 100644 HCPB_Mix_Materials.py create mode 100644 openmc_Materials_Object_from_json.py diff --git a/HCPB_Build_Dict.py b/HCPB_Build_Dict.py new file mode 100644 index 0000000..b19246c --- /dev/null +++ b/HCPB_Build_Dict.py @@ -0,0 +1,175 @@ +import openmc +from radial_build_tools import ToroidalModel, RadialBuildPlot +from openmc_Materials_Object_from_json import * + +with open('mixedPureFusionMatsHCPB_libv1.json', 'r') as mixed_mat_json: + mixed_mat = json.load(mixed_mat_json) + +major_radius = 800 +minor_radius_z = 114 +minor_radius_xy = 114 +scoring_layer_thickness = 0.5 + +make_mat = Make_Material(mixed_mat) +materials = Make_All_Materials(make_mat) + +build_dict = { + "sol": { + "thickness": 5, + "composition": {"Void": 1.0}, + "colour": "#E0E0E0", # Light grey + + }, + "fw_armor": { + "thickness": 0.2, + #"composition": mixed_materials["FWWArmor"]["vol_fracs"], + "material_name": "fw_armor", + "colour": "#FFD700", # Gold + "scores": ["heating"], + }, + "fw": { + "thickness": 3.8, + #"composition": mixed_materials["FW"]["vol_fracs"], + "material_name": "fw", + "colour": "#DAA520", # Goldenrod + "scores": ["fast_fluence", "he_prod", "fe_dpa", "heating"], + }, + "breeder": { + "thickness": 50, + "composition": {"BreederHCPB": 1.0}, + "material_name": "breeder", + "description": "Thickness Varies", + "colour": "#B22222", # Firebrick + "scores": ["tbr", "heating"], + }, + "bw": { + "thickness": 10, + "composition": {"BWHCPB": 1.0}, + "material_name": "bw", + "colour": "#8B0000", # Dark red + "scores": ["tbr", "heating","fast_fluence"], + }, + "manifold_front_plate": { + "thickness": 5, + "composition": {"EUROFER97": 1.0}, + "material_name": "manifold_front_plate", + "colour": "#4682B4", # Steel blue + "scores": ["heating"], + }, + "manifold": { + "thickness": 10, + "composition": {"HeT410P80": 1.0}, + "material_name": "manifold", + "colour": "#5F9EA0", # Cadet blue + }, + "manifold_back_plate": { + "thickness": 5, + "composition": {"EUROFER97": 1.0}, + "material_name": "manifold_back_plate", + "colour": "#4682B4", # Steel blue + "scores": ["heating"], + }, + "hts_front_plate": { + "thickness": scoring_layer_thickness, + "material_name": "hts_front_plate", + #"description": "for scoring, same composition as HTS", + "colour": "#32CD32", # Lime green + "scores": ["fast_fluence", "he_prod", "fe_dpa", "heating"], + }, + "hts": { + "thickness": 9, + #"composition": mixed_materials["FNSFIBSR"]["vol_fracs"], + "material_name": "hts", + "description": "Thickness Varies", + "colour": "#00FF00", # Green + "scores": ["heating"], + }, + "hts_back_plate": { + "thickness": scoring_layer_thickness, + "material_name": "hts_back_plate", + #"description": "for scoring, same composition as HTS", + "colour": "#32CD32", # Lime green + "scores": ["fast_fluence", "he_prod", "fe_dpa", "heating"], + }, + "gap_1": { + "thickness": 1, + "composition": {"Void": 1.0}, + "colour": "#F5F5F5", # White smoke + }, + "vv_front_plate": { + "thickness": 2, + #"composition": mixed_materials["VVFill"]["vol_fracs"], + "material_name": "vv_front_plate", + "colour": "#A9A9A9", # Dark grey + "scores": ["fast_fluence", "he_prod", "fe_dpa", "heating"], + }, + "vv_fill": { + "thickness": 6, + "composition": {"VVFill": 1.0}, + "material_name": "vv_fill", + "colour": "#778899", # Light slate grey + "scores": ["heating"], + }, + "vv_back_plate": { + "thickness": 2, + "composition": {"SS316L": 1.0}, + "material_name": "vv_back_plate", + "colour": "#A9A9A9", # Dark grey + "scores": ["fast_fluence", "he_prod", "fe_dpa", "heating"], + }, + "gap_2": { + "thickness": 2, + "composition": {"AirSTP": 1.0}, + "material_name": "gap_2", + "colour": "#E0FFFF", # Light cyan + }, + "lts_front_plate": { + "thickness": scoring_layer_thickness, + #"composition": {"LTS": 1.0}, + "material_name": "lts_front_plate", + #"description": "For scoring, same composition as LTS", + "colour": "#7FFFD4", # Aquamarine + "scores": ["fast_fluence", "he_prod", "fe_dpa", "heating"], + }, + "lts": { + "thickness": 9, + "composition": {"LTS": 1.0}, + "material_name": "lts", + "description": "Thickness Varies", + "colour": "#00FA9A", # Medium spring green + "scores": ["heating"], + }, + "lts_back_plate": { + "thickness": scoring_layer_thickness, + #"composition": {"LTS": 1.0}, + "material_name": "lts_back_plate", + #"description": "For scoring, same composition as LTS", + "colour": "#7FFFD4", # Aquamarine + "scores": ["fast_fluence", "he_prod", "fe_dpa", "heating"], + }, + "thermal_insulator": { + "thickness": 10, + "composition": {"AirSTP": 1.0}, + "material_name": "thermal_insulator", + "colour": "#B0E0E6", # Powder blue + "scores": ["heating"], + }, + "coil_pack_front_plate": { + "thickness": scoring_layer_thickness, + "material_name": "coil_pack_front_plate", + #"description": "cell for scoring peak values, same composition as coil_pack", + "colour": "#FF6347", # Tomato + "scores": ["fast_fluence", "cu_dpa", "heating"], + }, + "coil_pack": { + "thickness": 52, + "composition": {"coils": 1.0}, + "material_name": "coil_pack", + "colour": "#FF4500", # Orange red + "scores": ["heating"], + }, +} + +toroidal_model = ToroidalModel( + build_dict, major_radius, minor_radius_z, minor_radius_xy, materials +) \ No newline at end of file diff --git a/HCPB_Mix_Materials.py b/HCPB_Mix_Materials.py new file mode 100644 index 0000000..7644d22 --- /dev/null +++ b/HCPB_Mix_Materials.py @@ -0,0 +1,80 @@ +import openmc +import json +import material_db_tools as mdbt + +''' +This script specifies the composition of each HCPB component and its corresponding citation. +mdbt.mix_by_volume is called to mix individual materials and generate a new .json file. +''' + +with open('PureFusionMaterials_libv1.json', 'r') as pure_mat_json: + pure_mat = json.load(pure_mat_json) + +mat_data = {} + +#Volume fractions of constituent materials +material_comp = { +'fw_armor' : {"W": 1.00}, + 'fw' : {"W": 0.1, "EUROFER97" : 0.9}, +'breeder' : {"Li4SiO4Li60.0":0.65, "Li2TiO3Li60.0":0.35}, #need to convert mol% to vol% +'bw' : {"MF82H" : 0.8, "HeNIST" : 0.2}, +'manifold_front_plate' : {"EUROFER97": 1.0}, +'manifold' : {"HeT410P80": 1.00}, +'manifold_back_plate' : {"HeT410P80": 1.00}, +'hts_front_plate' : {"MF82H": 0.20, "HeNIST": 0.28, "BMF82H" : 0.52}, +'hts': {"MF82H": 0.20, "HeNIST": 0.28, "BMF82H" : 0.52}, +'hts_back_plate' : {"MF82H": 0.20, "HeNIST": 0.28, "BMF82H" : 0.52}, +'vv_front_plate' : {"HeNIST" : 0.4, "Cr3FS" : 0.6}, #changed from SS316L in corresponding build_dict +'vv_fill' : {"HeNIST" : 0.4, "Cr3FS" : 0.6}, +'vv_back_plate' : {"HeNIST" : 0.4, "Cr3FS" : 0.6}, #changed from SS316L in corresponding build_dict +'gap_2' : {"AirSTP": 1.0}, +'lts_front_plate' : {"Cr3FS": 0.39, "BMF82H": 0.29, "Water": 0.32}, +'lts' : {"Cr3FS": 0.39, "BMF82H": 0.29, "Water": 0.32}, +'lts_back_plate' : {"Cr3FS": 0.39, "BMF82H": 0.29, "Water": 0.32}, +'thermal_insulator' : {'AirSTP': 1.0}, +'coil_pack_front_plate' : {"JK2LBSteel": 0.3, "Cu": 0.25, "TernaryNb3Sn" : 0.25, "Eins" : 0.1, "HeNIST" : 0.1}, +'coil_pack' : {"JK2LBSteel": 0.3, "Cu": 0.25, "TernaryNb3Sn" : 0.25, "Eins" : 0.1, "HeNIST" : 0.1}, +} + +citation_list = { + 'fw_armor' : "ZhouEUDEMOHCPB_2023", + 'fw' : "ZhouEUDEMOHCPB_2023", + 'breeder' : "ZhouEUDEMOHCPB_2023", + 'bw' : "DavisFusEngDes_2018", + 'manifold_front_plate' : "DavisFusEngDes_2018", + 'manifold' : "DavisFusEngDes_2018", + 'manifold_back_plate' : "DavisFusEngDes_2018", + 'hts_front_plate' : "DavisFusEngDes_2018", + 'hts' : "DavisFusEngDes_2018", + 'hts_back_plate' : "DavisFusEngDes_2018", + 'vv_front_plate' : "DavisFusEngDes_2018", + 'vv_fill' : "DavisFusEngDes_2018", + 'vv_back_plate' : "DavisFusEngDes_2018", + 'gap_2' : "ZhouEUDEMOHCPB_2023" , + 'lts_front_plate' : "DavisFusEngDes_2018", + 'lts' : "DavisFusEngDes_2018", + 'lts_back_plate' : "DavisFusEngDes_2018", + 'thermal_insulator' : "ZhouEUDEMOHCPB_2023", + 'coil_pack_front_plate' : "DavisFusEngDes_2018", + 'coil_pack' : "DavisFusEngDes_2018", + } + +for mat_name, comp in material_comp.items(): + mat_data[mat_name] = { + "vol_fracs": comp, + "mixture_citation" : citation_list[mat_name], + } + +# Load material library +mat_lib = mdbt.MaterialLibrary() +mat_lib.from_json("PureFusionMaterials_libv1.json") + +# create material library object +mixmat_lib = mdbt.MaterialLibrary() +for mat_name, mat_input in mat_data.items(): + mixmat_lib[mat_name] = mdbt.mix_by_volume( + mat_lib, mat_input["vol_fracs"], mat_input["mixture_citation"] + ) + +# write fnsf material library +mixmat_lib.write_json("mixedPureFusionMatsHCPB_libv1.json") \ No newline at end of file diff --git a/openmc_Materials_Object_from_json.py b/openmc_Materials_Object_from_json.py new file mode 100644 index 0000000..9f89b2a --- /dev/null +++ b/openmc_Materials_Object_from_json.py @@ -0,0 +1,27 @@ +import json +import openmc + +"This script makes openmc.Material and openmc.Materials objects using .json files created with fusion-material-db" + +def Make_Material(mixed_mat_data): + ''' + Makes openmc.Material objects for each material in .json file (specified when called). + Adds density & nuclide information to each Material object + ''' + mat_list = [] + for material, mat_property in mixed_mat_data.items(): + mat_openmc = openmc.Material(name=f"{material}") + mat_list.append(mat_openmc) + mat_openmc.set_density('g/cm3', mat_property.get("density")) + comp_list = mat_property.get("comp") + for element, fraction in comp_list.items(): + mat_openmc.add_nuclide(element, fraction) + return mat_list + +def Make_All_Materials(material_list): + ''' + Makes openmc.Materials object using output of Make_Material() + ''' + all_materials = openmc.Materials(material_list) + all_materials.cross_sections = '../fendl-3.2-hdf5/cross_sections.xml' + return all_materials \ No newline at end of file From 722423d29d97815a9d0173b6023f3d29c30b3c1b Mon Sep 17 00:00:00 2001 From: Anupama Rajendra <113371601+anu1217@users.noreply.github.com> Date: Tue, 5 Nov 2024 15:51:03 -0600 Subject: [PATCH 02/28] Update HCPB_Build_Dict.py --- HCPB_Build_Dict.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/HCPB_Build_Dict.py b/HCPB_Build_Dict.py index b19246c..4add401 100644 --- a/HCPB_Build_Dict.py +++ b/HCPB_Build_Dict.py @@ -11,6 +11,7 @@ scoring_layer_thickness = 0.5 make_mat = Make_Material(mixed_mat) +# openmc Materials object: materials = Make_All_Materials(make_mat) build_dict = { @@ -172,4 +173,4 @@ toroidal_model = ToroidalModel( build_dict, major_radius, minor_radius_z, minor_radius_xy, materials -) \ No newline at end of file +) From 1ae265d3f90f8017c31d6d0bca350125273a5a71 Mon Sep 17 00:00:00 2001 From: Anupama Rajendra <113371601+anu1217@users.noreply.github.com> Date: Wed, 6 Nov 2024 12:09:03 -0600 Subject: [PATCH 03/28] Fixed description of material library --- HCPB_Mix_Materials.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/HCPB_Mix_Materials.py b/HCPB_Mix_Materials.py index 7644d22..7bcb0af 100644 --- a/HCPB_Mix_Materials.py +++ b/HCPB_Mix_Materials.py @@ -76,5 +76,5 @@ mat_lib, mat_input["vol_fracs"], mat_input["mixture_citation"] ) -# write fnsf material library -mixmat_lib.write_json("mixedPureFusionMatsHCPB_libv1.json") \ No newline at end of file +# write HCPB material library +mixmat_lib.write_json("mixedPureFusionMatsHCPB_libv1.json") From 13f089344e7c7dd880a3fe756a73978206cdeff8 Mon Sep 17 00:00:00 2001 From: anu1217 Date: Thu, 21 Nov 2024 15:48:59 -0600 Subject: [PATCH 04/28] Move HCPB build files to examples directory --- .../HCPB_Build_Dict.py | 352 +++++++++--------- .../HCPB_Mix_Materials.py | 160 ++++---- .../openmc_Materials_Object_from_json.py | 52 +-- 3 files changed, 282 insertions(+), 282 deletions(-) rename HCPB_Build_Dict.py => examples/HCPB_Build_Dict.py (97%) rename HCPB_Mix_Materials.py => examples/HCPB_Mix_Materials.py (97%) rename openmc_Materials_Object_from_json.py => examples/openmc_Materials_Object_from_json.py (97%) diff --git a/HCPB_Build_Dict.py b/examples/HCPB_Build_Dict.py similarity index 97% rename from HCPB_Build_Dict.py rename to examples/HCPB_Build_Dict.py index 4add401..4a9e9ee 100644 --- a/HCPB_Build_Dict.py +++ b/examples/HCPB_Build_Dict.py @@ -1,176 +1,176 @@ -import openmc -from radial_build_tools import ToroidalModel, RadialBuildPlot -from openmc_Materials_Object_from_json import * - -with open('mixedPureFusionMatsHCPB_libv1.json', 'r') as mixed_mat_json: - mixed_mat = json.load(mixed_mat_json) - -major_radius = 800 -minor_radius_z = 114 -minor_radius_xy = 114 -scoring_layer_thickness = 0.5 - -make_mat = Make_Material(mixed_mat) -# openmc Materials object: -materials = Make_All_Materials(make_mat) - -build_dict = { - "sol": { - "thickness": 5, - "composition": {"Void": 1.0}, - "colour": "#E0E0E0", # Light grey - - }, - "fw_armor": { - "thickness": 0.2, - #"composition": mixed_materials["FWWArmor"]["vol_fracs"], - "material_name": "fw_armor", - "colour": "#FFD700", # Gold - "scores": ["heating"], - }, - "fw": { - "thickness": 3.8, - #"composition": mixed_materials["FW"]["vol_fracs"], - "material_name": "fw", - "colour": "#DAA520", # Goldenrod - "scores": ["fast_fluence", "he_prod", "fe_dpa", "heating"], - }, - "breeder": { - "thickness": 50, - "composition": {"BreederHCPB": 1.0}, - "material_name": "breeder", - "description": "Thickness Varies", - "colour": "#B22222", # Firebrick - "scores": ["tbr", "heating"], - }, - "bw": { - "thickness": 10, - "composition": {"BWHCPB": 1.0}, - "material_name": "bw", - "colour": "#8B0000", # Dark red - "scores": ["tbr", "heating","fast_fluence"], - }, - "manifold_front_plate": { - "thickness": 5, - "composition": {"EUROFER97": 1.0}, - "material_name": "manifold_front_plate", - "colour": "#4682B4", # Steel blue - "scores": ["heating"], - }, - "manifold": { - "thickness": 10, - "composition": {"HeT410P80": 1.0}, - "material_name": "manifold", - "colour": "#5F9EA0", # Cadet blue - }, - "manifold_back_plate": { - "thickness": 5, - "composition": {"EUROFER97": 1.0}, - "material_name": "manifold_back_plate", - "colour": "#4682B4", # Steel blue - "scores": ["heating"], - }, - "hts_front_plate": { - "thickness": scoring_layer_thickness, - "material_name": "hts_front_plate", - #"description": "for scoring, same composition as HTS", - "colour": "#32CD32", # Lime green - "scores": ["fast_fluence", "he_prod", "fe_dpa", "heating"], - }, - "hts": { - "thickness": 9, - #"composition": mixed_materials["FNSFIBSR"]["vol_fracs"], - "material_name": "hts", - "description": "Thickness Varies", - "colour": "#00FF00", # Green - "scores": ["heating"], - }, - "hts_back_plate": { - "thickness": scoring_layer_thickness, - "material_name": "hts_back_plate", - #"description": "for scoring, same composition as HTS", - "colour": "#32CD32", # Lime green - "scores": ["fast_fluence", "he_prod", "fe_dpa", "heating"], - }, - "gap_1": { - "thickness": 1, - "composition": {"Void": 1.0}, - "colour": "#F5F5F5", # White smoke - }, - "vv_front_plate": { - "thickness": 2, - #"composition": mixed_materials["VVFill"]["vol_fracs"], - "material_name": "vv_front_plate", - "colour": "#A9A9A9", # Dark grey - "scores": ["fast_fluence", "he_prod", "fe_dpa", "heating"], - }, - "vv_fill": { - "thickness": 6, - "composition": {"VVFill": 1.0}, - "material_name": "vv_fill", - "colour": "#778899", # Light slate grey - "scores": ["heating"], - }, - "vv_back_plate": { - "thickness": 2, - "composition": {"SS316L": 1.0}, - "material_name": "vv_back_plate", - "colour": "#A9A9A9", # Dark grey - "scores": ["fast_fluence", "he_prod", "fe_dpa", "heating"], - }, - "gap_2": { - "thickness": 2, - "composition": {"AirSTP": 1.0}, - "material_name": "gap_2", - "colour": "#E0FFFF", # Light cyan - }, - "lts_front_plate": { - "thickness": scoring_layer_thickness, - #"composition": {"LTS": 1.0}, - "material_name": "lts_front_plate", - #"description": "For scoring, same composition as LTS", - "colour": "#7FFFD4", # Aquamarine - "scores": ["fast_fluence", "he_prod", "fe_dpa", "heating"], - }, - "lts": { - "thickness": 9, - "composition": {"LTS": 1.0}, - "material_name": "lts", - "description": "Thickness Varies", - "colour": "#00FA9A", # Medium spring green - "scores": ["heating"], - }, - "lts_back_plate": { - "thickness": scoring_layer_thickness, - #"composition": {"LTS": 1.0}, - "material_name": "lts_back_plate", - #"description": "For scoring, same composition as LTS", - "colour": "#7FFFD4", # Aquamarine - "scores": ["fast_fluence", "he_prod", "fe_dpa", "heating"], - }, - "thermal_insulator": { - "thickness": 10, - "composition": {"AirSTP": 1.0}, - "material_name": "thermal_insulator", - "colour": "#B0E0E6", # Powder blue - "scores": ["heating"], - }, - "coil_pack_front_plate": { - "thickness": scoring_layer_thickness, - "material_name": "coil_pack_front_plate", - #"description": "cell for scoring peak values, same composition as coil_pack", - "colour": "#FF6347", # Tomato - "scores": ["fast_fluence", "cu_dpa", "heating"], - }, - "coil_pack": { - "thickness": 52, - "composition": {"coils": 1.0}, - "material_name": "coil_pack", - "colour": "#FF4500", # Orange red - "scores": ["heating"], - }, -} - -toroidal_model = ToroidalModel( - build_dict, major_radius, minor_radius_z, minor_radius_xy, materials -) +import openmc +from radial_build_tools import ToroidalModel, RadialBuildPlot +from openmc_Materials_Object_from_json import * + +with open('mixedPureFusionMatsHCPB_libv1.json', 'r') as mixed_mat_json: + mixed_mat = json.load(mixed_mat_json) + +major_radius = 800 +minor_radius_z = 114 +minor_radius_xy = 114 +scoring_layer_thickness = 0.5 + +make_mat = Make_Material(mixed_mat) +# openmc Materials object: +materials = Make_All_Materials(make_mat) + +build_dict = { + "sol": { + "thickness": 5, + "composition": {"Void": 1.0}, + "colour": "#E0E0E0", # Light grey + + }, + "fw_armor": { + "thickness": 0.2, + #"composition": mixed_materials["FWWArmor"]["vol_fracs"], + "material_name": "fw_armor", + "colour": "#FFD700", # Gold + "scores": ["heating"], + }, + "fw": { + "thickness": 3.8, + #"composition": mixed_materials["FW"]["vol_fracs"], + "material_name": "fw", + "colour": "#DAA520", # Goldenrod + "scores": ["fast_fluence", "he_prod", "fe_dpa", "heating"], + }, + "breeder": { + "thickness": 50, + "composition": {"BreederHCPB": 1.0}, + "material_name": "breeder", + "description": "Thickness Varies", + "colour": "#B22222", # Firebrick + "scores": ["tbr", "heating"], + }, + "bw": { + "thickness": 10, + "composition": {"BWHCPB": 1.0}, + "material_name": "bw", + "colour": "#8B0000", # Dark red + "scores": ["tbr", "heating","fast_fluence"], + }, + "manifold_front_plate": { + "thickness": 5, + "composition": {"EUROFER97": 1.0}, + "material_name": "manifold_front_plate", + "colour": "#4682B4", # Steel blue + "scores": ["heating"], + }, + "manifold": { + "thickness": 10, + "composition": {"HeT410P80": 1.0}, + "material_name": "manifold", + "colour": "#5F9EA0", # Cadet blue + }, + "manifold_back_plate": { + "thickness": 5, + "composition": {"EUROFER97": 1.0}, + "material_name": "manifold_back_plate", + "colour": "#4682B4", # Steel blue + "scores": ["heating"], + }, + "hts_front_plate": { + "thickness": scoring_layer_thickness, + "material_name": "hts_front_plate", + #"description": "for scoring, same composition as HTS", + "colour": "#32CD32", # Lime green + "scores": ["fast_fluence", "he_prod", "fe_dpa", "heating"], + }, + "hts": { + "thickness": 9, + #"composition": mixed_materials["FNSFIBSR"]["vol_fracs"], + "material_name": "hts", + "description": "Thickness Varies", + "colour": "#00FF00", # Green + "scores": ["heating"], + }, + "hts_back_plate": { + "thickness": scoring_layer_thickness, + "material_name": "hts_back_plate", + #"description": "for scoring, same composition as HTS", + "colour": "#32CD32", # Lime green + "scores": ["fast_fluence", "he_prod", "fe_dpa", "heating"], + }, + "gap_1": { + "thickness": 1, + "composition": {"Void": 1.0}, + "colour": "#F5F5F5", # White smoke + }, + "vv_front_plate": { + "thickness": 2, + #"composition": mixed_materials["VVFill"]["vol_fracs"], + "material_name": "vv_front_plate", + "colour": "#A9A9A9", # Dark grey + "scores": ["fast_fluence", "he_prod", "fe_dpa", "heating"], + }, + "vv_fill": { + "thickness": 6, + "composition": {"VVFill": 1.0}, + "material_name": "vv_fill", + "colour": "#778899", # Light slate grey + "scores": ["heating"], + }, + "vv_back_plate": { + "thickness": 2, + "composition": {"SS316L": 1.0}, + "material_name": "vv_back_plate", + "colour": "#A9A9A9", # Dark grey + "scores": ["fast_fluence", "he_prod", "fe_dpa", "heating"], + }, + "gap_2": { + "thickness": 2, + "composition": {"AirSTP": 1.0}, + "material_name": "gap_2", + "colour": "#E0FFFF", # Light cyan + }, + "lts_front_plate": { + "thickness": scoring_layer_thickness, + #"composition": {"LTS": 1.0}, + "material_name": "lts_front_plate", + #"description": "For scoring, same composition as LTS", + "colour": "#7FFFD4", # Aquamarine + "scores": ["fast_fluence", "he_prod", "fe_dpa", "heating"], + }, + "lts": { + "thickness": 9, + "composition": {"LTS": 1.0}, + "material_name": "lts", + "description": "Thickness Varies", + "colour": "#00FA9A", # Medium spring green + "scores": ["heating"], + }, + "lts_back_plate": { + "thickness": scoring_layer_thickness, + #"composition": {"LTS": 1.0}, + "material_name": "lts_back_plate", + #"description": "For scoring, same composition as LTS", + "colour": "#7FFFD4", # Aquamarine + "scores": ["fast_fluence", "he_prod", "fe_dpa", "heating"], + }, + "thermal_insulator": { + "thickness": 10, + "composition": {"AirSTP": 1.0}, + "material_name": "thermal_insulator", + "colour": "#B0E0E6", # Powder blue + "scores": ["heating"], + }, + "coil_pack_front_plate": { + "thickness": scoring_layer_thickness, + "material_name": "coil_pack_front_plate", + #"description": "cell for scoring peak values, same composition as coil_pack", + "colour": "#FF6347", # Tomato + "scores": ["fast_fluence", "cu_dpa", "heating"], + }, + "coil_pack": { + "thickness": 52, + "composition": {"coils": 1.0}, + "material_name": "coil_pack", + "colour": "#FF4500", # Orange red + "scores": ["heating"], + }, +} + +toroidal_model = ToroidalModel( + build_dict, major_radius, minor_radius_z, minor_radius_xy, materials +) diff --git a/HCPB_Mix_Materials.py b/examples/HCPB_Mix_Materials.py similarity index 97% rename from HCPB_Mix_Materials.py rename to examples/HCPB_Mix_Materials.py index 7bcb0af..9a97dac 100644 --- a/HCPB_Mix_Materials.py +++ b/examples/HCPB_Mix_Materials.py @@ -1,80 +1,80 @@ -import openmc -import json -import material_db_tools as mdbt - -''' -This script specifies the composition of each HCPB component and its corresponding citation. -mdbt.mix_by_volume is called to mix individual materials and generate a new .json file. -''' - -with open('PureFusionMaterials_libv1.json', 'r') as pure_mat_json: - pure_mat = json.load(pure_mat_json) - -mat_data = {} - -#Volume fractions of constituent materials -material_comp = { -'fw_armor' : {"W": 1.00}, - 'fw' : {"W": 0.1, "EUROFER97" : 0.9}, -'breeder' : {"Li4SiO4Li60.0":0.65, "Li2TiO3Li60.0":0.35}, #need to convert mol% to vol% -'bw' : {"MF82H" : 0.8, "HeNIST" : 0.2}, -'manifold_front_plate' : {"EUROFER97": 1.0}, -'manifold' : {"HeT410P80": 1.00}, -'manifold_back_plate' : {"HeT410P80": 1.00}, -'hts_front_plate' : {"MF82H": 0.20, "HeNIST": 0.28, "BMF82H" : 0.52}, -'hts': {"MF82H": 0.20, "HeNIST": 0.28, "BMF82H" : 0.52}, -'hts_back_plate' : {"MF82H": 0.20, "HeNIST": 0.28, "BMF82H" : 0.52}, -'vv_front_plate' : {"HeNIST" : 0.4, "Cr3FS" : 0.6}, #changed from SS316L in corresponding build_dict -'vv_fill' : {"HeNIST" : 0.4, "Cr3FS" : 0.6}, -'vv_back_plate' : {"HeNIST" : 0.4, "Cr3FS" : 0.6}, #changed from SS316L in corresponding build_dict -'gap_2' : {"AirSTP": 1.0}, -'lts_front_plate' : {"Cr3FS": 0.39, "BMF82H": 0.29, "Water": 0.32}, -'lts' : {"Cr3FS": 0.39, "BMF82H": 0.29, "Water": 0.32}, -'lts_back_plate' : {"Cr3FS": 0.39, "BMF82H": 0.29, "Water": 0.32}, -'thermal_insulator' : {'AirSTP': 1.0}, -'coil_pack_front_plate' : {"JK2LBSteel": 0.3, "Cu": 0.25, "TernaryNb3Sn" : 0.25, "Eins" : 0.1, "HeNIST" : 0.1}, -'coil_pack' : {"JK2LBSteel": 0.3, "Cu": 0.25, "TernaryNb3Sn" : 0.25, "Eins" : 0.1, "HeNIST" : 0.1}, -} - -citation_list = { - 'fw_armor' : "ZhouEUDEMOHCPB_2023", - 'fw' : "ZhouEUDEMOHCPB_2023", - 'breeder' : "ZhouEUDEMOHCPB_2023", - 'bw' : "DavisFusEngDes_2018", - 'manifold_front_plate' : "DavisFusEngDes_2018", - 'manifold' : "DavisFusEngDes_2018", - 'manifold_back_plate' : "DavisFusEngDes_2018", - 'hts_front_plate' : "DavisFusEngDes_2018", - 'hts' : "DavisFusEngDes_2018", - 'hts_back_plate' : "DavisFusEngDes_2018", - 'vv_front_plate' : "DavisFusEngDes_2018", - 'vv_fill' : "DavisFusEngDes_2018", - 'vv_back_plate' : "DavisFusEngDes_2018", - 'gap_2' : "ZhouEUDEMOHCPB_2023" , - 'lts_front_plate' : "DavisFusEngDes_2018", - 'lts' : "DavisFusEngDes_2018", - 'lts_back_plate' : "DavisFusEngDes_2018", - 'thermal_insulator' : "ZhouEUDEMOHCPB_2023", - 'coil_pack_front_plate' : "DavisFusEngDes_2018", - 'coil_pack' : "DavisFusEngDes_2018", - } - -for mat_name, comp in material_comp.items(): - mat_data[mat_name] = { - "vol_fracs": comp, - "mixture_citation" : citation_list[mat_name], - } - -# Load material library -mat_lib = mdbt.MaterialLibrary() -mat_lib.from_json("PureFusionMaterials_libv1.json") - -# create material library object -mixmat_lib = mdbt.MaterialLibrary() -for mat_name, mat_input in mat_data.items(): - mixmat_lib[mat_name] = mdbt.mix_by_volume( - mat_lib, mat_input["vol_fracs"], mat_input["mixture_citation"] - ) - -# write HCPB material library -mixmat_lib.write_json("mixedPureFusionMatsHCPB_libv1.json") +import openmc +import json +import material_db_tools as mdbt + +''' +This script specifies the composition of each HCPB component and its corresponding citation. +mdbt.mix_by_volume is called to mix individual materials and generate a new .json file. +''' + +with open('PureFusionMaterials_libv1.json', 'r') as pure_mat_json: + pure_mat = json.load(pure_mat_json) + +mat_data = {} + +#Volume fractions of constituent materials +material_comp = { +'fw_armor' : {"W": 1.00}, + 'fw' : {"W": 0.1, "EUROFER97" : 0.9}, +'breeder' : {"Li4SiO4Li60.0":0.65, "Li2TiO3Li60.0":0.35}, #need to convert mol% to vol% +'bw' : {"MF82H" : 0.8, "HeNIST" : 0.2}, +'manifold_front_plate' : {"EUROFER97": 1.0}, +'manifold' : {"HeT410P80": 1.00}, +'manifold_back_plate' : {"HeT410P80": 1.00}, +'hts_front_plate' : {"MF82H": 0.20, "HeNIST": 0.28, "BMF82H" : 0.52}, +'hts': {"MF82H": 0.20, "HeNIST": 0.28, "BMF82H" : 0.52}, +'hts_back_plate' : {"MF82H": 0.20, "HeNIST": 0.28, "BMF82H" : 0.52}, +'vv_front_plate' : {"HeNIST" : 0.4, "Cr3FS" : 0.6}, #changed from SS316L in corresponding build_dict +'vv_fill' : {"HeNIST" : 0.4, "Cr3FS" : 0.6}, +'vv_back_plate' : {"HeNIST" : 0.4, "Cr3FS" : 0.6}, #changed from SS316L in corresponding build_dict +'gap_2' : {"AirSTP": 1.0}, +'lts_front_plate' : {"Cr3FS": 0.39, "BMF82H": 0.29, "Water": 0.32}, +'lts' : {"Cr3FS": 0.39, "BMF82H": 0.29, "Water": 0.32}, +'lts_back_plate' : {"Cr3FS": 0.39, "BMF82H": 0.29, "Water": 0.32}, +'thermal_insulator' : {'AirSTP': 1.0}, +'coil_pack_front_plate' : {"JK2LBSteel": 0.3, "Cu": 0.25, "TernaryNb3Sn" : 0.25, "Eins" : 0.1, "HeNIST" : 0.1}, +'coil_pack' : {"JK2LBSteel": 0.3, "Cu": 0.25, "TernaryNb3Sn" : 0.25, "Eins" : 0.1, "HeNIST" : 0.1}, +} + +citation_list = { + 'fw_armor' : "ZhouEUDEMOHCPB_2023", + 'fw' : "ZhouEUDEMOHCPB_2023", + 'breeder' : "ZhouEUDEMOHCPB_2023", + 'bw' : "DavisFusEngDes_2018", + 'manifold_front_plate' : "DavisFusEngDes_2018", + 'manifold' : "DavisFusEngDes_2018", + 'manifold_back_plate' : "DavisFusEngDes_2018", + 'hts_front_plate' : "DavisFusEngDes_2018", + 'hts' : "DavisFusEngDes_2018", + 'hts_back_plate' : "DavisFusEngDes_2018", + 'vv_front_plate' : "DavisFusEngDes_2018", + 'vv_fill' : "DavisFusEngDes_2018", + 'vv_back_plate' : "DavisFusEngDes_2018", + 'gap_2' : "ZhouEUDEMOHCPB_2023" , + 'lts_front_plate' : "DavisFusEngDes_2018", + 'lts' : "DavisFusEngDes_2018", + 'lts_back_plate' : "DavisFusEngDes_2018", + 'thermal_insulator' : "ZhouEUDEMOHCPB_2023", + 'coil_pack_front_plate' : "DavisFusEngDes_2018", + 'coil_pack' : "DavisFusEngDes_2018", + } + +for mat_name, comp in material_comp.items(): + mat_data[mat_name] = { + "vol_fracs": comp, + "mixture_citation" : citation_list[mat_name], + } + +# Load material library +mat_lib = mdbt.MaterialLibrary() +mat_lib.from_json("PureFusionMaterials_libv1.json") + +# create material library object +mixmat_lib = mdbt.MaterialLibrary() +for mat_name, mat_input in mat_data.items(): + mixmat_lib[mat_name] = mdbt.mix_by_volume( + mat_lib, mat_input["vol_fracs"], mat_input["mixture_citation"] + ) + +# write HCPB material library +mixmat_lib.write_json("mixedPureFusionMatsHCPB_libv1.json") diff --git a/openmc_Materials_Object_from_json.py b/examples/openmc_Materials_Object_from_json.py similarity index 97% rename from openmc_Materials_Object_from_json.py rename to examples/openmc_Materials_Object_from_json.py index 9f89b2a..391e610 100644 --- a/openmc_Materials_Object_from_json.py +++ b/examples/openmc_Materials_Object_from_json.py @@ -1,27 +1,27 @@ -import json -import openmc - -"This script makes openmc.Material and openmc.Materials objects using .json files created with fusion-material-db" - -def Make_Material(mixed_mat_data): - ''' - Makes openmc.Material objects for each material in .json file (specified when called). - Adds density & nuclide information to each Material object - ''' - mat_list = [] - for material, mat_property in mixed_mat_data.items(): - mat_openmc = openmc.Material(name=f"{material}") - mat_list.append(mat_openmc) - mat_openmc.set_density('g/cm3', mat_property.get("density")) - comp_list = mat_property.get("comp") - for element, fraction in comp_list.items(): - mat_openmc.add_nuclide(element, fraction) - return mat_list - -def Make_All_Materials(material_list): - ''' - Makes openmc.Materials object using output of Make_Material() - ''' - all_materials = openmc.Materials(material_list) - all_materials.cross_sections = '../fendl-3.2-hdf5/cross_sections.xml' +import json +import openmc + +"This script makes openmc.Material and openmc.Materials objects using .json files created with fusion-material-db" + +def Make_Material(mixed_mat_data): + ''' + Makes openmc.Material objects for each material in .json file (specified when called). + Adds density & nuclide information to each Material object + ''' + mat_list = [] + for material, mat_property in mixed_mat_data.items(): + mat_openmc = openmc.Material(name=f"{material}") + mat_list.append(mat_openmc) + mat_openmc.set_density('g/cm3', mat_property.get("density")) + comp_list = mat_property.get("comp") + for element, fraction in comp_list.items(): + mat_openmc.add_nuclide(element, fraction) + return mat_list + +def Make_All_Materials(material_list): + ''' + Makes openmc.Materials object using output of Make_Material() + ''' + all_materials = openmc.Materials(material_list) + all_materials.cross_sections = '../fendl-3.2-hdf5/cross_sections.xml' return all_materials \ No newline at end of file From 6915e516bcc70b7a3c3c137c8d1059d6c9d8ca28 Mon Sep 17 00:00:00 2001 From: Anupama Rajendra <113371601+anu1217@users.noreply.github.com> Date: Fri, 6 Dec 2024 12:06:02 -0600 Subject: [PATCH 05/28] Rename examples/HCPB_Build_Dict.py to examples/hcpb_radial_build_example/HCPB_Build_Dict.py --- examples/{ => hcpb_radial_build_example}/HCPB_Build_Dict.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename examples/{ => hcpb_radial_build_example}/HCPB_Build_Dict.py (100%) diff --git a/examples/HCPB_Build_Dict.py b/examples/hcpb_radial_build_example/HCPB_Build_Dict.py similarity index 100% rename from examples/HCPB_Build_Dict.py rename to examples/hcpb_radial_build_example/HCPB_Build_Dict.py From c98cb30bf46f769837df775264cf08efad843aeb Mon Sep 17 00:00:00 2001 From: Anupama Rajendra <113371601+anu1217@users.noreply.github.com> Date: Fri, 6 Dec 2024 12:06:22 -0600 Subject: [PATCH 06/28] Rename examples/HCPB_Mix_Materials.py to examples/hcpb_radial_build_example/HCPB_Mix_Materials.py --- examples/{ => hcpb_radial_build_example}/HCPB_Mix_Materials.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename examples/{ => hcpb_radial_build_example}/HCPB_Mix_Materials.py (100%) diff --git a/examples/HCPB_Mix_Materials.py b/examples/hcpb_radial_build_example/HCPB_Mix_Materials.py similarity index 100% rename from examples/HCPB_Mix_Materials.py rename to examples/hcpb_radial_build_example/HCPB_Mix_Materials.py From c56c6023e41f4c902bf1f1744bb08782199270b9 Mon Sep 17 00:00:00 2001 From: Anupama Rajendra <113371601+anu1217@users.noreply.github.com> Date: Fri, 6 Dec 2024 12:06:45 -0600 Subject: [PATCH 07/28] Rename examples/openmc_Materials_Object_from_json.py to examples/hcpb_radial_build_example/openmc_Materials_Object_from_json.py --- .../openmc_Materials_Object_from_json.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename examples/{ => hcpb_radial_build_example}/openmc_Materials_Object_from_json.py (97%) diff --git a/examples/openmc_Materials_Object_from_json.py b/examples/hcpb_radial_build_example/openmc_Materials_Object_from_json.py similarity index 97% rename from examples/openmc_Materials_Object_from_json.py rename to examples/hcpb_radial_build_example/openmc_Materials_Object_from_json.py index 391e610..2c1f2d0 100644 --- a/examples/openmc_Materials_Object_from_json.py +++ b/examples/hcpb_radial_build_example/openmc_Materials_Object_from_json.py @@ -24,4 +24,4 @@ def Make_All_Materials(material_list): ''' all_materials = openmc.Materials(material_list) all_materials.cross_sections = '../fendl-3.2-hdf5/cross_sections.xml' - return all_materials \ No newline at end of file + return all_materials From dade192f0a7ad4f3a2f4a0e2fe8cddd95346a5e6 Mon Sep 17 00:00:00 2001 From: Anupama Rajendra <113371601+anu1217@users.noreply.github.com> Date: Fri, 6 Dec 2024 12:37:39 -0600 Subject: [PATCH 08/28] Fix capitalization and add more information to docstrings --- .../openmc_Materials_Object_from_json.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/examples/hcpb_radial_build_example/openmc_Materials_Object_from_json.py b/examples/hcpb_radial_build_example/openmc_Materials_Object_from_json.py index 2c1f2d0..7a73f55 100644 --- a/examples/hcpb_radial_build_example/openmc_Materials_Object_from_json.py +++ b/examples/hcpb_radial_build_example/openmc_Materials_Object_from_json.py @@ -3,10 +3,14 @@ "This script makes openmc.Material and openmc.Materials objects using .json files created with fusion-material-db" -def Make_Material(mixed_mat_data): +def make_material(mixed_mat_data): ''' Makes openmc.Material objects for each material in .json file (specified when called). Adds density & nuclide information to each Material object + inputs: + mixed_mat_data : JSON created by HCPB_Mix_Materials + outputs: + mat_list : list of OpenMC Material objects ''' mat_list = [] for material, mat_property in mixed_mat_data.items(): @@ -18,9 +22,13 @@ def Make_Material(mixed_mat_data): mat_openmc.add_nuclide(element, fraction) return mat_list -def Make_All_Materials(material_list): +def make_all_materials(material_list): ''' Makes openmc.Materials object using output of Make_Material() + inputs: + material_list : list of OpenMC Material objects + outputs: + all_materials : OpenMC Materials object ''' all_materials = openmc.Materials(material_list) all_materials.cross_sections = '../fendl-3.2-hdf5/cross_sections.xml' From cc9a60e482ad409487c23f40e659cdfac31582f1 Mon Sep 17 00:00:00 2001 From: Anupama Rajendra <113371601+anu1217@users.noreply.github.com> Date: Fri, 6 Dec 2024 13:05:19 -0600 Subject: [PATCH 09/28] Change syntax when OpenMC Material is made --- .../openmc_Materials_Object_from_json.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/hcpb_radial_build_example/openmc_Materials_Object_from_json.py b/examples/hcpb_radial_build_example/openmc_Materials_Object_from_json.py index 7a73f55..2d199c9 100644 --- a/examples/hcpb_radial_build_example/openmc_Materials_Object_from_json.py +++ b/examples/hcpb_radial_build_example/openmc_Materials_Object_from_json.py @@ -14,7 +14,7 @@ def make_material(mixed_mat_data): ''' mat_list = [] for material, mat_property in mixed_mat_data.items(): - mat_openmc = openmc.Material(name=f"{material}") + mat_openmc = openmc.Material(name=material) mat_list.append(mat_openmc) mat_openmc.set_density('g/cm3', mat_property.get("density")) comp_list = mat_property.get("comp") From 8583ffb2cb56b8092e2146227bd3a0ff0900f266 Mon Sep 17 00:00:00 2001 From: Anupama Rajendra <113371601+anu1217@users.noreply.github.com> Date: Mon, 13 Jan 2025 14:28:20 -0600 Subject: [PATCH 10/28] Fix composition of manifold back plate --- examples/hcpb_radial_build_example/HCPB_Mix_Materials.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/hcpb_radial_build_example/HCPB_Mix_Materials.py b/examples/hcpb_radial_build_example/HCPB_Mix_Materials.py index 9a97dac..846b476 100644 --- a/examples/hcpb_radial_build_example/HCPB_Mix_Materials.py +++ b/examples/hcpb_radial_build_example/HCPB_Mix_Materials.py @@ -20,7 +20,7 @@ 'bw' : {"MF82H" : 0.8, "HeNIST" : 0.2}, 'manifold_front_plate' : {"EUROFER97": 1.0}, 'manifold' : {"HeT410P80": 1.00}, -'manifold_back_plate' : {"HeT410P80": 1.00}, +'manifold_back_plate' : {"EUROFER97": 1.00}, 'hts_front_plate' : {"MF82H": 0.20, "HeNIST": 0.28, "BMF82H" : 0.52}, 'hts': {"MF82H": 0.20, "HeNIST": 0.28, "BMF82H" : 0.52}, 'hts_back_plate' : {"MF82H": 0.20, "HeNIST": 0.28, "BMF82H" : 0.52}, From 6c5656e828c89fce7cb98bec80b2ac18260bba19 Mon Sep 17 00:00:00 2001 From: Anupama Rajendra <113371601+anu1217@users.noreply.github.com> Date: Mon, 13 Jan 2025 16:06:53 -0600 Subject: [PATCH 11/28] Add NMM to breeder composition - to discuss --- examples/hcpb_radial_build_example/HCPB_Mix_Materials.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/hcpb_radial_build_example/HCPB_Mix_Materials.py b/examples/hcpb_radial_build_example/HCPB_Mix_Materials.py index 846b476..4792b1a 100644 --- a/examples/hcpb_radial_build_example/HCPB_Mix_Materials.py +++ b/examples/hcpb_radial_build_example/HCPB_Mix_Materials.py @@ -15,8 +15,8 @@ #Volume fractions of constituent materials material_comp = { 'fw_armor' : {"W": 1.00}, - 'fw' : {"W": 0.1, "EUROFER97" : 0.9}, -'breeder' : {"Li4SiO4Li60.0":0.65, "Li2TiO3Li60.0":0.35}, #need to convert mol% to vol% +'fw' : {"W": 0.1, "EUROFER97" : 0.9}, +'breeder' : {"Be12Ti": 0.8, "Li4SiO4Li60.0":0.14837, "Li2TiO3Li60.0":0.05163}, 'bw' : {"MF82H" : 0.8, "HeNIST" : 0.2}, 'manifold_front_plate' : {"EUROFER97": 1.0}, 'manifold' : {"HeT410P80": 1.00}, From ed9ec4e759053cf468f80f21380300749b3183e9 Mon Sep 17 00:00:00 2001 From: Anupama Rajendra <113371601+anu1217@users.noreply.github.com> Date: Tue, 14 Jan 2025 09:45:32 -0600 Subject: [PATCH 12/28] Update examples/hcpb_radial_build_example/HCPB_Mix_Materials.py Co-authored-by: Edgar-21 <84034227+Edgar-21@users.noreply.github.com> --- examples/hcpb_radial_build_example/HCPB_Mix_Materials.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/hcpb_radial_build_example/HCPB_Mix_Materials.py b/examples/hcpb_radial_build_example/HCPB_Mix_Materials.py index 4792b1a..1ef3a7e 100644 --- a/examples/hcpb_radial_build_example/HCPB_Mix_Materials.py +++ b/examples/hcpb_radial_build_example/HCPB_Mix_Materials.py @@ -77,4 +77,4 @@ ) # write HCPB material library -mixmat_lib.write_json("mixedPureFusionMatsHCPB_libv1.json") +mixmat_lib.write_openmc("mixedPureFusionMatsHCPB_libv1.xml") From 42ba0da1e437f34e35d49be1a649944dca6b9d53 Mon Sep 17 00:00:00 2001 From: anu1217 Date: Tue, 14 Jan 2025 10:20:00 -0600 Subject: [PATCH 13/28] Change composition to match HCPB_Mix_Materials.py dictionary and load Materials object from xml --- .../HCPB_Build_Dict.py | 56 ++++++++++--------- 1 file changed, 30 insertions(+), 26 deletions(-) diff --git a/examples/hcpb_radial_build_example/HCPB_Build_Dict.py b/examples/hcpb_radial_build_example/HCPB_Build_Dict.py index 4a9e9ee..770a021 100644 --- a/examples/hcpb_radial_build_example/HCPB_Build_Dict.py +++ b/examples/hcpb_radial_build_example/HCPB_Build_Dict.py @@ -1,18 +1,15 @@ import openmc +import json from radial_build_tools import ToroidalModel, RadialBuildPlot -from openmc_Materials_Object_from_json import * - -with open('mixedPureFusionMatsHCPB_libv1.json', 'r') as mixed_mat_json: - mixed_mat = json.load(mixed_mat_json) +from HCPB_Mix_Materials import material_comp major_radius = 800 minor_radius_z = 114 minor_radius_xy = 114 scoring_layer_thickness = 0.5 -make_mat = Make_Material(mixed_mat) # openmc Materials object: -materials = Make_All_Materials(make_mat) +materials = openmc.Materials.from_xml("mixedPureFusionMatsHCPB_libv1.xml") build_dict = { "sol": { @@ -23,21 +20,21 @@ }, "fw_armor": { "thickness": 0.2, - #"composition": mixed_materials["FWWArmor"]["vol_fracs"], + "composition" : material_comp['fw_armor'], "material_name": "fw_armor", "colour": "#FFD700", # Gold "scores": ["heating"], }, "fw": { "thickness": 3.8, - #"composition": mixed_materials["FW"]["vol_fracs"], + "composition" : material_comp['fw'], "material_name": "fw", "colour": "#DAA520", # Goldenrod "scores": ["fast_fluence", "he_prod", "fe_dpa", "heating"], }, "breeder": { "thickness": 50, - "composition": {"BreederHCPB": 1.0}, + "composition" : material_comp['breeder'], "material_name": "breeder", "description": "Thickness Varies", "colour": "#B22222", # Firebrick @@ -45,33 +42,34 @@ }, "bw": { "thickness": 10, - "composition": {"BWHCPB": 1.0}, + "composition": material_comp['bw'], "material_name": "bw", "colour": "#8B0000", # Dark red "scores": ["tbr", "heating","fast_fluence"], }, "manifold_front_plate": { "thickness": 5, - "composition": {"EUROFER97": 1.0}, + "composition": material_comp['manifold_front_plate'], "material_name": "manifold_front_plate", "colour": "#4682B4", # Steel blue "scores": ["heating"], }, "manifold": { "thickness": 10, - "composition": {"HeT410P80": 1.0}, + "composition": material_comp['manifold'], "material_name": "manifold", "colour": "#5F9EA0", # Cadet blue }, "manifold_back_plate": { "thickness": 5, - "composition": {"EUROFER97": 1.0}, + "composition": material_comp['manifold_back_plate'], "material_name": "manifold_back_plate", "colour": "#4682B4", # Steel blue "scores": ["heating"], }, "hts_front_plate": { - "thickness": scoring_layer_thickness, + "thickness": 1, + "composition" : material_comp['hts_front_plate'], "material_name": "hts_front_plate", #"description": "for scoring, same composition as HTS", "colour": "#32CD32", # Lime green @@ -79,7 +77,7 @@ }, "hts": { "thickness": 9, - #"composition": mixed_materials["FNSFIBSR"]["vol_fracs"], + "composition" : material_comp['hts'], "material_name": "hts", "description": "Thickness Varies", "colour": "#00FF00", # Green @@ -87,6 +85,7 @@ }, "hts_back_plate": { "thickness": scoring_layer_thickness, + "composition" : material_comp['hts_back_plate'], "material_name": "hts_back_plate", #"description": "for scoring, same composition as HTS", "colour": "#32CD32", # Lime green @@ -99,34 +98,34 @@ }, "vv_front_plate": { "thickness": 2, - #"composition": mixed_materials["VVFill"]["vol_fracs"], + "composition" : material_comp['vv_front_plate'], "material_name": "vv_front_plate", "colour": "#A9A9A9", # Dark grey "scores": ["fast_fluence", "he_prod", "fe_dpa", "heating"], }, "vv_fill": { "thickness": 6, - "composition": {"VVFill": 1.0}, + "composition" : material_comp['vv_fill'], "material_name": "vv_fill", "colour": "#778899", # Light slate grey "scores": ["heating"], }, "vv_back_plate": { "thickness": 2, - "composition": {"SS316L": 1.0}, + "composition": material_comp['vv_back_plate'], "material_name": "vv_back_plate", "colour": "#A9A9A9", # Dark grey "scores": ["fast_fluence", "he_prod", "fe_dpa", "heating"], }, "gap_2": { "thickness": 2, - "composition": {"AirSTP": 1.0}, + "composition": material_comp['gap_2'], "material_name": "gap_2", "colour": "#E0FFFF", # Light cyan }, "lts_front_plate": { "thickness": scoring_layer_thickness, - #"composition": {"LTS": 1.0}, + "composition" : material_comp['lts_front_plate'], "material_name": "lts_front_plate", #"description": "For scoring, same composition as LTS", "colour": "#7FFFD4", # Aquamarine @@ -134,15 +133,15 @@ }, "lts": { "thickness": 9, - "composition": {"LTS": 1.0}, + "composition" : material_comp['lts'], "material_name": "lts", "description": "Thickness Varies", "colour": "#00FA9A", # Medium spring green "scores": ["heating"], }, "lts_back_plate": { - "thickness": scoring_layer_thickness, - #"composition": {"LTS": 1.0}, + "thickness": 1, + "composition" : material_comp['lts_back_plate'], "material_name": "lts_back_plate", #"description": "For scoring, same composition as LTS", "colour": "#7FFFD4", # Aquamarine @@ -150,13 +149,14 @@ }, "thermal_insulator": { "thickness": 10, - "composition": {"AirSTP": 1.0}, + "composition": material_comp['thermal_insulator'], "material_name": "thermal_insulator", "colour": "#B0E0E6", # Powder blue "scores": ["heating"], }, "coil_pack_front_plate": { - "thickness": scoring_layer_thickness, + "thickness": 1, + "composition" : material_comp['coil_pack_front_plate'], "material_name": "coil_pack_front_plate", #"description": "cell for scoring peak values, same composition as coil_pack", "colour": "#FF6347", # Tomato @@ -164,7 +164,7 @@ }, "coil_pack": { "thickness": 52, - "composition": {"coils": 1.0}, + "composition" : material_comp['coil_pack'], "material_name": "coil_pack", "colour": "#FF4500", # Orange red "scores": ["heating"], @@ -174,3 +174,7 @@ toroidal_model = ToroidalModel( build_dict, major_radius, minor_radius_z, minor_radius_xy, materials ) + +rbp = RadialBuildPlot(build_dict, title="HCPB Toroidal Model", size=(15, 5)) +rbp.plot_radial_build() +rbp.to_png() \ No newline at end of file From a1982fc5b3830de5b39f6f088e23bb3d67f8f433 Mon Sep 17 00:00:00 2001 From: Anupama Rajendra <113371601+anu1217@users.noreply.github.com> Date: Tue, 14 Jan 2025 10:21:44 -0600 Subject: [PATCH 14/28] Delete file since Materials object is now loaded in from xml --- .../openmc_Materials_Object_from_json.py | 35 ------------------- 1 file changed, 35 deletions(-) delete mode 100644 examples/hcpb_radial_build_example/openmc_Materials_Object_from_json.py diff --git a/examples/hcpb_radial_build_example/openmc_Materials_Object_from_json.py b/examples/hcpb_radial_build_example/openmc_Materials_Object_from_json.py deleted file mode 100644 index 2d199c9..0000000 --- a/examples/hcpb_radial_build_example/openmc_Materials_Object_from_json.py +++ /dev/null @@ -1,35 +0,0 @@ -import json -import openmc - -"This script makes openmc.Material and openmc.Materials objects using .json files created with fusion-material-db" - -def make_material(mixed_mat_data): - ''' - Makes openmc.Material objects for each material in .json file (specified when called). - Adds density & nuclide information to each Material object - inputs: - mixed_mat_data : JSON created by HCPB_Mix_Materials - outputs: - mat_list : list of OpenMC Material objects - ''' - mat_list = [] - for material, mat_property in mixed_mat_data.items(): - mat_openmc = openmc.Material(name=material) - mat_list.append(mat_openmc) - mat_openmc.set_density('g/cm3', mat_property.get("density")) - comp_list = mat_property.get("comp") - for element, fraction in comp_list.items(): - mat_openmc.add_nuclide(element, fraction) - return mat_list - -def make_all_materials(material_list): - ''' - Makes openmc.Materials object using output of Make_Material() - inputs: - material_list : list of OpenMC Material objects - outputs: - all_materials : OpenMC Materials object - ''' - all_materials = openmc.Materials(material_list) - all_materials.cross_sections = '../fendl-3.2-hdf5/cross_sections.xml' - return all_materials From cf816438a4ad7d9db0137765d1a33799ce4e6597 Mon Sep 17 00:00:00 2001 From: anu1217 Date: Tue, 14 Jan 2025 12:24:46 -0600 Subject: [PATCH 15/28] Modularize scripts and add main() --- .../HCPB_Build_Dict.py | 56 +++++++++++---- .../HCPB_Mix_Materials.py | 69 +++++++++++++------ 2 files changed, 90 insertions(+), 35 deletions(-) diff --git a/examples/hcpb_radial_build_example/HCPB_Build_Dict.py b/examples/hcpb_radial_build_example/HCPB_Build_Dict.py index 770a021..7162d15 100644 --- a/examples/hcpb_radial_build_example/HCPB_Build_Dict.py +++ b/examples/hcpb_radial_build_example/HCPB_Build_Dict.py @@ -1,17 +1,12 @@ import openmc import json +import yaml +import argparse from radial_build_tools import ToroidalModel, RadialBuildPlot from HCPB_Mix_Materials import material_comp -major_radius = 800 -minor_radius_z = 114 -minor_radius_xy = 114 -scoring_layer_thickness = 0.5 - -# openmc Materials object: -materials = openmc.Materials.from_xml("mixedPureFusionMatsHCPB_libv1.xml") - -build_dict = { +def make_build_dict(scoring_layer_thickness): + build_dict = { "sol": { "thickness": 5, "composition": {"Void": 1.0}, @@ -170,11 +165,42 @@ "scores": ["heating"], }, } + return build_dict + +def make_toroidal_model(materials_xml_file, major_radius, minor_radius_z, minor_radius_xy, build_dict): + # openmc Materials object: + materials = openmc.Materials.from_xml(materials_xml_file) + toroidal_model = ToroidalModel( + build_dict, major_radius, minor_radius_z, minor_radius_xy, materials) + return toroidal_model + +def plot_radial_build(radial_plot_name, build_dict): + radial_build_plot = RadialBuildPlot(build_dict, title=radial_plot_name, size=(15, 5)) + radial_build_plot.plot_radial_build() + radial_build_plot.to_png() + return radial_build_plot -toroidal_model = ToroidalModel( - build_dict, major_radius, minor_radius_z, minor_radius_xy, materials -) +def main(): + def parse_args(): + parser = argparse.ArgumentParser() + parser.add_argument('--HCPB_YAML', default = 'HCPB_YAML.yaml', help="Path (str) to YAML containing inputs for HCPB build dictionary & mix materials") + args = parser.parse_args() + return args + + def read_yaml(args): + with open(args.HCPB_YAML, 'r') as hcpb_yaml: + yaml_inputs = yaml.safe_load(hcpb_yaml) + return yaml_inputs + + args = parse_args() + yaml_inputs = read_yaml(args) + build_dict = make_build_dict(yaml_inputs['geom']['scoring_layer_thickness']) + toroidal_model = make_toroidal_model(yaml_inputs['filenames']['mat_xml'], + yaml_inputs['geom']['major_radius'], + yaml_inputs['geom']['minor_radius_z'], + yaml_inputs['geom']['minor_radius_xy'], + build_dict) + plot_radial_build(yaml_inputs['filenames']['radial_plot_name'], build_dict) -rbp = RadialBuildPlot(build_dict, title="HCPB Toroidal Model", size=(15, 5)) -rbp.plot_radial_build() -rbp.to_png() \ No newline at end of file +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/examples/hcpb_radial_build_example/HCPB_Mix_Materials.py b/examples/hcpb_radial_build_example/HCPB_Mix_Materials.py index 1ef3a7e..b9b8ebc 100644 --- a/examples/hcpb_radial_build_example/HCPB_Mix_Materials.py +++ b/examples/hcpb_radial_build_example/HCPB_Mix_Materials.py @@ -1,5 +1,7 @@ import openmc import json +import yaml +import argparse import material_db_tools as mdbt ''' @@ -7,20 +9,20 @@ mdbt.mix_by_volume is called to mix individual materials and generate a new .json file. ''' -with open('PureFusionMaterials_libv1.json', 'r') as pure_mat_json: - pure_mat = json.load(pure_mat_json) - -mat_data = {} - -#Volume fractions of constituent materials -material_comp = { +def mat_data(): + ''' + Specfies volume fraction and corresponding citation for each radial component. + ''' + #Volume fractions of constituent materials + material_comp = { 'fw_armor' : {"W": 1.00}, 'fw' : {"W": 0.1, "EUROFER97" : 0.9}, -'breeder' : {"Be12Ti": 0.8, "Li4SiO4Li60.0":0.14837, "Li2TiO3Li60.0":0.05163}, +'breeder' : {"Be12Ti": 0.8, "Li4SiO4Li60.0":0.14837, "Li2TiO3Li60.0":0.05163}, #with mol% to vol% conversion +#'breeder' : {"Li4SiO4Li60.0":0.65, "Li2TiO3Li60.0":0.35}, #need to convert mol% to vol% 'bw' : {"MF82H" : 0.8, "HeNIST" : 0.2}, 'manifold_front_plate' : {"EUROFER97": 1.0}, 'manifold' : {"HeT410P80": 1.00}, -'manifold_back_plate' : {"EUROFER97": 1.00}, +'manifold_back_plate' : {"HeT410P80": 1.00}, 'hts_front_plate' : {"MF82H": 0.20, "HeNIST": 0.28, "BMF82H" : 0.52}, 'hts': {"MF82H": 0.20, "HeNIST": 0.28, "BMF82H" : 0.52}, 'hts_back_plate' : {"MF82H": 0.20, "HeNIST": 0.28, "BMF82H" : 0.52}, @@ -36,7 +38,7 @@ 'coil_pack' : {"JK2LBSteel": 0.3, "Cu": 0.25, "TernaryNb3Sn" : 0.25, "Eins" : 0.1, "HeNIST" : 0.1}, } -citation_list = { + citation_list = { 'fw_armor' : "ZhouEUDEMOHCPB_2023", 'fw' : "ZhouEUDEMOHCPB_2023", 'breeder' : "ZhouEUDEMOHCPB_2023", @@ -58,23 +60,50 @@ 'coil_pack_front_plate' : "DavisFusEngDes_2018", 'coil_pack' : "DavisFusEngDes_2018", } + return material_comp, citation_list -for mat_name, comp in material_comp.items(): - mat_data[mat_name] = { +def make_mixed_mat_lib(material_comp, citation_list, pure_mat_json): + ''' + Creates dictionary consisting of material name, composition, and citation. + ''' + mat_data = {} + for mat_name, comp in material_comp.items(): + mat_data[mat_name] = { "vol_fracs": comp, "mixture_citation" : citation_list[mat_name], } -# Load material library -mat_lib = mdbt.MaterialLibrary() -mat_lib.from_json("PureFusionMaterials_libv1.json") + # Load material library + mat_lib = mdbt.MaterialLibrary() + mat_lib.from_json(pure_mat_json) -# create material library object -mixmat_lib = mdbt.MaterialLibrary() -for mat_name, mat_input in mat_data.items(): + # create material library object + mixmat_lib = mdbt.MaterialLibrary() + for mat_name, mat_input in mat_data.items(): mixmat_lib[mat_name] = mdbt.mix_by_volume( mat_lib, mat_input["vol_fracs"], mat_input["mixture_citation"] ) + return mixmat_lib + +def main(): + def parse_args(): + parser = argparse.ArgumentParser() + parser.add_argument('--HCPB_YAML', default = 'HCPB_YAML.yaml', help="Path (str) to YAML containing inputs for HCPB build dictionary & mix materials") + args = parser.parse_args() + return args + + def read_yaml(args): + with open(args.HCPB_YAML, 'r') as hcpb_yaml: + yaml_inputs = yaml.safe_load(hcpb_yaml) + return yaml_inputs + + args = parse_args() + yaml_inputs = read_yaml(args) + material_comp, citation_list = mat_data() + mixmat_lib = make_mixed_mat_lib(material_comp, citation_list, + yaml_inputs['filenames']['pure_mat_json']) + # write OpenMC Materials xml + mixmat_lib.write_openmc(yaml_inputs['filenames']['mixed_mat_xml']) -# write HCPB material library -mixmat_lib.write_openmc("mixedPureFusionMatsHCPB_libv1.xml") +if __name__ == "__main__": + main() \ No newline at end of file From aff00d74f50fdcfd0576dc276fbe32e0589a7eb6 Mon Sep 17 00:00:00 2001 From: Anupama Rajendra <113371601+anu1217@users.noreply.github.com> Date: Tue, 14 Jan 2025 12:26:34 -0600 Subject: [PATCH 16/28] Add files via upload --- HCPB_YAML.yaml | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 HCPB_YAML.yaml diff --git a/HCPB_YAML.yaml b/HCPB_YAML.yaml new file mode 100644 index 0000000..7401eae --- /dev/null +++ b/HCPB_YAML.yaml @@ -0,0 +1,11 @@ +filenames: + mat_xml : mixedPureFusionMatsHCPB_libv1.xml + radial_plot_name : HCPB_Toroidal_Model + pure_mat_json : PureFusionMaterials_libv1.json + mixed_mat_xml : mixedPureFusionMatsHCPB_libv1.xml + +geom: + scoring_layer_thickness : 0.50 + major_radius : 800.0 + minor_radius_z : 114.0 + minor_radius_xy : 114.0 \ No newline at end of file From ff03d562fc18d281df6f2a5fcff753bfd22c0987 Mon Sep 17 00:00:00 2001 From: anu1217 Date: Tue, 14 Jan 2025 12:33:18 -0600 Subject: [PATCH 17/28] Change mixed_mat_xml to mat_xml --- examples/hcpb_radial_build_example/HCPB_Mix_Materials.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/hcpb_radial_build_example/HCPB_Mix_Materials.py b/examples/hcpb_radial_build_example/HCPB_Mix_Materials.py index b9b8ebc..b7f1230 100644 --- a/examples/hcpb_radial_build_example/HCPB_Mix_Materials.py +++ b/examples/hcpb_radial_build_example/HCPB_Mix_Materials.py @@ -103,7 +103,7 @@ def read_yaml(args): mixmat_lib = make_mixed_mat_lib(material_comp, citation_list, yaml_inputs['filenames']['pure_mat_json']) # write OpenMC Materials xml - mixmat_lib.write_openmc(yaml_inputs['filenames']['mixed_mat_xml']) + mixmat_lib.write_openmc(yaml_inputs['filenames']['mat_xml']) if __name__ == "__main__": main() \ No newline at end of file From adc3148462fc83325ba4ac15f6cb534c5790c3e7 Mon Sep 17 00:00:00 2001 From: anu1217 Date: Tue, 14 Jan 2025 16:40:15 -0600 Subject: [PATCH 18/28] Change references to material compositions --- .../HCPB_Build_Dict.py | 134 +++++------------- .../HCPB_Mix_Materials.py | 118 +++++++-------- 2 files changed, 92 insertions(+), 160 deletions(-) diff --git a/examples/hcpb_radial_build_example/HCPB_Build_Dict.py b/examples/hcpb_radial_build_example/HCPB_Build_Dict.py index 7162d15..608f839 100644 --- a/examples/hcpb_radial_build_example/HCPB_Build_Dict.py +++ b/examples/hcpb_radial_build_example/HCPB_Build_Dict.py @@ -3,9 +3,14 @@ import yaml import argparse from radial_build_tools import ToroidalModel, RadialBuildPlot -from HCPB_Mix_Materials import material_comp +from HCPB_Mix_Materials import make_mat_data -def make_build_dict(scoring_layer_thickness): +def make_build_dict(mat_info): + ''' + Build a dictionary of material names, thicknesses, compositions, plot colors, and tally scores. + input: + mat_info : dictionary of material names, compositions, and citations. + ''' build_dict = { "sol": { "thickness": 5, @@ -15,156 +20,77 @@ def make_build_dict(scoring_layer_thickness): }, "fw_armor": { "thickness": 0.2, - "composition" : material_comp['fw_armor'], - "material_name": "fw_armor", "colour": "#FFD700", # Gold "scores": ["heating"], }, "fw": { "thickness": 3.8, - "composition" : material_comp['fw'], - "material_name": "fw", "colour": "#DAA520", # Goldenrod "scores": ["fast_fluence", "he_prod", "fe_dpa", "heating"], }, "breeder": { "thickness": 50, - "composition" : material_comp['breeder'], - "material_name": "breeder", "description": "Thickness Varies", "colour": "#B22222", # Firebrick "scores": ["tbr", "heating"], }, "bw": { "thickness": 10, - "composition": material_comp['bw'], - "material_name": "bw", "colour": "#8B0000", # Dark red "scores": ["tbr", "heating","fast_fluence"], }, - "manifold_front_plate": { - "thickness": 5, - "composition": material_comp['manifold_front_plate'], - "material_name": "manifold_front_plate", - "colour": "#4682B4", # Steel blue - "scores": ["heating"], - }, + "manifold": { - "thickness": 10, - "composition": material_comp['manifold'], - "material_name": "manifold", + "thickness": 20, "colour": "#5F9EA0", # Cadet blue }, - "manifold_back_plate": { - "thickness": 5, - "composition": material_comp['manifold_back_plate'], - "material_name": "manifold_back_plate", - "colour": "#4682B4", # Steel blue - "scores": ["heating"], - }, - "hts_front_plate": { - "thickness": 1, - "composition" : material_comp['hts_front_plate'], - "material_name": "hts_front_plate", - #"description": "for scoring, same composition as HTS", - "colour": "#32CD32", # Lime green - "scores": ["fast_fluence", "he_prod", "fe_dpa", "heating"], - }, + "hts": { - "thickness": 9, - "composition" : material_comp['hts'], - "material_name": "hts", + "thickness": 10.5, "description": "Thickness Varies", "colour": "#00FF00", # Green "scores": ["heating"], }, - "hts_back_plate": { - "thickness": scoring_layer_thickness, - "composition" : material_comp['hts_back_plate'], - "material_name": "hts_back_plate", - #"description": "for scoring, same composition as HTS", - "colour": "#32CD32", # Lime green - "scores": ["fast_fluence", "he_prod", "fe_dpa", "heating"], - }, + "gap_1": { "thickness": 1, - "composition": {"Void": 1.0}, "colour": "#F5F5F5", # White smoke }, - "vv_front_plate": { - "thickness": 2, - "composition" : material_comp['vv_front_plate'], - "material_name": "vv_front_plate", - "colour": "#A9A9A9", # Dark grey - "scores": ["fast_fluence", "he_prod", "fe_dpa", "heating"], - }, + "vv_fill": { - "thickness": 6, - "composition" : material_comp['vv_fill'], - "material_name": "vv_fill", + "thickness": 10, "colour": "#778899", # Light slate grey "scores": ["heating"], }, - "vv_back_plate": { - "thickness": 2, - "composition": material_comp['vv_back_plate'], - "material_name": "vv_back_plate", - "colour": "#A9A9A9", # Dark grey - "scores": ["fast_fluence", "he_prod", "fe_dpa", "heating"], - }, + "gap_2": { "thickness": 2, - "composition": material_comp['gap_2'], - "material_name": "gap_2", "colour": "#E0FFFF", # Light cyan }, - "lts_front_plate": { - "thickness": scoring_layer_thickness, - "composition" : material_comp['lts_front_plate'], - "material_name": "lts_front_plate", - #"description": "For scoring, same composition as LTS", - "colour": "#7FFFD4", # Aquamarine - "scores": ["fast_fluence", "he_prod", "fe_dpa", "heating"], - }, + "lts": { - "thickness": 9, - "composition" : material_comp['lts'], - "material_name": "lts", + "thickness": 10.5, "description": "Thickness Varies", "colour": "#00FA9A", # Medium spring green "scores": ["heating"], }, - "lts_back_plate": { - "thickness": 1, - "composition" : material_comp['lts_back_plate'], - "material_name": "lts_back_plate", - #"description": "For scoring, same composition as LTS", - "colour": "#7FFFD4", # Aquamarine - "scores": ["fast_fluence", "he_prod", "fe_dpa", "heating"], - }, + "thermal_insulator": { "thickness": 10, - "composition": material_comp['thermal_insulator'], - "material_name": "thermal_insulator", "colour": "#B0E0E6", # Powder blue "scores": ["heating"], }, - "coil_pack_front_plate": { - "thickness": 1, - "composition" : material_comp['coil_pack_front_plate'], - "material_name": "coil_pack_front_plate", - #"description": "cell for scoring peak values, same composition as coil_pack", - "colour": "#FF6347", # Tomato - "scores": ["fast_fluence", "cu_dpa", "heating"], - }, + "coil_pack": { - "thickness": 52, - "composition" : material_comp['coil_pack'], - "material_name": "coil_pack", + "thickness": 53, "colour": "#FF4500", # Orange red "scores": ["heating"], }, } + for component in list(build_dict.keys()): + if component in list(mat_info.keys()): + build_dict[component]['composition'] = mat_info[component]['composition'] + build_dict[component]['material_name'] = component return build_dict def make_toroidal_model(materials_xml_file, major_radius, minor_radius_z, minor_radius_xy, build_dict): @@ -172,7 +98,8 @@ def make_toroidal_model(materials_xml_file, major_radius, minor_radius_z, minor_ materials = openmc.Materials.from_xml(materials_xml_file) toroidal_model = ToroidalModel( build_dict, major_radius, minor_radius_z, minor_radius_xy, materials) - return toroidal_model + mat_geom, cell_dict = toroidal_model.get_openmc_model() + return mat_geom, cell_dict def plot_radial_build(radial_plot_name, build_dict): radial_build_plot = RadialBuildPlot(build_dict, title=radial_plot_name, size=(15, 5)) @@ -194,13 +121,16 @@ def read_yaml(args): args = parse_args() yaml_inputs = read_yaml(args) - build_dict = make_build_dict(yaml_inputs['geom']['scoring_layer_thickness']) - toroidal_model = make_toroidal_model(yaml_inputs['filenames']['mat_xml'], + mat_info = make_mat_data() + build_dict = make_build_dict(mat_info) + mat_geom, cell_dict = make_toroidal_model(yaml_inputs['filenames']['mat_xml'], yaml_inputs['geom']['major_radius'], yaml_inputs['geom']['minor_radius_z'], yaml_inputs['geom']['minor_radius_xy'], build_dict) plot_radial_build(yaml_inputs['filenames']['radial_plot_name'], build_dict) - + #mat_geom, cell_dict = toroidal_model.get_openmc_model() + mat_geom.export_to_model_xml(yaml_inputs['filenames']['model_xml_name']) + if __name__ == "__main__": main() \ No newline at end of file diff --git a/examples/hcpb_radial_build_example/HCPB_Mix_Materials.py b/examples/hcpb_radial_build_example/HCPB_Mix_Materials.py index b7f1230..a6f8e5d 100644 --- a/examples/hcpb_radial_build_example/HCPB_Mix_Materials.py +++ b/examples/hcpb_radial_build_example/HCPB_Mix_Materials.py @@ -9,75 +9,77 @@ mdbt.mix_by_volume is called to mix individual materials and generate a new .json file. ''' -def mat_data(): +def make_mat_data(): ''' Specfies volume fraction and corresponding citation for each radial component. ''' - #Volume fractions of constituent materials - material_comp = { -'fw_armor' : {"W": 1.00}, -'fw' : {"W": 0.1, "EUROFER97" : 0.9}, -'breeder' : {"Be12Ti": 0.8, "Li4SiO4Li60.0":0.14837, "Li2TiO3Li60.0":0.05163}, #with mol% to vol% conversion -#'breeder' : {"Li4SiO4Li60.0":0.65, "Li2TiO3Li60.0":0.35}, #need to convert mol% to vol% -'bw' : {"MF82H" : 0.8, "HeNIST" : 0.2}, -'manifold_front_plate' : {"EUROFER97": 1.0}, -'manifold' : {"HeT410P80": 1.00}, -'manifold_back_plate' : {"HeT410P80": 1.00}, -'hts_front_plate' : {"MF82H": 0.20, "HeNIST": 0.28, "BMF82H" : 0.52}, -'hts': {"MF82H": 0.20, "HeNIST": 0.28, "BMF82H" : 0.52}, -'hts_back_plate' : {"MF82H": 0.20, "HeNIST": 0.28, "BMF82H" : 0.52}, -'vv_front_plate' : {"HeNIST" : 0.4, "Cr3FS" : 0.6}, #changed from SS316L in corresponding build_dict -'vv_fill' : {"HeNIST" : 0.4, "Cr3FS" : 0.6}, -'vv_back_plate' : {"HeNIST" : 0.4, "Cr3FS" : 0.6}, #changed from SS316L in corresponding build_dict -'gap_2' : {"AirSTP": 1.0}, -'lts_front_plate' : {"Cr3FS": 0.39, "BMF82H": 0.29, "Water": 0.32}, -'lts' : {"Cr3FS": 0.39, "BMF82H": 0.29, "Water": 0.32}, -'lts_back_plate' : {"Cr3FS": 0.39, "BMF82H": 0.29, "Water": 0.32}, -'thermal_insulator' : {'AirSTP': 1.0}, -'coil_pack_front_plate' : {"JK2LBSteel": 0.3, "Cu": 0.25, "TernaryNb3Sn" : 0.25, "Eins" : 0.1, "HeNIST" : 0.1}, -'coil_pack' : {"JK2LBSteel": 0.3, "Cu": 0.25, "TernaryNb3Sn" : 0.25, "Eins" : 0.1, "HeNIST" : 0.1}, -} + #Volume fractions of constituent materials and corresponding citations + mat_info = { + 'fw_armor' : { + 'composition' : {"W": 1.00}, + 'citation' : "ZhouEUDEMOHCPB_2023" + }, + 'fw' : { + 'composition' : {"W": 0.1, "EUROFER97" : 0.9}, + 'citation' : "ZhouEUDEMOHCPB_2023" + }, + 'breeder' : { + 'composition' : {"Be12Ti": 0.8, "Li4SiO4Li60.0":0.14837, "Li2TiO3Li60.0":0.05163}, + 'citation' : "ZhouEUDEMOHCPB_2023" + }, + 'bw' : { + 'composition' : {"MF82H" : 0.8, "HeNIST" : 0.2}, + 'citation' : "DavisFusEngDes_2018" + }, + 'manifold' : { + 'composition' : {"HeT410P80": 1.00}, + 'citation' : "DavisFusEngDes_2018" + }, + 'hts' : { + 'composition' : {"MF82H": 0.20, "HeNIST": 0.28, "BMF82H" : 0.52}, + 'citation' : "DavisFusEngDes_2018" + }, + 'vv_fill' : { + 'composition' : {"HeNIST" : 0.4, "Cr3FS" : 0.6}, + 'citation' : "DavisFusEngDes_2018" + }, + 'gap_2' : { + 'composition' : {"AirSTP": 1.0}, + 'citation' : "ZhouEUDEMOHCPB_2023" + }, + 'lts' : { + 'composition' : {"Cr3FS": 0.39, "BMF82H": 0.29, "Water": 0.32}, + 'citation' : "DavisFusEngDes_2018" + }, + 'thermal_insulator':{ + 'composition' : {'AirSTP': 1.0}, + 'citation' : "ZhouEUDEMOHCPB_2023" + }, + 'coil_pack': { + 'composition' : {"JK2LBSteel": 0.3, "Cu": 0.25, "TernaryNb3Sn" : 0.25, "Eins" : 0.1, "HeNIST" : 0.1}, + 'citation' : "DavisFusEngDes_2018" + }, + } + return mat_info - citation_list = { - 'fw_armor' : "ZhouEUDEMOHCPB_2023", - 'fw' : "ZhouEUDEMOHCPB_2023", - 'breeder' : "ZhouEUDEMOHCPB_2023", - 'bw' : "DavisFusEngDes_2018", - 'manifold_front_plate' : "DavisFusEngDes_2018", - 'manifold' : "DavisFusEngDes_2018", - 'manifold_back_plate' : "DavisFusEngDes_2018", - 'hts_front_plate' : "DavisFusEngDes_2018", - 'hts' : "DavisFusEngDes_2018", - 'hts_back_plate' : "DavisFusEngDes_2018", - 'vv_front_plate' : "DavisFusEngDes_2018", - 'vv_fill' : "DavisFusEngDes_2018", - 'vv_back_plate' : "DavisFusEngDes_2018", - 'gap_2' : "ZhouEUDEMOHCPB_2023" , - 'lts_front_plate' : "DavisFusEngDes_2018", - 'lts' : "DavisFusEngDes_2018", - 'lts_back_plate' : "DavisFusEngDes_2018", - 'thermal_insulator' : "ZhouEUDEMOHCPB_2023", - 'coil_pack_front_plate' : "DavisFusEngDes_2018", - 'coil_pack' : "DavisFusEngDes_2018", - } - return material_comp, citation_list - -def make_mixed_mat_lib(material_comp, citation_list, pure_mat_json): +def make_mixed_mat_lib(mat_info, pure_mat_json): ''' Creates dictionary consisting of material name, composition, and citation. + + pure_mat_json : path to .json containing pure material compositions ''' - mat_data = {} - for mat_name, comp in material_comp.items(): + mat_data = {} + for mat_name, comp_cit in mat_info.items(): mat_data[mat_name] = { - "vol_fracs": comp, - "mixture_citation" : citation_list[mat_name], - } + 'vol_fracs' : comp_cit['composition'], + 'mixture_citation' : comp_cit['citation'], + } # Load material library mat_lib = mdbt.MaterialLibrary() mat_lib.from_json(pure_mat_json) - # create material library object + # Create PyNE material library object mixmat_lib = mdbt.MaterialLibrary() for mat_name, mat_input in mat_data.items(): mixmat_lib[mat_name] = mdbt.mix_by_volume( @@ -99,8 +101,8 @@ def read_yaml(args): args = parse_args() yaml_inputs = read_yaml(args) - material_comp, citation_list = mat_data() - mixmat_lib = make_mixed_mat_lib(material_comp, citation_list, + mat_info = make_mat_data() + mixmat_lib = make_mixed_mat_lib(mat_info, yaml_inputs['filenames']['pure_mat_json']) # write OpenMC Materials xml mixmat_lib.write_openmc(yaml_inputs['filenames']['mat_xml']) From 34fe50dd4a94a7a680dca9341fef9c635c90a787 Mon Sep 17 00:00:00 2001 From: anu1217 Date: Tue, 14 Jan 2025 16:41:16 -0600 Subject: [PATCH 19/28] Update YAML file --- examples/hcpb_radial_build_example/HCPB_YAML.yaml | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 examples/hcpb_radial_build_example/HCPB_YAML.yaml diff --git a/examples/hcpb_radial_build_example/HCPB_YAML.yaml b/examples/hcpb_radial_build_example/HCPB_YAML.yaml new file mode 100644 index 0000000..b5e5c90 --- /dev/null +++ b/examples/hcpb_radial_build_example/HCPB_YAML.yaml @@ -0,0 +1,11 @@ +filenames: + mat_xml : mixedPureFusionMatsHCPB_libv1.xml + radial_plot_name : HCPB_Toroidal_Model + pure_mat_json : PureFusionMaterials_libv1.json + model_xml_name : HCPB_model + +geom: + scoring_layer_thickness : 0.50 + major_radius : 800.0 + minor_radius_z : 114.0 + minor_radius_xy : 114.0 \ No newline at end of file From e3b93470e783fc2a2d77de86f50fcd03145f942b Mon Sep 17 00:00:00 2001 From: Anupama Rajendra <113371601+anu1217@users.noreply.github.com> Date: Tue, 14 Jan 2025 16:42:15 -0600 Subject: [PATCH 20/28] Delete HCPB_YAML.yaml --- HCPB_YAML.yaml | 11 ----------- 1 file changed, 11 deletions(-) delete mode 100644 HCPB_YAML.yaml diff --git a/HCPB_YAML.yaml b/HCPB_YAML.yaml deleted file mode 100644 index 7401eae..0000000 --- a/HCPB_YAML.yaml +++ /dev/null @@ -1,11 +0,0 @@ -filenames: - mat_xml : mixedPureFusionMatsHCPB_libv1.xml - radial_plot_name : HCPB_Toroidal_Model - pure_mat_json : PureFusionMaterials_libv1.json - mixed_mat_xml : mixedPureFusionMatsHCPB_libv1.xml - -geom: - scoring_layer_thickness : 0.50 - major_radius : 800.0 - minor_radius_z : 114.0 - minor_radius_xy : 114.0 \ No newline at end of file From c9dd6901ac70da52b69bcdc4edff0dabc56a0d3b Mon Sep 17 00:00:00 2001 From: Anupama Rajendra <113371601+anu1217@users.noreply.github.com> Date: Wed, 15 Jan 2025 10:16:42 -0600 Subject: [PATCH 21/28] Removed commented line --- examples/hcpb_radial_build_example/HCPB_Build_Dict.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/examples/hcpb_radial_build_example/HCPB_Build_Dict.py b/examples/hcpb_radial_build_example/HCPB_Build_Dict.py index 608f839..f4e0031 100644 --- a/examples/hcpb_radial_build_example/HCPB_Build_Dict.py +++ b/examples/hcpb_radial_build_example/HCPB_Build_Dict.py @@ -129,8 +129,7 @@ def read_yaml(args): yaml_inputs['geom']['minor_radius_xy'], build_dict) plot_radial_build(yaml_inputs['filenames']['radial_plot_name'], build_dict) - #mat_geom, cell_dict = toroidal_model.get_openmc_model() mat_geom.export_to_model_xml(yaml_inputs['filenames']['model_xml_name']) if __name__ == "__main__": - main() \ No newline at end of file + main() From ba954233571c80279ad36ae38a4e6d5b24ef595e Mon Sep 17 00:00:00 2001 From: Anupama Rajendra <113371601+anu1217@users.noreply.github.com> Date: Wed, 15 Jan 2025 13:37:31 -0600 Subject: [PATCH 22/28] Remove plot filename --- examples/hcpb_radial_build_example/HCPB_YAML.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/examples/hcpb_radial_build_example/HCPB_YAML.yaml b/examples/hcpb_radial_build_example/HCPB_YAML.yaml index b5e5c90..3bc46e5 100644 --- a/examples/hcpb_radial_build_example/HCPB_YAML.yaml +++ b/examples/hcpb_radial_build_example/HCPB_YAML.yaml @@ -1,6 +1,5 @@ filenames: mat_xml : mixedPureFusionMatsHCPB_libv1.xml - radial_plot_name : HCPB_Toroidal_Model pure_mat_json : PureFusionMaterials_libv1.json model_xml_name : HCPB_model @@ -8,4 +7,4 @@ geom: scoring_layer_thickness : 0.50 major_radius : 800.0 minor_radius_z : 114.0 - minor_radius_xy : 114.0 \ No newline at end of file + minor_radius_xy : 114.0 From 6f6f9de6ec229505f85c8abbc423c1aa7a797c31 Mon Sep 17 00:00:00 2001 From: Anupama Rajendra <113371601+anu1217@users.noreply.github.com> Date: Wed, 15 Jan 2025 13:40:23 -0600 Subject: [PATCH 23/28] Change functions & indentation --- .../HCPB_Build_Dict.py | 168 +++++++++--------- 1 file changed, 80 insertions(+), 88 deletions(-) diff --git a/examples/hcpb_radial_build_example/HCPB_Build_Dict.py b/examples/hcpb_radial_build_example/HCPB_Build_Dict.py index f4e0031..54c9430 100644 --- a/examples/hcpb_radial_build_example/HCPB_Build_Dict.py +++ b/examples/hcpb_radial_build_example/HCPB_Build_Dict.py @@ -7,86 +7,77 @@ def make_build_dict(mat_info): ''' - Build a dictionary of material names, thicknesses, compositions, plot colors, and tally scores. + Builds a dictionary of material names, thicknesses, compositions, plot colors, and tally scores. input: mat_info : dictionary of material names, compositions, and citations. ''' build_dict = { - "sol": { - "thickness": 5, - "composition": {"Void": 1.0}, - "colour": "#E0E0E0", # Light grey - - }, - "fw_armor": { - "thickness": 0.2, - "colour": "#FFD700", # Gold - "scores": ["heating"], - }, - "fw": { - "thickness": 3.8, - "colour": "#DAA520", # Goldenrod - "scores": ["fast_fluence", "he_prod", "fe_dpa", "heating"], - }, - "breeder": { - "thickness": 50, - "description": "Thickness Varies", - "colour": "#B22222", # Firebrick - "scores": ["tbr", "heating"], - }, - "bw": { - "thickness": 10, - "colour": "#8B0000", # Dark red - "scores": ["tbr", "heating","fast_fluence"], - }, - - "manifold": { - "thickness": 20, - "colour": "#5F9EA0", # Cadet blue - }, - - "hts": { - "thickness": 10.5, - "description": "Thickness Varies", - "colour": "#00FF00", # Green - "scores": ["heating"], - }, - - "gap_1": { - "thickness": 1, - "colour": "#F5F5F5", # White smoke - }, - - "vv_fill": { - "thickness": 10, - "colour": "#778899", # Light slate grey - "scores": ["heating"], - }, - - "gap_2": { - "thickness": 2, - "colour": "#E0FFFF", # Light cyan - }, - - "lts": { - "thickness": 10.5, - "description": "Thickness Varies", - "colour": "#00FA9A", # Medium spring green - "scores": ["heating"], - }, - - "thermal_insulator": { - "thickness": 10, - "colour": "#B0E0E6", # Powder blue - "scores": ["heating"], - }, - - "coil_pack": { - "thickness": 53, - "colour": "#FF4500", # Orange red - "scores": ["heating"], - }, -} + "sol": { + "thickness": 5, + "composition": {"Void": 1.0}, + "colour": "#E0E0E0", # Light grey + }, + "fw_armor": { + "thickness": 0.2, + "colour": "#FFD700", # Gold + "scores": ["heating"], + }, + "fw": { + "thickness": 3.8, + "colour": "#DAA520", # Goldenrod + "scores": ["fast_fluence", "he_prod", "fe_dpa", "heating"], + }, + "breeder": { + "thickness": 50, + "description": "Thickness Varies", + "colour": "#B22222", # Firebrick + "scores": ["tbr", "heating"], + }, + "bw": { + "thickness": 10, + "colour": "#8B0000", # Dark red + "scores": ["tbr", "heating","fast_fluence"], + }, + "manifold": { + "thickness": 20, + "colour": "#5F9EA0", # Cadet blue + }, + "hts": { + "thickness": 10.5, + "description": "Thickness Varies", + "colour": "#00FF00", # Green + "scores": ["heating"], + }, + "gap_1": { + "thickness": 1, + "colour": "#F5F5F5", # White smoke + }, + "vv_fill": { + "thickness": 10, + "colour": "#778899", # Light slate grey + "scores": ["heating"], + }, + "gap_2": { + "thickness": 2, + "colour": "#E0FFFF", # Light cyan + }, + "lts": { + "thickness": 10.5, + "description": "Thickness Varies", + "colour": "#00FA9A", # Medium spring green + "scores": ["heating"], + }, + "thermal_insulator": { + "thickness": 10, + "colour": "#B0E0E6", # Powder blue + "scores": ["heating"], + }, + "coil_pack": { + "thickness": 53, + "colour": "#FF4500", # Orange red + "scores": ["heating"], + }, + } for component in list(build_dict.keys()): if component in list(mat_info.keys()): build_dict[component]['composition'] = mat_info[component]['composition'] @@ -107,18 +98,19 @@ def plot_radial_build(radial_plot_name, build_dict): radial_build_plot.to_png() return radial_build_plot -def main(): - def parse_args(): - parser = argparse.ArgumentParser() - parser.add_argument('--HCPB_YAML', default = 'HCPB_YAML.yaml', help="Path (str) to YAML containing inputs for HCPB build dictionary & mix materials") - args = parser.parse_args() - return args +def parse_args(): + parser = argparse.ArgumentParser() + parser.add_argument('--HCPB_YAML', default = 'HCPB_YAML.yaml', help="Path (str) to YAML containing inputs for HCPB build dictionary & mix materials") + parser.add_argument('--radial_plot_name', default = 'HCPB_Toroidal_Model', help="Desired filename of radial build plot") + args = parser.parse_args() + return args - def read_yaml(args): - with open(args.HCPB_YAML, 'r') as hcpb_yaml: - yaml_inputs = yaml.safe_load(hcpb_yaml) - return yaml_inputs - +def read_yaml(args): + with open(args.HCPB_YAML, 'r') as hcpb_yaml: + yaml_inputs = yaml.safe_load(hcpb_yaml) + return yaml_inputs + +def main(): args = parse_args() yaml_inputs = read_yaml(args) mat_info = make_mat_data() @@ -128,7 +120,7 @@ def read_yaml(args): yaml_inputs['geom']['minor_radius_z'], yaml_inputs['geom']['minor_radius_xy'], build_dict) - plot_radial_build(yaml_inputs['filenames']['radial_plot_name'], build_dict) + plot_radial_build(args.radial_plot_name, build_dict) mat_geom.export_to_model_xml(yaml_inputs['filenames']['model_xml_name']) if __name__ == "__main__": From 24ebcc48ebaa8c6a95b0c1f378dedb12be2ac1be Mon Sep 17 00:00:00 2001 From: Anupama Rajendra <113371601+anu1217@users.noreply.github.com> Date: Wed, 15 Jan 2025 13:43:04 -0600 Subject: [PATCH 24/28] Change location of parse_args() and read_yaml() --- .../HCPB_Mix_Materials.py | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/examples/hcpb_radial_build_example/HCPB_Mix_Materials.py b/examples/hcpb_radial_build_example/HCPB_Mix_Materials.py index a6f8e5d..e1a3b2f 100644 --- a/examples/hcpb_radial_build_example/HCPB_Mix_Materials.py +++ b/examples/hcpb_radial_build_example/HCPB_Mix_Materials.py @@ -87,18 +87,18 @@ def make_mixed_mat_lib(mat_info, pure_mat_json): ) return mixmat_lib -def main(): - def parse_args(): - parser = argparse.ArgumentParser() - parser.add_argument('--HCPB_YAML', default = 'HCPB_YAML.yaml', help="Path (str) to YAML containing inputs for HCPB build dictionary & mix materials") - args = parser.parse_args() - return args +def parse_args(): + parser = argparse.ArgumentParser() + parser.add_argument('--HCPB_YAML', default = 'HCPB_YAML.yaml', help="Path (str) to YAML containing inputs for HCPB build dictionary & mix materials") + args = parser.parse_args() + return args - def read_yaml(args): - with open(args.HCPB_YAML, 'r') as hcpb_yaml: - yaml_inputs = yaml.safe_load(hcpb_yaml) - return yaml_inputs +def read_yaml(args): + with open(args.HCPB_YAML, 'r') as hcpb_yaml: + yaml_inputs = yaml.safe_load(hcpb_yaml) + return yaml_inputs +def main(): args = parse_args() yaml_inputs = read_yaml(args) mat_info = make_mat_data() @@ -108,4 +108,4 @@ def read_yaml(args): mixmat_lib.write_openmc(yaml_inputs['filenames']['mat_xml']) if __name__ == "__main__": - main() \ No newline at end of file + main() From 23ef8064a82d722f183846fd76704077a39c56e6 Mon Sep 17 00:00:00 2001 From: Anupama Rajendra <113371601+anu1217@users.noreply.github.com> Date: Wed, 15 Jan 2025 15:29:04 -0600 Subject: [PATCH 25/28] Rename examples/hcpb_radial_build_example/HCPB_Build_Dict.py to examples/dcll_hcpb_examples/hcpb_radial_build_example/HCPB_Build_Dict.py --- .../hcpb_radial_build_example/HCPB_Build_Dict.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename examples/{ => dcll_hcpb_examples}/hcpb_radial_build_example/HCPB_Build_Dict.py (100%) diff --git a/examples/hcpb_radial_build_example/HCPB_Build_Dict.py b/examples/dcll_hcpb_examples/hcpb_radial_build_example/HCPB_Build_Dict.py similarity index 100% rename from examples/hcpb_radial_build_example/HCPB_Build_Dict.py rename to examples/dcll_hcpb_examples/hcpb_radial_build_example/HCPB_Build_Dict.py From 7131c0e1b314fa449151b63ec6f53b8168d112b1 Mon Sep 17 00:00:00 2001 From: Anupama Rajendra <113371601+anu1217@users.noreply.github.com> Date: Wed, 15 Jan 2025 15:30:06 -0600 Subject: [PATCH 26/28] Rename examples/hcpb_radial_build_example/HCPB_Mix_Materials.py to examples/dcll_hcpb_examples/hcpb_radial_build_example/HCPB_Mix_Materials.py --- .../hcpb_radial_build_example/HCPB_Mix_Materials.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename examples/{ => dcll_hcpb_examples}/hcpb_radial_build_example/HCPB_Mix_Materials.py (100%) diff --git a/examples/hcpb_radial_build_example/HCPB_Mix_Materials.py b/examples/dcll_hcpb_examples/hcpb_radial_build_example/HCPB_Mix_Materials.py similarity index 100% rename from examples/hcpb_radial_build_example/HCPB_Mix_Materials.py rename to examples/dcll_hcpb_examples/hcpb_radial_build_example/HCPB_Mix_Materials.py From 95521229f1b7a8d77828edbcecaa0f40fd1d3a12 Mon Sep 17 00:00:00 2001 From: Anupama Rajendra <113371601+anu1217@users.noreply.github.com> Date: Wed, 15 Jan 2025 15:31:06 -0600 Subject: [PATCH 27/28] Rename examples/hcpb_radial_build_example/HCPB_YAML.yaml to examples/dcll_hcpb_examples/hcpb_radial_build_example/HCPB_YAML.yaml --- .../hcpb_radial_build_example/HCPB_YAML.yaml | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename examples/{ => dcll_hcpb_examples}/hcpb_radial_build_example/HCPB_YAML.yaml (100%) diff --git a/examples/hcpb_radial_build_example/HCPB_YAML.yaml b/examples/dcll_hcpb_examples/hcpb_radial_build_example/HCPB_YAML.yaml similarity index 100% rename from examples/hcpb_radial_build_example/HCPB_YAML.yaml rename to examples/dcll_hcpb_examples/hcpb_radial_build_example/HCPB_YAML.yaml From 20a1de98a1495855c8497766a62d578cc6def9e4 Mon Sep 17 00:00:00 2001 From: Anupama Rajendra <113371601+anu1217@users.noreply.github.com> Date: Thu, 16 Jan 2025 10:27:19 -0600 Subject: [PATCH 28/28] Add .xml extension to model_xml_name --- .../dcll_hcpb_examples/hcpb_radial_build_example/HCPB_YAML.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/dcll_hcpb_examples/hcpb_radial_build_example/HCPB_YAML.yaml b/examples/dcll_hcpb_examples/hcpb_radial_build_example/HCPB_YAML.yaml index 3bc46e5..b7b26e3 100644 --- a/examples/dcll_hcpb_examples/hcpb_radial_build_example/HCPB_YAML.yaml +++ b/examples/dcll_hcpb_examples/hcpb_radial_build_example/HCPB_YAML.yaml @@ -1,7 +1,7 @@ filenames: mat_xml : mixedPureFusionMatsHCPB_libv1.xml pure_mat_json : PureFusionMaterials_libv1.json - model_xml_name : HCPB_model + model_xml_name : HCPB_model.xml geom: scoring_layer_thickness : 0.50