Files
Stafie Alex PSI 850de66b07 first files
2025-12-02 11:57:33 +01:00

1236 lines
276 KiB
Plaintext

{
"cells": [
{
"cell_type": "markdown",
"id": "ece82854-c6ff-4bc5-8b3f-2c6ad2dddea7",
"metadata": {},
"source": [
"# Defining an External Source\n",
"\n",
"By default, if you do not specify the initial source distribution, OpenMC considers a point source (at the origin) with an isotropic angular distribution and the Watt fission spectrum. Regardless of the source distribution, OpenMC will randomly sample from the distribution and \"accept\" the particle for transport if it is within the confines of the problem.\n",
"\n",
"For criticality problems, any initial source distribution is fine, provided you have a source rejection rate above 95% (i.e. at least 5% of your attempts to sample a neutron are successful, meaning that you're not automatically sampling a neutron outside the domain of the problem) - you'll still need to be sure to run enough inactive batches to converge away from this guessed source, so choosing a more physically realistic source could help you to run overall fewer inactive batches.\n",
"\n",
"Of course for a fixed source calculation, you will always be defining a source distribution corresponding to the known neutron/photon source of your problem (unless your starting source really is an isotropic point source at the origin of U235 fission neutrons!).\n",
"\n",
"OpenMC provides several options for defining an external source definition. There are currently four primary classes for defining a source:\n",
"\n",
"- `openmc.IndependentSource`\n",
"- `openmc.FileSource`\n",
"- `openmc.MeshSource`\n",
"- `openmc.CompiledSource`\n",
"\n",
"We'll briefly go through each of these classes with the exception of `CompiledSource`, which is a bit more involved as it requires compiling a source class written in C++. `CompiledSource` is typically used when the source definition does not fit cleanly in any of the other formalisms; common examples here would be the neutron source in a tokamak or stellarator, or a beam-target source with a complex angle-energy distribution."
]
},
{
"cell_type": "markdown",
"id": "4a8ef012-1935-49a4-afe6-95eed78c4863",
"metadata": {},
"source": [
"## `IndepedentSource`\n",
"\n",
"The `IndependentSource` allows you to define distributions in space, angle, and energy that are sampled _independently_ (hence the name). To demonstrate this, we first need a model to work with. We'll define a very simple problem composed of two cylinders, one made of U235 and one made of water."
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "aa706f41-c675-4263-9f56-167404a7b486",
"metadata": {},
"outputs": [],
"source": [
"import openmc\n",
"import random\n",
"import math\n",
"\n",
"u235 = openmc.Material()\n",
"u235.add_nuclide('U235', 1.0)\n",
"u235.set_density('g/cm3', 5.0)\n",
"\n",
"h2o = openmc.Material()\n",
"h2o.add_element('H', 2.0)\n",
"h2o.add_element('O', 1.0)\n",
"h2o.set_density('g/cm3', 1.0)\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "6afa5661-d991-494d-ac32-fa65fc9711a6",
"metadata": {},
"outputs": [],
"source": [
"cyl1 = openmc.ZCylinder(r=10.0)\n",
"cyl2 = openmc.ZCylinder(r=20.0, boundary_type='vacuum')\n",
"height = 200\n",
"bottom = openmc.ZPlane(z0=-height/2, boundary_type='vacuum')\n",
"top = openmc.ZPlane(z0=height/2, boundary_type='vacuum')"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "2561b4f9-69d4-40fc-8d4f-d52acabfacd6",
"metadata": {},
"outputs": [],
"source": [
"inner = openmc.Cell(region=-cyl1 & +bottom & -top, fill=u235)\n",
"outer = openmc.Cell(region=+cyl1 & -cyl2 & +bottom & -top, fill=h2o)\n",
"\n",
"model = openmc.Model()\n",
"model.geometry = openmc.Geometry([inner, outer])"
]
},
{
"cell_type": "markdown",
"id": "f63b7815-5417-4845-afd5-a074d6391296",
"metadata": {},
"source": [
"Now let's define the source. We'll start with the simplest source possible, which is a point source. All spatial, angular, and energy distributions can be found in the `openmc.stats` submodule. For a point source located at (1, 1, 0), we use `openmc.stats.Point`."
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "733366b2-c629-4931-87fb-46f4736190e9",
"metadata": {},
"outputs": [],
"source": [
"space = openmc.stats.Point((5, 5, 0))"
]
},
{
"cell_type": "code",
"execution_count": 17,
"id": "93d5b314-79fb-4898-bb5a-5054c0a170ac",
"metadata": {},
"outputs": [],
"source": [
"model.settings.source = openmc.IndependentSource(space=space)\n",
"model.settings.verbosity = 1"
]
},
{
"cell_type": "markdown",
"id": "027e2c4a-113f-49f8-b01d-8423d3d7ce05",
"metadata": {},
"source": [
"As with the `Cell` and `Universe` classes, the `Model` class also has a `plot` method, but with a `Model` we can also plot sampled source sites alongside the geometry. We specify the number of samples we'd like to take, and to use a dot for each location in our source. The `plane_tolerance` will plot all source particles within +/- 10 cm of our plot plane (this is just an efficiency metric - if we ran enough sample we'd get a denser and denser plot)."
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "f90b1409-5644-495d-8e31-ccb4234478ed",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<Axes: xlabel='x [cm]', ylabel='y [cm]'>"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 258.065x259.74 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plot_kwargs = {\n",
" 'color_by' : 'material',\n",
" 'n_samples': 500,\n",
" 'plane_tolerance': height/2,\n",
" 'source_kwargs': {'marker': '.'},\n",
" 'colors': {inner: 'magenta', outer: 'lightgreen'}\n",
"}\n",
"\n",
"model.plot(**plot_kwargs)"
]
},
{
"cell_type": "markdown",
"id": "eae79157-5b03-405f-b6b9-daf52dbd3587",
"metadata": {},
"source": [
"The source shows up as a single point, as expected. Also note that when we don't specify anything for the angle distribution, it defaults to isotropic and the energy distribution defaults to a Watt fission spectrum.\n",
"\n",
"Let's change the source to a box source covering the inner cylinder."
]
},
{
"cell_type": "code",
"execution_count": 13,
"id": "dad5ed44-4d25-4daf-9188-d28ff6b75cce",
"metadata": {},
"outputs": [],
"source": [
"bbox = inner.bounding_box"
]
},
{
"cell_type": "code",
"execution_count": 16,
"id": "d993442e-f61a-472a-b2ad-efb5e42d566e",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<Axes: xlabel='x [cm]', ylabel='y [cm]'>"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAR8AAAEMCAYAAAD9FbJ4AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAAR29JREFUeJztvXt8FPW9//+axWTJ5k6yZBPMHUiAQIJcJMFWkCh60ApVaotVVE6tNNgi1HOgWhSphYJt6cWC53e8/Xq8FS1otcViuCkEkUjCLUSSkBASNoSQZEPusJ/vH7MzO5fP7CUk2Z3N5/mo1Z2dnfnM7swr78/7875whBACBoPBGGQMvh4Ag8EYmjDxYTAYPoGJD4PB8AlMfBgMhk9g4sNgMHwCEx8Gg+ETmPgwGAyfwMSHwWD4BCY+DAbDJzDxYTAYPkE34rN+/XpMmzYN4eHhGDlyJObPn4/y8nLZPl1dXSgoKEBMTAzCwsJw3333oaGhwUcjZjAYrtCN+Ozbtw8FBQU4dOgQdu3ahd7eXtxxxx1ob28X93nqqafwj3/8A9u2bcO+fftQX1+P7373uz4cNYPB0ILTa2JpY2MjRo4ciX379uHb3/42WltbYTab8fbbb+P+++8HAJw+fRrjxo1DUVERZsyY4eMRMxgMKTf4egB9pbW1FQAwYsQIAEBxcTF6e3uRn58v7pOZmYmkpCSX4tPd3Y3u7m7xtd1ux+XLlxETEwOO4wbwChgM/UEIQVtbGxISEmAwXN/ESZfiY7fbsXz5csycORNZWVkAAKvViuDgYERFRcn2jYuLg9Vq1TzW+vXrsXbt2oEcLoMRcNTW1uLGG2+8rmPoUnwKCgpw4sQJfPHFF9d9rNWrV2PFihXi69bWViQlJaG2thYRERHXffyhznPxVb4eAgBg7YU0Xw8hILDZbEhMTER4ePh1H0t34rNs2TJ8/PHH2L9/v0x5LRYLenp60NLSIrN+GhoaYLFYNI9nNBphNBpV2yMiIpj4eMmqsErVNiN3/Tdpf/DrhEbVtg1X0n0wksCgP1wSuhEfQgiefPJJbN++HXv37kVqaqrs/SlTpiAoKAiFhYW47777AADl5eU4d+4ccnNzfTHkgIcmNnpCOX4mRoOLbsSnoKAAb7/9Nj788EOEh4eLfpzIyEiEhIQgMjISS5YswYoVKzBixAhERETgySefRG5uLlvp6if0LjbuYGI0uOhmqV3LzHv99dfxyCOPAOCDDFeuXIl33nkH3d3dmDt3Lv7yl7+4nHYpsdlsiIyMRGtrK5t2IfAFx1OYEPH05/OhG/EZLJj48DDRoTPURag/nw/dTLsYAw8THPdIv6OhLkTXCxMfBhOdPiJ8b0yE+gYTnyEKE5z+g1lDfYOJzxCDic7Awqwhz2HiM0RgojO4MBFyj25KajD6DhMe38G+e22Y5RPAsBvfP2BWEB0mPgEIEx3/hImQHDbtCjCY8Pg/7DfiYZZPgMBuaH3BrCAmPrqHiY6+GcoixKZdOoYJT+AwFH9LJj46ZSjerIHOUPtN2bRLZwy1G3SoMZSmYczy0RFMeIYOQ+G3ZuKjE4bCzciQE+i/ORMfHRDoNyFDm0D+7ZnPx48J5BuP4TmB6gdilo+fwoSHoSTQ7gkmPn5IoN1kjP4jkO4NJj5+RiDdXIyBIVDuESY+fkSg3FSMgScQ7hUmPn5CINxMjMFF7/cMEx8/QO83EcN36PneYeLjY/R88zD8A73eQ0x8fIhebxqG/6HHe4mJj4/Q483C8G/0dk8x8fEBertJGPpBT/cWEx8Gg+ETmPgMMnr6y8TQJ3q5x5j4DCJ6uSkY+kcP9xoTn0FCDzcDI7Dw93uOic8g4O83ASNw8ed7j4kPg8HwCUx8Bhh//svDGBr46z3IxGcA8dcfnTH08Md7kYnPAOGPPzZjaONv9yQTHwaD4ROY+AwA/vYXhsEQ8Kd7U1fis3//ftxzzz1ISEgAx3HYsWOH7H1CCNasWYP4+HiEhIQgPz8fZ86c8c1gGQyGS3QlPu3t7cjOzsbLL79MfX/jxo344x//iK1bt+LLL79EaGgo5s6di66urkEboz/9ZfE3OkJ70TCqHR2hvdTXnuxD+4wv8bfxeIK/3KMcIYT4ehB9geM4bN++HfPnzwfAWz0JCQlYuXIlfv7znwMAWltbERcXhzfeeAPf//73PTquzWZDZGQkWltbERER4dWY/OVH9ZSO0F60RfXghh4DrgbbEd4SDFN7kOw96bbroXJcC76abeX/3NmBlNMRqM60ia+n7bEAgMt9aJ+JPxeqGqe3Y+/r/pfNXSjNa3Q7Hn+lL33Aruf5UBIwTQPPnj0Lq9WK/Px8cVtkZCRuvvlmFBUVaYpPd3c3uru7xdc2m23Ax+oPyMSAAOCgKQLT9liQXhYFwPWDqiVmHaG9zuMBgAGoHmfjz+l4/dVsq/jfWvuoPnOblR+7CwFLrAhD5tEYxDSGUMeuFEV3AkL93mjXoPjeGGoCRnysVv6Hj4uLk22Pi4sT36Oxfv16rF279rrPryerRyUGkgfoyGwriOO/pdviz4XiQlK75oMqswIUYhZmC1JP8DnFa5oDQLkP7bUbAasdewW1Y64g5sJwNFm6VGNXiiJN0KTCS/3eaNcg+d781QJaFVbp0y6ouvL5DASrV69Ga2ur+E9tba2vhzTgtEX1aP7yxADVe8QAXLJ0qh/U2VZ8tLgSexbUonRmo6aY3dBjAOyqM8lecbCDg9ID4KVHgDJ2YTxN8V0qQa1LuUIXRcU1Cv4cV98bDWJwfIZBJWDEx2LhTe6GhgbZ9oaGBvE9GkajEREREbJ/vEVPVg8AhLcEU8SAh7ND9R5nBwiI+m6RPuxKK8ABMQATfvsKHpx0AAbxwETxAYK5acewKOuguI8BdtycUCG+5kAZmDfipBgfMQDFtzbQ95ViACrGN6MjtBe1KW3qU7oYAmd3fNd+jC/v3YCZdqWmpsJisaCwsBA5OTkAeP/Nl19+iaVLlw7YefUkPFKfx7Q9Fn6KJZkmcXZgqsNvIrwnbAuzOQTLyz9XBthhNtkwNsaK8bF1+Nqagg9OT1fsxeHTqmwsyjqIdbPeR2NHBMwmG6JDOvCdsUfF16cujcLbJ3JBhDmRluJ5gjC18oBTN1/GqWmX5dM8xzGSyyNQk0nxEzq+N3+dcknx1fRLV+Jz5coVVFRUiK/Pnj2LkpISjBgxAklJSVi+fDl+9atfYcyYMUhNTcUvf/lLJCQkiCtiQxmaYzV/WzIaEzoQ3hyMG64ZZA5WqdO1ZowNu75Xwz94SqNFiuo9gnszihEd0gEAiA7pwE2Wavz99FSHgEj35PDOiVysm/U+xsY4fXTRIR3i52cmnsH42Do0dkTgSH0Kvjif6eaqtQZLAM5L4dKYzsXWh6BmrE3+vh24fVsyYhpDvDvHEENX064jR45g8uTJmDx5MgBgxYoVmDx5MtasWQMA+K//+i88+eSTePzxxzFt2jRcuXIFO3fuxPDhwwdkPHqxemirTV/dZsWuhTUo+VYjPr+7DlciemV/pU3tQYirC0XNGBvvzxGeVeHfqukGoTznHJIjm2RbokM6MD+jmHYA2GFAY4d62tvcaUJ5kwXNnSYAwIUrEfjifIbLazbAjocmfK46DweCpZM/c0zjrp/gbgOm7bHw01UAsAPZB83i6tq5dBtq0lv9Pg7IF/eyriyfWbNmwVVYEsdxeOGFF/DCCy8M4qj8kyZzJxoTOmCuN+FqsJ3uWFU4hqUrMx2hvbhk6eRXsGhGgsLCmZHwDQ7Vj4H0RMKUS0lSZJPyAI5DEtX+B2rHUKZark0vA+z4QVYRchOrYOeG4Z0TubDDIG6faKnDoqwiyXFdmXMuIECYLRgxjSHoMV4Tne6leY1oHdEtDw1gS+8qdCU+/oQ/Wz2Hbqt33vgEuLEizK2/RroyU559GeU5zV7YxRwO1Y+F/AG2Y3bKKereI002qAdEMDetVJxiAUB1cwzeOpELmcmmOQI7np7xCXrsQaK/CJBP1aTb+TMqzTnQfOFi2ABNwK8G29ER2isXaWVMkmPbV2zpXQYTnwCjydwpv/E54PzoKxhdEoWK7BbAIKxeQfns40xWM86nU5af3UKzHDgUVmdhd/V4LMoqwsxEZ47dqUujQHvCP62ahBhTO2YmnnFYPHmU46rhYMeirCKkRDdR35f6jQB+Gvf2iVz6sSVCw9mBzCMjYOwehvDmYHx+d53suxFWs6hL8LRhOwTeX8VnsGHiE2A0JnRQg/EqclpES2jSQTMAqHw550df8eBZpwuNGs6xtwHvnMjF+Ng6RId0aDz48n1HhV12TIk8ER6CJyYXIjjoGpo7TTKRodHcaUKxNUXl8HYez46n8z7BV//9E1X6RMppfmWLOF5POmh2ConakFN/LTpYeh9MdOVw9hf8ecplrjfRY1EkInMsrxGhbUGeaYjmgTxH6ki+2BGh+eAL+1a2xLncR4ADwfSECmw9Ogd/OHwnnt17Pw7UjgGgdlIDvP/o2b334++np0MrQGdO6kmkRDch/w+/xbFbGuTpHpk2pJdGiUJTmteIynEtAICMkmin05lQDu/w+fi71TOY9zazfAKMmMYQpJRFyHw+tAC77uHXtP0bmngqPPIDSR3PI002cLBriosBdqRHNbjcBwD+I/0ossznsenQPHE/wXLq6A3GjvIpIDCIU7LxsXUSB7NwLfJxcrBjdnIZAA2RNEgsSMdrZT5X+vFIVE5oZUvvHsAsHy/xZ6tHYMbuBNz+t2TkfG7Gt/4xihqxHNxloFs+0r/eMmjpDzQI7kwrlUUq/yCrSDYdui31pLjUzYGI/y3smxLdhEVZRYqIaPlY4sNa0NQZphIIOwzY7hAe/pO8IFU1myli5rxgg0OkhHEKIqmCls8lsY5UwuPYfjW4f5b2B4PBuseZ5ROgxDSGiH9ppdHMQsSy2Wqi+ykcK883VoShboxNZj0AEJettc0kDpmxVnwr6RvVCpNy2Tw/5Thmp/CWhnJfYZWqqtmMV0tnqc7xaulsOOc3SvNNLUjtPUaVNWWAHT+nrJABvJNavhzvIUJEAMUxzZDDxGcIkF4WRS0TQUuxAPh/142xyTeAF4RRYZdR2RIH07AuXOoKx78qc0CbYmmtMBGJmbC7egJmp5Sp9hWIDulAWEc3tJ1T0ohHziEu9Knhu2UzcHNCJQ7Xp4uC+gPKCllzpwkXOyIw0mTD+Ng6fG/8IfztlML5LV1+V4QdcQ5H9LG8RrpjmiHCxMcL9DDl0sLUHqR6AARROjfahpJvNcrek/61F1IfpL4U5xNIRIuCNsUSoPlQ7DCgqsWMKSE1sode+nmjoRfunVG88Dww7hDeLcvT2MeAw/Wj+QRZ0N3NcstMsKoEU4Y/jwF2TDwQhxt6DSie1aAyuiYdNGNcSQwAiCtlpXmNCO4epqsAw8GI+WHiM8QxtQchqSICJdKSGBQEX4o6jZ0XoCU5e5AW1SgKh1JMtBzNr5XMwomLFTKLRBoX1G0Pgmvh4SEwINTYDVfRlEQR1v22Y1k/JbqJYpkpQsAdR7g3oximrB68dWwm1SAb0TjcGXSoKOHhzwGGvoCJj4fo2epxh6k9CNP2WFA8px52hwAQxXyCA9H0fRAYEB7cTfXtSMVkekIlvqwfLTsuASfbpowLcrc6JmCAHcHcVXgiVNJxbzp0NxZlHUSsqc0D3w7nsPxA1TfODnQNv4puyzVqTSS9BRgOtPXDVrsYAIBHX9qAdbPex/LpO/GrWe/jQUVtnfkZR+irPwAAgppWfqqhtCAEMalujsHh+nR4kCgmiwsSHL/0cxNxfNMSKrHl6ByN42sjTCmNhl4X1yfdX6NiGeFHU3TXBRycW6+a1zGnsxpm+TDw7U9WAZCnIYyPrcOj2fsADuJ0yhTUo7HaxWFH+VRMjT+r6dvxNHCQP5odbd1GMWJ5ZuIZGG/owWsls1V73pd5GOlRDdh4aB76+rdUGN/8jGJ8WD7FYf0Rh39IfkzeCoN8u6BZ0hQ0O8ARyFYY9WT1DAZMfDwgkKdcNHZVTRD9O9Jpk7DaRXvQCThUNZuRFt1IXdL2JHCQh5/yvVo6W3bu9Cj1cTnYcZOlGpUtZtV4hFEpLSHalBIg+OD0dHCwY35GMZIjm8SgyD0141B4doJjCkkwP6NYJsIG2DGmJAblNzXLT20AZvwrHsO7btBFJwstBnLqxaZdQxzB6hHghWcqIJk2vX0iD9XN/LSKdwBr3Dacc5qkDDJ0HzgoOYjC/yNYQMrpFwGHU5dGgfO4miovHtIppVSgCAz4sHwKgg29uOiY9n03s9hRf4gXrR3lUwBAnKKum/U+xv/g39RpltlqQlwdczJrwSyfIYSydYxSeJo7TdhRPhVKa4GAw8ZD8/CgI02BvqJkR1oUv1yvVcZCur2mNQY7yqdS4nLo/p/okA7HueUJqe+cyMXPZ3wCz3JF+OJmrkq62mEQLTvBEtohWeUjjlWyXzkqLvLf2RTqkjsTHdcwy2eIUDmuRew08dHiSlSOa1ElX/L+Gi2HLW+FAMCDKgcwwYOS+B5hmV0qPMK5AGBsjBW3p53EE5M/g7ui8NK8MNr47DCgxx6EB7MOSlI27FhAcZBLjyWUdFU7mZ1+HgKDJK5JuocBe2rGScakeIwcS+6APjuaDhbM8nGD3v09QkVCZRnVI3PqcWTvQhBHgJ6QfOnKLyNYIWLqQ4sZIEBadKPLZXYAmtvEfA5F3JAQ0PcDSr6V0u9j6zFiVNhlPJqzD5xkPErfjDIAUpjKCfvwTmal1UdPJSk8OwGzk8voY3KsbNHqZusp0FBgoPw+um2XPFAo28HqWXxkN78bDLBj3az3HR0i8qgWEAeCX83apkqbEIIJAeDZvferxEFIH3W1TclNlircl3lEFS19oHaMQiwkCWmOnIc5KadwW8opsX4QrYqhFGGfYEOvLEteGOvMxG/wRa26WP3y6TsxNsYqG5MBdkwpTED8uVB8tLhSleN1z5vpupyOCeLD2iUz3KIqGu8GqVVTZ4vC3nPjoXRkzM+Qi4HSyrkt9SR1iqLEkyX3r60puC/ziGq7POH0VtA6FfIVFCdgfsYR3J52UhSh8iaLKJLS6Gvhn+ZOE25LOYXC6vFwTr04mE1tKqtIOoVT+riO/3kNGka1B0Sg4UDCxCdAcd1dU50RKTxMu6omUIXnzrRS3J52UtxCCybcfXYCaI5fTvx/Hk8sHzj8Kt/NLFa940w41RYxAs6xageYgnqoOVvSpXx1XpdztB+WT8HctFJ8WpUNQpkOCmMCeFGb+P4L6Fi8mmW3u4GJjwv0POUKbwnWzMecnlCJEcPb8e+qSTJ/CADqapdQJkNAqxQp3aLhxGRO4RWfZiGNdqYPVPCr0KZLnqVdcNhePgWcTOjUS/nOsq1KK4rHDoMoPIAd92YUy2pSA+rYqEljbMgoicY3Oc0BEWg4EH4fJj4Biqk9CNkHzPI6zQAAgsP1YwAQTI6rxq3J5Qg29KLbHuQouEXz9TinGGoLQW7RqKJ/FfsQEIfwSPehl1wkkmV2GrelnsRuRwCgdua7QTOiCPA0+lo65eJjgabGnxXH5YyNcopa6S0X+dd2IKM4GhnHRuhWeAYKj8RnxYoVXh/42WefxYgRI7z+HKP/GFcSg6aRnTg/RigML19VOtqQgrjQVnxaNQnOvljqadN8R9dReua3fGUKkBYco8UDaT3kauHQ6vsltTIAO25JPI0vaulNBN1N8bSjr6U1gtTpIoIoasVGia8NwDeTm5FxjD0LSjwSn82bNyM3NxfBwZ7NV7/44gssW7aMiY+P6QjtVXSkUD8gO6uyJdsNjoeVSNIJjoi+Hnrxdz6/6iZLtWgJ8HV/pnphHanhQKi1gZRWBmDAgVplzzAB3qfjHA8/AROuTxl9LV2xuteRZkFbAXMXe6SEOZrpeDzt2r59O0aOHOnRvuHh4X0eEKP/cO10BrSmOkty9iA8uFu1PE3zsxgc+VXSYEI+ME87bsd6JRKF1VmaoxIaANKqDNIjsOkxOgCHissjHbWCeH/N/IxiTI0/S42+Fqo0jgxpRXDQNfF9mjAJ6Rf8d6I8t0JwmaOZikfi8/rrryMyMtLjg77yyiuIi4vr86D8gefiq2Dk9C2i4S3BbjqV0qc60qJgUmgPotI68cQ6au40YXf1BOoDK7VGlGhZGdI0CPm5OUX9IKe/ZmyMVXaMXVUTJOkezimXsBomTwtxdsaYnlDpcKhrOM8J33gwEKyeVWGV+EW9ud+O55H4LF682KuDLlq0qE+DYfQfQh5X9kEzjt/SQCmDoYajiIkSV+2HmztNaOsxUmNibrJUA4AYa7Mo66AsWHBuWilGhTeDcEB6VKPytGjuNMHaFkG5BoK5accc8TxXqGU3pEj9NQLqqRy9sBkA/OHwHbLwAmVxNNX3ywFl0y4jrC1Yl9HNA8l1rXZduXIFdrs8N+Z6ox4Z148yrH+Bw39R0xoj1quhcWd6qbiErFVTGVC3HwbUnSl4eCtiWkKlI3JanmKxbtb7ooidujQKr5XeKn5+QUax6GuSH1uJMwyAVnbDVQ8x4Tp55zVdlKVipd1+xw0cK6NKw+vE0rNnz2LevHkIDQ1FZGQkoqOjER0djaioKERHRw/EGBleoIpsNgA7HGUibk87iXszikEvZ0GQEnEJgLOzp7ILqBa0zhRSK+JwfbojZUOeGd7aFSJOf5Sf314+FbuqJlCOLUdaeAwAMmPrJddHkBp5Ea56iPG+G1ePgR3Bhl4cqB3jiKhWQmsPq66IKDidGU68tnx++MMfghCC1157DXFxceA478pWMgYWmpNZqFU8P+OIozyE8jfjrYOtR+eofCe0qYcSdy2QtVIshDFxHK0+NF8dMTrkiotj89M7eQ8vuc+nptWs2ZsL8CRY0YCNh+6mHJtfkcuOq0ZJQwqkYss5Rqb0/Vw2dyGuLlTjPEMPr8WntLQUxcXFyMigx1UwfIuWk5k4Hmb6srDTx0ErIUHzk0hx9wBrxdo4UyC0ggw5R6Ew7QaF8v9W7yOU3FA6mAU8aw5IPzYBMMVSjZKGVNW4nWLIiYc4lteI5DMRbOrlwOtp17Rp01BbWzsQY2H0A0InCorlL3kotBGWraVoBfsJKKsXcnC2VhbaEC+S1NuRo1ySl48m2HDV7Zhd4W7sAO9Ef3rGJ6rrdg/n+B/tc2rBYlMvOV5bPv/7v/+LJ554AnV1dcjKykJQkFzFJ02a1G+DY/SN9LIoRF0yYtf3alSpFe4cpMKyteCYdtUIUIpyFQxQt0AeFXYZmw7d7SIoTx2nU22LRV9r3nmyeifABxoedGEBCQIjd15f7gxTT7G0xhMA8T7PxVf127G8Fp/GxkZUVlbi0UcfFbdxHAdCCDiOw7Vr1/ptcIy+0xLbrdjiyQPCp1LcnnaSGojnagUMUK+CKfcRHnDtfu/qaGi+HbO38Mfx1o4RBJQvGp8lEUk7HnRESgvTRM4RbLhD1kjR9ZD0nFg6EHgtPo899hgmT56Md955hzmc/RRxxUv207j/nW65sVxc3lYKiVYjQAFXwiR9TxmwJ7WwpiVU4qv6dDEvTN1lAqBZIOr3nUGF7pzlSqJDOvDdzGKEB3dJhIY/nimoRzI55GDrGe7S0a4cVvw55myW4rX41NTU4KOPPsLo0aMHYjyMfsB9WgUNOzJiLqC6OQbd9iCZiGg1AhQeai1hau40YbfDioAjveFBiWgRQLUS9Z2xRymWhxRtMaKlWLhzltMQi8KLjnjOUfLV6TQn4Bz1i+TefQ52TIg9jxOXkuQHNQDl2Zcx+aC+I//7E6/F57bbbkNpaSkTHz/GVS0fJ86CYkIvK+eStTy1QKsRYFWLGWlopAoTP0VRTkn4+B4+0XOKTKykq1F8nyxPLWqnLULE66IngXoK7Xq1wgVuiqvC0Qa+tpHgHxsfW4dn9t4I5V+Ab3KakVEaGKkW/YHX4nPPPffgqaeewvHjxzFx4kSVw/k73/lOvw2O0TfEWj5CTRkR6ZRF+Ec5vVGnFmgtpb9WMgszE8upwrSdWmaCP+52RSsaqRXlLmZIjbxMCC9FvAC5c5YL00Gjo56RUGKVliJCDxcg+LohDRwIbrJUIT/lpJiTNifllCp5lmW3y/FafJ544gkAwAsvvKB6z18czi+//DI2bdoEq9WK7Oxs/OlPf8L06dPdfzCASD4TgfZ7jqGi2QKndSANlHP6RbQQpixjY6zUWBgCTqOOjjuzSzuOiC508tKnggjQBFEQUg6EWnFQgF4UTfod2R1btGoVSZsNcvjamoavrSnitJKvBT1B9j0EwmpXf+K1+ChzufyN9957DytWrMDWrVtx8803Y/PmzZg7dy7Ky8s9Lgmid8TcruZ4yVZ6oJwrlEXShw/rcUzNpHCKV0K9Hvq5aD3Qlf205O1sBMvM2a5YWInr7h2GLUfzqeci4FQVBwXoRdGEf0tF2Y4l2XtlrYG0mg0KnxGsuFOXRqm+l6l7EpjVI6FvARR+zO9+9zv86Ec/wqOPPorx48dj69atMJlMeO2113w9tEHB264VgBAUKG9jTJuyXO4Kg3PqRufW5FPQOjnv3zmIByntlKXnmZl4ButmvY8lOXsgFQRBUAC+8WBw0DW4ElTBogIga5Do6dSOwIBwY7cqfIDebNB5zqpms+iglsJWu+R4bfn89Kc/xejRo/HTn/5Utv3Pf/4zKioqsHnz5v4am9f09PSguLgYq1evFrcZDAbk5+ejqKiI+pnu7m50dztjYmw275yT/oarlS5pFT9l/Rxh+bu7dxgudkYiPaoBkcM7Ze1m1Hlhyrgcgr01EyhntmNJ9j6VBeGqn5bQocLV6pW7tA7BolKuxs3PKHb5OenZzCabKozAVUoGBzsIp3ZQExiYv0eB1+LzwQcf4KOPPlJtz8vLw4YNG3wqPpcuXcK1a9dUhczi4uJw+vRp6mfWr1+PtWvXDsbwBgWt3C5pV1KhQZ4y2VJa9kK5GkbrySVd3tYqjyqcd0pCjWy7tFeWIHCeJX0S1LTGYGyMlTpFE/xBQsXBqmYz3hI7o/Ii8GH5FFkUt6vcsSMXUiUrcwS3pZ7AbcllYuXDz85OwNcNqXBaZ0BzZ5hq3AbYmb9Hgdfi09TURK1qGBERgUuXLvXLoAaT1atXywrk22w2JCYm+nBE14eQ23VktpVv2QI75qScxOwUZwsamqVBL4vB4+zJpV7GFuJ0bD1GSiEv4LHsfSrhESyJc7KqgM4HWzrO+RnFqkJfUl+OVlqHtOKgEjsMSI5sEusJ8b6jOVCbjJxiZY5D4dmJKDybhdHRVlQ2W6DOl1OLGwc7ZqeeBOC6NMlQw2vxGT16NHbu3Illy5bJtv/rX/9CWlpavw2sL8TGxmLYsGFoaGiQbW9oaIDFYqF+xmg0wmg0DsbwBo30sijEnwtF2paXXbYJluJJWYz8lOPYXT1BlvMlLC03d5qof+3TouVVCbVa7zgf7AmydsdJkU1QWiV2GPC1NUUsy0orbiatOKhEmI5JP7dAJXKCc5xewKxC5cyXj08Qtz3V4/BZdRYKz04EFlfqtl/7QOC1+KxYsQLLli1DY2MjbrvtNgBAYWEhfvvb3/p0ygUAwcHBmDJlCgoLCzF//nwA/OpcYWGhSiwDHVO7vIyEu7wsT8pizE4pw+yUMqqvxpP6ztqrTFKc7Y4XZR3E+Ng66tTrg9PT8ffTUzE/oxhJkU2y63ItpPwSvPI7ENJKhLIjwrRNy3pyhXT17rNqIbobgAH46jZW0VCgT7ld3d3dePHFF7Fu3ToAQEpKCrZs2YKHH3643wfoLStWrMDixYsxdepUTJ8+HZs3b0Z7e7ssEXao4S4vC5BOceiJknNSnO1zlAImCNv42Dr8fMYnqGyJQ3pUA1Kim2Si500AIQGHd07kYt2s92WiJreWDLJET8GnRQsSdMIhOVLdFeNiRwSmxp9VJdTKWy27HrEwjtkppwAAVc1mqASWAy5ZOpFUycSnTzWcly5diqVLl6KxsREhISEICwvr73H1mQceeACNjY1Ys2YNrFYrcnJysHPnTt130+grzZ0mlcP17RO5GD6sR7b6dKB2jCRDW51dHm7swrN771cJmHoa5QwGnJ5Q6Whb42qVSTsgUVjZEpy7Gw/NA80v47yuPEkMkV32voDBURZVcHLTaktLhVnwKf2rcpIjoFI9Vg52zE07hosdEThqTXVYbuMxM/Eb6nVJ20cPZa6rgLzZ3H9tNPqTZcuWDblplha7a8ZB+cASGPBq6WxREKJDrjgeXGVhL/r0w3WPc6cYSDs70FaZhGO3dQ/HZ9UTVOOUTl+67UGq95XI00R4MZl5YzkOnB8LIfdqWkKl2ARQGfCoVTKWn1IegtnUprAMCW5JLAchwM6qSVA66flmhoqlRztgtppcXsdQwSPxuemmm1BYWOhxgfhbbrkF7733HkaNGuV+Z8aAsfN767D70QrN96XTFjXOXltaiaXue5yrHbEjhl+Rda0QHvLZKWWObPYJolBIfUZGQy/c1f+hXd/UhGrcNfqYuKq19Wg+pJnptDFqZcELdY6qWsx8TeauMBelaZ1O+sJqRz95OzCN1fQR8Uh8SkpKUFpa6nH745KSElngHsM3tEX1aD4YTujvKzuRKqdLHPge564FQP3eq6W3YoHDSSxFqKMzO5nu0OYtH3WlQ1dxRtJVrVOXRjmmn66/D09Kxk4JqUFzpwmv7b3V5fcrfIfJkZdwasMimK0mJjwSPJ52zZkzB4R4NldlBcb8g/CWYBeOV22UVoczojdPYjUAZ5ot0BIfDgTTEypEn4/06EonsVD7R3BM01bpjIZe6lK+EGdU0xrjOK4A3y9MCGR8W+L3Uo5TiPr2tGQsAFS20Hp4SY8rn+Jh7gW2zK7AI/E5e/as1we+8cYbvf4Mo38xtQdhfsYRytRKmsUtdyw/pkiDEBgfWwd5rWIDtW+6cPynZ3yMM2IQnhJ52Q5afR/Bme10ltuRGVOP8qYEmVBEDu9EZUsYZSx8v7DvjD2qucrGgYjL+a5SPZTwTvY8F3vwXVQ/rZrkPK8hMBoHrr2Qhs2ed053iUfik5yc3D9nYww6zviVKeJDey+lg6nwMCujkQVozfV4YVHmchAsyDiCM80WF/4kJ3aHiBGFII0KuyxbpQMMON10IzgQ5Kcex+zkMpy6NEpcgaNBHP4b3l+krjj49IxPxCBJTysdOmOVXF0Xh0+rslX7sHo+cq5rtYvh/+yftwG3f7KKWhB+bIyVup2Gdp0d59K8sHo2Nf4snt27EFpWkXy7OrDRDgOON6orAfKf5suX3hRX7Tb+hoNdTLOQjlMZne0JwvSvrcfoUawSTZhZPR85THyGCLQUBFfbafvJ86yUFQSJaEmUN2lNt7T6W6mtks6r2taBZytt/NRHHqHMj/PHkwsRHHQNzZ0mL6ZZQiyQ0A5Zem6748jOaxYsTDG/y866Vyhh4sPwiAO1YxwxLvJyqwIEHHrs/IN1rjUGtGVxPuYmU3FkzvH/dknsDbC3JotyDIj7pkc1uEwHATiEBveo3ifgxOV2rWhvKeri+UIvC7vM9wRAlVoyM/EMpsafxWc/W4nwlmAmPAqY+AxB3OV50fZ/S2O1SEBYolZ2fuAhmJV0CrenncSB82Mpx+HwWPZeAPxSvLrUq5w5qScdPcDoaRfCeOihAM7VPyEqelTYZc0pWFWzelWLgMP3xxXBEm6TTVdpjuvokA7Wn10DrysZLl68GPv37x+IsTAGiP3zNoj/faB2DJ7dez/+cPhOPLv3fhyodV3mobnThGJrCtwJj7BETV9Z4rD33HgcuZCKBRnFUE6/hOz3MGO3y/PwR7JjdnIZAGfFw+XTd2JBxhFI2zXfm1GMyOGdqnPRLLaNh+bhQO0YWbVDgP+ueDFU827ZDDR2hKsioYU6QwLS754hx2vLp7W1Ffn5+UhOTsajjz6KxYsXB2Qk89oLafh1QqP7Hf2UjtBetEX1yMx9d/23lGiVv3BCcEviadyVflz8vHZ2PIft5VMxM/E07kwrFVeDlLE16mBG13E4gs9KiA3iV84M2FE+Bbae4fDs76tB1pdLcJxrJdkKn/G0ISHtt9AjG66k92ulT6/FZ8eOHWhsbMRf//pXvPnmm3juueeQn5+PJUuW4N5771W10mEMPmIBeUd+5bQ9FmDeBoT+f1uoK0u0dAJ6+QulAHE4WJuBu9KPi1tclRgFOByoHQfAjjvTShEa3CNmv9M+S6u+2G0PojqKhemedEql1dRPEBkp8q4crmKY3H93AvvnbaD+FizQkKdPBeTNZjNWrFiB0tJSfPnllxg9ejQeeughJCQk4KmnnsKZM9oOPMbAoiog7whuK8tpok4htNIJtKZPSoQHUDplmZl4Bk/P+ATaxeYN2FmVjQ9OT8cmx5SHfh7+39EhHWjsCMemQ/Nk00V3ReEJDLgl8RsIxd4NDjF7YvJnLsYmfFZZoZB2Fa5TMbR+i47QXpfHHSpcl8P5woUL2LVrF3bt2oVhw4bhP/7jP3D8+HGMHz8eGzduxFNPPdVf42R4CK2APDEApTMbQauvrJVO4K64mBM7vrqQjIO1maoVpAXU6Grn2QH51A+ALIBPaFPc1mXERxU3ieMXyoIop0m0OKQvankHNweCO9KOIdbUBmtbhMaYaGOUWntEtl1I39BC67dggYY8Xls+vb29+OCDD3D33XcjOTkZ27Ztw/Lly1FfX48333wTn332Gf72t79RmwoyBh6xgLwUoRa8gsdy9mkuMwtTIAPkLXXU8FMpZYRyc6fJUZyrAuoBKYfHW09a1stHFVNBKwsiPeeO8inIiauhjNO5RL6zKht/OHwn3ivLpYyCOPxL6uu7K/0ovj/uoPha+PdX9emic1rJ/nkbqL8FCzR04rXlEx8fD7vdjh/84Ac4fPgwcnJyVPvMnj0bUVFR/TA837LhSjpWhVX6ehheoSogbwcmHTSjNK9R9vwaYEdalGuHurQ4+4UrEXjvFC2fiT4V42sXS2v0EM39Ocn0xTNrSw2BAUcbUqD0SdHHSrfEHhh/EO+emgHpF2WAHbcknsHu6vGqz7nz+dB+C70GGm64kt7vx/RafH7/+99j4cKFGD58uOY+UVFRfUpGZfQPQgF56QpLcPcw8SHwJntbWE0ym2x47xSlJw8FDnZKcTDtac6clJPiWOSxO1o42/ooz9xXDLBj4sjz6L5WLMuDEwIIC6vHqz7Dafh8pMvr8edCkftpAggIK6mhwGvxeeihhwZiHIx+xtQeJLvRpYKU/4ffepVIKQQkPihbxaILgNDjq/DsRI+OLxSmFxCsrapmsyLgUNif4IFxh3DEmqroIKEFPYNfOYYfZBXh1KVRslY+Qq/34vpk1TgAPtiRturWMKod4S3BuJDUzla6XMAinIcQgiAdv38Nvv3JKrf70wrP/8pRhTDY0OuoqSxPEn16xicu6/xI4UtaqC0woWBX1zXlkj2fevFuWR5oPihlWVS+t/sRVQa/c2x23JJYLoYKSDPkpa2Ztzv+LT+XM9hR+n29dWwmsKBWrc0BUlKjP2Hi4wY9+n08Yf+8DVQBkhbvogUkrpv1PsbGWFHeZIHaGjCgqYtWW4fOYzl7MSWeXsIDkBRvr5iIL85nwN00bk7qCcxOLhPLnErrEkkz+E9fsmBnVTYAAw7UZiI58jJiTW3UGChaoKEgxMoOHm8dmylbVlei15WugfD3AEx8GA6aO03YXTMOu89mUctBAO77pBtgB4gQI+MaTxzeAgdUwkPDjpviqkWriYYgFpur5sK51M/hrRN5+K8ZH1OX6mnnfSxnn0o0L3ZEuB0iW+mS06cgQ0ZgIDhGD9SOwTN770fh2YkS4RCmJ06kQXXKpXjBR5IW3aixZC2UonDv8HYXPEg/tgGbDs3DrqoJsvwsJccabgTNUX2uNQaLsorEgEQn8tdaonl2aYHriAIdr3QNFMzyGeLs/N46/OPRM6D/HZI6atVBdTMTz6CjNxjbHU7aHeVTYArqwaKsg3jrRB7kwXl8KYo5jiqEWv3id1ePd6wsuer1RRsnvYmgMo6ptSeEeoTWnhDckngGcmGil89Qjn3/vA0wAcgoiUb5Tc3qg9uB27clI6aRfu6hCrN8PGCg5rz+AN/hQus2kBcMO1yfjiMXkkWrwlk+Q52ouiDjCJSxPUIVQhp8tv1CFFZnyY4n9PpyH+wooA52lDLJfJ5yDIKJ5vMOK0ud9f5Y9j4sn74T62a977L2T0bpCLX1Q4Dsg2bdCs9A3vtMfIYgHaG9aBjVjo7QXnpEtIg6+fK1ktlibpVWP6+qFjOlpo/z/caOCNk2V3WR7TAgObIJ62a9j/syD1OPqQXtXCnRTbg5oQJOASK4OaECkcM7caXbCOo0K7pRVSpDQBrTIwQVchKdzD5gxriSGI/HPJRg064hBi3LWhqF6wmCVfHzGZ9Qnc7t3dp1jmnJmK78OkIgX3RIB26yVOPvp6eqSm44l9fVBcVoQYCLsw/g1qTTONF4IyKCO9FtD5IssxPxmtz5prRq9RDJfwR3D6Puw2CWj8cEwtRLK8s6/lwo7nkzHbn/iqc4i+nTHDsM6LEHyZzOQjtieu6U0ymtfJj5lTP6eQg4nLrE14tSOrkNsGN6grwjqzSD3ZVw1F0ZgX9WZuPdsjxsL5cKGi9eS3L2uJxm0YQn0LLYB/qeZ5bPEMJVlnVcXSiSKyNxtZCgeE49pL3UjYZevFumznkyOxr8CflfynbEkrM4/p/DjvKpMAX1yB7q6JAOzE0rdcTeqFeipEW7pPlmwYZebDo0TzIu3jG+JGcP0qLUvccE1GVh1dPL8OBury0elsXuHUx8vEBPAYe06nmif0fygChjT4Q0jLQtL8NssuHUpVGSbp/y1jPSOsWu2xE7t/FlMvJkFQAP1I7Bp1WToJUGoUzgFPLN+C4Z6mx3V8IB8N1GXRn9tJwtYdn/7NIC0Bfx6d8vdBrbMxiWPhOfAESrep6nWdam9iBYH14O8/svUKsZ3pF2TGa5uGpHTIOAQ1WzWex57q5iogF2BBt6Ud5kkRW91wp0FArZaxXJ59wsmClztmTlZBdXus7R6r9c14CHiU+A4cqvY2oPoma8Sz8r3f7Zz1aCLKhVnIHvxvmtpG/EB9SzQEDVYVx8loPQY17wIwk9z6XxO4IPSNmyRrDWlPsLpEU3Qjv3jGBMlLxXvEwcXeRotUX1UMWHTbvoMPHxEn+fernzO2gVM6dZS/HnQmlZFiDgZNMgvh2xukWNqyxyIUpY67NPTP4MxqBrol9Hq+i91AckTJXkCaLqQu+CA5sOh4udkQD4yorUAmcafpwbegzUr+GGHn2t6wzW4oq+vhWGW7Sq53UNv4qynCZ8tLgSexbU4qPFlTia14CO0F5NawkAxh0ZQVnwIgg2OFdwalpjQPuTn2U+B+dgiGOrPCmz2x5E/ezFzkiYTTZ024OosUTS+B1pyxqt2CNh/+rmGBe+KX6cfL8vnlMrf6y6fq0cravBdqrlczXYdSXHoQqzfPqAP1s/Sr8On+gJFN11Qf5X2QCU39SM8pxmpJ2MpFpLlyydMHYPozynzu6kB2rHaC6tRw3vcEygePJTjmN2ijy1QqsH/Aenp+Pvp6dibtox0MwJqfhJGWmyQWmuCX4g3ncjTftQwgccpkQ3OTtPLKyRuaFcVSP0xKHv7wxmSAkTnwBE8OtcsnTi4Nx61w1ADUBVVqt6ekXg/Kzi2Zc6dd/WtCIIvqjNkLzHYXf1BFnhMAAqv430ZAQGfKqx/C6InxQhM1+6v1AoDIBmFDVAkDuqHN9KPIPI4Z3Y9vgvcYO5U24NOhL9813kaAVS2dTBgIlPgGJqD4KxS+3/oSI8jw4B4uyOmQZlAYqzA1P2JOD4n9cg7v/f7MLRrJ1aoVx9mpl4BqPCLmPjobtVnyPSkzugRS4fqB2j2dJ5fGydC6c4f+xDdWNxYdd0VGfa+GJgNJeVwf0UypVDnyGHiU8f8eepl8DVYXbP/cAckLczAcauYegafpWfpinez/ncjKSKCPGBOru0ANyjZzxe6XLV54ru+6ENmF/qjw7pUBU+owkPcQieEEWttnycVlb1OJvUUFOd2t0USurMD28J5p3/gG4EaLCj+Jn4BCiV41rw1W1WqgM0riYEDUmdygqoCLUFIaYxBGU5TdQHTyo8AP9QTS1MkE9PNHGmVtBicLR8P7QL+LQqG81doThcnw6h3rJWATNB8KJDOjDfZR8x6qlk1qCrKZRstZDAWYeM1W7WhInPdeCv1o+4eqVhSDQkdipL9QAGYNfCGmQLbXYU1tKkg2bqg5deFoWoS0bs+l6Nm4A6DsmRTdS60NKYHXVveLUAEXD4sn40nFYLfT/OkR5y0bHSdXvaSZxpisOJS4mqfYXrVF737duScTXY7nIKpVot1GHtZl/kLupGfF588UV88sknKCkpQXBwMFpaWlT7nDt3DkuXLsWePXsQFhaGxYsXY/369bjhBt1cZr9Ai/UB4Fz11gomNkDV30vYb0SjdqukkI4b3E7vOEeUsrIu9Nsn8jAq7LLYr10+76ENEor3pa8Fr7kdtyR+A7OpTdKNwo5JX8ThhPL6pBqnhADtEb2ItYa4FJ5zo20uLT+W30VHN09lT08PFi5ciNzcXLz66quq969du4Z58+bBYrHg4MGDuHDhAh5++GEEBQXh17/+9YCNyx+tH60co6RvwnEus02+M8Wp6u1ycaOlgypYyg2XusIouVgcNh6ahwUZQr8srdww1+rGT72cF8GvtDlrMBMYNIV1wpcxODmtiVYPHwfvqtecOqmmWlqzOT9fbvdVxQbdBBmuXbsWTz31FCZOpPeD+ve//41Tp07h//7v/5CTk4O77roL69atw8svv4yenp4BHZu/ldtQFrXi7Hw1vXNj29Q7UypojDsyQvZZd8vFnNZTJzssh9PrH9QoXGYQLRT68e1YkHFEVkrj5oQKOOtH2yFtmSN8SnV7CyIh3csORFwOdv0kUEpjUKdazvpk4nX6+3K7L+9d3Vg+7igqKsLEiRMRFxcnbps7dy6WLl2KkydPYvLkydTPdXd3o7u7W3xts9FXY/SGcslXcypGmb1Y6kIx5mS0x8vFsdYQ99MuO7/ftD0WqoOauDAf5qScxO1pJ8XWN4ID+Ttjj+Kzn62kr87RLtXROvpYXqMsDsdsNVHTSGTjU0ydqN+nZEVQ2Ictt2sTMOJjtVplwgNAfG21WmkfAQCsX78ea9euve7z++P0S9m1lDYVA0CdYqk+6+Y803bLg+uST0egJtOmCrYTHdQLa1TnzTwSg7Jpl1WiZXpuPva3LxS3SX/NOPBWCFU8JKtOwhjSy6KQfCZCJQzZB80ondno8dRJK5pZuiLo76Lja4vdp+KzatUq/OY3v3G5T1lZGTIzMwdsDKtXr8aKFSvE1zabDYmJiQN2Pl+hFX0LoF8icmnBdZO+NFP/+sc0hlDHkl4WheCeYaJvxtPxCNcms6gIMG23hRrwRxNWoc6y6BeiCJcyzIBFM18fPhWflStX4pFHHnG5T1pamkfHslgsOHz4sGxbQ0OD+J4WRqMRRqPRo3O4wx+tHyla0bf9FZGrfKhdWU9aYxlXEkO1TDy9tkYLn08mXaHy9BjKcwOup056jmb2tdUD+Fh8zGYzzGZzvxwrNzcXL774Ii5evIiRI0cCAHbt2oWIiAiMHz++X87hCf4uQDRB8GaKNdBjuZ7xmNqDkFwZ2a9j8sTq0pPoAP4hPICOfD7nzp3D5cuXce7cOVy7dg0lJSUAgNGjRyMsLAx33HEHxo8fj4ceeggbN26E1WrFs88+i4KCgn6zbBgMRv/BEULcdWHzCx555BG8+eabqu179uzBrFmzAAA1NTVYunQp9u7di9DQUCxevBgbNmzwKsjQZrMhMjISra2tiIiIcP8BDfzZ+mEMXa7X6umv5wPQkfgMFkx8GIGMP4mPboIM9Ya/zKsZDAF/uyeZ+Awg/vZjM4Yu/ngvMvEZYPzxR2cMLfz1HmTiw2AwfAITn0HAX//yMAIff773mPgMEv58EzACE3+/55j4DCL+fjMwAgc93GtMfAYZPdwUDH2jl3uMiQ+DwfAJTHx8gF7+MjH0h57uLSY+PkJPNwlDH+jtnmLi40P0drMw/Bc93ktMfHyMHm8ahn+h13uIiY8foNebh+F79HzvMPHxE/R8EzF8g97vGSY+foTebybG4BEI9woTHz8jEG4qxsASKPcIEx8/JFBuLkb/E0j3BhMfPyWQbjJG/xBo94RuulcMRYSbjdWDHtoEmugIMMtHBwTqzcdwTyD/9kx8dEIg34QMOoH+mzPx0RGBfjMynAyF35r5fHQG8wMFNkNBdASY5aNThtJNOlQYar8pEx8dM9Ru1kBmKP6WbNqlc9g0TN8MRdERYOITIDAR0hdDWXQE2LQrwGA3tf/DfiMeZvkEIMwK8k+Y6Mhh4hPAMBHyD5jo0GHTriEAu/l9B/vutWGWzxCBWUGDCxMd9zDxGWIwERpYmOh4DhOfIYr0IWFCdH0wwekbTHwYzBrqI0x0rg8mPgwRZg25hwlO/8HEh0GFWUNymOj0P0x8GC4ZytYQE5yBRRdxPtXV1ViyZAlSU1MREhKC9PR0PPfcc+jp6ZHtd+zYMXzrW9/C8OHDkZiYiI0bN/poxIHJhivpsn8CjUC/Pn9DF5bP6dOnYbfb8corr2D06NE4ceIEfvSjH6G9vR0vvfQSAMBms+GOO+5Afn4+tm7diuPHj+Oxxx5DVFQUHn/8cR9fQWCifED1ZhkxgfEtHCGE+HoQfWHTpk3YsmULqqqqAABbtmzBM888A6vViuDgYADAqlWrsGPHDpw+fdrj49psNkRGRqK1tRUREREDMvahhL8IEhOa/qE/nw9dWD40WltbMWLECPF1UVERvv3tb4vCAwBz587Fb37zGzQ3NyM6Opp6nO7ubnR3d8uOC/BfMuP6+UW9WfO95+Kr+vVcay+kab7Hfs/+Qfge+8Nm0aX4VFRU4E9/+pM45QIAq9WK1NRU2X5xcXHie1ris379eqxdu1a1PTExsR9HzBgMNkf6egRDh6amJkRGXt8X7lPxWbVqFX7zm9+43KesrAyZmZni67q6Otx5551YuHAhfvSjH133GFavXo0VK1aIr1taWpCcnIxz585d95frS2w2GxITE1FbW6vr6SO7Dv+itbUVSUlJsllHX/Gp+KxcuRKPPPKIy33S0pymdH19PWbPno28vDz8z//8j2w/i8WChoYG2TbhtcVi0Ty+0WiE0WhUbY+MjNT1TSIQERHBrsOPCJTrMBiuf6Hcp+JjNpthNmv7BKTU1dVh9uzZmDJlCl5//XXVxefm5uKZZ55Bb28vgoKCAAC7du1CRkaG5pSLwWD4Dl3E+dTV1WHWrFlISkrCSy+9hMbGRlitVlitVnGfRYsWITg4GEuWLMHJkyfx3nvv4Q9/+INsSsVgMPwHXTicd+3ahYqKClRUVODGG2+UvSd43SMjI/Hvf/8bBQUFmDJlCmJjY7FmzRqvY3yMRiOee+456lRMT7Dr8C/YdajRbZwPg8HQN7qYdjEYjMCDiQ+DwfAJTHwYDIZPYOLDYDB8AhMfBFbJjhdffBF5eXkwmUyIioqi7nPu3DnMmzcPJpMJI0eOxNNPP42rV68O7kA94OWXX0ZKSgqGDx+Om2++GYcPH/b1kFyyf/9+3HPPPUhISADHcdixY4fsfUII1qxZg/j4eISEhCA/Px9nzpzxzWBdsH79ekybNg3h4eEYOXIk5s+fj/Lyctk+XV1dKCgoQExMDMLCwnDfffepgnzdwcQH8pIdJ0+exO9//3ts3boVv/jFL8R9hJIdycnJKC4uxqZNm/D888+rIq19TU9PDxYuXIilS5dS37927RrmzZuHnp4eHDx4EG+++SbeeOMNrFmzZpBH6pr33nsPK1aswHPPPYevv/4a2dnZmDt3Li5evOjroWnS3t6O7OxsvPzyy9T3N27ciD/+8Y/YunUrvvzyS4SGhmLu3Lno6uoa5JG6Zt++fSgoKMChQ4ewa9cu9Pb24o477kB7e7u4z1NPPYV//OMf2LZtG/bt24f6+np897vf9e5EhEFl48aNJDU1VXz9l7/8hURHR5Pu7m5x23//93+TjIwMXwzPLa+//jqJjIxUbf/nP/9JDAYDsVqt4rYtW7aQiIgI2bX5munTp5OCggLx9bVr10hCQgJZv369D0flOQDI9u3bxdd2u51YLBayadMmcVtLSwsxGo3knXfe8cEIPefixYsEANm3bx8hhB93UFAQ2bZtm7hPWVkZAUCKioo8Pi6zfDTwtGRHeXk5mpubfTHEPlFUVISJEyeKGf8Afx02mw0nT5704cic9PT0oLi4GPn5+eI2g8GA/Px8FBUV+XBkfefs2bOwWq2ya4qMjMTNN9/s99cklJkRnofi4mL09vbKriUzMxNJSUleXQsTHwpCyY4f//jH4jar1Sp7YAF5yQ69oIfruHTpEq5du0Ydp7+M0VuEcevtmux2O5YvX46ZM2ciKysLAMSCfUqforfXEtDis2rVKnAc5/IfZZXD/i7Z0R/05ToYjP6goKAAJ06cwLvvvtvvx9ZFbldf8YeSHf2Bt9fhCovFolo1Gqzr8JTY2FgMGzaM+n37yxi9RRh3Q0MD4uPjxe0NDQ3Iycnx0ahcs2zZMnz88cfYv3+/LKfSYrGgp6cHLS0tMuvH69+n371TOuX8+fNkzJgx5Pvf/z65evWq6n3B4dzT0yNuW716tW4dzg0NDeK2V155hURERJCurq5BHKFrpk+fTpYtWya+vnbtGhk1apTuHc4vvfSSuK21tdUvHc52u50UFBSQhIQE8s0336jeFxzO77//vrjt9OnTXjucmfgQXnhGjx5N5syZQ86fP08uXLgg/iPQ0tJC4uLiyEMPPUROnDhB3n33XWIymcgrr7ziw5GrqampIUePHiVr164lYWFh5OjRo+To0aOkra2NEELI1atXSVZWFrnjjjtISUkJ2blzJzGbzWT16tU+Hrmcd999lxiNRvLGG2+QU6dOkccff5xERUXJVun8jba2NvH7BkB+97vfkaNHj5KamhpCCCEbNmwgUVFR5MMPPyTHjh0j9957L0lNTSWdnZ0+HrmcpUuXksjISLJ3717Zs9DR0SHu88QTT5CkpCSye/ducuTIEZKbm0tyc3O9Og8TH8JbCQCo/0gpLS0lt9xyCzEajWTUqFFkw4YNPhqxNosXL6Zex549e8R9qquryV133UVCQkJIbGwsWblyJent7fXdoDX405/+RJKSkkhwcDCZPn06OXTokK+H5JI9e/ZQv/vFixcTQniL4pe//CWJi4sjRqORzJkzh5SXl/t20BS0noXXX39d3Kezs5P85Cc/IdHR0cRkMpEFCxbI/lh7AiupwWAwfEJAr3YxGAz/hYkPg8HwCUx8GAyGT2Diw2AwfAITHwaD4ROY+DAYDJ/AxIfBYPgEJj4MBsMnMPFh+Izq6moxK3+gkyvfeOMN8VzLly8f0HMxPIOJD8PnfPbZZygsLBzQczzwwAO4cOECcnNzB/Q8DM8J6JIaDH0QExODmJiYAT1HSEgIQkJCZJUoGb6FWT6MfqGxsREWiwW//vWvxW0HDx5EcHBwn6ya1157DRMmTIDRaER8fDyWLVsmvsdxHF555RXcfffdMJlMGDduHIqKilBRUYFZs2YhNDQUeXl5qKys7JdrYwwMTHwY/YLZbMZrr72G559/HkeOHEFbWxseeughLFu2DHPmzPHqWFu2bEFBQQEef/xxHD9+HB999BFGjx4t22fdunV4+OGHUVJSgszMTCxatAg//vGPsXr1ahw5cgSEEJlgMfyQ/kzFZzB+8pOfkLFjx5JFixaRiRMnuixQdvbsWQKAHD16VLY9ISGBPPPMM5qfA0CeffZZ8XVRUREBQF599VVx2zvvvEOGDx+u+uytt95Kfvazn3l+QYwBg1k+jH7lpZdewtWrV7Ft2za89dZbMBqNXn3+4sWLqK+vd2stTZo0SfxvoSj7xIkTZdu6urpgs9m8Oj9j8GDiw+hXKisrUV9fD7vdjurqaq8/HxIS4tF+QUFB4n9zHKe5zW63ez0GxuDAxIfRb/T09OCHP/whHnjgAaxbtw7/+Z//6XWH0fDwcKSkpAz40jvD97Cldka/8cwzz6C1tRV//OMfERYWhn/+85947LHH8PHHH3t1nOeffx5PPPEERo4cibvuugttbW04cOAAnnzyyQEaOcMXMMuH0S/s3bsXmzdvxl//+ldERETAYDDgr3/9Kz7//HNs2bLFq2MtXrwYmzdvxl/+8hdMmDABd999N86cOTNAI2f4ClbDmeEzqqurkZqaiqNHjw5a76pZs2YhJycHmzdvHpTzMbRhlg/D5+Tl5SEvL29Az/HWW28hLCwMn3/++YCeh+E5zPJh+IyrV6+KK2JGoxGJiYkDdq62tjaxA2pUVBRiY2MH7FwMz2Diw2AwfAKbdjEYDJ/AxIfBYPgEJj4MBsMnMPFhMBg+gYkPg8HwCUx8GAyGT2Diw2AwfAITHwaD4RP+H1HeaTMJ1PDPAAAAAElFTkSuQmCC",
"text/plain": [
"<Figure size 258.065x259.74 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"space = openmc.stats.Box(lower_left=bbox.lower_left, upper_right=bbox.upper_right)\n",
"\n",
"model.settings.source = openmc.IndependentSource(space=space)\n",
"\n",
"model.plot(**plot_kwargs)"
]
},
{
"cell_type": "markdown",
"id": "09d067a7-cc64-415f-8787-ca35a96e7cea",
"metadata": {},
"source": [
"The `openmc.stats.Box` will uniformly sample within a paralleliped - the same source distribution could also have been achieved by independently setting the sampling distributions for the x, y, and z directions with the `openmc.stats.CartesianIndependent` class."
]
},
{
"cell_type": "code",
"execution_count": 18,
"id": "654aacd0-8b84-4873-b042-be607310d023",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<Axes: xlabel='x [cm]', ylabel='y [cm]'>"
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 258.065x259.74 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"xs = openmc.stats.Uniform(-10, 10)\n",
"ys = openmc.stats.Uniform(-10, 10)\n",
"zs = openmc.stats.Uniform(-height/2, height/2)\n",
"space = openmc.stats.CartesianIndependent(x=xs, y=ys, z=zs)\n",
"model.settings.source = openmc.IndependentSource(space=space)\n",
"\n",
"model.plot(**plot_kwargs)"
]
},
{
"cell_type": "markdown",
"id": "5623b756-5634-41fe-a705-bac96a38c99b",
"metadata": {},
"source": [
"If we want the points to appear only in the cylinder, we can use the `openmc.stats.CylindricalIndependent` class."
]
},
{
"cell_type": "code",
"execution_count": 20,
"id": "0aaa283b-8815-4fac-bd81-5395bb601c48",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<Axes: xlabel='x [cm]', ylabel='y [cm]'>"
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 258.065x259.74 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"rs = openmc.stats.Uniform(0, 10)\n",
"phis = openmc.stats.Uniform(0, 2*math.pi)\n",
"zs = openmc.stats.delta_function(0)\n",
"\n",
"space = openmc.stats.CylindricalIndependent(r=rs, phi=phis, z=zs)\n",
"model.settings.source = openmc.IndependentSource(space=space)\n",
"\n",
"model.plot(**plot_kwargs)"
]
},
{
"cell_type": "markdown",
"id": "959775ad-02db-40d2-ae2e-ec6869b647c1",
"metadata": {},
"source": [
"Notice that the points are not uniformly distributed over the cylinder (_volumetrically_), preferrentially clustering at smaller radii. To make it uniform, the radial distribution needs to be power-law distributed (which has a PDF of $cx^ndx$). Here, we are essentially weighting by `r`, because the cylindrical differential volume element is $rdrd\\theta dz$."
]
},
{
"cell_type": "code",
"execution_count": 21,
"id": "6cd0c68a-9b5c-4f43-81f9-3b8d3649709b",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<Axes: xlabel='x [cm]', ylabel='y [cm]'>"
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 258.065x259.74 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"rs = openmc.stats.PowerLaw(0, 10, 1)\n",
"phis = openmc.stats.Uniform(0, 2*math.pi)\n",
"zs = openmc.stats.delta_function(0)\n",
"\n",
"space = openmc.stats.CylindricalIndependent(r=rs, phi=phis, z=zs)\n",
"model.settings.source = openmc.IndependentSource(space=space)\n",
"\n",
"model.plot(**plot_kwargs)"
]
},
{
"cell_type": "markdown",
"id": "dfd8da37-acee-432c-9d0b-175dafda3c8f",
"metadata": {},
"source": [
"## Constraints\n",
"\n",
"OpenMC allows for source distributions to be further constrained, by setting the `constraints` parameter to a dictionary. For instance, this could be used to further reject source sites if they are not within a particular domain (cell, material, universe)."
]
},
{
"cell_type": "code",
"execution_count": 30,
"id": "d08df809-05db-4b57-8cad-e5422eac1e60",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<Axes: xlabel='x [cm]', ylabel='y [cm]'>"
]
},
"execution_count": 30,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 258.065x259.74 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"space = openmc.stats.Box(lower_left = bbox.lower_left, upper_right = bbox.upper_right)\n",
"model.settings.source = openmc.IndependentSource(space=space, constraints={'fissionable' : True})\n",
"\n",
"model.plot(**plot_kwargs)"
]
},
{
"cell_type": "markdown",
"id": "3743c88e-df6a-4586-9c92-965f66a5e478",
"metadata": {},
"source": [
"Or, we could have restricted the source to only the fissionable regions."
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "09002ecf-449f-4a49-b39a-e71c62e24888",
"metadata": {},
"outputs": [],
"source": [
"\n",
"model.plot(**plot_kwargs)"
]
},
{
"cell_type": "markdown",
"id": "36090e1c-6385-4ba5-9c6a-2e78b395b24c",
"metadata": {},
"source": [
"### Angle and Energy Distributions\n",
"\n",
"To change the angle or energy distribution, we use the `angle=` and `energy=` arguments when creating an instance of `IndependentSource`. For the angle distribution, our options are:\n",
"\n",
"- `openmc.stats.Isotropic`\n",
"- `openmc.stats.Monodirectional`\n",
"- `openmc.stats.PolarAzimuthal`\n",
"\n",
"For the energy distribution, any univariate distribution is accepted, which includes:\n",
"\n",
"- `openmc.stats.Discrete`\n",
"- `openmc.stats.ContinuousTabular`\n",
"- `openmc.stats.Uniform`\n",
"- `openmc.stats.Mixture`\n",
"- `openmc.stats.Normal`\n",
"- ...\n",
"\n",
"See [here](https://docs.openmc.org/en/latest/pythonapi/stats.html) for the full list of univariate distributions. Also note that for the common case where you want the source at a single energy, you can use the `delta_function` function (or a `Discrete` distribution with a single energy value).\n",
"\n",
"For example, to adjust our neutron source to be a combination of neutrons at 10 MeV (40% of the neutrons) and 14.1 MeV (60% of the neutrons), traveling in the $+\\hat{y}$ direction, we would use the following."
]
},
{
"cell_type": "code",
"execution_count": 33,
"id": "8a2b35ae-f999-4b99-8068-2d3545145808",
"metadata": {},
"outputs": [],
"source": [
"energy = openmc.stats.Discrete([10e6, 14.1e6], [0.4, 0.6])\n",
"angle = openmc.stats.Monodirectional([0.0, 1.0, 0.0])\n",
"\n",
"model.settings.source = openmc.IndependentSource(energy=energy, angle=angle)"
]
},
{
"cell_type": "markdown",
"id": "bf738a01-0021-4e0e-9bbe-fcf8f38aaed7",
"metadata": {},
"source": [
"## `FileSource`\n",
"\n",
"The `FileSource` class allows you to specify a source from an external HDF5 file that contains a finite number of discrete source sites. Source files can be created in a number of manners:\n",
"\n",
"- $k$-eigenvalue calculations will store the initial fission source in the statepoint file (or write any batch's source to a separate source file).\n",
"- A surface source can be collected during a simulation using the `Settings.surf_source_write` setting.\n",
"- Discrete source sites can be created in the Python API and written to file using the `openmc.ParticleList` class.\n",
"- An [MCPL](https://mctools.github.io/mcpl/) (Monte Carlo Particle Lists) file written from another code can be used."
]
},
{
"cell_type": "markdown",
"id": "1661e02f-1d50-4a08-aa32-517b0a2663f1",
"metadata": {},
"source": [
"Let's demonstrate how we can create a source file using the `ParticleList` class. This class takes a list of `SourceParticle` objects that we create individually. Let's start by creating monoenergetic points along a ring."
]
},
{
"cell_type": "code",
"execution_count": 65,
"id": "0ffb8432-2d00-431b-8441-9b8d180a93ce",
"metadata": {},
"outputs": [],
"source": [
"particles = openmc.ParticleList()\n",
"import numpy as np\n",
"\n",
"for i in range(1000):\n",
" phi = random.uniform(0, 2*math.pi)\n",
" x = math.cos(phi) * (10 + 0.5*math.sin(10*phi))\n",
" y = math.sin(phi) * (10 + 0.5*math.sin(10*phi))\n",
" u = (x, y, 0)\n",
" u /= np.linalg.norm(u)\n",
" E = 473824\n",
" p = openmc.SourceParticle(r=(x, y, 0.0), u=u, E=E)\n",
" particles.append(p)\n",
"\n",
"particles.export_to_hdf5('source.h5')"
]
},
{
"cell_type": "code",
"execution_count": 47,
"id": "d293233d-9fe1-4c0a-ab5b-210b391e1663",
"metadata": {},
"outputs": [],
"source": [
"model.settings.source = openmc.FileSource('source.h5')"
]
},
{
"cell_type": "code",
"execution_count": 48,
"id": "fe6d62df-4e3f-4612-ae80-2bf7b504aeb0",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<Axes: xlabel='x [cm]', ylabel='y [cm]'>"
]
},
"execution_count": 48,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAR8AAAEMCAYAAAD9FbJ4AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAALjlJREFUeJzt3Xl8U2W+P/BPCm1I0ibdm7a0tGVfSkEEaUFkqVQGnHF0UK8jltHrgq33Ypn5CYMjch0sgjMyemVxRsHrz1EEL4qOy1RkEwqytLUgFCjdaJs0lDYpXZK0ee4fnUbSnJSkTXJyTr7v16svyDlp8k3y5NPnPOec50gYYwyEEOJlAXwXQAjxTxQ+hBBeUPgQQnhB4UMI4QWFDyGEFxQ+hBBeUPgQQnhB4UMI4QWFDyGEFxQ+hBBeCCZ88vPzMXXqVISEhCA6Ohr33HMPysrKbO7T0dGBnJwcREREIDg4GPfddx+0Wi1PFRNC+iKY8Dl48CBycnJw7NgxFBQUwGw2Y/78+WhtbbXe59lnn8Vnn32GXbt24eDBg6irq8O9997LY9WEEEckQj2xVKfTITo6GgcPHsSsWbOg1+sRFRWFv//97/jVr34FADh//jzGjh2LwsJCTJ8+neeKCSE3Gsx3Af2l1+sBAOHh4QCAU6dOwWw2IzMz03qfMWPGIDExsc/wMRqNMBqN1tsWiwXXrl1DREQEJBKJB18BIcLDGENLSwvi4uIQEDCwDSdBho/FYsHy5csxY8YMTJgwAQCg0WgQFBSE0NBQm/vGxMRAo9E4fKz8/HysXbvWk+USIjo1NTUYOnTogB5DkOGTk5ODM2fO4LvvvhvwY61atQp5eXnW23q9HomJiaipqYFSqRzw4/u7NbGX+S4BALC2PoXvEkTBYDAgISEBISEhA34swYVPbm4uPv/8cxw6dMgmedVqNUwmE5qbm216P1qtFmq12uHjSaVSSKVSu+VKpZLCx0Urg8vtlkklA2+k7vBynM5u2frrw3moRBzcMSQhmPBhjOGZZ57Bnj17cODAASQnJ9usnzJlCgIDA7Fv3z7cd999AICysjJUV1cjPT2dj5JFjytshKR3/RRG3iWY8MnJycHf//53fPrppwgJCbGO46hUKshkMqhUKjz22GPIy8tDeHg4lEolnnnmGaSnp9OeLjcRetjcDIWRdwlmV7ujbt727duxdOlSAN0HGa5YsQIffPABjEYjsrKysHnz5j43u3ozGAxQqVTQ6/W02QXxB46zKIi6ufP7IZjw8RYKn24UOtz8PYTc+f0QzGYX8TwKnJu78T3y9yAaKAofQqHTTz3vG4VQ/1D4+CkKHPeh3lD/UPj4GQodz6LekPMofPwEhY53UQjdnGCm1CD9R8HDH3rvHaOej4hRw/cN1AviRuEjQhQ6volCyBZtdokMBY/vo8+oG/V8RIIatLBQL4jCR/AodITNn0OINrsEjIJHPPzxs6TwESh/bKxi52+fKW12CYy/NVB/40+bYdTzERAKHv/hD581hY9A+ENjJLbE/plT+AiA2BshcUzMnz2N+fgwMTc84jyxjgNRz8dHUfCQ3sTWJih8fJDYGhlxHzG1DQofHyOmxkU8QyxthMLHh4ilURHPE0NbofDxEWJoTMS7hN5mKHx8gNAbEeGPkNsOhQ/PhNx4iG8Qahui8OGRUBsN8T1CbEsUPjwRYmMhvk1obYrChwdCayREOITUtih8CCG8oPDxMiH9ZSLCJJQ2RuHjRUJpFET4hNDWKHy8RAiNgYiLr7c5Ch8v8PVGQMTLl9sehQ8hhBcUPh7my395iH/w1TZI4eNBvvqhE//ji22RwsdDfPHDJv7N19okhQ8hhBcUPh7ga39hxKRNYcbZW67iwMIaHJtdh8aodgBAbWILTsyqR21iC88V+jZfapuCunrFoUOHsHHjRpw6dQr19fXYs2cP7rnnHut6xhjWrFmDv/71r2hubsaMGTOwZcsWjBw5kr+iyYC1KcyoGK1HbVILrsUaAclP6yrHGxDUHgCTzAJIgPJUPUK1Uty1O5m/golTBNXzaW1tRVpaGt58803O9Rs2bMDrr7+OrVu34vjx41AoFMjKykJHR4fXavSlvyxC1qYwo2q4HifuqMfepeUozbiKa3G2wQMAkMAaPD23m2OMOHRXDdoUZm+XLQi+0kYljDHGdxH9IZFIbHo+jDHExcVhxYoV+O1vfwsA0Ov1iImJwY4dO/Dggw869bgGgwEqlQp6vR5KpdKlmnzlQxW6c5MaUTJDZx80rrIAY0+GI+37aLfUJTb9uQ7YQL4fvQlqs6svFRUV0Gg0yMzMtC5TqVS47bbbUFhY6DB8jEYjjEaj9bbBYPB4rWLTpjBDp27DdZUZLUoTJJAg2BAIg8qIhvhWgEmgbA6CslmKpAsqROhkdo/RGNWOylF6NEV14Gp8h2vBw8B9/wDg3NRraAkzYebXQ/v78oiHiCZ8NBoNACAmJsZmeUxMjHUdl/z8fKxdu3bAz++PvZ42hRnF0xtQPbrlphvw7WHt0KIdFyc1Q3FtMEKaA9GobscgkwQmGYNliKMEuQkGBHZIYB7CuH9dAlwZcR3n6xoxpjTC9ccXsZXB5bxeBVU04dNfq1atQl5envW2wWBAQkICjxUJQ/nYZpyYo3F91FACtEZ0ojWiEwBgVrCfVjiFIVTagrjgZiiHtGFWwkUkhTXio7NTcaB6HPfjSIDiWTpUjTYgiwaifYZowketVgMAtFotYmNjrcu1Wi0mTZrk8PekUimkUumAntvfej0/TGnAj7dd8+LuCoa0qEoMCezELTGVSFXX2t3j/vEnMC3uMjYcWwRHAdQUY8TBBdW448tEz5csEHz2fgS1t6svycnJUKvV2Ldvn3WZwWDA8ePHkZ6e7rHn9bfg+fixMvw43VvBY8HMhPNYN3sXnrz1ILLTjnAGT4+ksEb8esJRdA8CcZAA9Slt+PTXFz1TrkDx1YYF1fO5fv06Ll26ZL1dUVGB4uJihIeHIzExEcuXL8cf//hHjBw5EsnJyfjDH/6AuLg4m2OBSP8dufOK47EVt2IYG1mLhyccRZiszaXfnJFwEeMia/HVpQk4fGUs7IqVAO1hnfjo8fOY98kwzsFv4h2C2tV+4MABzJkzx255dnY2duzYYT3I8K233kJzczNmzpyJzZs3Y9SoUU4/hyu7Ev2p19OmMGPv0vI+gochVnENyaFXwRhDlPw6NNeVuNgUA71RBgsCcfPUYlAGteGpW75FUljjgGvOP7IQNYbIPp6XYXB7ABIvhGDC6SjIWwMH/JxC5szmlzt3tQsqfLyBwodbUYYWZbc0OVjLcFdKCX4+utjh75dq4vFN5Ti0m4KQHKZDY5sCFYYoBEk6ETi4E+HSdsxL/rHPzar+2HxiNs5cHYabBp8FiKmSwTSkCyZpF9Q1wRh/OtKvAonCh2fOvrn+FDxtCjP2ZpdzjPMwSAOMeGHWXpc3j7xp9f5foqlDCZe3FxkQV6HA+BORfrN5drMAooMMiVe1hJo4B5hHhtXh2ekF3i/IRevm7MHvvrkfrWYZXAogCVCX0oq65FZE1A6BZZAFg80BGFMcgfjqEI/V6y9Es7eLeM5gU4DdDiQJLFiadoSfgvphY+ZHGBVWC4d7wvoiARrjO9AUa4IusQOH767F17+qcHuN/obCpx/8aZOrfGwzChZX/avD0P3FDYAFD00o9OlNLS7Lp3+DROVV9DeAbvx/U4wRp2Y4PnJeqLzZtmmzizjUpjD3OopZAgks+O30f7hlbxQfVs74B0o18TitSYLBGITa6xEwmBRweTxIAlyc1Ax1jYI2wfqJwsdF/tTrKZneYNc3ZgiAySLsPUCp6lqbvWpN7XJcbopCtT4c56/G4ppR8a/xoZ4X7+C8Mwlw+O5aDL0YjJn/FM+Jq9466pnCh3A68LNqaFJa0ftLJ4EFUXJxnfkfJmvDFFkVpsRVASgC0B1IpQ1DYTDKcLhmFFpMcjgKoCsjr+OH5gZMpKk7XEJjPsTOwQXcwQMA85LPCm6spz/CZG2YNewCFo0qwSvzdmF63AX0ddrGj1Ov0eRlLqLwcYHYN7naFGZ8/GgZ6odzBw/AMGfYOW+X5RMeSSvE/5v+OfoKoJZQk1dr8iRvtHUKH4I2hRlFGVrsXVoOs9zRvDrdRzH7Q6/HkT5PXGWANr7V6zUJGYWPk8Ta6zk+pw57l5Z3nzrRx3lb4yJr+jx9wl/MSLiIRycdsF8hAX68VVybXp5u8zTg7IfaFGZcSWpByfQGdA3BTfYyM4yPrEbO1P1eqs73DQ/VAbDA7m93AKBTt2FYuYqPsgSHwsfPnJvUiJIMnZN9XoaQoDYKnl7CZG2YGnsZJ+pH2K0zSS08VCRMtNnlBDFscrUpzDh815Xuq0I4GTwpKg1embfL06UJUkpYA+dyJhHXedqebPvU8/ED5WObcWKuxomDeBmSlVqMjarHhKgrgj2K2RvaTUGcy81B1PNxFoWPyLUpzE4HjyqoFb+b8ZU3yhI8ExvEufyq2n/3BrqKwkfkKkbrnQqe6XEX8EhaoTdKEoVk6wmqtm9ufXIb2hRmv5qErL9ozOcmhD7eU3rr1T7WMgQHtmLd7F0UPC4KCuwCZ6oHAJdHN3u7HI/y1HeAej4i9r9LLwAO/wAzRMub8eIdn3qzJNGIlhvg6ITT5qgOr9cjRBQ+InV5VDNMCouDP86deHLyfrfPl+xPwmRtGBqsw5Xr9ieT1ibRkc7OoM0ukSpLa3Qw1sPw6/FHKXjcIDiI+1wuFshwPpX2FN4MhU8fhDzeY3HwyUrQifTEy94tRqSmxl4G94mmElya4OhKH8Lkie8ChY9IxVcGcy7PTPrRy5WIV3riZQwC97lcigStqM7z8gSnxnzy8vJcfuDnn38e4eHhLv8ecY+Ey0qcv7X3yaIMk9XVfJUkSk9MPogtRZmwfaMZtG0R2Lu0HGlHojC2OIKv8nyaU+GzadMmpKenIyiI+6jO3r777jvk5uZS+PCoVWnmGPORoLE9mI5cdqNUdS2SVQ2o0Eej+w2/YQ+YBCiZoYM+1IjpB+J4rNI3Ob23a8+ePYiOdm6ayJAQmlCbb+Wjr3EuL6xJ+dd0ocRdfpfxJUo18dhfPRbnG3vN5SwBKscboI8yImtXMj8F+iinxny2b98Olcr5aQK2bduGmJiYfhflC9bECntQVh/JPd5Q10qbAJ6Qqq5FRsJF7pUSoCnaiNrEFu8W5WbuHnR2Knyys7MhlUqdftCHHnoICoWi30WRgUu4GMKxI4ZhUjRd7M5Tuuf5cTzNavn4ZhqEvsGA9nZdv34dBoPB5of4hqRL3D3VafGV3i3Ej4TJ2vqcZrVueCv2ZpejfGyzt0vzSS6HT0VFBRYuXAiFQgGVSoWwsDCEhYUhNDQUYWFhnqiR9ENtUgvngPP/P5PBRzl+Y0bCRaybvQvR8mZYQ+jGszACgJNzNNQDQj9Or3j44YfBGMM777yDmJgYSCQuXumReIWsjfukrrrr4ahsiqA9Xh4UJmvDi3d8glJNPL67MgqlumE261kAUDbxGiYXCntcdKBcDp+SkhKcOnUKo0eP9kQ9xE3iK4Nximk5ez87z07FczNp3h5PS1XXIkTagVJdInp/EGWTmzD6h3C/nnrD5c2uqVOnoqamxhO1EDeStwYCDi4jpblOE5x7i9ESCEdTb+j8fOIxl3s+f/vb3/DUU0+htrYWEyZMQGCgbXJPnDjRbcWRgRnSOggd0i675fIgIw/V+Ke+pt4wDRHelKvuPATF5fDR6XQoLy/Hb37zG+syiUQCxhgkEgm6uuwbO+HHIAdTGIbL271cif8Kk7UhLboKJQ1JdutMQf79XXE5fB599FFMnjwZH3zwAQ04+7A2hRmtYZ0caxjSougIZ28Kk13nXN4h5/p8/IfL4VNVVYW9e/dixAj7axYR33FV3e5gPh8JEkObvVyNf1PLuY9/UzY7f+CuGLk84Dx37lyUlJR4ohbiRszBkbYSMEQ5+DIQz0hUNcLuwEMGhDcM4aUeX+Fyz+fuu+/Gs88+i9LSUqSmptoNOP/85z93W3Gk/368tafB2071kJVSgjCZf+9l8bbG9mDYdUMl3TMPROhkvNTkC1wOn6eeegoA8F//9V9263xlwPnNN9/Exo0bodFokJaWhjfeeAPTpk3juyyvqU1sgT7SBPvtLgnGRGr4KMmvlV2L5VzuqHfqL1ze7LJYLA5/fCF4du7ciby8PKxZswanT59GWloasrKy0NDAfXlbMTo2r87h/M20yeVdTe1yfFfDcUCuBYjSyL1fkA8R3TSqf/7zn/H444/jN7/5DcaNG4etW7dCLpfjnXfe4bs0r6hNbIFZzv0XNS26ija5vOz4lRRw/SWIL1f49dHNQD/C5z/+4z/w+uuv2y3/7//+byxfvtwdNfWbyWTCqVOnkJmZaV0WEBCAzMxMFBZyXxTPaDSK6sz8s7deddjruX/c994ux+8drOI+DWmwWXR/913m8jvw8ccfY8aMGXbLMzIysHv3brcU1V9Xr15FV1eX3URmMTEx0Gi4xzry8/OhUqmsPwkJCd4o1SPaFGZcU3MfvZwWXUm9Hi9b/vWvoTdzTOTPgMRLSu8X5GNcDp/GxkbOWQ2VSiWuXu3r0ry+adWqVdDr9dYfIZ+31hJqcvCJMtw/7oS3y/Fre89PhMkyGFzd0OCmQMRX01TDLofPiBEj8NVX9mdEf/nll0hJSXFLUf0VGRmJQYMGQavV2izXarVQq9WcvyOVSqFUKm1+hKo4o4Fz9sJfjj5JvR4vO6XlHusBgNTjkd4txke5vKs9Ly8Pubm50Ol0mDt3LgBg3759+NOf/oRNmza5uz6XBAUFYcqUKdi3bx/uueceAN175/bt24fc3Fxea/O02sQWNEUb7S6VMz3uAu5MOctXWX5L3+7g6GXay2XVr3O7jEYj1q1bh5deegkAkJSUhC1btuCRRx5xe4GuysvLQ3Z2Nm699VZMmzYNmzZtQmtrq82JsGJ0IbX3NboAQAK9yX8PYuNLYXUKTIzj6GUGpB2N8vu9XD1cDh8AWLZsGZYtWwadTgeZTIbgYO6rY/LhgQcegE6nwwsvvACNRoNJkybhq6++EvzVNG7G7OAM6Q4zNXRv+7ZqPLg2uZSNgXQBwRv0K3x6REVFuasOt8rNzRX9ZlZvQe2DOJcrgjq8XIl/a2qXo/Y618UyGcacpuC5kVMDzrfccguampy/8P3MmTNRW1vb76KI6wI7uT9KaQD/R537k2MODioc3BaAlAuhXq/HlznV8ykuLkZJSYnTlz8uLi6G0Uiz5XnTYAfhEzTYv+eM8TZNG/cUtfGVvjM04Suc3uyaN28eGHPuRDiaYMz7Arq43/Pya+Ie6/I1CcGNOIER6D2bQJjOv6fP4OJU+FRUuH6Vy6FDh978TsRtOoO45wNuaA+lS+V4U0AAuGYTqBptwJhS4Y/5rK1PwSY3XX/AqfAZNmzYze9EeJV4UYmqMdwXCtx6ei7Wz9vFR1l+Z0SoFlwTxjfFGNEY1e7X8/f0Rme3iUR8dQikrdwfp8EkR2E1v0ef+4uksEYkKjlOM5IAujg6yvxGFD4iMusfCZyXCQckeO/s7Si4PN7bJfmlB8cdA9e0qVF1dGTzjSh8RCRCJ0N0tcxhAO0puxX/U5Lu7bL8TlJYI26Lu4Qbr9WedE5Jm1y9UPiIzNzPhkF5NchhAB2rG4X1RxZ6uyy/k512BMsmf4NZCedw+2fxmP5tHN8l+RyXwyc7OxuHDh3yRC3ETX62MwXTCtQOA6jaEIlSTby3y/IrR2pGYkvRPByqGYvDi2pRPraZ75J8jsvho9frkZmZiZEjR+Lll18W7ZHMa+uFPUCbciEUKWcc7ROV4GA19wx7ZOCa2uV4/0w6rF+vAODEHA3aFGZe6xqo9deHu/XxXA6fTz75BLW1tVi2bBl27tyJpKQkLFiwALt374bZLOw3V2wmnIx00PsBWjulaGqnAVBP+PLSBNh9tQKAM7foeKnHV/VrzCcqKgp5eXkoKSnB8ePHMWLECCxZsgRxcXF49tlncfHiRXfXSfpB3hqIkcWhnBOMVeljsPrAYuwtm+T9wkSuysB9wnVTDJ1ydKMBDTjX19ejoKAABQUFGDRoEH72s5+htLQU48aNw2uvveauGskATDmiRphWekMA3XgAnARfXU7DW6fv4Kc4kRqu0oBrV3tkLe3tupHL4WM2m/Hxxx9j0aJFGDZsGHbt2oXly5ejrq4O7777Lr755ht89NFHnBcVJPzI2p2M2z+LR0ylDFyH/hdrk1DZJPxD/32GRAKuK5TSOY+2XJ7PJzY2FhaLBf/2b/+G77//HpMmTbK7z5w5cxAaGuqG8vi1/vpwrAwu57sMt4ivDkFnoAXapHaOtRLsqxiLx8K+83pdYnSwegznciYR7hVK3T3YDPQjfF577TUsXrwYQ4Y4Pks3NDS0XyejEs+K0sgBCzj7u9V66vm4w1+OZYKxwfYdTAYkXXDTGZki4XL4LFmyxBN1EC+QtwZCej0ARqX9GfDGrgFNakkAFFwej7KmeM6LVgzqkNARzr3QEc5+JtnBX1+DWUG73gegVBOPPWW3gjN5GDC6OMzrNfk6Cp+b8MS2Lp9GlYY7OPYnAJebfXNObl+3+cRcbCnKhKPgGWQGJp6K9npd7uKp7wD1tf2MvDUQw86HoGpsi926VqODa00RO9+Uj0GRNgmtpkA0tIfD0QUCQ7VBuGu3sI+W9xQKHz8UoZFxho+D7w/pJe+fD6KjS4ruN8x+4jArCzDrywQvViYstNnlh8xS7ilXv6sZ6eVKhKWpXY4XD/zihuAB+gqeqfvVdIHAPlDPxwliOt4HALoGcYfPlZZImu+ZQ2VTBL4oT8MZXQJu2j1kQHi9FDO/HiqK4PHkmCf1fPxQfGWIw+k2vryU6u1yfNq7JTOw4dginNElwmHwsJ/+VVfKMf9/k0URPJ5GPR8/FKGTYbAR6OQ4TrTBwXWn/FFlUwSO1/W+DE4vDBhkBFJPRCGqTk7H8riAej5OEtsu92Fl3CETMcTg5Up81+GaUbhZ8IRppVj8tzEYUxIhuuDxdJun8PFT409zz/XzY+MwbDy6wPsF+Zi9ZZNQWDuKeyUD4i4rcOdHw5C1O9m7hYkIhY8LxNT7kbcGYuq36u5zvW4kASqaY/CXY3P99kz3v56+A19dToOjgwZHFIdi1hcJouvp3MgbbZ3Cx48NPxeKpDKl/QoJUNaUiA3HFmHTsTu9XxiPKpsiUKRNgqPgGXopGLceUXu7LFGi8PFzCRcd7fkCAAkuNMXhj4fvBtD9xXz79O3407Es0V6EsKBiLByN86QejcTMr+ky4O5Ce7tcJLZjfuKrQyA3DEabqtPBPSSoux6Ovxy7E2VNcej5YpY3qbHz/HQ8NvEgUtXiuYjAmYZE7hXM8Um5YuOt4QUKH4IZX8Wj4P6qPnbsSGyCp2eZqSsIW4oyERd8DRNjqqEKasfEmCsIkwnzssClmniYGffxOWEaKR2742YUPv0gtt5PhE6GpHNKVI41cAcQw7+mBuXS3TOqu949OL3zHMNkdQXuTDoruCOl/+fMTDga67n1kH+M83hzpwqN+RAAwPRv43DnR8MQeWWI7R4whj6ugNrDtkdUpEnBhmOLsPnEXM8U6wH/U5KOVjPHUZcMiK6WiXrPFl+o50OsInQyZH6ShDaFGZdHN+N6qBkJl0IQXx2CY3PrHPeMOElw5moC3jwxFzlTv/Vk2QNWcHk8jtVxH1A4uEOCuZ8N835RfoB6Pv0kpmN+epO3BmLC6ShM/zYO8dUhAH7qGYXVS3sdG9RXl0iCs1cTfHbPWFO7HB+UTnM8AyGAMUXh3i2KR95u09TzIU6L0MmQ9XGyTc+oNdgEXUJHn4PV7529Hae0Sch1Uw+oqV2OUu1Q6E0yyAYZUa6PgWywEZOja3BGF4+ya2pEyw342YhSqIa0o6FNiWi5wWYg/EjNSLx/JgN9duUsQEpZqFtqJvYkjDHhXs/DAwwGA1QqFfR6PZRKjgPwehHTwHN/NUa1o2qUHhfSmvvoSzNMiKzB0/0MoKZ2OX5oGIqzuqG9prZgDv7fcxvomfQrLboS9487AQBYvf/+vjch/zUfz/Bzof2qV2ic7fW4+v3oi2B6PuvWrcM//vEPFBcXIygoCM3NzXb3qa6uxrJly7B//34EBwcjOzsb+fn5GDxYMC9TkCJ03QOystZAlMzQOfhSd48BFVanID3xstOPXaqJx5flE1FpiAJ3skkc/N9+XUlDMkq0yRhWpgTG9HECLQNu/zzeuslJPEMw30qTyYTFixcjPT0db7/9tt36rq4uLFy4EGq1GkePHkV9fT0eeeQRBAYG4uWXX/ZYXWLb7T4QY4u7d7f3FUDvnb0dJzXD8XDqkT6PB6psisDfimfjWkcw3Dq/qwSoGt138Kgr5H4VPHyNXwpus2vHjh1Yvny5Xc/nyy+/xKJFi1BXV4eYmBgAwNatW/Hcc89Bp9MhKCjIqcfvb7eSAugnbQozDmddQVOssY/cYBgVVosFI89Yx2N6xnIOVY9GXavjSdndgmvqZQbEVihwxxf+M++yq8Hjl5tdN1NYWIjU1FRr8ABAVlYWli1bhrNnz2Ly5Mmcv2c0GmE0Gq23DQaaz2ag5K2ByPrfZPzz3kpci+twcC8JLlwbigvfDwUswIToapy56sQ0pb05O+RzI0v3CaJXRl63zgEv1w/CjK+H0vE8XiSa8NFoNDbBA8B6W6PROPy9/Px8rF27dsDPT5tf9mZ+HY+9S8sd50nP8gB0T1PqbO4wIFwzBOpqOYI6BuFqXBsGGwch4XII6hKvQzu0FSFNQZhwOgon7tCgOcZoE1A9A8mNRe3QxbX57QyEfB8uwmv4rFy5Eq+88kqf9zl37hzGjBnjsRpWrVqFvLw8622DwYCEBP/pdntSz5xBJ+Zqbh4szgQPA2KqZZh4LNo2LEp/mneo91jNXbuTUZvYguqRBiivSZF8QWU9R6tnoJzwg9fwWbFiBZYuXdrnfVJSnDtATa1W4/vvv7dZptVqresckUqlkErdc7E86v3YG34uFLHVClSM0qM042r/h3EYkHYkyjqo7Yr46hC/GkB2Bt+9HoDn8ImKikJUlHsu0Zueno5169ahoaEB0dHdl6YtKCiAUqnEuHHj3PIczqAAsidvDcT4okgM6RjsXC8I+Gn8xgKMLgrD6B/C6axyN/GF4AEENOZTXV2Na9euobq6Gl1dXSguLgYAjBgxAsHBwZg/fz7GjRuHJUuWYMOGDdBoNHj++eeRk5Pjtp4NGZieXlDJtAZohrXCqLD8dNFPwPp/pS4QaceiMbgrACHNQRQ6IiWYXe1Lly7Fu+++a7d8//79mD17NgCgqqoKy5Ytw4EDB6BQKJCdnY3169e7dJChu3YlUu/n5toUZrSEmhDSHIR2eadfD/56y0B7Pe7c1S6Y8PEWCh8iZr4UPnRWu4f4ynY1IT18rU1S+HiQr33YxH/5Yluk8PEwX/zQiX/x1TZI4UMI4QWFjxf46l8eIn6+3PYofLzElxsBESdfb3MUPl7k642BiIcQ2hqFj5cJoVEQYRNKG6PwIYTwgsKHB0L5y0SER0hti8KHJ0JqJEQYhNamKHx4JLTGQnyXENsShQ/PhNhoiG8Rahui8PEBQm08hH9CbjsUPj5CyI2I8EPobYbCx4cIvTER7xFDW6Hw8TFiaFTEs8TSRih8fJBYGhdxPzG1DQofHyWmRkbcQ2xtQjBXr/BHPY2N5oP2b2ILnR7U8xEAsTY+cnNi/uwpfARCzI2QcBP7Z07hIyBib4zkJ/7wWdOYj8DQOJC4+UPo9KCej0D5UyP1F/72mVL4CJi/NVYx88fPkja7BI42w4TNH0OnB4WPSFAICYs/h04P2uwSGWrUvo8+o27U8xEh6gX5JgodWxQ+IkYh5BsodLjRZpcfoMbPH3rvHaOej5+gXpB3UejcHIWPn6EQ8iwKHedR+PipG78kFEQDQ4HTPxQ+hHpD/UShMzAUPsSKekM3R4HjPhQ+hBP1hmxR6LgfhQ/pkz/3hihwPEsQx/lUVlbiscceQ3JyMmQyGYYPH441a9bAZDLZ3O+HH37A7bffjiFDhiAhIQEbNmzgqWJxWn99uM2P2Ij99fkaQfR8zp8/D4vFgm3btmHEiBE4c+YMHn/8cbS2tuLVV18FABgMBsyfPx+ZmZnYunUrSktL8eijjyI0NBRPPPEEz69AnHp/QYXWM6KA4ZeEMcb4LqI/Nm7ciC1btuDy5csAgC1btmD16tXQaDQICgoCAKxcuRKffPIJzp8/7/TjGgwGqFQq6PV6KJVKj9TuT3wlkCho3MOd3w9B9Hy46PV6hIeHW28XFhZi1qxZ1uABgKysLLzyyitoampCWFgY5+MYjUYYjUabxwW632QycL+vi3K4bk3sZbc+19r6FIfr6PN0j5730R19FkGGz6VLl/DGG29YN7kAQKPRIDk52eZ+MTEx1nWOwic/Px9r1661W56QkODGiok3bFLxXYH/aGxshEo1sDec1/BZuXIlXnnllT7vc+7cOYwZM8Z6u7a2FnfddRcWL16Mxx9/fMA1rFq1Cnl5edbbzc3NGDZsGKqrqwf85vLJYDAgISEBNTU1gt58pNfhW/R6PRITE222OvqL1/BZsWIFli5d2ud9UlJ+6krX1dVhzpw5yMjIwFtvvWVzP7VaDa1Wa7Os57ZarXb4+FKpFFKp1G65SqUSdCPpoVQq6XX4ELG8joCAge8o5zV8oqKiEBXleEzgRrW1tZgzZw6mTJmC7du327349PR0rF69GmazGYGBgQCAgoICjB492uEmFyGEP4I4zqe2thazZ89GYmIiXn31Veh0Omg0Gmg0Gut9HnroIQQFBeGxxx7D2bNnsXPnTvzlL3+x2aQihPgOQQw4FxQU4NKlS7h06RKGDh1qs65n1F2lUuGf//wncnJyMGXKFERGRuKFF15w+RgfqVSKNWvWcG6KCQm9Dt9Cr8OeYI/zIYQImyA2uwgh4kPhQwjhBYUPIYQXFD6EEF5Q+EBcU3asW7cOGRkZkMvlCA0N5bxPdXU1Fi5cCLlcjujoaPzud79DZ2endwt1wptvvomkpCQMGTIEt912G77//nu+S+rToUOHcPfddyMuLg4SiQSffPKJzXrGGF544QXExsZCJpMhMzMTFy9e5KfYPuTn52Pq1KkICQlBdHQ07rnnHpSVldncp6OjAzk5OYiIiEBwcDDuu+8+u4N8b4bCB7ZTdpw9exavvfYatm7dit///vfW+/RM2TFs2DCcOnUKGzduxIsvvmh3pDXfTCYTFi9ejGXLlnGu7+rqwsKFC2EymXD06FG8++672LFjB1544QUvV9q3nTt3Ii8vD2vWrMHp06eRlpaGrKwsNDQ08F2aQ62trUhLS8Obb77JuX7Dhg14/fXXsXXrVhw/fhwKhQJZWVno6OjwcqV9O3jwIHJycnDs2DEUFBTAbDZj/vz5aG1ttd7n2WefxWeffYZdu3bh4MGDqKurw7333uvaEzHCacOGDSw5Odl6e/PmzSwsLIwZjUbrsueee46NHj2aj/Juavv27UylUtkt/+KLL1hAQADTaDTWZVu2bGFKpdLmtfFt2rRpLCcnx3q7q6uLxcXFsfz8fB6rch4AtmfPHutti8XC1Go127hxo3VZc3Mzk0ql7IMPPuChQuc1NDQwAOzgwYOMse66AwMD2a5du6z3OXfuHAPACgsLnX5c6vk44OyUHWVlZWhqauKjxH4pLCxEamqq9Yx/oPt1GAwGnD17lsfKfmIymXDq1ClkZmZalwUEBCAzMxOFhYU8VtZ/FRUV0Gg0Nq9JpVLhtttu8/nX1DPNTM/34dSpUzCbzTavZcyYMUhMTHTptVD4cOiZsuPJJ5+0LtNoNDZfWMB2yg6hEMLruHr1Krq6ujjr9JUaXdVTt9Bek8ViwfLlyzFjxgxMmDABAKwT9vUeU3T1tYg6fFauXAmJRNLnT+9ZDt09ZYc79Od1EOIOOTk5OHPmDD788EO3P7Ygzu3qL1+YssMdXH0dfVGr1XZ7jbz1OpwVGRmJQYMGcb7fvlKjq3rq1mq1iI2NtS7XarWYNGkST1X1LTc3F59//jkOHTpkc06lWq2GyWRCc3OzTe/H5c/H7aNTAnXlyhU2cuRI9uCDD7LOzk679T0DziaTybps1apVgh1w1mq11mXbtm1jSqWSdXR0eLHCvk2bNo3l5uZab3d1dbH4+HjBDzi/+uqr1mV6vd4nB5wtFgvLyclhcXFx7MKFC3brewacd+/ebV12/vx5lwecKXxYd/CMGDGCzZs3j125coXV19dbf3o0NzezmJgYtmTJEnbmzBn24YcfMrlczrZt28Zj5faqqqpYUVERW7t2LQsODmZFRUWsqKiItbS0MMYY6+zsZBMmTGDz589nxcXF7KuvvmJRUVFs1apVPFdu68MPP2RSqZTt2LGD/fjjj+yJJ55goaGhNnvpfE1LS4v1/QbA/vznP7OioiJWVVXFGGNs/fr1LDQ0lH366afshx9+YL/4xS9YcnIya29v57lyW8uWLWMqlYodOHDA5rvQ1tZmvc9TTz3FEhMT2bfffstOnjzJ0tPTWXp6ukvPQ+HDunsJADh/blRSUsJmzpzJpFIpi4+PZ+vXr+epYseys7M5X8f+/fut96msrGQLFixgMpmMRUZGshUrVjCz2cxf0Q688cYbLDExkQUFBbFp06axY8eO8V1Sn/bv38/53mdnZzPGunsUf/jDH1hMTAyTSqVs3rx5rKysjN+iOTj6Lmzfvt16n/b2dvb000+zsLAwJpfL2S9/+UubP9bOoCk1CCG8EPXeLkKI76LwIYTwgsKHEMILCh9CCC8ofAghvKDwIYTwgsKHEMILCh9CCC8ofAhvKisrrWfle/rkyh07dlifa/ny5R59LuIcCh/Cu2+++Qb79u3z6HM88MADqK+vR3p6ukefhzhP1FNqEGGIiIhARESER59DJpNBJpPZzERJ+EU9H+IWOp0OarUaL7/8snXZ0aNHERQU1K9ezTvvvIPx48dDKpUiNjYWubm51nUSiQTbtm3DokWLIJfLMXbsWBQWFuLSpUuYPXs2FAoFMjIyUF5e7pbXRjyDwoe4RVRUFN555x28+OKLOHnyJFpaWrBkyRLk5uZi3rx5Lj3Wli1bkJOTgyeeeAKlpaXYu3cvRowYYXOfl156CY888giKi4sxZswYPPTQQ3jyySexatUqnDx5Eowxm8AiPsidp+IT8vTTT7NRo0axhx56iKWmpvY5QVlFRQUDwIqKimyWx8XFsdWrVzv8PQDs+eeft94uLCxkANjbb79tXfbBBx+wIUOG2P3uHXfcwf7zP//T+RdEPIZ6PsStXn31VXR2dmLXrl14//33IZVKXfr9hoYG1NXV3bS3NHHiROv/eyZlT01NtVnW0dEBg8Hg0vMT76HwIW5VXl6Ouro6WCwWVFZWuvz7MpnMqfsFBgZa/y+RSBwus1gsLtdAvIPCh7iNyWTCww8/jAceeAAvvfQS/v3f/93lK4yGhIQgKSnJ47veCf9oVztxm9WrV0Ov1+P1119HcHAwvvjiCzz66KP4/PPPXXqcF198EU899RSio6OxYMECtLS04MiRI3jmmWc8VDnhA/V8iFscOHAAmzZtwnvvvQelUomAgAC89957OHz4MLZs2eLSY2VnZ2PTpk3YvHkzxo8fj0WLFuHixYseqpzwheZwJryprKxEcnIyioqKvHbtqtmzZ2PSpEnYtGmTV56POEY9H8K7jIwMZGRkePQ53n//fQQHB+Pw4cMefR7iPOr5EN50dnZa94hJpVIkJCR47LlaWlqsV0ANDQ1FZGSkx56LOIfChxDCC9rsIoTwgsKHEMILCh9CCC8ofAghvKDwIYTwgsKHEMILCh9CCC8ofAghvPg/uUs1i1MvSvYAAAAASUVORK5CYII=",
"text/plain": [
"<Figure size 258.065x259.74 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"model.plot(**plot_kwargs)"
]
},
{
"cell_type": "markdown",
"id": "d40753e2-6101-47e9-88dc-70a615e5689e",
"metadata": {},
"source": [
"Let's add a little \"wobble\" to the sampled source sites by making the radius a sine function."
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "3dfb0d50-5a3a-42d5-9f27-ac626c708440",
"metadata": {},
"outputs": [],
"source": [
"\n",
"model.plot(**plot_kwargs)"
]
},
{
"cell_type": "markdown",
"id": "8d6306c0-ed6a-473e-a99c-fc6ffc94b917",
"metadata": {},
"source": [
"Let's also show how to write the fission source from a k-eigenvalue calculation. Since the source changes with each batch, we need to explicitly indicate at which batch we want to write the source. We write the source to a separate file, named `source.<batch>.h5`."
]
},
{
"cell_type": "code",
"execution_count": 53,
"id": "e0c45804-1aae-4d5f-a9e6-f745c111c655",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" %%%%%%%%%%%%%%%\n",
" %%%%%%%%%%%%%%%%%%%%%%%%\n",
" %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",
" %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",
" %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",
" %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",
" %%%%%%%%%%%%%%%%%%%%%%%%\n",
" %%%%%%%%%%%%%%%%%%%%%%%%\n",
" ############### %%%%%%%%%%%%%%%%%%%%%%%%\n",
" ################## %%%%%%%%%%%%%%%%%%%%%%%\n",
" ################### %%%%%%%%%%%%%%%%%%%%%%%\n",
" #################### %%%%%%%%%%%%%%%%%%%%%%\n",
" ##################### %%%%%%%%%%%%%%%%%%%%%\n",
" ###################### %%%%%%%%%%%%%%%%%%%%\n",
" ####################### %%%%%%%%%%%%%%%%%%\n",
" ####################### %%%%%%%%%%%%%%%%%\n",
" ###################### %%%%%%%%%%%%%%%%%\n",
" #################### %%%%%%%%%%%%%%%%%\n",
" ################# %%%%%%%%%%%%%%%%%\n",
" ############### %%%%%%%%%%%%%%%%\n",
" ############ %%%%%%%%%%%%%%%\n",
" ######## %%%%%%%%%%%%%%\n",
" %%%%%%%%%%%\n",
"\n",
" | The OpenMC Monte Carlo Code\n",
" Copyright | 2011-2025 MIT, UChicago Argonne LLC, and contributors\n",
" License | https://docs.openmc.org/en/latest/license.html\n",
" Version | 0.15.3\n",
" Commit Hash | 27e38e894697bb32a1dac7848d2618818b6b8daf\n",
" Date/Time | 2025-11-25 10:54:42\n",
" OpenMP Threads | 2\n",
"\n",
" Reading model XML file 'model.xml' ...\n",
" Reading source file from\n",
" /home/ubuntu/openmc-nea-course/notebooks/sources/source.h5...\n",
" Reading chain file: /home/ubuntu/data/depletion_chains/chain_endfb71_pwr.xml...\n",
" Reading cross sections XML file...\n",
" Reading U235 from /home/ubuntu/data/endfb71_hdf5/U235.h5\n",
" Reading H1 from /home/ubuntu/data/endfb71_hdf5/H1.h5\n",
" Reading H2 from /home/ubuntu/data/endfb71_hdf5/H2.h5\n",
" Reading O16 from /home/ubuntu/data/endfb71_hdf5/O16.h5\n",
" Reading O17 from /home/ubuntu/data/endfb71_hdf5/O17.h5\n",
" Minimum neutron data temperature: 294 K\n",
" Maximum neutron data temperature: 294 K\n",
" Preparing distributed cell instances...\n",
" Writing summary.h5 file...\n",
" Maximum neutron transport energy: 20000000 eV for U235\n",
" Initializing source particles...\n",
"\n",
" ====================> K EIGENVALUE SIMULATION <====================\n",
"\n",
" Bat./Gen. k Average k\n",
" ========= ======== ====================\n",
" 1/1 0.69788\n",
" Creating source file source.01.h5 with 1000 particles ...\n",
" 2/1 0.96994\n",
" 3/1 0.99434\n",
" 4/1 1.01881\n",
" 5/1 1.03497\n",
" 6/1 0.98671\n",
" 7/1 0.89834\n",
" 8/1 1.01129\n",
" 9/1 1.00423\n",
" 10/1 0.93384\n",
" 11/1 0.97669\n",
" 12/1 1.07591\n",
" 13/1 1.02714\n",
" 14/1 0.95594\n",
" 15/1 1.02499\n",
" 16/1 0.94989\n",
" 17/1 0.98268\n",
" 18/1 1.00421\n",
" 19/1 0.95074\n",
" 20/1 0.98717\n",
" 21/1 0.92415\n",
" 22/1 0.92184\n",
" 23/1 1.02251\n",
" 24/1 0.95988\n",
" 25/1 0.97120\n",
" 26/1 1.03850\n",
" 27/1 0.98687\n",
" 28/1 0.95256\n",
" 29/1 0.99599\n",
" 30/1 0.98342\n",
" 31/1 0.96472\n",
" 32/1 0.98562\n",
" 33/1 0.98083\n",
" 34/1 0.97418\n",
" 35/1 0.96726\n",
" 36/1 1.07336\n",
" 37/1 0.98912\n",
" 38/1 0.94779\n",
" 39/1 0.93482\n",
" 40/1 1.02104\n",
" 41/1 0.98225\n",
" 42/1 0.94395\n",
" 43/1 0.99493\n",
" 44/1 0.98513\n",
" 45/1 0.92497\n",
" 46/1 0.95124\n",
" 47/1 0.97199\n",
" 48/1 0.99035\n",
" 49/1 0.95548\n",
" 50/1 0.91698\n",
" 51/1 0.90475\n",
" 52/1 0.91499 0.90987 +/- 0.00512\n",
" 53/1 0.96039 0.92671 +/- 0.01710\n",
" 54/1 0.97973 0.93996 +/- 0.01794\n",
" 55/1 1.00234 0.95244 +/- 0.01867\n",
" Creating state point statepoint.55.h5...\n",
" Creating source file source.55.h5 with 1000 particles ...\n",
"\n",
" =======================> TIMING STATISTICS <=======================\n",
"\n",
" Total time for initialization = 2.5524e-01 seconds\n",
" Reading cross sections = 7.7856e-02 seconds\n",
" Total time in simulation = 1.1873e+00 seconds\n",
" Time in transport only = 1.1758e+00 seconds\n",
" Time in inactive batches = 1.0807e+00 seconds\n",
" Time in active batches = 1.0661e-01 seconds\n",
" Time synchronizing fission bank = 2.5085e-03 seconds\n",
" Sampling source sites = 2.3426e-03 seconds\n",
" SEND/RECV source sites = 1.5684e-04 seconds\n",
" Time accumulating tallies = 1.7391e-05 seconds\n",
" Time writing statepoints = 1.5040e-03 seconds\n",
" Total time for finalization = 1.8880e-06 seconds\n",
" Total time elapsed = 1.4443e+00 seconds\n",
" Calculation Rate (inactive) = 46265.9 particles/second\n",
" Calculation Rate (active) = 46897.9 particles/second\n",
"\n",
" ============================> RESULTS <============================\n",
"\n",
" k-effective (Collision) = 0.95799 +/- 0.01346\n",
" k-effective (Track-length) = 0.95244 +/- 0.01867\n",
" k-effective (Absorption) = 0.96021 +/- 0.01797\n",
" Combined k-effective = 0.95866 +/- 0.01930\n",
" Leakage Fraction = 0.31700 +/- 0.00899\n",
"\n"
]
},
{
"data": {
"text/plain": [
"PosixPath('/home/ubuntu/openmc-nea-course/notebooks/sources/statepoint.55.h5')"
]
},
"execution_count": 53,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"model.settings.particles = 1000\n",
"model.settings.inactive = 50\n",
"model.settings.batches = 55\n",
"\n",
"model.settings.sourcepoint = {'batches' : [1, 55], 'separate' : True, 'write' : True}\n",
"model.settings.verbosity = 8\n",
"model.run()"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "aa7d5252-f9b8-46ef-8073-f846c5b4ef71",
"metadata": {},
"outputs": [],
"source": [
"!ls"
]
},
{
"cell_type": "markdown",
"id": "44a90f5c-3fa6-4900-a1fc-8b65971efebb",
"metadata": {},
"source": [
"We could then load this source into a new simulation. By inspecting the two sources, we can clearly see how after just one batch, the remnants of our sine wave source are still sort of visible (not easy for our neutrons to reach far into the fuel to cause fission, as many fission in the outer layer of the fuel)."
]
},
{
"cell_type": "code",
"execution_count": 54,
"id": "8e6707ae-55d8-4d06-a90d-81e203fef326",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<Axes: xlabel='x [cm]', ylabel='y [cm]'>"
]
},
"execution_count": 54,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 258.065x259.74 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"model.settings.source = openmc.FileSource('source.01.h5')\n",
"model.plot(**plot_kwargs)"
]
},
{
"cell_type": "code",
"execution_count": 55,
"id": "248383bf-75d9-4207-bfb4-b15987efb4f1",
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"text/plain": [
"<Axes: xlabel='x [cm]', ylabel='y [cm]'>"
]
},
"execution_count": 55,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAR8AAAEMCAYAAAD9FbJ4AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAAQPlJREFUeJztvXt8FNX9//+ahWTZTbKbkGyyuV8hXMKtXBMoQklFi1rq5avFS6x8tGKwH8TaQrUgpYpFfy3Vj4J9VMFHP1Wp9APeqhWRBIUABRMkIQQSciPJhiQkm5B72Pn9sZnJzsyZ3dmwyd7O8/HgoTs7O3MmOfvK+7xvh2FZlgWFQqGMMip3D4BCofgnVHwoFIpboOJDoVDcAhUfCoXiFqj4UCgUt0DFh0KhuAUqPhQKxS1Q8aFQKG6Big+FQnELVHwoFIpb8Brx2bZtG+bOnYuQkBBERkZi5cqVKCsrE5zT09OD3NxchIeHIzg4GHfddRcaGxvdNGIKhWIPrxGf/Px85Obm4vjx4zh48CD6+/tx8803o7Ozkz/nqaeewscff4wPPvgA+fn5qK+vx5133unGUVMoFDkYby0sbWpqQmRkJPLz87F48WKYzWYYDAa8++67uPvuuwEA58+fx+TJk1FQUIAFCxa4ecQUCsWWse4ewHAxm80AgPHjxwMATp8+jf7+fmRnZ/PnTJo0CQkJCXbFp7e3F729vfxri8WCq1evIjw8HAzDjOATUCjeB8uy6OjoQExMDFSqG1s4eaX4WCwWrFu3DgsXLkRGRgYAwGQyITAwEKGhoYJzo6KiYDKZZK+1bds2bNmyZSSHS6H4HLW1tYiLi7uha3il+OTm5qK4uBjffPPNDV9r48aNWL9+Pf/abDYjISEBtbW10Ol0N3x9f2dz9CV3DwEAsKUhxd1D8Ana29sRHx+PkJCQG76W14nP2rVr8cknn+DIkSMC5TUajejr60NbW5vA+mlsbITRaJS9nlqthlqtlhzX6XRUfJxkQ3CF5JiaufFJ6gpejGmSHHvpWqobRuIbuMIl4TXiw7IsnnzySezfvx95eXlITk4WvD979mwEBATg0KFDuOuuuwAAZWVlqKmpQWZmpjuG7POQxMabEI+fitHo4jXik5ubi3fffRcffvghQkJCeD+OXq+HRqOBXq/H6tWrsX79eowfPx46nQ5PPvkkMjMzaaTLRXi72DiCitHo4jWhdjkzb/fu3Xj44YcBWJMMn376abz33nvo7e3F8uXL8cYbb9hddolpb2+HXq+H2Wymyy74vuAohQqRFVd+P7xGfEYLKj5WqOiQ8XcRcuX3w2uWXZSRhwqOY2x/Rv4uRDcKFR8KFZ1hwv3cqAgNDyo+fgoVHNdBraHhQcXHz6CiM7JQa0g5VHz8BCo6owsVIcd4TUsNyvChwuM+6M9eHmr5+DB04nsG1AoiQ8XHB6Gi45lQERJCl10+BhUez4f+jqxQy8dHoBPau6BWEBUfr4eKjnfjzyJEl11eDBUe38Eff5dUfLwUf5ysvo6//U7pssvL8LcJ6m/40zKMWj5eBBUe/8EfftdUfLwEf5iMFCG+/jun4uMF+PokpMjjy7976vPxYHx54lGU46t+IGr5eChUeChifG1OUPHxQHxtklFchy/NDSo+HoYvTS7KyOArc4SKjwfhK5OKMvL4wlyh4uMh+MJkoowu3j5nqPh4AN4+iSjuw5vnDhUfN+PNk4fiGXjrHKLi40a8ddJQPA9vnEtUfNyEN04WimfjbXOKio8b8LZJQvEevGluUfGhUChugYrPKONNf5ko3om3zDEqPqOIt0wKivfjDXONis8o4Q2TgeJbePqco+IzCnj6JKD4Lp4896j4UCgUt0DFZ4Tx5L88FP/AU+cgFZ8RxFN/6RT/wxPnIhWfEcITf9kU/8bT5iQVHwqF4hao+IwAnvYXhkLh8KS56VXic+TIEdx+++2IiYkBwzA4cOCA4H2WZbFp0yZER0dDo9EgOzsbFy9edM9gKRSKXbxKfDo7OzFjxgy8/vrrxPe3b9+OV199Fbt27cKJEycQFBSE5cuXo6enZ9TG6El/WbyBFkM3zs9oQYuhGwDQFdSPi1Nb8d3cK4JjjbGdaDF0ozG2E11B/e4cstfjKXOUYVmWdfcghgPDMNi/fz9WrlwJwGr1xMTE4Omnn8Yvf/lLAIDZbEZUVBT27NmD++67T9F129vbodfrYTabodPpnBqTp/xSPZmuoH50hPYhpC0Q381vQtXkdoABwALhDePQEt1jfQ2bY8Ye659JFvy5k/8zHjNORrrtOXyB4ewDdiPfDzE+s2lgZWUlTCYTsrOz+WN6vR7z589HQUGBrPj09vait7eXf93e3j7iY/U3uoL60WzshimuE5emmq1CYoFVSDihYSAUHtIxm/+Wzr2KjrA+LPp3HACrBdUU0wVDvRYA+P8Pb9KM+PNRhofPiI/JZAIAREVFCY5HRUXx75HYtm0btmzZcsP3p1aPlBZDN87PakHthGtCUQHIC37xOXLHBo9fntCButIOXJjRisaELt4q4j/HAmGNamScjMDY6yqEtAVC2xkwzKfxPTYEV7h1F1SfEZ/hsnHjRqxfv55/3d7ejvj4eDeOyDc4/oP6oSXVDcGttUgw+PqOy8L3RZZTq7EXX99eZz1uAdKLwpB+ZjwVIQ/AqxzO9jAajQCAxsZGwfHGxkb+PRJqtRo6nU7wz1mo1WOFcwzXJXQ4ITz2XI72hEfJ+4Nwp6iAsu+14qOcCpyZd4U6r+Heueszlk9ycjKMRiMOHTqEmTNnArBaMSdOnMCaNWtG7L7+Ljycr+VacD/KZ7QJHcOKGDRJBA4gAGCxIOYCjtdPAPlvpFM3EaKy+oxK510FLMDcw0akloYO71o+gLuWX14lPteuXUN5eTn/urKyEkVFRRg/fjwSEhKwbt06/P73v8eECROQnJyM3/72t4iJieEjYhTX0WLoxqmbTGiN6h3ytQgcw86IA6dYQhYnXEDouG58fmkGxMI0z3gRJ00Thz1+W2vo1FITomuC6FJslPGqUHteXh6WLl0qOZ6Tk4M9e/aAZVls3rwZf/nLX9DW1oZFixbhjTfewMSJyiepM6FEf7V6lPtzxAJk6w0egoEFLNG6seD+jAKca4pBYWMSOJVL1l9BlTkSrOwAWIwfdw1Xe4IhVUYyS/fHI6ouyNED+TRKrB9Xhtq9SnxGAyo+9mkxdOPg/6tWIDwWkJZL900+hgutRnxrSgKgggoW/Dj9NA6UzSYKkAoWbF2yD+YeDSraohCpMWNX4TIZsRq69/0ZBYgNvsp/5mxTHL65PAmkgTNgcfvuNN7ysc1F8idraLTFx6uWXZ6EPwoPYM2fUWLx3JLyHf59abpAJFSwYFrUZSxOuoDW7lNo6tLBoG1HmKYL2oA+vFucJbFmLFChqUuHieEmJIW1oKzF6EB4rHd6tzgTzyz4FMuSzwEAphnrEBzYS1zCrUw/hR/+4x0cWfESKia34T9LTXwukj/5g0bb9+Mz0S7KyPDd7Cv4170V+G72FesBC0COUFmPMWDxk/RTuCO9CKsyCqCyfgAqWPDTjAKEaboAAGGaLkwMN/GvF8ZfxDMLPuFuwKOCBQbtUOJnpLYdjOgchjAeFiq8fPw2HK2dwB+7I70IP0k/xZ/PwIKfpJ/CD1NKAADT9v0Op5bVD30rBv1B/h4RGymo5UOR5R8/Pw/LWAAMcC7iKs7PvopEgwkwS1MXJkfUYnnKOd6SAayCMiWiTmDh2CMprAX3ZxTgveJMWKACM7gks/1cmKYLq2zOsbdsY8HgveJMTImo46/xw5QSzImuJI7pSpdOeg0V0BHa51fLr9GCis8w8Icl14EHL/DCA1j/awlkUWk2guRIXhJfhonh0kzyME2XQ9Fp7dbiSpcOkdp2LIy/iK7+QBwomwMWKhwomw1tQB8Wxg91JyCJmnXZlikRD27ZJhYw0pjUqn7ps7FAo7ET381rQnx5CCadDbf7LN7OaC69qPhQJNQldKBHZyH4dmxj6UNVnsn6K5hmrFN0bVuhCdN04WjtBF40GFiwkrdirPdioZJYL4BUQBbGX4QuoAs7C7NhO3BGtGyT42jtBPy9OAuSh2ZYnFtw1VpnFtODc3NbcOfbNxDip/BQ8XESf7B66pMItVgSGKToTVieclax8MgLjdVa4SwdJdYL+doE8VCQa9TarcW7xZky5zICze3TWHB+WotPW0CjZf1QhzNFQkxVMMGnLD7A4u7J/5EVntZuLcpajGjt1vKvbZdFVqGZQ/DTqCQOZLHTmXQv67Wl4sGCQVOX/ZAwydcjCwPUpnUoO5diF2r5UCTE1oQgObQRleZIcEurAKYf/WwA/3p+TDmSwlqInxdbOKsyCjBuTB/RISz2sXAO5A/LZvMOZdsoGQl74uFIuIChCJr0GoSkSBaILw+xez2KMqj4OIGvLrnqEjpQn3QNMVXBiK0JweJPN2AxgIKaFJy5kogZkdXITLiEqtZwVLRFITW0UVZ4SBaONX9HLjwvdFz/OP203YgUCTnxYBQIFyCNoAEWTAgzITupBH8rXohr/RpwoqsJ6AVU1mRLX+4VNBpLLyo+fs7BO6v4hl0V08xIDm3EYgxaLyVWETnbFA8LMwYL4y/Kig5gFZ7TpiQZC0e8JCJlQDNI1FuvryRKZssPkkvwVeVU3tpallyCpYmliq8hlxaw3fgPfFkxCUWNSRhgGdS0R6Lo+00ACySV6rDgqxjFY6QIoeKjEF+0euoSOiSdAivNkSioSeGFB5CPONliu9RSUkt135Tj2HtugSQDWklkSv6+FiyKP4+J4Q1IDW1CmKZLEl0jYXsOKV0gO/U80sY3Yfvx24aeiwGqJrcjvjzEZxuVjbT1Q8XHj6mZQCoOZVB0JdGpiJN4qWUbircuhwCIRGZa5GWMUQmTBUlLpKrWcJS3RSGNsNST3leFb2rT8U3tJDCwYF5MBU7Wpwqiawn6FoEQkSJwtuecNcWiuDkOnf2BkIbhIWhU5k+lGK6Aio+fUjG5DdWTSFEbFjMjq1HcFK/YKiE7fBncNekkvmeswrnmWKLIkJY6tlbIRxdm4UR9Gmyd3Dkzjjq8r/UpVDaftb7eXzYHnCCuyijAlIg6iX/K9pxwTQeau3UYElMCtDXHsKHiowBfW3J1BfVbiyclVo81YTAz4RIszBiHVgkHyeGrggXfM1bJigwH9/9XunQ41ZBsk+cj7TB/oj4NNyWc5y0g+SgV+M+QXnPLyIdn5tsVryHh4Y7bX076YinGSC69qPj4IR2hfcQMrzvSTuOWCcUAyA5YOf8Jqd5KLFZyDmR5XxG5w3xFWxQvPtIoFal/EFksLFCBYe31EgLhs8LMbsk5LHAxo9Xv+wIphYqPn9EV1I+ecQOSYJMKFsyPuyQ4lxOM1m4t/lk6B4eqpgA2uTuO6q1sIQlXVWu4qI2Go2xkFqmhQz26W7u1iNB24JcLPkWfJQDV5nBBftDcmAr8pz6VKEwqWJAS1oRVGQXEVh7c/citXSeSx8oAl9OuoeVb3w7DuwoqPn6EuFcNAxYsGLvLKq5swfbLaa/eCrAuoWxfk5IOAeDvsiUNZBJ0zbzVQ7omKT/ojomFaOrSSYSJe97Y4KuDOUjS7opin0+8rhkn6ifYHzMD1CV1UPFRABUfB/iKv4f389j0qgFYrJ6Rh5SwJgdRLOmXjRT9shUqBixWZRwjOnWtr/lBiJBbKrG4b8px0bjIqQCk5d7EcBPmRFfiUpsBYIGUsCY79WDAIzPzMTu6GmdNsShpjkOirgmd18ehtt1AGJuQc/OuIuhaoM9EvkbK70PFx08g+XlYqBCi7pV1JCspW+CWU2pVv6AqnAWDd4uz8LOZecT6LRIMWCxPOYN/X5ohEjwWs6KqeKuHNC4lxafnmmNtrDhyP2nu2VJCmwBYOyC292vxv8WL7OQwiY4xwH9+QCNfjqDi4yeEtAUSviOs3aQ+R2UL1i+zfGIhCwZdvWrJNUi5PwwseGbBp0gKa0G4tlPgRL4l5QzuSC+yOy4lxafClhnkpZO4JMNeDhMGI3pjMSDdSYMBziy4gsxDsbJj8neo+PgJ52aSyiLs7x0gjiYxsGCWsQrZSSXQj+vGc3l3i76UUoLUvViVUTDo37E6mzifjzg6xlk2jpzXpHEtTS6x+yyXWg2yY+RgwPICyOEohylM04WPL8wgXq96UgdmHO+n1o8MVHzs4Cv+nm+WX8blNGmPHlbBUoUTgsNVk/Fl1VR8a0pBoSkJP0g6p6ANBYu+/jEob+Wq4wGAQfnVSOTMOOpQYJwZ16HKafiqcqokCsePREZ3xE53cRa1oxwmAJhmuIzPKmZC8gNmgBNLG7D0kwTZ5/AWRsLvQ8XHx2kxdBOFB1De5Q8ADlVNBWwcvNawu6MaLgZnm+NRxO+5ZT1mmyzoTPGoknHJ1aClhjZBnF/ALfX6LAGy1fNKcpiSwlowK6rKZm+xIRoTu3y+An64KBKf9evXO33h5557DuPHj3f6cxTXcvSWOhl9YLFS1JzdFtu8HPLSg3ttm3QndcRqxvYRjguTBUlwNVUZEZdlG5Y543gO03Th/owCSXje3hg4lDTCf/R7+fjziQCUXY0TPyrOz2rBwi/iJJ/xdxSJz44dO5CZmYnAwEBFF/3mm2+wdu1aKj5upi6hA126AcI7LJYknOO3jBFDKraUzwSWF55k/RV8P/4CCurESXksIjVmlLUYidXmLx+7lW9k9nXtJCTrr+CZrM8kd3bW8axEROxlcTuy0n48sRDbj8dKfha1adfQdZT6fsQoXnbt378fkZGRis4NCaGd3jwBuV7MEePa8f+m/of4GXHWMQsVPiybjZU23QWlSG+SFXsBD0y3Opbnx5QLCkST9Vf4XUfF2dJnTbE2HRSt1640R+LLiknITj0vuIeSJZEYUiIkJzg15nC+toyUxe2IpLAWpIaaUNEWLXxDBTQZu5BYoVd8LX9Akfjs3r0ber3yH9ybb76JqKioYQ/KE9gcfQlqxrtF9PoYlmCUsLg19QzxfOsODtKsYwtUSNS3YOuSfdh9ZhHKW6MhtmTErxfFX+Bf5cw4ipsSzhO3Oxb7aYqb4yT3Bxj834X5qLsWLqhqB+xbMyQrRmzV2bbdsH0O8bjOmmKRV5sOAFgSXya7FJwTXSkVHwB9agvhbO9iQ3AFflPvOMlSKYrEJycnx6mLrlq1aliDobiOrqB+VE0h9+sJD5LPZpbLOq42hyNQ1U8QnqFz7PV3Tgprkd3u2NZPkxFxGV/XkvZUl1a1c5CWREKRsW6JPCe6UpIZbdt2gyS6TV06/LXwJoE1VtocL7sUDFL3En42wDUd+bg/c0PRrmvXrsFiESr6jW4eT3ENTUa5PdXJPhH7Ozgw+LBsNpanngH5ogyWJhZDM7YfGYbLdp24jvw004x1SNZfES29hu7jyFENkMovGOwvm4MrXcGyLTRIqGBBS6eWMBbrUvCsKRbTjHUCC4sUVQOAstltaI7pwQ//L8nu2P0Jp8WnsrISa9euRV5eHnp6evjjLMuCYRhcv37dpQOkDI9rOvL+4vHB5PC2dbdOUl9lKxaooFd3Q865fLg6AwwsCNN02RUHzk9jm3Q4w1gFc4+GH1dWfPngF16MsKpdDrnEwKO16YRnJLfh4PxHVWa55EQGJc1xaO/XSiJo9wuejz8dLdE9qEvoQGyNdy/nXYXT4vPAAw+AZVm8/fbbiIqKAsMor0qmjB7X9H3E47XXwnGkaiKmRV2W+EEg8HtIW1BMi7yMyrZy0VJF3k8ix7Fa4VKn0JSCQlMy5seU446JhTIb+NnfrscWq3XFEgpiVchOOouvqqYS225w2/Yk6lt4/5EuIFZmGcgiQmMWiAz3/FuX7ENM0FXUd0YIP8IAxXObqPgM4rT4nDlzBqdPn0Z6evpIjIfiIsb2yy2hVHi/NAvvl1rwk/TTGD/umuivtFV4bkk5gy8uTZdEkTjn8dmmOPT0B+BwTYbg6o4KPEnRLO6/J+rTkKRvIi7/7ptcgMVJFyTH5VgYX4ZvatMhFtClSaVYmlRKbLtBCr+Tl4EsIjTt2H9hPsSixD1/1wA5LaVD5o+CP+K0+MydOxe1tbVUfDycpAt6XJzZZselMdSvWAqDAXYMti7ZR/xScs7j1m4t8mqmOFXgSY5mDd23vU9D9AlNi7ose01bpJ0RrcsscRjemRyeZ7I+w1lTLPIHo12zo6rwvyWLiK1GuOefNL4OxxtCJM86MM4aDKA5P8MQn7/+9a94/PHHUVdXh4yMDAQECH+I06dPd9ngKMMnvEmDuIvBuDyxA/a+7HIcqpyKpYmlxK1kOIaTZyMfzQIAFtMMlzFe0yXwoyjZ+K+1W4uKNoOkMyIDFo/MPIyUUHLPIqVMM9bx4XVSxM56N+tYP7owCycabJeWNnh5n+fN0Zccn6QQp8WnqakJFRUV+NnPfsYfYxiGOpw9jIrJbdaaLt5/AzjTNVBJ0SmgLGvYljh9K4xBrTB1hjkYj9LWqmJrRwgLFUICh3oWKdnHS4x4+x5SxI6riAcgat0hGRDG9incF97HcVp8HnnkEcyaNQvvvfcedTh7KJKuhbD2nhn6f8BRs3VnNvBTuruodEkkhsHZpjh8XjHUTIwFg/eKMxEbfBW9lgBeNDhBiNKYZYVH/Byk1qv2Mphbu7X43+IslDZzJRMsJkfU4YGMY0SLLymsBV9WToFdwWSAgUDvTzh0BU6LT3V1NT766COkpaWNxHgoLoC8OwV3wIJFcWUwBF2zKZcQRriULJ84lFoS9ptycbDQBXYTkxC3H18Brnl9kr7JxgEsX1lv+xyOWq+KGcr2th0Lg9LmODybdzfuzygg+sTSQhvtjgmWwcZuFIcNWST84Ac/wJkz5PR8imdw1dBjp0+YCscup2NOdCV+ueBTDO2PBVh9JBb8csGnimqajtZOwHN5d+PPJ2/Bc3l342jtBNlz5Tf44wZqDaVPj7oMBmLLgIVtOFsaLRM+LAMLVs84jK1L9mFKRB3KWoyoaDPIZlaLsZ/tDWBQuABgYriJt8SsVo+1ls32uSSPTAEwDMvn9ttvx1NPPYWzZ89i2rRpEofzHXfc4bLBUZynK6gfZxY22Z3k3JeO1MSdhQp9FsfOUGctCbnM5p/POoQr3Xqk2myHLOxSSMrXIb0WRrVmx1RLSizECYakpWVrtxanTUkOG6XZphS8c2ahZGfVXy34BHnVk3CyQSTIDC0y5XBafB5//HEAwO9+9zvJe57icH799dfx8ssvw2QyYcaMGXjttdcwb948dw9rVKiTqWQXYkFDhw6J+ha7pQ72cLaJu1xkzBpBEhZpck7sS60GXOtX4x/nxDtoSJdra2YdgjrgumCDQ3GJBTM4SpYQmWvt1uKr6sn4qjIDrIPlHGB1MAeq+lHVGi6pDztRn4ZkfRP0avIyVC773N9wWnzEtVyext69e7F+/Xrs2rUL8+fPx44dO7B8+XKUlZUpbgnizXRr5Sa2rV9Hhb2lWeD+Sttm+Cr19ZAjPhZ09KrR2q0lXsOZyJiwOb1lcORWf1SiyOczP6ZcUmVOEkcWDFbPyEOIuldwfzn/jm2j+ARdC2raw8FlgbNg8PLxFZhprALJEnt/8OdL4vpYz/4OjRY+10b1j3/8Ix599FE+FWDXrl349NNP8fbbb2PDhg1uHt3IE2yW7lIBsFgQfR7HG8T5NQxO1qficcLSxxGkJu4sGLx1ZikfSZoSUYeKNgOYwX2yuKiYkpwdoXPaKkC2e4xVtYajoi1KdsxyyzzxHmX2/TvCRvFVreG84xuwLjULTcmQt5IIFhQLxFbR8gpgGOLzi1/8AmlpafjFL34hOP4///M/KC8vx44dO1w1Nqfp6+vD6dOnsXHjRv6YSqVCdnY2CgoKiJ/p7e1Fb+9Qu4P2dmXhZU+l1dBDbKMhFR4rLFTYWbgMctsgE+8xGOGaElGHrUv24VKbAW8XLeGvb90YMAusjaMYYHF/xjFFjmyy1SLcY4zLspYjTNMliYol6ptg7tHgtCmJz9lxtDeZbaP4XksApCLlaI1rI0AskFSqo/2cB3E62vXPf/4TCxculBzPysrCvn37XDKo4dLc3Izr169LGplFRUXBZCJn6m7btg16vZ7/Fx8fPxpDHTEGAuRMerkviTCS9F5xJlq7tbLXF0e4zjXHIjiwV+IUtr4WLmPedXBtDs5qscWZvCPAmhhI6oi4/fht+L/z87D9+G1458xC4r2sZ0uXoHLnOoOhwfHz+wtOi09LSwuxq6FOp0Nzc7NLBjWabNy4EWazmf9XW1vr7iHdEOOd+qsqXS7IhZ8B+QiXWtWv6EvJ2rm2LdySTjV4Ta7a/EqXTpF4AUB5WxTIUTGhY9jcoxHci4EF2Uln8fsl+yRWGjcuRj6PAXLJk9x/Ti01oSuIOpyBYSy70tLS8Pnnn2Pt2rWC45999hlSUlJcNrDhEBERgTFjxqCxUdjzpbGxEUajkfgZtVoNtVo9GsMbFWKrgnGabVQU8Voz65CgpSlg38KQi3D1WQJwU0Ip8mrsZ/c6s1WPrXO6ehi9lR0m+w2OqKItCsuSzyl2hC+Mv4jY4KsC348VC9LCGlHeSp5nHKyX13a5Eqctn/Xr1+NXv/oVNm/ejPz8fOTn52PTpk3YsGEDnnrqqZEYo2ICAwMxe/ZsHDp0iD9msVhw6NAhZGZmunFko4e2MwBzvzKCbIhwmT0W3D8Y5hZbGLZLDS5xrqo1HIB12SFN6LO2WM2rmQxHoelVCiNpHGGaLhi07bzwWJ9AfmnY2q1FWYsRrd1aJIW1EJL9xFbJUHOyME0XnzDoiKSwFtyfUSCy9phB4ZH2/RFAM5x5hlXb1dvbixdeeAFbt24FACQlJWHnzp146KGHXD5AZ1m/fj1ycnIwZ84czJs3Dzt27EBnZ6egENbXSS0NRUCfCsdurRe9I4zeAPLhb1Li3B0TCyG2JliwOCDbmoPFHWmnYQjqkESZlKIkn6i1W4vPKqbjm9qJsHWcixvXWx3rwvwg/bhup8cEAFMi6kTXUpi6TDOceYYVal+zZg3WrFmDpqYmaDQaBAcHu3pcw+bee+9FU1MTNm3aBJPJhJkzZ+Lzzz/3+t00nCXCRO6LYys8HOLwt1ziXFJoE6TGskrGA2IVrFsmFCseM6lOzFHPZ2uOjrCK3DbbWj+uG3G6q7jWqyaOXS4p0lHNmlUUHSkJYdnHAM3GbiRU0GXXDeX5GAyu20bDlaxdu1bik/I3tJ0BTvfaAaxfuoI6Ui8aBh29UkEbqg0TWhRLEs7J7g1GQq7i3F7PIKsDnNy+wgIVDldNxqGqqXyiotLKfSXV7yRRFLYukfc3sXYd1v6DIvH53ve+h0OHDiEsLEzRRRctWoS9e/ciNjb2hgZHuTGuP74aW/f9TnGvHWnLC6GgZBisfZ85IbAN0wvPZ3CkZjJ+mFKiuDLeXp2Y3NLwq6opdqwPC7602cedW45Zv/ryYqy0Zk1OFGODr6KgLg1f106WGxYMJhpuBxSKT1FREc6cOaN4++OioiJB4h7FfSjttUNuecEx1Lw9KaxlMNpzG+z5PBz1cna0F7z48+LnaO3W4lDVFJmnYbEwvgxHRQLAQoXVMw8jJLBXVoydqVmTE0X9uG58UztJKowsMPnUeBrpGkTxsmvZsmVgWWXmIm0w5n3Y37cLuClhaKtia6av/d+xeEljKza2dVtye8EzsKC9T75OzLrdMXmDw58MbhB4rDZdWl4haqeqpEuhvfQDkriHabowy1iJb02i1BMGUPeOIV7HH1EkPpWVlU5fOC4uzunPUFxLV1A/TjUkCmqr5LAmCpLaVwBcPgxXzmANuZP2+JI2I2vt1uKrqimDVgrXIkOYVS3eC54ZPOPtoqUCn4utgJF9LtYragP6+GWRvV7QpIhezoyjw/KViRlKSxDWdRnqvXvJtaUhBTtc1A1EkfgkJia65m6UUaNicpu1lWrR0sEjVovghyklknOHfD1yjlIWkRoz/ypM04X7bb7YgDWPZ2X6KcGeV9brZgkEjZU4p4V7wV9qNeCtMzdBXPLR1R8oSTScF1MhisoBXKMvaygcsPVD2SIX0bsp4bzTfanFVLWG4/NL0yEWnrjyYFrXZYPPVbVTSD2cAYAZ3CoHCB7bjaIriZgZWY1JBpNMe1Pb/2ewq3CZIOrD99xpM6DpWgj62DGYEGbiraMhH5LjJTjXGydM04Xgrl6ILSoLVDhQNgdDfZ1VNhsLkiNdl9oMgvtzvaA5x7Fc+QVn4Sn1lYnhBJcUYp9QrCxg4y9Q8fFByD2cAVsBAhicbUqALrCTsHQRCxA56hOm6ULxhTjegvi8Yia/dLHvQ+KyjYW9cbg2HCT/D6nKXQ4VLAArPcfWcUwuv7C/HbOj3B+7gkt3rZBAfxo+SEhboEx5BSAurmzvC4LdYkgbxEWnckuXqtZw1JjDZa7LDUwYzuesmUutBqxMPy0o+eAc0lKk1+d8OylhTZLP2DqOSeUX9rZjVtKv2q7gMkBL5PCyqX0Vavn4INrOAMw9bCQsvUgwiA66igaH+2hJoz5f104kfIbBfxqSkVctLjJlMTe6Av9pSIWtWEFwhopvRrZStGe6NqCPsEXO0LKQgQXLkkuwNLGUt0ocOY5tyy/sNVJTmvsj7wS30qt1f4thT8Jp8cnJycHq1auxePHikRgPxUWkloaiPqEDdRM6HZzJIjupGNcGNDYFnFKnszhaNBQpkruqdCkXFNgjua7cZz8sm42tS/YJatAGrjOD7V+F1xXXq3EocRw7akoGOM79sQ3Xr8ooIG8ayAIxVZ5ThuQJOC0+ZrMZ2dnZSExMxM9+9jPk5OT4ZCbzloYUvBjT5O5h3BAppaGoS+u0831nEaFpR2aCdQvcOdGVfAsL2z29FsWX4dbU7wTV7tIo09A150ZXIq9auoc740RVge2XWxiuFyJXr8YxXMexLfZyf8Th+plRVSCF2H0h0vXStVSXdvp02udz4MAB1NXVYc2aNdi7dy+SkpJw6623Yt++fejvp02SPInYmhCEN4yT6WPOYkHMRfxuyX7+CNdW4ocpJfhx+mlwdVtHayfiXPPQHxhypMh6zfszjiEprIXYDCwyWNqSQw7uy231tdyDQ1UZEE9Xpfu4O0LcOkQMqbnZTzMKYO7RSHxeRY1JknHSSBeZYfl8DAYD1q9fj/Xr1+Pbb7/F7t278eCDDyI4OBgPPPAAnnjiCUyYIL+BHGX0WPjvWHyUU0Hs63yyPg23Tywi1jcdKJsNca4N5+OQixStmfUlv4uEXDMw6bbNUjixqmgzSPKEbHlkZj5mR1cr/EkMPdt3jXEw92kw3XAZ+TWTiImGYkhLOPLWyISx0h4+RG7I4dzQ0ICDBw/i4MGDGDNmDH70ox/h7NmzmDJlCrZv3+725mIUe2F3+ZolRz6OpLAWzIyqGvwrP/SlFW9fE6bpgrlHI8jR4XaiWJpQgsM1UyDuBrh6Rj6u9gQLGoiR4EolnEHcfuPzipmD70gTDUl+IPESTlm3RCCxLITWcxFwetnV39+Pf/7zn7jtttuQmJiIDz74AOvWrUN9fT3eeecdfPnll/jHP/5B3FSQMvrYC7vL7dhp7X0jH6Y+WjsBZxoTwQlP+vh6Qe0Xx9HaCdh+fAXBclFhhvGyoBsgM9hdMSWsyaHwOLvcau3W4lRDIiH5j5SkaE00VAK5W6KUoHYqPCSctnyio6NhsVjw05/+FCdPnsTMmTMl5yxduhShoaEuGJ57eelaKjYEV7h7GDcEF3Y/tdQEVgWQ6q84Dl6aiv38cst2e+GhBu7mHo0kI7rsaiy2H48RLFlau7WEjfiscEI2MdwkWcqUtRhlhYcUThfDJQKqVf3otQSgRrDkU4L9REMxXLj+i8oMFDUmky7nE/t0vXQt1eXXdFp8/vSnP+Gee+7BuHHjZM8JDQ0dVjEqZWRILQ1FdE0QOkL7MLZPhan/35uS0LNVeGzboQotBO49e8WntkuWijYD5KrObUVPvJSR2wn1kRn5Dotjyf2IHC2LhKUk9hIN5UgKa0FoAzmlQd8U6PVRrpHCafF58MEHR2IclBFG2xnA+x0mhgv3MLM6mEl9mKVCZH8f86HaKLmw+n2T7e88Ideka3aMfceyfD8i+8IzP6ZcUaKhPY7WTkB+9VTS5THvcLTT1/MXaIazH3JkxUtY/Kl16+iq1nAU1KUpKgAdgoFcSw2u+j0lrAlikWLAYlrUZYdXnxJRh4dn5itqBcLhqB+RmPnRF3FT4pBjeTii09qtxaVWw+DyUppUSHcntQ8VHwf4gt+HxJEVL6HyxY8FYWYl2cdWWKyZdQh5tZNR2hwr+Lxt9fv9GcckvZCdaeWqdI8uwFFpg7R38x3phTeUHyRc4kmZfTgKE875Rm7PSPh7ACo+fkuLoVuSIKdcgBioA67jyblf4qwplt/rHRDmBDnbF4dUQ/VucRZig686tEzEyzVbx/qMqGoUNSbCXu9m2zE4qlx3lH/EWIDYalpK4QgqPn5KU0wXyD4exwLEwIJAVT/KWozoZceC1H+HywlypryBtHRiwWD78RW4X4EFFBt8FctTz0Cv7kaCrgV9lgBe9Fq7tQ5F0JHV5cjaAazCM+ewkeb1KICKj59iqNcSdIZFgGoA/ZaxojfEvX0Ym+2Cud48jrekESO2MuSXTuQqclvkWqJyOBJBe5XrABxaO2CBaQURSC7TU+FRCBUfBfii3ye8SYPxdWpcje210Q2GKDxTI2pR0hwH4RJNLprE4sfpp4ft27H2XZZ+ye3thiG7yaG+CdOjLsPcoxE0iSchl9Ut3PvLDgww5jrjc8IzUv4egIqPXzOudyzAiLc4ki7F1GMHoDwZnkGi3r5/xp6VsTD+Ilq6gvD5pRlQak3JtUTdW5qFvaXSPB5S7ZZcfpFw7y87+EBz+NGGdjL0Y+IqQhQVmX9rSoKd1ogiHC+57NWOtXZr8W9x83UH1lSUxgz5BxFaaVynRTGkyvUfJJdAqfDQsLrzUMtHIb649Eq5EIri+c3o0g048DGrkJ10Fl9VTbXZ2sZ2t9IhFsWVSUTCmb2xyPk6DMaPu0YcGbd8Ux6tE24DZIs4OnfZHIZDyJC/JguENaoxJ9/ok8IzkksugIqP33PH39Lw+d2X0Gbskz2HgQVLk0qxNKmU/2KaezSEXUstuDXtrOCzYkfw1IhapEeYsDzlO3xxaTqxxSnJ6fzWmZvQc10YfSJnNTsup7Ct3RI7vW0d06dNSXavNTsvChNKfCOXxx1Q8XECX7R+AGDxZ/H46GFSzx8ry5JKBLVY3H8dJRGSHMElzfEoaU4AwGJWVBVuSiwThL/Fm/0NIY14yVlJUobqvGxrtxyF1u21zGAsQKwPt0UdaasHoOJDwWDl+1fkhvOc1UNKvnOURCjnCOb+W9iYhAUx5ahoM4BpHSqlWBh/EeqxfXib3/DQijjiRQ7Nk8SCwXRDNW5J/Y6wr5jQ6a0L6MLXtWm42qPDgpiLmB9TLm0Zy9JcHldAxYcCYKjyvWzGVVyY2QpWZf3rvmp6Ac41x9q0x7AIEv5slyli347jZlsMdhZm27xvbcNq3Ro5WPJZccRLLqtZCouFcRegH9eNshYjImV8SxaoBOP5vwvjERzQjV8t+ASf/DkHYwZUCGkPRIRJQ4XHBVDxcRJfXXoBVgto1rEopJ8Zj47QPoS0BaIDqfjoZxcxZBJZ99cSJ/zJJfllRNSiuDke9pdDHAzeLc5EbPDVwTaujiNenPX1rSkJ/zw/T+bJGFxsM2JXYTbYwbYgK9NPySQ0CsdzrV+DL/7wCKafJfd39kVGY8kF0FA7hYC2MwBRdUHQdgagydgF8TRhYd2OmMPe5oETI0xQJjxD1z7ZkEwUBbn8oTBNF75nrAJ5Y8HBfJ3KDNhunby/bA5W8k3y7cGgNq3DwTmU4UDFZxiM1l8GT4CxE2bmsLfvOTkHh8WdE09A7oufVz1V8p6jkg1xng53TxUsmBN9iTi+S20RmB11Sfaa3GXiy72/E6FSRnNu02UXxS4RJo3ESGHADvbrsRI0pgek3Sw6+wKx6/wyCEPgLOJ1zchOPQ9N4HWZQk3uOtaeQY4q0TlsHeCBqn6+sPRrwtbGAHCmMRl2syxZYEwfg0l+tOQaTaj4UOzCRcK4HtDWqu1onP2fTVj86QaJr4f774Swevz70nRiZ8Ha9ggcvDQVP0wpwZSIOnx4YRZO1osFgsGPUoswMbxRUTsODlIB6XTD5cGdKsjdF4mwwJhe4J6/piu6L8V5qPgME192PIux7QEd0hbIR3r2P7wZJ+6tAqkn0MXWGMh+scHgQNkczImuRJimC0sSzuOkZAdUFhmGy4o6DJLSAM6aYlHcHIeMiMuYZqxDhKYdzd06O2MS3BpBrWNx+7vy20H7IqPtTqDiQ1GEbQ9oDvmeQNx/5cPsLBjBPmDCfBrljdzFiYI3JZTidEMyOvo1ABh8XTsJMcFXlQmPxbrHVsJFHWJr/MfP4y6o+NwA/mT9kCD3BLJF/ssudiBzW9A408idlCiYVyPeRZRB/bXxdscCALAAcw8bkVoa6vC+vog7giheE+164YUXkJWVBa1WK7snWE1NDVasWAGtVovIyEg888wzGBgYGN2B+hHhTRrEXQy247NlwRDelNv0LymsBcuSzwmykE/XJyK/eiKOVE3E6fpEtHYPta1QXl7BWWGCoVmxAOnfhuGOd1L9VnjchddYPn19fbjnnnuQmZmJt956S/L+9evXsWLFChiNRhw7dgwNDQ146KGHEBAQgBdffHHExuXv1s+iL+LwXdsVnJt7VexzRlKpHoYGLU4vqx+shne86R+HeGvjIYayoCO17SDvoiH5CCJrtLiS0M2PLe5iMCaUhAl8WP6Ku1JHGJZlFXR08Rz27NmDdevWoa2tTXD8s88+w2233Yb6+npERVm3u921axd+/etfo6mpCYGBgYqu397eDr1eD7PZDJ1Op3hc/ixAANAV1I+O0D4MjLGgI6wPhnot32aCe4/7onPb9sjR2q3Fc3n3yDdohwW/X7IPAPBs3j1wtKTSNQfiR++noMXQjaaYLsHY/B1nhWe43w8SXmP5OKKgoADTpk3jhQcAli9fjjVr1qCkpASzZs0ifq63txe9vUPd/NrbHfcepkgROKRr7LwH67Y9YmwFybqckhcUdrDA1PpX07EvZ8nH8QCsy0QqOp6Dz4iPyWQSCA8A/rXJZCJ9BACwbds2bNmy5Ybv7+/LrxvFVpC6gvqBnArZ1RRjAS6tybW+EJ9n0zWV7iRhH3dn6rvV4bxhwwYwDGP33/nz50d0DBs3boTZbOb/1dbWjuj9KI7RdgZg7mEj2ZFt086CO48ZrKhgLMDcr4y4Y08qlu6Px+3UiezRuNXyefrpp/Hwww/bPSclJUXRtYxGI06ePCk41tjYyL8nh1qthlqtVnQPR1Drx3VwiY3Nxm70jBsAAwbqnjGSdhZyCZDU2rGPu60ewM3iYzAYYDAYHJ+ogMzMTLzwwgu4cuUKIiMjAQAHDx6ETqfDlClTXHIPJVABch3azgAkVDgWEVICJEUeTxAewIt8PjU1Nbh69Spqampw/fp1FBUVAQDS0tIQHByMm2++GVOmTMGDDz6I7du3w2Qy4bnnnkNubq7LLBsKheI6vCbU/vDDD+Odd96RHD98+DCWLFkCAKiursaaNWuQl5eHoKAg5OTk4KWXXsLYsco11lWhRGr9UDyRG7V6XBlq9xrxGS2o+FB8GU8SH68pr/A2PGVdTaFweNqcpOIzgnjaL5viv3jiXKTiM8J44i+d4l946hyk4kOhUNwCFZ9RwFP/8lB8H0+ee1R8RglPngQU38TT5xwVn1HE0ycDxXfwhrlGxWeU8YZJQfFuvGWOUfGhUChugYqPG/CWv0wU78Ob5hYVHzfhTZOE4h1425yi4uNGvG2yUDwXb5xLVHzcjDdOGopn4a1ziIqPB+Ctk4fifrx57lDx8RC8eRJR3IO3zxkqPh6Et08myujhC3OFio+H4QuTijKy+MocoeLjgfjK5KK4Hl+aG1R8PBRfmmQU1+Brc8Jrdq/wR7jJRvtB+ze+Jjoc1PLxAnx18lEc48u/eyo+XoIvT0IKGV//nVPx8SJ8fTJShvCH3zX1+XgZ1A/k2/iD6HBQy8dL8adJ6i/42++Uio8X42+T1Zfxx98lXXZ5OXQZ5t34o+hwUPHxEagIeRf+LDocdNnlY9BJ7fnQ35EVavn4INQK8kyo6Aih4uPDUBHyDKjokKHLLj+ATn73QX/28lDLx0+gVtDoQkXHMVR8/AwqQiMLFR3lUPHxU2y/JFSIbgwqOMODig+FWkPDhIrOjUHFh8JDrSHHUMFxHVR8KESoNSSEio7roeJDsYs/W0NUcEYWr8jzqaqqwurVq5GcnAyNRoPU1FRs3rwZfX19gvO+++47fP/738e4ceMQHx+P7du3u2nEvslL11IF/3wNX38+T8MrLJ/z58/DYrHgzTffRFpaGoqLi/Hoo4+is7MTr7zyCgCgvb0dN998M7Kzs7Fr1y6cPXsWjzzyCEJDQ/HYY4+5+Ql8E/EX1NssIyow7oVhWZZ19yCGw8svv4ydO3fi0qVLAICdO3fi2WefhclkQmBgIABgw4YNOHDgAM6fP6/4uu3t7dDr9TCbzdDpdCMydn/CUwSJCo1rcOX3wyssHxJmsxnjx4/nXxcUFGDx4sW88ADA8uXL8Yc//AGtra0ICwsjXqe3txe9vb2C6wLWHzLlxvlNvUH2vc3Rl1x6ry0NKbLv0d+na+B+jq6wWbxSfMrLy/Haa6/xSy4AMJlMSE5OFpwXFRXFvycnPtu2bcOWLVskx+Pj4104YsposEPv7hH4Dy0tLdDrb+wH7lbx2bBhA/7whz/YPae0tBSTJk3iX9fV1eGWW27BPffcg0cfffSGx7Bx40asX7+ef93W1obExETU1NTc8A/XnbS3tyM+Ph61tbVevXykz+FZmM1mJCQkCFYdw8Wt4vP000/j4YcftntOSsqQKV1fX4+lS5ciKysLf/nLXwTnGY1GNDY2Co5xr41Go+z11Wo11Gq15Lher/fqScKh0+noc3gQvvIcKtWNB8rdKj4GgwEGg7xPwJa6ujosXboUs2fPxu7duyUPn5mZiWeffRb9/f0ICAgAABw8eBDp6emySy4KheI+vCLPp66uDkuWLEFCQgJeeeUVNDU1wWQywWQy8eesWrUKgYGBWL16NUpKSrB37178+c9/FiypKBSK5+AVDueDBw+ivLwc5eXliIuLE7zHed31ej2++OIL5ObmYvbs2YiIiMCmTZuczvFRq9XYvHkzcSnmTdDn8Czoc0jx2jwfCoXi3XjFsotCofgeVHwoFIpboOJDoVDcAhUfCoXiFqj4wLdadrzwwgvIysqCVqtFaGgo8ZyamhqsWLECWq0WkZGReOaZZzAwMDC6A1XA66+/jqSkJIwbNw7z58/HyZMn3T0kuxw5cgS33347YmJiwDAMDhw4IHifZVls2rQJ0dHR0Gg0yM7OxsWLF90zWDts27YNc+fORUhICCIjI7Fy5UqUlZUJzunp6UFubi7Cw8MRHByMu+66S5Lk6wgqPhC27CgpKcGf/vQn7Nq1C7/5zW/4c7iWHYmJiTh9+jRefvllPP/885JMa3fT19eHe+65B2vWrCG+f/36daxYsQJ9fX04duwY3nnnHezZswebNm0a5ZHaZ+/evVi/fj02b96Mb7/9FjNmzMDy5ctx5coVdw9Nls7OTsyYMQOvv/468f3t27fj1Vdfxa5du3DixAkEBQVh+fLl6OnpGeWR2ic/Px+5ubk4fvw4Dh48iP7+ftx8883o7Ozkz3nqqafw8ccf44MPPkB+fj7q6+tx5513OncjlkJk+/btbHJyMv/6jTfeYMPCwtje3l7+2K9//Ws2PT3dHcNzyO7du1m9Xi85/q9//YtVqVSsyWTij+3cuZPV6XSCZ3M38+bNY3Nzc/nX169fZ2NiYtht27a5cVTKAcDu37+ff22xWFij0ci+/PLL/LG2tjZWrVaz7733nhtGqJwrV66wANj8/HyWZa3jDggIYD/44AP+nNLSUhYAW1BQoPi61PKRQWnLjrKyMrS2trpjiMOioKAA06ZN4yv+AetztLe3o6SkxI0jG6Kvrw+nT59GdnY2f0ylUiE7OxsFBQVuHNnwqayshMlkEjyTXq/H/PnzPf6ZuDYz3Pfh9OnT6O/vFzzLpEmTkJCQ4NSzUPEhwLXs+PnPf84fM5lMgi8sIGzZ4S14w3M0Nzfj+vXrxHF6yhidhRu3tz2TxWLBunXrsHDhQmRkZAAA37BP7FN09ll8Wnw2bNgAhmHs/hN3OXR1yw5XMJznoFBcQW5uLoqLi/H++++7/NpeUds1XDyhZYcrcPY57GE0GiVRo9F6DqVERERgzJgxxJ+3p4zRWbhxNzY2Ijo6mj/e2NiImTNnumlU9lm7di0++eQTHDlyRFBTaTQa0dfXh7a2NoH14/Tvx+XeKS/l8uXL7IQJE9j77ruPHRgYkLzPOZz7+vr4Yxs3bvRah3NjYyN/7M0332R1Oh3b09MziiO0z7x589i1a9fyr69fv87GxsZ6vcP5lVde4Y+ZzWaPdDhbLBY2NzeXjYmJYS9cuCB5n3M479u3jz92/vx5px3OVHxYq/CkpaWxy5YtYy9fvsw2NDTw/zja2trYqKgo9sEHH2SLi4vZ999/n9Vqteybb77pxpFLqa6uZgsLC9ktW7awwcHBbGFhIVtYWMh2dHSwLMuyAwMDbEZGBnvzzTezRUVF7Oeff84aDAZ248aNbh65kPfff59Vq9Xsnj172HPnzrGPPfYYGxoaKojSeRodHR38zxsA+8c//pEtLCxkq6urWZZl2ZdeeokNDQ1lP/zwQ/a7775jf/zjH7PJyclsd3e3m0cuZM2aNaxer2fz8vIE34Wuri7+nMcff5xNSEhgv/rqK/bUqVNsZmYmm5mZ6dR9qPiwVisBAPGfLWfOnGEXLVrEqtVqNjY2ln3ppZfcNGJ5cnJyiM9x+PBh/pyqqir21ltvZTUaDRsREcE+/fTTbH9/v/sGLcNrr73GJiQksIGBgey8efPY48ePu3tIdjl8+DDxZ5+Tk8OyrNWi+O1vf8tGRUWxarWaXbZsGVtWVubeQROQ+y7s3r2bP6e7u5t94okn2LCwMFar1bI/+clPBH+slUBbalAoFLfg09EuCoXiuVDxoVAoboGKD4VCcQtUfCgUilug4kOhUNwCFR8KheIWqPhQKBS3QMWHQqG4BSo+FLdRVVXFV+WPdHHlnj17+HutW7duRO9FUQYVH4rb+fLLL3Ho0KERvce9996LhoYGZGZmjuh9KMrx6ZYaFO8gPDwc4eHhI3oPjUYDjUYj6ERJcS/U8qG4hKamJhiNRrz44ov8sWPHjiEwMHBYVs3bb7+NqVOnQq1WIzo6GmvXruXfYxgGb775Jm677TZotVpMnjwZBQUFKC8vx5IlSxAUFISsrCxUVFS45NkoIwMVH4pLMBgMePvtt/H888/j1KlT6OjowIMPPoi1a9di2bJlTl1r586dyM3NxWOPPYazZ8/io48+QlpamuCcrVu34qGHHkJRUREmTZqEVatW4ec//zk2btyIU6dOgWVZgWBRPBBXluJTKE888QQ7ceJEdtWqVey0adPsNiirrKxkAbCFhYWC4zExMeyzzz4r+zkA7HPPPce/LigoYAGwb731Fn/svffeY8eNGyf57E033cT+93//t/IHoowY1PKhuJRXXnkFAwMD+OCDD/D3v/8darXaqc9fuXIF9fX1Dq2l6dOn8//PNWWfNm2a4FhPTw/a29uduj9l9KDiQ3EpFRUVqK+vh8ViQVVVldOf12g0is4LCAjg/59hGNljFovF6TFQRgcqPhSX0dfXhwceeAD33nsvtm7div/6r/9yeofRkJAQJCUljXjoneJ+aKid4jKeffZZmM1mvPrqqwgODsa//vUvPPLII/jkk0+cus7zzz+Pxx9/HJGRkbj11lvR0dGBo0eP4sknnxyhkVPcAbV8KC4hLy8PO3bswN/+9jfodDqoVCr87W9/w9dff42dO3c6da2cnBzs2LEDb7zxBqZOnYrbbrsNFy9eHKGRU9wF7eFMcRtVVVVITk5GYWHhqO1dtWTJEsycORM7duwYlftR5KGWD8XtZGVlISsra0Tv8fe//x3BwcH4+uuvR/Q+FOVQy4fiNgYGBviImFqtRnx8/Ijdq6Ojg98BNTQ0FBERESN2L4oyqPhQKBS3QJddFArFLVDxoVAoboGKD4VCcQtUfCgUilug4kOhUNwCFR8KheIWqPhQKBS3QMWHQqG4hf8fqfMJt0vR1KQAAAAASUVORK5CYII=",
"text/plain": [
"<Figure size 258.065x259.74 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"model.settings.source = openmc.FileSource('source.55.h5')\n",
"model.plot(**plot_kwargs)"
]
},
{
"cell_type": "markdown",
"id": "9bb04822-33b8-4abe-9b93-ceb5531dc041",
"metadata": {},
"source": [
"## `MeshSource` and `MeshSpatial`\n",
"\n",
"Finally, there are two classes that allow us to define a source distributed on a mesh:\n",
"\n",
"- `MeshSpatial`: for this class, we can specify source intensities on each mesh element and then use it within `IndependentSource`\n",
"- `MeshSource`: this class behaves like `MeshSpatial` except it allows unique energy and angle distributions for each mesh element.\n",
"\n",
"We'll demonstrate the simpler `MeshSpatial` class."
]
},
{
"cell_type": "code",
"execution_count": 59,
"id": "a3b1b5d7-2f61-43ce-9022-2777960d1c93",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<Axes: xlabel='x [cm]', ylabel='y [cm]'>"
]
},
"execution_count": 59,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 258.065x259.74 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"mesh = openmc.RegularMesh()\n",
"mesh.lower_left = (-10, -10, -height/2)\n",
"mesh.upper_right = bbox.upper_right\n",
"mesh.dimension = (3, 3, 1)\n",
"\n",
"source = openmc.stats.MeshSpatial(mesh, strengths=[9, 9, 1, 3, 0, 10, 2, 10, 7])\n",
"model.settings.source = openmc.IndependentSource(space=source)\n",
"\n",
"model.plot(**plot_kwargs)"
]
},
{
"cell_type": "markdown",
"id": "b9a3691a-1c8f-4543-9c76-1756843d8513",
"metadata": {},
"source": [
"## Combining Multiple Sources\n",
"\n",
"You can also superimpose multiple sources - this is done by passing a list to `model.settings.source`. The default source strength in OpenMC is unity, so we can control the relative amounts of each source using the `strength` parameter. If the sources have very different strengths, you may want to set `uniform_source_sampling` to `True` so that they are equally sampled (with weights that now reflect the relative source strengths)."
]
},
{
"cell_type": "code",
"execution_count": 66,
"id": "dd10762c-970c-4030-9237-7268c34992e0",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<Axes: xlabel='x [cm]', ylabel='y [cm]'>"
]
},
"execution_count": 66,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 258.065x259.74 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"model.settings.source = [openmc.FileSource('source.h5', strength=0.9), \n",
" openmc.IndependentSource(space=source, strength=0.1, particle='photon')]\n",
"\n",
"model.plot(**plot_kwargs)"
]
},
{
"cell_type": "markdown",
"id": "1c135d44-87c4-49a8-bdd2-7622e0ae7fcf",
"metadata": {},
"source": [
"# Surface Sources\n",
"\n",
"Let's now demonstrate how to write a surface source with OpenMC, which you may use to then run a second OpenMC calculation starting from those source particles. For example, this could be used to find the surface source on the outside of a reactor (with vacuum outside) using a k-eigenvalue calculation, to then load this source into a second fixed source calculation only considering the shielding outside the reactor. Of course, this example is an approximation to the integrated problem when both domains are present - but this notion of splitting a domain into separate runs is often used for experiment analysis.\n",
"\n",
"Let's record all the particles which cross from the aluminum into the fuel. To do so, we'll set a dictionary named `surf_source_write` in the settings. The particles added to the surface source will simply be added starting from the active batches, until reaching the desired number per rank."
]
},
{
"cell_type": "code",
"execution_count": 68,
"id": "ee3c00b9-228c-4606-9155-20d45ab80591",
"metadata": {},
"outputs": [],
"source": [
"model.settings.surf_source_write = {'surface_ids' : [cyl1.id], \n",
" 'max_particles' : 1000, \n",
" 'cellfrom' : outer.id}"
]
},
{
"cell_type": "code",
"execution_count": 69,
"id": "c7a4cedc-394b-4d1e-854f-e3b200d19236",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" %%%%%%%%%%%%%%%\n",
" %%%%%%%%%%%%%%%%%%%%%%%%\n",
" %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",
" %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",
" %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",
" %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",
" %%%%%%%%%%%%%%%%%%%%%%%%\n",
" %%%%%%%%%%%%%%%%%%%%%%%%\n",
" ############### %%%%%%%%%%%%%%%%%%%%%%%%\n",
" ################## %%%%%%%%%%%%%%%%%%%%%%%\n",
" ################### %%%%%%%%%%%%%%%%%%%%%%%\n",
" #################### %%%%%%%%%%%%%%%%%%%%%%\n",
" ##################### %%%%%%%%%%%%%%%%%%%%%\n",
" ###################### %%%%%%%%%%%%%%%%%%%%\n",
" ####################### %%%%%%%%%%%%%%%%%%\n",
" ####################### %%%%%%%%%%%%%%%%%\n",
" ###################### %%%%%%%%%%%%%%%%%\n",
" #################### %%%%%%%%%%%%%%%%%\n",
" ################# %%%%%%%%%%%%%%%%%\n",
" ############### %%%%%%%%%%%%%%%%\n",
" ############ %%%%%%%%%%%%%%%\n",
" ######## %%%%%%%%%%%%%%\n",
" %%%%%%%%%%%\n",
"\n",
" | The OpenMC Monte Carlo Code\n",
" Copyright | 2011-2025 MIT, UChicago Argonne LLC, and contributors\n",
" License | https://docs.openmc.org/en/latest/license.html\n",
" Version | 0.15.3\n",
" Commit Hash | 27e38e894697bb32a1dac7848d2618818b6b8daf\n",
" Date/Time | 2025-11-25 11:09:40\n",
" OpenMP Threads | 2\n",
"\n",
" Reading model XML file 'model.xml' ...\n",
" Reading source file from\n",
" /home/ubuntu/openmc-nea-course/notebooks/sources/source.h5...\n",
" Reading chain file: /home/ubuntu/data/depletion_chains/chain_endfb71_pwr.xml...\n",
" Reading cross sections XML file...\n",
" Reading U235 from /home/ubuntu/data/endfb71_hdf5/U235.h5\n",
" Reading U from /home/ubuntu/data/endfb71_hdf5/photon/U.h5 \n",
" Reading H1 from /home/ubuntu/data/endfb71_hdf5/H1.h5\n",
" Reading H from /home/ubuntu/data/endfb71_hdf5/photon/H.h5 \n",
" Reading H2 from /home/ubuntu/data/endfb71_hdf5/H2.h5\n",
" Reading O16 from /home/ubuntu/data/endfb71_hdf5/O16.h5\n",
" Reading O from /home/ubuntu/data/endfb71_hdf5/photon/O.h5 \n",
" Reading O17 from /home/ubuntu/data/endfb71_hdf5/O17.h5\n",
" Minimum neutron data temperature: 294 K\n",
" Maximum neutron data temperature: 294 K\n",
" Preparing distributed cell instances...\n",
" Writing summary.h5 file...\n",
" Maximum neutron transport energy: 20000000 eV for U235\n",
" Initializing source particles...\n",
"\n",
" ====================> K EIGENVALUE SIMULATION <====================\n",
"\n",
" Bat./Gen. k Average k\n",
" ========= ======== ====================\n",
" 1/1 0.69461\n",
" Creating source file source.01.h5 with 1000 particles ...\n",
" 2/1 0.99273\n",
" 3/1 1.05276\n",
" 4/1 0.93900\n",
" 5/1 0.95792\n",
" 6/1 0.97728\n",
" 7/1 0.97555\n",
" 8/1 1.03885\n",
" 9/1 0.96272\n",
" 10/1 0.89784\n",
" 11/1 1.01876\n",
" 12/1 0.96959\n",
" 13/1 0.99639\n",
" 14/1 0.92133\n",
" 15/1 1.00190\n",
" 16/1 1.00245\n",
" 17/1 0.99258\n",
" 18/1 1.05348\n",
" 19/1 0.94131\n",
" 20/1 0.99917\n",
" 21/1 0.94278\n",
" 22/1 1.05099\n",
" 23/1 0.99500\n",
" 24/1 1.00997\n",
" 25/1 0.97122\n",
" 26/1 0.91726\n",
" 27/1 0.96309\n",
" 28/1 0.93995\n",
" 29/1 0.93179\n",
" 30/1 0.97008\n",
" 31/1 0.96366\n",
" 32/1 0.87222\n",
" 33/1 0.99210\n",
" 34/1 0.94124\n",
" 35/1 0.98425\n",
" 36/1 0.99657\n",
" 37/1 0.93521\n",
" 38/1 0.91275\n",
" 39/1 1.00201\n",
" 40/1 0.99549\n",
" 41/1 0.98489\n",
" 42/1 0.94471\n",
" 43/1 1.03713\n",
" 44/1 0.98239\n",
" 45/1 0.96139\n",
" 46/1 0.92356\n",
" 47/1 1.00451\n",
" 48/1 0.99008\n",
" 49/1 1.04747\n",
" 50/1 1.01353\n",
" 51/1 0.97745\n",
" 52/1 0.98150 0.97947 +/- 0.00202\n",
" Creating source file surface_source.h5 with 1000 particles ...\n",
" 53/1 0.96022 0.97306 +/- 0.00652\n",
" 54/1 0.99859 0.97944 +/- 0.00788\n",
" 55/1 0.91310 0.96617 +/- 0.01460\n",
" Creating state point statepoint.55.h5...\n",
" Creating source file source.55.h5 with 1000 particles ...\n",
"\n",
" =======================> TIMING STATISTICS <=======================\n",
"\n",
" Total time for initialization = 2.7888e-01 seconds\n",
" Reading cross sections = 9.9444e-02 seconds\n",
" Total time in simulation = 5.5792e+00 seconds\n",
" Time in transport only = 5.5612e+00 seconds\n",
" Time in inactive batches = 5.0766e+00 seconds\n",
" Time in active batches = 5.0266e-01 seconds\n",
" Time synchronizing fission bank = 2.8236e-03 seconds\n",
" Sampling source sites = 2.4161e-03 seconds\n",
" SEND/RECV source sites = 3.9541e-04 seconds\n",
" Time accumulating tallies = 3.9490e-05 seconds\n",
" Time writing statepoints = 1.6594e-03 seconds\n",
" Total time for finalization = 1.8670e-06 seconds\n",
" Total time elapsed = 5.8598e+00 seconds\n",
" Calculation Rate (inactive) = 9849.17 particles/second\n",
" Calculation Rate (active) = 9947.1 particles/second\n",
"\n",
" ============================> RESULTS <============================\n",
"\n",
" k-effective (Collision) = 0.96306 +/- 0.00916\n",
" k-effective (Track-length) = 0.96617 +/- 0.01460\n",
" k-effective (Absorption) = 0.95903 +/- 0.00971\n",
" Combined k-effective = 0.96219 +/- 0.01569\n",
" Leakage Fraction = 1.59333 +/- 0.02051\n",
"\n"
]
},
{
"data": {
"text/plain": [
"PosixPath('/home/ubuntu/openmc-nea-course/notebooks/sources/statepoint.55.h5')"
]
},
"execution_count": 69,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"model.run()"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "7e03474a-4347-4aa3-85ae-1c449e6c873e",
"metadata": {},
"outputs": [],
"source": [
"!ls"
]
},
{
"cell_type": "markdown",
"id": "9ebcaf58-4be3-4e13-82b4-485b993957cb",
"metadata": {},
"source": [
"To read in this surface source, we can load it with the `surf_source_read` parameter, which should be passed the path to the surface source file. Let's now modify our geometry to replace the fuel with some other goemetry, as if we were using a surface source for a typical experiment design procedure. If we want to run with only that surface source, we need to remove the wobbly ring source and our mesh source from earlier."
]
},
{
"cell_type": "code",
"execution_count": 70,
"id": "c2f8f686-9559-4d6f-865e-499e1d08f7cf",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<Axes: xlabel='x [cm]', ylabel='y [cm]'>"
]
},
"execution_count": 70,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 258.065x259.74 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"model.settings.source = []\n",
"model.settings.surf_source_write = {}\n",
"model.settings.surf_source_read = {'path': 'surface_source.h5'}\n",
"\n",
"model.plot(**plot_kwargs)"
]
},
{
"cell_type": "markdown",
"id": "07f9786f-b7c4-445d-99ef-176781cb6e3b",
"metadata": {},
"source": [
"# Fixed Source Calculations"
]
},
{
"cell_type": "markdown",
"id": "eeecbabe-9dc0-4492-b031-7505453c6959",
"metadata": {},
"source": [
"To run a fixed source calculation, all we need to do is modify the `run_mode` (which defaults to `eigenvalue`). With a fixed source calculation, there is no notion of inactive batches, so we will run all of our batches as active."
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "f52e0fc5-b5f2-4067-b1e3-56cb8466df26",
"metadata": {},
"outputs": [],
"source": [
"model.settings.run_mode = 'fixed source'\n",
"model.settings.photon_transport = True"
]
},
{
"cell_type": "markdown",
"id": "98dd12c7-ea43-4cec-9192-3b3a6031c750",
"metadata": {},
"source": [
"We can also customize the particle type for each source, with the `particle` parameter. Make sure that photon transport is enabled if you have a photon source! (or if you want to track the photons created from neutron-induced reactions)."
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "217f5f2e-2935-4438-a32d-cd21e5a73404",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.12.4"
}
},
"nbformat": 4,
"nbformat_minor": 5
}