summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorConnor Moore <connor.moore@psi.ch>2026-06-25 09:45:14 +0200
committerConnor Moore <connor.moore@psi.ch>2026-06-25 09:45:14 +0200
commitda691dc164e41c5cd56792f7f56fd2c07ebc6397 (patch)
tree223314bbfa8434ae752ec08a6c230c12619b53c9
parent58bd49d9f4ef65fd6419d33f92e300cd62f2c7e5 (diff)
Added gitignore file and continued material definitions for the reactor.
-rw-r--r--.gitignore6
-rw-r--r--hpmr.py80
2 files changed, 76 insertions, 10 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..305c3a1
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,6 @@
+*.pkl
+*.xml
+*.h5
+*.out
+*.png
+*.pltvw
diff --git a/hpmr.py b/hpmr.py
index 93a9ce6..410a2b9 100644
--- a/hpmr.py
+++ b/hpmr.py
@@ -1,9 +1,12 @@
#!/bin/python3
-
import openmc
-
############ MATERIALS ############
+# All materials are specified in the report on HEAT PIPE MICROREACTOR MODELING WITH BLUECRAB
+# <https://www.tandfonline.com/doi/full/10.1080/00295639.2024.2375175>
+# Materials marked PNNL-15870 are from the 2nd revision of the report "Compendium of Material
+# Composition Data for Radiation Transport Modeling " by US Dept. of Homeland Security and PNNL
+# <https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev2.pdf>
mat_list = []
## Matrix Graphite ##
@@ -19,30 +22,30 @@ mat_triso_uco.add_element("U",1.0,enrichment=19.95,enrichment_type="wo")
mat_triso_uco.add_element("C",1.0)
mat_triso_uco.add_element("O",1.0)
mat_triso_uco.set_density("g/cc",10.744)
-mat_triso_uco.add_s_alpha_beta("c_graphite")
+mat_triso_uco.add_s_alpha_beta("c_Graphite")
mat_list.append(mat_triso_uco)
mat_triso_buffer = openmc.Material(name="TRISO Pin Buffer")
mat_triso_buffer.add_element("C",1.0)
-mat_triso_buffer.add_s_alpha_beta("c_graphite")
+mat_triso_buffer.add_s_alpha_beta("c_Graphite")
mat_triso_buffer.set_density("g/cc",1.04)
mat_list.append(mat_triso_buffer)
mat_triso_pyc1 = openmc.Material(name="TRISO Pin PyC1")
mat_triso_pyc1.add_element("C",1.0)
-mat_triso_pyc1.add_s_alpha_beta("c_graphite")
+mat_triso_pyc1.add_s_alpha_beta("c_Graphite")
mat_list.append(mat_triso_pyc1)
mat_triso_sic = openmc.Material(name="TRISO Pin SiC")
mat_triso_sic.add_element("Si",1.0)
mat_triso_sic.add_element("C",1.0)
-mat_triso_sic.add_s_alpha_beta("c_graphite")
+mat_triso_sic.add_s_alpha_beta("c_Graphite")
mat_triso_sic.set_density("g/cc",3.171)
mat_list.append(mat_triso_sic)
mat_triso_pyc2 = openmc.Material(name="TRISO Pin PyC2")
mat_triso_pyc2.add_element("C",1.0)
-mat_triso_pyc2.add_s_alpha_beta("c_graphite")
+mat_triso_pyc2.add_s_alpha_beta("c_Graphite")
mat_triso_pyc2.set_density("g/cc",1.882)
mat_list.append(mat_triso_pyc2)
@@ -50,8 +53,66 @@ mat_list.append(mat_triso_pyc2)
mat_mod_helium = openmc.Material(name="Moderator Pin Helium")
mat_mod_helium.add_element("He",1.0)
mat_mod_helium.set_density("g/cc",0.18e-3)
-
-
+mat_list.append(mat_mod_helium)
+
+mat_mod_ss316 = openmc.Material(name="Moderator Pin SS316")
+mat_mod_ss316.add_element("C",0.000800,"wo")
+mat_mod_ss316.add_element("Mn",0.020000,"wo")
+mat_mod_ss316.add_element("P",0.000450,"wo")
+mat_mod_ss316.add_element("S",0.000300,"wo")
+mat_mod_ss316.add_element("Si",0.010000,"wo")
+mat_mod_ss316.add_element("Cr",0.170000,"wo")
+mat_mod_ss316.add_element("Ni",0.120000,"wo")
+mat_mod_ss316.add_element("Mo",0.025000,"wo")
+mat_mod_ss316.add_element("Fe",0.653450,"wo")
+mat_mod_ss316.set_density("g/cc",7.67)
+mat_list.append(mat_mod_ss316)
+
+mat_mod_yh2 = openmc.Material(name="Moderater Pin YH2")
+mat_mod_yh2.add_element("Y",1.0)
+mat_mod_yh2.add_element("H",2.0)
+mat_mod_yh2.add_s_alpha_beta("c_H_YH2")
+mat_mod_yh2.set_density("g/cc",4.3)
+mat_list.append(mat_mod_yh2)
+
+## Heat Pipes ##
+mat_pipe_helium = openmc.Material(name="Heat Pipe Helium")
+mat_pipe_helium.add_element("He",1.0)
+mat_pipe_helium.set_density("g/cc",0.18e-3)
+mat_list.append(mat_pipe_helium)
+
+mat_pipe_ss316 = openmc.Material(name="Heat Pipe SS316")
+mat_pipe_ss316.add_element("C",0.000800,"wo")
+mat_pipe_ss316.add_element("Mn",0.020000,"wo")
+mat_pipe_ss316.add_element("P",0.000450,"wo")
+mat_pipe_ss316.add_element("S",0.000300,"wo")
+mat_pipe_ss316.add_element("Si",0.010000,"wo")
+mat_pipe_ss316.add_element("Cr",0.170000,"wo")
+mat_pipe_ss316.add_element("Ni",0.120000,"wo")
+mat_pipe_ss316.add_element("Mo",0.025000,"wo")
+mat_pipe_ss316.add_element("Fe",0.653450,"wo")
+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.set_density("g/cc",0.705)
+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.set_density("g/cc",1.11e-4)
+mat_list.append(mat_pipe_k_gas)
+
+## Export ##
materials = openmc.Materials(mat_list)
materials.export_to_xml()
@@ -62,4 +123,3 @@ materials.export_to_xml()
############ SETTINGS ############
-