From 6507da94c5011a6e378f0edd4533e58ea7d67676 Mon Sep 17 00:00:00 2001 From: Connor Moore Date: Thu, 25 Jun 2026 14:00:54 +0200 Subject: Initial hex lattice support for assembly-level calculations --- hpmr.py | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) mode change 100644 => 100755 hpmr.py diff --git a/hpmr.py b/hpmr.py old mode 100644 new mode 100755 index bce95b2..ff9d549 --- a/hpmr.py +++ b/hpmr.py @@ -191,7 +191,28 @@ geo_mod_universe = openmc.Universe(name="Moderator Pin Universe",cells=geo_mod_c ### Assembly-level Geometry ### -geometry = openmc.Geometry(geo_triso_compact_universe) +geo_assembly_lattice = openmc.HexLattice() +geo_assembly_lattice.center=(0,0) +geo_assembly_lattice.pitch=(geo_constant_pin_pitch,) +outer = [geo_triso_compact_universe]*12 +middle = [geo_mod_universe]*6 +inner = [geo_triso_compact_universe] +geo_assembly_lattice.universes=[outer,middle,inner] +geo_assembly_lattice.outer=openmc.Universe(cells=[openmc.Cell(fill=mat_graphite_matrix)]) + +geo_assembly_region = openmc.model.HexagonalPrism( + #edge_length=geo_constant_lattice_pitch*3**(0.5), + edge_length=10.0, + orientation="x", + origin=(0.0,0.0), + boundary_type="reflective" + ) + +geo_assembly_cell = openmc.Cell(name="Unit Assembly Cell",fill=geo_assembly_lattice,region=-geo_assembly_region) +geo_outer_cell = openmc.Cell(name="Unit Assembly Void Outer",fill=None,region=+geo_assembly_region) +geo_assembly_universe = openmc.Universe(cells=[geo_assembly_cell,geo_outer_cell]) + +geometry = openmc.Geometry(geo_assembly_universe) geometry.export_to_xml() -- cgit v1.2.3