summaryrefslogtreecommitdiff
path: root/hpmr.py
diff options
context:
space:
mode:
authorConnor Moore <connor.moore@psi.ch>2026-06-25 11:05:09 +0200
committerConnor Moore <connor.moore@psi.ch>2026-06-25 11:05:09 +0200
commit410b041fac650abe6740852ec435f0615db0709e (patch)
treef530c05ac8be41d39952bd47890553cddd49e2f3 /hpmr.py
parentda691dc164e41c5cd56792f7f56fd2c07ebc6397 (diff)
Initial geometry definitions for pins and TRISO kernel
Diffstat (limited to 'hpmr.py')
-rw-r--r--hpmr.py40
1 files changed, 40 insertions, 0 deletions
diff --git a/hpmr.py b/hpmr.py
index 410a2b9..699d78f 100644
--- a/hpmr.py
+++ b/hpmr.py
@@ -118,6 +118,46 @@ materials.export_to_xml()
############ GEOMETRY ############
+# All measurements are in cm unless specified
+geo_constant_pin_pitch = 2.3
+geo_constant_lattice_pitch = 26.752
+geo_constant_triso_radius = 1.0
+geo_constant_triso_packing = 0.40
+
+### Inidividual Pin Universes ###
+
+## TRISO fuel kernel ##
+geo_triso_spheres = [openmc.Sphere(r=rad*1e-2, x0=0.0, y0=0.0) for rad in [2.125, 3.125, 3.525, 3.875, 4.275]]
+geo_triso_cells = [openmc.Cell(name="TRISO Kernel UCO",fill=mat_triso_uco,region=-geo_triso_spheres[0]),
+ openmc.Cell(name="TRISO Kernel Buffer",fill=mat_triso_buffer,region=+geo_triso_spheres[0]&-geo_triso_spheres[1]),
+ openmc.Cell(name="TRISO Kernel PyC1",fill=mat_triso_pyc1,region=+geo_triso_spheres[1]&-geo_triso_spheres[2]),
+ openmc.Cell(name="TRISO Kernel SiC",fill=mat_triso_sic,region=+geo_triso_spheres[2]&-geo_triso_spheres[3]),
+ openmc.Cell(name="TRISO Kernel PyC2",fill=mat_triso_pyc2,region=+geo_triso_spheres[3]&-geo_triso_spheres[4])]
+geo_triso_universe = openmc.Universe(name="TRISO Kernel Universe",cells=geo_triso_cells)
+
+## TRISO compact ##
+
+## Heat Pipe ##
+geo_pipe_cylinders = [openmc.ZCylinder(r=rad, x0=0.0, y0=0.0) for rad in [0.80, 0.90, 0.97, 1.05, 1.07]]
+geo_pipe_cells = [openmc.Cell(name="Heat Pipe K Gas",fill=mat_pipe_k_gas,region=-geo_pipe_cylinders[0]),
+ openmc.Cell(name="Heat Pipe Wick",fill=mat_pipe_wick,region=+geo_pipe_cylinders[0]&-geo_pipe_cylinders[1]),
+ openmc.Cell(name="Heat Pipe K Layer",fill=mat_pipe_k_liquid,region=+geo_pipe_cylinders[1]&-geo_pipe_cylinders[2]),
+ openmc.Cell(name="Heat Pipe SS316 Envelope",fill=mat_pipe_ss316,region=+geo_pipe_cylinders[2]&-geo_pipe_cylinders[3]),
+ openmc.Cell(name="Heat Pipe Helium Gap",fill=mat_pipe_helium,region=+geo_pipe_cylinders[3]&-geo_pipe_cylinders[4]),
+ openmc.Cell(name="Heat Pipe Graphite Matrix",fill=mat_graphite_matrix,region=+geo_pipe_cylinders[4])]
+geo_pipe_universe = openmc.Universe(name="Heat Pipe Universe",cells=geo_pipe_cells)
+
+
+## Moderator Pin ##
+geo_mod_cylinders = [openmc.ZCylinder(r=rad, x0=0.0, y0=0.0) for rad in [0.825, 0.875, 0.900, 0.920]]
+geo_mod_cells = [openmc.Cell(name="Moderator Pin YH2",fill=mat_mod_yh2,region=-geo_mod_cylinders[0]),
+ openmc.Cell(name="Moderator Pin Inner Helium Gap",fill=mat_mod_helium,region=+geo_mod_cylinders[0]&-geo_mod_cylinders[1]),
+ openmc.Cell(name="Moderator Pin SS316 Envelope",fill=mat_mod_ss316,region=+geo_mod_cylinders[1]&-geo_mod_cylinders[2]),
+ openmc.Cell(name="Moderator Pin Outer Helium Gap",fill=mat_mod_helium,region=+geo_mod_cylinders[2]&-geo_mod_cylinders[3]),
+ openmc.Cell(name="Moderator Pin Graphite Matrix",fill=mat_graphite_matrix,region=+geo_mod_cylinders[3])]
+geo_mod_universe = openmc.Universe(name="Moderator Pin Universe",cells=geo_mod_cells)
+
+### Assembly-level Geometry ###