Compare commits

...
Sign in to create a new pull request.

13 commits
main ... rings

Author SHA1 Message Date
Paul Romano
2bbf21b1d8 Add SMR assembly model 2018-01-19 13:48:31 -06:00
Paul Romano
292dbfd675 Default to a single ring/axial region 2018-01-17 12:34:35 -06:00
Paul Romano
a957d442a8 Special treatment for a single radial/axial region in fuel pins 2018-01-17 12:18:11 -06:00
Paul Romano
dac1af47ad Add number of rings/axial segments as command-line options 2018-01-17 12:15:11 -06:00
Paul Romano
c1082420e4 Use argparse in build-fresh.py 2018-01-17 06:47:03 -06:00
Paul Romano
a20d15c0cb Make number of rings configurable 2018-01-17 06:27:01 -06:00
Paul Romano
96b1ae8513 Generate pin universes within function 2018-01-16 22:44:15 -06:00
Paul Romano
0b1965e27f Put geometry and reflector/assembly universes in functions 2018-01-16 22:28:44 -06:00
Paul Romano
337d4cff69 Make sure sleeve appears on fifth grid spacer 2018-01-16 14:14:06 -06:00
Paul Romano
46e379e169 Don't break up fuel region over multiple universes in z direction 2018-01-16 14:14:06 -06:00
Paul Romano
7e735bec85 Fix number of pellets in SMR 2018-01-16 14:14:06 -06:00
Paul Romano
186c525c8a Add axial subdivision of fuel pins 2018-01-16 14:14:06 -06:00
Paul Romano
6762ab0237 Add ten rings in fuel 2018-01-16 14:14:06 -06:00
25 changed files with 4692 additions and 1960 deletions

1
.gitattributes vendored
View file

@ -2,3 +2,4 @@ assembly/depleted/materials.xml filter=lfs diff=lfs merge=lfs -text
2x2-periodic/depleted/materials.xml filter=lfs diff=lfs merge=lfs -text
2x2-reflector/depleted/materials.xml filter=lfs diff=lfs merge=lfs -text
smr/depleted/materials.xml filter=lfs diff=lfs merge=lfs -text
smr/assembly/materials.xml filter=lfs diff=lfs merge=lfs -text

2630
smr/assembly/geometry.xml Normal file

File diff suppressed because it is too large Load diff

BIN
smr/assembly/materials.xml (Stored with Git LFS) Normal file

Binary file not shown.

16
smr/assembly/settings.xml Normal file
View file

@ -0,0 +1,16 @@
<?xml version='1.0' encoding='utf-8'?>
<settings>
<run_mode>eigenvalue</run_mode>
<particles>10000</particles>
<batches>200</batches>
<inactive>100</inactive>
<source strength="1.0">
<space type="fission">
<parameters>-10.751819999999999 -10.751819999999999 36.007 10.751819999999999 10.751819999999999 236.0066</parameters>
</space>
</source>
<output>
<tallies>false</tallies>
<summary>false</summary>
</output>
</settings>

11
smr/assembly/tallies.xml Normal file

File diff suppressed because one or more lines are too long

123
smr/build-assembly.py Normal file
View file

@ -0,0 +1,123 @@
#!/usr/bin/env python3
import os
import shutil
import copy
import argparse
import numpy as np
import openmc
from smr.materials import materials
from smr.surfaces import surfs, lattice_pitch, bottom_fuel_stack, top_active_core
from smr.assemblies import assembly_universes
# Define command-line options
parser = argparse.ArgumentParser()
parser.add_argument('-m', '--multipole', action='store_true',
help='Whether to use multipole cross sections')
parser.add_argument('-t', '--tallies', choices=('cell', 'mat'), default='mat',
help='Whether to use distribmats or distribcells for tallies')
parser.add_argument('-r', '--rings', type=int, default=10,
help='Number of annular regions in fuel')
parser.add_argument('-a', '--axial', type=int, default=196,
help='Number of axial subdivisions in fuel')
args = parser.parse_args()
# Define geometry with a single assembly
assembly = assembly_universes(args.rings, args.axial)
lattice_sides = openmc.model.get_rectangular_prism(lattice_pitch, lattice_pitch,
boundary_type='reflective')
main_cell = openmc.Cell(
fill=assembly['Assembly (3.1%) 16BA'],
region=lattice_sides & +surfs['lower bound'] & -surfs['upper bound']
)
root_univ = openmc.Universe(cells=[main_cell])
geometry = openmc.Geometry(root_univ)
#### "Differentiate" the geometry if using distribmats
if args.tallies == 'mat':
# Count the number of instances for each cell and material
geometry.determine_paths(instances_only=True)
# Extract all cells filled by a fuel material
fuel_mats = {m for m in materials if 'UO2 Fuel' in m.name}
for cell in geometry.get_all_material_cells().values():
if cell.fill in fuel_mats:
# Fill cell with list of "differentiated" materials
cell.fill = [cell.fill.clone() for i in range(cell.num_instances)]
#### Create OpenMC "materials.xml" file
all_materials = geometry.get_all_materials()
materials = openmc.Materials(all_materials.values())
materials.export_to_xml()
#### Create OpenMC "geometry.xml" file
geometry.export_to_xml()
#### Create OpenMC "settings.xml" file
# Construct uniform initial source distribution over fissionable zones
lower_left = (-lattice_pitch/2, -lattice_pitch/2, bottom_fuel_stack)
upper_right = (lattice_pitch/2, lattice_pitch/2, top_active_core)
source = openmc.source.Source(space=openmc.stats.Box(lower_left, upper_right))
source.space.only_fissionable = True
settings = openmc.Settings()
settings.batches = 200
settings.inactive = 100
settings.particles = 10000
settings.output = {'tallies': False, 'summary': False}
settings.source = source
settings.sourcepoint_write = False
if args.multipole:
settings.temperature = {'multipole': True, 'tolerance': 1000}
settings.export_to_xml()
#### Create OpenMC "tallies.xml" file
tallies = openmc.Tallies()
# Extract all fuel materials
materials = geometry.get_materials_by_name(name='Fuel', matching=False)
# If using distribcells, create distribcell tally needed for depletion
if args.tallies == 'cell':
# Extract all cells filled by a fuel material
fuel_cells = []
for cell in geometry.get_all_cells().values():
if cell.fill in materials:
tally = openmc.Tally(name='depletion tally')
tally.scores = ['(n,p)', '(n,a)', '(n,gamma)',
'fission', '(n,2n)', '(n,3n)', '(n,4n)']
tally.nuclides = cell.fill.get_nuclides()
tally.filters.append(openmc.DistribcellFilter([cell]))
tallies.append(tally)
# If using distribmats, create material tally needed for depletion
elif args.tallies == 'mat':
tally = openmc.Tally(name='depletion tally')
tally.scores = ['(n,p)', '(n,a)', '(n,gamma)',
'fission', '(n,2n)', '(n,3n)', '(n,4n)']
tally.nuclides = materials[0].get_nuclides()
tally.filters = [openmc.MaterialFilter(materials)]
tallies.append(tally)
tallies.export_to_xml()
#### Move all XML files to 'fresh' directory
if not os.path.exists('assembly'):
os.makedirs('assembly')
shutil.move('materials.xml', 'assembly/materials.xml')
shutil.move('geometry.xml', 'assembly/geometry.xml')
shutil.move('settings.xml', 'assembly/settings.xml')
shutil.move('tallies.xml', 'assembly/tallies.xml')

View file

@ -64,7 +64,7 @@ settings.entropy_dimension = [15, 15, 1]
# MeV/second cm from CASMO
settings.power = 2.337e15 * ((17.*17.*37.) / 1.5**2) * height
settings.dt_vec = dt
settings.output_dir = 'depleted'
settings.output_dir = 'core-depleted'
op = opendeplete.OpenMCOperator(geometry, settings)

121
smr/build-core-fresh.py Normal file
View file

@ -0,0 +1,121 @@
#!/usr/bin/env python3
import os
import shutil
import copy
import argparse
import numpy as np
import openmc
from smr.materials import materials
from smr.plots import plots
from smr.surfaces import lattice_pitch, bottom_fuel_stack, top_active_core
from smr.core import core_geometry
# Define command-line options
parser = argparse.ArgumentParser()
parser.add_argument('-m', '--multipole', action='store_true',
help='Whether to use multipole cross sections')
parser.add_argument('-t', '--tallies', choices=('cell', 'mat'), default='cell',
help='Whether to use distribmats or distribcells for tallies')
parser.add_argument('-r', '--rings', type=int, default=1,
help='Number of annular regions in fuel')
parser.add_argument('-a', '--axial', type=int, default=1,
help='Number of axial subdivisions in fuel')
args = parser.parse_args()
geometry = core_geometry(args.rings, args.axial)
#### "Differentiate" the geometry if using distribmats
if args.tallies == 'mat':
# Count the number of instances for each cell and material
geometry.determine_paths(instances_only=True)
# Extract all cells filled by a fuel material
fuel_mats = {m for m in materials if 'UO2 Fuel' in m.name}
for cell in geometry.get_all_cells().values():
if cell.fill in fuel_mats:
# Fill cell with list of "differentiated" materials
cell.fill = [cell.fill.clone() for i in range(cell.num_instances)]
#### Create OpenMC "materials.xml" file
all_materials = geometry.get_all_materials()
materials = openmc.Materials(all_materials.values())
materials.export_to_xml()
#### Create OpenMC "geometry.xml" file
geometry.export_to_xml()
#### Create OpenMC "settings.xml" file
# Construct uniform initial source distribution over fissionable zones
lower_left = [-7.*lattice_pitch/2., -7.*lattice_pitch/2., bottom_fuel_stack]
upper_right = [+7.*lattice_pitch/2., +7.*lattice_pitch/2., top_active_core]
source = openmc.source.Source(space=openmc.stats.Box(lower_left, upper_right))
source.space.only_fissionable = True
settings = openmc.Settings()
settings.batches = 200
settings.inactive = 100
settings.particles = 10000
settings.output = {'tallies': False}
settings.source = source
settings.sourcepoint_write = False
if args.multipole:
settings.temperature = {'multipole': True, 'tolerance': 1000}
settings.export_to_xml()
#### Create OpenMC "plots.xml" file
plots.export_to_xml()
#### Create OpenMC "tallies.xml" file
tallies = openmc.Tallies()
# Extract all fuel materials
materials = geometry.get_materials_by_name(name='Fuel', matching=False)
# If using distribcells, create distribcell tally needed for depletion
if args.tallies == 'cell':
# Extract all cells filled by a fuel material
fuel_cells = []
for cell in geometry.get_all_cells().values():
if cell.fill in materials:
tally = openmc.Tally(name='depletion tally')
tally.scores = ['(n,p)', '(n,a)', '(n,gamma)',
'fission', '(n,2n)', '(n,3n)', '(n,4n)']
tally.nuclides = cell.fill.get_nuclides()
tally.filters.append(openmc.DistribcellFilter([cell]))
tallies.append(tally)
# If using distribmats, create material tally needed for depletion
elif args.tallies == 'mat':
tally = openmc.Tally(name='depletion tally')
tally.scores = ['(n,p)', '(n,a)', '(n,gamma)',
'fission', '(n,2n)', '(n,3n)', '(n,4n)']
tally.nuclides = materials[0].get_nuclides()
tally.filters = [openmc.MaterialFilter(materials)]
tallies.append(tally)
tallies.export_to_xml()
#### Move all XML files to 'fresh' directory
if not os.path.exists('core-fresh'):
os.makedirs('core-fresh')
shutil.move('materials.xml', 'core-fresh/materials.xml')
shutil.move('geometry.xml', 'core-fresh/geometry.xml')
shutil.move('settings.xml', 'core-fresh/settings.xml')
shutil.move('tallies.xml', 'core-fresh/tallies.xml')
shutil.move('plots.xml', 'core-fresh/plots.xml')

View file

@ -1,163 +0,0 @@
#!/usr/bin/env python3
import os
import shutil
import copy
import numpy as np
import openmc
from smr.materials import materials
from smr.plots import plots
from smr.surfaces import lattice_pitch, bottom_fuel_stack, top_active_core
from smr.core import geometry
#### Query the user for options
# Query the user on whether to use multipole cross sections
multipole = input('Use multipole cross sections? (y/n): ').lower()
multipole = (multipole == 'y')
# Query the user on whether to use distribmats or distribcells
# If using distribmats, the geometry must be "differentiated" with unique
# material instances for each instance of a fuel cell
distrib = input('Use distribmat or distribcells? [mat/cell]: ').lower()
if distrib not in ['cell', 'mat']:
raise InputError('Distrib type "{}" is unsupported'.format(distrib))
#### "Differentiate" the geometry if using distribmats
if distrib == 'mat':
# Count the number of instances for each cell and material
geometry.determine_paths()
# Extract all cells filled by a fuel material
fuel_cells = geometry.get_cells_by_name(
name='(1.6%) (0)', case_sensitive=True)
fuel_cells.extend(geometry.get_cells_by_name(
name='(1.6%) grid (bottom) (0)', case_sensitive=True))
fuel_cells.extend(geometry.get_cells_by_name(
name='(1.6%) grid (intermediate) (0)', case_sensitive=True))
fuel_cells.extend(geometry.get_cells_by_name(
name='(2.4%) (0)', case_sensitive=True))
fuel_cells.extend(geometry.get_cells_by_name(
name='(2.4%) grid (bottom) (0)', case_sensitive=True))
fuel_cells.extend(geometry.get_cells_by_name(
name='(2.4%) grid (intermediate) (0)', case_sensitive=True))
fuel_cells.extend(geometry.get_cells_by_name(
name='(3.1%) (0)', case_sensitive=True))
fuel_cells.extend(geometry.get_cells_by_name(
name='(3.1%) grid (bottom) (0)', case_sensitive=True))
fuel_cells.extend(geometry.get_cells_by_name(
name='(3.1%) grid (intermediate) (0)', case_sensitive=True))
# Assign distribmats for each material
for cell in fuel_cells:
new_materials = []
for i in range(cell.num_instances):
new_materials.append(cell.fill.clone())
# Fill cell with list of "differentiated" materials
cell.fill = new_materials
#### Create OpenMC "materials.xml" file
all_materials = geometry.get_all_materials()
materials = openmc.Materials(all_materials.values())
materials.export_to_xml()
#### Create OpenMC "geometry.xml" file
geometry.export_to_xml()
#### Create OpenMC "settings.xml" file
# Construct uniform initial source distribution over fissionable zones
lower_left = [-7.*lattice_pitch/2., -7.*lattice_pitch/2., bottom_fuel_stack]
upper_right = [+7.*lattice_pitch/2., +7.*lattice_pitch/2., top_active_core]
source = openmc.source.Source(space=openmc.stats.Box(lower_left, upper_right))
source.space.only_fissionable = True
settings = openmc.Settings()
settings.batches = 200
settings.inactive = 100
settings.particles = 10000
settings.output = {'tallies': False}
settings.source = source
settings.sourcepoint_write = False
if multipole:
settings.temperature = {'multipole': True, 'tolerance': 1000}
settings.export_to_xml()
#### Create OpenMC "plots.xml" file
plots.export_to_xml()
#### Create OpenMC "tallies.xml" file
tallies = openmc.Tallies()
# Extract all fuel materials
materials = geometry.get_materials_by_name(name='Fuel', matching=False)
# If using distribcells, create distribcell tally needed for depletion
if distrib == 'cell':
# Extract all cells filled by a fuel material
fuel_cells = geometry.get_cells_by_name(
name='(1.6%) (0)', case_sensitive=True)
fuel_cells.extend(geometry.get_cells_by_name(
name='(1.6%) grid (bottom) (0)', case_sensitive=True))
fuel_cells.extend(geometry.get_cells_by_name(
name='(1.6%) grid (intermediate) (0)', case_sensitive=True))
fuel_cells.extend(geometry.get_cells_by_name(
name='(2.4%) (0)', case_sensitive=True))
fuel_cells.extend(geometry.get_cells_by_name(
name='(2.4%) grid (bottom) (0)', case_sensitive=True))
fuel_cells.extend(geometry.get_cells_by_name(
name='(2.4%) grid (intermediate) (0)', case_sensitive=True))
fuel_cells.extend(geometry.get_cells_by_name(
name='(3.1%) (0)', case_sensitive=True))
fuel_cells.extend(geometry.get_cells_by_name(
name='(3.1%) grid (bottom) (0)', case_sensitive=True))
fuel_cells.extend(geometry.get_cells_by_name(
name='(3.1%) grid (intermediate) (0)', case_sensitive=True))
for cell in fuel_cells:
tally = openmc.Tally(name='depletion tally')
tally.scores = ['(n,p)', '(n,a)', '(n,gamma)',
'fission', '(n,2n)', '(n,3n)', '(n,4n)']
tally.nuclides = cell.fill.get_nuclides()
tally.filters.append(openmc.DistribcellFilter([cell.id]))
tallies.append(tally)
# If using distribmats, create material tally needed for depletion
elif distrib == 'mat':
tally = openmc.Tally(name='depletion tally')
tally.scores = ['(n,p)', '(n,a)', '(n,gamma)',
'fission', '(n,2n)', '(n,3n)', '(n,4n)']
tally.nuclides = materials[0].get_nuclides()
material_ids = [material.id for material in materials]
tally.filters.append(openmc.MaterialFilter(material_ids))
tallies.append(tally)
tallies.export_to_xml()
#### Move all XML files to 'fresh' directory
if not os.path.exists('fresh'):
os.makedirs('fresh')
shutil.move('materials.xml', 'fresh/materials.xml')
shutil.move('geometry.xml', 'fresh/geometry.xml')
shutil.move('settings.xml', 'fresh/settings.xml')
shutil.move('tallies.xml', 'fresh/tallies.xml')
shutil.move('plots.xml', 'fresh/plots.xml')

View file

@ -49,7 +49,7 @@
<cell fill="2" id="47" name="GT empty (17)" region="49 -50" universe="10" />
<cell fill="2" id="48" name="GT empty (18)" region="50 -51" universe="10" />
<cell fill="1" id="49" name="GT empty (19)" region="51 -52" universe="10" />
<cell fill="1" id="50" name="GT empty (last)" region="52" universe="10" />
<cell fill="1" id="50" name="GT empty (20)" region="52" universe="10" />
<cell fill="1" id="51" name="GT empty instr (0)" region="-32" universe="11" />
<cell fill="1" id="52" name="GT empty instr (1)" region="32 -33" universe="11" />
<cell fill="1" id="53" name="GT empty instr (2)" region="33 -34" universe="11" />
@ -70,7 +70,7 @@
<cell fill="10" id="68" name="GT empty instr (17)" region="49 -50" universe="11" />
<cell fill="10" id="69" name="GT empty instr (18)" region="50 -51" universe="11" />
<cell fill="1" id="70" name="GT empty instr (19)" region="51 -52" universe="11" />
<cell fill="1" id="71" name="GT empty instr (last)" region="52" universe="11" />
<cell fill="1" id="71" name="GT empty instr (20)" region="52" universe="11" />
<cell id="72" material="2" name="IT (0)" region="-16" universe="12" />
<cell id="73" material="6" name="IT (1)" region="16 -17" universe="12" />
<cell id="74" material="8" name="IT (2)" region="17 -5" universe="12" />
@ -111,7 +111,7 @@
<cell fill="12" id="114" name="GT instr (17)" region="49 -50" universe="17" />
<cell fill="12" id="115" name="GT instr (18)" region="50 -51" universe="17" />
<cell fill="16" id="116" name="GT instr (19)" region="51 -52" universe="17" />
<cell fill="1" id="117" name="GT instr (last)" region="52" universe="17" />
<cell fill="1" id="117" name="GT instr (20)" region="52" universe="17" />
<cell id="118" material="7" name="CR (0)" region="-9" universe="18" />
<cell id="119" material="2" name="CR (1)" region="9 -10" universe="18" />
<cell id="120" material="4" name="CR (2)" region="10 -5" universe="18" />
@ -169,27 +169,27 @@
<cell fill="6" id="310" name="GT CR bank D dummy (1)" region="34 -48" universe="46" />
<cell fill="10" id="311" name="GT CR bank D dummy (2)" region="48 -70" universe="46" />
<cell fill="18" id="312" name="GT CR bank D dummy (3)" region="70 -69" universe="46" />
<cell fill="22" id="313" name="GT CR bank D dummy (last)" region="69" universe="46" />
<cell fill="22" id="313" name="GT CR bank D dummy (4)" region="69" universe="46" />
<cell fill="1" id="314" name="GT CR bank D dummy grid (bottom) (0)" region="-34" universe="47" />
<cell fill="7" id="315" name="GT CR bank D dummy grid (bottom) (1)" region="34 -48" universe="47" />
<cell fill="3" id="316" name="GT CR bank D dummy grid (bottom) (2)" region="48 -70" universe="47" />
<cell fill="19" id="317" name="GT CR bank D dummy grid (bottom) (3)" region="70 -69" universe="47" />
<cell fill="23" id="318" name="GT CR bank D dummy grid (bottom) (last)" region="69" universe="47" />
<cell fill="23" id="318" name="GT CR bank D dummy grid (bottom) (4)" region="69" universe="47" />
<cell fill="1" id="319" name="GT CR bank D dummy grid (intermediate) (0)" region="-34" universe="48" />
<cell fill="8" id="320" name="GT CR bank D dummy grid (intermediate) (1)" region="34 -48" universe="48" />
<cell fill="4" id="321" name="GT CR bank D dummy grid (intermediate) (2)" region="48 -70" universe="48" />
<cell fill="20" id="322" name="GT CR bank D dummy grid (intermediate) (3)" region="70 -69" universe="48" />
<cell fill="24" id="323" name="GT CR bank D dummy grid (intermediate) (last)" region="69" universe="48" />
<cell fill="24" id="323" name="GT CR bank D dummy grid (intermediate) (4)" region="69" universe="48" />
<cell fill="1" id="324" name="GT CR bank D dummy nozzle (0)" region="-34" universe="49" />
<cell fill="9" id="325" name="GT CR bank D dummy nozzle (1)" region="34 -48" universe="49" />
<cell fill="5" id="326" name="GT CR bank D dummy nozzle (2)" region="48 -70" universe="49" />
<cell fill="21" id="327" name="GT CR bank D dummy nozzle (3)" region="70 -69" universe="49" />
<cell fill="25" id="328" name="GT CR bank D dummy nozzle (last)" region="69" universe="49" />
<cell fill="25" id="328" name="GT CR bank D dummy nozzle (4)" region="69" universe="49" />
<cell fill="1" id="329" name="GT CR bank D dummy bare (0)" region="-34" universe="50" />
<cell fill="9" id="330" name="GT CR bank D dummy bare (1)" region="34 -48" universe="50" />
<cell fill="5" id="331" name="GT CR bank D dummy bare (2)" region="48 -70" universe="50" />
<cell fill="27" id="332" name="GT CR bank D dummy bare (3)" region="70 -69" universe="50" />
<cell fill="26" id="333" name="GT CR bank D dummy bare (last)" region="69" universe="50" />
<cell fill="26" id="333" name="GT CR bank D dummy bare (4)" region="69" universe="50" />
<cell fill="1" id="334" name="GT CR bank D (0)" region="-32" universe="51" />
<cell fill="49" id="335" name="GT CR bank D (1)" region="32 -33" universe="51" />
<cell fill="49" id="336" name="GT CR bank D (2)" region="33 -34" universe="51" />
@ -210,7 +210,7 @@
<cell fill="46" id="351" name="GT CR bank D (17)" region="49 -50" universe="51" />
<cell fill="46" id="352" name="GT CR bank D (18)" region="50 -51" universe="51" />
<cell fill="50" id="353" name="GT CR bank D (19)" region="51 -52" universe="51" />
<cell fill="50" id="354" name="GT CR bank D (last)" region="52" universe="51" />
<cell fill="50" id="354" name="GT CR bank D (20)" region="52" universe="51" />
<cell id="585" material="2" name="BA (0)" region="-12" universe="82" />
<cell id="586" material="4" name="BA (1)" region="12 -13" universe="82" />
<cell id="587" material="2" name="BA (2)" region="13 -14" universe="82" />
@ -276,7 +276,7 @@
<cell fill="88" id="667" name="BA stack (18)" region="49 -50" universe="90" />
<cell fill="88" id="668" name="BA stack (19)" region="50 -51" universe="90" />
<cell fill="89" id="669" name="BA stack (20)" region="51 -52" universe="90" />
<cell fill="1" id="670" name="BA stack (last)" region="52" universe="90" />
<cell fill="1" id="670" name="BA stack (21)" region="52" universe="90" />
<cell id="671" material="4" name="SS pin (0)" region="-4" universe="91" />
<cell id="672" material="8" name="SS pin (last)" region="4" universe="91" />
<cell id="673" material="6" name="end plug (0)" region="-4" universe="92" />
@ -290,350 +290,333 @@
<cell id="681" material="6" name="pin plenum grid (intermediate) (2)" region="3 -4" universe="94" />
<cell id="682" material="8" name="pin plenum grid (intermediate) (last)" region="4 20 -21 22 -23" universe="94" />
<cell id="683" material="6" name="pin plenum grid (intermediate) (grid)" region="~(20 -21 22 -23)" universe="94" />
<cell id="684" material="10" name="Fuel (1.6%) (0)" region="-1" universe="95" />
<cell id="685" material="1" name="Fuel (1.6%) (1)" region="1 -3" universe="95" />
<cell id="686" material="6" name="Fuel (1.6%) (2)" region="3 -4" universe="95" />
<cell id="687" material="8" name="Fuel (1.6%) (last)" region="4" universe="95" />
<cell id="688" material="10" name="Fuel (1.6%) grid (bottom) (0)" region="-1" universe="96" />
<cell id="689" material="1" name="Fuel (1.6%) grid (bottom) (1)" region="1 -3" universe="96" />
<cell id="690" material="6" name="Fuel (1.6%) grid (bottom) (2)" region="3 -4" universe="96" />
<cell id="691" material="8" name="Fuel (1.6%) grid (bottom) (last)" region="4 20 -21 22 -23" universe="96" />
<cell id="692" material="3" name="Fuel (1.6%) grid (bottom) (grid)" region="~(20 -21 22 -23)" universe="96" />
<cell id="693" material="10" name="Fuel (1.6%) grid (intermediate) (0)" region="-1" universe="97" />
<cell id="694" material="1" name="Fuel (1.6%) grid (intermediate) (1)" region="1 -3" universe="97" />
<cell id="695" material="6" name="Fuel (1.6%) grid (intermediate) (2)" region="3 -4" universe="97" />
<cell id="696" material="8" name="Fuel (1.6%) grid (intermediate) (last)" region="4 20 -21 22 -23" universe="97" />
<cell id="697" material="6" name="Fuel (1.6%) grid (intermediate) (grid)" region="~(20 -21 22 -23)" universe="97" />
<cell fill="1" id="698" name="Fuel (1.6%) stack (0)" region="-32" universe="98" />
<cell fill="91" id="699" name="Fuel (1.6%) stack (1)" region="32 -33" universe="98" />
<cell fill="91" id="700" name="Fuel (1.6%) stack (2)" region="33 -34" universe="98" />
<cell fill="92" id="701" name="Fuel (1.6%) stack (3)" region="34 -35" universe="98" />
<cell fill="95" id="702" name="Fuel (1.6%) stack (4)" region="35 -38" universe="98" />
<cell fill="96" id="703" name="Fuel (1.6%) stack (5)" region="38 -39" universe="98" />
<cell fill="95" id="704" name="Fuel (1.6%) stack (6)" region="39 -48" universe="98" />
<cell fill="95" id="705" name="Fuel (1.6%) stack (7)" region="48 -40" universe="98" />
<cell fill="97" id="706" name="Fuel (1.6%) stack (8)" region="40 -41" universe="98" />
<cell fill="95" id="707" name="Fuel (1.6%) stack (9)" region="41 -42" universe="98" />
<cell fill="97" id="708" name="Fuel (1.6%) stack (10)" region="42 -43" universe="98" />
<cell fill="95" id="709" name="Fuel (1.6%) stack (11)" region="43 -44" universe="98" />
<cell fill="97" id="710" name="Fuel (1.6%) stack (12)" region="44 -45" universe="98" />
<cell fill="95" id="711" name="Fuel (1.6%) stack (13)" region="45 -36" universe="98" />
<cell fill="93" id="712" name="Fuel (1.6%) stack (14)" region="36 -46" universe="98" />
<cell fill="94" id="713" name="Fuel (1.6%) stack (15)" region="46 -47" universe="98" />
<cell fill="93" id="714" name="Fuel (1.6%) stack (16)" region="47 -49" universe="98" />
<cell fill="92" id="715" name="Fuel (1.6%) stack (17)" region="49 -50" universe="98" />
<cell fill="1" id="716" name="Fuel (1.6%) stack (18)" region="50 -51" universe="98" />
<cell fill="91" id="717" name="Fuel (1.6%) stack (19)" region="51 -52" universe="98" />
<cell fill="1" id="718" name="Fuel (1.6%) stack (last)" region="52" universe="98" />
<cell id="719" material="11" name="Fuel (2.4%) (0)" region="-1" universe="99" />
<cell id="720" material="1" name="Fuel (2.4%) (1)" region="1 -3" universe="99" />
<cell id="721" material="6" name="Fuel (2.4%) (2)" region="3 -4" universe="99" />
<cell id="722" material="8" name="Fuel (2.4%) (last)" region="4" universe="99" />
<cell id="723" material="11" name="Fuel (2.4%) grid (bottom) (0)" region="-1" universe="100" />
<cell id="724" material="1" name="Fuel (2.4%) grid (bottom) (1)" region="1 -3" universe="100" />
<cell id="725" material="6" name="Fuel (2.4%) grid (bottom) (2)" region="3 -4" universe="100" />
<cell id="726" material="8" name="Fuel (2.4%) grid (bottom) (last)" region="4 20 -21 22 -23" universe="100" />
<cell id="727" material="3" name="Fuel (2.4%) grid (bottom) (grid)" region="~(20 -21 22 -23)" universe="100" />
<cell id="728" material="11" name="Fuel (2.4%) grid (intermediate) (0)" region="-1" universe="101" />
<cell id="729" material="1" name="Fuel (2.4%) grid (intermediate) (1)" region="1 -3" universe="101" />
<cell id="730" material="6" name="Fuel (2.4%) grid (intermediate) (2)" region="3 -4" universe="101" />
<cell id="731" material="8" name="Fuel (2.4%) grid (intermediate) (last)" region="4 20 -21 22 -23" universe="101" />
<cell id="732" material="6" name="Fuel (2.4%) grid (intermediate) (grid)" region="~(20 -21 22 -23)" universe="101" />
<cell fill="1" id="733" name="Fuel (2.4%) stack (0)" region="-32" universe="102" />
<cell fill="91" id="734" name="Fuel (2.4%) stack (1)" region="32 -33" universe="102" />
<cell fill="91" id="735" name="Fuel (2.4%) stack (2)" region="33 -34" universe="102" />
<cell fill="92" id="736" name="Fuel (2.4%) stack (3)" region="34 -35" universe="102" />
<cell fill="99" id="737" name="Fuel (2.4%) stack (4)" region="35 -38" universe="102" />
<cell fill="100" id="738" name="Fuel (2.4%) stack (5)" region="38 -39" universe="102" />
<cell fill="99" id="739" name="Fuel (2.4%) stack (6)" region="39 -48" universe="102" />
<cell fill="99" id="740" name="Fuel (2.4%) stack (7)" region="48 -40" universe="102" />
<cell fill="101" id="741" name="Fuel (2.4%) stack (8)" region="40 -41" universe="102" />
<cell fill="99" id="742" name="Fuel (2.4%) stack (9)" region="41 -42" universe="102" />
<cell fill="101" id="743" name="Fuel (2.4%) stack (10)" region="42 -43" universe="102" />
<cell fill="99" id="744" name="Fuel (2.4%) stack (11)" region="43 -44" universe="102" />
<cell fill="101" id="745" name="Fuel (2.4%) stack (12)" region="44 -45" universe="102" />
<cell fill="99" id="746" name="Fuel (2.4%) stack (13)" region="45 -36" universe="102" />
<cell fill="93" id="747" name="Fuel (2.4%) stack (14)" region="36 -46" universe="102" />
<cell fill="94" id="748" name="Fuel (2.4%) stack (15)" region="46 -47" universe="102" />
<cell fill="93" id="749" name="Fuel (2.4%) stack (16)" region="47 -49" universe="102" />
<cell fill="92" id="750" name="Fuel (2.4%) stack (17)" region="49 -50" universe="102" />
<cell fill="1" id="751" name="Fuel (2.4%) stack (18)" region="50 -51" universe="102" />
<cell fill="91" id="752" name="Fuel (2.4%) stack (19)" region="51 -52" universe="102" />
<cell fill="1" id="753" name="Fuel (2.4%) stack (last)" region="52" universe="102" />
<cell id="754" material="12" name="Fuel (3.1%) (0)" region="-1" universe="103" />
<cell id="755" material="1" name="Fuel (3.1%) (1)" region="1 -3" universe="103" />
<cell id="756" material="6" name="Fuel (3.1%) (2)" region="3 -4" universe="103" />
<cell id="757" material="8" name="Fuel (3.1%) (last)" region="4" universe="103" />
<cell id="758" material="12" name="Fuel (3.1%) grid (bottom) (0)" region="-1" universe="104" />
<cell id="759" material="1" name="Fuel (3.1%) grid (bottom) (1)" region="1 -3" universe="104" />
<cell id="760" material="6" name="Fuel (3.1%) grid (bottom) (2)" region="3 -4" universe="104" />
<cell id="761" material="8" name="Fuel (3.1%) grid (bottom) (last)" region="4 20 -21 22 -23" universe="104" />
<cell id="762" material="3" name="Fuel (3.1%) grid (bottom) (grid)" region="~(20 -21 22 -23)" universe="104" />
<cell id="763" material="12" name="Fuel (3.1%) grid (intermediate) (0)" region="-1" universe="105" />
<cell id="764" material="1" name="Fuel (3.1%) grid (intermediate) (1)" region="1 -3" universe="105" />
<cell id="765" material="6" name="Fuel (3.1%) grid (intermediate) (2)" region="3 -4" universe="105" />
<cell id="766" material="8" name="Fuel (3.1%) grid (intermediate) (last)" region="4 20 -21 22 -23" universe="105" />
<cell id="767" material="6" name="Fuel (3.1%) grid (intermediate) (grid)" region="~(20 -21 22 -23)" universe="105" />
<cell fill="1" id="768" name="Fuel (3.1%) stack (0)" region="-32" universe="106" />
<cell fill="91" id="769" name="Fuel (3.1%) stack (1)" region="32 -33" universe="106" />
<cell fill="91" id="770" name="Fuel (3.1%) stack (2)" region="33 -34" universe="106" />
<cell fill="92" id="771" name="Fuel (3.1%) stack (3)" region="34 -35" universe="106" />
<cell fill="103" id="772" name="Fuel (3.1%) stack (4)" region="35 -38" universe="106" />
<cell fill="104" id="773" name="Fuel (3.1%) stack (5)" region="38 -39" universe="106" />
<cell fill="103" id="774" name="Fuel (3.1%) stack (6)" region="39 -48" universe="106" />
<cell fill="103" id="775" name="Fuel (3.1%) stack (7)" region="48 -40" universe="106" />
<cell fill="105" id="776" name="Fuel (3.1%) stack (8)" region="40 -41" universe="106" />
<cell fill="103" id="777" name="Fuel (3.1%) stack (9)" region="41 -42" universe="106" />
<cell fill="105" id="778" name="Fuel (3.1%) stack (10)" region="42 -43" universe="106" />
<cell fill="103" id="779" name="Fuel (3.1%) stack (11)" region="43 -44" universe="106" />
<cell fill="105" id="780" name="Fuel (3.1%) stack (12)" region="44 -45" universe="106" />
<cell fill="103" id="781" name="Fuel (3.1%) stack (13)" region="45 -36" universe="106" />
<cell fill="93" id="782" name="Fuel (3.1%) stack (14)" region="36 -46" universe="106" />
<cell fill="94" id="783" name="Fuel (3.1%) stack (15)" region="46 -47" universe="106" />
<cell fill="93" id="784" name="Fuel (3.1%) stack (16)" region="47 -49" universe="106" />
<cell fill="92" id="785" name="Fuel (3.1%) stack (17)" region="49 -50" universe="106" />
<cell fill="1" id="786" name="Fuel (3.1%) stack (18)" region="50 -51" universe="106" />
<cell fill="91" id="787" name="Fuel (3.1%) stack (19)" region="51 -52" universe="106" />
<cell fill="1" id="788" name="Fuel (3.1%) stack (last)" region="52" universe="106" />
<cell fill="125" id="888" name="Assembly (1.6%) no BAs instr lattice" region="24 -25 26 -27" universe="126" />
<cell fill="1" id="889" name="Assembly (1.6%) no BAs instr lattice outer water" region="~(28 -29 30 -31)" universe="126" />
<cell id="890" material="8" name="Assembly (1.6%) no BAs instr lattice axial (0)" region="28 -29 30 -31 ~(24 -25 26 -27) -38" universe="126" />
<cell id="891" material="4" name="Assembly (1.6%) no BAs instr lattice axial (1)" region="28 -29 30 -31 ~(24 -25 26 -27) 38 -39" universe="126" />
<cell id="892" material="8" name="Assembly (1.6%) no BAs instr lattice axial (2)" region="28 -29 30 -31 ~(24 -25 26 -27) 39 -40" universe="126" />
<cell id="893" material="6" name="Assembly (1.6%) no BAs instr lattice axial (3)" region="28 -29 30 -31 ~(24 -25 26 -27) 40 -41" universe="126" />
<cell id="894" material="8" name="Assembly (1.6%) no BAs instr lattice axial (4)" region="28 -29 30 -31 ~(24 -25 26 -27) 41 -42" universe="126" />
<cell id="895" material="6" name="Assembly (1.6%) no BAs instr lattice axial (5)" region="28 -29 30 -31 ~(24 -25 26 -27) 42 -43" universe="126" />
<cell id="896" material="8" name="Assembly (1.6%) no BAs instr lattice axial (6)" region="28 -29 30 -31 ~(24 -25 26 -27) 43 -44" universe="126" />
<cell id="897" material="4" name="Assembly (1.6%) no BAs instr lattice axial (7)" region="28 -29 30 -31 ~(24 -25 26 -27) 44 -45" universe="126" />
<cell id="898" material="8" name="Assembly (1.6%) no BAs instr lattice axial (last)" region="28 -29 30 -31 ~(24 -25 26 -27) 45" universe="126" />
<cell fill="145" id="998" name="Assembly (2.4%) CR D lattice" region="24 -25 26 -27" universe="146" />
<cell fill="1" id="999" name="Assembly (2.4%) CR D lattice outer water" region="~(28 -29 30 -31)" universe="146" />
<cell id="1000" material="8" name="Assembly (2.4%) CR D lattice axial (0)" region="28 -29 30 -31 ~(24 -25 26 -27) -38" universe="146" />
<cell id="1001" material="4" name="Assembly (2.4%) CR D lattice axial (1)" region="28 -29 30 -31 ~(24 -25 26 -27) 38 -39" universe="146" />
<cell id="1002" material="8" name="Assembly (2.4%) CR D lattice axial (2)" region="28 -29 30 -31 ~(24 -25 26 -27) 39 -40" universe="146" />
<cell id="1003" material="6" name="Assembly (2.4%) CR D lattice axial (3)" region="28 -29 30 -31 ~(24 -25 26 -27) 40 -41" universe="146" />
<cell id="1004" material="8" name="Assembly (2.4%) CR D lattice axial (4)" region="28 -29 30 -31 ~(24 -25 26 -27) 41 -42" universe="146" />
<cell id="1005" material="6" name="Assembly (2.4%) CR D lattice axial (5)" region="28 -29 30 -31 ~(24 -25 26 -27) 42 -43" universe="146" />
<cell id="1006" material="8" name="Assembly (2.4%) CR D lattice axial (6)" region="28 -29 30 -31 ~(24 -25 26 -27) 43 -44" universe="146" />
<cell id="1007" material="4" name="Assembly (2.4%) CR D lattice axial (7)" region="28 -29 30 -31 ~(24 -25 26 -27) 44 -45" universe="146" />
<cell id="1008" material="8" name="Assembly (2.4%) CR D lattice axial (last)" region="28 -29 30 -31 ~(24 -25 26 -27) 45" universe="146" />
<cell fill="165" id="1108" name="Assembly (3.1%) 16BA lattice" region="24 -25 26 -27" universe="166" />
<cell fill="1" id="1109" name="Assembly (3.1%) 16BA lattice outer water" region="~(28 -29 30 -31)" universe="166" />
<cell id="1110" material="8" name="Assembly (3.1%) 16BA lattice axial (0)" region="28 -29 30 -31 ~(24 -25 26 -27) -38" universe="166" />
<cell id="1111" material="4" name="Assembly (3.1%) 16BA lattice axial (1)" region="28 -29 30 -31 ~(24 -25 26 -27) 38 -39" universe="166" />
<cell id="1112" material="8" name="Assembly (3.1%) 16BA lattice axial (2)" region="28 -29 30 -31 ~(24 -25 26 -27) 39 -40" universe="166" />
<cell id="1113" material="6" name="Assembly (3.1%) 16BA lattice axial (3)" region="28 -29 30 -31 ~(24 -25 26 -27) 40 -41" universe="166" />
<cell id="1114" material="8" name="Assembly (3.1%) 16BA lattice axial (4)" region="28 -29 30 -31 ~(24 -25 26 -27) 41 -42" universe="166" />
<cell id="1115" material="6" name="Assembly (3.1%) 16BA lattice axial (5)" region="28 -29 30 -31 ~(24 -25 26 -27) 42 -43" universe="166" />
<cell id="1116" material="8" name="Assembly (3.1%) 16BA lattice axial (6)" region="28 -29 30 -31 ~(24 -25 26 -27) 43 -44" universe="166" />
<cell id="1117" material="4" name="Assembly (3.1%) 16BA lattice axial (7)" region="28 -29 30 -31 ~(24 -25 26 -27) 44 -45" universe="166" />
<cell id="1118" material="8" name="Assembly (3.1%) 16BA lattice axial (last)" region="28 -29 30 -31 ~(24 -25 26 -27) 45" universe="166" />
<cell fill="183" id="1207" name="Assembly (3.1%) no BAs instr lattice" region="24 -25 26 -27" universe="184" />
<cell fill="1" id="1208" name="Assembly (3.1%) no BAs instr lattice outer water" region="~(28 -29 30 -31)" universe="184" />
<cell id="1209" material="8" name="Assembly (3.1%) no BAs instr lattice axial (0)" region="28 -29 30 -31 ~(24 -25 26 -27) -38" universe="184" />
<cell id="1210" material="4" name="Assembly (3.1%) no BAs instr lattice axial (1)" region="28 -29 30 -31 ~(24 -25 26 -27) 38 -39" universe="184" />
<cell id="1211" material="8" name="Assembly (3.1%) no BAs instr lattice axial (2)" region="28 -29 30 -31 ~(24 -25 26 -27) 39 -40" universe="184" />
<cell id="1212" material="6" name="Assembly (3.1%) no BAs instr lattice axial (3)" region="28 -29 30 -31 ~(24 -25 26 -27) 40 -41" universe="184" />
<cell id="1213" material="8" name="Assembly (3.1%) no BAs instr lattice axial (4)" region="28 -29 30 -31 ~(24 -25 26 -27) 41 -42" universe="184" />
<cell id="1214" material="6" name="Assembly (3.1%) no BAs instr lattice axial (5)" region="28 -29 30 -31 ~(24 -25 26 -27) 42 -43" universe="184" />
<cell id="1215" material="8" name="Assembly (3.1%) no BAs instr lattice axial (6)" region="28 -29 30 -31 ~(24 -25 26 -27) 43 -44" universe="184" />
<cell id="1216" material="4" name="Assembly (3.1%) no BAs instr lattice axial (7)" region="28 -29 30 -31 ~(24 -25 26 -27) 44 -45" universe="184" />
<cell id="1217" material="8" name="Assembly (3.1%) no BAs instr lattice axial (last)" region="28 -29 30 -31 ~(24 -25 26 -27) 45" universe="184" />
<cell id="1339" material="8" region="-82" universe="207" />
<cell id="1340" material="8" region="-83" universe="207" />
<cell id="1341" material="8" region="-84" universe="207" />
<cell id="1342" material="8" region="-85" universe="207" />
<cell id="1343" material="8" region="-86" universe="207" />
<cell id="1344" material="8" region="-87" universe="207" />
<cell id="1345" material="8" region="-88" universe="207" />
<cell id="1346" material="8" region="-89" universe="207" />
<cell id="1347" material="8" region="-90" universe="207" />
<cell id="1348" material="8" region="-91" universe="207" />
<cell id="1349" material="8" region="-92" universe="207" />
<cell id="1350" material="8" region="-93" universe="207" />
<cell id="1351" material="8" region="-94" universe="207" />
<cell id="1352" material="4" name="heavy reflector NW SS" region="82 83 84 85 86 87 88 89 90 91 92 93 94" universe="207" />
<cell id="1353" material="8" region="-95" universe="208" />
<cell id="1354" material="8" region="-96" universe="208" />
<cell id="1355" material="8" region="-97" universe="208" />
<cell id="1356" material="4" name="heavy reflector 1,1 SS" region="95 96 97" universe="208" />
<cell id="1357" material="8" region="-98" universe="209" />
<cell id="1358" material="8" region="-99" universe="209" />
<cell id="1359" material="8" region="-100" universe="209" />
<cell id="1360" material="8" region="-101" universe="209" />
<cell id="1361" material="8" region="-102" universe="209" />
<cell id="1362" material="8" region="-103" universe="209" />
<cell id="1363" material="8" region="-104" universe="209" />
<cell id="1364" material="8" region="-105" universe="209" />
<cell id="1365" material="8" region="-106" universe="209" />
<cell id="1366" material="8" region="-107" universe="209" />
<cell id="1367" material="8" region="-108" universe="209" />
<cell id="1368" material="4" name="heavy reflector 4,0 SS" region="98 99 100 101 102 103 104 105 106 107 108" universe="209" />
<cell id="1369" material="8" region="-109" universe="210" />
<cell id="1370" material="8" region="-110" universe="210" />
<cell id="1371" material="8" region="-111" universe="210" />
<cell id="1372" material="8" region="-112" universe="210" />
<cell id="1373" material="8" region="-113" universe="210" />
<cell id="1374" material="8" region="-114" universe="210" />
<cell id="1375" material="8" region="-115" universe="210" />
<cell id="1376" material="8" region="-116" universe="210" />
<cell id="1377" material="8" region="-117" universe="210" />
<cell id="1378" material="8" region="-118" universe="210" />
<cell id="1379" material="4" name="heavy reflector 3,0 SS" region="109 110 111 112 113 114 115 116 117 118" universe="210" />
<cell id="1380" material="8" region="-119" universe="211" />
<cell id="1381" material="8" region="-120" universe="211" />
<cell id="1382" material="8" region="-121" universe="211" />
<cell id="1383" material="8" region="-122" universe="211" />
<cell id="1384" material="8" region="-123" universe="211" />
<cell id="1385" material="8" region="-124" universe="211" />
<cell id="1386" material="8" region="-125" universe="211" />
<cell id="1387" material="8" region="-126" universe="211" />
<cell id="1388" material="8" region="-127" universe="211" />
<cell id="1389" material="8" region="-128" universe="211" />
<cell id="1390" material="4" name="heavy reflector 5,0 SS" region="119 120 121 122 123 124 125 126 127 128" universe="211" />
<cell id="1391" material="8" region="-129" universe="212" />
<cell id="1392" material="4" name="heavy reflector 2,0 SS" region="129" universe="212" />
<cell fill="207" id="1393" name="heavy reflector NE" rotation="0 0 -90" universe="213" />
<cell fill="207" id="1394" name="heavy reflector SW" rotation="0 0 90" universe="214" />
<cell fill="207" id="1395" name="heavy reflector SE" rotation="0 0 180" universe="215" />
<cell fill="212" id="1396" name="heavy reflector 0,2" rotation="0 180 -90" universe="216" />
<cell fill="211" id="1397" name="heavy reflector 0,3" rotation="0 0 -90" universe="217" />
<cell fill="209" id="1398" name="heavy reflector 0,4" rotation="0 0 -90" universe="218" />
<cell fill="210" id="1399" name="heavy reflector 0,5" rotation="0 0 -90" universe="219" />
<cell fill="212" id="1400" name="heavy reflector 0,6" rotation="0 0 -90" universe="220" />
<cell fill="208" id="1401" name="heavy reflector 1,7" rotation="0 0 -90" universe="221" />
<cell fill="212" id="1402" name="heavy reflector 2,8" rotation="0 180 0" universe="222" />
<cell fill="210" id="1403" name="heavy reflector 3,8" rotation="0 180 0" universe="223" />
<cell fill="209" id="1404" name="heavy reflector 4,8" rotation="0 180 0" universe="224" />
<cell fill="210" id="1405" name="heavy reflector 5,8" rotation="0 0 180" universe="225" />
<cell fill="212" id="1406" name="heavy reflector 6,0" rotation="180 0 0" universe="226" />
<cell fill="212" id="1407" name="heavy reflector 6,8" rotation="0 0 180" universe="227" />
<cell fill="208" id="1408" name="heavy reflector 7,1" rotation="180 0 0" universe="228" />
<cell fill="208" id="1409" name="heavy reflector 7,7" rotation="0 0 180" universe="229" />
<cell fill="212" id="1410" name="heavy reflector 8,2" rotation="0 0 90" universe="230" />
<cell fill="210" id="1411" name="heavy reflector 8,3" rotation="0 0 90" universe="231" />
<cell fill="209" id="1412" name="heavy reflector 8,4" rotation="0 0 90" universe="232" />
<cell fill="211" id="1413" name="heavy reflector 8,5" rotation="0 0 90" universe="233" />
<cell fill="212" id="1414" name="heavy reflector 8,6" rotation="0 0 180" universe="234" />
<cell id="1415" material="4" name="heavy reflector" universe="235" />
<cell fill="236" id="1416" name="Main core" region="-71 81 -80" universe="0" />
<cell id="1417" material="4" name="core barrel" region="71 -72 81 -80" universe="0" />
<cell id="1418" material="4" name="neutron shield panel NW" region="72 -73 74 -75 81 -80" universe="0" />
<cell id="1419" material="8" name="neutron shield panel N" region="72 -73 75 -77 81 -80" universe="0" />
<cell id="1420" material="4" name="neutron shield panel SE" region="72 -73 -74 75 81 -80" universe="0" />
<cell id="1421" material="8" name="neutron shield panel E" region="72 -73 74 76 81 -80" universe="0" />
<cell id="1422" material="4" name="neutron shield panel NE" region="72 -73 76 -77 81 -80" universe="0" />
<cell id="1423" material="8" name="neutron shield panel S" region="72 -73 -75 77 81 -80" universe="0" />
<cell id="1424" material="4" name="neutron shield panel SW" region="72 -73 -76 77 81 -80" universe="0" />
<cell id="1425" material="8" name="neutron shield panel W" region="72 -73 -74 -76 81 -80" universe="0" />
<cell id="1426" material="8" name="downcomer" region="73 -78 81 -80" universe="0" />
<cell id="1427" material="5" name="reactor pressure vessel" region="78 -79 81 -80" universe="0" />
<lattice id="125" name="Assembly (1.6%) no BAs instr">
<cell id="684" material="1" name="Outside pin (0)" region="-3" universe="95" />
<cell id="685" material="6" name="Outside pin (1)" region="3 -4" universe="95" />
<cell id="686" material="8" name="Outside pin (last)" region="4" universe="95" />
<cell id="687" material="1" name="Outside pin grid (bottom) (0)" region="-3" universe="96" />
<cell id="688" material="6" name="Outside pin grid (bottom) (1)" region="3 -4" universe="96" />
<cell id="689" material="8" name="Outside pin grid (bottom) (last)" region="4 20 -21 22 -23" universe="96" />
<cell id="690" material="3" name="Outside pin grid (bottom) (grid)" region="~(20 -21 22 -23)" universe="96" />
<cell id="691" material="1" name="Outside pin grid (intermediate) (0)" region="-3" universe="97" />
<cell id="692" material="6" name="Outside pin grid (intermediate) (1)" region="3 -4" universe="97" />
<cell id="693" material="8" name="Outside pin grid (intermediate) (last)" region="4 20 -21 22 -23" universe="97" />
<cell id="694" material="6" name="Outside pin grid (intermediate) (grid)" region="~(20 -21 22 -23)" universe="97" />
<cell fill="95" id="695" name="Fuel pin (1.6%) stack (o0)" region="-38 1" universe="98" />
<cell fill="96" id="696" name="Fuel pin (1.6%) stack (o1)" region="38 -39 1" universe="98" />
<cell fill="95" id="697" name="Fuel pin (1.6%) stack (o2)" region="39 -48 1" universe="98" />
<cell fill="95" id="698" name="Fuel pin (1.6%) stack (o3)" region="48 -40 1" universe="98" />
<cell fill="97" id="699" name="Fuel pin (1.6%) stack (o4)" region="40 -41 1" universe="98" />
<cell fill="95" id="700" name="Fuel pin (1.6%) stack (o5)" region="41 -42 1" universe="98" />
<cell fill="97" id="701" name="Fuel pin (1.6%) stack (o6)" region="42 -43 1" universe="98" />
<cell fill="95" id="702" name="Fuel pin (1.6%) stack (o7)" region="43 -44 1" universe="98" />
<cell fill="97" id="703" name="Fuel pin (1.6%) stack (o8)" region="44 -45 1" universe="98" />
<cell fill="95" id="704" name="Fuel pin (1.6%) stack (o9)" region="45 1" universe="98" />
<cell id="705" material="10" name="Fuel pin (1.6%) stack (i)" region="-1" universe="98" />
<cell fill="1" id="706" name="Fuel (1.6%) stack (0)" region="-32" universe="99" />
<cell fill="91" id="707" name="Fuel (1.6%) stack (1)" region="32 -33" universe="99" />
<cell fill="91" id="708" name="Fuel (1.6%) stack (2)" region="33 -34" universe="99" />
<cell fill="92" id="709" name="Fuel (1.6%) stack (3)" region="34 -35" universe="99" />
<cell fill="98" id="710" name="Fuel (1.6%) stack (4)" region="35 -36" universe="99" />
<cell fill="93" id="711" name="Fuel (1.6%) stack (5)" region="36 -46" universe="99" />
<cell fill="94" id="712" name="Fuel (1.6%) stack (6)" region="46 -47" universe="99" />
<cell fill="93" id="713" name="Fuel (1.6%) stack (7)" region="47 -49" universe="99" />
<cell fill="92" id="714" name="Fuel (1.6%) stack (8)" region="49 -50" universe="99" />
<cell fill="1" id="715" name="Fuel (1.6%) stack (9)" region="50 -51" universe="99" />
<cell fill="91" id="716" name="Fuel (1.6%) stack (10)" region="51 -52" universe="99" />
<cell fill="1" id="717" name="Fuel (1.6%) stack (11)" region="52" universe="99" />
<cell fill="95" id="718" name="Fuel pin (2.4%) stack (o0)" region="-38 1" universe="100" />
<cell fill="96" id="719" name="Fuel pin (2.4%) stack (o1)" region="38 -39 1" universe="100" />
<cell fill="95" id="720" name="Fuel pin (2.4%) stack (o2)" region="39 -48 1" universe="100" />
<cell fill="95" id="721" name="Fuel pin (2.4%) stack (o3)" region="48 -40 1" universe="100" />
<cell fill="97" id="722" name="Fuel pin (2.4%) stack (o4)" region="40 -41 1" universe="100" />
<cell fill="95" id="723" name="Fuel pin (2.4%) stack (o5)" region="41 -42 1" universe="100" />
<cell fill="97" id="724" name="Fuel pin (2.4%) stack (o6)" region="42 -43 1" universe="100" />
<cell fill="95" id="725" name="Fuel pin (2.4%) stack (o7)" region="43 -44 1" universe="100" />
<cell fill="97" id="726" name="Fuel pin (2.4%) stack (o8)" region="44 -45 1" universe="100" />
<cell fill="95" id="727" name="Fuel pin (2.4%) stack (o9)" region="45 1" universe="100" />
<cell id="728" material="11" name="Fuel pin (2.4%) stack (i)" region="-1" universe="100" />
<cell fill="1" id="729" name="Fuel (2.4%) stack (0)" region="-32" universe="101" />
<cell fill="91" id="730" name="Fuel (2.4%) stack (1)" region="32 -33" universe="101" />
<cell fill="91" id="731" name="Fuel (2.4%) stack (2)" region="33 -34" universe="101" />
<cell fill="92" id="732" name="Fuel (2.4%) stack (3)" region="34 -35" universe="101" />
<cell fill="100" id="733" name="Fuel (2.4%) stack (4)" region="35 -36" universe="101" />
<cell fill="93" id="734" name="Fuel (2.4%) stack (5)" region="36 -46" universe="101" />
<cell fill="94" id="735" name="Fuel (2.4%) stack (6)" region="46 -47" universe="101" />
<cell fill="93" id="736" name="Fuel (2.4%) stack (7)" region="47 -49" universe="101" />
<cell fill="92" id="737" name="Fuel (2.4%) stack (8)" region="49 -50" universe="101" />
<cell fill="1" id="738" name="Fuel (2.4%) stack (9)" region="50 -51" universe="101" />
<cell fill="91" id="739" name="Fuel (2.4%) stack (10)" region="51 -52" universe="101" />
<cell fill="1" id="740" name="Fuel (2.4%) stack (11)" region="52" universe="101" />
<cell fill="95" id="741" name="Fuel pin (3.1%) stack (o0)" region="-38 1" universe="102" />
<cell fill="96" id="742" name="Fuel pin (3.1%) stack (o1)" region="38 -39 1" universe="102" />
<cell fill="95" id="743" name="Fuel pin (3.1%) stack (o2)" region="39 -48 1" universe="102" />
<cell fill="95" id="744" name="Fuel pin (3.1%) stack (o3)" region="48 -40 1" universe="102" />
<cell fill="97" id="745" name="Fuel pin (3.1%) stack (o4)" region="40 -41 1" universe="102" />
<cell fill="95" id="746" name="Fuel pin (3.1%) stack (o5)" region="41 -42 1" universe="102" />
<cell fill="97" id="747" name="Fuel pin (3.1%) stack (o6)" region="42 -43 1" universe="102" />
<cell fill="95" id="748" name="Fuel pin (3.1%) stack (o7)" region="43 -44 1" universe="102" />
<cell fill="97" id="749" name="Fuel pin (3.1%) stack (o8)" region="44 -45 1" universe="102" />
<cell fill="95" id="750" name="Fuel pin (3.1%) stack (o9)" region="45 1" universe="102" />
<cell id="751" material="12" name="Fuel pin (3.1%) stack (i)" region="-1" universe="102" />
<cell fill="1" id="752" name="Fuel (3.1%) stack (0)" region="-32" universe="103" />
<cell fill="91" id="753" name="Fuel (3.1%) stack (1)" region="32 -33" universe="103" />
<cell fill="91" id="754" name="Fuel (3.1%) stack (2)" region="33 -34" universe="103" />
<cell fill="92" id="755" name="Fuel (3.1%) stack (3)" region="34 -35" universe="103" />
<cell fill="102" id="756" name="Fuel (3.1%) stack (4)" region="35 -36" universe="103" />
<cell fill="93" id="757" name="Fuel (3.1%) stack (5)" region="36 -46" universe="103" />
<cell fill="94" id="758" name="Fuel (3.1%) stack (6)" region="46 -47" universe="103" />
<cell fill="93" id="759" name="Fuel (3.1%) stack (7)" region="47 -49" universe="103" />
<cell fill="92" id="760" name="Fuel (3.1%) stack (8)" region="49 -50" universe="103" />
<cell fill="1" id="761" name="Fuel (3.1%) stack (9)" region="50 -51" universe="103" />
<cell fill="91" id="762" name="Fuel (3.1%) stack (10)" region="51 -52" universe="103" />
<cell fill="1" id="763" name="Fuel (3.1%) stack (11)" region="52" universe="103" />
<cell fill="122" id="881" name="Assembly (1.6%) no BAs instr lattice" region="24 -25 26 -27" universe="123" />
<cell id="882" material="8" name="Assembly (1.6%) no BAs instr lattice outer water" region="~(28 -29 30 -31)" universe="123" />
<cell id="883" material="8" name="Assembly (1.6%) no BAs instr lattice axial (0)" region="28 -29 30 -31 ~(24 -25 26 -27) -38" universe="123" />
<cell id="884" material="3" name="Assembly (1.6%) no BAs instr lattice axial (1)" region="28 -29 30 -31 ~(24 -25 26 -27) 38 -39" universe="123" />
<cell id="885" material="8" name="Assembly (1.6%) no BAs instr lattice axial (2)" region="28 -29 30 -31 ~(24 -25 26 -27) 39 -40" universe="123" />
<cell id="886" material="6" name="Assembly (1.6%) no BAs instr lattice axial (3)" region="28 -29 30 -31 ~(24 -25 26 -27) 40 -41" universe="123" />
<cell id="887" material="8" name="Assembly (1.6%) no BAs instr lattice axial (4)" region="28 -29 30 -31 ~(24 -25 26 -27) 41 -42" universe="123" />
<cell id="888" material="6" name="Assembly (1.6%) no BAs instr lattice axial (5)" region="28 -29 30 -31 ~(24 -25 26 -27) 42 -43" universe="123" />
<cell id="889" material="8" name="Assembly (1.6%) no BAs instr lattice axial (6)" region="28 -29 30 -31 ~(24 -25 26 -27) 43 -44" universe="123" />
<cell id="890" material="6" name="Assembly (1.6%) no BAs instr lattice axial (7)" region="28 -29 30 -31 ~(24 -25 26 -27) 44 -45" universe="123" />
<cell id="891" material="8" name="Assembly (1.6%) no BAs instr lattice axial (8)" region="28 -29 30 -31 ~(24 -25 26 -27) 45 -46" universe="123" />
<cell id="892" material="6" name="Assembly (1.6%) no BAs instr lattice axial (9)" region="28 -29 30 -31 ~(24 -25 26 -27) 46 -47" universe="123" />
<cell id="893" material="8" name="Assembly (1.6%) no BAs instr lattice axial (last)" region="28 -29 30 -31 ~(24 -25 26 -27) 47" universe="123" />
<cell fill="142" id="1011" name="Assembly (2.4%) CR D lattice" region="24 -25 26 -27" universe="143" />
<cell id="1012" material="8" name="Assembly (2.4%) CR D lattice outer water" region="~(28 -29 30 -31)" universe="143" />
<cell id="1013" material="8" name="Assembly (2.4%) CR D lattice axial (0)" region="28 -29 30 -31 ~(24 -25 26 -27) -38" universe="143" />
<cell id="1014" material="3" name="Assembly (2.4%) CR D lattice axial (1)" region="28 -29 30 -31 ~(24 -25 26 -27) 38 -39" universe="143" />
<cell id="1015" material="8" name="Assembly (2.4%) CR D lattice axial (2)" region="28 -29 30 -31 ~(24 -25 26 -27) 39 -40" universe="143" />
<cell id="1016" material="6" name="Assembly (2.4%) CR D lattice axial (3)" region="28 -29 30 -31 ~(24 -25 26 -27) 40 -41" universe="143" />
<cell id="1017" material="8" name="Assembly (2.4%) CR D lattice axial (4)" region="28 -29 30 -31 ~(24 -25 26 -27) 41 -42" universe="143" />
<cell id="1018" material="6" name="Assembly (2.4%) CR D lattice axial (5)" region="28 -29 30 -31 ~(24 -25 26 -27) 42 -43" universe="143" />
<cell id="1019" material="8" name="Assembly (2.4%) CR D lattice axial (6)" region="28 -29 30 -31 ~(24 -25 26 -27) 43 -44" universe="143" />
<cell id="1020" material="6" name="Assembly (2.4%) CR D lattice axial (7)" region="28 -29 30 -31 ~(24 -25 26 -27) 44 -45" universe="143" />
<cell id="1021" material="8" name="Assembly (2.4%) CR D lattice axial (8)" region="28 -29 30 -31 ~(24 -25 26 -27) 45 -46" universe="143" />
<cell id="1022" material="6" name="Assembly (2.4%) CR D lattice axial (9)" region="28 -29 30 -31 ~(24 -25 26 -27) 46 -47" universe="143" />
<cell id="1023" material="8" name="Assembly (2.4%) CR D lattice axial (last)" region="28 -29 30 -31 ~(24 -25 26 -27) 47" universe="143" />
<cell fill="162" id="1141" name="Assembly (3.1%) 16BA lattice" region="24 -25 26 -27" universe="163" />
<cell id="1142" material="8" name="Assembly (3.1%) 16BA lattice outer water" region="~(28 -29 30 -31)" universe="163" />
<cell id="1143" material="8" name="Assembly (3.1%) 16BA lattice axial (0)" region="28 -29 30 -31 ~(24 -25 26 -27) -38" universe="163" />
<cell id="1144" material="3" name="Assembly (3.1%) 16BA lattice axial (1)" region="28 -29 30 -31 ~(24 -25 26 -27) 38 -39" universe="163" />
<cell id="1145" material="8" name="Assembly (3.1%) 16BA lattice axial (2)" region="28 -29 30 -31 ~(24 -25 26 -27) 39 -40" universe="163" />
<cell id="1146" material="6" name="Assembly (3.1%) 16BA lattice axial (3)" region="28 -29 30 -31 ~(24 -25 26 -27) 40 -41" universe="163" />
<cell id="1147" material="8" name="Assembly (3.1%) 16BA lattice axial (4)" region="28 -29 30 -31 ~(24 -25 26 -27) 41 -42" universe="163" />
<cell id="1148" material="6" name="Assembly (3.1%) 16BA lattice axial (5)" region="28 -29 30 -31 ~(24 -25 26 -27) 42 -43" universe="163" />
<cell id="1149" material="8" name="Assembly (3.1%) 16BA lattice axial (6)" region="28 -29 30 -31 ~(24 -25 26 -27) 43 -44" universe="163" />
<cell id="1150" material="6" name="Assembly (3.1%) 16BA lattice axial (7)" region="28 -29 30 -31 ~(24 -25 26 -27) 44 -45" universe="163" />
<cell id="1151" material="8" name="Assembly (3.1%) 16BA lattice axial (8)" region="28 -29 30 -31 ~(24 -25 26 -27) 45 -46" universe="163" />
<cell id="1152" material="6" name="Assembly (3.1%) 16BA lattice axial (9)" region="28 -29 30 -31 ~(24 -25 26 -27) 46 -47" universe="163" />
<cell id="1153" material="8" name="Assembly (3.1%) 16BA lattice axial (last)" region="28 -29 30 -31 ~(24 -25 26 -27) 47" universe="163" />
<cell fill="180" id="1258" name="Assembly (3.1%) no BAs instr lattice" region="24 -25 26 -27" universe="181" />
<cell id="1259" material="8" name="Assembly (3.1%) no BAs instr lattice outer water" region="~(28 -29 30 -31)" universe="181" />
<cell id="1260" material="8" name="Assembly (3.1%) no BAs instr lattice axial (0)" region="28 -29 30 -31 ~(24 -25 26 -27) -38" universe="181" />
<cell id="1261" material="3" name="Assembly (3.1%) no BAs instr lattice axial (1)" region="28 -29 30 -31 ~(24 -25 26 -27) 38 -39" universe="181" />
<cell id="1262" material="8" name="Assembly (3.1%) no BAs instr lattice axial (2)" region="28 -29 30 -31 ~(24 -25 26 -27) 39 -40" universe="181" />
<cell id="1263" material="6" name="Assembly (3.1%) no BAs instr lattice axial (3)" region="28 -29 30 -31 ~(24 -25 26 -27) 40 -41" universe="181" />
<cell id="1264" material="8" name="Assembly (3.1%) no BAs instr lattice axial (4)" region="28 -29 30 -31 ~(24 -25 26 -27) 41 -42" universe="181" />
<cell id="1265" material="6" name="Assembly (3.1%) no BAs instr lattice axial (5)" region="28 -29 30 -31 ~(24 -25 26 -27) 42 -43" universe="181" />
<cell id="1266" material="8" name="Assembly (3.1%) no BAs instr lattice axial (6)" region="28 -29 30 -31 ~(24 -25 26 -27) 43 -44" universe="181" />
<cell id="1267" material="6" name="Assembly (3.1%) no BAs instr lattice axial (7)" region="28 -29 30 -31 ~(24 -25 26 -27) 44 -45" universe="181" />
<cell id="1268" material="8" name="Assembly (3.1%) no BAs instr lattice axial (8)" region="28 -29 30 -31 ~(24 -25 26 -27) 45 -46" universe="181" />
<cell id="1269" material="6" name="Assembly (3.1%) no BAs instr lattice axial (9)" region="28 -29 30 -31 ~(24 -25 26 -27) 46 -47" universe="181" />
<cell id="1270" material="8" name="Assembly (3.1%) no BAs instr lattice axial (last)" region="28 -29 30 -31 ~(24 -25 26 -27) 47" universe="181" />
<cell id="1414" material="8" region="-82" universe="204" />
<cell id="1415" material="8" region="-83" universe="204" />
<cell id="1416" material="8" region="-84" universe="204" />
<cell id="1417" material="8" region="-85" universe="204" />
<cell id="1418" material="8" region="-86" universe="204" />
<cell id="1419" material="8" region="-87" universe="204" />
<cell id="1420" material="8" region="-88" universe="204" />
<cell id="1421" material="8" region="-89" universe="204" />
<cell id="1422" material="8" region="-90" universe="204" />
<cell id="1423" material="8" region="-91" universe="204" />
<cell id="1424" material="8" region="-92" universe="204" />
<cell id="1425" material="8" region="-93" universe="204" />
<cell id="1426" material="8" region="-94" universe="204" />
<cell id="1427" material="4" name="reflector NW SS" region="82 83 84 85 86 87 88 89 90 91 92 93 94" universe="204" />
<cell id="1428" material="8" region="-95" universe="205" />
<cell id="1429" material="8" region="-96" universe="205" />
<cell id="1430" material="8" region="-97" universe="205" />
<cell id="1431" material="4" name="reflector 1,1 SS" region="95 96 97" universe="205" />
<cell id="1432" material="8" region="-98" universe="206" />
<cell id="1433" material="8" region="-99" universe="206" />
<cell id="1434" material="8" region="-100" universe="206" />
<cell id="1435" material="8" region="-101" universe="206" />
<cell id="1436" material="8" region="-102" universe="206" />
<cell id="1437" material="8" region="-103" universe="206" />
<cell id="1438" material="8" region="-104" universe="206" />
<cell id="1439" material="8" region="-105" universe="206" />
<cell id="1440" material="8" region="-106" universe="206" />
<cell id="1441" material="8" region="-107" universe="206" />
<cell id="1442" material="8" region="-108" universe="206" />
<cell id="1443" material="4" name="reflector 4,0 SS" region="98 99 100 101 102 103 104 105 106 107 108" universe="206" />
<cell id="1444" material="8" region="-109" universe="207" />
<cell id="1445" material="8" region="-110" universe="207" />
<cell id="1446" material="8" region="-111" universe="207" />
<cell id="1447" material="8" region="-112" universe="207" />
<cell id="1448" material="8" region="-113" universe="207" />
<cell id="1449" material="8" region="-114" universe="207" />
<cell id="1450" material="8" region="-115" universe="207" />
<cell id="1451" material="8" region="-116" universe="207" />
<cell id="1452" material="8" region="-117" universe="207" />
<cell id="1453" material="8" region="-118" universe="207" />
<cell id="1454" material="4" name="reflector 3,0 SS" region="109 110 111 112 113 114 115 116 117 118" universe="207" />
<cell id="1455" material="8" region="-119" universe="208" />
<cell id="1456" material="8" region="-120" universe="208" />
<cell id="1457" material="8" region="-121" universe="208" />
<cell id="1458" material="8" region="-122" universe="208" />
<cell id="1459" material="8" region="-123" universe="208" />
<cell id="1460" material="8" region="-124" universe="208" />
<cell id="1461" material="8" region="-125" universe="208" />
<cell id="1462" material="8" region="-126" universe="208" />
<cell id="1463" material="8" region="-127" universe="208" />
<cell id="1464" material="8" region="-128" universe="208" />
<cell id="1465" material="4" name="reflector 5,0 SS" region="119 120 121 122 123 124 125 126 127 128" universe="208" />
<cell id="1466" material="8" region="-129" universe="209" />
<cell id="1467" material="4" name="reflector 2,0 SS" region="129" universe="209" />
<cell fill="204" id="1468" name="reflector NE" rotation="0 0 -90" universe="210" />
<cell fill="204" id="1469" name="reflector SW" rotation="0 0 90" universe="211" />
<cell fill="204" id="1470" name="reflector SE" rotation="0 0 180" universe="212" />
<cell fill="209" id="1471" name="reflector 0,2" rotation="0 180 -90" universe="213" />
<cell fill="208" id="1472" name="reflector 0,3" rotation="0 0 -90" universe="214" />
<cell fill="206" id="1473" name="reflector 0,4" rotation="0 0 -90" universe="215" />
<cell fill="207" id="1474" name="reflector 0,5" rotation="0 0 -90" universe="216" />
<cell fill="209" id="1475" name="reflector 0,6" rotation="0 0 -90" universe="217" />
<cell fill="205" id="1476" name="reflector 1,7" rotation="0 0 -90" universe="218" />
<cell fill="209" id="1477" name="reflector 2,8" rotation="0 180 0" universe="219" />
<cell fill="207" id="1478" name="reflector 3,8" rotation="0 180 0" universe="220" />
<cell fill="206" id="1479" name="reflector 4,8" rotation="0 180 0" universe="221" />
<cell fill="207" id="1480" name="reflector 5,8" rotation="0 0 180" universe="222" />
<cell fill="209" id="1481" name="reflector 6,0" rotation="180 0 0" universe="223" />
<cell fill="209" id="1482" name="reflector 6,8" rotation="0 0 180" universe="224" />
<cell fill="205" id="1483" name="reflector 7,1" rotation="180 0 0" universe="225" />
<cell fill="205" id="1484" name="reflector 7,7" rotation="0 0 180" universe="226" />
<cell fill="209" id="1485" name="reflector 8,2" rotation="0 0 90" universe="227" />
<cell fill="207" id="1486" name="reflector 8,3" rotation="0 0 90" universe="228" />
<cell fill="206" id="1487" name="reflector 8,4" rotation="0 0 90" universe="229" />
<cell fill="208" id="1488" name="reflector 8,5" rotation="0 0 90" universe="230" />
<cell fill="209" id="1489" name="reflector 8,6" rotation="0 0 180" universe="231" />
<cell id="1490" material="4" name="heavy reflector" universe="232" />
<cell fill="233" id="1491" name="Main core" region="-71 81 -80" universe="0" />
<cell id="1492" material="4" name="core barrel" region="71 -72 81 -80" universe="0" />
<cell id="1493" material="4" name="neutron shield panel NW" region="72 -73 74 -75 81 -80" universe="0" />
<cell id="1494" material="8" name="neutron shield panel N" region="72 -73 75 -77 81 -80" universe="0" />
<cell id="1495" material="4" name="neutron shield panel SE" region="72 -73 -74 75 81 -80" universe="0" />
<cell id="1496" material="8" name="neutron shield panel E" region="72 -73 74 76 81 -80" universe="0" />
<cell id="1497" material="4" name="neutron shield panel NE" region="72 -73 76 -77 81 -80" universe="0" />
<cell id="1498" material="8" name="neutron shield panel S" region="72 -73 -75 77 81 -80" universe="0" />
<cell id="1499" material="4" name="neutron shield panel SW" region="72 -73 -76 77 81 -80" universe="0" />
<cell id="1500" material="8" name="neutron shield panel W" region="72 -73 -74 -76 81 -80" universe="0" />
<cell id="1501" material="8" name="downcomer" region="73 -78 81 -80" universe="0" />
<cell id="1502" material="5" name="reactor pressure vessel" region="78 -79 81 -80" universe="0" />
<lattice id="122" name="Assembly (1.6%) no BAs instr">
<pitch>1.25984 1.25984</pitch>
<dimension>17 17</dimension>
<lower_left>-10.70864 -10.70864</lower_left>
<universes>
98 98 98 98 98 98 98 98 98 98 98 98 98 98 98 98 98
98 98 98 98 98 98 98 98 98 98 98 98 98 98 98 98 98
98 98 98 98 98 10 98 98 10 98 98 10 98 98 98 98 98
98 98 98 10 98 98 98 98 98 98 98 98 98 10 98 98 98
98 98 98 98 98 98 98 98 98 98 98 98 98 98 98 98 98
98 98 10 98 98 10 98 98 10 98 98 10 98 98 10 98 98
98 98 98 98 98 98 98 98 98 98 98 98 98 98 98 98 98
98 98 98 98 98 98 98 98 98 98 98 98 98 98 98 98 98
98 98 10 98 98 10 98 98 17 98 98 10 98 98 10 98 98
98 98 98 98 98 98 98 98 98 98 98 98 98 98 98 98 98
98 98 98 98 98 98 98 98 98 98 98 98 98 98 98 98 98
98 98 10 98 98 10 98 98 10 98 98 10 98 98 10 98 98
98 98 98 98 98 98 98 98 98 98 98 98 98 98 98 98 98
98 98 98 10 98 98 98 98 98 98 98 98 98 10 98 98 98
98 98 98 98 98 10 98 98 10 98 98 10 98 98 98 98 98
98 98 98 98 98 98 98 98 98 98 98 98 98 98 98 98 98
98 98 98 98 98 98 98 98 98 98 98 98 98 98 98 98 98 </universes>
99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
99 99 99 99 99 10 99 99 10 99 99 10 99 99 99 99 99
99 99 99 10 99 99 99 99 99 99 99 99 99 10 99 99 99
99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
99 99 10 99 99 10 99 99 10 99 99 10 99 99 10 99 99
99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
99 99 10 99 99 10 99 99 17 99 99 10 99 99 10 99 99
99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
99 99 10 99 99 10 99 99 10 99 99 10 99 99 10 99 99
99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
99 99 99 10 99 99 99 99 99 99 99 99 99 10 99 99 99
99 99 99 99 99 10 99 99 10 99 99 10 99 99 99 99 99
99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99
99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 </universes>
</lattice>
<lattice id="145" name="Assembly (2.4%) CR D">
<lattice id="142" name="Assembly (2.4%) CR D">
<pitch>1.25984 1.25984</pitch>
<dimension>17 17</dimension>
<lower_left>-10.70864 -10.70864</lower_left>
<universes>
102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102
102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102
102 102 102 102 102 51 102 102 51 102 102 51 102 102 102 102 102
102 102 102 51 102 102 102 102 102 102 102 102 102 51 102 102 102
102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102
102 102 51 102 102 51 102 102 51 102 102 51 102 102 51 102 102
102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102
102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102
102 102 51 102 102 51 102 102 11 102 102 51 102 102 51 102 102
102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102
102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102
102 102 51 102 102 51 102 102 51 102 102 51 102 102 51 102 102
102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102
102 102 102 51 102 102 102 102 102 102 102 102 102 51 102 102 102
102 102 102 102 102 51 102 102 51 102 102 51 102 102 102 102 102
102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102
102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 </universes>
101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101
101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101
101 101 101 101 101 51 101 101 51 101 101 51 101 101 101 101 101
101 101 101 51 101 101 101 101 101 101 101 101 101 51 101 101 101
101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101
101 101 51 101 101 51 101 101 51 101 101 51 101 101 51 101 101
101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101
101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101
101 101 51 101 101 51 101 101 11 101 101 51 101 101 51 101 101
101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101
101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101
101 101 51 101 101 51 101 101 51 101 101 51 101 101 51 101 101
101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101
101 101 101 51 101 101 101 101 101 101 101 101 101 51 101 101 101
101 101 101 101 101 51 101 101 51 101 101 51 101 101 101 101 101
101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101
101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 </universes>
</lattice>
<lattice id="165" name="Assembly (3.1%) 16BA">
<lattice id="162" name="Assembly (3.1%) 16BA">
<pitch>1.25984 1.25984</pitch>
<dimension>17 17</dimension>
<lower_left>-10.70864 -10.70864</lower_left>
<universes>
106 106 106 106 106 106 106 106 106 106 106 106 106 106 106 106 106
106 106 106 106 106 106 106 106 106 106 106 106 106 106 106 106 106
106 106 106 106 106 90 106 106 90 106 106 90 106 106 106 106 106
106 106 106 90 106 106 106 106 106 106 106 106 106 90 106 106 106
106 106 106 106 106 106 106 106 106 106 106 106 106 106 106 106 106
106 106 90 106 106 10 106 106 10 106 106 10 106 106 90 106 106
106 106 106 106 106 106 106 106 106 106 106 106 106 106 106 106 106
106 106 106 106 106 106 106 106 106 106 106 106 106 106 106 106 106
106 106 90 106 106 10 106 106 11 106 106 10 106 106 90 106 106
106 106 106 106 106 106 106 106 106 106 106 106 106 106 106 106 106
106 106 106 106 106 106 106 106 106 106 106 106 106 106 106 106 106
106 106 90 106 106 10 106 106 10 106 106 10 106 106 90 106 106
106 106 106 106 106 106 106 106 106 106 106 106 106 106 106 106 106
106 106 106 90 106 106 106 106 106 106 106 106 106 90 106 106 106
106 106 106 106 106 90 106 106 90 106 106 90 106 106 106 106 106
106 106 106 106 106 106 106 106 106 106 106 106 106 106 106 106 106
106 106 106 106 106 106 106 106 106 106 106 106 106 106 106 106 106 </universes>
103 103 103 103 103 103 103 103 103 103 103 103 103 103 103 103 103
103 103 103 103 103 103 103 103 103 103 103 103 103 103 103 103 103
103 103 103 103 103 90 103 103 90 103 103 90 103 103 103 103 103
103 103 103 90 103 103 103 103 103 103 103 103 103 90 103 103 103
103 103 103 103 103 103 103 103 103 103 103 103 103 103 103 103 103
103 103 90 103 103 10 103 103 10 103 103 10 103 103 90 103 103
103 103 103 103 103 103 103 103 103 103 103 103 103 103 103 103 103
103 103 103 103 103 103 103 103 103 103 103 103 103 103 103 103 103
103 103 90 103 103 10 103 103 11 103 103 10 103 103 90 103 103
103 103 103 103 103 103 103 103 103 103 103 103 103 103 103 103 103
103 103 103 103 103 103 103 103 103 103 103 103 103 103 103 103 103
103 103 90 103 103 10 103 103 10 103 103 10 103 103 90 103 103
103 103 103 103 103 103 103 103 103 103 103 103 103 103 103 103 103
103 103 103 90 103 103 103 103 103 103 103 103 103 90 103 103 103
103 103 103 103 103 90 103 103 90 103 103 90 103 103 103 103 103
103 103 103 103 103 103 103 103 103 103 103 103 103 103 103 103 103
103 103 103 103 103 103 103 103 103 103 103 103 103 103 103 103 103 </universes>
</lattice>
<lattice id="183" name="Assembly (3.1%) no BAs instr">
<lattice id="180" name="Assembly (3.1%) no BAs instr">
<pitch>1.25984 1.25984</pitch>
<dimension>17 17</dimension>
<lower_left>-10.70864 -10.70864</lower_left>
<universes>
106 106 106 106 106 106 106 106 106 106 106 106 106 106 106 106 106
106 106 106 106 106 106 106 106 106 106 106 106 106 106 106 106 106
106 106 106 106 106 10 106 106 10 106 106 10 106 106 106 106 106
106 106 106 10 106 106 106 106 106 106 106 106 106 10 106 106 106
106 106 106 106 106 106 106 106 106 106 106 106 106 106 106 106 106
106 106 10 106 106 10 106 106 10 106 106 10 106 106 10 106 106
106 106 106 106 106 106 106 106 106 106 106 106 106 106 106 106 106
106 106 106 106 106 106 106 106 106 106 106 106 106 106 106 106 106
106 106 10 106 106 10 106 106 17 106 106 10 106 106 10 106 106
106 106 106 106 106 106 106 106 106 106 106 106 106 106 106 106 106
106 106 106 106 106 106 106 106 106 106 106 106 106 106 106 106 106
106 106 10 106 106 10 106 106 10 106 106 10 106 106 10 106 106
106 106 106 106 106 106 106 106 106 106 106 106 106 106 106 106 106
106 106 106 10 106 106 106 106 106 106 106 106 106 10 106 106 106
106 106 106 106 106 10 106 106 10 106 106 10 106 106 106 106 106
106 106 106 106 106 106 106 106 106 106 106 106 106 106 106 106 106
106 106 106 106 106 106 106 106 106 106 106 106 106 106 106 106 106 </universes>
103 103 103 103 103 103 103 103 103 103 103 103 103 103 103 103 103
103 103 103 103 103 103 103 103 103 103 103 103 103 103 103 103 103
103 103 103 103 103 10 103 103 10 103 103 10 103 103 103 103 103
103 103 103 10 103 103 103 103 103 103 103 103 103 10 103 103 103
103 103 103 103 103 103 103 103 103 103 103 103 103 103 103 103 103
103 103 10 103 103 10 103 103 10 103 103 10 103 103 10 103 103
103 103 103 103 103 103 103 103 103 103 103 103 103 103 103 103 103
103 103 103 103 103 103 103 103 103 103 103 103 103 103 103 103 103
103 103 10 103 103 10 103 103 17 103 103 10 103 103 10 103 103
103 103 103 103 103 103 103 103 103 103 103 103 103 103 103 103 103
103 103 103 103 103 103 103 103 103 103 103 103 103 103 103 103 103
103 103 10 103 103 10 103 103 10 103 103 10 103 103 10 103 103
103 103 103 103 103 103 103 103 103 103 103 103 103 103 103 103 103
103 103 103 10 103 103 103 103 103 103 103 103 103 10 103 103 103
103 103 103 103 103 10 103 103 10 103 103 10 103 103 103 103 103
103 103 103 103 103 103 103 103 103 103 103 103 103 103 103 103 103
103 103 103 103 103 103 103 103 103 103 103 103 103 103 103 103 103 </universes>
</lattice>
<lattice id="236" name="Main core">
<lattice id="233" name="Main core">
<pitch>21.503639999999997 21.503639999999997</pitch>
<dimension>9 9</dimension>
<lower_left>-96.76637999999998 -96.76637999999998</lower_left>
<universes>
235 235 216 217 218 219 220 235 235
235 208 207 184 146 184 213 221 235
212 207 184 146 166 146 184 213 222
210 184 146 166 146 166 146 184 223
209 146 166 146 126 146 166 146 224
211 184 146 166 146 166 146 184 225
226 214 184 146 166 146 184 215 227
235 228 214 184 146 184 215 229 235
235 235 230 231 232 233 234 235 235 </universes>
232 232 213 214 215 216 217 232 232
232 205 204 181 143 181 210 218 232
209 204 181 143 163 143 181 210 219
207 181 143 163 143 163 143 181 220
206 143 163 143 123 143 163 143 221
208 181 143 163 143 163 143 181 222
223 211 181 143 163 143 181 212 224
232 225 211 181 143 181 212 226 232
232 232 227 228 229 230 231 232 232 </universes>
</lattice>
<surface coeffs="0.0 0.0 0.405765" id="1" name="Pellet OR" type="z-cylinder" />
<surface coeffs="0.0 0.0 0.06459" id="2" name="FR Plenum Spring OR" type="z-cylinder" />

View file

@ -172,14 +172,14 @@
<material id="9" name="Borosilicate Glass">
<temperature>300</temperature>
<density units="g/cc" value="2.26" />
<nuclide ao="0.012259454378427138" name="B10" />
<nuclide ao="0.06018253698401973" name="B11" />
<nuclide ao="0.6509787013744828" name="O16" />
<nuclide ao="0.00024681447050525047" name="O17" />
<nuclide ao="0.23640592474731761" name="Si28" />
<nuclide ao="0.01200401834354893" name="Si29" />
<nuclide ao="0.007913102535354443" name="Si30" />
<nuclide ao="0.024236195272461444" name="Al27" />
<nuclide ao="0.012259454378427138" name="B10" />
<nuclide ao="0.06018253698401973" name="B11" />
</material>
<material id="10" name="1.6% Enr. UO2 Fuel">
<temperature>300</temperature>

View file

@ -76,4 +76,17 @@
<color id="11" rgb="255 215 0" />
<color id="12" rgb="0 0 128" />
</plot>
<!--assembly no spacer cell-->
<plot basis="xy" color_by="cell" filename="assm_no_spacer_cell" id="5" type="slice">
<origin>0.0 0.0 90.0</origin>
<width>32.25546 32.25546</width>
<pixels>2000 2000</pixels>
<background>255 255 255</background>
</plot>
<!--z slice-->
<plot basis="xz" color_by="cell" filename="assm_xz" id="6" type="slice">
<origin>0.0 0.0 141.61599999999999</origin>
<width>32.25546 283.23199999999997</width>
<pixels>455 4000</pixels>
</plot>
</plots>

View file

@ -0,0 +1,27 @@
<?xml version='1.0' encoding='utf-8'?>
<tallies>
<filter id="1" type="distribcell">
<bins>751</bins>
</filter>
<filter id="2" type="distribcell">
<bins>728</bins>
</filter>
<filter id="3" type="distribcell">
<bins>705</bins>
</filter>
<tally id="1" name="depletion tally">
<filters>1</filters>
<nuclides>O16 O17 U234 U235 U238 U236</nuclides>
<scores>(n,p) (n,a) (n,gamma) fission (n,2n) (n,3n) (n,4n)</scores>
</tally>
<tally id="2" name="depletion tally">
<filters>2</filters>
<nuclides>O16 O17 U234 U235 U238 U236</nuclides>
<scores>(n,p) (n,a) (n,gamma) fission (n,2n) (n,3n) (n,4n)</scores>
</tally>
<tally id="3" name="depletion tally">
<filters>3</filters>
<nuclides>O16 O17 U234 U235 U238 U236</nuclides>
<scores>(n,p) (n,a) (n,gamma) fission (n,2n) (n,3n) (n,4n)</scores>
</tally>
</tallies>

View file

@ -1,75 +0,0 @@
<?xml version='1.0' encoding='utf-8'?>
<tallies>
<filter id="1" type="distribcell">
<bins>684</bins>
</filter>
<filter id="2" type="distribcell">
<bins>688</bins>
</filter>
<filter id="3" type="distribcell">
<bins>693</bins>
</filter>
<filter id="4" type="distribcell">
<bins>719</bins>
</filter>
<filter id="5" type="distribcell">
<bins>723</bins>
</filter>
<filter id="6" type="distribcell">
<bins>728</bins>
</filter>
<filter id="7" type="distribcell">
<bins>754</bins>
</filter>
<filter id="8" type="distribcell">
<bins>758</bins>
</filter>
<filter id="9" type="distribcell">
<bins>763</bins>
</filter>
<tally id="1" name="depletion tally">
<filters>1</filters>
<nuclides>O16 O17 U234 U235 U238 U236</nuclides>
<scores>(n,p) (n,a) (n,gamma) fission (n,2n) (n,3n) (n,4n)</scores>
</tally>
<tally id="2" name="depletion tally">
<filters>2</filters>
<nuclides>O16 O17 U234 U235 U238 U236</nuclides>
<scores>(n,p) (n,a) (n,gamma) fission (n,2n) (n,3n) (n,4n)</scores>
</tally>
<tally id="3" name="depletion tally">
<filters>3</filters>
<nuclides>O16 O17 U234 U235 U238 U236</nuclides>
<scores>(n,p) (n,a) (n,gamma) fission (n,2n) (n,3n) (n,4n)</scores>
</tally>
<tally id="4" name="depletion tally">
<filters>4</filters>
<nuclides>O16 O17 U234 U235 U238 U236</nuclides>
<scores>(n,p) (n,a) (n,gamma) fission (n,2n) (n,3n) (n,4n)</scores>
</tally>
<tally id="5" name="depletion tally">
<filters>5</filters>
<nuclides>O16 O17 U234 U235 U238 U236</nuclides>
<scores>(n,p) (n,a) (n,gamma) fission (n,2n) (n,3n) (n,4n)</scores>
</tally>
<tally id="6" name="depletion tally">
<filters>6</filters>
<nuclides>O16 O17 U234 U235 U238 U236</nuclides>
<scores>(n,p) (n,a) (n,gamma) fission (n,2n) (n,3n) (n,4n)</scores>
</tally>
<tally id="7" name="depletion tally">
<filters>7</filters>
<nuclides>O16 O17 U234 U235 U238 U236</nuclides>
<scores>(n,p) (n,a) (n,gamma) fission (n,2n) (n,3n) (n,4n)</scores>
</tally>
<tally id="8" name="depletion tally">
<filters>8</filters>
<nuclides>O16 O17 U234 U235 U238 U236</nuclides>
<scores>(n,p) (n,a) (n,gamma) fission (n,2n) (n,3n) (n,4n)</scores>
</tally>
<tally id="9" name="depletion tally">
<filters>9</filters>
<nuclides>O16 O17 U234 U235 U238 U236</nuclides>
<scores>(n,p) (n,a) (n,gamma) fission (n,2n) (n,3n) (n,4n)</scores>
</tally>
</tallies>

View file

@ -6,7 +6,7 @@ import openmc
from .materials import mats
from .surfaces import surfs, pin_pitch
from .pins import univs
from .pins import pin_universes
def make_assembly(name, universes):
@ -30,12 +30,12 @@ def make_assembly(name, universes):
# Instantiate the lattice
lattice = openmc.RectLattice(name=name)
lattice.lower_left = [-17.*pin_pitch/2., -17.*pin_pitch/2.]
lattice.pitch = [pin_pitch, pin_pitch]
lattice.lower_left = (-17.*pin_pitch/2., -17.*pin_pitch/2.)
lattice.pitch = (pin_pitch, pin_pitch)
lattice.universes = universes
# Create rectangular prism for lattice grid box
lat_grid_box = (surfs['lat grid box outer'] & ~surfs['lat grid box inner'])
lat_grid_box = surfs['lat grid box outer'] & ~surfs['lat grid box inner']
# Add lattice to bounding cell
univ_name = name + ' lattice'
@ -47,7 +47,7 @@ def make_assembly(name, universes):
# Add outer water cell
cell = openmc.Cell(name=univ_name + ' outer water')
cell.fill = univs['water pin']
cell.fill = mats['H2O']
cell.region = ~surfs['lat grid box outer']
universe.add_cell(cell)
@ -59,7 +59,7 @@ def make_assembly(name, universes):
# Make axial cell for outside of assembly (with sleeve)
cell = openmc.Cell(name=univ_name + ' axial (1)')
cell.fill = mats['SS']
cell.fill = mats['In']
cell.region = lat_grid_box & +surfs['grid1bot'] & -surfs['grid1top']
universe.add_cell(cell)
@ -95,290 +95,325 @@ def make_assembly(name, universes):
# Make axial cell for outside of assembly (with sleeve)
cell = openmc.Cell(name=univ_name + ' axial (7)')
cell.fill = mats['SS']
cell.fill = mats['Zr']
cell.region = lat_grid_box & +surfs['grid4bot'] & -surfs['grid4top']
universe.add_cell(cell)
# Make top axial cell for outside of assembly (without sleeve)
cell = openmc.Cell(name=univ_name + ' axial (8)')
cell.fill = mats['H2O']
cell.region = lat_grid_box & +surfs['grid4top'] & -surfs['grid5bot']
universe.add_cell(cell)
# Make axial cell for outside of assembly (with sleeve)
cell = openmc.Cell(name=univ_name + ' axial (9)')
cell.fill = mats['Zr']
cell.region = lat_grid_box & +surfs['grid5bot'] & -surfs['grid5top']
universe.add_cell(cell)
# Make top axial cell for outside of assembly (without sleeve)
cell = openmc.Cell(name=univ_name + ' axial (last)')
cell.fill = mats['H2O']
cell.region = lat_grid_box & +surfs['grid4top']
cell.region = lat_grid_box & +surfs['grid5top']
universe.add_cell(cell)
return universe
# commonly needed universes
gtu = univs['GT empty']
gti = univs['GT empty instr']
bas = univs['BA stack']
ins = univs['IT stack']
crA = univs['GT CR bank A']
crB = univs['GT CR bank B']
crC = univs['GT CR bank C']
crD = univs['GT CR bank D']
crSA = univs['GT CR bank SA']
crSB = univs['GT CR bank SB']
crSC = univs['GT CR bank SC']
crSD = univs['GT CR bank SD']
crSE = univs['GT CR bank SE']
def assembly_universes(num_rings, num_axial):
"""Generate universes for SMR fuel assemblies.
Parameters
----------
num_rings : int
Number of annual regions in fuel
num_axial : int
Number of axial subdivisions in fuel
Returns
-------
dict
Dictionary mapping a universe name to a openmc.Universe object
"""
pins = pin_universes(num_rings, num_axial)
# Create dictionary to store assembly universes
univs = {}
# commonly needed universes
gtu = pins['GT empty']
gti = pins['GT empty instr']
bas = pins['BA stack']
ins = pins['IT stack']
crA = pins['GT CR bank A']
crB = pins['GT CR bank B']
crC = pins['GT CR bank C']
crD = pins['GT CR bank D']
crSA = pins['GT CR bank SA']
crSB = pins['GT CR bank SB']
crSC = pins['GT CR bank SC']
crSD = pins['GT CR bank SD']
crSE = pins['GT CR bank SE']
# Define the NumPy array indices for assembly locations where there
# may be CR guide tubes, instrument tubes and burnable absorbers
nonfuel_y = \
np.array([2,2,2,3,3,5,5,5,5,5,8,8,8,8,8,11,11,11,11,11,13,13,14,14,14])
nonfuel_x = \
np.array([5,8,11,3,13,2,5,8,11,14,2,5,8,11,14,2,5,8,11,14,3,13,5,8,11])
# Define the NumPy array indices for assembly locations where there
# may be CR guide tubes, instrument tubes and burnable absorbers
nonfuel_y = \
np.array([2,2,2,3,3,5,5,5,5,5,8,8,8,8,8,11,11,11,11,11,13,13,14,14,14])
nonfuel_x = \
np.array([5,8,11,3,13,2,5,8,11,14,2,5,8,11,14,2,5,8,11,14,3,13,5,8,11])
#### 1.6% ENRICHED ASSEMBLIES
#### 1.6% ENRICHED ASSEMBLIES
for cent, comment in [(gti, ''), (ins, ' instr')]:
# NO BURNABLE ABSORBERS
universes = np.empty((17,17), dtype=openmc.Universe)
universes[:,:] = univs['Fuel (1.6%) stack']
universes[nonfuel_y, nonfuel_x] = [ gtu, gtu, gtu,
gtu, gtu,
gtu, gtu, gtu, gtu, gtu,
gtu, gtu, cent, gtu, gtu,
gtu, gtu, gtu, gtu, gtu,
gtu, gtu,
gtu, gtu, gtu ]
univs['Assembly (1.6%)' + comment] = \
make_assembly('Assembly (1.6%) no BAs' + comment, universes)
# WITH EACH CONTROL ROD BANK
for bank, comment2 in [(crA, 'A'), (crB, 'B'), (crC, 'C'), (crD, 'D'),
(crSB, 'SB'), (crSC, 'SC'), (crSD, 'SD'), (crSE, 'SE')]:
for cent, comment in [(gti, ''), (ins, ' instr')]:
# NO BURNABLE ABSORBERS
universes = np.empty((17,17), dtype=openmc.Universe)
universes[:,:] = univs['Fuel (1.6%) stack']
universes[nonfuel_y, nonfuel_x] = [ bank, bank, bank,
bank, bank,
bank, bank, bank, bank, bank,
bank, bank, cent, bank, bank,
bank, bank, bank, bank, bank,
bank, bank,
bank, bank, bank ]
univs['Assembly (1.6%) CR {}'.format(comment2) + comment] = \
make_assembly('Assembly (1.6%) CR {}'.format(comment2) + comment, universes)
universes[:,:] = pins['Fuel (1.6%) stack']
universes[nonfuel_y, nonfuel_x] = [ gtu, gtu, gtu,
gtu, gtu,
gtu, gtu, gtu, gtu, gtu,
gtu, gtu, cent, gtu, gtu,
gtu, gtu, gtu, gtu, gtu,
gtu, gtu,
gtu, gtu, gtu ]
univs['Assembly (1.6%)' + comment] = \
make_assembly('Assembly (1.6%) no BAs' + comment, universes)
# WITH EACH CONTROL ROD BANK
for bank, comment2 in [(crA, 'A'), (crB, 'B'), (crC, 'C'), (crD, 'D'),
(crSB, 'SB'), (crSC, 'SC'), (crSD, 'SD'), (crSE, 'SE')]:
universes = np.empty((17,17), dtype=openmc.Universe)
universes[:,:] = pins['Fuel (1.6%) stack']
universes[nonfuel_y, nonfuel_x] = [ bank, bank, bank,
bank, bank,
bank, bank, bank, bank, bank,
bank, bank, cent, bank, bank,
bank, bank, bank, bank, bank,
bank, bank,
bank, bank, bank ]
univs['Assembly (1.6%) CR {}'.format(comment2) + comment] = \
make_assembly('Assembly (1.6%) CR {}'.format(comment2) + comment, universes)
#### 2.4% ENRICHED ASSEMBLIES
#### 2.4% ENRICHED ASSEMBLIES
for cent, comment in [(gti, ''), (ins, ' instr')]:
for cent, comment in [(gti, ''), (ins, ' instr')]:
# NO BURNABLE ABSORBERS
universes = np.empty((17,17), dtype=openmc.Universe)
universes[:,:] = univs['Fuel (2.4%) stack']
universes[nonfuel_y, nonfuel_x] = [ gtu, gtu, gtu,
gtu, gtu,
gtu, gtu, gtu, gtu, gtu,
gtu, gtu, cent, gtu, gtu,
gtu, gtu, gtu, gtu, gtu,
gtu, gtu,
gtu, gtu, gtu ]
univs['Assembly (2.4%) no BAs' + comment] = \
make_assembly('Assembly (2.4%) no BAs' + comment, universes)
# NO BURNABLE ABSORBERS
universes = np.empty((17,17), dtype=openmc.Universe)
universes[:,:] = pins['Fuel (2.4%) stack']
universes[nonfuel_y, nonfuel_x] = [ gtu, gtu, gtu,
gtu, gtu,
gtu, gtu, gtu, gtu, gtu,
gtu, gtu, cent, gtu, gtu,
gtu, gtu, gtu, gtu, gtu,
gtu, gtu,
gtu, gtu, gtu ]
univs['Assembly (2.4%) no BAs' + comment] = \
make_assembly('Assembly (2.4%) no BAs' + comment, universes)
# WITH CONTROL ROD D BANK
universes = np.empty((17,17), dtype=openmc.Universe)
universes[:,:] = univs['Fuel (2.4%) stack']
universes[nonfuel_y, nonfuel_x] = [ crD, crD, crD,
crD, crD,
crD, crD, crD, crD, crD,
crD, crD, cent, crD, crD,
crD, crD, crD, crD, crD,
crD, crD,
crD, crD, crD ]
univs['Assembly (2.4%) CR D' + comment] = \
make_assembly('Assembly (2.4%) CR D' + comment, universes)
# WITH CONTROL ROD D BANK
universes = np.empty((17,17), dtype=openmc.Universe)
universes[:,:] = pins['Fuel (2.4%) stack']
universes[nonfuel_y, nonfuel_x] = [ crD, crD, crD,
crD, crD,
crD, crD, crD, crD, crD,
crD, crD, cent, crD, crD,
crD, crD, crD, crD, crD,
crD, crD,
crD, crD, crD ]
univs['Assembly (2.4%) CR D' + comment] = \
make_assembly('Assembly (2.4%) CR D' + comment, universes)
# WITH 12 BURNABLE ABSORBERS
universes = np.empty((17,17), dtype=openmc.Universe)
universes[:,:] = univs['Fuel (2.4%) stack']
universes[nonfuel_y, nonfuel_x] = [ bas, gtu, bas,
bas, bas,
bas, gtu, gtu, gtu, bas,
gtu, gtu, cent, gtu, gtu,
bas, gtu, gtu, gtu, bas,
bas, bas,
bas, gtu, bas ]
univs['Assembly (2.4%) 12BA' + comment] = \
make_assembly('Assembly (2.4%) 12BA' + comment, universes)
# WITH 12 BURNABLE ABSORBERS
universes = np.empty((17,17), dtype=openmc.Universe)
universes[:,:] = pins['Fuel (2.4%) stack']
universes[nonfuel_y, nonfuel_x] = [ bas, gtu, bas,
bas, bas,
bas, gtu, gtu, gtu, bas,
gtu, gtu, cent, gtu, gtu,
bas, gtu, gtu, gtu, bas,
bas, bas,
bas, gtu, bas ]
univs['Assembly (2.4%) 12BA' + comment] = \
make_assembly('Assembly (2.4%) 12BA' + comment, universes)
# WITH 16 BURNABLE ABSORBERS
universes = np.empty((17,17), dtype=openmc.Universe)
universes[:,:] = univs['Fuel (2.4%) stack']
universes[nonfuel_y, nonfuel_x] = [ bas, bas, bas,
bas, bas,
bas, gtu, gtu, gtu, bas,
bas, gtu, cent, gtu, bas,
bas, gtu, gtu, gtu, bas,
bas, bas,
bas, bas, bas ]
univs['Assembly (2.4%) 16BA' + comment] = \
make_assembly('Assembly (2.4%) 16BA' + comment, universes)
# WITH 16 BURNABLE ABSORBERS
universes = np.empty((17,17), dtype=openmc.Universe)
universes[:,:] = pins['Fuel (2.4%) stack']
universes[nonfuel_y, nonfuel_x] = [ bas, bas, bas,
bas, bas,
bas, gtu, gtu, gtu, bas,
bas, gtu, cent, gtu, bas,
bas, gtu, gtu, gtu, bas,
bas, bas,
bas, bas, bas ]
univs['Assembly (2.4%) 16BA' + comment] = \
make_assembly('Assembly (2.4%) 16BA' + comment, universes)
#### 3.1% ENRICHED ASSEMBLIES
#### 3.1% ENRICHED ASSEMBLIES
for cent, comment in [(gti, ''), (ins, ' instr')]:
for cent, comment in [(gti, ''), (ins, ' instr')]:
# NO BURNABLE ABSORBERS
universes = np.empty((17,17), dtype=openmc.Universe)
universes[:,:] = univs['Fuel (3.1%) stack']
universes[nonfuel_y, nonfuel_x] = [ gtu, gtu, gtu,
gtu, gtu,
gtu, gtu, gtu, gtu, gtu,
gtu, gtu, cent, gtu, gtu,
gtu, gtu, gtu, gtu, gtu,
gtu, gtu,
gtu, gtu, gtu ]
univs['Assembly (3.1%)' + comment] = \
make_assembly('Assembly (3.1%) no BAs' + comment, universes)
# NO BURNABLE ABSORBERS
universes = np.empty((17,17), dtype=openmc.Universe)
universes[:,:] = pins['Fuel (3.1%) stack']
universes[nonfuel_y, nonfuel_x] = [ gtu, gtu, gtu,
gtu, gtu,
gtu, gtu, gtu, gtu, gtu,
gtu, gtu, cent, gtu, gtu,
gtu, gtu, gtu, gtu, gtu,
gtu, gtu,
gtu, gtu, gtu ]
univs['Assembly (3.1%)' + comment] = \
make_assembly('Assembly (3.1%) no BAs' + comment, universes)
# WITH CONTROL ROD SA BANK
universes = np.empty((17,17), dtype=openmc.Universe)
universes[:,:] = univs['Fuel (3.1%) stack']
universes[nonfuel_y, nonfuel_x] = [ crSA, crSA, crSA,
crSA, crSA,
crSA, crSA, crSA, crSA, crSA,
crSA, crSA, cent, crSA, crSA,
crSA, crSA, crSA, crSA, crSA,
crSA, crSA,
crSA, crSA, crSA ]
univs['Assembly (3.1%) CR SA' + comment] = \
make_assembly('Assembly (3.1%) CR SA' + comment, universes)
# WITH CONTROL ROD SA BANK
universes = np.empty((17,17), dtype=openmc.Universe)
universes[:,:] = pins['Fuel (3.1%) stack']
universes[nonfuel_y, nonfuel_x] = [ crSA, crSA, crSA,
crSA, crSA,
crSA, crSA, crSA, crSA, crSA,
crSA, crSA, cent, crSA, crSA,
crSA, crSA, crSA, crSA, crSA,
crSA, crSA,
crSA, crSA, crSA ]
univs['Assembly (3.1%) CR SA' + comment] = \
make_assembly('Assembly (3.1%) CR SA' + comment, universes)
# WITH 20 BURNABLE ABSORBERS
universes = np.empty((17,17), dtype=openmc.Universe)
universes[:,:] = univs['Fuel (3.1%) stack']
universes[nonfuel_y, nonfuel_x] = [ bas, bas, bas,
bas, bas,
bas, bas, gtu, bas, bas,
bas, gtu, cent, gtu, bas,
bas, bas, gtu, bas, bas,
bas, bas,
bas, bas, bas ]
univs['Assembly (3.1%) 20BA' + comment] = \
make_assembly('Assembly (3.1%) 20BA' + comment, universes)
# WITH 20 BURNABLE ABSORBERS
universes = np.empty((17,17), dtype=openmc.Universe)
universes[:,:] = pins['Fuel (3.1%) stack']
universes[nonfuel_y, nonfuel_x] = [ bas, bas, bas,
bas, bas,
bas, bas, gtu, bas, bas,
bas, gtu, cent, gtu, bas,
bas, bas, gtu, bas, bas,
bas, bas,
bas, bas, bas ]
univs['Assembly (3.1%) 20BA' + comment] = \
make_assembly('Assembly (3.1%) 20BA' + comment, universes)
# WITH 16 BURNABLE ABSORBERS
universes = np.empty((17,17), dtype=openmc.Universe)
universes[:,:] = univs['Fuel (3.1%) stack']
universes[nonfuel_y, nonfuel_x] = [ bas, bas, bas,
bas, bas,
bas, gtu, gtu, gtu, bas,
bas, gtu, cent, gtu, bas,
bas, gtu, gtu, gtu, bas,
bas, bas,
bas, bas, bas ]
univs['Assembly (3.1%) 16BA' + comment] = \
make_assembly('Assembly (3.1%) 16BA' + comment, universes)
# WITH 16 BURNABLE ABSORBERS
universes = np.empty((17,17), dtype=openmc.Universe)
universes[:,:] = pins['Fuel (3.1%) stack']
universes[nonfuel_y, nonfuel_x] = [ bas, bas, bas,
bas, bas,
bas, gtu, gtu, gtu, bas,
bas, gtu, cent, gtu, bas,
bas, gtu, gtu, gtu, bas,
bas, bas,
bas, bas, bas ]
univs['Assembly (3.1%) 16BA' + comment] = \
make_assembly('Assembly (3.1%) 16BA' + comment, universes)
# WITH 15 BURNABLE ABSORBERS NW
universes = np.empty((17,17), dtype=openmc.Universe)
universes[:,:] = univs['Fuel (3.1%) stack']
universes[nonfuel_y, nonfuel_x] = [ gtu, gtu, gtu,
gtu, gtu,
gtu, bas, bas, bas, bas,
gtu, bas, cent, bas, bas,
gtu, bas, bas, bas, bas,
gtu, bas,
bas, bas, bas ]
univs['Assembly (3.1%) 15BANW' + comment] = \
make_assembly('Assembly (3.1%) 15BANW' + comment, universes)
# WITH 15 BURNABLE ABSORBERS NW
universes = np.empty((17,17), dtype=openmc.Universe)
universes[:,:] = pins['Fuel (3.1%) stack']
universes[nonfuel_y, nonfuel_x] = [ gtu, gtu, gtu,
gtu, gtu,
gtu, bas, bas, bas, bas,
gtu, bas, cent, bas, bas,
gtu, bas, bas, bas, bas,
gtu, bas,
bas, bas, bas ]
univs['Assembly (3.1%) 15BANW' + comment] = \
make_assembly('Assembly (3.1%) 15BANW' + comment, universes)
# WITH 15 BURNABLE ABSORBERS NE
universes = np.empty((17,17), dtype=openmc.Universe)
universes[:,:] = univs['Fuel (3.1%) stack']
universes[nonfuel_y, nonfuel_x] = [ gtu, gtu, gtu,
gtu, gtu,
bas, bas, bas, bas, gtu,
bas, bas, cent, bas, gtu,
bas, bas, bas, bas, gtu,
bas, gtu,
bas, bas, bas ]
univs['Assembly (3.1%) 15BANE' + comment] = \
make_assembly('Assembly (3.1%) 15BANE' + comment, universes)
# WITH 15 BURNABLE ABSORBERS NE
universes = np.empty((17,17), dtype=openmc.Universe)
universes[:,:] = pins['Fuel (3.1%) stack']
universes[nonfuel_y, nonfuel_x] = [ gtu, gtu, gtu,
gtu, gtu,
bas, bas, bas, bas, gtu,
bas, bas, cent, bas, gtu,
bas, bas, bas, bas, gtu,
bas, gtu,
bas, bas, bas ]
univs['Assembly (3.1%) 15BANE' + comment] = \
make_assembly('Assembly (3.1%) 15BANE' + comment, universes)
# WITH 15 BURNABLE ABSORBERS SW
universes = np.empty((17,17), dtype=openmc.Universe)
universes[:,:] = univs['Fuel (3.1%) stack']
universes[nonfuel_y, nonfuel_x] = [ bas, bas, bas,
gtu, bas,
gtu, bas, bas, bas, bas,
gtu, bas, cent, bas, bas,
gtu, bas, bas, bas, bas,
gtu, gtu,
gtu, gtu, gtu ]
univs['Assembly (3.1%) 15BASW' + comment] = \
make_assembly('Assembly (3.1%) 15BASW' + comment, universes)
# WITH 15 BURNABLE ABSORBERS SW
universes = np.empty((17,17), dtype=openmc.Universe)
universes[:,:] = pins['Fuel (3.1%) stack']
universes[nonfuel_y, nonfuel_x] = [ bas, bas, bas,
gtu, bas,
gtu, bas, bas, bas, bas,
gtu, bas, cent, bas, bas,
gtu, bas, bas, bas, bas,
gtu, gtu,
gtu, gtu, gtu ]
univs['Assembly (3.1%) 15BASW' + comment] = \
make_assembly('Assembly (3.1%) 15BASW' + comment, universes)
# WITH 15 BURNABLE ABSORBERS SE
universes = np.empty((17,17), dtype=openmc.Universe)
universes[:,:] = univs['Fuel (3.1%) stack']
universes[nonfuel_y, nonfuel_x] = [ bas, bas, bas,
bas, gtu,
bas, bas, bas, bas, gtu,
bas, bas, cent, bas, gtu,
bas, bas, bas, bas, gtu,
gtu, gtu,
gtu, gtu, gtu ]
univs['Assembly (3.1%) 15BASE' + comment] = \
make_assembly('Assembly (3.1%) 15BASE' + comment, universes)
# WITH 15 BURNABLE ABSORBERS SE
universes = np.empty((17,17), dtype=openmc.Universe)
universes[:,:] = pins['Fuel (3.1%) stack']
universes[nonfuel_y, nonfuel_x] = [ bas, bas, bas,
bas, gtu,
bas, bas, bas, bas, gtu,
bas, bas, cent, bas, gtu,
bas, bas, bas, bas, gtu,
gtu, gtu,
gtu, gtu, gtu ]
univs['Assembly (3.1%) 15BASE' + comment] = \
make_assembly('Assembly (3.1%) 15BASE' + comment, universes)
# WITH 6 BURNABLE ABSORBERS N
universes = np.empty((17,17), dtype=openmc.Universe)
universes[:,:] = univs['Fuel (3.1%) stack']
universes[nonfuel_y, nonfuel_x] = [ gtu, gtu, gtu,
gtu, gtu,
gtu, gtu, gtu, gtu, gtu,
gtu, gtu, cent, gtu, gtu,
bas, gtu, gtu, gtu, bas,
bas, bas,
bas, gtu, bas ]
univs['Assembly (3.1%) 6BAN' + comment] = \
make_assembly('Assembly (3.1%) 6BAN' + comment, universes)
# WITH 6 BURNABLE ABSORBERS N
universes = np.empty((17,17), dtype=openmc.Universe)
universes[:,:] = pins['Fuel (3.1%) stack']
universes[nonfuel_y, nonfuel_x] = [ gtu, gtu, gtu,
gtu, gtu,
gtu, gtu, gtu, gtu, gtu,
gtu, gtu, cent, gtu, gtu,
bas, gtu, gtu, gtu, bas,
bas, bas,
bas, gtu, bas ]
univs['Assembly (3.1%) 6BAN' + comment] = \
make_assembly('Assembly (3.1%) 6BAN' + comment, universes)
# WITH 6 BURNABLE ABSORBERS S
universes = np.empty((17,17), dtype=openmc.Universe)
universes[:,:] = univs['Fuel (3.1%) stack']
universes[nonfuel_y, nonfuel_x] = [ bas, gtu, bas,
bas, bas,
bas, gtu, gtu, gtu, bas,
gtu, gtu, cent, gtu, gtu,
gtu, gtu, gtu, gtu, gtu,
gtu, gtu,
gtu, gtu, gtu ]
univs['Assembly (3.1%) 6BAS' + comment] = \
make_assembly('Assembly (3.1%) 6BAS' + comment, universes)
# WITH 6 BURNABLE ABSORBERS S
universes = np.empty((17,17), dtype=openmc.Universe)
universes[:,:] = pins['Fuel (3.1%) stack']
universes[nonfuel_y, nonfuel_x] = [ bas, gtu, bas,
bas, bas,
bas, gtu, gtu, gtu, bas,
gtu, gtu, cent, gtu, gtu,
gtu, gtu, gtu, gtu, gtu,
gtu, gtu,
gtu, gtu, gtu ]
univs['Assembly (3.1%) 6BAS' + comment] = \
make_assembly('Assembly (3.1%) 6BAS' + comment, universes)
# WITH 6 BURNABLE ABSORBERS W
universes = np.empty((17,17), dtype=openmc.Universe)
universes[:,:] = univs['Fuel (3.1%) stack']
universes[nonfuel_y, nonfuel_x] = [ gtu, gtu, bas,
gtu, bas,
gtu, gtu, gtu, gtu, bas,
gtu, gtu, cent, gtu, gtu,
gtu, gtu, gtu, gtu, bas,
gtu, bas,
gtu, gtu, bas ]
univs['Assembly (3.1%) 6BAW' + comment] = \
make_assembly('Assembly (3.1%) 6BAW' + comment, universes)
# WITH 6 BURNABLE ABSORBERS W
universes = np.empty((17,17), dtype=openmc.Universe)
universes[:,:] = pins['Fuel (3.1%) stack']
universes[nonfuel_y, nonfuel_x] = [ gtu, gtu, bas,
gtu, bas,
gtu, gtu, gtu, gtu, bas,
gtu, gtu, cent, gtu, gtu,
gtu, gtu, gtu, gtu, bas,
gtu, bas,
gtu, gtu, bas ]
univs['Assembly (3.1%) 6BAW' + comment] = \
make_assembly('Assembly (3.1%) 6BAW' + comment, universes)
# WITH 6 BURNABLE ABSORBERS E
universes = np.empty((17,17), dtype=openmc.Universe)
universes[:,:] = univs['Fuel (3.1%) stack']
universes[nonfuel_y, nonfuel_x] = [ bas, gtu, gtu,
bas, gtu,
bas, gtu, gtu, gtu, gtu,
gtu, gtu, cent, gtu, gtu,
bas, gtu, gtu, gtu, gtu,
bas, gtu,
bas, gtu, gtu ]
univs['Assembly (3.1%) 6BAE' + comment] = \
make_assembly('Assembly (3.1%) 6BAE' + comment, universes)
# WITH 6 BURNABLE ABSORBERS E
universes = np.empty((17,17), dtype=openmc.Universe)
universes[:,:] = pins['Fuel (3.1%) stack']
universes[nonfuel_y, nonfuel_x] = [ bas, gtu, gtu,
bas, gtu,
bas, gtu, gtu, gtu, gtu,
gtu, gtu, cent, gtu, gtu,
bas, gtu, gtu, gtu, gtu,
bas, gtu,
bas, gtu, gtu ]
univs['Assembly (3.1%) 6BAE' + comment] = \
make_assembly('Assembly (3.1%) 6BAE' + comment, universes)
return univs

View file

@ -6,202 +6,209 @@ import openmc
from .materials import mats
from .surfaces import surfs, lattice_pitch
from .reflector import univs
from .reflector import reflector_universes
from .assemblies import assembly_universes
#### CONSTRUCT MAIN CORE LATTICE
def core_geometry(num_rings, num_axial):
"""Generate full core SMR geometry.
core = openmc.RectLattice(name='Main core')
core.lower_left = [-9*lattice_pitch/2, -9*lattice_pitch/2]
core.pitch = [lattice_pitch, lattice_pitch]
universes = np.tile(univs['heavy reflector'], (9,9))
Parameters
----------
num_rings : int
Number of annual regions in fuel
num_axial : int
Number of axial subdivisions in fuel
universes[0, 2] = univs['heavy reflector 0,2']
universes[0, 3] = univs['heavy reflector 0,3']
universes[0, 4] = univs['heavy reflector 0,4']
universes[0, 5] = univs['heavy reflector 0,5']
universes[0, 6] = univs['heavy reflector 0,6']
Returns
-------
openmc.Geometry
SMR full core geometry
universes[1, 1] = univs['heavy reflector 1,1']
universes[1, 2] = univs['heavy reflector NW']
universes[1, 3] = univs['Assembly (3.1%) instr']
universes[1, 4] = univs['Assembly (2.4%) CR D']
universes[1, 5] = univs['Assembly (3.1%) instr']
universes[1, 6] = univs['heavy reflector NE']
universes[1, 7] = univs['heavy reflector 1,7']
"""
assembly = assembly_universes(num_rings, num_axial)
reflector = reflector_universes()
universes[2, 0] = univs['heavy reflector 2,0']
universes[2, 1] = univs['heavy reflector NW']
universes[2, 2] = univs['Assembly (3.1%) instr']
universes[2, 3] = univs['Assembly (2.4%) CR D']
universes[2, 4] = univs['Assembly (3.1%) 16BA']
universes[2, 5] = univs['Assembly (2.4%) CR D']
universes[2, 6] = univs['Assembly (3.1%) instr']
universes[2, 7] = univs['heavy reflector NE']
universes[2, 8] = univs['heavy reflector 2,8']
# Construct main core lattice
core = openmc.RectLattice(name='Main core')
core.lower_left = (-9*lattice_pitch/2, -9*lattice_pitch/2)
core.pitch = (lattice_pitch, lattice_pitch)
universes = np.tile(reflector['solid'], (9, 9))
universes[3, 0] = univs['heavy reflector 3,0']
universes[3, 1] = univs['Assembly (3.1%) instr']
universes[3, 2] = univs['Assembly (2.4%) CR D']
universes[3, 3] = univs['Assembly (3.1%) 16BA']
universes[3, 4] = univs['Assembly (2.4%) CR D']
universes[3, 5] = univs['Assembly (3.1%) 16BA']
universes[3, 6] = univs['Assembly (2.4%) CR D']
universes[3, 7] = univs['Assembly (3.1%) instr']
universes[3, 8] = univs['heavy reflector 3,8']
universes[0, 2] = reflector['0,2']
universes[0, 3] = reflector['0,3']
universes[0, 4] = reflector['0,4']
universes[0, 5] = reflector['0,5']
universes[0, 6] = reflector['0,6']
universes[4, 0] = univs['heavy reflector 4,0']
universes[4, 1] = univs['Assembly (2.4%) CR D']
universes[4, 2] = univs['Assembly (3.1%) 16BA']
universes[4, 3] = univs['Assembly (2.4%) CR D']
universes[4, 4] = univs['Assembly (1.6%) instr']
universes[4, 5] = univs['Assembly (2.4%) CR D']
universes[4, 6] = univs['Assembly (3.1%) 16BA']
universes[4, 7] = univs['Assembly (2.4%) CR D']
universes[4, 8] = univs['heavy reflector 4,8']
universes[1, 1] = reflector['1,1']
universes[1, 2] = reflector['NW']
universes[1, 3] = assembly['Assembly (3.1%) instr']
universes[1, 4] = assembly['Assembly (2.4%) CR D']
universes[1, 5] = assembly['Assembly (3.1%) instr']
universes[1, 6] = reflector['NE']
universes[1, 7] = reflector['1,7']
universes[5, 0] = univs['heavy reflector 5,0']
universes[5, 1] = univs['Assembly (3.1%) instr']
universes[5, 2] = univs['Assembly (2.4%) CR D']
universes[5, 3] = univs['Assembly (3.1%) 16BA']
universes[5, 4] = univs['Assembly (2.4%) CR D']
universes[5, 5] = univs['Assembly (3.1%) 16BA']
universes[5, 6] = univs['Assembly (2.4%) CR D']
universes[5, 7] = univs['Assembly (3.1%) instr']
universes[5, 8] = univs['heavy reflector 5,8']
universes[2, 0] = reflector['2,0']
universes[2, 1] = reflector['NW']
universes[2, 2] = assembly['Assembly (3.1%) instr']
universes[2, 3] = assembly['Assembly (2.4%) CR D']
universes[2, 4] = assembly['Assembly (3.1%) 16BA']
universes[2, 5] = assembly['Assembly (2.4%) CR D']
universes[2, 6] = assembly['Assembly (3.1%) instr']
universes[2, 7] = reflector['NE']
universes[2, 8] = reflector['2,8']
universes[6, 0] = univs['heavy reflector 6,0']
universes[6, 1] = univs['heavy reflector SW']
universes[6, 2] = univs['Assembly (3.1%) instr']
universes[6, 3] = univs['Assembly (2.4%) CR D']
universes[6, 4] = univs['Assembly (3.1%) 16BA']
universes[6, 5] = univs['Assembly (2.4%) CR D']
universes[6, 6] = univs['Assembly (3.1%) instr']
universes[6, 7] = univs['heavy reflector SE']
universes[6, 8] = univs['heavy reflector 6,8']
universes[3, 0] = reflector['3,0']
universes[3, 1] = assembly['Assembly (3.1%) instr']
universes[3, 2] = assembly['Assembly (2.4%) CR D']
universes[3, 3] = assembly['Assembly (3.1%) 16BA']
universes[3, 4] = assembly['Assembly (2.4%) CR D']
universes[3, 5] = assembly['Assembly (3.1%) 16BA']
universes[3, 6] = assembly['Assembly (2.4%) CR D']
universes[3, 7] = assembly['Assembly (3.1%) instr']
universes[3, 8] = reflector['3,8']
universes[7, 1] = univs['heavy reflector 7,1']
universes[7, 2] = univs['heavy reflector SW']
universes[7, 3] = univs['Assembly (3.1%) instr']
universes[7, 4] = univs['Assembly (2.4%) CR D']
universes[7, 5] = univs['Assembly (3.1%) instr']
universes[7, 6] = univs['heavy reflector SE']
universes[7, 7] = univs['heavy reflector 7,7']
universes[4, 0] = reflector['4,0']
universes[4, 1] = assembly['Assembly (2.4%) CR D']
universes[4, 2] = assembly['Assembly (3.1%) 16BA']
universes[4, 3] = assembly['Assembly (2.4%) CR D']
universes[4, 4] = assembly['Assembly (1.6%) instr']
universes[4, 5] = assembly['Assembly (2.4%) CR D']
universes[4, 6] = assembly['Assembly (3.1%) 16BA']
universes[4, 7] = assembly['Assembly (2.4%) CR D']
universes[4, 8] = reflector['4,8']
universes[8, 2] = univs['heavy reflector 8,2']
universes[8, 3] = univs['heavy reflector 8,3']
universes[8, 4] = univs['heavy reflector 8,4']
universes[8, 5] = univs['heavy reflector 8,5']
universes[8, 6] = univs['heavy reflector 8,6']
universes[5, 0] = reflector['5,0']
universes[5, 1] = assembly['Assembly (3.1%) instr']
universes[5, 2] = assembly['Assembly (2.4%) CR D']
universes[5, 3] = assembly['Assembly (3.1%) 16BA']
universes[5, 4] = assembly['Assembly (2.4%) CR D']
universes[5, 5] = assembly['Assembly (3.1%) 16BA']
universes[5, 6] = assembly['Assembly (2.4%) CR D']
universes[5, 7] = assembly['Assembly (3.1%) instr']
universes[5, 8] = reflector['5,8']
core.universes = universes
universes[6, 0] = reflector['6,0']
universes[6, 1] = reflector['SW']
universes[6, 2] = assembly['Assembly (3.1%) instr']
universes[6, 3] = assembly['Assembly (2.4%) CR D']
universes[6, 4] = assembly['Assembly (3.1%) 16BA']
universes[6, 5] = assembly['Assembly (2.4%) CR D']
universes[6, 6] = assembly['Assembly (3.1%) instr']
universes[6, 7] = reflector['SE']
universes[6, 8] = reflector['6,8']
universes[7, 1] = reflector['7,1']
universes[7, 2] = reflector['SW']
universes[7, 3] = assembly['Assembly (3.1%) instr']
universes[7, 4] = assembly['Assembly (2.4%) CR D']
universes[7, 5] = assembly['Assembly (3.1%) instr']
universes[7, 6] = reflector['SE']
universes[7, 7] = reflector['7,7']
#### CONSTRUCT ROOT UNIVERSE AND CELLS
universes[8, 2] = reflector['8,2']
universes[8, 3] = reflector['8,3']
universes[8, 4] = reflector['8,4']
universes[8, 5] = reflector['8,5']
universes[8, 6] = reflector['8,6']
root_univ = openmc.Universe(universe_id=0, name='root universe')
core.universes = universes
cell = openmc.Cell(name='Main core')
cell.fill = core
cell.region = \
-surfs['core barrel IR'] & +surfs['lower bound'] & -surfs['upper bound']
root_univ.add_cell(cell)
root_univ = openmc.Universe(universe_id=0, name='root universe')
# Cylinder filled with core lattice
cell = openmc.Cell(name='Main core')
cell.fill = core
cell.region = \
-surfs['core barrel IR'] & +surfs['lower bound'] & -surfs['upper bound']
root_univ.add_cell(cell)
# CONSTRUCT CORE BARREL
# Core barrel
cell = openmc.Cell(name='core barrel')
cell.fill = mats['SS']
cell.region = (+surfs['core barrel IR'] & -surfs['core barrel OR'] &
+surfs['lower bound'] & -surfs['upper bound'])
root_univ.add_cell(cell)
cell = openmc.Cell(name='core barrel')
cell.fill = mats['SS']
cell.region = (+surfs['core barrel IR'] & -surfs['core barrel OR'] &
+surfs['lower bound'] & -surfs['upper bound'])
root_univ.add_cell(cell)
# Neutron shield panels
cell = openmc.Cell(name='neutron shield panel NW')
cell.fill = mats['SS']
cell.region = (+surfs['core barrel OR'] & -surfs['neutron shield OR'] &
+surfs['neutron shield NWbot SEtop'] &
-surfs['neutron shield NWtop SEbot'] &
+surfs['lower bound'] & -surfs['upper bound'])
root_univ.add_cell(cell)
cell = openmc.Cell(name='neutron shield panel N')
cell.fill = mats['H2O']
cell.region = (+surfs['core barrel OR'] & -surfs['neutron shield OR'] &
+surfs['neutron shield NWtop SEbot'] &
-surfs['neutron shield NEtop SWbot'] &
+surfs['lower bound'] & -surfs['upper bound'])
root_univ.add_cell(cell)
#### CONSTRUCT NEUTRON SHIELD PANELS
cell = openmc.Cell(name='neutron shield panel SE')
cell.fill = mats['SS']
cell.region = (+surfs['core barrel OR'] & -surfs['neutron shield OR'] &
-surfs['neutron shield NWbot SEtop'] &
+surfs['neutron shield NWtop SEbot'] &
+surfs['lower bound'] & -surfs['upper bound'])
root_univ.add_cell(cell)
cell = openmc.Cell(name='neutron shield panel NW')
cell.fill = mats['SS']
cell.region = (+surfs['core barrel OR'] & -surfs['neutron shield OR'] &
+surfs['neutron shield NWbot SEtop'] &
-surfs['neutron shield NWtop SEbot'] &
+surfs['lower bound'] & -surfs['upper bound'])
root_univ.add_cell(cell)
cell = openmc.Cell(name='neutron shield panel E')
cell.fill = mats['H2O']
cell.region = (+surfs['core barrel OR'] & -surfs['neutron shield OR'] &
+surfs['neutron shield NWbot SEtop'] &
+surfs['neutron shield NEbot SWtop'] &
+surfs['lower bound'] & -surfs['upper bound'])
root_univ.add_cell(cell)
cell = openmc.Cell(name='neutron shield panel N')
cell.fill = mats['H2O']
cell.region = (+surfs['core barrel OR'] & -surfs['neutron shield OR'] &
+surfs['neutron shield NWtop SEbot'] &
-surfs['neutron shield NEtop SWbot'] &
+surfs['lower bound'] & -surfs['upper bound'])
root_univ.add_cell(cell)
cell = openmc.Cell(name='neutron shield panel NE')
cell.fill = mats['SS']
cell.region = (+surfs['core barrel OR'] & -surfs['neutron shield OR'] &
+surfs['neutron shield NEbot SWtop'] &
-surfs['neutron shield NEtop SWbot'] &
+surfs['lower bound'] & -surfs['upper bound'])
root_univ.add_cell(cell)
cell = openmc.Cell(name='neutron shield panel SE')
cell.fill = mats['SS']
cell.region = (+surfs['core barrel OR'] & -surfs['neutron shield OR'] &
-surfs['neutron shield NWbot SEtop'] &
+surfs['neutron shield NWtop SEbot'] &
+surfs['lower bound'] & -surfs['upper bound'])
root_univ.add_cell(cell)
cell = openmc.Cell(name='neutron shield panel S')
cell.fill = mats['H2O']
cell.region = (+surfs['core barrel OR'] & -surfs['neutron shield OR'] &
-surfs['neutron shield NWtop SEbot'] &
+surfs['neutron shield NEtop SWbot'] &
+surfs['lower bound'] & -surfs['upper bound'])
root_univ.add_cell(cell)
cell = openmc.Cell(name='neutron shield panel E')
cell.fill = mats['H2O']
cell.region = (+surfs['core barrel OR'] & -surfs['neutron shield OR'] &
+surfs['neutron shield NWbot SEtop'] &
+surfs['neutron shield NEbot SWtop'] &
+surfs['lower bound'] & -surfs['upper bound'])
root_univ.add_cell(cell)
cell = openmc.Cell(name='neutron shield panel SW')
cell.fill = mats['SS']
cell.region = (+surfs['core barrel OR'] & -surfs['neutron shield OR'] &
-surfs['neutron shield NEbot SWtop'] &
+surfs['neutron shield NEtop SWbot'] &
+surfs['lower bound'] & -surfs['upper bound'])
root_univ.add_cell(cell)
cell = openmc.Cell(name='neutron shield panel NE')
cell.fill = mats['SS']
cell.region = (+surfs['core barrel OR'] & -surfs['neutron shield OR'] &
+surfs['neutron shield NEbot SWtop'] &
-surfs['neutron shield NEtop SWbot'] &
+surfs['lower bound'] & -surfs['upper bound'])
root_univ.add_cell(cell)
cell = openmc.Cell(name='neutron shield panel W')
cell.fill = mats['H2O']
cell.region = (+surfs['core barrel OR'] & -surfs['neutron shield OR'] &
-surfs['neutron shield NWbot SEtop'] &
-surfs['neutron shield NEbot SWtop'] &
+surfs['lower bound'] & -surfs['upper bound'])
root_univ.add_cell(cell)
cell = openmc.Cell(name='neutron shield panel S')
cell.fill = mats['H2O']
cell.region = (+surfs['core barrel OR'] & -surfs['neutron shield OR'] &
-surfs['neutron shield NWtop SEbot'] &
+surfs['neutron shield NEtop SWbot'] &
+surfs['lower bound'] & -surfs['upper bound'])
root_univ.add_cell(cell)
# Downcomer
cell = openmc.Cell(name='downcomer')
cell.fill = mats['H2O']
cell.region = (+surfs['neutron shield OR'] & -surfs['RPV IR'] &
+surfs['lower bound'] & -surfs['upper bound'])
root_univ.add_cell(cell)
cell = openmc.Cell(name='neutron shield panel SW')
cell.fill = mats['SS']
cell.region = (+surfs['core barrel OR'] & -surfs['neutron shield OR'] &
-surfs['neutron shield NEbot SWtop'] &
+surfs['neutron shield NEtop SWbot'] &
+surfs['lower bound'] & -surfs['upper bound'])
root_univ.add_cell(cell)
# Reactor pressure vessel
cell = openmc.Cell(name='reactor pressure vessel')
cell.fill = mats['CS']
cell.region = (+surfs['RPV IR'] & -surfs['RPV OR'] &
+surfs['lower bound'] & -surfs['upper bound'])
root_univ.add_cell(cell)
cell = openmc.Cell(name='neutron shield panel W')
cell.fill = mats['H2O']
cell.region = (+surfs['core barrel OR'] & -surfs['neutron shield OR'] &
-surfs['neutron shield NWbot SEtop'] &
-surfs['neutron shield NEbot SWtop'] &
+surfs['lower bound'] & -surfs['upper bound'])
root_univ.add_cell(cell)
#### CONSTRUCT DOWNCOMER
cell = openmc.Cell(name='downcomer')
cell.fill = mats['H2O']
cell.region = (+surfs['neutron shield OR'] & -surfs['RPV IR'] &
+surfs['lower bound'] & -surfs['upper bound'])
root_univ.add_cell(cell)
#### CONSTRUCT REACTOR PRESSURE VESSEL
cell = openmc.Cell(name='reactor pressure vessel')
cell.fill = mats['CS']
cell.region = (+surfs['RPV IR'] & -surfs['RPV OR'] &
+surfs['lower bound'] & -surfs['upper bound'])
root_univ.add_cell(cell)
#### CONSTRUCT GEOMETRY
geometry = openmc.Geometry(root_univ)
# Return geometry
return openmc.Geometry(root_univ)

File diff suppressed because it is too large Load diff

View file

@ -33,7 +33,7 @@ plot.filename = 'radial_xy_slice'
plot.colors = colors
plot.background = [255, 255, 255]
plot.pixels = [1000, 1000]
plots += [plot]
plots.append(plot)
plot = openmc.Plot(name='axial slice')
plot.basis = 'xz'
@ -44,7 +44,7 @@ plot.filename = 'axial_xz_slice'
plot.colors = colors
plot.background = [255, 255, 255]
plot.pixels = [1000, 1000]
plots += [plot]
plots.append(plot)
plot = openmc.Plot(name='assembly grid spacer')
plot.basis = 'xy'
@ -55,7 +55,7 @@ plot.filename = 'assm_grid_spacer'
plot.colors = colors
plot.background = [255, 255, 255]
plot.pixels = [2000, 2000]
plots += [plot]
plots.append(plot)
plot = openmc.Plot(name='assembly no spacer')
plot.basis = 'xy'
@ -66,4 +66,23 @@ plot.filename = 'assm_no_spacer'
plot.colors = colors
plot.background = [255, 255, 255]
plot.pixels = [2000, 2000]
plots += [plot]
plots.append(plot)
plot = openmc.Plot(name='assembly no spacer cell')
plot.basis = 'xy'
plot.color_by = 'cell'
plot.origin = [0., 0., 90.]
plot.width = [lattice_pitch*1.5, lattice_pitch*1.5]
plot.filename = 'assm_no_spacer_cell'
plot.background = [255, 255, 255]
plot.pixels = [2000, 2000]
plots.append(plot)
plot = openmc.Plot(name='z slice')
plot.basis = 'xz'
plot.color_by = 'cell'
plot.filename = 'assm_xz'
plot.origin = (0., 0., lowest_extent + (highest_extent - lowest_extent)/2)
plot.width = (lattice_pitch*1.5, highest_extent - lowest_extent)
plot.pixels = (int(plot.width[0]/plot.width[1]*4000), 4000)
plots.append(plot)

View file

@ -12,8 +12,7 @@ converted to actual dimensions by scaling according to the width of an assembly.
import openmc
from .materials import mats
from .surfaces import surfs, lattice_pitch
from .assemblies import univs
from .surfaces import lattice_pitch
def make_reflector(name, parameters):
@ -27,6 +26,11 @@ def make_reflector(name, parameters):
Iterable containing tuple with the (x,y) coordinates of the center and
the radius of a Z-cylinder and the
Returns
-------
openmc.Universe
Universe containing reflector block
"""
water_holes = []
for x, y, r in parameters:
@ -35,277 +39,191 @@ def make_reflector(name, parameters):
water_holes.append(hole)
ss_region = openmc.Intersection(~c.region for c in water_holes)
ss_cell = openmc.Cell(name='{} SS'.format(name), fill=mats['SS'],
ss_cell = openmc.Cell(name='reflector {} SS'.format(name), fill=mats['SS'],
region=ss_region)
univs[name] = openmc.Universe(name=name)
univs[name].add_cells(water_holes)
univs[name].add_cell(ss_cell)
univ = openmc.Universe(name='reflector {}'.format(name))
univ.add_cells(water_holes)
univ.add_cell(ss_cell)
return univ
# Reflector at northwest corner (fuel assemblies to the right and below)
def reflector_universes():
"""Generate universes for SMR heavy neutron reflector blocks.
width = 276
p1 = 59
p2 = 126
p3 = 196
p4 = 264
Parameters
----------
num_rings : int
Number of annual regions in fuel
num_axial : int
Number of axial subdivisions in fuel
p5 = 105
Returns
-------
dict
Dictionary mapping a universe name to a openmc.Universe object
p6 = 122
p7 = 164
"""
# Create dictionary to store universes
univs = {}
p8 = 138
p9 = 222
# Reflector at northwest corner (fuel assemblies to the right and below)
width = 276
p1 = 59
p2 = 126
p3 = 196
p4 = 264
p10 = 247
p5 = 105
# There are 8 large water holes and all others appear to have the same, smaller
# diameter
d_small = 13
d_large = 30
p6 = 122
p7 = 164
# All pixel widths are scaled according to the actual width of an assembly
# divided by the width of an assembly in pixels
scale = lattice_pitch/width
p8 = 138
p9 = 222
# Physical positions
x1 = -lattice_pitch/2 + scale*(width - p4)
x2 = -lattice_pitch/2 + scale*(width - p3)
x3 = -lattice_pitch/2 + scale*(width - p2)
x4 = -lattice_pitch/2 + scale*(width - p1)
y1 = -lattice_pitch/2 + scale*p1
y2 = -lattice_pitch/2 + scale*p2
y3 = -lattice_pitch/2 + scale*p3
y4 = -lattice_pitch/2 + scale*p4
p10 = 247
x5 = -lattice_pitch/2 + scale*(width - p5)
y5 = -lattice_pitch/2 + scale*p5
x6 = -lattice_pitch/2 + scale*(width - p7)
y6 = -lattice_pitch/2 + scale*p6
x7 = -lattice_pitch/2 + scale*(width - p6)
y7 = -lattice_pitch/2 + scale*p7
x8 = -lattice_pitch/2 + scale*(width - p9)
y8 = -lattice_pitch/2 + scale*p8
x9 = -lattice_pitch/2 + scale*(width - p8)
y9 = -lattice_pitch/2 + scale*p9
# There are 8 large water holes and all others appear to have the same, smaller
# diameter
d_small = 13
d_large = 30
y10 = -lattice_pitch/2 + scale*p10
# All pixel widths are scaled according to the actual width of an assembly
# divided by the width of an assembly in pixels
scale = lattice_pitch/width
# Radius of small/large water holes
r1 = scale*d_small/2
r2 = scale*d_large/2
# Physical positions
x1 = -lattice_pitch/2 + scale*(width - p4)
x2 = -lattice_pitch/2 + scale*(width - p3)
x3 = -lattice_pitch/2 + scale*(width - p2)
x4 = -lattice_pitch/2 + scale*(width - p1)
y1 = -lattice_pitch/2 + scale*p1
y2 = -lattice_pitch/2 + scale*p2
y3 = -lattice_pitch/2 + scale*p3
y4 = -lattice_pitch/2 + scale*p4
params = [
(x1, y1, r1), (x2, y1, r1), (x3, y1, r1), (x4, y1, r2),
(x4, y2, r1), (x4, y3, r1), (x4, y4, r1), (x5, y5, r1),
(x6, y6, r1), (x7, y7, r1), (x8, y8, r1), (x9, y9, r1),
(x1, y10, r1)
]
x5 = -lattice_pitch/2 + scale*(width - p5)
y5 = -lattice_pitch/2 + scale*p5
x6 = -lattice_pitch/2 + scale*(width - p7)
y6 = -lattice_pitch/2 + scale*p6
x7 = -lattice_pitch/2 + scale*(width - p6)
y7 = -lattice_pitch/2 + scale*p7
x8 = -lattice_pitch/2 + scale*(width - p9)
y8 = -lattice_pitch/2 + scale*p8
x9 = -lattice_pitch/2 + scale*(width - p8)
y9 = -lattice_pitch/2 + scale*p9
make_reflector('heavy reflector NW', params)
y10 = -lattice_pitch/2 + scale*p10
# Reflector at (1, 1)
# Radius of small/large water holes
r1 = scale*d_small/2
r2 = scale*d_large/2
params = [
(x4, y1, r1),
(lattice_pitch/2 - scale*103, -lattice_pitch/2 + scale*156, r1),
(lattice_pitch/2 - scale*158, -lattice_pitch/2 + scale*103, r1)
]
make_reflector('heavy reflector 1,1', params)
params = [
(x1, y1, r1), (x2, y1, r1), (x3, y1, r1), (x4, y1, r2),
(x4, y2, r1), (x4, y3, r1), (x4, y4, r1), (x5, y5, r1),
(x6, y6, r1), (x7, y7, r1), (x8, y8, r1), (x9, y9, r1),
(x1, y10, r1)
]
univs['NW'] = make_reflector('NW', params)
# Left reflector (4,0)
# Reflector at (1, 1)
left1 = 58
left2 = 118
left3 = 173
up3 = 76
params = [
(x4, y1, r1),
(lattice_pitch/2 - scale*103, -lattice_pitch/2 + scale*156, r1),
(lattice_pitch/2 - scale*158, -lattice_pitch/2 + scale*103, r1)
]
univs['1,1'] = make_reflector('1,1', params)
x1 = -lattice_pitch/2 + scale*(width - left1)
x2 = -lattice_pitch/2 + scale*(width - left2)
d_y = scale*67
x3 = -lattice_pitch/2 + scale*(width - left3)
y3 = scale*up3
# Left reflector (4,0)
params = [
(x1, 0, r1), (x1, d_y, r1), (x1, 2*d_y, r1), (x1, -d_y, r1), (x1, -2*d_y, r1),
(x2, d_y/2, r1), (x2, 3/2*d_y, r1), (x2, -d_y/2, r1), (x2, -3/2*d_y, r1),
(x3, y3, r1), (x3, -y3, r1)
]
left1 = 58
left2 = 118
left3 = 173
up3 = 76
make_reflector('heavy reflector 4,0', params)
x1 = -lattice_pitch/2 + scale*(width - left1)
x2 = -lattice_pitch/2 + scale*(width - left2)
d_y = scale*67
x3 = -lattice_pitch/2 + scale*(width - left3)
y3 = scale*up3
# Reflector at (3,0)
params = [
(x1, 0, r1), (x1, d_y, r1), (x1, 2*d_y, r1), (x1, -d_y, r1), (x1, -2*d_y, r1),
(x2, d_y/2, r1), (x2, 3/2*d_y, r1), (x2, -d_y/2, r1), (x2, -3/2*d_y, r1),
(x3, y3, r1), (x3, -y3, r1)
]
univs['4,0'] = make_reflector('4,0', params)
params = []
for i in range(2, 7):
params.append((x1, i*d_y - lattice_pitch, r1))
for i in (5, 7, 11):
params.append((x2, i*d_y/2 - lattice_pitch, r1))
# Reflector at (3,0)
left3 = 140
left4 = 183
up3 = 159
up4 = 47
params = []
for i in range(2, 7):
params.append((x1, i*d_y - lattice_pitch, r1))
for i in (5, 7, 11):
params.append((x2, i*d_y/2 - lattice_pitch, r1))
x3 = -lattice_pitch/2 + scale*(width - left3)
y3 = -lattice_pitch/2 + scale*up3
x4 = -lattice_pitch/2 + scale*(width - left4)
y4 = -lattice_pitch/2 + scale*up4
params += [(x3, y3, r1), (x4, y4, r1)]
left3 = 140
left4 = 183
up3 = 159
up4 = 47
make_reflector('heavy reflector 3,0', params)
x3 = -lattice_pitch/2 + scale*(width - left3)
y3 = -lattice_pitch/2 + scale*up3
x4 = -lattice_pitch/2 + scale*(width - left4)
y4 = -lattice_pitch/2 + scale*up4
params += [(x3, y3, r1), (x4, y4, r1)]
# Reflector at (5,0)
univs['3,0'] = make_reflector('3,0', params)
params = [(x, -y, r) for x, y, r in params]
make_reflector('heavy reflector 5,0', params)
# Reflector at (5,0)
params = [(x, -y, r) for x, y, r in params]
univs['5,0'] = make_reflector('5,0', params)
# Reflector at (2, 0)
# Reflector at (2, 0)
params = [(-lattice_pitch/2 + scale*(width - 78),
-lattice_pitch/2 + scale*98, r1)]
make_reflector('heavy reflector 2,0', params)
params = [(-lattice_pitch/2 + scale*(width - 78),
-lattice_pitch/2 + scale*98, r1)]
univs['2,0'] = make_reflector('2,0', params)
################################################################################
# Beyond this point, all universes are just copies of the ones previously
# created with a rotation applied
################################################################################
# Beyond this point, all universes are just copies of the ones previously
# created with a rotation applied
# NE corner
cell = openmc.Cell(name='heavy reflector NE', fill=univs['heavy reflector NW'])
cell.rotation = (0, 0, -90)
univs['heavy reflector NE'] = openmc.Universe(name='heavy reflector NE')
univs['heavy reflector NE'].add_cell(cell)
# First define helper function to create new universe by rotating an
# existing one
def rotate_universe(univ, rotation, name):
cell = openmc.Cell(name='reflector {}'.format(name), fill=univ)
cell.rotation = rotation
return openmc.Universe(name=name, cells=[cell])
# SW corner
cell = openmc.Cell(name='heavy reflector SW', fill=univs['heavy reflector NW'])
cell.rotation = (0, 0, 90)
univs['heavy reflector SW'] = openmc.Universe(name='heavy reflector SW')
univs['heavy reflector SW'].add_cell(cell)
univs['NE'] = rotate_universe(univs['NW'], (0, 0, -90), 'NE')
univs['SW'] = rotate_universe(univs['NW'], (0, 0, 90), 'SW')
univs['SE'] = rotate_universe(univs['NW'], (0, 0, 180), 'SE')
univs['0,2'] = rotate_universe(univs['2,0'], (0, 180, -90), '0,2')
univs['0,3'] = rotate_universe(univs['5,0'], (0, 0, -90), '0,3')
univs['0,4'] = rotate_universe(univs['4,0'], (0, 0, -90), '0,4')
univs['0,5'] = rotate_universe(univs['3,0'], (0, 0, -90), '0,5')
univs['0,6'] = rotate_universe(univs['2,0'], (0, 0, -90), '0,6')
univs['1,7'] = rotate_universe(univs['1,1'], (0, 0, -90), '1,7')
univs['2,8'] = rotate_universe(univs['2,0'], (0, 180, 0), '2,8')
univs['3,8'] = rotate_universe(univs['3,0'], (0, 180, 0), '3,8')
univs['4,8'] = rotate_universe(univs['4,0'], (0, 180, 0), '4,8')
univs['5,8'] = rotate_universe(univs['3,0'], (0, 0, 180), '5,8')
univs['6,0'] = rotate_universe(univs['2,0'], (180, 0, 0), '6,0')
univs['6,8'] = rotate_universe(univs['2,0'], (0, 0, 180), '6,8')
univs['7,1'] = rotate_universe(univs['1,1'], (180, 0, 0), '7,1')
univs['7,7'] = rotate_universe(univs['1,1'], (0, 0, 180), '7,7')
univs['8,2'] = rotate_universe(univs['2,0'], (0, 0, 90), '8,2')
univs['8,3'] = rotate_universe(univs['3,0'], (0, 0, 90), '8,3')
univs['8,4'] = rotate_universe(univs['4,0'], (0, 0, 90), '8,4')
univs['8,5'] = rotate_universe(univs['5,0'], (0, 0, 90), '8,5')
univs['8,6'] = rotate_universe(univs['2,0'], (0, 0, 180), '8,6')
# SE corner
cell = openmc.Cell(name='heavy reflector SE', fill=univs['heavy reflector NW'])
cell.rotation = (0, 0, 180)
univs['heavy reflector SE'] = openmc.Universe(name='heavy reflector SE')
univs['heavy reflector SE'].add_cell(cell)
# Solid stainless steel universe
all_ss = openmc.Cell(name='heavy reflector', fill=mats['SS'])
univs['solid'] = openmc.Universe(name='solid', cells=[all_ss])
# Reflector at (0, 2)
name = 'heavy reflector 0,2'
cell = openmc.Cell(name=name, fill=univs['heavy reflector 2,0'])
cell.rotation = (0, 180, -90)
univs[name] = openmc.Universe(name=name, cells=[cell])
# Reflector at (0, 3)
name = 'heavy reflector 0,3'
cell = openmc.Cell(name=name, fill=univs['heavy reflector 5,0'])
cell.rotation = (0, 0, -90)
univs[name] = openmc.Universe(name=name, cells=[cell])
# Reflector at (0, 4)
name = 'heavy reflector 0,4'
cell = openmc.Cell(name=name, fill=univs['heavy reflector 4,0'])
cell.rotation = (0, 0, -90)
univs[name] = openmc.Universe(name=name, cells=[cell])
# Reflector at (0, 5)
name = 'heavy reflector 0,5'
cell = openmc.Cell(name=name, fill=univs['heavy reflector 3,0'])
cell.rotation = (0, 0, -90)
univs[name] = openmc.Universe(name=name, cells=[cell])
# Reflector at (0, 6)
name = 'heavy reflector 0,6'
cell = openmc.Cell(name=name, fill=univs['heavy reflector 2,0'])
cell.rotation = (0, 0, -90)
univs[name] = openmc.Universe(name=name, cells=[cell])
# Reflector at (1, 7)
name = 'heavy reflector 1,7'
cell = openmc.Cell(name=name, fill=univs['heavy reflector 1,1'])
cell.rotation = (0, 0, -90)
univs[name] = openmc.Universe(name=name, cells=[cell])
# Reflector at (2, 8)
name = 'heavy reflector 2,8'
cell = openmc.Cell(name=name, fill=univs['heavy reflector 2,0'])
cell.rotation = (0, 180, 0)
univs[name] = openmc.Universe(name=name, cells=[cell])
# Reflector at (3, 8)
name = 'heavy reflector 3,8'
cell = openmc.Cell(name=name, fill=univs['heavy reflector 3,0'])
cell.rotation = (0, 180, 0)
univs[name] = openmc.Universe(name=name, cells=[cell])
# Reflector at (4, 8)
name = 'heavy reflector 4,8'
cell = openmc.Cell(name=name, fill=univs['heavy reflector 4,0'])
cell.rotation = (0, 180, 0)
univs[name] = openmc.Universe(name=name, cells=[cell])
# Reflector at (5, 8)
name = 'heavy reflector 5,8'
cell = openmc.Cell(name=name, fill=univs['heavy reflector 3,0'])
cell.rotation = (0, 0, 180)
univs[name] = openmc.Universe(name=name, cells=[cell])
# Reflector at (6, 0)
name = 'heavy reflector 6,0'
cell = openmc.Cell(name=name, fill=univs['heavy reflector 2,0'])
cell.rotation = (180, 0, 0)
univs[name] = openmc.Universe(name=name, cells=[cell])
# Reflector at (6, 8)
name = 'heavy reflector 6,8'
cell = openmc.Cell(name=name, fill=univs['heavy reflector 2,0'])
cell.rotation = (0, 0, 180)
univs[name] = openmc.Universe(name=name, cells=[cell])
# Reflector at (7, 1)
name = 'heavy reflector 7,1'
cell = openmc.Cell(name=name, fill=univs['heavy reflector 1,1'])
cell.rotation = (180, 0, 0)
univs[name] = openmc.Universe(name=name, cells=[cell])
# Reflector at (7, 7)
name = 'heavy reflector 7,7'
cell = openmc.Cell(name=name, fill=univs['heavy reflector 1,1'])
cell.rotation = (0, 0, 180)
univs[name] = openmc.Universe(name=name, cells=[cell])
# Reflector at (8, 2)
name = 'heavy reflector 8,2'
cell = openmc.Cell(name=name, fill=univs['heavy reflector 2,0'])
cell.rotation = (0, 0, 90)
univs[name] = openmc.Universe(name=name, cells=[cell])
# Reflector at (8, 3)
name = 'heavy reflector 8,3'
cell = openmc.Cell(name=name, fill=univs['heavy reflector 3,0'])
cell.rotation = (0, 0, 90)
univs[name] = openmc.Universe(name=name, cells=[cell])
# Reflector at (8, 4)
name = 'heavy reflector 8,4'
cell = openmc.Cell(name=name, fill=univs['heavy reflector 4,0'])
cell.rotation = (0, 0, 90)
univs[name] = openmc.Universe(name=name, cells=[cell])
# Reflector at (8, 5)
name = 'heavy reflector 8,5'
cell = openmc.Cell(name=name, fill=univs['heavy reflector 5,0'])
cell.rotation = (0, 0, 90)
univs[name] = openmc.Universe(name=name, cells=[cell])
# Reflector at (8, 6)
name = 'heavy reflector 8,6'
cell = openmc.Cell(name=name, fill=univs['heavy reflector 2,0'])
cell.rotation = (0, 0, 180)
univs[name] = openmc.Universe(name=name, cells=[cell])
# Solid stainless steel universe
all_ss = openmc.Cell(name='heavy reflector', fill=mats['SS'])
univs['heavy reflector'] = openmc.Universe(
name='heavy reflector', cells=[all_ss])
return univs

View file

@ -34,6 +34,7 @@ INCHES = 2.54
# fuel rod parameters
pellet_OR = 0.3195*INCHES/2 # ML17013A274, Table 4.1-2
pellet_length = 0.4*INCHES # ML17013A274, Table 4.1-2
clad_IR = 0.326*INCHES/2 # ML17013A274, Table 4.1-2
clad_OR = 0.374*INCHES/2 # ML17013A274, Table 4.1-2
active_fuel_length = 78.74*INCHES # ML17013A274, Figure 4.2-10