forked from crp/openmc-designs
955 lines
88 KiB
Text
955 lines
88 KiB
Text
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"# A BWR geometry \n",
|
|
"This notebook can be used as a template for modeling BWR reactors."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 1,
|
|
"metadata": {
|
|
"id": "EChOeJ7qVUB7"
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"%matplotlib inline\n",
|
|
"import openmc"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 2,
|
|
"metadata": {
|
|
"id": "-0xO897aWbft"
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"# Materials definitions\n",
|
|
"\n",
|
|
"uo2 = openmc.Material(name='UO2')\n",
|
|
"uo2.add_element('U', 1.0, enrichment=1.5)\n",
|
|
"uo2.add_element('O', 2.0)\n",
|
|
"uo2.set_density('g/cc', 10.0)\n",
|
|
"\n",
|
|
"zircaloy = openmc.Material(name='Zircaloy')\n",
|
|
"zircaloy.set_density('g/cm3', 6.55)\n",
|
|
"zircaloy.add_nuclide('Zr90', 7.2758e-3)\n",
|
|
"\n",
|
|
"steel = openmc.Material(name='Stainless Steel')\n",
|
|
"steel.set_density('g/cm3', 8.00)\n",
|
|
"steel.add_element('C', 0.08, percent_type='wo')\n",
|
|
"steel.add_element('Si', 1.00, percent_type='wo')\n",
|
|
"steel.add_element('Mn', 2.00, percent_type='wo')\n",
|
|
"steel.add_element('P', 0.045, percent_type='wo')\n",
|
|
"steel.add_element('S', 0.030, percent_type='wo')\n",
|
|
"steel.add_element('Cr', 20.0, percent_type='wo')\n",
|
|
"steel.add_element('Ni', 11.0, percent_type='wo')\n",
|
|
"steel.add_element('Fe', 65.845, percent_type='wo')\n",
|
|
"\n",
|
|
"water = openmc.Material(name='Water')\n",
|
|
"water.set_density('g/cm3', 0.76)\n",
|
|
"water.add_element('H', 2)\n",
|
|
"water.add_element('O', 1)\n",
|
|
"water.add_s_alpha_beta('c_H_in_H2O')\n",
|
|
"\n",
|
|
"# Instantiate a Materials collection and export to xml\n",
|
|
"materials_file = openmc.Materials([uo2, water, zircaloy, steel])\n",
|
|
"materials_file.export_to_xml()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 3,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# Geometry definitions"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 4,
|
|
"metadata": {
|
|
"id": "J90KA6zdol04"
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"bottom = openmc.ZPlane(z0=-1.0, boundary_type = 'reflective')\n",
|
|
"top = openmc.ZPlane(z0=1.0, boundary_type = 'reflective')"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 5,
|
|
"metadata": {
|
|
"id": "7UFi6yivaxDS"
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"pitch = 1.6256\n",
|
|
"pin_cell_box = openmc.model.RectangularPrism(width=pitch, height=pitch)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 6,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# Geometry definitions for the fuel rod\n",
|
|
"\n",
|
|
"fuel_or = openmc.ZCylinder(r=1.0414/2, name='Fuel OR')\n",
|
|
"fclad_ir = openmc.ZCylinder(r=1.06426/2, name='Clad IR')\n",
|
|
"fclad_or = openmc.ZCylinder(r=1.22682/2, name='Clad OR')\n",
|
|
"\n",
|
|
"fuel_region = -fuel_or\n",
|
|
"gap_region = +fuel_or & -fclad_ir\n",
|
|
"fclad_region = +fclad_ir & -fclad_or\n",
|
|
"fwater_region = pin_cell_box & +fclad_or\n",
|
|
"\n",
|
|
"fuel_cell = openmc.Cell(name='fuel')\n",
|
|
"fuel_cell.fill = uo2\n",
|
|
"fuel_cell.region = fuel_region\n",
|
|
"\n",
|
|
"gap_cell = openmc.Cell(name='air gap')\n",
|
|
"gap_cell.region = gap_region\n",
|
|
"\n",
|
|
"clad_cell = openmc.Cell(name='clad')\n",
|
|
"clad_cell.fill = zircaloy\n",
|
|
"clad_cell.region = fclad_region\n",
|
|
"\n",
|
|
"fwater_cell = openmc.Cell(name='fwater')\n",
|
|
"fwater_cell.fill = water\n",
|
|
"fwater_cell.region = fwater_region\n",
|
|
"\n",
|
|
"fuel_pin_universe = openmc.Universe(cells=[fuel_cell, gap_cell, clad_cell, fwater_cell])"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 7,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"<matplotlib.image.AxesImage at 0x7f94b0077250>"
|
|
]
|
|
},
|
|
"execution_count": 7,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
},
|
|
{
|
|
"data": {
|
|
"image/png": "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",
|
|
"text/plain": [
|
|
"<Figure size 258.065x259.74 with 1 Axes>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"fuel_pin_universe.plot(width=(2.5, 2.5), colors = {fuel_cell: 'orange', gap_cell: 'white', clad_cell: 'grey', fwater_cell: 'blue'})"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 8,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# Geometry definitions for the water rod\n",
|
|
"\n",
|
|
"water_or = openmc.ZCylinder(r=1.34874/2)\n",
|
|
"wclad_or = openmc.ZCylinder(r=1.50114/2)\n",
|
|
"\n",
|
|
"wwater_inner_region = -water_or\n",
|
|
"wclad_region = -wclad_or & +water_or\n",
|
|
"wwater_outer_region = pin_cell_box & +wclad_or\n",
|
|
"\n",
|
|
"wwater_inner_cell = openmc.Cell(name='wwater_inner')\n",
|
|
"wwater_inner_cell.region = wwater_inner_region\n",
|
|
"wwater_inner_cell.fill = water\n",
|
|
"\n",
|
|
"wclad_cell = openmc.Cell(name='wclad')\n",
|
|
"wclad_cell.fill = zircaloy\n",
|
|
"wclad_cell.region = wclad_region\n",
|
|
"\n",
|
|
"wwater_outer_cell = openmc.Cell(name='wwater_outer')\n",
|
|
"wwater_outer_cell.fill = water\n",
|
|
"wwater_outer_cell.region = wwater_outer_region\n",
|
|
"\n",
|
|
"water_pin_universe = openmc.Universe(cells=[wwater_inner_cell, wclad_cell, wwater_outer_cell])"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 9,
|
|
"metadata": {
|
|
"colab": {
|
|
"base_uri": "https://localhost:8080/",
|
|
"height": 282
|
|
},
|
|
"id": "FklxPQ-1xvNs",
|
|
"outputId": "9e4cb490-0ba5-4838-9f47-0442493b9f6d"
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"# Geometry definitions for the corner rod\n",
|
|
"\n",
|
|
"corner_fuel_or = openmc.ZCylinder(r=1.0414/2, name = 'Corner Cell: Fuel OR')\n",
|
|
"corner_clad_ir = openmc.ZCylinder(r=1.06426/2, name = 'Corner Cell: Clad IR')\n",
|
|
"corner_clad_or = openmc.ZCylinder(r=1.22682/2, name = 'Corner Cell: Clad OR')\n",
|
|
"\n",
|
|
"corner_fuel_cell = openmc.Cell(name='fuel')\n",
|
|
"corner_fuel_cell.fill = uo2\n",
|
|
"corner_fuel_cell.region = -corner_fuel_or\n",
|
|
"\n",
|
|
"corner_gap_cell = openmc.Cell(name='air gap')\n",
|
|
"corner_gap_cell.region = -corner_clad_ir & +corner_fuel_or\n",
|
|
"\n",
|
|
"corner_clad_cell = openmc.Cell(name='clad')\n",
|
|
"corner_clad_cell.fill = zircaloy\n",
|
|
"corner_clad_cell.region = +corner_clad_ir & -corner_clad_or"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 10,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# Defining an Assembly"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 11,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"margin = 1e-8\n",
|
|
"sleave_thickness = 0.2032\n",
|
|
"sleave_inner_radius = 0.9652 + margin"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 12,
|
|
"metadata": {
|
|
"colab": {
|
|
"base_uri": "https://localhost:8080/",
|
|
"height": 282
|
|
},
|
|
"id": "FklxPQ-1xvNs",
|
|
"outputId": "9e4cb490-0ba5-4838-9f47-0442493b9f6d"
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"ur_corner_fuel_or = openmc.ZCylinder(r=1.0414/2, name='ur Corner Cell: Fuel OR')\n",
|
|
"ur_corner_clad_ir = openmc.ZCylinder(r=1.06426/2, name='ur Corner Cell: Clad IR')\n",
|
|
"ur_corner_clad_or = openmc.ZCylinder(r=1.22682/2, name='ur Corner Cell: Clad OR')\n",
|
|
"\n",
|
|
"ur_corner_fuel_cell = openmc.Cell(name='ur fuel')\n",
|
|
"ur_corner_fuel_cell.fill = uo2\n",
|
|
"ur_corner_fuel_cell.region = -ur_corner_fuel_or\n",
|
|
"\n",
|
|
"ur_corner_gap_cell = openmc.Cell(name='ul air gap')\n",
|
|
"ur_corner_gap_cell.region = -ur_corner_clad_ir & +ur_corner_fuel_or\n",
|
|
"\n",
|
|
"ur_corner_clad_cell = openmc.Cell(name='ul clad')\n",
|
|
"ur_corner_clad_cell.fill = zircaloy\n",
|
|
"ur_corner_clad_cell.region = +ur_corner_clad_ir & -ur_corner_clad_or\n",
|
|
"\n",
|
|
"ur_sleave_ir = openmc.ZCylinder(x0=pitch/2-sleave_inner_radius-margin, y0=pitch/2-sleave_inner_radius+margin, r=sleave_inner_radius)\n",
|
|
"ur_sleave_or = openmc.ZCylinder(x0=pitch/2-sleave_inner_radius-margin, y0=pitch/2-sleave_inner_radius+margin, r=sleave_inner_radius+sleave_thickness)\n",
|
|
"\n",
|
|
"ur_sleave_hor_bound = openmc.XPlane(x0=pitch/2 - sleave_inner_radius - margin)\n",
|
|
"ur_sleave_ver_bound = openmc.YPlane(y0=pitch/2 - sleave_inner_radius + margin)\n",
|
|
"\n",
|
|
"ur_sleave_cell = openmc.Cell(name='ur sleave cell')\n",
|
|
"ur_sleave_cell.region = -ur_sleave_or & +ur_sleave_ir & +ur_sleave_hor_bound & +ur_sleave_ver_bound & pin_cell_box\n",
|
|
"ur_sleave_cell.fill = zircaloy\n",
|
|
"\n",
|
|
"ur_sleave_water_cell = openmc.Cell(name = 'ur sleave water')\n",
|
|
"ur_sleave_water_cell.region = pin_cell_box & +ur_sleave_hor_bound & +ur_sleave_ver_bound & +ur_sleave_or\n",
|
|
"ur_sleave_water_cell.fill = water\n",
|
|
"\n",
|
|
"ur_sleave_ver_water_cell = openmc.Cell(name='ur vertically-equivalent sleave water')\n",
|
|
"ur_sleave_ver_water_cell.region = pin_cell_box & -ur_sleave_hor_bound & +ur_sleave_ver_bound & +ur_sleave_ir\n",
|
|
"ur_sleave_ver_water_cell.fill = water\n",
|
|
"\n",
|
|
"ur_opposite_water_cell = openmc.Cell(name='ur opposite water')\n",
|
|
"ur_opposite_water_cell.region = pin_cell_box & -ur_sleave_hor_bound & -ur_sleave_ver_bound & +ur_sleave_ir\n",
|
|
"ur_opposite_water_cell.fill = water\n",
|
|
"\n",
|
|
"ur_sleave_hor_water_cell = openmc.Cell(name='ur horizontally-equivalent sleave water')\n",
|
|
"ur_sleave_hor_water_cell.region = pin_cell_box & +ur_sleave_hor_bound & -ur_sleave_ver_bound & +ur_sleave_ir\n",
|
|
"ur_sleave_hor_water_cell.fill = water\n",
|
|
"\n",
|
|
"ur_inner_water_cell = openmc.Cell(name='ur inner water cell')\n",
|
|
"ur_inner_water_cell.region = pin_cell_box & -ur_sleave_ir & +ur_corner_clad_or\n",
|
|
"ur_inner_water_cell.fill = water\n",
|
|
"\n",
|
|
"ur_corner_pin_universe = openmc.Universe(cells=[ur_corner_fuel_cell, ur_corner_gap_cell, ur_corner_clad_cell, ur_sleave_cell, ur_inner_water_cell, ur_sleave_water_cell, ur_sleave_ver_water_cell, ur_opposite_water_cell, ur_sleave_hor_water_cell])"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 13,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"<matplotlib.image.AxesImage at 0x7f94b8738650>"
|
|
]
|
|
},
|
|
"execution_count": 13,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
},
|
|
{
|
|
"data": {
|
|
"image/png": "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",
|
|
"text/plain": [
|
|
"<Figure size 258.065x259.74 with 1 Axes>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"ur_corner_pin_universe.plot(width=(2.5, 2.5), basis = 'xy', colors = {ur_corner_fuel_cell: 'orange', ur_corner_gap_cell: 'white', ur_corner_clad_cell: 'grey', ur_sleave_cell:'brown', ur_inner_water_cell: 'blue', ur_sleave_water_cell: 'blue', ur_sleave_ver_water_cell: 'blue', ur_opposite_water_cell: 'blue', ur_sleave_hor_water_cell: 'blue'})"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 14,
|
|
"metadata": {
|
|
"scrolled": true
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"ul_corner_fuel_or = openmc.ZCylinder(r=(1.0414/2), name='ul Corner Cell: Fuel OR')\n",
|
|
"ul_corner_clad_ir = openmc.ZCylinder(r=(1.06426/2), name='ul Corner Cell: Clad IR')\n",
|
|
"ul_corner_clad_or = openmc.ZCylinder(r=(1.22682/2), name='ul Corner Cell: Clad OR')\n",
|
|
"\n",
|
|
"ul_corner_fuel_cell = openmc.Cell(name='ul fuel')\n",
|
|
"ul_corner_fuel_cell.fill = uo2\n",
|
|
"ul_corner_fuel_cell.region = -ul_corner_fuel_or\n",
|
|
"\n",
|
|
"ul_corner_gap_cell = openmc.Cell(name='ul air gap')\n",
|
|
"ul_corner_gap_cell.region = -ul_corner_clad_ir & +ul_corner_fuel_or\n",
|
|
"\n",
|
|
"ul_corner_clad_cell = openmc.Cell(name='ul clad')\n",
|
|
"ul_corner_clad_cell.fill = zircaloy\n",
|
|
"ul_corner_clad_cell.region = +ul_corner_clad_ir & -ul_corner_clad_or\n",
|
|
"\n",
|
|
"ul_sleave_ir = openmc.ZCylinder(x0=-pitch/2+sleave_inner_radius+margin, y0=pitch/2-sleave_inner_radius+margin, r=sleave_inner_radius) #Shouldn't have margin\n",
|
|
"ul_sleave_or = openmc.ZCylinder(x0=-pitch/2+sleave_inner_radius+margin, y0=pitch/2-sleave_inner_radius+margin, r=sleave_inner_radius + sleave_thickness)\n",
|
|
"\n",
|
|
"ul_sleave_hor_bound = openmc.XPlane(x0=-pitch/2+sleave_inner_radius+margin)\n",
|
|
"ul_sleave_ver_bound = openmc.YPlane(y0=pitch/2-sleave_inner_radius+margin)\n",
|
|
"\n",
|
|
"ul_sleave_cell = openmc.Cell(name='ul sleave cell')\n",
|
|
"ul_sleave_cell.region = -ul_sleave_or & +ul_sleave_ir & -ul_sleave_hor_bound & +ul_sleave_ver_bound & pin_cell_box\n",
|
|
"ul_sleave_cell.fill = zircaloy\n",
|
|
"\n",
|
|
"ul_sleave_water_cell = openmc.Cell(name='ul sleave water')\n",
|
|
"ul_sleave_water_cell.region = pin_cell_box & -ul_sleave_hor_bound & +ul_sleave_ver_bound & +ul_sleave_or\n",
|
|
"ul_sleave_water_cell.fill = water\n",
|
|
"\n",
|
|
"ul_sleave_ver_water_cell = openmc.Cell(name='ul vertically-equivalent sleave water')\n",
|
|
"ul_sleave_ver_water_cell.region = pin_cell_box & +ul_sleave_hor_bound & +ul_sleave_ver_bound & +ul_sleave_ir\n",
|
|
"ul_sleave_ver_water_cell.fill = water\n",
|
|
"\n",
|
|
"ul_opposite_water_cell = openmc.Cell(name='ul opposite water')\n",
|
|
"ul_opposite_water_cell.region = pin_cell_box & +ul_sleave_hor_bound & -ul_sleave_ver_bound & +ul_sleave_ir\n",
|
|
"ul_opposite_water_cell.fill = water\n",
|
|
"\n",
|
|
"ul_sleave_hor_water_cell = openmc.Cell(name='ul horizontally-equivalent sleave water')\n",
|
|
"ul_sleave_hor_water_cell.region = pin_cell_box & -ul_sleave_hor_bound & -ul_sleave_ver_bound & +ul_sleave_ir\n",
|
|
"ul_sleave_hor_water_cell.fill = water\n",
|
|
"\n",
|
|
"ul_inner_water_cell = openmc.Cell(name='ul inner water cell')\n",
|
|
"ul_inner_water_cell.region = pin_cell_box & -ul_sleave_ir & +ul_corner_clad_or\n",
|
|
"ul_inner_water_cell.fill = water\n",
|
|
"\n",
|
|
"ul_corner_pin_universe = openmc.Universe(cells=[ul_corner_fuel_cell, ul_corner_gap_cell, ul_corner_clad_cell, ul_sleave_cell, ul_inner_water_cell, ul_sleave_water_cell, ul_sleave_ver_water_cell, ul_opposite_water_cell, ul_sleave_hor_water_cell])"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 15,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"<matplotlib.image.AxesImage at 0x7f94aff2be90>"
|
|
]
|
|
},
|
|
"execution_count": 15,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
},
|
|
{
|
|
"data": {
|
|
"image/png": "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",
|
|
"text/plain": [
|
|
"<Figure size 258.065x259.74 with 1 Axes>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"ul_corner_pin_universe.plot(width=(2.5, 2.5), basis = 'xy', colors = {ul_corner_fuel_cell: 'orange', ul_corner_gap_cell: 'white', ul_corner_clad_cell: 'grey', ul_sleave_cell:'brown', ul_inner_water_cell: 'blue', ul_sleave_water_cell: 'blue', ul_sleave_ver_water_cell: 'blue', ul_opposite_water_cell: 'blue', ul_sleave_hor_water_cell: 'blue'})"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 16,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"ll_corner_fuel_or = openmc.ZCylinder(r=1.0414/2, name='ll Corner Cell: Fuel OR')\n",
|
|
"ll_corner_clad_ir = openmc.ZCylinder(r=1.06426/2, name='ll Corner Cell: Clad IR')\n",
|
|
"ll_corner_clad_or = openmc.ZCylinder(r=1.22682/2, name='ll Corner Cell: Clad OR')\n",
|
|
"\n",
|
|
"ll_corner_fuel_cell = openmc.Cell(name='ll fuel')\n",
|
|
"ll_corner_fuel_cell.fill = uo2\n",
|
|
"ll_corner_fuel_cell.region = -ll_corner_fuel_or\n",
|
|
"\n",
|
|
"ll_corner_gap_cell = openmc.Cell(name='ll air gap')\n",
|
|
"ll_corner_gap_cell.region = -ll_corner_clad_ir & +ll_corner_fuel_or\n",
|
|
"\n",
|
|
"ll_corner_clad_cell = openmc.Cell(name='ll clad')\n",
|
|
"ll_corner_clad_cell.fill = zircaloy\n",
|
|
"ll_corner_clad_cell.region = +ll_corner_clad_ir & -ll_corner_clad_or\n",
|
|
"\n",
|
|
"ll_sleave_ir = openmc.ZCylinder(x0=-pitch/2+sleave_inner_radius+margin, y0=-pitch/2+sleave_inner_radius-margin, r=sleave_inner_radius)\n",
|
|
"ll_sleave_or = openmc.ZCylinder(x0=-pitch/2+sleave_inner_radius+margin, y0=-pitch/2+sleave_inner_radius-margin, r=sleave_inner_radius+sleave_thickness)\n",
|
|
"\n",
|
|
"ll_sleave_hor_bound = openmc.XPlane(x0=-pitch/2+sleave_inner_radius+margin)\n",
|
|
"ll_sleave_ver_bound = openmc.YPlane(y0=-pitch/2+sleave_inner_radius-margin)\n",
|
|
"\n",
|
|
"ll_sleave_cell = openmc.Cell(name='ul sleave cell')\n",
|
|
"ll_sleave_cell.region = -ll_sleave_or & +ll_sleave_ir & -ll_sleave_hor_bound & -ll_sleave_ver_bound & pin_cell_box\n",
|
|
"ll_sleave_cell.fill = zircaloy\n",
|
|
"\n",
|
|
"ll_sleave_water_cell = openmc.Cell(name='ul sleave water')\n",
|
|
"ll_sleave_water_cell.region = pin_cell_box & -ll_sleave_hor_bound & -ll_sleave_ver_bound & +ll_sleave_or\n",
|
|
"ll_sleave_water_cell.fill = water\n",
|
|
"\n",
|
|
"ll_sleave_ver_water_cell = openmc.Cell(name='ul vertically-equivalent sleave water')\n",
|
|
"ll_sleave_ver_water_cell.region = pin_cell_box & +ll_sleave_hor_bound & -ll_sleave_ver_bound & +ll_sleave_ir\n",
|
|
"ll_sleave_ver_water_cell.fill = water\n",
|
|
"\n",
|
|
"ll_opposite_water_cell = openmc.Cell(name='ul opposite water')\n",
|
|
"ll_opposite_water_cell.region = pin_cell_box & +ll_sleave_hor_bound & +ll_sleave_ver_bound & +ll_sleave_ir\n",
|
|
"ll_opposite_water_cell.fill = water\n",
|
|
"\n",
|
|
"ll_sleave_hor_water_cell = openmc.Cell(name='ul horizontally-equivalent sleave water')\n",
|
|
"ll_sleave_hor_water_cell.region = pin_cell_box & -ll_sleave_hor_bound & +ll_sleave_ver_bound & +ll_sleave_ir\n",
|
|
"ll_sleave_hor_water_cell.fill = water\n",
|
|
"\n",
|
|
"ll_inner_water_cell = openmc.Cell(name='ul inner water cell')\n",
|
|
"ll_inner_water_cell.region = pin_cell_box & -ll_sleave_ir & +ll_corner_clad_or\n",
|
|
"ll_inner_water_cell.fill = water\n",
|
|
"\n",
|
|
"ll_corner_pin_universe = openmc.Universe(cells=[ll_corner_fuel_cell, ll_corner_gap_cell, ll_corner_clad_cell, ll_sleave_cell, ll_inner_water_cell, ll_sleave_water_cell, ll_sleave_ver_water_cell, ll_opposite_water_cell, ll_sleave_hor_water_cell])"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 17,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"<matplotlib.image.AxesImage at 0x7f94b00e16d0>"
|
|
]
|
|
},
|
|
"execution_count": 17,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
},
|
|
{
|
|
"data": {
|
|
"image/png": "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",
|
|
"text/plain": [
|
|
"<Figure size 258.065x259.74 with 1 Axes>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"ll_corner_pin_universe.plot(width=(2.5, 2.5), basis = 'xy', colors = {ll_corner_fuel_cell: 'orange', ll_corner_gap_cell: 'white', ll_corner_clad_cell: 'grey', ll_sleave_cell:'brown', ll_inner_water_cell: 'blue', ll_sleave_water_cell: 'blue', ll_sleave_ver_water_cell: 'blue', ll_opposite_water_cell: 'blue', ll_sleave_hor_water_cell: 'blue'})"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 18,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"lr_corner_fuel_or = openmc.ZCylinder(r=1.0414/2, name='lr Corner Cell: Fuel OR')\n",
|
|
"lr_corner_clad_ir = openmc.ZCylinder(r=1.06426/2, name='lr Corner Cell: Clad IR')\n",
|
|
"lr_corner_clad_or = openmc.ZCylinder(r=1.22682/2, name='lr Corner Cell: Clad OR')\n",
|
|
"\n",
|
|
"lr_corner_fuel_cell = openmc.Cell(name='lr fuel')\n",
|
|
"lr_corner_fuel_cell.fill = uo2\n",
|
|
"lr_corner_fuel_cell.region = -lr_corner_fuel_or\n",
|
|
"\n",
|
|
"lr_corner_gap_cell = openmc.Cell(name='lr air gap')\n",
|
|
"lr_corner_gap_cell.region = -lr_corner_clad_ir & +lr_corner_fuel_or\n",
|
|
"\n",
|
|
"lr_corner_clad_cell = openmc.Cell(name='lr clad')\n",
|
|
"lr_corner_clad_cell.fill = zircaloy\n",
|
|
"lr_corner_clad_cell.region = +lr_corner_clad_ir & -lr_corner_clad_or\n",
|
|
"\n",
|
|
"lr_sleave_ir = openmc.ZCylinder(x0=pitch/2-sleave_inner_radius-margin, y0=-pitch/2+sleave_inner_radius-margin, r=sleave_inner_radius)\n",
|
|
"lr_sleave_or = openmc.ZCylinder(x0=pitch/2-sleave_inner_radius-margin, y0=-pitch/2+sleave_inner_radius-margin, r=sleave_inner_radius+sleave_thickness)\n",
|
|
"\n",
|
|
"lr_sleave_hor_bound = openmc.XPlane(x0=pitch/2 - sleave_inner_radius - margin)\n",
|
|
"lr_sleave_ver_bound = openmc.YPlane(y0=-pitch/2 + sleave_inner_radius - margin)\n",
|
|
"\n",
|
|
"lr_sleave_cell = openmc.Cell(name='ur sleave cell')\n",
|
|
"lr_sleave_cell.region = -lr_sleave_or & +lr_sleave_ir & +lr_sleave_hor_bound & -lr_sleave_ver_bound & pin_cell_box\n",
|
|
"lr_sleave_cell.fill = zircaloy\n",
|
|
"\n",
|
|
"lr_sleave_water_cell = openmc.Cell(name='ur sleave water')\n",
|
|
"lr_sleave_water_cell.region = pin_cell_box & +lr_sleave_hor_bound & -lr_sleave_ver_bound & +lr_sleave_or\n",
|
|
"lr_sleave_water_cell.fill = water\n",
|
|
"\n",
|
|
"lr_sleave_ver_water_cell = openmc.Cell(name='ur vertically-equivalent sleave water')\n",
|
|
"lr_sleave_ver_water_cell.region = pin_cell_box & -lr_sleave_hor_bound & -lr_sleave_ver_bound & +lr_sleave_ir\n",
|
|
"lr_sleave_ver_water_cell.fill = water\n",
|
|
"\n",
|
|
"lr_opposite_water_cell = openmc.Cell(name='ur opposite water')\n",
|
|
"lr_opposite_water_cell.region = pin_cell_box & -lr_sleave_hor_bound & +lr_sleave_ver_bound & +lr_sleave_ir\n",
|
|
"lr_opposite_water_cell.fill = water\n",
|
|
"\n",
|
|
"lr_sleave_hor_water_cell = openmc.Cell(name='ur horizontally-equivalent sleave water')\n",
|
|
"lr_sleave_hor_water_cell.region = pin_cell_box & +lr_sleave_hor_bound & +lr_sleave_ver_bound & +lr_sleave_ir\n",
|
|
"lr_sleave_hor_water_cell.fill = water\n",
|
|
"\n",
|
|
"lr_inner_water_cell = openmc.Cell(name='ur inner water cell')\n",
|
|
"lr_inner_water_cell.region = pin_cell_box & -lr_sleave_ir & +lr_corner_clad_or\n",
|
|
"lr_inner_water_cell.fill = water\n",
|
|
"\n",
|
|
"lr_corner_pin_universe = openmc.Universe(cells=[lr_corner_fuel_cell, lr_corner_gap_cell, lr_corner_clad_cell, lr_sleave_cell, lr_inner_water_cell, lr_sleave_water_cell, lr_sleave_ver_water_cell, lr_opposite_water_cell, lr_sleave_hor_water_cell])"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 19,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"<matplotlib.image.AxesImage at 0x7f94affee650>"
|
|
]
|
|
},
|
|
"execution_count": 19,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
},
|
|
{
|
|
"data": {
|
|
"image/png": "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",
|
|
"text/plain": [
|
|
"<Figure size 258.065x259.74 with 1 Axes>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"lr_corner_pin_universe.plot(width=(2.5, 2.5), basis = 'xy', colors = {lr_corner_fuel_cell: 'orange', lr_corner_gap_cell: 'white', lr_corner_clad_cell: 'grey', lr_sleave_cell:'brown', lr_inner_water_cell: 'blue', lr_sleave_water_cell: 'blue', lr_sleave_ver_water_cell: 'blue', lr_opposite_water_cell: 'blue', lr_sleave_hor_water_cell: 'blue'})"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 20,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"quarter_pitch = pitch * 8\n",
|
|
"\n",
|
|
"assembly = openmc.RectLattice(name='Quarter Assembly')\n",
|
|
"assembly.pitch = (pitch, pitch)\n",
|
|
"assembly.lower_left = [-quarter_pitch/2, -quarter_pitch/2]\n",
|
|
"\n",
|
|
"assembly.universes = [\n",
|
|
" [ul_corner_pin_universe, fuel_pin_universe, fuel_pin_universe, fuel_pin_universe, fuel_pin_universe, fuel_pin_universe, fuel_pin_universe, ur_corner_pin_universe],\n",
|
|
" [fuel_pin_universe, fuel_pin_universe, fuel_pin_universe, fuel_pin_universe, fuel_pin_universe, fuel_pin_universe, fuel_pin_universe, fuel_pin_universe],\n",
|
|
" [fuel_pin_universe, fuel_pin_universe, fuel_pin_universe, fuel_pin_universe, fuel_pin_universe, fuel_pin_universe, fuel_pin_universe, fuel_pin_universe],\n",
|
|
" [fuel_pin_universe, fuel_pin_universe, fuel_pin_universe, water_pin_universe, fuel_pin_universe, fuel_pin_universe, fuel_pin_universe, fuel_pin_universe],\n",
|
|
" [fuel_pin_universe, fuel_pin_universe, fuel_pin_universe, fuel_pin_universe, water_pin_universe, fuel_pin_universe, fuel_pin_universe, fuel_pin_universe],\n",
|
|
" [fuel_pin_universe, fuel_pin_universe, fuel_pin_universe, fuel_pin_universe, fuel_pin_universe, fuel_pin_universe, fuel_pin_universe, fuel_pin_universe],\n",
|
|
" [fuel_pin_universe, fuel_pin_universe, fuel_pin_universe, fuel_pin_universe, fuel_pin_universe, fuel_pin_universe, fuel_pin_universe, fuel_pin_universe],\n",
|
|
" [ll_corner_pin_universe, fuel_pin_universe, fuel_pin_universe, fuel_pin_universe, fuel_pin_universe, fuel_pin_universe, fuel_pin_universe, lr_corner_pin_universe]\n",
|
|
"]\n",
|
|
"\n",
|
|
"assembly_region = openmc.model.RectangularPrism(width=quarter_pitch, height=quarter_pitch, origin=(0,0))\n",
|
|
"assembly_cell = openmc.Cell(name='quarter assembly cell', fill=assembly, region=assembly_region)\n",
|
|
"\n",
|
|
"assembly_sleave = openmc.Cell(name='quarter assembly sleave')\n",
|
|
"assembly_sleave.region = openmc.model.RectangularPrism(width=quarter_pitch+2*sleave_thickness, height=quarter_pitch+2*sleave_thickness, corner_radius=sleave_inner_radius+sleave_thickness) & ~assembly_cell.region\n",
|
|
"assembly_sleave.fill = zircaloy\n",
|
|
"\n",
|
|
"assembly_outer_water = openmc.Cell(name='assembly outer water')\n",
|
|
"assembly_outer_water.region = ~assembly_sleave.region & ~assembly_cell.region & openmc.model.RectangularPrism(width=quarter_pitch+2*sleave_thickness+1, height=quarter_pitch+2*sleave_thickness+1, boundary_type='reflective')\n",
|
|
"assembly_outer_water.fill = water\n",
|
|
"\n",
|
|
"quarter_assembly_universe = openmc.Universe(cells=[assembly_cell, assembly_sleave, assembly_outer_water])"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 21,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"<matplotlib.image.AxesImage at 0x7f94afffffd0>"
|
|
]
|
|
},
|
|
"execution_count": 21,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
},
|
|
{
|
|
"data": {
|
|
"image/png": "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",
|
|
"text/plain": [
|
|
"<Figure size 258.065x259.74 with 1 Axes>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"quarter_assembly_universe.plot(width=(15,15), colors={assembly_outer_water: 'blue'})"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 22,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"geom = openmc.Geometry(quarter_assembly_universe)\n",
|
|
"geom.export_to_xml()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 23,
|
|
"metadata": {
|
|
"colab": {
|
|
"base_uri": "https://localhost:8080/"
|
|
},
|
|
"id": "JPOk4874OR3w",
|
|
"outputId": "b15d56c2-f9a1-42c4-b06f-3e779a1953ec"
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"# OpenMC simulation parameters\n",
|
|
"\n",
|
|
"point = openmc.stats.Point((0, 0, 0))\n",
|
|
"src = openmc.IndependentSource(space=point)\n",
|
|
"settings = openmc.Settings()\n",
|
|
"settings.source = src\n",
|
|
"settings.batches = 100\n",
|
|
"settings.inactive = 10\n",
|
|
"settings.particles = 1000\n",
|
|
"settings.export_to_xml()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 24,
|
|
"metadata": {
|
|
"colab": {
|
|
"base_uri": "https://localhost:8080/"
|
|
},
|
|
"id": "lkX_1LrAzw71",
|
|
"outputId": "6331f2a0-42fc-4919-91d3-7bca6b5d735f"
|
|
},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
" %%%%%%%%%%%%%%%\n",
|
|
" %%%%%%%%%%%%%%%%%%%%%%%%\n",
|
|
" %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",
|
|
" %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",
|
|
" %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",
|
|
" %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",
|
|
" %%%%%%%%%%%%%%%%%%%%%%%%\n",
|
|
" %%%%%%%%%%%%%%%%%%%%%%%%\n",
|
|
" ############### %%%%%%%%%%%%%%%%%%%%%%%%\n",
|
|
" ################## %%%%%%%%%%%%%%%%%%%%%%%\n",
|
|
" ################### %%%%%%%%%%%%%%%%%%%%%%%\n",
|
|
" #################### %%%%%%%%%%%%%%%%%%%%%%\n",
|
|
" ##################### %%%%%%%%%%%%%%%%%%%%%\n",
|
|
" ###################### %%%%%%%%%%%%%%%%%%%%\n",
|
|
" ####################### %%%%%%%%%%%%%%%%%%\n",
|
|
" ####################### %%%%%%%%%%%%%%%%%\n",
|
|
" ###################### %%%%%%%%%%%%%%%%%\n",
|
|
" #################### %%%%%%%%%%%%%%%%%\n",
|
|
" ################# %%%%%%%%%%%%%%%%%\n",
|
|
" ############### %%%%%%%%%%%%%%%%\n",
|
|
" ############ %%%%%%%%%%%%%%%\n",
|
|
" ######## %%%%%%%%%%%%%%\n",
|
|
" %%%%%%%%%%%\n",
|
|
"\n",
|
|
" | The OpenMC Monte Carlo Code\n",
|
|
" Copyright | 2011-2023 MIT, UChicago Argonne LLC, and contributors\n",
|
|
" License | https://docs.openmc.org/en/latest/license.html\n",
|
|
" Version | 0.13.3\n",
|
|
" Git SHA1 | 50e39a4e20dc9e0f3d7ccf07333f6a5e6c797c8c\n",
|
|
" Date/Time | 2023-11-06 17:17:14\n",
|
|
" OpenMP Threads | 4\n",
|
|
"\n",
|
|
" Reading settings XML file...\n",
|
|
" Reading cross sections XML file...\n",
|
|
" Reading materials XML file...\n",
|
|
" Reading geometry XML file...\n",
|
|
" Reading U234 from /opt/xdata/endfb-vii.1-hdf5/neutron/U234.h5\n",
|
|
" Reading U235 from /opt/xdata/endfb-vii.1-hdf5/neutron/U235.h5\n",
|
|
" Reading U238 from /opt/xdata/endfb-vii.1-hdf5/neutron/U238.h5\n",
|
|
" Reading U236 from /opt/xdata/endfb-vii.1-hdf5/neutron/U236.h5\n",
|
|
" Reading O16 from /opt/xdata/endfb-vii.1-hdf5/neutron/O16.h5\n",
|
|
" Reading O17 from /opt/xdata/endfb-vii.1-hdf5/neutron/O17.h5\n",
|
|
" Reading Zr90 from /opt/xdata/endfb-vii.1-hdf5/neutron/Zr90.h5\n",
|
|
" Reading C0 from /opt/xdata/endfb-vii.1-hdf5/neutron/C0.h5\n",
|
|
" Reading Si28 from /opt/xdata/endfb-vii.1-hdf5/neutron/Si28.h5\n",
|
|
" Reading Si29 from /opt/xdata/endfb-vii.1-hdf5/neutron/Si29.h5\n",
|
|
" Reading Si30 from /opt/xdata/endfb-vii.1-hdf5/neutron/Si30.h5\n",
|
|
" Reading Mn55 from /opt/xdata/endfb-vii.1-hdf5/neutron/Mn55.h5\n",
|
|
" Reading P31 from /opt/xdata/endfb-vii.1-hdf5/neutron/P31.h5\n",
|
|
" Reading S32 from /opt/xdata/endfb-vii.1-hdf5/neutron/S32.h5\n",
|
|
" Reading S33 from /opt/xdata/endfb-vii.1-hdf5/neutron/S33.h5\n",
|
|
" Reading S34 from /opt/xdata/endfb-vii.1-hdf5/neutron/S34.h5\n",
|
|
" Reading S36 from /opt/xdata/endfb-vii.1-hdf5/neutron/S36.h5\n",
|
|
" Reading Cr50 from /opt/xdata/endfb-vii.1-hdf5/neutron/Cr50.h5\n",
|
|
" Reading Cr52 from /opt/xdata/endfb-vii.1-hdf5/neutron/Cr52.h5\n",
|
|
" Reading Cr53 from /opt/xdata/endfb-vii.1-hdf5/neutron/Cr53.h5\n",
|
|
" Reading Cr54 from /opt/xdata/endfb-vii.1-hdf5/neutron/Cr54.h5\n",
|
|
" Reading Ni58 from /opt/xdata/endfb-vii.1-hdf5/neutron/Ni58.h5\n",
|
|
" Reading Ni60 from /opt/xdata/endfb-vii.1-hdf5/neutron/Ni60.h5\n",
|
|
" Reading Ni61 from /opt/xdata/endfb-vii.1-hdf5/neutron/Ni61.h5\n",
|
|
" Reading Ni62 from /opt/xdata/endfb-vii.1-hdf5/neutron/Ni62.h5\n",
|
|
" Reading Ni64 from /opt/xdata/endfb-vii.1-hdf5/neutron/Ni64.h5\n",
|
|
" Reading Fe54 from /opt/xdata/endfb-vii.1-hdf5/neutron/Fe54.h5\n",
|
|
" Reading Fe56 from /opt/xdata/endfb-vii.1-hdf5/neutron/Fe56.h5\n",
|
|
" Reading Fe57 from /opt/xdata/endfb-vii.1-hdf5/neutron/Fe57.h5\n",
|
|
" Reading Fe58 from /opt/xdata/endfb-vii.1-hdf5/neutron/Fe58.h5\n",
|
|
" Reading H1 from /opt/xdata/endfb-vii.1-hdf5/neutron/H1.h5\n",
|
|
" Reading H2 from /opt/xdata/endfb-vii.1-hdf5/neutron/H2.h5\n",
|
|
" Reading c_H_in_H2O from /opt/xdata/endfb-vii.1-hdf5/neutron/c_H_in_H2O.h5\n",
|
|
" Minimum neutron data temperature: 250 K\n",
|
|
" Maximum neutron data temperature: 2500 K\n",
|
|
" Preparing distributed cell instances...\n",
|
|
" Reading plot XML file...\n",
|
|
" Writing summary.h5 file...\n",
|
|
" Maximum neutron transport energy: 20000000 eV for U235\n",
|
|
" Initializing source particles...\n",
|
|
"\n",
|
|
" ====================> K EIGENVALUE SIMULATION <====================\n",
|
|
"\n",
|
|
" Bat./Gen. k Average k\n",
|
|
" ========= ======== ====================\n",
|
|
" 1/1 1.18695\n",
|
|
" 2/1 1.18586\n",
|
|
" 3/1 1.18066\n",
|
|
" 4/1 1.23704\n",
|
|
" 5/1 1.34124\n",
|
|
" 6/1 1.20816\n",
|
|
" 7/1 1.13376\n",
|
|
" 8/1 1.23014\n",
|
|
" 9/1 1.21221\n",
|
|
" 10/1 1.23195\n",
|
|
" 11/1 1.24414\n",
|
|
" 12/1 1.26430 1.25422 +/- 0.01008\n",
|
|
" 13/1 1.22695 1.24513 +/- 0.01079\n",
|
|
" 14/1 1.18946 1.23122 +/- 0.01587\n",
|
|
" 15/1 1.16584 1.21814 +/- 0.01795\n",
|
|
" 16/1 1.23050 1.22020 +/- 0.01480\n",
|
|
" 17/1 1.23301 1.22203 +/- 0.01264\n",
|
|
" 18/1 1.21507 1.22116 +/- 0.01098\n",
|
|
" 19/1 1.23984 1.22324 +/- 0.00990\n",
|
|
" 20/1 1.20697 1.22161 +/- 0.00901\n",
|
|
" 21/1 1.16825 1.21676 +/- 0.00948\n",
|
|
" 22/1 1.18190 1.21385 +/- 0.00913\n",
|
|
" 23/1 1.19190 1.21216 +/- 0.00857\n",
|
|
" 24/1 1.18259 1.21005 +/- 0.00821\n",
|
|
" 25/1 1.17806 1.20792 +/- 0.00793\n",
|
|
" 26/1 1.19388 1.20704 +/- 0.00747\n",
|
|
" 27/1 1.32180 1.21379 +/- 0.00974\n",
|
|
" 28/1 1.20340 1.21322 +/- 0.00920\n",
|
|
" 29/1 1.16900 1.21089 +/- 0.00901\n",
|
|
" 30/1 1.13895 1.20729 +/- 0.00927\n",
|
|
" 31/1 1.28009 1.21076 +/- 0.00948\n",
|
|
" 32/1 1.18101 1.20941 +/- 0.00914\n",
|
|
" 33/1 1.20429 1.20918 +/- 0.00873\n",
|
|
" 34/1 1.21962 1.20962 +/- 0.00837\n",
|
|
" 35/1 1.15463 1.20742 +/- 0.00833\n",
|
|
" 36/1 1.24914 1.20902 +/- 0.00816\n",
|
|
" 37/1 1.15683 1.20709 +/- 0.00808\n",
|
|
" 38/1 1.30567 1.21061 +/- 0.00855\n",
|
|
" 39/1 1.14090 1.20821 +/- 0.00859\n",
|
|
" 40/1 1.16673 1.20682 +/- 0.00842\n",
|
|
" 41/1 1.23274 1.20766 +/- 0.00818\n",
|
|
" 42/1 1.26725 1.20952 +/- 0.00814\n",
|
|
" 43/1 1.23986 1.21044 +/- 0.00794\n",
|
|
" 44/1 1.23982 1.21131 +/- 0.00775\n",
|
|
" 45/1 1.13098 1.20901 +/- 0.00787\n",
|
|
" 46/1 1.16702 1.20784 +/- 0.00774\n",
|
|
" 47/1 1.18802 1.20731 +/- 0.00754\n",
|
|
" 48/1 1.22467 1.20777 +/- 0.00736\n",
|
|
" 49/1 1.26050 1.20912 +/- 0.00729\n",
|
|
" 50/1 1.17882 1.20836 +/- 0.00715\n",
|
|
" 51/1 1.21542 1.20853 +/- 0.00697\n",
|
|
" 52/1 1.12269 1.20649 +/- 0.00711\n",
|
|
" 53/1 1.28169 1.20824 +/- 0.00716\n",
|
|
" 54/1 1.25741 1.20936 +/- 0.00708\n",
|
|
" 55/1 1.18334 1.20878 +/- 0.00694\n",
|
|
" 56/1 1.18327 1.20822 +/- 0.00681\n",
|
|
" 57/1 1.24340 1.20897 +/- 0.00671\n",
|
|
" 58/1 1.19818 1.20875 +/- 0.00657\n",
|
|
" 59/1 1.24698 1.20953 +/- 0.00648\n",
|
|
" 60/1 1.24759 1.21029 +/- 0.00640\n",
|
|
" 61/1 1.18303 1.20975 +/- 0.00629\n",
|
|
" 62/1 1.22328 1.21001 +/- 0.00618\n",
|
|
" 63/1 1.24701 1.21071 +/- 0.00610\n",
|
|
" 64/1 1.11837 1.20900 +/- 0.00623\n",
|
|
" 65/1 1.19725 1.20879 +/- 0.00611\n",
|
|
" 66/1 1.22784 1.20913 +/- 0.00601\n",
|
|
" 67/1 1.19362 1.20886 +/- 0.00591\n",
|
|
" 68/1 1.21721 1.20900 +/- 0.00581\n",
|
|
" 69/1 1.15824 1.20814 +/- 0.00578\n",
|
|
" 70/1 1.14602 1.20710 +/- 0.00577\n",
|
|
" 71/1 1.14405 1.20607 +/- 0.00577\n",
|
|
" 72/1 1.18892 1.20579 +/- 0.00569\n",
|
|
" 73/1 1.22762 1.20614 +/- 0.00561\n",
|
|
" 74/1 1.17562 1.20566 +/- 0.00554\n",
|
|
" 75/1 1.18612 1.20536 +/- 0.00546\n",
|
|
" 76/1 1.24534 1.20597 +/- 0.00541\n",
|
|
" 77/1 1.20016 1.20588 +/- 0.00533\n",
|
|
" 78/1 1.20002 1.20580 +/- 0.00525\n",
|
|
" 79/1 1.18411 1.20548 +/- 0.00518\n",
|
|
" 80/1 1.12877 1.20439 +/- 0.00523\n",
|
|
" 81/1 1.24220 1.20492 +/- 0.00518\n",
|
|
" 82/1 1.15698 1.20425 +/- 0.00515\n",
|
|
" 83/1 1.18614 1.20400 +/- 0.00509\n",
|
|
" 84/1 1.21038 1.20409 +/- 0.00502\n",
|
|
" 85/1 1.24440 1.20463 +/- 0.00498\n",
|
|
" 86/1 1.20403 1.20462 +/- 0.00491\n",
|
|
" 87/1 1.21992 1.20482 +/- 0.00485\n",
|
|
" 88/1 1.12710 1.20382 +/- 0.00489\n",
|
|
" 89/1 1.17221 1.20342 +/- 0.00485\n",
|
|
" 90/1 1.22071 1.20364 +/- 0.00479\n",
|
|
" 91/1 1.18175 1.20337 +/- 0.00474\n",
|
|
" 92/1 1.26316 1.20410 +/- 0.00474\n",
|
|
" 93/1 1.27595 1.20496 +/- 0.00476\n",
|
|
" 94/1 1.16567 1.20449 +/- 0.00473\n",
|
|
" 95/1 1.23074 1.20480 +/- 0.00468\n",
|
|
" 96/1 1.25140 1.20535 +/- 0.00466\n",
|
|
" 97/1 1.26655 1.20605 +/- 0.00466\n",
|
|
" 98/1 1.19701 1.20595 +/- 0.00460\n",
|
|
" 99/1 1.19891 1.20587 +/- 0.00455\n",
|
|
" 100/1 1.14200 1.20516 +/- 0.00456\n",
|
|
" Creating state point statepoint.100.h5...\n",
|
|
"\n",
|
|
" =======================> TIMING STATISTICS <=======================\n",
|
|
"\n",
|
|
" Total time for initialization = 5.4015e+00 seconds\n",
|
|
" Reading cross sections = 5.3518e+00 seconds\n",
|
|
" Total time in simulation = 4.6274e+00 seconds\n",
|
|
" Time in transport only = 4.6037e+00 seconds\n",
|
|
" Time in inactive batches = 4.7393e-01 seconds\n",
|
|
" Time in active batches = 4.1535e+00 seconds\n",
|
|
" Time synchronizing fission bank = 8.0842e-03 seconds\n",
|
|
" Sampling source sites = 7.1760e-03 seconds\n",
|
|
" SEND/RECV source sites = 8.6601e-04 seconds\n",
|
|
" Time accumulating tallies = 4.4106e-05 seconds\n",
|
|
" Time writing statepoints = 3.5152e-03 seconds\n",
|
|
" Total time for finalization = 9.1700e-07 seconds\n",
|
|
" Total time elapsed = 1.0066e+01 seconds\n",
|
|
" Calculation Rate (inactive) = 21100.3 particles/second\n",
|
|
" Calculation Rate (active) = 21668.6 particles/second\n",
|
|
"\n",
|
|
" ============================> RESULTS <============================\n",
|
|
"\n",
|
|
" k-effective (Collision) = 1.20082 +/- 0.00390\n",
|
|
" k-effective (Track-length) = 1.20516 +/- 0.00456\n",
|
|
" k-effective (Absorption) = 1.21266 +/- 0.00357\n",
|
|
" Combined k-effective = 1.20776 +/- 0.00315\n",
|
|
" Leakage Fraction = 0.00000 +/- 0.00000\n",
|
|
"\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"openmc.run()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": []
|
|
}
|
|
],
|
|
"metadata": {
|
|
"accelerator": "GPU",
|
|
"colab": {
|
|
"collapsed_sections": [],
|
|
"name": "thick_thin.IPYNB",
|
|
"provenance": []
|
|
},
|
|
"kernelspec": {
|
|
"display_name": "Python 3",
|
|
"language": "python",
|
|
"name": "python3"
|
|
},
|
|
"language_info": {
|
|
"codemirror_mode": {
|
|
"name": "ipython",
|
|
"version": 3
|
|
},
|
|
"file_extension": ".py",
|
|
"mimetype": "text/x-python",
|
|
"name": "python",
|
|
"nbconvert_exporter": "python",
|
|
"pygments_lexer": "ipython3",
|
|
"version": "3.11.6"
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 4
|
|
}
|