diff --git a/Pincell-solution.ipynb b/Pincell-solution.ipynb index ecaed6abc..052c2299b 100644 --- a/Pincell-solution.ipynb +++ b/Pincell-solution.ipynb @@ -28,7 +28,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 1, "metadata": {}, "outputs": [], "source": [ @@ -77,7 +77,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 2, "metadata": {}, "outputs": [], "source": [ @@ -93,7 +93,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 3, "metadata": {}, "outputs": [], "source": [ @@ -110,7 +110,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 4, "metadata": {}, "outputs": [], "source": [ @@ -130,7 +130,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "metadata": {}, "outputs": [ { @@ -477,9 +477,39 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Help on method clone in module openmc.cell:\n", + "\n", + "clone(clone_materials=True, clone_regions=True, memo=None) method of openmc.cell.Cell instance\n", + " Create a copy of this cell with a new unique ID, and clones\n", + " the cell's region and fill.\n", + " \n", + " Parameters\n", + " ----------\n", + " clone_materials : bool\n", + " Whether to create separate copies of the materials filling cells\n", + " contained in this cell, or the material filling this cell.\n", + " clone_regions : bool\n", + " Whether to create separate copies of the regions bounding cells\n", + " contained in this cell, and the region bounding this cell.\n", + " memo : dict or None\n", + " A nested dictionary of previously cloned objects. This parameter\n", + " is used internally and should not be specified by the user.\n", + " \n", + " Returns\n", + " -------\n", + " clone : openmc.Cell\n", + " The clone of this cell\n", + "\n" + ] + } + ], "source": [ "my_cell = openmc.Cell()\n", "help(my_cell.clone)" @@ -494,16 +524,27 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "openmc.cell.Cell" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "type(my_cell)" ] }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 8, "metadata": {}, "outputs": [ { @@ -535,7 +576,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 9, "metadata": {}, "outputs": [], "source": [ @@ -553,7 +594,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 10, "metadata": {}, "outputs": [], "source": [ @@ -573,7 +614,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 11, "metadata": {}, "outputs": [ { @@ -621,7 +662,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 12, "metadata": {}, "outputs": [ { @@ -655,7 +696,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 13, "metadata": {}, "outputs": [ { @@ -689,7 +730,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 14, "metadata": {}, "outputs": [], "source": [ @@ -698,7 +739,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 15, "metadata": {}, "outputs": [], "source": [ @@ -708,7 +749,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 16, "metadata": {}, "outputs": [ { @@ -753,7 +794,7 @@ }, { "cell_type": "code", - "execution_count": 184, + "execution_count": 17, "metadata": {}, "outputs": [], "source": [ @@ -773,7 +814,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 18, "metadata": {}, "outputs": [], "source": [ @@ -792,7 +833,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 19, "metadata": {}, "outputs": [], "source": [ @@ -801,7 +842,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 20, "metadata": {}, "outputs": [ { @@ -976,7 +1017,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 21, "metadata": {}, "outputs": [ { @@ -985,7 +1026,7 @@ "text": [ "[Material\n", "\tID =\t3\n", - "\tName =\t\n", + "\tName =\tuo2\n", "\tTemperature =\tNone\n", "\tDensity =\t10.0 [g/cm3]\n", "\tVolume =\tNone [cm^3]\n", @@ -1013,7 +1054,7 @@ "\tZr96 =\t0.028 [ao]\n", ", Material\n", "\tID =\t4\n", - "\tName =\t\n", + "\tName =\twater\n", "\tTemperature =\tNone\n", "\tDensity =\t1.0 [g/cm3]\n", "\tVolume =\tNone [cm^3]\n", @@ -1044,7 +1085,7 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 22, "metadata": {}, "outputs": [ { @@ -1053,7 +1094,7 @@ "text": [ "Material\n", "\tID =\t4\n", - "\tName =\t\n", + "\tName =\twater\n", "\tTemperature =\tNone\n", "\tDensity =\t1.0 [g/cm3]\n", "\tVolume =\tNone [cm^3]\n", @@ -1067,7 +1108,7 @@ "\n", "Material\n", "\tID =\t4\n", - "\tName =\t\n", + "\tName =\twater\n", "\tTemperature =\tNone\n", "\tDensity =\t1.0 [g/cm3]\n", "\tVolume =\tNone [cm^3]\n", @@ -1080,7 +1121,7 @@ "\n", "Material\n", "\tID =\t4\n", - "\tName =\t\n", + "\tName =\twater\n", "\tTemperature =\tNone\n", "\tDensity =\t1.0 [g/cm3]\n", "\tVolume =\tNone [cm^3]\n", @@ -1126,7 +1167,7 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 23, "metadata": {}, "outputs": [ { @@ -1143,7 +1184,7 @@ }, { "cell_type": "code", - "execution_count": 185, + "execution_count": 24, "metadata": {}, "outputs": [], "source": [ @@ -1155,7 +1196,7 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 25, "metadata": {}, "outputs": [ { @@ -1164,7 +1205,7 @@ "text": [ "[Material\n", "\tID =\t3\n", - "\tName =\t\n", + "\tName =\tuo2\n", "\tTemperature =\tNone\n", "\tDensity =\t10.0 [g/cm3]\n", "\tVolume =\tNone [cm^3]\n", @@ -1192,7 +1233,7 @@ "\tZr96 =\t0.028 [ao]\n", ", Material\n", "\tID =\t4\n", - "\tName =\t\n", + "\tName =\twater\n", "\tTemperature =\tNone\n", "\tDensity =\t1.0 [g/cm3]\n", "\tVolume =\tNone [cm^3]\n", @@ -1206,7 +1247,7 @@ "\tO17 =\t0.000379 [ao]\n", ", Material\n", "\tID =\t5\n", - "\tName =\t\n", + "\tName =\tnew_fuel\n", "\tTemperature =\tNone\n", "\tDensity =\t9.0 [g/cm3]\n", "\tVolume =\tNone [cm^3]\n", @@ -1285,7 +1326,7 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 26, "metadata": {}, "outputs": [], "source": [ @@ -1301,7 +1342,7 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": 27, "metadata": {}, "outputs": [ { @@ -1310,7 +1351,7 @@ "openmc.surface.Halfspace" ] }, - "execution_count": 29, + "execution_count": 27, "metadata": {}, "output_type": "execute_result" } @@ -1330,7 +1371,7 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": 28, "metadata": {}, "outputs": [ { @@ -1362,7 +1403,7 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": 29, "metadata": {}, "outputs": [], "source": [ @@ -1372,7 +1413,7 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": 30, "metadata": {}, "outputs": [], "source": [ @@ -1401,7 +1442,7 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": 31, "metadata": {}, "outputs": [], "source": [ @@ -1421,7 +1462,7 @@ }, { "cell_type": "code", - "execution_count": 34, + "execution_count": 32, "metadata": {}, "outputs": [ { @@ -1430,7 +1471,7 @@ "" ] }, - "execution_count": 34, + "execution_count": 32, "metadata": {}, "output_type": "execute_result" }, @@ -1458,7 +1499,7 @@ }, { "cell_type": "code", - "execution_count": 35, + "execution_count": 33, "metadata": {}, "outputs": [ { @@ -1467,7 +1508,7 @@ "" ] }, - "execution_count": 35, + "execution_count": 33, "metadata": {}, "output_type": "execute_result" }, @@ -1495,7 +1536,7 @@ }, { "cell_type": "code", - "execution_count": 36, + "execution_count": 34, "metadata": {}, "outputs": [ { @@ -1504,7 +1545,7 @@ "" ] }, - "execution_count": 36, + "execution_count": 34, "metadata": {}, "output_type": "execute_result" }, @@ -1543,7 +1584,7 @@ }, { "cell_type": "code", - "execution_count": 52, + "execution_count": 35, "metadata": {}, "outputs": [], "source": [ @@ -1567,7 +1608,7 @@ }, { "cell_type": "code", - "execution_count": 38, + "execution_count": 36, "metadata": {}, "outputs": [], "source": [ @@ -1585,7 +1626,7 @@ }, { "cell_type": "code", - "execution_count": 39, + "execution_count": 37, "metadata": {}, "outputs": [], "source": [ @@ -1603,7 +1644,7 @@ }, { "cell_type": "code", - "execution_count": 153, + "execution_count": 38, "metadata": {}, "outputs": [], "source": [ @@ -1621,7 +1662,7 @@ }, { "cell_type": "code", - "execution_count": 154, + "execution_count": 39, "metadata": {}, "outputs": [], "source": [ @@ -1646,7 +1687,7 @@ }, { "cell_type": "code", - "execution_count": 155, + "execution_count": 40, "metadata": {}, "outputs": [], "source": [ @@ -1666,7 +1707,7 @@ }, { "cell_type": "code", - "execution_count": 156, + "execution_count": 41, "metadata": {}, "outputs": [], "source": [ @@ -1686,7 +1727,7 @@ }, { "cell_type": "code", - "execution_count": 157, + "execution_count": 42, "metadata": {}, "outputs": [], "source": [ @@ -1696,7 +1737,7 @@ }, { "cell_type": "code", - "execution_count": 158, + "execution_count": 43, "metadata": {}, "outputs": [ { @@ -1705,7 +1746,7 @@ "" ] }, - "execution_count": 158, + "execution_count": 43, "metadata": {}, "output_type": "execute_result" }, @@ -1735,7 +1776,7 @@ }, { "cell_type": "code", - "execution_count": 54, + "execution_count": 44, "metadata": {}, "outputs": [], "source": [ @@ -1746,7 +1787,7 @@ }, { "cell_type": "code", - "execution_count": 55, + "execution_count": 45, "metadata": {}, "outputs": [], "source": [ @@ -1767,7 +1808,7 @@ }, { "cell_type": "code", - "execution_count": 57, + "execution_count": 46, "metadata": { "scrolled": true }, @@ -1805,7 +1846,7 @@ " License | https://docs.openmc.org/en/latest/license.html\n", " Version | 0.14.1-dev\n", " Git SHA1 | 14ce3cec4b388ae8b7ec5b28db57dbcbff06f147\n", - " Date/Time | 2024-03-27 19:41:41\n", + " Date/Time | 2024-03-28 17:52:33\n", " MPI Processes | 1\n", " OpenMP Threads | 8\n", "\n", @@ -1848,6 +1889,7 @@ " 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 Zr90\n", " Initializing source particles...\n", @@ -1879,110 +1921,110 @@ " 21/1 1.40115 1.44021 +/- 0.01885\n", " 22/1 1.43731 1.43997 +/- 0.01721\n", " 23/1 1.41573 1.43811 +/- 0.01594\n", - " 24/1 1.46697 1.44017 +/- 0.01490\n", - " 25/1 1.45526 1.44117 +/- 0.01391\n", - " 26/1 1.33933 1.43481 +/- 0.01448\n", - " 27/1 1.42147 1.43402 +/- 0.01363\n", - " 28/1 1.36027 1.42993 +/- 0.01349\n", - " 29/1 1.46546 1.43180 +/- 0.01289\n", - " 30/1 1.45108 1.43276 +/- 0.01227\n", - " 31/1 1.43818 1.43302 +/- 0.01167\n", - " 32/1 1.38295 1.43074 +/- 0.01136\n", - " 33/1 1.42458 1.43048 +/- 0.01086\n", - " 34/1 1.38767 1.42869 +/- 0.01055\n", - " 35/1 1.46454 1.43013 +/- 0.01022\n", - " 36/1 1.45980 1.43127 +/- 0.00988\n", - " 37/1 1.38205 1.42944 +/- 0.00968\n", - " 38/1 1.53672 1.43328 +/- 0.01009\n", - " 39/1 1.47527 1.43472 +/- 0.00984\n", - " 40/1 1.43555 1.43475 +/- 0.00951\n", - " 41/1 1.44548 1.43510 +/- 0.00920\n", - " 42/1 1.44951 1.43555 +/- 0.00892\n", - " 43/1 1.41298 1.43486 +/- 0.00867\n", - " 44/1 1.43609 1.43490 +/- 0.00841\n", - " 45/1 1.41570 1.43435 +/- 0.00819\n", - " 46/1 1.43178 1.43428 +/- 0.00796\n", - " 47/1 1.45867 1.43494 +/- 0.00777\n", - " 48/1 1.44260 1.43514 +/- 0.00756\n", - " 49/1 1.42229 1.43481 +/- 0.00737\n", - " 50/1 1.38440 1.43355 +/- 0.00730\n", - " 51/1 1.38517 1.43237 +/- 0.00721\n", - " 52/1 1.42319 1.43215 +/- 0.00704\n", - " 53/1 1.43385 1.43219 +/- 0.00688\n", - " 54/1 1.43942 1.43236 +/- 0.00672\n", - " 55/1 1.45598 1.43288 +/- 0.00659\n", - " 56/1 1.50437 1.43444 +/- 0.00663\n", - " 57/1 1.52213 1.43630 +/- 0.00675\n", - " 58/1 1.44465 1.43647 +/- 0.00661\n", - " 59/1 1.37110 1.43514 +/- 0.00661\n", - " 60/1 1.38867 1.43421 +/- 0.00654\n", - " 61/1 1.45708 1.43466 +/- 0.00643\n", - " 62/1 1.48771 1.43568 +/- 0.00639\n", - " 63/1 1.32654 1.43362 +/- 0.00660\n", - " 64/1 1.48374 1.43455 +/- 0.00654\n", - " 65/1 1.36924 1.43336 +/- 0.00653\n", - " 66/1 1.43809 1.43345 +/- 0.00641\n", - " 67/1 1.45191 1.43377 +/- 0.00631\n", - " 68/1 1.40404 1.43326 +/- 0.00622\n", - " 69/1 1.36879 1.43216 +/- 0.00621\n", - " 70/1 1.45560 1.43256 +/- 0.00612\n", - " 71/1 1.46420 1.43307 +/- 0.00604\n", - " 72/1 1.31191 1.43112 +/- 0.00625\n", - " 73/1 1.40955 1.43078 +/- 0.00616\n", - " 74/1 1.39632 1.43024 +/- 0.00609\n", - " 75/1 1.47145 1.43087 +/- 0.00603\n", - " 76/1 1.43759 1.43097 +/- 0.00594\n", - " 77/1 1.50169 1.43203 +/- 0.00594\n", - " 78/1 1.36304 1.43102 +/- 0.00594\n", - " 79/1 1.46648 1.43153 +/- 0.00588\n", - " 80/1 1.46316 1.43198 +/- 0.00581\n", - " 81/1 1.44568 1.43217 +/- 0.00573\n", - " 82/1 1.47623 1.43279 +/- 0.00568\n", - " 83/1 1.40690 1.43243 +/- 0.00562\n", - " 84/1 1.43895 1.43252 +/- 0.00554\n", - " 85/1 1.42947 1.43248 +/- 0.00547\n", - " 86/1 1.35926 1.43152 +/- 0.00548\n", - " 87/1 1.41580 1.43131 +/- 0.00541\n", - " 88/1 1.40517 1.43098 +/- 0.00535\n", - " 89/1 1.40848 1.43069 +/- 0.00529\n", - " 90/1 1.50568 1.43163 +/- 0.00531\n", - " 91/1 1.49946 1.43247 +/- 0.00531\n", - " 92/1 1.41449 1.43225 +/- 0.00525\n", - " 93/1 1.50841 1.43317 +/- 0.00527\n", - " 94/1 1.48296 1.43376 +/- 0.00524\n", - " 95/1 1.43579 1.43378 +/- 0.00517\n", - " 96/1 1.37100 1.43305 +/- 0.00517\n", - " 97/1 1.53292 1.43420 +/- 0.00523\n", - " 98/1 1.47074 1.43461 +/- 0.00519\n", - " 99/1 1.38857 1.43410 +/- 0.00516\n", - " 100/1 1.35518 1.43322 +/- 0.00517\n", + " 24/1 1.46427 1.43997 +/- 0.01487\n", + " 25/1 1.45526 1.44099 +/- 0.01389\n", + " 26/1 1.33933 1.43464 +/- 0.01446\n", + " 27/1 1.42147 1.43386 +/- 0.01360\n", + " 28/1 1.36027 1.42978 +/- 0.01346\n", + " 29/1 1.46546 1.43165 +/- 0.01287\n", + " 30/1 1.45070 1.43261 +/- 0.01225\n", + " 31/1 1.48473 1.43509 +/- 0.01191\n", + " 32/1 1.47264 1.43680 +/- 0.01149\n", + " 33/1 1.45237 1.43747 +/- 0.01100\n", + " 34/1 1.41749 1.43664 +/- 0.01056\n", + " 35/1 1.47971 1.43836 +/- 0.01027\n", + " 36/1 1.45378 1.43896 +/- 0.00989\n", + " 37/1 1.35765 1.43594 +/- 0.00998\n", + " 38/1 1.40397 1.43480 +/- 0.00969\n", + " 39/1 1.41697 1.43419 +/- 0.00937\n", + " 40/1 1.40400 1.43318 +/- 0.00910\n", + " 41/1 1.43270 1.43317 +/- 0.00881\n", + " 42/1 1.36535 1.43105 +/- 0.00879\n", + " 43/1 1.43240 1.43109 +/- 0.00851\n", + " 44/1 1.46349 1.43204 +/- 0.00832\n", + " 45/1 1.32866 1.42909 +/- 0.00860\n", + " 46/1 1.32249 1.42613 +/- 0.00886\n", + " 47/1 1.41734 1.42589 +/- 0.00862\n", + " 48/1 1.39802 1.42516 +/- 0.00843\n", + " 49/1 1.54696 1.42828 +/- 0.00878\n", + " 50/1 1.44601 1.42872 +/- 0.00857\n", + " 51/1 1.37546 1.42742 +/- 0.00846\n", + " 52/1 1.48833 1.42887 +/- 0.00838\n", + " 53/1 1.36864 1.42747 +/- 0.00830\n", + " 54/1 1.45539 1.42811 +/- 0.00814\n", + " 55/1 1.47463 1.42914 +/- 0.00802\n", + " 56/1 1.43531 1.42927 +/- 0.00785\n", + " 57/1 1.37650 1.42815 +/- 0.00776\n", + " 58/1 1.43163 1.42822 +/- 0.00760\n", + " 59/1 1.39161 1.42748 +/- 0.00748\n", + " 60/1 1.48475 1.42862 +/- 0.00742\n", + " 61/1 1.47918 1.42961 +/- 0.00734\n", + " 62/1 1.47997 1.43058 +/- 0.00726\n", + " 63/1 1.41811 1.43035 +/- 0.00712\n", + " 64/1 1.41011 1.42997 +/- 0.00700\n", + " 65/1 1.44239 1.43020 +/- 0.00688\n", + " 66/1 1.42912 1.43018 +/- 0.00675\n", + " 67/1 1.39312 1.42953 +/- 0.00666\n", + " 68/1 1.47339 1.43028 +/- 0.00659\n", + " 69/1 1.38559 1.42953 +/- 0.00652\n", + " 70/1 1.42211 1.42940 +/- 0.00641\n", + " 71/1 1.35744 1.42822 +/- 0.00642\n", + " 72/1 1.40876 1.42791 +/- 0.00632\n", + " 73/1 1.53582 1.42962 +/- 0.00645\n", + " 74/1 1.44605 1.42988 +/- 0.00636\n", + " 75/1 1.47428 1.43056 +/- 0.00629\n", + " 76/1 1.37855 1.42977 +/- 0.00625\n", + " 77/1 1.39439 1.42925 +/- 0.00618\n", + " 78/1 1.49117 1.43016 +/- 0.00615\n", + " 79/1 1.34815 1.42897 +/- 0.00618\n", + " 80/1 1.30610 1.42721 +/- 0.00634\n", + " 81/1 1.44634 1.42748 +/- 0.00625\n", + " 82/1 1.41633 1.42733 +/- 0.00617\n", + " 83/1 1.45974 1.42777 +/- 0.00610\n", + " 84/1 1.45538 1.42814 +/- 0.00603\n", + " 85/1 1.45563 1.42851 +/- 0.00596\n", + " 86/1 1.37790 1.42785 +/- 0.00592\n", + " 87/1 1.43465 1.42793 +/- 0.00584\n", + " 88/1 1.32547 1.42662 +/- 0.00591\n", + " 89/1 1.37892 1.42602 +/- 0.00587\n", + " 90/1 1.47858 1.42667 +/- 0.00583\n", + " 91/1 1.34703 1.42569 +/- 0.00584\n", + " 92/1 1.47197 1.42625 +/- 0.00580\n", + " 93/1 1.48311 1.42694 +/- 0.00577\n", + " 94/1 1.39298 1.42653 +/- 0.00571\n", + " 95/1 1.52197 1.42766 +/- 0.00576\n", + " 96/1 1.35930 1.42686 +/- 0.00574\n", + " 97/1 1.51529 1.42788 +/- 0.00577\n", + " 98/1 1.45297 1.42816 +/- 0.00571\n", + " 99/1 1.40311 1.42788 +/- 0.00565\n", + " 100/1 1.42293 1.42783 +/- 0.00559\n", " Creating state point statepoint.100.h5...\n", "\n", " =======================> TIMING STATISTICS <=======================\n", "\n", - " Total time for initialization = 2.1104e+00 seconds\n", - " Reading cross sections = 2.0588e+00 seconds\n", - " Total time in simulation = 1.4335e+00 seconds\n", - " Time in transport only = 1.4178e+00 seconds\n", - " Time in inactive batches = 1.3695e-01 seconds\n", - " Time in active batches = 1.2965e+00 seconds\n", - " Time synchronizing fission bank = 6.2387e-03 seconds\n", - " Sampling source sites = 4.8576e-03 seconds\n", - " SEND/RECV source sites = 5.5880e-04 seconds\n", - " Time accumulating tallies = 3.8430e-05 seconds\n", - " Time writing statepoints = 5.5325e-03 seconds\n", - " Total time for finalization = 2.9380e-06 seconds\n", - " Total time elapsed = 3.5537e+00 seconds\n", - " Calculation Rate (inactive) = 73016.9 particles/second\n", - " Calculation Rate (active) = 69415.4 particles/second\n", + " Total time for initialization = 3.5945e+00 seconds\n", + " Reading cross sections = 3.5022e+00 seconds\n", + " Total time in simulation = 1.3932e+00 seconds\n", + " Time in transport only = 1.3779e+00 seconds\n", + " Time in inactive batches = 1.3178e-01 seconds\n", + " Time in active batches = 1.2615e+00 seconds\n", + " Time synchronizing fission bank = 6.1483e-03 seconds\n", + " Sampling source sites = 4.8103e-03 seconds\n", + " SEND/RECV source sites = 5.4429e-04 seconds\n", + " Time accumulating tallies = 4.4751e-05 seconds\n", + " Time writing statepoints = 5.2411e-03 seconds\n", + " Total time for finalization = 3.7780e-06 seconds\n", + " Total time elapsed = 4.9977e+00 seconds\n", + " Calculation Rate (inactive) = 75884 particles/second\n", + " Calculation Rate (active) = 71346.1 particles/second\n", "\n", " ============================> RESULTS <============================\n", "\n", - " k-effective (Collision) = 1.42977 +/- 0.00417\n", - " k-effective (Track-length) = 1.43322 +/- 0.00517\n", - " k-effective (Absorption) = 1.42387 +/- 0.00288\n", - " Combined k-effective = 1.42566 +/- 0.00277\n", - " Leakage Fraction = 0.00000 +/- 0.00000\n", + " k-effective (Collision) = 1.42881 +/- 0.00466\n", + " k-effective (Track-length) = 1.42783 +/- 0.00559\n", + " k-effective (Absorption) = 1.42667 +/- 0.00316\n", + " Combined k-effective = 1.42696 +/- 0.00299\n", + " Leakage Fraction = 0.00163 +/- 0.00017\n", "\n" ] } @@ -2002,7 +2044,7 @@ }, { "cell_type": "code", - "execution_count": 66, + "execution_count": 47, "metadata": {}, "outputs": [], "source": [ @@ -2023,7 +2065,7 @@ }, { "cell_type": "code", - "execution_count": 67, + "execution_count": 48, "metadata": {}, "outputs": [], "source": [ @@ -2039,7 +2081,7 @@ }, { "cell_type": "code", - "execution_count": 69, + "execution_count": 49, "metadata": {}, "outputs": [ { @@ -2075,7 +2117,7 @@ " License | https://docs.openmc.org/en/latest/license.html\n", " Version | 0.14.1-dev\n", " Git SHA1 | 14ce3cec4b388ae8b7ec5b28db57dbcbff06f147\n", - " Date/Time | 2024-03-28 08:25:05\n", + " Date/Time | 2024-03-28 17:52:38\n", " MPI Processes | 1\n", " OpenMP Threads | 8\n", "\n", @@ -2087,7 +2129,7 @@ "\n", " =======================> PLOTTING SUMMARY <========================\n", "\n", - "Plot ID: 8\n", + "Plot ID: 5\n", "Plot file: pinplot.png\n", "Universe depth: -1\n", "Plot Type: Slice\n", @@ -2097,7 +2139,7 @@ "Basis: XY\n", "Pixels: 200 200\n", "\n", - " Processing plot 8: pinplot.png...\n" + " Processing plot 5: pinplot.png...\n" ] } ], @@ -2114,26 +2156,27 @@ }, { "cell_type": "code", - "execution_count": 70, + "execution_count": 50, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "CMakeLists.txt csg_half.png plots.xml\r\n", - "CODEOWNERS \u001b[1m\u001b[36mdocs\u001b[m\u001b[m pyproject.toml\r\n", - "CODE_OF_CONDUCT.md \u001b[1m\u001b[36mexamples\u001b[m\u001b[m pytest.ini\r\n", - "CONTRIBUTING.md geometry.xml \u001b[1m\u001b[36mscripts\u001b[m\u001b[m\r\n", - "Dockerfile \u001b[1m\u001b[36minclude\u001b[m\u001b[m settings.xml\r\n", - "LICENSE \u001b[1m\u001b[36mman\u001b[m\u001b[m \u001b[31msetup.py\u001b[m\u001b[m\r\n", - "MANIFEST.in materials.xml \u001b[1m\u001b[36msrc\u001b[m\u001b[m\r\n", - "Pincell-solution.ipynb mc_bcs.png statepoint.100.h5\r\n", - "Pincell.ipynb model.xml summary.h5\r\n", - "README.md \u001b[1m\u001b[36mopenmc\u001b[m\u001b[m \u001b[1m\u001b[36mtests\u001b[m\u001b[m\r\n", - "bcs.png \u001b[1m\u001b[36mopenmc.egg-info\u001b[m\u001b[m \u001b[1m\u001b[36mtools\u001b[m\u001b[m\r\n", - "\u001b[1m\u001b[36mbuild\u001b[m\u001b[m pincell.png \u001b[1m\u001b[36mvendor\u001b[m\u001b[m\r\n", - "\u001b[1m\u001b[36mcmake\u001b[m\u001b[m pinplot.png\r\n" + "CMakeLists.txt csg_half.png pyproject.toml\r\n", + "CODEOWNERS \u001b[1m\u001b[36mdocs\u001b[m\u001b[m pytest.ini\r\n", + "CODE_OF_CONDUCT.md \u001b[1m\u001b[36mexamples\u001b[m\u001b[m \u001b[1m\u001b[36mscripts\u001b[m\u001b[m\r\n", + "CONTRIBUTING.md geometry.xml settings.xml\r\n", + "Dockerfile \u001b[1m\u001b[36minclude\u001b[m\u001b[m \u001b[31msetup.py\u001b[m\u001b[m\r\n", + "LICENSE \u001b[1m\u001b[36mman\u001b[m\u001b[m \u001b[1m\u001b[36msrc\u001b[m\u001b[m\r\n", + "Lattice-solution.ipynb materials.xml statepoint.100.h5\r\n", + "MANIFEST.in mc_bcs.png summary.h5\r\n", + "Pincell-solution.ipynb model.xml tallies.out\r\n", + "Pincell.ipynb \u001b[1m\u001b[36mopenmc\u001b[m\u001b[m \u001b[1m\u001b[36mtests\u001b[m\u001b[m\r\n", + "README.md \u001b[1m\u001b[36mopenmc.egg-info\u001b[m\u001b[m \u001b[1m\u001b[36mtools\u001b[m\u001b[m\r\n", + "bcs.png pincell.png \u001b[1m\u001b[36mvendor\u001b[m\u001b[m\r\n", + "\u001b[1m\u001b[36mbuild\u001b[m\u001b[m pinplot.png\r\n", + "\u001b[1m\u001b[36mcmake\u001b[m\u001b[m plots.xml\r\n" ] }, { @@ -2143,7 +2186,7 @@ "" ] }, - "execution_count": 70, + "execution_count": 50, "metadata": {}, "output_type": "execute_result" } @@ -2207,7 +2250,7 @@ }, { "cell_type": "code", - "execution_count": 74, + "execution_count": 52, "metadata": {}, "outputs": [ { @@ -2215,7 +2258,7 @@ "output_type": "stream", "text": [ "Tally\n", - "\tID =\t1\n", + "\tID =\t2\n", "\tName =\t\n", "\tFilters =\t\n", "\tNuclides =\t\n", @@ -2228,12 +2271,12 @@ "source": [ "tally1 = openmc.Tally()\n", "tally1.scores = ['fission', 'kappa-fission']\n", - "print(fission_tally)" + "print(tally1)" ] }, { "cell_type": "code", - "execution_count": 75, + "execution_count": 53, "metadata": {}, "outputs": [], "source": [ @@ -2249,7 +2292,7 @@ }, { "cell_type": "code", - "execution_count": 76, + "execution_count": 54, "metadata": {}, "outputs": [ { @@ -2285,7 +2328,7 @@ " License | https://docs.openmc.org/en/latest/license.html\n", " Version | 0.14.1-dev\n", " Git SHA1 | 14ce3cec4b388ae8b7ec5b28db57dbcbff06f147\n", - " Date/Time | 2024-03-28 08:38:59\n", + " Date/Time | 2024-03-28 17:52:53\n", " MPI Processes | 1\n", " OpenMP Threads | 8\n", "\n", @@ -2359,110 +2402,110 @@ " 21/1 1.40115 1.44021 +/- 0.01885\n", " 22/1 1.43731 1.43997 +/- 0.01721\n", " 23/1 1.41573 1.43811 +/- 0.01594\n", - " 24/1 1.46697 1.44017 +/- 0.01490\n", - " 25/1 1.45526 1.44117 +/- 0.01391\n", - " 26/1 1.33933 1.43481 +/- 0.01448\n", - " 27/1 1.42147 1.43402 +/- 0.01363\n", - " 28/1 1.36027 1.42993 +/- 0.01349\n", - " 29/1 1.46546 1.43180 +/- 0.01289\n", - " 30/1 1.45108 1.43276 +/- 0.01227\n", - " 31/1 1.43818 1.43302 +/- 0.01167\n", - " 32/1 1.38295 1.43074 +/- 0.01136\n", - " 33/1 1.42458 1.43048 +/- 0.01086\n", - " 34/1 1.38767 1.42869 +/- 0.01055\n", - " 35/1 1.46454 1.43013 +/- 0.01022\n", - " 36/1 1.45980 1.43127 +/- 0.00988\n", - " 37/1 1.38205 1.42944 +/- 0.00968\n", - " 38/1 1.53672 1.43328 +/- 0.01009\n", - " 39/1 1.47527 1.43472 +/- 0.00984\n", - " 40/1 1.43555 1.43475 +/- 0.00951\n", - " 41/1 1.44548 1.43510 +/- 0.00920\n", - " 42/1 1.44951 1.43555 +/- 0.00892\n", - " 43/1 1.41298 1.43486 +/- 0.00867\n", - " 44/1 1.43609 1.43490 +/- 0.00841\n", - " 45/1 1.41570 1.43435 +/- 0.00819\n", - " 46/1 1.43178 1.43428 +/- 0.00796\n", - " 47/1 1.45867 1.43494 +/- 0.00777\n", - " 48/1 1.44260 1.43514 +/- 0.00756\n", - " 49/1 1.42229 1.43481 +/- 0.00737\n", - " 50/1 1.38440 1.43355 +/- 0.00730\n", - " 51/1 1.38517 1.43237 +/- 0.00721\n", - " 52/1 1.42319 1.43215 +/- 0.00704\n", - " 53/1 1.43385 1.43219 +/- 0.00688\n", - " 54/1 1.43942 1.43236 +/- 0.00672\n", - " 55/1 1.45598 1.43288 +/- 0.00659\n", - " 56/1 1.50437 1.43444 +/- 0.00663\n", - " 57/1 1.52213 1.43630 +/- 0.00675\n", - " 58/1 1.44465 1.43647 +/- 0.00661\n", - " 59/1 1.37110 1.43514 +/- 0.00661\n", - " 60/1 1.38867 1.43421 +/- 0.00654\n", - " 61/1 1.45708 1.43466 +/- 0.00643\n", - " 62/1 1.48771 1.43568 +/- 0.00639\n", - " 63/1 1.32654 1.43362 +/- 0.00660\n", - " 64/1 1.48374 1.43455 +/- 0.00654\n", - " 65/1 1.36924 1.43336 +/- 0.00653\n", - " 66/1 1.43809 1.43345 +/- 0.00641\n", - " 67/1 1.45191 1.43377 +/- 0.00631\n", - " 68/1 1.40404 1.43326 +/- 0.00622\n", - " 69/1 1.36879 1.43216 +/- 0.00621\n", - " 70/1 1.45560 1.43256 +/- 0.00612\n", - " 71/1 1.46420 1.43307 +/- 0.00604\n", - " 72/1 1.31191 1.43112 +/- 0.00625\n", - " 73/1 1.40955 1.43078 +/- 0.00616\n", - " 74/1 1.39632 1.43024 +/- 0.00609\n", - " 75/1 1.47145 1.43087 +/- 0.00603\n", - " 76/1 1.43759 1.43097 +/- 0.00594\n", - " 77/1 1.50169 1.43203 +/- 0.00594\n", - " 78/1 1.36304 1.43102 +/- 0.00594\n", - " 79/1 1.46648 1.43153 +/- 0.00588\n", - " 80/1 1.46316 1.43198 +/- 0.00581\n", - " 81/1 1.44568 1.43217 +/- 0.00573\n", - " 82/1 1.47623 1.43279 +/- 0.00568\n", - " 83/1 1.40690 1.43243 +/- 0.00562\n", - " 84/1 1.43895 1.43252 +/- 0.00554\n", - " 85/1 1.42947 1.43248 +/- 0.00547\n", - " 86/1 1.35926 1.43152 +/- 0.00548\n", - " 87/1 1.41580 1.43131 +/- 0.00541\n", - " 88/1 1.40517 1.43098 +/- 0.00535\n", - " 89/1 1.40848 1.43069 +/- 0.00529\n", - " 90/1 1.50568 1.43163 +/- 0.00531\n", - " 91/1 1.49946 1.43247 +/- 0.00531\n", - " 92/1 1.41449 1.43225 +/- 0.00525\n", - " 93/1 1.50841 1.43317 +/- 0.00527\n", - " 94/1 1.48296 1.43376 +/- 0.00524\n", - " 95/1 1.43579 1.43378 +/- 0.00517\n", - " 96/1 1.37100 1.43305 +/- 0.00517\n", - " 97/1 1.53292 1.43420 +/- 0.00523\n", - " 98/1 1.47074 1.43461 +/- 0.00519\n", - " 99/1 1.38857 1.43410 +/- 0.00516\n", - " 100/1 1.35518 1.43322 +/- 0.00517\n", + " 24/1 1.46427 1.43997 +/- 0.01487\n", + " 25/1 1.45526 1.44099 +/- 0.01389\n", + " 26/1 1.33933 1.43464 +/- 0.01446\n", + " 27/1 1.42147 1.43386 +/- 0.01360\n", + " 28/1 1.36027 1.42978 +/- 0.01346\n", + " 29/1 1.46546 1.43165 +/- 0.01287\n", + " 30/1 1.45070 1.43261 +/- 0.01225\n", + " 31/1 1.48473 1.43509 +/- 0.01191\n", + " 32/1 1.47264 1.43680 +/- 0.01149\n", + " 33/1 1.45237 1.43747 +/- 0.01100\n", + " 34/1 1.41749 1.43664 +/- 0.01056\n", + " 35/1 1.47971 1.43836 +/- 0.01027\n", + " 36/1 1.45378 1.43896 +/- 0.00989\n", + " 37/1 1.35765 1.43594 +/- 0.00998\n", + " 38/1 1.40397 1.43480 +/- 0.00969\n", + " 39/1 1.41697 1.43419 +/- 0.00937\n", + " 40/1 1.40400 1.43318 +/- 0.00910\n", + " 41/1 1.43270 1.43317 +/- 0.00881\n", + " 42/1 1.36535 1.43105 +/- 0.00879\n", + " 43/1 1.43240 1.43109 +/- 0.00851\n", + " 44/1 1.46349 1.43204 +/- 0.00832\n", + " 45/1 1.32866 1.42909 +/- 0.00860\n", + " 46/1 1.32249 1.42613 +/- 0.00886\n", + " 47/1 1.41734 1.42589 +/- 0.00862\n", + " 48/1 1.39802 1.42516 +/- 0.00843\n", + " 49/1 1.54696 1.42828 +/- 0.00878\n", + " 50/1 1.44601 1.42872 +/- 0.00857\n", + " 51/1 1.37546 1.42742 +/- 0.00846\n", + " 52/1 1.48833 1.42887 +/- 0.00838\n", + " 53/1 1.36864 1.42747 +/- 0.00830\n", + " 54/1 1.45539 1.42811 +/- 0.00814\n", + " 55/1 1.47463 1.42914 +/- 0.00802\n", + " 56/1 1.43531 1.42927 +/- 0.00785\n", + " 57/1 1.37650 1.42815 +/- 0.00776\n", + " 58/1 1.43163 1.42822 +/- 0.00760\n", + " 59/1 1.39161 1.42748 +/- 0.00748\n", + " 60/1 1.48475 1.42862 +/- 0.00742\n", + " 61/1 1.47918 1.42961 +/- 0.00734\n", + " 62/1 1.47997 1.43058 +/- 0.00726\n", + " 63/1 1.41811 1.43035 +/- 0.00712\n", + " 64/1 1.41011 1.42997 +/- 0.00700\n", + " 65/1 1.44239 1.43020 +/- 0.00688\n", + " 66/1 1.42912 1.43018 +/- 0.00675\n", + " 67/1 1.39312 1.42953 +/- 0.00666\n", + " 68/1 1.47339 1.43028 +/- 0.00659\n", + " 69/1 1.38559 1.42953 +/- 0.00652\n", + " 70/1 1.42211 1.42940 +/- 0.00641\n", + " 71/1 1.35744 1.42822 +/- 0.00642\n", + " 72/1 1.40876 1.42791 +/- 0.00632\n", + " 73/1 1.53582 1.42962 +/- 0.00645\n", + " 74/1 1.44605 1.42988 +/- 0.00636\n", + " 75/1 1.47428 1.43056 +/- 0.00629\n", + " 76/1 1.37855 1.42977 +/- 0.00625\n", + " 77/1 1.39439 1.42925 +/- 0.00618\n", + " 78/1 1.49117 1.43016 +/- 0.00615\n", + " 79/1 1.34815 1.42897 +/- 0.00618\n", + " 80/1 1.30610 1.42721 +/- 0.00634\n", + " 81/1 1.44634 1.42748 +/- 0.00625\n", + " 82/1 1.41633 1.42733 +/- 0.00617\n", + " 83/1 1.45974 1.42777 +/- 0.00610\n", + " 84/1 1.45538 1.42814 +/- 0.00603\n", + " 85/1 1.45563 1.42851 +/- 0.00596\n", + " 86/1 1.37790 1.42785 +/- 0.00592\n", + " 87/1 1.43465 1.42793 +/- 0.00584\n", + " 88/1 1.32547 1.42662 +/- 0.00591\n", + " 89/1 1.37892 1.42602 +/- 0.00587\n", + " 90/1 1.47858 1.42667 +/- 0.00583\n", + " 91/1 1.34703 1.42569 +/- 0.00584\n", + " 92/1 1.47197 1.42625 +/- 0.00580\n", + " 93/1 1.48311 1.42694 +/- 0.00577\n", + " 94/1 1.39298 1.42653 +/- 0.00571\n", + " 95/1 1.52197 1.42766 +/- 0.00576\n", + " 96/1 1.35930 1.42686 +/- 0.00574\n", + " 97/1 1.51529 1.42788 +/- 0.00577\n", + " 98/1 1.45297 1.42816 +/- 0.00571\n", + " 99/1 1.40311 1.42788 +/- 0.00565\n", + " 100/1 1.42293 1.42783 +/- 0.00559\n", " Creating state point statepoint.100.h5...\n", "\n", " =======================> TIMING STATISTICS <=======================\n", "\n", - " Total time for initialization = 3.5794e+00 seconds\n", - " Reading cross sections = 3.4540e+00 seconds\n", - " Total time in simulation = 1.4620e+00 seconds\n", - " Time in transport only = 1.4332e+00 seconds\n", - " Time in inactive batches = 1.5215e-01 seconds\n", - " Time in active batches = 1.3098e+00 seconds\n", - " Time synchronizing fission bank = 8.7840e-03 seconds\n", - " Sampling source sites = 5.3407e-03 seconds\n", - " SEND/RECV source sites = 8.4401e-04 seconds\n", - " Time accumulating tallies = 4.6549e-03 seconds\n", - " Time writing statepoints = 1.1438e-02 seconds\n", - " Total time for finalization = 2.5647e-04 seconds\n", - " Total time elapsed = 5.0519e+00 seconds\n", - " Calculation Rate (inactive) = 65725.8 particles/second\n", - " Calculation Rate (active) = 68711.2 particles/second\n", + " Total time for initialization = 1.8615e+00 seconds\n", + " Reading cross sections = 1.8077e+00 seconds\n", + " Total time in simulation = 1.6308e+00 seconds\n", + " Time in transport only = 1.6093e+00 seconds\n", + " Time in inactive batches = 1.5203e-01 seconds\n", + " Time in active batches = 1.4788e+00 seconds\n", + " Time synchronizing fission bank = 6.2872e-03 seconds\n", + " Sampling source sites = 4.9126e-03 seconds\n", + " SEND/RECV source sites = 5.4075e-04 seconds\n", + " Time accumulating tallies = 5.1714e-03 seconds\n", + " Time writing statepoints = 5.7013e-03 seconds\n", + " Total time for finalization = 1.9038e-03 seconds\n", + " Total time elapsed = 3.5040e+00 seconds\n", + " Calculation Rate (inactive) = 65778.1 particles/second\n", + " Calculation Rate (active) = 60859.3 particles/second\n", "\n", " ============================> RESULTS <============================\n", "\n", - " k-effective (Collision) = 1.42977 +/- 0.00417\n", - " k-effective (Track-length) = 1.43322 +/- 0.00517\n", - " k-effective (Absorption) = 1.42387 +/- 0.00288\n", - " Combined k-effective = 1.42566 +/- 0.00277\n", - " Leakage Fraction = 0.00000 +/- 0.00000\n", + " k-effective (Collision) = 1.42881 +/- 0.00466\n", + " k-effective (Track-length) = 1.42783 +/- 0.00559\n", + " k-effective (Absorption) = 1.42667 +/- 0.00316\n", + " Combined k-effective = 1.42696 +/- 0.00299\n", + " Leakage Fraction = 0.00163 +/- 0.00017\n", "\n" ] } @@ -2480,21 +2523,9 @@ }, { "cell_type": "code", - "execution_count": 78, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " ============================> TALLY 2 <============================\r\n", - "\r\n", - " Total Material\r\n", - " Fission Rate 0.583959 +/- 0.00211703\r\n", - " Kappa-Fission Rate 1.13055e+08 +/- 409549\r\n" - ] - } - ], + "outputs": [], "source": [ "!cat tallies.out" ] @@ -2508,17 +2539,9 @@ }, { "cell_type": "code", - "execution_count": 81, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "/Users/anovak/projects/openmc/statepoint.100.h5\n" - ] - } - ], + "outputs": [], "source": [ "print(statepoint)" ] @@ -2532,7 +2555,7 @@ }, { "cell_type": "code", - "execution_count": 86, + "execution_count": 55, "metadata": {}, "outputs": [ { @@ -2583,7 +2606,7 @@ }, { "cell_type": "code", - "execution_count": 104, + "execution_count": 56, "metadata": {}, "outputs": [], "source": [ @@ -2592,14 +2615,14 @@ }, { "cell_type": "code", - "execution_count": 108, + "execution_count": 57, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "MeV per fission: 193.60140510889929\n" + "MeV per fission: 193.60144334284888\n" ] } ], @@ -2613,14 +2636,14 @@ }, { "cell_type": "code", - "execution_count": 117, + "execution_count": 58, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "MeV per fission: 193.601405+/-0.992210\n" + "MeV per fission: 193.601443+/-1.078524\n" ] } ], @@ -2653,7 +2676,7 @@ }, { "cell_type": "code", - "execution_count": 118, + "execution_count": 59, "metadata": {}, "outputs": [ { @@ -2670,7 +2693,7 @@ }, { "cell_type": "code", - "execution_count": 119, + "execution_count": 60, "metadata": {}, "outputs": [ { @@ -2679,7 +2702,7 @@ "70" ] }, - "execution_count": 119, + "execution_count": 60, "metadata": {}, "output_type": "execute_result" } @@ -2691,7 +2714,7 @@ }, { "cell_type": "code", - "execution_count": 120, + "execution_count": 61, "metadata": {}, "outputs": [], "source": [ @@ -2702,7 +2725,7 @@ }, { "cell_type": "code", - "execution_count": 94, + "execution_count": 62, "metadata": {}, "outputs": [ { @@ -2738,7 +2761,7 @@ " License | https://docs.openmc.org/en/latest/license.html\n", " Version | 0.14.1-dev\n", " Git SHA1 | 14ce3cec4b388ae8b7ec5b28db57dbcbff06f147\n", - " Date/Time | 2024-03-28 08:54:57\n", + " Date/Time | 2024-03-28 17:53:04\n", " MPI Processes | 1\n", " OpenMP Threads | 8\n", "\n", @@ -2812,110 +2835,110 @@ " 21/1 1.40115 1.44021 +/- 0.01885\n", " 22/1 1.43731 1.43997 +/- 0.01721\n", " 23/1 1.41573 1.43811 +/- 0.01594\n", - " 24/1 1.46697 1.44017 +/- 0.01490\n", - " 25/1 1.45526 1.44117 +/- 0.01391\n", - " 26/1 1.33933 1.43481 +/- 0.01448\n", - " 27/1 1.42147 1.43402 +/- 0.01363\n", - " 28/1 1.36027 1.42993 +/- 0.01349\n", - " 29/1 1.46546 1.43180 +/- 0.01289\n", - " 30/1 1.45108 1.43276 +/- 0.01227\n", - " 31/1 1.43818 1.43302 +/- 0.01167\n", - " 32/1 1.38295 1.43074 +/- 0.01136\n", - " 33/1 1.42458 1.43048 +/- 0.01086\n", - " 34/1 1.38767 1.42869 +/- 0.01055\n", - " 35/1 1.46454 1.43013 +/- 0.01022\n", - " 36/1 1.45980 1.43127 +/- 0.00988\n", - " 37/1 1.38205 1.42944 +/- 0.00968\n", - " 38/1 1.53672 1.43328 +/- 0.01009\n", - " 39/1 1.47527 1.43472 +/- 0.00984\n", - " 40/1 1.43555 1.43475 +/- 0.00951\n", - " 41/1 1.44548 1.43510 +/- 0.00920\n", - " 42/1 1.44951 1.43555 +/- 0.00892\n", - " 43/1 1.41298 1.43486 +/- 0.00867\n", - " 44/1 1.43609 1.43490 +/- 0.00841\n", - " 45/1 1.41570 1.43435 +/- 0.00819\n", - " 46/1 1.43178 1.43428 +/- 0.00796\n", - " 47/1 1.45867 1.43494 +/- 0.00777\n", - " 48/1 1.44260 1.43514 +/- 0.00756\n", - " 49/1 1.42229 1.43481 +/- 0.00737\n", - " 50/1 1.38440 1.43355 +/- 0.00730\n", - " 51/1 1.38517 1.43237 +/- 0.00721\n", - " 52/1 1.42319 1.43215 +/- 0.00704\n", - " 53/1 1.43385 1.43219 +/- 0.00688\n", - " 54/1 1.43942 1.43236 +/- 0.00672\n", - " 55/1 1.45598 1.43288 +/- 0.00659\n", - " 56/1 1.50437 1.43444 +/- 0.00663\n", - " 57/1 1.52213 1.43630 +/- 0.00675\n", - " 58/1 1.44465 1.43647 +/- 0.00661\n", - " 59/1 1.37110 1.43514 +/- 0.00661\n", - " 60/1 1.38867 1.43421 +/- 0.00654\n", - " 61/1 1.45708 1.43466 +/- 0.00643\n", - " 62/1 1.48771 1.43568 +/- 0.00639\n", - " 63/1 1.32654 1.43362 +/- 0.00660\n", - " 64/1 1.48374 1.43455 +/- 0.00654\n", - " 65/1 1.36924 1.43336 +/- 0.00653\n", - " 66/1 1.43809 1.43345 +/- 0.00641\n", - " 67/1 1.45191 1.43377 +/- 0.00631\n", - " 68/1 1.40404 1.43326 +/- 0.00622\n", - " 69/1 1.36879 1.43216 +/- 0.00621\n", - " 70/1 1.45560 1.43256 +/- 0.00612\n", - " 71/1 1.46420 1.43307 +/- 0.00604\n", - " 72/1 1.31191 1.43112 +/- 0.00625\n", - " 73/1 1.40955 1.43078 +/- 0.00616\n", - " 74/1 1.39632 1.43024 +/- 0.00609\n", - " 75/1 1.47145 1.43087 +/- 0.00603\n", - " 76/1 1.43759 1.43097 +/- 0.00594\n", - " 77/1 1.50169 1.43203 +/- 0.00594\n", - " 78/1 1.36304 1.43102 +/- 0.00594\n", - " 79/1 1.46648 1.43153 +/- 0.00588\n", - " 80/1 1.46316 1.43198 +/- 0.00581\n", - " 81/1 1.44568 1.43217 +/- 0.00573\n", - " 82/1 1.47623 1.43279 +/- 0.00568\n", - " 83/1 1.40690 1.43243 +/- 0.00562\n", - " 84/1 1.43895 1.43252 +/- 0.00554\n", - " 85/1 1.42947 1.43248 +/- 0.00547\n", - " 86/1 1.35926 1.43152 +/- 0.00548\n", - " 87/1 1.41580 1.43131 +/- 0.00541\n", - " 88/1 1.40517 1.43098 +/- 0.00535\n", - " 89/1 1.40848 1.43069 +/- 0.00529\n", - " 90/1 1.50568 1.43163 +/- 0.00531\n", - " 91/1 1.49946 1.43247 +/- 0.00531\n", - " 92/1 1.41449 1.43225 +/- 0.00525\n", - " 93/1 1.50841 1.43317 +/- 0.00527\n", - " 94/1 1.48296 1.43376 +/- 0.00524\n", - " 95/1 1.43579 1.43378 +/- 0.00517\n", - " 96/1 1.37100 1.43305 +/- 0.00517\n", - " 97/1 1.53292 1.43420 +/- 0.00523\n", - " 98/1 1.47074 1.43461 +/- 0.00519\n", - " 99/1 1.38857 1.43410 +/- 0.00516\n", - " 100/1 1.35518 1.43322 +/- 0.00517\n", + " 24/1 1.46427 1.43997 +/- 0.01487\n", + " 25/1 1.45526 1.44099 +/- 0.01389\n", + " 26/1 1.33933 1.43464 +/- 0.01446\n", + " 27/1 1.42147 1.43386 +/- 0.01360\n", + " 28/1 1.36027 1.42978 +/- 0.01346\n", + " 29/1 1.46546 1.43165 +/- 0.01287\n", + " 30/1 1.45070 1.43261 +/- 0.01225\n", + " 31/1 1.48473 1.43509 +/- 0.01191\n", + " 32/1 1.47264 1.43680 +/- 0.01149\n", + " 33/1 1.45237 1.43747 +/- 0.01100\n", + " 34/1 1.41749 1.43664 +/- 0.01056\n", + " 35/1 1.47971 1.43836 +/- 0.01027\n", + " 36/1 1.45378 1.43896 +/- 0.00989\n", + " 37/1 1.35765 1.43594 +/- 0.00998\n", + " 38/1 1.40397 1.43480 +/- 0.00969\n", + " 39/1 1.41697 1.43419 +/- 0.00937\n", + " 40/1 1.40400 1.43318 +/- 0.00910\n", + " 41/1 1.43270 1.43317 +/- 0.00881\n", + " 42/1 1.36535 1.43105 +/- 0.00879\n", + " 43/1 1.43240 1.43109 +/- 0.00851\n", + " 44/1 1.46349 1.43204 +/- 0.00832\n", + " 45/1 1.32866 1.42909 +/- 0.00860\n", + " 46/1 1.32249 1.42613 +/- 0.00886\n", + " 47/1 1.41734 1.42589 +/- 0.00862\n", + " 48/1 1.39802 1.42516 +/- 0.00843\n", + " 49/1 1.54696 1.42828 +/- 0.00878\n", + " 50/1 1.44601 1.42872 +/- 0.00857\n", + " 51/1 1.37546 1.42742 +/- 0.00846\n", + " 52/1 1.48833 1.42887 +/- 0.00838\n", + " 53/1 1.36864 1.42747 +/- 0.00830\n", + " 54/1 1.45539 1.42811 +/- 0.00814\n", + " 55/1 1.47463 1.42914 +/- 0.00802\n", + " 56/1 1.43531 1.42927 +/- 0.00785\n", + " 57/1 1.37650 1.42815 +/- 0.00776\n", + " 58/1 1.43163 1.42822 +/- 0.00760\n", + " 59/1 1.39161 1.42748 +/- 0.00748\n", + " 60/1 1.48475 1.42862 +/- 0.00742\n", + " 61/1 1.47918 1.42961 +/- 0.00734\n", + " 62/1 1.47997 1.43058 +/- 0.00726\n", + " 63/1 1.41811 1.43035 +/- 0.00712\n", + " 64/1 1.41011 1.42997 +/- 0.00700\n", + " 65/1 1.44239 1.43020 +/- 0.00688\n", + " 66/1 1.42912 1.43018 +/- 0.00675\n", + " 67/1 1.39312 1.42953 +/- 0.00666\n", + " 68/1 1.47339 1.43028 +/- 0.00659\n", + " 69/1 1.38559 1.42953 +/- 0.00652\n", + " 70/1 1.42211 1.42940 +/- 0.00641\n", + " 71/1 1.35744 1.42822 +/- 0.00642\n", + " 72/1 1.40876 1.42791 +/- 0.00632\n", + " 73/1 1.53582 1.42962 +/- 0.00645\n", + " 74/1 1.44605 1.42988 +/- 0.00636\n", + " 75/1 1.47428 1.43056 +/- 0.00629\n", + " 76/1 1.37855 1.42977 +/- 0.00625\n", + " 77/1 1.39439 1.42925 +/- 0.00618\n", + " 78/1 1.49117 1.43016 +/- 0.00615\n", + " 79/1 1.34815 1.42897 +/- 0.00618\n", + " 80/1 1.30610 1.42721 +/- 0.00634\n", + " 81/1 1.44634 1.42748 +/- 0.00625\n", + " 82/1 1.41633 1.42733 +/- 0.00617\n", + " 83/1 1.45974 1.42777 +/- 0.00610\n", + " 84/1 1.45538 1.42814 +/- 0.00603\n", + " 85/1 1.45563 1.42851 +/- 0.00596\n", + " 86/1 1.37790 1.42785 +/- 0.00592\n", + " 87/1 1.43465 1.42793 +/- 0.00584\n", + " 88/1 1.32547 1.42662 +/- 0.00591\n", + " 89/1 1.37892 1.42602 +/- 0.00587\n", + " 90/1 1.47858 1.42667 +/- 0.00583\n", + " 91/1 1.34703 1.42569 +/- 0.00584\n", + " 92/1 1.47197 1.42625 +/- 0.00580\n", + " 93/1 1.48311 1.42694 +/- 0.00577\n", + " 94/1 1.39298 1.42653 +/- 0.00571\n", + " 95/1 1.52197 1.42766 +/- 0.00576\n", + " 96/1 1.35930 1.42686 +/- 0.00574\n", + " 97/1 1.51529 1.42788 +/- 0.00577\n", + " 98/1 1.45297 1.42816 +/- 0.00571\n", + " 99/1 1.40311 1.42788 +/- 0.00565\n", + " 100/1 1.42293 1.42783 +/- 0.00559\n", " Creating state point statepoint.100.h5...\n", "\n", " =======================> TIMING STATISTICS <=======================\n", "\n", - " Total time for initialization = 3.6484e+00 seconds\n", - " Reading cross sections = 3.5290e+00 seconds\n", - " Total time in simulation = 1.8423e+00 seconds\n", - " Time in transport only = 1.8148e+00 seconds\n", - " Time in inactive batches = 1.5020e-01 seconds\n", - " Time in active batches = 1.6921e+00 seconds\n", - " Time synchronizing fission bank = 6.6158e-03 seconds\n", - " Sampling source sites = 5.1956e-03 seconds\n", - " SEND/RECV source sites = 5.7826e-04 seconds\n", - " Time accumulating tallies = 9.0792e-03 seconds\n", - " Time writing statepoints = 7.7347e-03 seconds\n", - " Total time for finalization = 5.8276e-04 seconds\n", - " Total time elapsed = 5.5023e+00 seconds\n", - " Calculation Rate (inactive) = 66578.2 particles/second\n", - " Calculation Rate (active) = 53189.2 particles/second\n", + " Total time for initialization = 1.7547e+00 seconds\n", + " Reading cross sections = 1.7063e+00 seconds\n", + " Total time in simulation = 1.7648e+00 seconds\n", + " Time in transport only = 1.7410e+00 seconds\n", + " Time in inactive batches = 1.2309e-01 seconds\n", + " Time in active batches = 1.6417e+00 seconds\n", + " Time synchronizing fission bank = 5.9754e-03 seconds\n", + " Sampling source sites = 4.6510e-03 seconds\n", + " SEND/RECV source sites = 5.4439e-04 seconds\n", + " Time accumulating tallies = 7.7004e-03 seconds\n", + " Time writing statepoints = 6.2223e-03 seconds\n", + " Total time for finalization = 6.3069e-04 seconds\n", + " Total time elapsed = 3.5296e+00 seconds\n", + " Calculation Rate (inactive) = 81241.8 particles/second\n", + " Calculation Rate (active) = 54820.3 particles/second\n", "\n", " ============================> RESULTS <============================\n", "\n", - " k-effective (Collision) = 1.42977 +/- 0.00417\n", - " k-effective (Track-length) = 1.43322 +/- 0.00517\n", - " k-effective (Absorption) = 1.42387 +/- 0.00288\n", - " Combined k-effective = 1.42566 +/- 0.00277\n", - " Leakage Fraction = 0.00000 +/- 0.00000\n", + " k-effective (Collision) = 1.42881 +/- 0.00466\n", + " k-effective (Track-length) = 1.42783 +/- 0.00559\n", + " k-effective (Absorption) = 1.42667 +/- 0.00316\n", + " Combined k-effective = 1.42696 +/- 0.00299\n", + " Leakage Fraction = 0.00163 +/- 0.00017\n", "\n" ] } @@ -2927,7 +2950,7 @@ }, { "cell_type": "code", - "execution_count": 95, + "execution_count": 63, "metadata": {}, "outputs": [ { @@ -2937,220 +2960,220 @@ " ============================> TALLY 2 <============================\r\n", "\r\n", " Total Material\r\n", - " Fission Rate 0.583959 +/- 0.00211703\r\n", - " Kappa-Fission Rate 1.13055e+08 +/- 409549\r\n", + " Fission Rate 0.581783 +/- 0.00229294\r\n", + " Kappa-Fission Rate 1.12634e+08 +/- 443455\r\n", " ============================> TALLY 3 <============================\r\n", "\r\n", " Incoming Energy [0, 0.005)\r\n", " Total Material\r\n", - " Flux 0.0457132 +/- 0.000665709\r\n", + " Flux 0.0453976 +/- 0.000736087\r\n", " Incoming Energy [0.005, 0.01)\r\n", " Total Material\r\n", - " Flux 0.121345 +/- 0.00151265\r\n", + " Flux 0.121742 +/- 0.00132703\r\n", " Incoming Energy [0.01, 0.015)\r\n", " Total Material\r\n", - " Flux 0.176171 +/- 0.00166044\r\n", + " Flux 0.177446 +/- 0.00165249\r\n", " Incoming Energy [0.015, 0.02)\r\n", " Total Material\r\n", - " Flux 0.215397 +/- 0.00181564\r\n", + " Flux 0.214019 +/- 0.00163567\r\n", " Incoming Energy [0.02, 0.025)\r\n", " Total Material\r\n", - " Flux 0.238796 +/- 0.00196328\r\n", + " Flux 0.237304 +/- 0.00214234\r\n", " Incoming Energy [0.025, 0.03)\r\n", " Total Material\r\n", - " Flux 0.255138 +/- 0.00239468\r\n", + " Flux 0.254086 +/- 0.00209678\r\n", " Incoming Energy [0.03, 0.035)\r\n", " Total Material\r\n", - " Flux 0.260194 +/- 0.00240036\r\n", + " Flux 0.255185 +/- 0.00217766\r\n", " Incoming Energy [0.035, 0.042)\r\n", " Total Material\r\n", - " Flux 0.357447 +/- 0.00283636\r\n", + " Flux 0.36118 +/- 0.00286327\r\n", " Incoming Energy [0.042, 0.05)\r\n", " Total Material\r\n", - " Flux 0.386343 +/- 0.0028299\r\n", + " Flux 0.390554 +/- 0.00311077\r\n", " Incoming Energy [0.05, 0.058)\r\n", " Total Material\r\n", - " Flux 0.351923 +/- 0.00286945\r\n", + " Flux 0.354584 +/- 0.00340184\r\n", " Incoming Energy [0.058, 0.067)\r\n", " Total Material\r\n", - " Flux 0.355783 +/- 0.00311098\r\n", + " Flux 0.358517 +/- 0.0027362\r\n", " Incoming Energy [0.067, 0.08)\r\n", " Total Material\r\n", - " Flux 0.435068 +/- 0.00329774\r\n", + " Flux 0.433362 +/- 0.00347373\r\n", " Incoming Energy [0.08, 0.1)\r\n", " Total Material\r\n", - " Flux 0.504332 +/- 0.00435987\r\n", + " Flux 0.505304 +/- 0.00393269\r\n", " Incoming Energy [0.1, 0.14)\r\n", " Total Material\r\n", - " Flux 0.624721 +/- 0.00480502\r\n", + " Flux 0.633421 +/- 0.00504119\r\n", " Incoming Energy [0.14, 0.18)\r\n", " Total Material\r\n", - " Flux 0.35522 +/- 0.00303135\r\n", + " Flux 0.351153 +/- 0.00338567\r\n", " Incoming Energy [0.18, 0.22)\r\n", " Total Material\r\n", - " Flux 0.242114 +/- 0.00280216\r\n", + " Flux 0.23489 +/- 0.00255307\r\n", " Incoming Energy [0.22, 0.25)\r\n", " Total Material\r\n", - " Flux 0.136181 +/- 0.00194256\r\n", + " Flux 0.136738 +/- 0.00173787\r\n", " Incoming Energy [0.25, 0.28)\r\n", " Total Material\r\n", - " Flux 0.119005 +/- 0.00194559\r\n", + " Flux 0.116409 +/- 0.00164422\r\n", " Incoming Energy [0.28, 0.3)\r\n", " Total Material\r\n", - " Flux 0.0708186 +/- 0.00136268\r\n", + " Flux 0.0691176 +/- 0.00123652\r\n", " Incoming Energy [0.3, 0.32)\r\n", " Total Material\r\n", - " Flux 0.0661959 +/- 0.00103992\r\n", + " Flux 0.0675157 +/- 0.00144419\r\n", " Incoming Energy [0.32, 0.35)\r\n", " Total Material\r\n", - " Flux 0.0926505 +/- 0.00131443\r\n", + " Flux 0.0906064 +/- 0.00164951\r\n", " Incoming Energy [0.35, 0.4)\r\n", " Total Material\r\n", - " Flux 0.135609 +/- 0.0019383\r\n", + " Flux 0.132927 +/- 0.00170577\r\n", " Incoming Energy [0.4, 0.5)\r\n", " Total Material\r\n", - " Flux 0.228263 +/- 0.00268684\r\n", + " Flux 0.226544 +/- 0.00227151\r\n", " Incoming Energy [0.5, 0.625)\r\n", " Total Material\r\n", - " Flux 0.224994 +/- 0.0027346\r\n", + " Flux 0.227798 +/- 0.00303226\r\n", " Incoming Energy [0.625, 0.78)\r\n", " Total Material\r\n", - " Flux 0.218064 +/- 0.0024646\r\n", + " Flux 0.224419 +/- 0.0025656\r\n", " Incoming Energy [0.78, 0.85)\r\n", " Total Material\r\n", - " Flux 0.0857895 +/- 0.00181791\r\n", + " Flux 0.0852675 +/- 0.00153001\r\n", " Incoming Energy [0.85, 0.91)\r\n", " Total Material\r\n", - " Flux 0.0674892 +/- 0.00129585\r\n", + " Flux 0.0663865 +/- 0.00138148\r\n", " Incoming Energy [0.91, 0.95)\r\n", " Total Material\r\n", - " Flux 0.0419293 +/- 0.00116542\r\n", + " Flux 0.0409562 +/- 0.000983402\r\n", " Incoming Energy [0.95, 0.972)\r\n", " Total Material\r\n", - " Flux 0.0220668 +/- 0.000753052\r\n", + " Flux 0.0221144 +/- 0.000688345\r\n", " Incoming Energy [0.972, 0.996)\r\n", " Total Material\r\n", - " Flux 0.0248529 +/- 0.000713279\r\n", + " Flux 0.0230513 +/- 0.000846911\r\n", " Incoming Energy [0.996, 1.02)\r\n", " Total Material\r\n", - " Flux 0.0225922 +/- 0.000701955\r\n", + " Flux 0.0226316 +/- 0.00070782\r\n", " Incoming Energy [1.02, 1.045)\r\n", " Total Material\r\n", - " Flux 0.0247299 +/- 0.00076446\r\n", + " Flux 0.0240545 +/- 0.000799047\r\n", " Incoming Energy [1.045, 1.071)\r\n", " Total Material\r\n", - " Flux 0.0238825 +/- 0.000775237\r\n", + " Flux 0.0236844 +/- 0.000864848\r\n", " Incoming Energy [1.071, 1.097)\r\n", " Total Material\r\n", - " Flux 0.0233194 +/- 0.000792152\r\n", + " Flux 0.0227409 +/- 0.000763818\r\n", " Incoming Energy [1.097, 1.123)\r\n", " Total Material\r\n", - " Flux 0.0219652 +/- 0.000706266\r\n", + " Flux 0.0212896 +/- 0.000663318\r\n", " Incoming Energy [1.123, 1.15)\r\n", " Total Material\r\n", - " Flux 0.0234541 +/- 0.000771358\r\n", + " Flux 0.0218843 +/- 0.000730781\r\n", " Incoming Energy [1.15, 1.3)\r\n", " Total Material\r\n", - " Flux 0.116536 +/- 0.0017112\r\n", + " Flux 0.116056 +/- 0.00164544\r\n", " Incoming Energy [1.3, 1.5)\r\n", " Total Material\r\n", - " Flux 0.139539 +/- 0.00207028\r\n", + " Flux 0.138343 +/- 0.00208071\r\n", " Incoming Energy [1.5, 1.855)\r\n", " Total Material\r\n", - " Flux 0.201492 +/- 0.00264494\r\n", + " Flux 0.201696 +/- 0.00244502\r\n", " Incoming Energy [1.855, 2.1)\r\n", " Total Material\r\n", - " Flux 0.118973 +/- 0.00179859\r\n", + " Flux 0.11583 +/- 0.00196992\r\n", " Incoming Energy [2.1, 2.6)\r\n", " Total Material\r\n", - " Flux 0.202105 +/- 0.00243999\r\n", + " Flux 0.205274 +/- 0.00257039\r\n", " Incoming Energy [2.6, 3.3)\r\n", " Total Material\r\n", - " Flux 0.223786 +/- 0.00248979\r\n", + " Flux 0.22677 +/- 0.00245925\r\n", " Incoming Energy [3.3, 4)\r\n", " Total Material\r\n", - " Flux 0.177848 +/- 0.00218799\r\n", + " Flux 0.178524 +/- 0.00259963\r\n", " Incoming Energy [4, 9.877)\r\n", " Total Material\r\n", - " Flux 0.782978 +/- 0.0050225\r\n", + " Flux 0.781006 +/- 0.00494382\r\n", " Incoming Energy [9.877, 15.968)\r\n", " Total Material\r\n", - " Flux 0.469465 +/- 0.00376136\r\n", + " Flux 0.476281 +/- 0.00396726\r\n", " Incoming Energy [15.968, 27.7)\r\n", " Total Material\r\n", - " Flux 0.523777 +/- 0.00440013\r\n", + " Flux 0.522022 +/- 0.00358601\r\n", " Incoming Energy [27.7, 48.052)\r\n", " Total Material\r\n", - " Flux 0.551735 +/- 0.00406001\r\n", + " Flux 0.550981 +/- 0.00392878\r\n", " Incoming Energy [48.052, 75.501)\r\n", " Total Material\r\n", - " Flux 0.482261 +/- 0.00452307\r\n", + " Flux 0.47272 +/- 0.00427859\r\n", " Incoming Energy [75.501, 148.73)\r\n", " Total Material\r\n", - " Flux 0.729614 +/- 0.00452232\r\n", + " Flux 0.722731 +/- 0.00471049\r\n", " Incoming Energy [148.73, 367.26)\r\n", " Total Material\r\n", - " Flux 1.01315 +/- 0.00512937\r\n", + " Flux 1.01279 +/- 0.00545347\r\n", " Incoming Energy [367.26, 906.9)\r\n", " Total Material\r\n", - " Flux 1.05411 +/- 0.00574298\r\n", + " Flux 1.04418 +/- 0.00553079\r\n", " Incoming Energy [906.9, 1425.1)\r\n", " Total Material\r\n", - " Flux 0.52881 +/- 0.00422664\r\n", + " Flux 0.538633 +/- 0.00400922\r\n", " Incoming Energy [1425.1, 2239.5)\r\n", " Total Material\r\n", - " Flux 0.538953 +/- 0.00408559\r\n", + " Flux 0.537251 +/- 0.00446093\r\n", " Incoming Energy [2239.5, 3519.1)\r\n", " Total Material\r\n", - " Flux 0.543494 +/- 0.00430556\r\n", + " Flux 0.545527 +/- 0.00408891\r\n", " Incoming Energy [3519.1, 5530)\r\n", " Total Material\r\n", - " Flux 0.555689 +/- 0.00395481\r\n", + " Flux 0.553422 +/- 0.00432449\r\n", " Incoming Energy [5530, 9118)\r\n", " Total Material\r\n", - " Flux 0.634656 +/- 0.00453753\r\n", + " Flux 0.629065 +/- 0.00471568\r\n", " Incoming Energy [9118, 15030)\r\n", " Total Material\r\n", - " Flux 0.658286 +/- 0.00462372\r\n", + " Flux 0.649299 +/- 0.00469207\r\n", " Incoming Energy [15030, 24780)\r\n", " Total Material\r\n", - " Flux 0.689589 +/- 0.00546574\r\n", + " Flux 0.695172 +/- 0.00500171\r\n", " Incoming Energy [24780, 40850)\r\n", " Total Material\r\n", - " Flux 0.737437 +/- 0.0056548\r\n", + " Flux 0.747476 +/- 0.0061985\r\n", " Incoming Energy [40850, 67340)\r\n", " Total Material\r\n", - " Flux 0.827757 +/- 0.00606116\r\n", + " Flux 0.823449 +/- 0.00664113\r\n", " Incoming Energy [67340, 111000)\r\n", " Total Material\r\n", - " Flux 0.961624 +/- 0.00743421\r\n", + " Flux 0.952249 +/- 0.00742562\r\n", " Incoming Energy [111000, 183000)\r\n", " Total Material\r\n", - " Flux 1.1839 +/- 0.00705451\r\n", + " Flux 1.18162 +/- 0.0066215\r\n", " Incoming Energy [183000, 302500)\r\n", " Total Material\r\n", - " Flux 1.53502 +/- 0.0102138\r\n", + " Flux 1.53498 +/- 0.00971482\r\n", " Incoming Energy [302500, 500000)\r\n", " Total Material\r\n", - " Flux 1.74887 +/- 0.0117573\r\n", + " Flux 1.74329 +/- 0.0114778\r\n", " Incoming Energy [500000, 821000)\r\n", " Total Material\r\n", - " Flux 2.57364 +/- 0.0160141\r\n", + " Flux 2.54164 +/- 0.0154229\r\n", " Incoming Energy [821000, 1353000)\r\n", " Total Material\r\n", - " Flux 2.43281 +/- 0.0186327\r\n", + " Flux 2.43237 +/- 0.0181762\r\n", " Incoming Energy [1353000, 2231000)\r\n", " Total Material\r\n", - " Flux 2.63484 +/- 0.0194829\r\n", + " Flux 2.60684 +/- 0.0199169\r\n", " Incoming Energy [2231000, 3679000)\r\n", " Total Material\r\n", - " Flux 2.42532 +/- 0.0198481\r\n", + " Flux 2.47805 +/- 0.0227841\r\n", " Incoming Energy [3679000, 6065500)\r\n", " Total Material\r\n", - " Flux 1.22594 +/- 0.0159079\r\n", + " Flux 1.18705 +/- 0.0141164\r\n", " Incoming Energy [6065500, 20000000)\r\n", " Total Material\r\n", - " Flux 0.301658 +/- 0.00830272\r\n" + " Flux 0.303115 +/- 0.00857521\r\n" ] } ], @@ -3160,7 +3183,7 @@ }, { "cell_type": "code", - "execution_count": 96, + "execution_count": 64, "metadata": {}, "outputs": [], "source": [ @@ -3172,7 +3195,7 @@ }, { "cell_type": "code", - "execution_count": 127, + "execution_count": 65, "metadata": {}, "outputs": [], "source": [ @@ -3181,12 +3204,20 @@ }, { "cell_type": "code", - "execution_count": 141, + "execution_count": 66, "metadata": {}, "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/anovak/projects/openmc/openmc/filter.py:1411: RuntimeWarning: divide by zero encountered in divide\n", + " return np.log10(self.bins[:, 1]/self.bins[:, 0])\n" + ] + }, { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkIAAAG1CAYAAAAV2Js8AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA1FUlEQVR4nO3deXRUVb728acSMkNCGBoShoCAIiRhMAQCrQwdQCYVpBlEZVAExQFYl1dwQEURaW3kClxQ72rAvspFbETEBloQBJUrhDEhLUNLhwgSOhISkkASw3n/UKopMlUlNaXO97NWrWWdOqfOLzmx6mHvffa2GIZhCAAAwIT8PF0AAACApxCEAACAaRGEAACAaRGEAACAaRGEAACAaRGEAACAaRGEAACAaRGEAACAadXxdAHe6urVqzp79qzq1asni8Xi6XIAAIAdDMPQpUuXFB0dLT+/qtt7CEIVOHv2rFq0aOHpMgAAQDVkZmaqefPmVe5HEKpAvXr1JP3yiwwPD/dwNQAAwB55eXlq0aKF9Xu8KgShClzrDgsPDycIAQBQy9g7rIXB0gAAwLQIQgAAwLQIQgAAwLQIQgAAwLQIQgAAwLQIQgAAwLQIQgAAwLQIQgAAwLQIQgAAwLQIQgAAwLQIQgAAwLRYawwAAB9hGIYul5TatW9IgL/d63H5MoIQAAA+wDAMjVyxR/szcuzaPyEmUuumJpk+DNXKrrFdu3Zp2LBhio6OlsVi0YYNG6yvlZSU6Omnn1ZcXJzCwsIUHR2tBx98UGfPnvVcwQAAuNjlklK7Q5AkpWTk2N165MtqZYtQQUGBOnXqpEmTJmnEiBE2rxUWFurAgQN6/vnn1alTJ+Xk5Oipp57SXXfdpZSUFA9VDACA+6Q8l6zQQP9yXyssLlXCK9vcXJH3qpVBaNCgQRo0aFC5r0VEROjzzz+32bZ06VIlJibq9OnTatmypTtKBADAY0ID/RUaWCu/4t3OFL+l3NxcWSwW1a9fv8J9ioqKVFRUZH2el5fnhsoAAGbkyKBmiYHNruTzQejKlSt6+umnNXbsWIWHh1e434IFC/TSSy+5sTIAgBk5OqhZYmCzK9XKwdL2Kikp0ahRo2QYhpYvX17pvnPmzFFubq71kZmZ6aYqAQBm4uigZomBza7ksy1C10JQRkaGvvjii0pbgyQpKChIQUFBbqoOAIDKBzVLDGx2B58MQtdC0IkTJ7Rjxw41bNjQ0yUBAFAGg5o9r1b+9vPz83Xy5Enr81OnTunQoUNq0KCBoqKiNHLkSB04cECbNm1SaWmpzp07J0lq0KCBAgMDPVU2AADwMrUyCKWkpKhv377W5zNnzpQkjR8/Xi+++KI2btwoSercubPNcTt27FCfPn3cVSYAAPBytTII9enTR4ZhVPh6Za8BAABc49N3jQEAAFSGIAQAAEyLIAQAAEyLIAQAAEyLIAQAAEyLIAQAAEyLIAQAAEyLIAQAAEyLIAQAAEyLIAQAAEyLIAQAAEyLIAQAAEyLIAQAAEyrVq4+DwCA2RQWl9bodZSPIAQAQC2Q8Mo2p7+nveEpJMBfFovF6ef3BgQhAAC8VEiAvxJiIpWSkWP3MQkxkQoJ8LdvXzvDVUJMpNZNTfLJMEQQAgDAS1ksFq2bmqTLJfZ3e1XVelOdcJWSkaPLJaUKDfS92OB7PxEAAD7EYrE4NYA4Eq4Ki0td0iXnTQhCAACYjLPDVW3G7fMAAMC0CEIAAMC0CEIAAMC0CEIAAMC0CEIAAMC0CEIAAMC0CEIAAMC0CEIAAMC0CEIAAMC0CEIAAMC0CEIAAMC0CEIAAMC0CEIAAMC0CEIAAMC0CEIAAMC0CEIAAMC0CEIAAMC0CEIAAMC0CEIAAMC0CEIAAMC0CEIAAMC0CEIAAMC0CEIAAMC0CEIAAMC0CEIAAMC0amUQ2rVrl4YNG6bo6GhZLBZt2LDB5nXDMDR37lxFRUUpJCREycnJOnHihGeKBQAAXqtWBqGCggJ16tRJy5YtK/f1P/zhD3rrrbe0YsUKffvttwoLC9PAgQN15coVN1cKAAC8WR1PF1AdgwYN0qBBg8p9zTAMLV68WM8995zuvvtuSdJ7772nJk2aaMOGDRozZow7SwUAAF6sVrYIVebUqVM6d+6ckpOTrdsiIiLUvXt37dmzp8LjioqKlJeXZ/MAAAC+zeeC0Llz5yRJTZo0sdnepEkT62vlWbBggSIiIqyPFi1auLROAADgeT4XhKprzpw5ys3NtT4yMzM9XRIAAHAxnwtCTZs2lSRlZWXZbM/KyrK+Vp6goCCFh4fbPAAAgG/zuSDUunVrNW3aVNu3b7duy8vL07fffqukpCQPVgYAALxNrbxrLD8/XydPnrQ+P3XqlA4dOqQGDRqoZcuWmj59ul555RW1a9dOrVu31vPPP6/o6Gjdc889nisaAAB4nVoZhFJSUtS3b1/r85kzZ0qSxo8fr1WrVun//b//p4KCAj3yyCO6ePGifvvb32rLli0KDg72VMkAAMAL1cog1KdPHxmGUeHrFotF8+bN07x589xYFQAAqG18bowQAACAvQhCAADAtAhCAADAtAhCAADAtAhCAADAtAhCAADAtAhCAADAtAhCAADAtAhCAADAtAhCAADAtAhCAADAtAhCAADAtAhCAADAtAhCAADAtAhCAADAtAhCAADAtAhCAADAtAhCAADAtAhCAADAtAhCAADAtAhCAADAtAhCAADAtAhCAADAtAhCAADAtAhCAADAtAhCAADAtAhCAADAtAhCAADAtAhCAADAtAhCAADAtAhCAADAtAhCAADAtAhCAADAtAhCAADAtAhCAADAtAhCAADAtAhCAADAtAhCAADAtAhCAADAtAhCAADAtAhCAADAtOo4881KSkp07tw5FRYWqnHjxmrQoIEz3x4AAMCpatwidOnSJS1fvly9e/dWeHi4WrVqpVtvvVWNGzdWTEyMJk+erH379jmjVgAAAKeqURBatGiRWrVqpZUrVyo5OVkbNmzQoUOHdPz4ce3Zs0cvvPCCfv75Zw0YMEB33nmnTpw44ay6AQAAaqxGXWP79u3Trl271LFjx3JfT0xM1KRJk7RixQqtXLlSu3fvVrt27WpySgAAAKepUYvQmjVrKgxB1wsKCtLUqVM1adKkmpzOIaWlpXr++efVunVrhYSEqE2bNnr55ZdlGIbbagAAAN7NqYOlr+fv76/S0lJXvX2VFi5cqOXLl2v16tXq2LGjUlJSNHHiREVEROjJJ5/0WF0AAN9kGIYul1T9vVdY7LnvRpTlsiDk6ZaXb775RnfffbeGDBkiSWrVqpXWrFmjvXv3erQuAIDvMQxDI1fs0f6MHE+XAge5bB4hi8Vi8zw7O1uvvvqqXn/9dVed0kbPnj21fft2HT9+XJJ0+PBhffXVVxo0aFC5+xcVFSkvL8/mAQCAPS6XlDocghJiIhUS4O+iimAvl7UI3WjkyJEaO3as3nrrLc2aNUupqal6//339dprr7nkfLNnz1ZeXp7at29v7aabP3++xo0bV+7+CxYs0EsvveSSWgAA5pHyXLJCA6sOOCEB/mUaDeB+bptZuqCgQFOmTFFgYKAkKS4uTlu3bnXZ+T788EO9//77+uCDD3TgwAGtXr1ab7zxhlavXl3u/nPmzFFubq71kZmZ6bLaAAC+KzTQX6GBdap8EIK8g9tahJo0aaKzZ8/aXPgrV6647HyzZs3S7NmzNWbMGEm/BK+MjAwtWLBA48ePL7N/UFCQgoKCXFYPAADwPm4LQosXL9aECRN0/vx5rV27Vlu2bFH79u1ddr7CwkL5+dk2ePn7++vq1asuOycAAKhdXB6Epk+frk6dOik+Pl4fffSRtmzZorS0NHXr1k0TJkxw2XmHDRum+fPnq2XLlurYsaMOHjyoRYsWuXUuIwAA4N1cHoT69eunI0eOaPPmzUpPT5ckdezYUUFBQdq+fbuGDRvmkvMuWbJEzz//vB577DGdP39e0dHRmjJliubOneuS8wEAgNrH5UHorrvu0l133WV9fuXKFaWlpenIkSP64osvXBaE6tWrp8WLF2vx4sUueX8AAFD7uW2M0A8//KCoqCgFBwcrISFBCQkJ7jo1AABAuRy+fX7FihVKTExU//79NXPmTK1cuVIpKSlVHjd48GDl5+dbn+fk5DDLMwAA8CiHW4QWLlyoL774QoZhKC0tTampqfrb3/6mNWvWVH6iOnUUERFhfR4REaFHH31U+/fvd7xqAAAAJ3A4CHXq1ElNmjRRaGiobrrpJpvxP5Vp3ry5du/erdtvv12S5Ofnp+LiYkdPDwAA4DQOB6Fnn31WQ4YM0ZNPPqnu3bsrOjraruOWLFmiIUOGKCkpSYmJiUpNTVXLli0dLhgAAMBZHB4j9OCDD6pDhw7atm2bxowZo5tuukl9+vSp8riYmBgdPHhQ/fv31+nTp3XzzTdr7dq11akZAADAKRxuEapfv76WLVtms+2HH36ocP8333xTM2bM0NGjR9W+fXuNGjVKo0aNcrxSAAAAJ3M4CHXv3l2rVq2ymRW6efPmFe7fuXNnSdKMGTOUkZGhkJAQdezYUXFxcYqNjdXQoUMdLhoAAMAZHA5Cp06d0saNGzVv3jx169ZN8fHxio+Pr3BixL59+0qSfvrpJx07dkyXLl1Senq6UlNTtXTpUoIQAADwGIeD0LJly9S0aVNduXJFR48eVWpqaqVLZXz66adKT09Xfn6+MjMz1aJFC3Xv3l3du3fXkiVLavwDAAAAVJfDQWjw4MHavXu3IiIi1L17d918882Kj4+vcP/Y2FhlZmYqOztbDz74oE6fPq1mzZopKipKAQEBNSoeAACgJhwOQo5OjNi6dWtNnTpV2dnZ1gVPz5w5o4yMDMXGxlazbAAAgJpz+Pb5axMjWt/AjokR/fz89Nlnn1mfN2vWTD179lR4eLijpwcAAHAah1uEli5dqsGDBzs8MWJCQoKWLl2qxx9/vFqFAgAAOJvDLUItW7as1sSIP/zwgxYtWqRWrVrpvvvu04IFC7Rp06ZqFQ0AAOAMDrcISVJAQIDDEyN+8sknkqT8/Hzr3Waff/45t88DAACPqVYQqo6SkhLt3LlTwcHB6tChg7p37+6uUwMAAJSr2kHo3Llzatq0qd37jxgxQlFRUVq/fr0iIyNVWFio+Ph4bd68ubolAAAA1Ei1g9CAAQN05MgRu/c/ffq0Pv30U+3du1eHDh3SsmXLlJGRUd3TAwDgcoZh6HJJaZX7FRZXvQ+8U7WDkGEYDu0fHBwsSQoMDFRxcbGmTZumnj17Vvf0AAC4lGEYGrlij/Zn5Hi6FLhQtYOQxWJxaP8nn3xSFy5c0IgRIzR16lT16tVL2dnZ1T09AAAudbmk1OEQlBATqZAAfxdVBFdw22DpcePGSZJmz56tVatW6ejRo/roo4/cdXoAAKot5blkhQZWHXBCAvwdbiiAZ7ktCB04cEBvvPGGLl68qLi4OD322GNq3bq1u04PAEC1hQb6KzTQbV+ZcCOHJ1S8xt/fsaa/0aNHa+jQoZo/f75uvvlmjRgxQn/729+qe3oAAIAaq3a8PXjwoEP7R0ZG6r777pMkdenSRffcc4/69eunAQMGVLcEAACAGql2i5Cj2rRpoz/+8Y/Wu83q16/vrlMDAACUy21BqKioSMuXL1fLli115513KjY2VsnJyTpz5oy7SgAAALDhcNdYdna23nnnHQUEBGjWrFl2H7d+/XpJUkFBgVJTU3XkyBEdOXJEY8eO1dmzZ3Xy5ElHSwEAAKgRh1uERo4cqYYNG2rVqlWSpNTUVM2ePdvu48PCwtSjRw898sgjWrp0qXbt2kUIAgAAHuFwECooKNCUKVMUGBgoSYqLi9PWrVudXhgAAICrORyEmjRporNnz9pMGHXlyhW7jz937pyjpwQAAHAJh4PQ4sWLNWHCBJ0/f15r167VxIkT1b59e7uP53Z5AADgLRweLN22bVtt2rRJGzZsUGpqqhISEjRx4kS7j3d0sVYAAABXsTsITZ8+XZ06dVJ8fLxiY2M1atQojRo1yuETsgYLAADwFnYHoX79+unIkSPavHmzjh49KovFoo4dOyo+Pl7x8fEaNmyYK+sEAABwOruD0F133aW77rpLmZmZioqK0s8//6y0tDQdOXJEX3zxBUEIAADUOg6PERoyZIh2796tiIgIJSQkqE2bNoqNjbX7eEcXawUAAHAVh+8aq1OnjiIiIqzPIyIi9Oijj9p9vKOLtQIAALiKw0GoefPm2r1797/fwM9PxcXFTi0KAADAHRzuGluyZImGDBmipKQkJSYmKjU1VS1btnRFbQAAAC7lcItQTEyMDh48qP79++v06dO6+eabtXbt2iqPy87O1quvvqrXX3+9WoUCAAA4m91B6M0335QkHT16VH5+fho1apRefvllPf7446pbt26Vx9d0sVYAAABnszsIde7cWZL0zDPPqEOHDurcubPGjRun1157TZs2baryeBZrBQAA3sbuMUJ9+/aVJK1Zs0ahoaHKz8/X0aNHlZqaqm3btmno0KGVHl/TxVoBAACczeExQrfffrskqW7duurevbsefvhhTZ06tcrjarpYa3WcOXNG999/vxo2bKiQkBDFxcUpJSXFpecEAAC1h90tQp9++qnS09OVn5+vzMxMtWjRwvra6NGjdfjw4UqPr+lirY7KyclRr1691LdvX23evFmNGzfWiRMnFBkZ6bJzAgCA2sXuIBQbG6vMzExlZ2dr/PjxysjIULNmzRQVFaWAgIAqj//hhx8UFRVV7cVaHbVw4UK1aNFCK1eutG5r3bq1y88LAABqD7uDUOvWrTV16lRlZ2dr7ty5kn7pesrIyLBriY3Bgwdbl+aQfmmxOXHihBITE6tZeuU2btyogQMH6ve//72+/PJLNWvWTI899pgmT55c7v5FRUUqKiqyPs/Ly3NJXQAAwHs4NEbIz89Pn332mfV5s2bN1LNnT4WHh1d5bE2X5nDU999/r+XLl6tdu3baunWrHn30UT355JNavXp1ufsvWLBAERER1sf1XX8AAMA3OTxYOiEhQUuXLnX4RO5emuPq1avq2rWrXn31VXXp0kWPPPKIJk+erBUrVpS7/5w5c5Sbm2t9ZGZmuqw2AADgHRxeYuOHH37Q5s2b9cYbb6hnz56Ki4tTXFxclbfPL126VIMHD3bb0hxR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IcMwVFj886+PUk+XAwCAyzktCL322mtKSkpS//79lZaWpr179+rgwYOKj4/Xnj17nHUauIhhGBq5Yo86zN2qDnO3KuGVbZ4uCQAAl3NaEPrP//xPbdiwQUuWLFFwcLBiY2O1d+9ejRgxQn369HHWaeAil0tKtT8jp8z2hJhIhQT4e6AiAABczymLrkpSamqqGjVqZLMtICBAr7/+uoYOHeqs08ANUp5LVmjgL+EnJMBfFovFwxUBQNUMw9Dlkqq79en6x/WcFoRuDEHX6927t7NOAzcIDfRXaKDT/jQAwOWude+X17INVMZp33bz5s2r9PW5c+c661QAANioqHu/MnT9Q3JiEPr4449tnpeUlOjUqVOqU6eO2rRpQxACALjF9d37laHrH5ITg9DBgwfLbMvLy9OECRM0fPhwZ50Gtdj1/fJ8AAFwFbr34QiX/qWEh4frpZde0rBhw/TAAw+48lSoBa6/JT8hJlLrpiYRhgAAHuXy1edzc3OVm5vr6tPAS4UE+CshJrLM9pSMHLvu7gAAwJWc1iL01ltv2Tw3DEM//vij/vznP2vQoEHOOg1qGYvFonVTk6yhp7C4lMkaAQBew2lB6M0337R57ufnp8aNG2v8+PGaM2eOs06DWshisdBfDwDwSk77djp16pSz3goAAMAtXD5GyBu89tprslgsmj59uqdLAQAAXqRGLUIzZ860e99FixbV5FTVtm/fPr399tuKj4/3yPkBAID3qlEQKm/uoPJ46hbp/Px8jRs3Tu+++65eeeUVj9QAAAC8V42C0I4dO/T999+rVatW8vPzvl62adOmaciQIUpOTq4yCBUVFamoqMj6PC8vz9XlAQAAD6txemnXrp2ys7Otz0ePHq2srKyavm2N/e///q8OHDigBQsW2LX/ggULFBERYX20aNHCxRUCAABPq3EQMgzD5vlf//pXFRQU1PRtayQzM1NPPfWU3n//fQUHB9t1zJw5c6yTP+bm5iozM9PFVXqeYRgqLP751weTGwIAzMcnJ3fZv3+/zp8/r65du1q3lZaWateuXVq6dKmKiork72+7IF9QUJCCgoLcXarHGIahkSv2OLxaMwAAvqTGQchisZQZDO3p9aN+97vfKTU11WbbxIkT1b59ez399NNlQpAZXS4pLTcEJcREKiSA3w8A72AYhl3L8dCqjeqqcRAyDEMTJkyw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DR8+XNIvd/RNnjxZ3bp1c3utvs7ez6nc3Fzt3btXf/nLX6p1HoIQvN62bds8XYJp8bv3DomJiTp06JCny8CvbrrpJh0+fNjTZeBXERERNRozR9cYXKZRo0by9/cv8wealZWlpk2beqgqSFwbb8K18C5cD+/hrmtBEILLBAYG6rbbbtP27dut265evart27fTveJhXBvvwbXwLlwP7+Gua0HXGGokPz9fJ0+etD4/deqUDh06pAYNGqhly5aaOXOmxo8fr4SEBCUmJmrx4sUqKCjQxIkTPVi1OXBtvAfXwrtwPbyHV1yLat1rBvxqx44dhqQyj/Hjx1v3WbJkidGyZUsjMDDQSExMNP7v//7PcwWbCNfGe3AtvAvXw3t4w7VgrTEAAGBajBECAACmRRACAACmRRACAACmRRACAACmRRACAACmRRACAACmRRACAACmRRACAACmRRACAAf89NNP+s1vfqN//vOfTn3f9PR0NW/eXAUFBU59XwCVIwgBcIkJEybIYrGUedx5552eLq1G5s+fr7vvvlutWrWya/9hw4ZV+DPv3r1bFotFR44cUYcOHdSjRw8tWrTIidUCqApLbABwiQkTJigrK0srV6602R4UFKTIyEiXnbe4uFiBgYEuee/CwkJFRUVp69at6tGjh13HbNiwQffee68yMjLUvHlzm9cmTZqk1NRU7du3T5L02WefafLkyTp9+rTq1GFNbMAdaBEC4DJBQUFq2rSpzeP6EGSxWPTf//3fGj58uEJDQ9WuXTtt3LjR5j3S0tI0aNAg1a1bV02aNNEDDzyg7Oxs6+t9+vTR448/runTp6tRo0YaOHCgJGnjxo1q166dgoOD1bdvX61evVoWi0UXL15UQUGBwsPD9dFHH9mca8OGDQoLC9OlS5fK/Xn++te/KigoqEwIqqzGoUOHqnHjxlq1apXNMfn5+Vq3bp0eeugh67b+/fvrwoUL+vLLL+38DQOoKYIQAI966aWXNGrUKB05ckSDBw/WuHHjdOHCBUnSxYsX1a9fP3Xp0kUpKSnasmWLsrKyNGrUKJv3WL16tQIDA/X1119rxYoVOnXqlEaOHKl77rlHhw8f1pQpU/Tss89a9w8LC9OYMWPKtFatXLlSI0eOVL169cqtdffu3brttttstlVVY506dfTggw9q1apVur4Bft26dSotLdXYsWOt2wIDA9W5c2ft3r27Gr9JANXi1LXsAeBX48ePN/z9/Y2wsDCbx/z58637SDKee+456/P8/HxDkrF582bDMAzj5ZdfNgYMGGDzvpmZmYYk49ixY4ZhGEbv3r2NLl262Ozz9NNPG7GxsTbbnn32WUOSkZOTYxiGYXz77beGv7+/cfbsWcMwDCMrK8uoU6eOsXPnzgp/prvvvtuYNGmSzTZ7avz73/9uSDJ27Nhh3ef222837r///jLnGD58uDFhwoQKawDgXHRCA3CZvn37avny5TbbGjRoYPM8Pj7e+t9hYWEKDw/X+fPnJUmHDx/Wjh07VLdu3TLv/Y9//EM333yzJJVppTl27Ji6detmsy0xMbHM844dO2r16tWaPXu2/ud//kcxMTG64447Kvx5Ll++rODgYJtt9tTYvn179ezZU3/605/Up08fnTx5Urt379a8efPKHBMSEqLCwsIKawDgXAQhAC4TFhamtm3bVrpPQECAzXOLxaKrV69K+mUczbBhw7Rw4cIyx0VFRdmcpzoefvhhLVu2TLNnz9bKlSs1ceJEWSyWCvdv1KiRcnJybLbZW+NDDz2kJ554QsuWLdPKlSvVpk0b9e7du8wxFy5cUJs2bar18wBwHGOEAHitrl276ujRo2rVqpXatm1r86gs/Nxyyy1KSUmx2Xbtzqzr3X///crIyNBbb72l9PR0jR8/vtJ6unTpovT09GrVOGrUKPn5+emDDz7Qe++9p0mTJpUbutLS0tSlS5dK6wDgPAQhAC5TVFSkc+fO2Tyuv+OrKtOmTdOFCxc0duxY7du3T//4xz+0detWTZw4UaWlpRUeN2XKFH333Xd6+umndfz4cX344YfWu7auDx+RkZEaMWKEZs2apQEDBpS5vf1GAwcO1NGjR21aheytsW7duho9erTmzJmjH3/8URMmTCjz/v/85z915swZJScn2/kbAlBTBCEALrNlyxZFRUXZPH7729/afXx0dLS+/vprlZaWasCAAYqLi9P06dNVv359+flV/PHVunVrffTRR1q/fr3i4+O1fPly611jQUFBNvs+9NBDKi4u1qRJk6qsJy4uTl27dtWHH35YrRofeugh5eTkaODAgYqOji7z/mvWrNGAAQMUExNTZS0AnIMJFQGYwvz587VixQplZmbabP/zn/+sGTNm6OzZs3ZNxPjZZ59p1qxZSktLqzSMOaq4uFjt2rXTBx98oF69ejntfQFUjsHSAHzSf/3Xf6lbt25q2LChvv76a73++ut6/PHHra8XFhbqxx9/1GuvvaYpU6bYPRv1kCFDdOLECZ05c0YtWrRwWr2nT5/WM888QwgC3IwWIQA+acaMGVq7dq0uXLigli1b6oEHHtCcOXOsS1e8+OKLmj9/vu644w598skn5d7+DsD3EYQAAIBpMVgaAACYFkEIAACYFkEIAACYFkEIAACYFkEIAACYFkEIAACYFkEIAACYFkEIAACYFkEIAACY1v8HLEnFtdzYqhIAAAAASUVORK5CYII=", + "image/png": "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PacFoddee03du3dXv379lJ6err179+rrr79WQkKC9uzZ46zTwA1Sn09RxtwBypg7QGsmdadFDwDgs5zWNfaf//mf2rBhg+6++25JUlxcnPbu3atZs2apd+/eKiwsdNap4GJhQf4KC3LaPw0AcAvDMHSluPrxjYyBxLWc9m2Xlpamxo0b22wLDAzU66+/rsGDBzvrNAAAlMM4R9SU04LQ9SHoWr169XLWaVCHXftXWGigP11uAJymsnGOVWEMJCQnBqG5c+dW+frs2bOddSrUUYmvbPv//46NYvwRAJdIfT5FYUHVBxz+IIPkxCC0fv16m+fFxcU6efKkAgIC1KZNG4KQSYUG+isxNkqp1/2llpp5UVeKSxiLBMDpGOcIRzjtX8rXX39dbltubq7GjRunoUOHOus0qGMsFovWTOpuHcBYUFRi0zIEAIAnuXTR1YiICM2ZM0cvvPCCK08DL2exWBQWFPDLg/54AID3cPnq8zk5OcrJyXH1aQAAABzmtK6xt956y+a5YRj68ccf9ac//cl6byEAAABv4rQg9Oabb9o89/PzU5MmTTR27FjNnDnTWaepkddee00zZ87U008/rUWLFnm0FgAA4D2cFoROnjzprLdyqn379untt99WQkKCp0sBAABexuVjhDwpLy9PY8aM0bvvvquoqChPlwMAALxMrVqEpk2bZve+CxcurM2pamTy5MkaNGiQUlJS9Morr1S5b2Fhoc16aLm5ua4uDwAAeFitglBF9w6qiCfu3PnnP/9ZBw4c0L59++zaf/78+ZozZ46LqwIAAN6kVkFox44d+u6779SqVSv5+XlPL1tWVpaefvppffbZZwoJCbHrmJkzZ9q0cOXm5qpFixauKhEAAHiBWqeXtm3bKjs72/p85MiROnfuXG3ftlb279+v8+fPq2vXrgoICFBAQIC++OILvfXWWwoICFBJSUm5Y4KDgxUREWHzAAAAvq3WQcgwDJvnf/3rX5Wfn1/bt62VX//610pLS9PBgwetj8TERI0ZM0YHDx6Uvz93NwYAAE6cPu9N6tevr7i4OJtt4eHhatSoUbntZmYYhs0aYADgba79nKoKn2GoqVoHIYvFUm4wtCcGR8MxhmFo+PI92n/dqvAA4C34nII71DoIGYahcePGKTg4WJJ09epVTZo0SeHh4Tb7rVu3rranqpWdO3d69Pze5kpx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0k8++aTi4+M9Ua7Ps+d6nDt3TkOHDpX084y+Rx99VN26dXN7rb7O3s+pnJwc7d27V3/5y19qdB6CELzetm3bPF2CafG79w5JSUk6ePCgp8vAL2666SYdOnTI02XgF5GRkbUaM0fXGFymcePG8vf3L/cP9Ny5c2rWrJmHqoLEtfEmXAvvwvXwHu66FgQhuExQUJBuu+02bd++3bqttLRU27dvp3vFw7g23oNr4V24Ht7DXdeCrjHUSl5enk6cOGF9fvLkSR08eFANGzZUy5YtNW3aNI0dO1aJiYlKSkrSokWLlJ+fr/Hjx3uwanPg2ngProV34Xp4D6+4FjWaawb8YseOHYakco+xY8da91m8eLHRsmVLIygoyEhKSjL+93//13MFmwjXxntwLbwL18N7eMO1YK0xAABgWowRAgAApkUQAgAApkUQAgAApkUQAgAApkUQAgAApkUQAgAApkUQAgAApkUQAgAApkUQAgAH/Pvf/9YNN9yg77//3qnvm5GRoebNmys/P9+p7wugagQhAC4xbtw4WSyWco+77rrL06XVyrx583TvvfeqVatWdu0/ZMiQSn/m3bt3y2Kx6PDhw+rQoYNuv/12LVy40InVAqgOS2wAcIlx48bp3LlzWrFihc324OBgRUVFuey8RUVFCgoKcsl7FxQUKDo6Wp9++qluv/12u47ZsGGD7r//fmVmZqp58+Y2r02YMEFpaWnat2+fJGnz5s169NFHderUKQUEsCY24A60CAFwmeDgYDVr1szmcW0Islgs+u///m8NHTpUYWFhatu2rTZu3GjzHunp6br77rtVr149NW3aVL/97W+VnZ1tfb13796aMmWKpk6dqsaNG2vAgAGSpI0bN6pt27YKCQlRnz59tGrVKlksFl26dEn5+fmKiIjQ2rVrbc61YcMGhYeH6/LlyxX+PH/9618VHBxcLgRVVePgwYPVpEkTrVy50uaYvLw8rVmzRg8//LB1W79+/XThwgV98cUXdv6GAdQWQQiAR82ZM0cjRozQ4cOHNXDgQI0ZM0YXLlyQJF26dEl9+/ZVly5dlJqaqq1bt+rcuXMaMWKEzXusWrVKQUFB+vLLL7V8+XKdPHlSw4cP13333adDhw5p4sSJeu6556z7h4eHa9SoUeVaq1asWKHhw4erfv36Fda6e/du3XbbbTbbqqsxICBADz30kFauXKlrG+DXrFmjkpISjR492rotKChInTt31u7du2vwmwRQI05dyx4AfjF27FjD39/fCA8Pt3nMmzfPuo8k4/nnn7c+z8vLMyQZW7ZsMQzDMF5++WWjf//+Nu+blZVlSDKOHTtmGIZh9OrVy+jSpYvNPs8++6wRFxdns+25554zJBkXL140DMMwvvrqK8Pf3984c+aMYRiGce7cOSMgIMDYuXNnpT/Tvffea0yYMMFmmz01fvPNN4YkY8eOHdZ97rjjDuPBBx8sd46hQ4ca48aNq7QGAM5FJzQAl+nTp4+WLVtms61hw4Y2zxMSEqz/HR4eroiICJ0/f16SdOjQIe3YsUP16tUr997//Oc/1a5dO0kq10pz7NgxdevWzWZbUlJSuecdO3bUqlWrNGPGDP3P//yPYmNjdeedd1b681y5ckUhISE22+ypsX379urRo4f++Mc/qnfv3jpx4oR2796tuXPnljsmNDRUBQUFldYAwLkIQgBcJjw8XDfffHOV+wQGBto8t1gsKi0tlfTzOJohQ4ZowYIF5Y6Ljo62OU9NPPLII1q6dKlmzJihFStWaPz48bJYLJXu37hxY128eNFmm701Pvzww3ryySe1dOlSrVixQm3atFGvXr3KHXPhwgW1adOmRj8PAMcxRgiA1+ratauOHDmiVq1a6eabb7Z5VBV+brnlFqWmptpsK5uZda0HH3xQmZmZeuutt5SRkaGxY8dWWU+XLl2UkZFRoxpHjBghPz8/ffDBB3rvvfc0YcKECkNXenq6unTpUmUdAJyHIATAZQoLC3X27Fmbx7UzvqozefJkXbhwQaNHj9a+ffv0z3/+U59++qnGjx+vkpKSSo+bOHGijh49qmeffVbffvutPvroI+usrWvDR1RUlIYNG6bp06erf//+5aa3X2/AgAE6cuSITauQvTXWq1dPI0eO1MyZM/Xjjz9q3Lhx5d7/+++/1+nTp5WSkmLnbwhAbRGEALjM1q1bFR0dbfP41a9+ZffxMTEx+vLLL1VSUqL+/fsrPj5eU6dOVYMGDeTnV/nHV+vWrbV27VqtW7dOCQkJWrZsmXXWWHBwsM2+Dz/8sIqKijRhwoRq64mPj1fXrl310Ucf1ajGhx9+WBcvXtSAAQMUExNT7v0//PBD9e/fX7GxsdXWAsA5uKEiAFOYN2+eli9frqysLJvtf/rTn/TMM8/ozJkzdt2IcfPmzZo+fbrS09OrDGOOKioqUtu2bfXBBx+oZ8+eTntfAFVjsDQAn/Rf//Vf6tatmxo1aqQvv/xSr7/+uqZMmWJ9vaCgQD/++KNee+01TZw40e67UQ8aNEjHjx/X6dOn1aJFC6fVe+rUKc2aNYsQBLgZLUIAfNIzzzyj1atX68KFC2rZsqV++9vfaubMmdalK1566SXNmzdPd955pz7++OMKp78D8H0EIQAAYFoMlgYAAKZFEAIAAKZFEAIAAKZFEAIAAKZFEAIAAKZFEAIAAKZFEAIAAKZFEAIAAKZFEAIAAKb1f7E04ezEV93tAAAAAElFTkSuQmCC", "text/plain": [ "
" ] @@ -3226,7 +3257,7 @@ }, { "cell_type": "code", - "execution_count": 167, + "execution_count": 67, "metadata": {}, "outputs": [ { @@ -3258,7 +3289,7 @@ }, { "cell_type": "code", - "execution_count": 168, + "execution_count": 68, "metadata": {}, "outputs": [], "source": [ @@ -3270,7 +3301,7 @@ }, { "cell_type": "code", - "execution_count": 169, + "execution_count": 69, "metadata": {}, "outputs": [ { @@ -3306,7 +3337,7 @@ " License | https://docs.openmc.org/en/latest/license.html\n", " Version | 0.14.1-dev\n", " Git SHA1 | 14ce3cec4b388ae8b7ec5b28db57dbcbff06f147\n", - " Date/Time | 2024-03-28 12:50:20\n", + " Date/Time | 2024-03-28 17:53:20\n", " MPI Processes | 1\n", " OpenMP Threads | 8\n", "\n", @@ -3461,21 +3492,21 @@ "\n", " =======================> TIMING STATISTICS <=======================\n", "\n", - " Total time for initialization = 3.5537e+00 seconds\n", - " Reading cross sections = 3.4357e+00 seconds\n", - " Total time in simulation = 2.2353e+00 seconds\n", - " Time in transport only = 2.0824e+00 seconds\n", - " Time in inactive batches = 1.5893e-01 seconds\n", - " Time in active batches = 2.0764e+00 seconds\n", - " Time synchronizing fission bank = 6.3608e-03 seconds\n", - " Sampling source sites = 4.9154e-03 seconds\n", - " SEND/RECV source sites = 5.7693e-04 seconds\n", - " Time accumulating tallies = 1.3524e-01 seconds\n", - " Time writing statepoints = 6.9553e-03 seconds\n", - " Total time for finalization = 1.0715e-03 seconds\n", - " Total time elapsed = 5.8008e+00 seconds\n", - " Calculation Rate (inactive) = 62921.5 particles/second\n", - " Calculation Rate (active) = 43344.4 particles/second\n", + " Total time for initialization = 1.9315e+00 seconds\n", + " Reading cross sections = 1.8820e+00 seconds\n", + " Total time in simulation = 2.4354e+00 seconds\n", + " Time in transport only = 2.4003e+00 seconds\n", + " Time in inactive batches = 2.1139e-01 seconds\n", + " Time in active batches = 2.2240e+00 seconds\n", + " Time synchronizing fission bank = 6.5034e-03 seconds\n", + " Sampling source sites = 4.9867e-03 seconds\n", + " SEND/RECV source sites = 5.9260e-04 seconds\n", + " Time accumulating tallies = 1.7377e-02 seconds\n", + " Time writing statepoints = 6.6364e-03 seconds\n", + " Total time for finalization = 4.7286e-04 seconds\n", + " Total time elapsed = 4.3775e+00 seconds\n", + " Calculation Rate (inactive) = 47305.1 particles/second\n", + " Calculation Rate (active) = 40466.8 particles/second\n", "\n", " ============================> RESULTS <============================\n", "\n", @@ -3494,7 +3525,7 @@ }, { "cell_type": "code", - "execution_count": 170, + "execution_count": 70, "metadata": {}, "outputs": [], "source": [ @@ -3515,14 +3546,14 @@ }, { "cell_type": "code", - "execution_count": 171, + "execution_count": 71, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "Neutron source (n/s): 11097897947492.568\n" + "Neutron source (n/s): 11097897947492.566\n" ] } ], @@ -3534,7 +3565,7 @@ }, { "cell_type": "code", - "execution_count": 172, + "execution_count": 72, "metadata": {}, "outputs": [], "source": [ @@ -3543,12 +3574,12 @@ }, { "cell_type": "code", - "execution_count": 173, + "execution_count": 73, "metadata": {}, "outputs": [ { "data": { - "image/png": "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v/vuu5Jkc5+iDRs2NHifIunCw2GXLl1qs+7bb791pgwAAADTOBWKqqurtWXLFoWEhKhr167q27ev3W379u2rFStWaPLkydZ1sbGxzpQBAABgGqdC0dixYxUTE6N33nlHUVFROnv2rJKSkvTBBx802PbQoUNau3atFixYoD59+igpKUlJSUkaNWqUM6UAAACYwqlQdPjwYf3lL3/R9u3bVVBQoKVLl6qoqMiutrUNvW3atIlQBAAA3MqpUBQSEiJJCgoKUlVVlWbOnKn+/fvb1fbbb79VTEyMzSNCAAAA3M2pq88eeOABnTx5UmPHjtWMGTP03//93yopKbGr7YgRI1ReXm5dLi0t1fbt250pAwAAwDROhaK77rpLrVu31pw5c3TLLbdo//79euutt+xqGxAQoMjISOtyZGSk7rvvPmfKAAAAMI1Toejzzz/XnXfeqREjRugf//iH/v3f/11JSUl2tY2NjdW2bdv+VYCfn6qqqpwpAwAAwDROzSmaMGGC5s+frxtvvFGff/65xo4dq6efflpDhgxpsO2LL76oESNGKC0tTampqSosLFTHjh2dKQMAAMA0ToWiqKgo3XnnnZKknj17avTo0br11lvtCkUdO3bUzp07tXr1ahUWFqpLly566qmnnCkDAADANE6FomuvvVbPPfecMjMzZbFY1KpVK4faBwYGavz48Ro/frwzhwcAADCdU3OKKisrtWzZMnXs2FHDhg1TYmKi0tPTdfToUbPrAwAAaBJO9RS98847kqSKigoVFhZq9+7d2r17tyZOnKhjx47p4MGDkiTDMMyrFAAAwIWcCkUXhYeHq3379urXr1+t758/f/6KdUePHlWHDh0ac1gAAADTOTV8dqk+ffpo+vTp+uyzz+rc5vTp0/rTn/6kxMREvf322409JAAAgOka1VMkSfv27dPChQs1ePBghYSEqHfv3mrfvr1CQkJUWlqqffv2ae/everVq5f+67/+SyNGjDCjbgAAAFM1uqfoqquu0qJFi3T8+HG9+OKL6ty5s0pKSvTll19KunD36x07digvL49ABAAAPFaje4ouCg0N1bhx4zRu3DizdlmnrVu36plnntGOHTt0/PhxrV69WqNHj663zZYtW5SZmam9e/cqLi5O8+bN0+TJk11ea3NhGIbOVddYl0MD/WWxWNxYEQAAjjEtFDWliooKJScna+rUqRo7dmyD2x86dEgjR47UjBkz9Oc//1mbNm3SPffco5iYGA0dOrQJKvZthmFoXHaedhSVWtd1jYlQ7ow0WSwEJADwRWerahreSN71HeCVoWj48OEaPny43dtnZ2erU6dOeu655yRJN954oz7++GMtXry4zlBUWVmpyspK63JZWVnjivZh56prbAKRJO07XqZuj38oSUqJj/pnQPKO/ykAAA1LeXKjfdt50XdAo+cUeYO8vDylp6fbrBs6dKjy8vLqbJOVlaXIyEjrKy4uztVl+oTPHk1X15gIm3X5RaU2Q2sAAO8UGuivlPgoh9p403eAV/YUOerEiROKjo62WRcdHa2ysjKdO3dOoaGhV7SZO3euMjMzrctlZWUEIzuEB/tr3QM36Vx1jc5W1dj9LwkAgOezWCzKnZFmV8jxxu+AZhGKnBEcHKzg4GB3l+GVLBaLwoL40wIAX+TLn/GmDp9t3ry5zvf++Mc/mnkoh7Rr107FxcU264qLixUREVFrLxEaZhiGzlb9+M+Xd3SLAkBtbD/P6nvxWefrTI16w4YN0wMPPKCnnnpKgYGBkqSSkhJNmTJFH3/8saZPn27m4eyWlpam999/32bdhg0blJaW5pZ6vF1tV5sBgDfi8wyXMr2naPXq1erTp4/27dundevWKTExUWVlZSooKDDtOOXl5SooKLDu89ChQyooKNDhw4clXZgPNGnSJOv2M2bM0Ndff62HH35Y+/fv1x/+8Ae9+eabevDBB02rqTmp7Woz6cIVBqGB/m6oCACcU9fnWX34rPNdpvYU9e/fXwUFBZoxY4Z69eql8+fP64knntDDDz9s6qV4+fn5GjRokHX54oTojIwMrVixQsePH7cGJEnq1KmT1q1bpwcffFDPP/+8YmNj9fLLL3OPIhPkz0tXWNCFDwdvuhcFAFzu0s+z+vBZ57tMnyn1xRdfKD8/X7GxsTp27JgOHDigs2fPKjw83LRjDBw4UIZh1Pn+ihUram2zc+dO02rABWFB/j474Q5A88LnGUwdPvvd736ntLQ0DR48WHv27NH27du1c+dOJSUl1XtPIAAAAHczNRQ9//zzWrNmjV544QWFhIQoMTFR27dv19ixYzVw4EAzDwUAAGAqU/sJCwsL1aZNG5t1gYGBeuaZZ3TbbbeZeSh4mUsvZWU8HgDgiUwNRZcHoksNGDDAzEPBy1x6V1Nveg4OAKD5MDUULViwoN73H3vsMTMPBw938Rk5+Zdd7nrxOThMaAQAeBJTv5VWr15ts1xdXa1Dhw4pICBA1157LaHIixmGYX3Wjb13db38GTne+BwcAEDzYWooqu2S97KyMk2ePFljxowx81BoQo2546svPyMHAOBbTL36rDYRERGaP3++/vM//9PVh4KLcAdrAEBz0CT/hD99+rROnz7dFIeCi3EHawCArzI1FP3+97+3WTYMQ8ePH9drr72m4cOHm3kouAl3fAUA+CpTv90WL15ss+zn56err75aGRkZmjt3rpmHAgAAMJWpoejQoUNm7g4AAKDJuHyiNQAAgDdodE9RZmam3dsuWrSosYcDAABwiUaHotruTVQbrlICAACerNGhaPPmzfr666+VkJAgPz9G4wAAgHcyJcV07txZJSUl1uUJEyaouLjYjF0DAAA0CVNCkWEYNsvvv/++KioqzNg1AABAk2C8CwAAQCaFIovFcsVEaiZWAwAAb2LKzRsNw9DkyZMVHBwsSfrhhx80Y8YMhYeH22z3zjvvmHE4AAAA05kSijIyMmyW7777bjN2CzczDEPnqmt0tqrG3aUAAOBypoSinJwcM3YDD2IYhsZl52lHUam7SwEAoEkw0Rq1Olddc0UgSomPUmigv5sqAgDAtUx9ICx8U/68dIUF+Ss00J8J9AC8wsXh/4YwPQCXIhShQWFB/goL4k8FgHdg+B/OYvgMAOBTahv+bwjTAyDRUwQA8GEXh/8bwvQASIQiuMnl4/h8IAFwBYb/4Qj+UuAWKU9utF2Oj1LujDSCEQDAbZhThCYTGuivlPioWt/LLyq160oRAABchZ4iNBmLxaLcGWk24edsVc0VvUYAALgDoQhNymKxML4PAPBIDJ8BAACIUAQAACCJUAQAACCJUAQAACCJUAQAACCJUAQAACCJS/JxCcMwrPcQuvwxHAAA+DpCESRdCETjsvMcfrI0AAC+glAESdK56ppaA1FKfJRCAxt+wjQANIVLe7TrQk83nEUowhXy56UrLOhCEOLp9QA8BT3acDVCEa4QFuTPozgAeJy6erTrQk83HMU3HwDA61zao10XerrhKEIRAMDr0KMNV+A+RQAAACIUAQAASCIUAQAASCIUAQAASCIUAQAASCIUAQAASOKSfACAm9nz6A6Jx3fA9QhFAAC34dEd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", + "image/png": "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qkwAAEx3aUC0vQ8CkWO8rqVo7ty5Wr16td5//321a9fOOi4oLCxMQUFBkqRp06apa9euysjIkCT9+te/1tChQ/XCCy9o3Lhxeuutt5Sbm6uXX37Zbe8DAAB4Fq9rKVq5cqVKSko0bNgwRUZGWh9r1qyxrnPs2DGdOnXK+nzIkCFavXq1Xn75ZSUkJOidd97RunXruEYRAACw8rqWIsMwGl1n+/btVyy74447dMcdd7igIgAA0BJ4XUsRAACAKxCKAAAARCgCAACQRCgCAACQRCgCAACQRCgCAACQRCgCAACQRCgCAACQRCgCAACQRCgCAACQRCgCAACQRCgCAACQRCgCAACQRCgCAACQRCgCAACQRCgCAACQRCgCAACQRCgCAACQRCgCAACQRCgCAACQRCgCAACQRCgCAACQRCgCAACQRCgCAACQRCgCAACQRCgCAACQRCgCAACQRCgCAACQRCgCAACQRCgCAACQRCgCAACQRCgCAACQRCgCAACQRCgCAACQRCgCAACQRCgCAACQRCgCAACQRCgCAACQRCgCAACQRCgCAACQRCgCAACQRCgCAACQRCgCAACQRCgCAACQRCgCAACQRCgCAACQRCgCAACQRCgCAACQRCgCAACQRCgCAACQRCgCAACQRCgCAACQRCgCAACQRCgCAACQRCgCAACQRCgCAACQRCgCAACQRCgCAACQRCgCAACQRCgCAACQRCgCAACQRCgCAACQRCgCAACQRCgCAACQRCgCAACQRCgCAACQRCgCAACQRCgCAACQ5KWhaMeOHRo/fry6dOkii8WidevWNbj+9u3bZbFYrngUFhY2T8EAAMDjeWUoKi8vV0JCglasWOHQdocPH9apU6esj06dOrmoQgAA4G383F2AM8aMGaMxY8Y4vF2nTp3Uvn178wsCAABezytbipzVt29fRUZGasSIEfr0008bXLeyslKlpaU2DwAA0HK1ilAUGRmpzMxMvfvuu3r33XcVHR2tYcOGac+ePfVuk5GRobCwMOsjOjq6GSsGAADNzSu7zxzVq1cv9erVy/p8yJAh+vrrr7V06VK98cYbdW6Tnp6utLQ06/PS0lKCEQAALVirCEV1SUpK0ieffFLv64GBgQoMDGzGigAAgDu1iu6zuuTl5SkyMtLdZQAAAA/hlS1FZWVlOnLkiPX50aNHlZeXpw4dOqhbt25KT0/XiRMn9Prrr0uSli1bpu7du6t379764Ycf9Morr2jr1q36y1/+4q63AAAAPIxXhqLc3FwNHz7c+vzS2J/U1FStWrVKp06d0rFjx6yvV1VV6d/+7d904sQJBQcHKz4+Xps3b7bZBwAAaN28MhQNGzZMhmHU+/qqVatsnj/88MN6+OGHXVwVAADwZq12TBEAAEBthCIAAAARigAAACQRigAAACR56UBrAAA8nWEYOn+hutH1KqoaXwfNg1AEAIDJDMPQpMwc7S444+5S4AC6zwAAMNn5C9UOB6LEmHAF+fu6qCLYg5YiAABcKHdRioIDGg87Qf6+slgszVAR6kMoAgDAhYIDfBUcwNetN6D7DAAAQIQiAAAASYQiAAAASYQiAAAASYQiAAAASYQiAAAASYQiAAAASYQiAAAASYQiAAAASYQiAAAASYQiAAAASYQiAAAASYQiAAAASZLpt+29cOGCCgsLVVFRoauvvlodOnQw+xAAAACmM6Wl6Ny5c1q5cqWGDh2q0NBQxcbG6oYbbtDVV1+tmJgY3Xvvvfr888/NOBQAAIBLNDkULVmyRLGxscrKylJKSorWrVunvLw8ffnll8rJydFjjz2mH3/8USNHjtTo0aP11VdfmVE3AACAqZrcffb5559rx44d6t27d52vJyUlaebMmcrMzFRWVpZ27typHj16NPWwAAAApmpyKHrzzTftWi8wMFBz5sxp6uEAAABcwqWzz3x9fV25ewAAANO4NBQZhuHK3QMAAJjGqe6z4uJivfzyy/L399dDDz1U73oWi8XpwgAAAJqTUy1FkyZN0lVXXaVVq1ZJkvLz87VgwQIz6wIAwOMYhqGKqh/teFS7u1Q4wamWovLycs2ePVuZmZmSpD59+ujjjz/WM888Y2pxAAB4CsMwNCkzR7sLzri7FLiIUy1FEREROnnypE332A8//GDXtlOnTlVpaakkaf369crOznamBAAAmtX5C9UOB6LEmHAF+TPpyFs41VK0bNkyTZ8+Xd99953WrFmjjRs36vrrr7dr2wMHDig0NFQHDx7UwoULNXToUO3YsUMvvfSSM6UAANDschelKDig8bAT5O/L+Fov4lQouu666/TBBx9o3bp1ys/PV2JiombMmGHXtv7+/jIMQ1lZWUpPT9ddd92lAQMGOFMGAABuERzgq+AA028fCjdz6IzOnz9fCQkJio+PV1xcnCZPnqzJkyc7dMD77rtP/fv319mzZ/W73/1O0sUxSgAAAO7kUCi65ZZbtG/fPn300Uc6cOCALBaLevfurfj4eMXHx2v8+PGN7uOee+7RpEmT5Ofnp5CQEB05ckSDBw92+g0AAACYwaFQdNttt+m2227T8ePHFRkZqR9//FH79+/Xvn37tHXrVrtCkSS1b9/e+u/rrrvOOrUfAADAXZyafTZu3DiVl5erTZs2SkxM1MSJEzV16tR61z9w4ICef/55nTx5UpK0du1a56oFAABwEadCkZ+fn8LCwqzPw8LCdN9999W7/uOPP64RI0Zo8eLF2rt3rzZt2uTMYQEAAFzGqVAUFRWlnTt3/nMnPj6qqqqqd/327dsrISFBmZmZysrK0r59+5w5LAAAgMs4NZ/wpZde0rhx45ScnKykpCTl5+erW7du9a4/YsQISRfvhbZ06VI9//zzzlULAADgIk61FMXExOiLL77QiBEjdOzYMfXs2VNr1qypd/1JkyZZ/22xWBq8iSwAAIA7OBSKli5dKuniwGkfHx9NnjxZTzzxhObNm6e2bds2uv3EiROdqxIAAMDFHOo+69u3ryRp4cKFOnTokIKCgtS7d2/16dNHcXFxuvXWWxvc/scff3S6UAAAAFdyKBQNHz5ckvTmm28qODhYZWVlOnDggPLz87V58+ZGQxH3fwEAAJ7KqYHWN910k3bv3q22bdtq0KBBGjRokA4dOtTodoZhOHM4AAAAl3MoFP35z3/WwYMHVVZWpuPHjys6Otr62pQpU7R3794Gt8/IyHCuSgAAABdzKBTFxcXp+PHjKi4uVmpqqgoKCtS1a1dFRkbK39/fru0zMzP16quvKiwsTH369LE+EhMTnX4TAAAATeVQKOrevbvmzJmj4uJiPfroo5KkEydOqKCgQHFxcXbt49lnn9XWrVtlGIb279+v/Px8/eUvf9Gbb77pePUAAAAmcXhMkY+PjzZs2GANRV27dlXXrl3t3j4hIUEREREKDg7WNddco9tuu83REgAAAEzn1MUbExMTtXz5cqcO+Mgjj2jcuHFau3at9QaxAAAA7uZUKPr222+1ZMkSxcbG6s4771RGRoY++OADu7adNm2abrzxRm3evFm//OUvdc0112jYsGHOlAEAAGAap6bkv//++5Jkc52iTZs2NXqdIunizWFXrFhhs+zbb791pgwAAADTOBWKLly4oO3bt6tNmza68cYbNWjQILu3HTRokFatWqXp06dbl0VFRTlTBgAAgGmcCkW33367IiMj9d577yk8PFwVFRWKj4/XRx991Oi2R48e1fr16/X4449r4MCBio+PV3x8vMaPH+9MKQAAAKZwKhQdO3ZMf/7zn7Vr1y7l5eVpxYoVKigosGvburretmzZQigCAABu5VQoatOmjSQpICBAVVVVmjt3roYMGWLXtt9++60iIyNtbhECAADgbk7NPnvggQd0+vRp3X777ZozZ47+8z//U8XFxXZtO3bsWJWVlVmfnzlzRrt27XKmDAAAANM4FYruuusudejQQQsWLNDNN9+sQ4cO6Z133rFrWz8/P4WFhVmfh4WF6b777nOmDAAAANM4FYr27NmjO++8U2PHjtXf/vY3/eu//qvi4+Pt2jYqKko7d+78ZwE+PqqqqnKmDAAAANM4NaZoypQpWrx4sW644Qbt2bNHt99+u5599lmNHDmy0W2XL1+usWPHKjk5WUlJScrPz1e3bt2cKQMAAMA0ToWi8PBw3XnnnZKkfv36acKECbrlllvsCkXdunXTF198obVr1yo/P189e/bU008/7UwZAAAApnEqFF177bV64YUXlJaWJovFovbt2zu0vb+/vyZPnqzJkyc7c3gAAADTOTWmqLKyUitXrlS3bt00evRoxcXFKSUlRSdOnDC7PgAAgGbhVEvRe++9J0kqLy9Xfn6+9u3bp3379mnq1Kk6efKkjhw5IkkyDMO8SgEAAFzIqVB0SUhIiLp06aLBgwfX+XpNTc0Vy06cOKGuXbs25bAAAACmc6r7rLaBAwdq9uzZ+vzzz+tdp6SkRH/6058UFxend999t6mHhAcyDEMVVT9aH7QSAgC8TZNaiiTp4MGDeuqppzRixAi1adNGAwYMUJcuXdSmTRudOXNGBw8e1IEDB9S/f3/9/ve/19ixY5tc9I4dO/Tcc89p9+7dOnXqlNauXasJEyY0uM327duVlpamAwcOKDo6WosWLdL06dObXAsuBqJJmTnaXXDGuiwxJlzZc5JlsVjcWBkAAPZrckvRVVddpSVLlujUqVNavny5evTooeLiYn311VeSLl79evfu3crJyTElEEkXxzIlJCRoxYoVdq1/9OhRjRs3TsOHD1deXp7mz5+ve+65Rx9/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s82jdiCyWCx65ZVXNHHiRAUHB6tHjx5av369zT7279+vMWPGqG3btoqIiNCvfvUrFRcXW18fNmyY5s2bp/nz56tjx44aNWqUJGn9+vXq0aOH2rRpo+HDh+u1116TxWLR2bNnVV5ertDQUL3zzjs2x1q3bp1CQkJ07ty5Ot/Phx9+qMDAwCsCUUM13nrrrbr66qu1atUqm23KysqUnZ2tWbNmWZeNGDFCp0+f1l//+lc7f8IAmoJQBMCjLF68WJMnT9a+ffs0duxY3XXXXTp9+rQk6ezZs7rlllvUr18/5ebmauPGjSoqKtLkyZNt9vHaa68pICBAn376qTIzM3X06FFNmjRJEyZM0N69ezV79mw98sgj1vVDQkL0y1/+8opWrKysLE2aNEnt2rWrs9adO3dqwIABNssaq9HPz0/Tpk3TqlWrVLuhPjs7W9XV1Zo6dap1WUBAgPr27audO3c68ZME4DADAJpBamqq4evra4SEhNg8nnrqKes6koxFixZZn5eVlRmSjI8++sgwDMN44oknjJEjR9rs9/jx44Yk4/Dhw4ZhGMbQoUONfv362azz29/+1oiLi7NZ9sgjjxiSjDNnzhiGYRj/+7//a/j6+honT540DMMwioqKDD8/P2P79u31vqef//znxsyZM22W2VPj3/72N0OSsW3bNus6N910k3H33XdfcYyJEyca06dPr7cGAOahkxpAsxk+fLhWrlxps6xDhw42z+Pj463/DgkJUWhoqL777jtJ0t69e7Vt2za1bdv2in1//fXX6tmzpyRd0Xpz+PBhDRw40GZZUlLSFc979+6t1157TQsWLNB//dd/KSYmRjfffHO97+f8+fNq06aNzTJ7arz++us1ZMgQvfrqqxo2bJiOHDminTt36vHHH79im6CgIFVUVNRbAwDzEIoANJuQkBBdd911Da7j7+9v89xisaimpkbSxXE348eP17PPPnvFdpGRkTbHccY999yjFStWaMGCBcrKytKMGTNksVjqXb9jx446c+aMzTJ7a5w1a5buv/9+rVixQllZWbr22ms1dOjQK7Y5ffq0rr32WqfeDwDHMKYIgNfo37+/Dhw4oNjYWF133XU2j4aCUK9evZSbm2uz7NIMr9ruvvtuFRQU6A9/+IMOHjyo1NTUBuvp16+fDh486FSNkydPlo+Pj1avXq3XX39dM2fOrDOA7d+/X/369WuwDgDmIBQBaDaVlZUqLCy0edSeOdaYuXPn6vTp05o6dao+//xzff311/r44481Y8YMVVdX17vd7NmzdejQIf32t7/Vl19+qbfffts6+6t2EAkPD9ftt9+uhx56SCNHjrxiyvzlRo0apQMHDti0FtlbY9u2bTVlyhSlp6fr1KlTmj59+hX7/+abb3TixAmlpKTY+RMC0BSEIgDNZuPGjYqMjLR5/PSnP7V7+y5duujTTz9VdXW1Ro4cqT59+mj+/Plq3769fHzq/zjr3r273nnnHb333nuKj4/XypUrrbPPAgMDbdadNWuWqqqqNHPmzEbr6dOnj/r376+3337bqRpnzZqlM2fOaNSoUerSpcsV+3/zzTc1cuRIxcTENFoLgKbj4o0AWqWnnnpKmZmZOn78uM3yN954Qw8++KBOnjxp10UfN2zYoIceekj79+9vMJg5qqqqSj169NDq1av1k5/8xLT9AqgfA60BtAr/8R//oYEDB+qqq67Sp59+queee07z5s2zvl5RUaFTp07pmWee0ezZs+2+Cva4ceP01Vdf6cSJE4qOjjat3mPHjmnhwoUEIqAZ0VIEoFV48MEHtWbNGp0+fVrdunXTr371K6Wnp1tvn/G73/1OTz31lG6++Wa9//77dU6pB9CyEYoAAADEQGsAAABJhCIAAABJhCIAAABJhCIAAABJhCIAAABJhCIAAABJhCIAAABJhCIAAABJ0v8DZdwUHp6eeT4AAAAASUVORK5CYII=", "text/plain": [ "
" ] @@ -3578,7 +3609,7 @@ }, { "cell_type": "code", - "execution_count": 186, + "execution_count": 74, "metadata": {}, "outputs": [ { @@ -3587,7 +3618,7 @@ "text": [ "[Material\n", "\tID =\t3\n", - "\tName =\t\n", + "\tName =\tuo2\n", "\tTemperature =\tNone\n", "\tDensity =\t10.0 [g/cm3]\n", "\tVolume =\tNone [cm^3]\n", @@ -3615,7 +3646,7 @@ "\tZr96 =\t0.028 [ao]\n", ", Material\n", "\tID =\t4\n", - "\tName =\t\n", + "\tName =\twater\n", "\tTemperature =\tNone\n", "\tDensity =\t1.0 [g/cm3]\n", "\tVolume =\tNone [cm^3]\n", @@ -3629,7 +3660,7 @@ "\tO17 =\t0.000379 [ao]\n", ", Material\n", "\tID =\t5\n", - "\tName =\t\n", + "\tName =\tnew_fuel\n", "\tTemperature =\tNone\n", "\tDensity =\t9.0 [g/cm3]\n", "\tVolume =\tNone [cm^3]\n", @@ -3648,7 +3679,7 @@ }, { "cell_type": "code", - "execution_count": 187, + "execution_count": 75, "metadata": {}, "outputs": [], "source": [ @@ -3660,7 +3691,7 @@ }, { "cell_type": "code", - "execution_count": 188, + "execution_count": 76, "metadata": {}, "outputs": [], "source": [ @@ -3669,17 +3700,9 @@ }, { "cell_type": "code", - "execution_count": 189, + "execution_count": 77, "metadata": {}, "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/anovak/projects/openmc/openmc/mixin.py:70: IDWarning: Another Filter instance already exists with id=3.\n", - " warn(msg, IDWarning)\n" - ] - }, { "name": "stdout", "output_type": "stream", @@ -3713,7 +3736,7 @@ " License | https://docs.openmc.org/en/latest/license.html\n", " Version | 0.14.1-dev\n", " Git SHA1 | 14ce3cec4b388ae8b7ec5b28db57dbcbff06f147\n", - " Date/Time | 2024-03-28 12:57:11\n", + " Date/Time | 2024-03-28 17:53:32\n", " MPI Processes | 1\n", " OpenMP Threads | 8\n", "\n", @@ -3868,21 +3891,21 @@ "\n", " =======================> TIMING STATISTICS <=======================\n", "\n", - " Total time for initialization = 1.8871e+00 seconds\n", - " Reading cross sections = 1.8307e+00 seconds\n", - " Total time in simulation = 2.4304e+00 seconds\n", - " Time in transport only = 2.3929e+00 seconds\n", - " Time in inactive batches = 1.6813e-01 seconds\n", - " Time in active batches = 2.2623e+00 seconds\n", - " Time synchronizing fission bank = 6.3644e-03 seconds\n", - " Sampling source sites = 4.7885e-03 seconds\n", - " SEND/RECV source sites = 6.4766e-04 seconds\n", - " Time accumulating tallies = 1.7943e-02 seconds\n", - " Time writing statepoints = 9.1132e-03 seconds\n", - " Total time for finalization = 4.9982e-04 seconds\n", - " Total time elapsed = 4.3280e+00 seconds\n", - " Calculation Rate (inactive) = 59478 particles/second\n", - " Calculation Rate (active) = 39783.1 particles/second\n", + " Total time for initialization = 1.9356e+00 seconds\n", + " Reading cross sections = 1.8800e+00 seconds\n", + " Total time in simulation = 2.0891e+00 seconds\n", + " Time in transport only = 2.0609e+00 seconds\n", + " Time in inactive batches = 1.5984e-01 seconds\n", + " Time in active batches = 1.9293e+00 seconds\n", + " Time synchronizing fission bank = 6.2127e-03 seconds\n", + " Sampling source sites = 4.8604e-03 seconds\n", + " SEND/RECV source sites = 5.5933e-04 seconds\n", + " Time accumulating tallies = 1.0551e-02 seconds\n", + " Time writing statepoints = 7.4516e-03 seconds\n", + " Total time for finalization = 1.2378e-03 seconds\n", + " Total time elapsed = 4.0361e+00 seconds\n", + " Calculation Rate (inactive) = 62563.5 particles/second\n", + " Calculation Rate (active) = 46649.7 particles/second\n", "\n", " ============================> RESULTS <============================\n", "\n", @@ -3908,7 +3931,7 @@ }, { "cell_type": "code", - "execution_count": 178, + "execution_count": 78, "metadata": {}, "outputs": [], "source": [ @@ -3922,7 +3945,7 @@ }, { "cell_type": "code", - "execution_count": 179, + "execution_count": 79, "metadata": {}, "outputs": [ { @@ -4070,7 +4093,7 @@ "11 5 total fission 0.00e+00 0.00e+00" ] }, - "execution_count": 179, + "execution_count": 79, "metadata": {}, "output_type": "execute_result" } @@ -4081,7 +4104,7 @@ }, { "cell_type": "code", - "execution_count": 180, + "execution_count": 80, "metadata": {}, "outputs": [ { @@ -4242,7 +4265,7 @@ "11 5 total fission 0.00e+00 0.00e+00 0.00e+00" ] }, - "execution_count": 180, + "execution_count": 80, "metadata": {}, "output_type": "execute_result" } @@ -4261,7 +4284,7 @@ }, { "cell_type": "code", - "execution_count": 191, + "execution_count": 81, "metadata": {}, "outputs": [ { @@ -4303,7 +4326,7 @@ " 0.931082\n", " 0.003152\n", " 1.033305e+13\n", - " \n", + " uo2\n", " \n", " \n", " 1\n", @@ -4313,7 +4336,7 @@ " 4.488983\n", " 0.007124\n", " 4.981827e+13\n", - " \n", + " uo2\n", " \n", " \n", " 2\n", @@ -4323,7 +4346,7 @@ " 0.581783\n", " 0.002293\n", " 6.456563e+12\n", - " \n", + " uo2\n", " \n", " \n", " 3\n", @@ -4363,7 +4386,7 @@ " 0.059669\n", " 0.000244\n", " 6.622006e+11\n", - " \n", + " water\n", " \n", " \n", " 7\n", @@ -4373,7 +4396,7 @@ " 24.461243\n", " 0.049262\n", " 2.714684e+14\n", - " \n", + " water\n", " \n", " \n", " 8\n", @@ -4383,7 +4406,7 @@ " 0.000000\n", " 0.000000\n", " 0.000000e+00\n", - " \n", + " water\n", " \n", " \n", " 9\n", @@ -4435,21 +4458,21 @@ "11 5 total fission 0.00e+00 0.00e+00 0.00e+00 \n", "\n", " mat_name \n", - "0 \n", - "1 \n", - "2 \n", + "0 uo2 \n", + "1 uo2 \n", + "2 uo2 \n", "3 zirconium \n", "4 zirconium \n", "5 zirconium \n", - "6 \n", - "7 \n", - "8 \n", + "6 water \n", + "7 water \n", + "8 water \n", "9 NaN \n", "10 NaN \n", "11 NaN " ] }, - "execution_count": 191, + "execution_count": 81, "metadata": {}, "output_type": "execute_result" } @@ -4464,12 +4487,804 @@ "df" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Universes\n", + "\n", + "A universe is a collection of cells that can be used as a repeatable unit in the geometry. At a minimum, there must be one \"root\" universe (say, named `root`), which gets passed to `openmc.Geometry(root)`. But you can also use universes to repeat a collection of cells multiple times throughout a geometry. Here, we will explore some basic features of universes.\n", + "\n", + "We'll start by making a universe which looks similar to the pincell we built earlier - say, a cylinder of UO2 enclosed by an infinite region of water. First, we set up our materials and create our geometry." + ] + }, + { + "cell_type": "code", + "execution_count": 82, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[Material\n", + "\tID =\t3\n", + "\tName =\tuo2\n", + "\tTemperature =\tNone\n", + "\tDensity =\t10.0 [g/cm3]\n", + "\tVolume =\tNone [cm^3]\n", + "\tDepletable =\tTrue\n", + "\tS(a,b) Tables \n", + "\tNuclides \n", + "\tU234 =\t0.0003166930253944235 [ao]\n", + "\tU235 =\t0.03543164439454172 [ao]\n", + "\tU238 =\t0.964089368630351 [ao]\n", + "\tU236 =\t0.00016229394971280895 [ao]\n", + "\tO16 =\t2.0 [ao]\n", + ", Material\n", + "\tID =\t1\n", + "\tName =\tzirconium\n", + "\tTemperature =\tNone\n", + "\tDensity =\t6.5 [g/cm3]\n", + "\tVolume =\tNone [cm^3]\n", + "\tDepletable =\tFalse\n", + "\tS(a,b) Tables \n", + "\tNuclides \n", + "\tZr90 =\t0.5145 [ao]\n", + "\tZr91 =\t0.1122 [ao]\n", + "\tZr92 =\t0.1715 [ao]\n", + "\tZr94 =\t0.1738 [ao]\n", + "\tZr96 =\t0.028 [ao]\n", + ", Material\n", + "\tID =\t4\n", + "\tName =\twater\n", + "\tTemperature =\tNone\n", + "\tDensity =\t1.0 [g/cm3]\n", + "\tVolume =\tNone [cm^3]\n", + "\tDepletable =\tFalse\n", + "\tS(a,b) Tables \n", + "\tS(a,b) =\t('c_H_in_H2O', 1.0)\n", + "\tNuclides \n", + "\tH1 =\t1.99968852 [ao]\n", + "\tH2 =\t0.00031148 [ao]\n", + "\tO16 =\t0.999621 [ao]\n", + "\tO17 =\t0.000379 [ao]\n", + ", Material\n", + "\tID =\t5\n", + "\tName =\tnew_fuel\n", + "\tTemperature =\tNone\n", + "\tDensity =\t9.0 [g/cm3]\n", + "\tVolume =\tNone [cm^3]\n", + "\tDepletable =\tTrue\n", + "\tS(a,b) Tables \n", + "\tNuclides \n", + "\tPu239 =\t1.0 [ao]\n", + "\tSi28 =\t2.0 [ao]\n", + "]\n" + ] + } + ], + "source": [ + "print(model.materials)" + ] + }, + { + "cell_type": "code", + "execution_count": 83, + "metadata": {}, + "outputs": [], + "source": [ + "pin_surface = openmc.ZCylinder(r=1.0)\n", + "inside_pin = -pin_surface\n", + "\n", + "pin_cell = openmc.Cell(region=inside_pin, fill=uo2)\n", + "outside_cell = openmc.Cell(region=~inside_pin, fill=water)" + ] + }, + { + "cell_type": "code", + "execution_count": 84, + "metadata": {}, + "outputs": [], + "source": [ + "universe = openmc.Universe()\n", + "universe.add_cells([pin_cell, outside_cell])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We have created a universe containing a pin, enclosed in an infinite medium of water. Now let's suppose that I want to fill this universe into an enclosing cell, a cylinder of radius 5 cm. Let's first create this cylinder, and then we will fill it with our `universe`." + ] + }, + { + "cell_type": "code", + "execution_count": 85, + "metadata": {}, + "outputs": [], + "source": [ + "big_cylinder = openmc.ZCylinder(r=5.0)\n", + "big_cell = openmc.Cell()\n", + "big_cell.region = -big_cylinder\n", + "big_cell.fill = universe" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's take a look at our geometry. In order to visualize at this stage, we need to create a universe from our `big_cell`." + ] + }, + { + "cell_type": "code", + "execution_count": 86, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 86, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "big_universe = openmc.Universe(cells=[big_cell])\n", + "big_universe.plot(width=(10.0, 10.0))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can see that our `big_cell`, the large cylinder, has been filled with the `universe` we declared earlier. Let's increase the complexity a bit to understand how this filling works. What if the cylinder of UO2 in our `universe` is not located at the origin, but is instead shifted to a different position?" + ] + }, + { + "cell_type": "code", + "execution_count": 87, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 87, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "pin_surface.x0 = 1.0\n", + "pin_surface.y0 = 1.5\n", + "big_universe.plot(width=(10.0, 10.0))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We see that when we fill a universe inside of another cell, that there's (by default) no transformation of coordinates. You can shift the position of the universe filling a cell with the `Cell.translation` attribute. There are similar adjustments you can make, like rotations." + ] + }, + { + "cell_type": "code", + "execution_count": 91, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 91, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "big_cell.translation = [-1.0, 0.0, 0.0]\n", + "big_universe.plot(width=(10.0, 10.0))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Lattices\n", + "\n", + "Lattices are a convenient way to (i) repeat a universe multiple times in space, while (ii) automatically translating that universe's origin to different positions in space. In order to explore this concept, let's work with a PWR fuel assembly." + ] + }, + { + "cell_type": "code", + "execution_count": 102, + "metadata": {}, + "outputs": [], + "source": [ + "colors = {\n", + " water: 'lightblue',\n", + " zirconium: 'gray',\n", + " uo2: 'red'\n", + "}" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We will make individual universes for each repeatable unit in the assembly design." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Fuel Pin" + ] + }, + { + "cell_type": "code", + "execution_count": 98, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 98, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "pitch = 1.26\n", + "fuel_or = openmc.ZCylinder(r=0.39)\n", + "clad_ir = openmc.ZCylinder(r=0.40)\n", + "clad_or = openmc.ZCylinder(r=0.46)\n", + "\n", + "fuel = openmc.Cell(fill=uo2, region=-fuel_or)\n", + "gap = openmc.Cell(region=+fuel_or & -clad_ir)\n", + "clad = openmc.Cell(fill=zirconium, region=+clad_ir & -clad_or)\n", + "moderator = openmc.Cell(fill=water, region=+clad_or)\n", + "\n", + "fuel_pin = openmc.Universe(cells=[fuel, gap, clad, moderator])\n", + "fuel_pin.plot(width=(pitch, pitch), color_by='material', colors=colors)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Guide Tube" + ] + }, + { + "cell_type": "code", + "execution_count": 101, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 101, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "guide_clad_ir = openmc.ZCylinder(r=0.56)\n", + "guide_clad_or = openmc.ZCylinder(r=0.60)\n", + "\n", + "guide_inner = openmc.Cell(fill=water, region=-guide_clad_ir)\n", + "guide_clad = openmc.Cell(fill=zirconium, region=+guide_clad_ir & -guide_clad_or)\n", + "guide_outer = openmc.Cell(fill=water, region=+guide_clad_or)\n", + "\n", + "guide_tube = openmc.Universe(cells=[guide_inner, guide_clad, guide_outer])\n", + "guide_tube.plot(width=(pitch, pitch), color_by='material', colors=colors)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now we are ready to build our fuel assembly, by stamping these two universes into a repeatable pattern. OpenMC has `RectLattice` and `HexLattice` objects, to create lattices on a Cartesian grid or on a hexagonal grid. For our fuel assembly, we need to use `RectLattice`. \n", + "\n", + "When creating a rectangular lattice, we need to define:\n", + "\n", + "1. The lower-left coordinates of the lattice (`.lower_left`)\n", + "2. The size of each lattice element (`.pitch`)\n", + "3. The 2D arrangement of universes (`.universes`)\n", + "4. (_optionally_) A universe that is used outside of the defined region (`.outer`)" + ] + }, + { + "cell_type": "code", + "execution_count": 108, + "metadata": {}, + "outputs": [], + "source": [ + "lattice = openmc.RectLattice()\n", + "\n", + "# Define the lower-left coordinates and size of lattice elements\n", + "lattice.lower_left = (-pitch, -pitch)\n", + "lattice.pitch = (pitch, pitch)\n", + "\n", + "# Now we specify what is actually inside the lattice. This 2D lattice will be a\n", + "# list of lists like\n", + "# lattice.universes = [ [a1, a2, ...], [b1, b2, ...], ...]\n", + "# The inner lists specify columns from left to right. The outer lists specify\n", + "# rows from top to bottom.\n", + "lattice.universes = [\n", + " [fuel_pin, fuel_pin],\n", + " [guide_tube, fuel_pin]\n", + "]\n", + "\n", + "# We also should specify what is outside of the lattice. In this case, it is\n", + "# the infinite water universe.\n", + "all_water = openmc.Universe(cells=[openmc.Cell(fill=water)])\n", + "lattice.outer = all_water" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To plot the lattice, we need to put it in a universe. For this, we'll create a single cell filled with the lattice, and then put that single cell inside a universe to plot:" + ] + }, + { + "cell_type": "code", + "execution_count": 111, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 111, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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+rcU4ZH92cLACDeGhs/Y7ZcgMzzsFkMsDItwYmj4kNMWgtzwyH68W7lLqwwLysXQ8LG5wsMict2QfFsZGBYEMDQCYa7Ni8Xur8CwoGwMjYDJDhCgsH0UGBKUD0Mj4HJDhKhYPDSeiIQwNIhICEODiIQwNIhICEODiIQwNIhICEODiIQwNIhICEODiIQwNIhICEODiIQwNIhICEODiIQwNIhICEODiIQwNIhICEODiIQwNIhICEODiIQwNIhICEODiIQwNIhICEODiIQwNIhICEODiIQwNIhICEODiIQwNIhICEODiIQwNIhICEODiIQwNIhICEODiIRco7qAUjJNEwDwv/FxxZUQ6ceaF9Y8cRKq0BgbGwMAbGpZobgSIn2NjY2hurra8fuGOVesBEg6ncbQ0BAqKythGIbqcoSMjo6ivr4eZ86cQVVVlepyPMHfSS+maWJsbAx1dXWIRJzXXISq04hEIli8eLHqMopSVVXluzfjXPg76SNfh2HhilAiEsLQICIhDA2fiEajiMfjiEajqkvxDH8nfwrVilAiKh47DSISwtAgIiEMDSISwtAgIiEMDR/auXMnmpubUVFRgQULFqgupyC7d+9GQ0MD5s+fj7vuugvHjh1TXVJRjhw5goceegh1dXUwDANvvfWW6pKkYWj40OTkJB555BFs2bJFdSkF6enpQUdHB+LxOD788EMsXboUDz74IC5evKi6tIJdvnwZS5cuxe7du1WXIp9JvvXSSy+Z1dXVqssQtnLlSvOJJ57IfD01NWXW1dWZu3btUliVdwCYBw8eVF2GNOw0qKQmJyfR39+P1tbWzH2RSAStra04evSowsrILYYGldSlS5cwNTWF2traGffX1tbi/PnziqoiEQwNTTz11FMwDCPv7eTJk6rLJArXofE6++Uvf4nHH38872OWLFlSmmIkWrhwIebNm4cLFy7MuP/ChQtYtGiRoqpIBENDEzU1NaipqVFdhnRlZWVYsWIFent7sWbNGgDTJ0fq7e1Fe3u72uLIFYaGDw0ODuLzzz/H4OAgpqamkEqlAACNjY2IxWJqi3Oho6MDbW1tuPPOO7Fy5Up0d3fj8uXLWL9+verSCjY+Po5PP/008/XAwABSqRSuu+463HTTTQork0D15hsS19bWZgKYdTt06JDq0lz73e9+Z950001mWVmZuXLlSvMf//iH6pKKcujQIdu/SVtbm+rSPMdD44lICLeeEJEQhgYRCWFoEJEQhgYRCWFoEJEQhgYRCWFoEJEQhgZJcfr06cyBdsuWLZP6Wvv378+81tatW6W+FjE0SLL3338fvb29Ul9j7dq1OHfuHO6++26pr0PTeOwJSXX99dfj+uuvl/oa5eXlKC8vR1lZmdTXoWnsNGhOw8PDWLRoEZ599tnMfX//+99RVlZWUBexb98+3HbbbYhGo7jxxhtnHN1qGAb27t2L1atXo6KiAt/97ndx9OhRfPrpp2hpacHXvvY1NDc349SpU578biSOoUFzqqmpwb59+9DV1YW+vj6MjY1h3bp1aG9vxwMPPCD0XHv27METTzyBTZs24cSJE3j77bfR2Ng44zE7duzAY489hlQqhe985zt49NFH8dOf/hRPP/00+vr6YJomD6NXSfEBc+QjP/vZz8xvf/vb5qOPPmo2NTWZV65ccXzswMCACcD86KOPZtxfV1dnbt++3fHnAJjPPPNM5uujR4+aAMw//elPmfteffVVc/78+bN+9t577zWffPJJ978QFYSdBrn261//Gl9++SVef/11vPLKK8JXRr948SKGhobm7E7uuOOOzP+tc4k2NTXNuO/KlSsYHR0Ven3yBkODXDt16hSGhoaQTqdx+vRp4Z8vLy939bhrr70283/DMBzvS6fTwjVQ8Rga5Mrk5CR+/OMfY+3atdixYwd+8pOfCF/cqLKyEg0NDdI3wZJc3ORKrmzfvh0jIyN4/vnnEYvF8Oc//xkbNmzAO++8I/Q8XV1d2Lx5M2644QasWrUKY2Nj+Nvf/oaf//znkionr7HToDkdPnwY3d3dOHDgAKqqqhCJRHDgwAF88MEH2LNnj9BztbW1obu7G3/4wx9w2223YfXq1fjkk08kVU4y8HR/JMXp06fxzW9+Ex999JH03cgtLS0tWLZsGbq7u0vyemHFToOkam5uRnNzs9TXeOWVVxCLxfDBBx9IfR2axk6DpPjyyy8zW1ii0Sjq6+ulvdbY2Fjm4ksLFizAwoULpb0WMTSISBAXT4hICEODiIQwNIhICEODiIQwNIhICEODiIQwNIhICEODiIQwNIhIyP8D1L1MpFmeNpcAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "u = openmc.Universe(cells=[openmc.Cell(fill=lattice)])\n", + "u.plot(width=(3*pitch, 3*pitch), color_by='material', colors=colors)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### What exactly does `outer` mean?\n", + "\n", + "In the previous section, we set the lattice outer universe to a universe containing a single cell with only water in it. To get a better sense of what the outer universe does, let's change the outer universe to the guide tube universe:" + ] + }, + { + "cell_type": "code", + "execution_count": 112, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 112, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "lattice.outer = guide_tube\n", + "u.plot(width=(3*pitch, 3*pitch), color_by='material', colors=colors)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 17x17 Fuel Assembly" + ] + }, + { + "cell_type": "code", + "execution_count": 113, + "metadata": {}, + "outputs": [], + "source": [ + "guide_tube_positions = [\n", + " (2, 5), (2, 8), (2, 11),\n", + " (5, 2), (5, 5), (5, 8), (5, 11), (5, 14),\n", + " (8, 2), (8, 5), (8, 8), (8, 11), (8, 14),\n", + " (11, 2), (11, 5), (11, 8), (11, 11), (11, 14),\n", + " (14, 5), (14, 8), (14, 11)\n", + "]" + ] + }, + { + "cell_type": "code", + "execution_count": 118, + "metadata": {}, + "outputs": [], + "source": [ + "lattice = openmc.RectLattice()\n", + "\n", + "lattice.pitch = (pitch, pitch)\n", + "lattice.outer = all_water\n", + "\n", + "# I want (x0, y0) = (0, 0) to be the center of the instrument tube so that means\n", + "# the lower-left will be -half a pin pitch in x and y.\n", + "assembly_pitch = 17*pitch\n", + "lattice.lower_left = (-assembly_pitch/2, -assembly_pitch/2)\n", + "\n", + "# Most of the lattice positions are fuel pins so rather than type all of those\n", + "# out, we use a list comprehension to start with a 17x17 array of fuel.\n", + "lattice.universes = [[fuel_pin] * 17] * 17\n", + "\n", + "for row, col in guide_tube_positions:\n", + " lattice.universes[row, col] = guide_tube" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now we just have to add the boundary conditions and root universe to finish the geometry. To create a box containing the lattice, we'll use the `rectangular_prism` function:" + ] + }, + { + "cell_type": "code", + "execution_count": 124, + "metadata": {}, + "outputs": [], + "source": [ + "box = openmc.model.rectangular_prism(assembly_pitch, assembly_pitch, boundary_type='reflective')\n", + "main_cell = openmc.Cell(fill=lattice, region=box)" + ] + }, + { + "cell_type": "code", + "execution_count": 128, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 128, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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nnrqKeRyuYqvP/zhD1X3mzRpUo/tL7nkEocjN2PEiBE9xv29732v5j7vv/8+Zs6cif322w/9+/fHl770JWzevNnRiPVZs2YNLrzwQhx88MHYa6+9cMghh6C1tRU7duyouV8o5/Smm27CiBEj0LdvX4wfPx7PP/98ze3vuecejB49Gn379sWYMWPwyCOPOBqpGXPnzsXHP/5xDBgwAPvvvz9OO+00rFy5suY+8+fP73Hu+vbt62jEZsyZM6fHmEePHl1zn9DOZZ5KdSeXy2HmzJkVtw/lfD7zzDP4/Oc/j2HDhiGXy+GBBx4o+XsURbj66qsxdOhQ7LXXXpg8eTJef/31usfVzfFqsHlyxI4dO3D66afj0ksvrfj33bt345RTTsGOHTuwePFi/OxnP8P8+fNx9dVX1zzuOeecg1deeQWLFi3Cww8/jGeeeQYXX3xxHC5oM3HiRGzatKnkddFFF+Hggw/GscceW3PfGTNmlOx33XXXORq1Hddcc03JuL/61a/W3P7KK6/Er371K9xzzz14+umnsXHjRvzTP/2To9Hq89prr6Grqwu33norXnnlFdxwww245ZZb8K//+q919036Of3FL36BWbNmobW1FS+88AKOOuooTJkyBW+99VbF7RcvXoyzzjoLF154IV588UWcdtppOO200/Dyyy87Hrk6Tz/9NGbOnIlnn30WixYtws6dO3HCCSfgvffeq7lfY2Njyblbu3atoxGbc8QRR5SM+Xe/+13VbUM8l3n+8Ic/lPi5aNEiAMDpp59edZ8Qzud7772Ho446CjfddFPFv1933XX4yU9+gltuuQXPPfcc9t57b0yZMgXvv/9+1WPq5nhNIuKUefPmRU1NTT3ef+SRR6JevXpF7e3thfduvvnmqLGxMdq+fXvFY/3pT3+KAER/+MMfCu/913/9V5TL5aI333xTfOy27NixIxo8eHB0zTXX1NzuuOOOiy6//HI3gxLkoIMOim644Qbl7d99991ozz33jO65557Ce6+++moEIFqyZEkMI4yH6667Ljr44INrbhPCOf3EJz4RzZw5s/D/3bt3R8OGDYvmzp1bcfsvf/nL0SmnnFLy3vjx46OvfOUrsY5TkrfeeisCED399NNVt6lWs5JMa2trdNRRRylvn4Zzmefyyy+PDjnkkKirq6vi30M8nwCi+++/v/D/rq6uqLm5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3nnnRQB6vJ588snCNmvWrIlOOumkaK+99ooGDRoUzZ49u+RTxJNPPhkBiN54443Ce2+//XZ01llnRf37948aGxuj6dOnFxqypHDWWWdFEydOrPi3N954oyQO69atiz796U9H++67b9TQ0BAdeuih0de//vWoo6PD4Yj1WbZsWTR+/Pioqakp6tu3b3TYYYdF3/3ud0uuGpb7GkVR9Pe//z3653/+52ifffaJ+vXrF33xi18saUSSxrx58yrquPgidsjn9MYbb4wOPPDAqE+fPtEnPvGJ6Nlnny387bjjjovOO++8ku1/+ctfRh/96EejPn36REcccUT061//2vGI9ah27ubNm1fYptzPK664ohCTIUOGRCeffHL0wgsvuB+8BmeccUY0dOjQqE+fPtE//MM/RGeccUa0atWqwt/TcC6LeeyxxyIA0cqVK3v8LdTzmZ/vyl95X7q6uqJ///d/j4YMGRI1NDRExx9/fA//DzrooKi1tbXkvVo5rkMuiqJI/8s+QgghhJBswuc8EUIIIYRowOaJEEIIIUQDNk+EEEIIIRqweSKEEEII0YDNEyGEEEKIBmyeCCGEEEI0YPNECCGEEKIBmydCSOZZs2YNcrkccrlc1bWxpJg/f37B1hVXXBGrLUJIPLB5IoSQbh5//HE88cQTsdo444wzsGnTppKV7QkhYdHb9wAIISQp7Lfffthvv/1itbHXXnthr732Qp8+fWK1QwiJD155IoSkir/85S9obm7Gd7/73cJ7ixcvRp8+fYyuKt1xxx044ogj0NDQgKFDh+Kyyy4r/C2Xy+HWW2/F5z73OfTr1w+HHXYYlixZglWrVmHSpEnYe++9MXHiRKxevVrEN0JIMmDzRAhJFYMHD8Ydd9yBOXPmYOnSpdiyZQumTp2Kyy67DMcff7zWsW6++WbMnDkTF198MVasWIGHHnoIhx56aMk21157LaZNm4bly5dj9OjROPvss/GVr3wFLS0tWLp0KaIoKmm4CCHhw6/tCCGp4+STT8aMGTNwzjnn4Nhjj8Xee++NuXPnah/n29/+NmbPno3LL7+88N7HP/7xkm2mT5+OL3/5ywCAb37zm5gwYQL+/d//HVOmTAEAXH755Zg+fbqFN4SQpMErT4SQVHL99ddj165duOeee3DnnXeioaFBa/+33noLGzdurHu1auzYsYV/DxkyBAAwZsyYkvfef/99dHZ2atknhCQXNk+EkFSyevVqbNy4EV1dXVizZo32/nvttZfSdnvuuWfh37lcrup7XV1d2mMghCQTNk+EkNSxY8cOnHvuuTjjjDNw7bXX4qKLLsJbb72ldYwBAwZgxIgRsT+6gBASHrzniRCSOv7t3/4NHR0d+MlPfoL+/fvjkUcewQUXXICHH35Y6zhz5szBJZdcgv333x8nnXQStmzZgt///vf46le/GtPICSEhwCtPhJBU8dRTT+FHP/oRFixYgMbGRvTq1QsLFizAf//3f+Pmm2/WOtZ5552HH/3oR/g//+f/4IgjjsDnPvc5vP766zGNnBASCrkoiiLfgyCEEJ+sWbMGBx98MF588cXYl2fJM2nSJBx99NH40Y9+5MQeIUQOXnkihJBuJk6ciIkTJ8Zq484770T//v3x3//937HaIYTEB688EUIyz65duwq/yGtoaMDw4cNjs7VlyxZs3rwZADBw4EAMGjQoNluEkHhg80QIIYQQogG/tiOEEEII0YDNEyGEEEKIBmyeCCGEEEI0YPNECCGEEKIBmydCCCGEEA3YPBFCCCGEaMDmiRBCCCFEAzZPhBBCCCEasHkihBBCCNHg/wPctWtrgaenRwAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "u = openmc.Universe(cells=(main_cell,))\n", + "u.plot(width=(assembly_pitch, assembly_pitch), color_by='material', colors=colors, pixels=(500,500))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## TRISO Particles\n", + "\n", + "OpenMC includes a few convenience functions for generating locations of randomly packed spheres that can be used to model TRISO particles and/or pebbles in a reactor core. To be clear, this capability is not a stochastic geometry capability like that included in MCNP. It's also important to note that OpenMC does not use delta tracking, which would normally speed up calculations in geometries with tons of surfaces and cells. However, the computational burden can be eased by placing random spheres in a lattice.\n", + "\n", + "This capability relies on three functions/classes:\n", + "- `openmc.model.pack_spheres` -- generate locations of random spheres\n", + "- `openmc.model.TRISO` -- Cell-like object that holds a universe storing the internal structure of a pebble/TRISO\n", + "- `openmc.model.create_triso_lattice` -- Creates a lattice containing `TRISO` objects for improved tracking performance\n", + "\n", + "Let's start with the `pack_spheres` function. This function takes an outer radius of the spheres, a containing region, and a packing fraction and will return an array of sphere coordinates. For our example, let's use spheres with a radius of 1 cm and a packing fraction of 30%. We'll put our spheres inside of a finite cylinder." + ] + }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], - "source": [] + "source": [ + "#openmc.model.pack_spheres" + ] + }, + { + "cell_type": "code", + "execution_count": 129, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(449, 3)" + ] + }, + "execution_count": 129, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "r_cylinder = 10.\n", + "h_cylinder = 20.\n", + "cylinder = openmc.model.RightCircularCylinder(\n", + " center_base=(0., 0., -10.), \n", + " height=h_cylinder,\n", + " radius=r_cylinder\n", + ")\n", + "\n", + "r_sphere = 1.0\n", + "centers = openmc.model.pack_spheres(radius=r_sphere, region=-cylinder, pf=0.3)\n", + "centers.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 130, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[-5.10289038, 6.29780828, 0.8952101 ],\n", + " [-4.25201716, -5.970076 , -1.37623342],\n", + " [ 1.52830345, -0.08304641, -4.7576057 ],\n", + " [-5.3332856 , -1.4678357 , -6.97819421],\n", + " [ 1.5334012 , 1.58441154, -1.72639827],\n", + " [-2.15249399, 3.37401012, -3.64399805],\n", + " [-6.99253594, 3.50814097, 0.30360063],\n", + " [-1.99582165, 0.68561887, -3.13899813],\n", + " [-5.68554108, -4.9068005 , -4.54563289],\n", + " [ 4.52719666, 3.54688819, 6.33369786]])" + ] + }, + "execution_count": 130, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "centers[:10]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now we need to actually creates cells for each of these spheres. To do so, we'll use the `TRISO` class. We'll need to define a universe that we want to fill each sphere. We'll create a universe with a single, infinite cell:" + ] + }, + { + "cell_type": "code", + "execution_count": 132, + "metadata": {}, + "outputs": [], + "source": [ + "cell = openmc.Cell(fill=uo2)\n", + "sphere_univ = openmc.Universe(cells=[cell])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now we can create a `TRISO` object for each sphere center, in order to create one cell for each TRISO region." + ] + }, + { + "cell_type": "code", + "execution_count": 135, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Cell\n", + "\tID =\t495\n", + "\tName =\t\n", + "\tFill =\t31\n", + "\tRegion =\t-491\n", + "\tRotation =\tNone\n", + "\tTranslation =\t[-5.10289038 6.29780828 0.8952101 ]\n", + "\tVolume =\tNone" + ] + }, + "execution_count": 135, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "trisos = [openmc.model.TRISO(outer_radius=r_sphere, fill=sphere_univ, center=center) for center in centers]\n", + "trisos[0]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's confirm that the packing fraction of our TRISOs is actually about 30%." + ] + }, + { + "cell_type": "code", + "execution_count": 138, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0.2993333333333333" + ] + }, + "execution_count": 138, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import math\n", + "volume_trisos = len(trisos)*4/3*math.pi*r_sphere**3\n", + "volume_cyl = math.pi * r_cylinder**2 * h_cylinder\n", + "volume_trisos / volume_cyl" + ] + }, + { + "cell_type": "code", + "execution_count": 142, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 142, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "region_background = openmc.Intersection([~t.region for t in trisos])\n", + "background_cell = openmc.Cell(region=region_background & -cylinder)\n", + "univ = openmc.Universe(cells=[background_cell] + trisos)\n", + "univ.plot(width=(20., 20.))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "While this works in principle, it will lead to **very** poor tracking performance; every time a particle reaches the background cell, it has to determine the distance to the boundary of _every single_ sphere. To improve tracking performance, we can use the `create_triso_lattice` function to overlay a lattice that limits how many distance checks need to be performed." + ] + }, + { + "cell_type": "code", + "execution_count": 144, + "metadata": {}, + "outputs": [], + "source": [ + "lower_left, upper_right = (-cylinder).bounding_box\n", + "shape = (5, 5, 5)\n", + "pitch = (upper_right - lower_left)/shape\n", + "openmc.model.create_triso_lattice\n", + "lattice = openmc.model.create_triso_lattice(\n", + " trisos=trisos,\n", + " lower_left=lower_left,\n", + " pitch=pitch,\n", + " shape=shape,\n", + " background=None\n", + ")" + ] }, { "cell_type": "code",