openmc-designs/VHTR/VHTR.ipynb

877 lines
153 KiB
Text
Raw Permalink Normal View History

2020-12-10 21:52:48 -06:00
{
2021-04-12 15:40:17 -06:00
"cells": [
{
"cell_type": "markdown",
"metadata": {
2020-12-10 21:52:48 -06:00
"colab": {
2021-04-12 15:40:17 -06:00
"base_uri": "https://localhost:8080/"
},
"id": "s8q2_PI6vJDd",
"outputId": "b4a99b1c-90b1-4484-bb73-ed358a0d9b2b"
},
"source": [
"# A VHTR geometry \n",
"This notebook can be used as a template for modeling VHTR reactors."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"id": "ztdDaVCavN_I"
},
"outputs": [],
2021-04-12 15:40:17 -06:00
"source": [
"%matplotlib inline\n",
"import openmc"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "Ran-jogzvQvC",
"outputId": "422e9494-2575-4625-c4c1-20a55a442142"
},
"outputs": [],
"source": [
"# Materials definitions\n",
"\n",
"fuel = openmc.Material(name='Fuel')\n",
"fuel.add_element('U', 1.0, enrichment=4.0)\n",
"fuel.add_nuclide('O16', 2.0)\n",
"fuel.set_density('g/cm3', 10.41)\n",
"\n",
"buffer = openmc.Material(name='Buffer')\n",
"buffer.add_element('C', 1.0)\n",
"buffer.set_density('g/cm3', 0.95)\n",
"buffer.add_s_alpha_beta('c_Graphite')\n",
"\n",
"IPyC = openmc.Material(name='Inner PyC')\n",
"IPyC.add_element('C', 1.0)\n",
"IPyC.set_density('g/cm3', 1.9)\n",
"IPyC.add_s_alpha_beta('c_Graphite')\n",
"\n",
"SiC = openmc.Material(name = \"SiC\")\n",
"SiC.add_element(\"Si\", 0.5)\n",
"SiC.add_element(\"C\", 0.5)\n",
"SiC.set_density(\"g/cm3\", 3.18)\n",
"\n",
"OPyC = openmc.Material(name='Outer PyC')\n",
"OPyC.add_element('C', 1.0)\n",
"OPyC.set_density('g/cm3', 1.9)\n",
"OPyC.add_s_alpha_beta('c_Graphite')\n",
"\n",
"graphite = openmc.Material(name='Graphite')\n",
"graphite.add_element('C', 1.0)\n",
"graphite.set_density('g/cm3', 1.7)\n",
"graphite.add_s_alpha_beta('c_Graphite')\n",
"\n",
"helium = openmc.Material(name='Helium')\n",
"helium.add_element('He', 1.0)\n",
"helium.set_density('g/cm3', 0.000166)\n",
"\n",
"b4c = openmc.Material(name='B4C Poison')\n",
"b4c.add_element('B', 4.0, enrichment=18.7, enrichment_target='B10', enrichment_type='wo')\n",
"b4c.add_element('C', 1.0)\n",
"b4c.set_density('g/cm3', 1.82)\n",
"\n",
"# Instantiate a Materials collection and export to xml\n",
"materials_list = [fuel, buffer, IPyC, SiC, OPyC, graphite, helium, b4c]\n",
"materials_file = openmc.Materials(materials_list)\n",
"materials_file.export_to_xml()"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 282
},
"id": "OU_alkFfwVGd",
"outputId": "7c06ff69-2077-456e-b860-9b385465151f"
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.image.AxesImage at 0x7f5702afba10>"
2021-04-12 15:40:17 -06:00
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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
2021-04-12 15:40:17 -06:00
"text/plain": [
"<Figure size 258.065x259.74 with 1 Axes>"
2021-04-12 15:40:17 -06:00
]
},
"metadata": {},
2021-04-12 15:40:17 -06:00
"output_type": "display_data"
}
2021-04-12 15:40:17 -06:00
],
"source": [
"# Geometry definitions for TRISO particles\n",
"\n",
"kernelsph = openmc.Sphere(r=250e-4)\n",
"buffsph = openmc.Sphere(r=350e-4)\n",
"IPyCsph = openmc.Sphere(r=390e-4)\n",
"SiCsph = openmc.Sphere(r=425e-4)\n",
"OPyCsph = openmc.Sphere(r=470e-4)\n",
"\n",
"layers = [kernelsph, buffsph, IPyCsph, SiCsph, OPyCsph]\n",
"triso_mats = [fuel, buffer, IPyC, SiC, OPyC]\n",
"triso_cells = []\n",
"for i in range(5):\n",
" if (i == 0):\n",
" triso_cells.append(openmc.Cell(fill=triso_mats[0], region=-layers[0]))\n",
" else:\n",
" triso_cells.append(openmc.Cell(fill=triso_mats[i], region=+layers[i-1] & -layers[i]))\n",
"\n",
"triso_universe = openmc.Universe(cells=triso_cells)\n",
"triso_colors = {triso_cells[0]: (199, 51, 51), triso_cells[1]: (176, 227, 74),\n",
" triso_cells[2]: (74, 186, 120), triso_cells[3]: (31, 74, 107),\n",
" triso_cells[4]: (74, 186, 120)}\n",
2021-04-12 15:40:17 -06:00
"triso_universe.plot(width = (0.1, 0.1), colors = triso_colors)"
]
},
2021-04-12 15:40:17 -06:00
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "iRZUbB1uqld6",
"outputId": "371a1ccc-3603-447a-8721-2c0090b2448c"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[Cell\n",
"\tID =\t1\n",
"\tName =\t\n",
"\tFill =\tMaterial 1\n",
"\tRegion =\t-1\n",
"\tRotation =\tNone\n",
"\tTemperature =\tNone\n",
"\tTranslation =\tNone\n",
"\tVolume =\tNone\n",
", Cell\n",
"\tID =\t2\n",
"\tName =\t\n",
"\tFill =\tMaterial 2\n",
"\tRegion =\t(1 -2)\n",
"\tRotation =\tNone\n",
"\tTemperature =\tNone\n",
"\tTranslation =\tNone\n",
"\tVolume =\tNone\n",
", Cell\n",
"\tID =\t3\n",
"\tName =\t\n",
"\tFill =\tMaterial 3\n",
"\tRegion =\t(2 -3)\n",
"\tRotation =\tNone\n",
"\tTemperature =\tNone\n",
"\tTranslation =\tNone\n",
"\tVolume =\tNone\n",
", Cell\n",
"\tID =\t4\n",
"\tName =\t\n",
"\tFill =\tMaterial 4\n",
"\tRegion =\t(3 -4)\n",
"\tRotation =\tNone\n",
"\tTemperature =\tNone\n",
"\tTranslation =\tNone\n",
"\tVolume =\tNone\n",
", Cell\n",
"\tID =\t5\n",
"\tName =\t\n",
"\tFill =\tMaterial 5\n",
"\tRegion =\t(4 -5)\n",
"\tRotation =\tNone\n",
"\tTemperature =\tNone\n",
"\tTranslation =\tNone\n",
"\tVolume =\tNone\n",
"]\n"
]
}
],
"source": [
"print(triso_cells)"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"id": "9ZjOD3umK-RO"
},
"outputs": [],
"source": [
"# Generating TRISO particle lattice in cylindrical pin cell\n",
"\n",
"cylsurf = openmc.ZCylinder(r=0.6225)\n",
"maxz = openmc.ZPlane(z0=1.95, boundary_type='reflective')\n",
"minz = openmc.ZPlane(z0=-1.95, boundary_type='reflective')\n",
"\n",
"lattice_region = -cylsurf & -maxz & +minz\n",
"triso_outer_radius = 465e-4\n",
"spheres = openmc.model.pack_spheres(radius=triso_outer_radius, region=lattice_region, pf=0.3)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"id": "u7tWPGkaQaPP"
},
"outputs": [],
"source": [
"triso_particles = [openmc.model.TRISO(triso_outer_radius, fill=triso_universe, center=c) for c in spheres]"
]
},
{
"cell_type": "code",
"execution_count": 7,
2021-04-12 15:40:17 -06:00
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "OIyhbji9Rvzr",
"outputId": "4f4e84a2-0b07-4318-c1b6-1b1f55a1a232"
},
"outputs": [],
"source": [
"vol_triso = 4/3 * 3.14 * triso_outer_radius**3 * len(triso_particles)\n",
"actual_pf = vol_triso/(3.14 * (0.6225) ** 2 * 3.9)"
]
},
{
"cell_type": "code",
"execution_count": 8,
2021-04-12 15:40:17 -06:00
"metadata": {
"id": "2Z8EXBSgR_yq"
},
"outputs": [],
"source": [
"lattice_cell = openmc.Cell(region=lattice_region)\n",
"lower_left, upp_right = lattice_cell.region.bounding_box\n",
"shape = (4, 4, 4)\n",
"pitch = (upp_right - lower_left)/shape\n",
"triso_latt = openmc.model.create_triso_lattice(triso_particles, lower_left, pitch, shape, graphite)\n",
"lattice_cell.fill = triso_latt\n",
"\n",
"lattice_universe = openmc.Universe(cells=[lattice_cell])"
]
},
{
"cell_type": "code",
"execution_count": 9,
2021-04-12 15:40:17 -06:00
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 282
},
"id": "8S3JIn-x9doF",
"outputId": "da1312f4-92c6-4100-97a2-66af845295f7"
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.image.AxesImage at 0x7f56f8ad9a90>"
2021-04-12 15:40:17 -06:00
]
},
"execution_count": 9,
2021-04-12 15:40:17 -06:00
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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
2021-04-12 15:40:17 -06:00
"text/plain": [
"<Figure size 258.065x259.74 with 1 Axes>"
2021-04-12 15:40:17 -06:00
]
},
"metadata": {},
2021-04-12 15:40:17 -06:00
"output_type": "display_data"
}
],
"source": [
"lattice_universe.plot(width=(1.4,1.4))"
]
},
{
"cell_type": "code",
"execution_count": 10,
2021-04-12 15:40:17 -06:00
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 282
},
"id": "yTqFsu7U9Pmf",
"outputId": "ebd66100-aa13-452b-912a-a1fed9e964f5"
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.image.AxesImage at 0x7f56f91a37d0>"
2021-04-12 15:40:17 -06:00
]
},
"execution_count": 10,
2021-04-12 15:40:17 -06:00
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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
2021-04-12 15:40:17 -06:00
"text/plain": [
"<Figure size 258.065x259.74 with 1 Axes>"
2021-04-12 15:40:17 -06:00
]
},
"metadata": {},
2021-04-12 15:40:17 -06:00
"output_type": "display_data"
}
2021-04-12 15:40:17 -06:00
],
"source": [
"lattice_universe.plot(width=(1.4,1.4), color_by='material', colors = {graphite: (20, 23, 66)})"
2021-04-12 15:40:17 -06:00
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "j3_6A6g-L_d4"
},
"source": [
"**Testing Pin Cell Embedded In Graphite Block**"
]
},
{
"cell_type": "code",
"execution_count": 11,
2021-04-12 15:40:17 -06:00
"metadata": {
"id": "t80buCTqL-84"
},
"outputs": [],
"source": [
"hexaregion = openmc.model.hexagonal_prism(edge_length = 0.85, orientation = 'x', boundary_type='reflective')\n",
"\n",
"outer_region = hexaregion & +cylsurf & -maxz & +minz\n",
"outer_pin_cell = openmc.Cell(fill=graphite, region = outer_region)"
]
},
{
"cell_type": "code",
"execution_count": 12,
2021-04-12 15:40:17 -06:00
"metadata": {
"id": "ho_e-y7Cgi_q"
},
"outputs": [],
"source": [
"pin_cell_universe = openmc.Universe(cells=[lattice_cell, outer_pin_cell])"
]
},
{
"cell_type": "code",
"execution_count": 13,
2021-04-12 15:40:17 -06:00
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 282
},
"id": "76wi7ezZgoHj",
"outputId": "55590ede-ff67-4a78-96d2-87d902b2c366"
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.image.AxesImage at 0x7f56f81d46d0>"
2021-04-12 15:40:17 -06:00
]
},
"execution_count": 13,
2021-04-12 15:40:17 -06:00
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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
2021-04-12 15:40:17 -06:00
"text/plain": [
"<Figure size 258.065x259.74 with 1 Axes>"
2021-04-12 15:40:17 -06:00
]
},
"metadata": {},
2021-04-12 15:40:17 -06:00
"output_type": "display_data"
}
],
"source": [
"pin_cell_universe.plot(width=(1.8, 1.8), color_by='cell', colors = {outer_pin_cell: (20, 23, 66)})"
2021-04-12 15:40:17 -06:00
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "jJasUqJAhn_e"
},
"source": [
"As expected, the outside hexagonal block and the non-triso area of the pin cell are both filled with graphite:"
]
},
{
"cell_type": "code",
"execution_count": 14,
2021-04-12 15:40:17 -06:00
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 282
},
"id": "SnF1LEnihncs",
"outputId": "f9671980-db4b-4ce0-99a4-867aa59fe5d9"
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.image.AxesImage at 0x7f56f716aa10>"
2021-04-12 15:40:17 -06:00
]
},
"execution_count": 14,
2021-04-12 15:40:17 -06:00
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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
2021-04-12 15:40:17 -06:00
"text/plain": [
"<Figure size 258.065x259.74 with 1 Axes>"
2021-04-12 15:40:17 -06:00
]
},
"metadata": {},
2021-04-12 15:40:17 -06:00
"output_type": "display_data"
}
],
"source": [
"pin_cell_universe.plot(width=(1.9, 1.9), color_by='material', colors = {graphite: (20, 23, 66), fuel: (255, 219, 145)})"
2021-04-12 15:40:17 -06:00
]
},
{
"cell_type": "code",
"execution_count": 15,
2021-04-12 15:40:17 -06:00
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "Mp8W0NWEhzhZ",
"outputId": "2204e776-fed4-4007-a05d-cba6acb11789"
},
"outputs": [],
"source": [
"geom = openmc.Geometry(pin_cell_universe)\n",
"geom.export_to_xml()"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "OKwVl93-GboP"
},
"source": [
"**Creating Coolant Channels/Cells (Helium fill)**"
]
},
{
"cell_type": "code",
"execution_count": 16,
2021-04-12 15:40:17 -06:00
"metadata": {
"id": "lLnEBbE3aJqa"
},
"outputs": [],
"source": [
"small_coolant_surf = openmc.ZCylinder(r=0.6375)\n",
"big_coolant_surf = openmc.ZCylinder(r=0.79375)\n",
"\n",
"small_coolant_cell = openmc.Cell(region=-small_coolant_surf & -maxz & +minz, fill=helium)\n",
"big_coolant_cell = openmc.Cell(region=-big_coolant_surf & -maxz & +minz, fill=helium)\n",
"\n",
"outside_small_cell = openmc.Cell(region=+small_coolant_surf & -maxz & +minz, fill=graphite)\n",
"outside_big_cell = openmc.Cell(region=+big_coolant_surf & -maxz & +minz, fill=graphite)\n",
"\n",
"small_coolant_universe = openmc.Universe(cells=[small_coolant_cell, outside_small_cell])\n",
"big_coolant_universe = openmc.Universe(cells=[big_coolant_cell, outside_big_cell])"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "2wVWLYBZAJdL"
},
"source": [
"**Burnable Poison Rod Geometry**"
]
},
{
"cell_type": "code",
"execution_count": 17,
2021-04-12 15:40:17 -06:00
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 286
},
"id": "aJnsdDgr7KeF",
"outputId": "f73b7161-dd64-49db-cd48-cde093cb4af9"
},
"outputs": [],
"source": [
"poison_surf = openmc.ZCylinder(r=0.6375)\n",
"poison_cell = openmc.Cell(region=-poison_surf & -maxz & +minz, fill=b4c)\n",
"outside_poison_cell = openmc.Cell(region=+poison_surf & -maxz & +minz, fill=graphite)\n",
"\n",
"poison_universe = openmc.Universe(cells=[poison_cell, outside_poison_cell])"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "FSEppy7-wB1-"
},
"source": [
"**Defining Material Outside Pin Cell For Use in Assemblies**"
]
},
{
"cell_type": "code",
"execution_count": 18,
2021-04-12 15:40:17 -06:00
"metadata": {
"id": "ijZDqnyY7Y2f"
},
"outputs": [],
"source": [
"outer_pin_region = +cylsurf & -maxz & +minz\n",
"outer_pin_cell = openmc.Cell(fill=graphite, region=outer_pin_region)\n",
"\n",
"total_pin_cell_universe = openmc.Universe(cells=[lattice_cell, outer_pin_cell])"
]
},
{
"cell_type": "code",
"execution_count": 19,
2021-04-12 15:40:17 -06:00
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 282
},
"id": "s-DGB0Nf8guO",
"outputId": "355536e5-e765-4900-9c97-e2ed00503f8f"
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.image.AxesImage at 0x7f56f716b7d0>"
2021-04-12 15:40:17 -06:00
]
},
"execution_count": 19,
2021-04-12 15:40:17 -06:00
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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
2021-04-12 15:40:17 -06:00
"text/plain": [
"<Figure size 258.065x259.74 with 1 Axes>"
2021-04-12 15:40:17 -06:00
]
},
"metadata": {},
2021-04-12 15:40:17 -06:00
"output_type": "display_data"
}
],
"source": [
"total_pin_cell_universe.plot(width=(1.9, 1.9), color_by='material', colors = {graphite: (20, 23, 66)})"
2021-04-12 15:40:17 -06:00
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "LfIatUoiIeSa"
},
"source": [
"**Constructing Geometry of Hexagonal Fuel Assembly**"
]
},
{
"cell_type": "code",
"execution_count": 20,
2021-04-12 15:40:17 -06:00
"metadata": {
"id": "gxixGDvIIXnH"
},
"outputs": [],
"source": [
"outer_graphite_cell = openmc.Cell(fill=graphite)\n",
"outer_graphite_universe = openmc.Universe(cells=[outer_graphite_cell])"
]
},
{
"cell_type": "code",
"execution_count": 21,
2021-04-12 15:40:17 -06:00
"metadata": {
"id": "0lt1V5rQJFlY"
},
"outputs": [],
"source": [
"assemblylat = openmc.HexLattice(name=\"Assembly\")\n",
"assemblylat.outer = outer_graphite_universe\n",
"assemblylat.pitch = (1.9,)\n",
"assemblylat.center = (0.0, 0.0)\n",
"assemblylat.orientation = 'x'"
]
},
{
"cell_type": "code",
"execution_count": 22,
2021-04-12 15:40:17 -06:00
"metadata": {
"id": "6NyajaT_Dhdf"
},
"outputs": [],
"source": [
"def repeat_lat_element(n, pad_left, pad_right):\n",
" ring = []\n",
" for i in range(6):\n",
" ring += pad_left\n",
" for i in range(n):\n",
" ring.extend([total_pin_cell_universe]*2 + [big_coolant_universe])\n",
" ring += pad_right\n",
"\n",
" return ring"
]
},
{
"cell_type": "code",
"execution_count": 23,
2021-04-12 15:40:17 -06:00
"metadata": {
"id": "eMfy_09gPIjE"
},
"outputs": [],
"source": [
"def build_outer_ring(n, insert_poison_rod):\n",
" REPEAT_SECTION = 2\n",
" ring = []\n",
"\n",
" # burnable poison rods sides\n",
" poisonring = []\n",
" poisonring += [insert_poison_rod] + [total_pin_cell_universe] + [big_coolant_universe]\n",
" for i in range(REPEAT_SECTION):\n",
" poisonring.extend([total_pin_cell_universe]*2 + [big_coolant_universe])\n",
" poisonring += [total_pin_cell_universe]\n",
"\n",
" # normal sides\n",
" base = []\n",
" base += [outer_graphite_universe] + [total_pin_cell_universe] + [big_coolant_universe]\n",
" for i in range(REPEAT_SECTION):\n",
" base.extend([total_pin_cell_universe]*2 + [big_coolant_universe])\n",
" base += [total_pin_cell_universe]\n",
"\n",
" ring.extend(poisonring * n + base * (6 - n))\n",
"\n",
" return ring"
]
},
{
"cell_type": "code",
"execution_count": 24,
2021-04-12 15:40:17 -06:00
"metadata": {
"id": "vygU8F5vLG2x"
},
"outputs": [],
"source": [
"def build_all_rings(insert_poison_rod):\n",
" rings = []\n",
"\n",
" outer_ring = build_outer_ring(2, insert_poison_rod)\n",
" rings.append(outer_ring)\n",
"\n",
" for i in range(1, 8): # rings 1 through 7\n",
" ring_left = []\n",
" ring_right = []\n",
" if (i % 3 == 1):\n",
" ring_left = [big_coolant_universe]\n",
" ring_right = [total_pin_cell_universe]*2\n",
" elif (i % 3 == 2):\n",
" ring_left = [total_pin_cell_universe] + [big_coolant_universe]\n",
" else:\n",
" ring_right = [total_pin_cell_universe]\n",
"\n",
" n = 0\n",
" if (i <= 3):\n",
" n = 2\n",
" elif (i <= 6):\n",
" n = 1\n",
" else:\n",
" n = 0\n",
"\n",
2021-04-12 15:40:17 -06:00
" cur_ring = repeat_lat_element(n, ring_left, ring_right)\n",
" rings.append(cur_ring)\n",
"\n",
" inner_ring = []\n",
" for i in range(6):\n",
" inner_ring.extend([total_pin_cell_universe] + [small_coolant_universe])\n",
" rings.append(inner_ring)\n",
" rings.append([outer_graphite_universe]*6)\n",
" rings.append([outer_graphite_universe])\n",
"\n",
" return rings"
]
},
{
"cell_type": "code",
"execution_count": 25,
2021-04-12 15:40:17 -06:00
"metadata": {
"id": "KAqeuKY2j19E"
},
"outputs": [],
"source": [
"rings = build_all_rings(poison_universe)\n",
"assemblylat.universes = rings"
]
},
{
"cell_type": "code",
"execution_count": 26,
2021-04-12 15:40:17 -06:00
"metadata": {
"id": "LZWflaDwla6d"
},
"outputs": [],
"source": [
"assembly_surf = openmc.model.hexagonal_prism(edge_length=21, orientation='x', boundary_type='reflective')\n",
"assembly_cell = openmc.Cell(fill=assemblylat, region=assembly_surf & +minz & -maxz)\n",
"assembly_universe = openmc.Universe(cells=[assembly_cell])"
]
},
{
"cell_type": "code",
"execution_count": 27,
2021-04-12 15:40:17 -06:00
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 282
},
"id": "iMr7NMMTs6kT",
"outputId": "a1ece088-efa8-4cc1-da2a-258fbe0ac6d6"
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.image.AxesImage at 0x7f56f8001510>"
2021-04-12 15:40:17 -06:00
]
},
"execution_count": 27,
2021-04-12 15:40:17 -06:00
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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
2021-04-12 15:40:17 -06:00
"text/plain": [
"<Figure size 258.065x259.74 with 1 Axes>"
2021-04-12 15:40:17 -06:00
]
},
"metadata": {},
2021-04-12 15:40:17 -06:00
"output_type": "display_data"
}
],
"source": [
"assembly_universe.plot(width=(42, 42), color_by='material', colors={helium: (252, 0, 69), graphite: (20, 23, 66), b4c: (1, 217, 26)})"
2021-04-12 15:40:17 -06:00
]
},
{
"cell_type": "code",
"execution_count": 28,
2021-04-12 15:40:17 -06:00
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 1000
},
"id": "pIFgdKfmyY7b",
"outputId": "b3e9bf24-0450-47ad-9430-023413ec58f6"
},
"outputs": [],
"source": [
"geom = openmc.Geometry(assembly_universe)\n",
"geom.export_to_xml()"
]
},
{
"cell_type": "code",
"execution_count": 29,
2021-04-12 15:40:17 -06:00
"metadata": {
"id": "RUFinDv9-4AH"
},
"outputs": [],
"source": [
"# OpenMC simulation parameters\n",
"\n",
"batches = 100\n",
"inactive = 10\n",
"particles = 5000\n",
"\n",
"settings_file = openmc.Settings()\n",
"settings_file.batches = batches\n",
"settings_file.inactive = inactive\n",
"settings_file.particles = particles\n",
"settings_file.output = {'tallies': True}\n",
"\n",
"bounds = [-5, -5, -0.63, 5, 5, 0.63]\n",
"uniform_dist = openmc.stats.Box(bounds[:3], bounds[3:], only_fissionable=True)\n",
"settings_file.source = openmc.IndependentSource(space=uniform_dist)\n",
2021-04-12 15:40:17 -06:00
"\n",
"settings_file.export_to_xml()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
2021-04-12 15:40:17 -06:00
}
],
"metadata": {
"colab": {
"collapsed_sections": [],
"name": "VHTR.ipynb",
"provenance": []
},
"kernelspec": {
"display_name": "openmc-env",
2021-04-12 15:40:17 -06:00
"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"
2021-04-12 15:40:17 -06:00
}
},
"nbformat": 4,
"nbformat_minor": 1
}