forked from crp/openmc-designs
1492 lines
222 KiB
Text
1492 lines
222 KiB
Text
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"# Multigroup (Delayed) Cross Section Generation Part I: Introduction\n",
|
|
"This IPython Notebook introduces the use of the `openmc.mgxs` module to calculate multi-energy-group and multi-delayed-group cross sections for an infinite homogeneous medium. In particular, this Notebook introduces the the following features:\n",
|
|
"\n",
|
|
"* Creation of multi-delayed-group cross sections for an **infinite homogeneous medium**\n",
|
|
"* Calculation of delayed neutron precursor concentrations"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Introduction to Multi-Delayed-Group Cross Sections (MDGXS)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"Many Monte Carlo particle transport codes, including OpenMC, use continuous-energy nuclear cross section data. However, most deterministic neutron transport codes use *multi-group cross sections* defined over discretized energy bins or *energy groups*. Furthermore, kinetics calculations typically separate out parameters that involve delayed neutrons into prompt and delayed components and further subdivide delayed components by delayed groups. An example is the energy spectrum for prompt and delayed neutrons for U-235 and Pu-239 computed for a light water reactor spectrum."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 1,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAbAAAAEgCAYAAADVKCZpAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XlcFPX/B/DXLqfcLHiwnB6geCuQiihoRaYg5YkFeKB5RIqa3zSPHfLKrPx6/LQsU9QArxJKU7+poJWGt+UtyiGogYh4Icd+fn8QIwu7HMsCO8v72WMfMvOZmf3M7Dbv/Rzz+YgYYwyEEEKIwIgbOwOEEEKIOiiAEUIIESQKYIQQQgSJAhghhBBBogBGCCFEkCiAEUIIESQKYIQQQgSJAhghhBBBogBGCCFEkCiAEUIIESQKYIQQQgSJAhghhBBBogBGCCFEkCiAEVKP/vnnH/Tv3x+WlpaYM2dOvb7X1KlTsXTpUrX3X758Od577z0N5oiQ+kUBTGBcXFxgYmICCwsLmJubw8LCAtOnT2/sbFXr8uXLeOONNyCRSCCRSODl5YUDBw7U63sOGDAA3333Xb2+R3U2btyIFi1a4NGjR1i5cmWdjxcdHQ19fX2ln/+GDRswf/58tY89b948bNy4sc55rCg6OhpisRhffPGFwnpHR0ccO3aszsePiopCWFhYnY9DhEe/sTNAakckEmHfvn0YMGBAvb5PSUkJ9PT0NHa8wMBAvP/++9i3bx8A4NSpU2jsqeg0fY7KpKWloWPHjmrtqyp/3t7eGrnxNySJRIIVK1Zg8uTJMDMza/D3Z4xBJBI1+PuS+kUlMAFSdeOPjo5Gv379MGfOHEgkErRt21ahlJOfn4+JEydCKpXC0dERCxcu5I8VHR0NHx8fzJo1CzY2NoiKioJcLsfs2bPRvHlztG3bFv/3f/8HsVgMuVyO3bt3w9PTU+H9v/jiCwwbNqxSvh48eIDU1FRMnDgR+vr60NfXR58+feDt7Q0ASEpKgqOjI5YvX47mzZujTZs2iImJ4fcvLCzEhx9+CGdnZ9jZ2WHatGl48eIFnx4fH48ePXrA0tISrq6uOHToEBYsWIDjx48jIiJCoZQiFouxfv16uLm5wc3NDWlpafw5lSlfcit/XaytrdGuXTucOHEC0dHRcHJyQqtWrbB161aln8f48eMRHR2NFStWwMLCAkeOHEFhYSEiIyNhb28PBwcHzJw5E0VFRQrX4bPPPoOdnR0mTJig4hug3Pjx47Fo0SL+mgcGBsLa2ho2Njbw9fXlt1uxYgUcHBxgYWEBd3d3HD16FEBpSSY0NJTfLiEhAZ07d4ZEIsHAgQNx9epVPq1169b44osv0K1bN1hbW2PMmDEoLCxUmTd3d3f06dMHX375pdJ0xhg+/fRTtGvXDs2bN0dwcDDy8vIUrkt5rVu3xpEjR3Dw4EEsW7YMO3bsgLm5OXr06AGg9DNcsGABfHx8YGpqitu3b+Pu3bsICgqCjY0N3Nzc8O233/LHi4qKwujRozF27FhYWFigS5cuOHv2bLXXjDQyRgTFxcWFHT58WGnali1bmKGhIdu0aROTy+Vsw4YNTCqV8ulBQUFs6tSp7Pnz5yw7O5v16tWLbdy4kd9XX1+f/d///R8rKSlhBQUFbMOGDaxTp04sKyuL5eXlsddee42JxWJWUlLCXrx4wWxsbNjVq1f54/fo0YP9+OOPSvPm5ubGAgIC2N69e9n9+/cV0hITE5m+vj778MMPWWFhIUtKSmKmpqbs+vXrjDHGZsyYwYKCglheXh578uQJGzp0KPv4448ZY4z9+eefzNLSkr8mWVlZ7Nq1a4wxxvz8/NimTZsU3kskEjF/f3+Wl5fHCgoKWGpqKn9OZcrvt2XLFmZgYMCio6OZXC5nCxYsYE5OTiwiIoIVFhayQ4cOMXNzc/b06VOl5z1u3Di2cOFCfnnhwoWsT58+LCcnh+Xk5DBvb2+2aNEiheswb948VlhYyAoKCpR+xv369av2vebNm8emTp3KSkpKWHFxMfvtt98YY4xdu3aNOTo6snv37jHGGEtLS2O3bt1ijDHGcRwLDQ3ltzM1NWWHDx9mxcXF7LPPPmPt2rVjRUVFjLHS72GvXr3YvXv32MOHD5m7uzv7+uuvlearLM8XLlxgVlZW7OHDh4wxxhwcHFhSUhJjjLFVq1axPn36sKysLFZYWMimTJnCxowZw18XR0dHhWOW//+gfL7L+Pn5MWdnZ3blyhVWUlLCioqKmK+vL/+5nT9/njVv3pwdOXKEP0azZs3YgQMHmFwuZ/PmzWO9e/eu9pqRxkUlMAF66623IJFIYG1tDYlEgk2bNvFpzs7OmDBhAkQiEcaOHYu7d+/in3/+wT///IMDBw5g1apVMDY2hq2tLSIjIxEbG8vva29vj2nTpkEsFsPIyAi7du3CjBkzYGdnB0tLS8ydO5ff1tDQEKNHj8b27dsBAJcuXUJaWhqGDBmiNM9Hjx5F69at8eGHH0IqlcLPzw83b97k00UiERYvXgwDAwP0798fQ4YMwc6dOwEA3377LVatWgVLS0uYmppi7ty5fL6/++47hIeHY+DAgQAAOzs7uLm5VXn9Pv74Y1haWsLIyKhG17t169YICwuDSCTC6NGjcefOHchkMhgYGOD111+HoaGhwrlUJSYmBjKZDDY2NrCxsYFMJsO2bdv4dD09PURFRcHAwEBl/k6cOKHw+ScnJ1faxsDAAHfv3sXt27ehp6eHvn378scvLCzE33//jeLiYjg5OaF169aV9t+5cycCAgIwcOBA6Onp4cMPP8Tz58/xxx9/8NvMmDEDLVu2hJWVFQIDA3H+/Pkqz71r167w9/fHihUrKqVt3LgRS5cuhZ2dHQwMDLBo0SLs3r1boWRcW+PGjUOHDh0gFotx7949/P7771ixYgUMDAzQrVs3TJw4UeHa+/j44I033oBIJEJoaCguXrwIoObXjDQ8CmACFB8fj9zcXDx8+BC5ubkIDw/n01q1asX/3axZMwDAkydPkJaWhqKiItjZ2fE3vylTpiAnJ4ffvmI1TVZWlsK6iulhYWF8Vd/27dsxatQoGBgYKM2zVCrFmjVrcOPGDaSlpcHExARjx47l062trWFsbMwvOzs7IysrC9nZ2Xj27Bk8PDz4DiBvvvkmHjx4AADIyMhA27Zta3bh/uXg4FCr7Vu2bMn/XXZNbW1tFdY9efKkRsfKysqCk5MTv1x2nmWaN2+u8hqW6dOnj8Ln/8orr1TaZs6cOWjbti38/f3Rrl07Pmi0bdsW//3vf8FxHFq2bIl33nkH9+7dU5pPZ2dnflkkEsHR0RGZmZn8uvLXxcTEpEbX4JNPPsGGDRtw//59hfVpaWl4++23+c+4Y8eOMDAwqLRdbZT/vmZlZUEikcDExIRf5+zsrHA+5f/fMTExQUFBAeRyudJrdvfuXbXzRTSHApgAMTU6Pzg6OsLY2BgPHjzgb355eXn8r0wAlRq57ezscOfOHX45PT1dIb1Xr14wNDTE8ePHERMTo9B+UhV7e3u8//77+Pvvv/l1Dx8+xPPnzxXeSyqVwtbWFiYmJrh06RJyc3ORm5uLvLw8PHr0iD+vlJQUpe+jqtG+/HpTU1MAwLNnz/h1ym7ommJvb4+0tDR+OS0tDVKpVGne6sLMzAyff/45UlJS8NNPP+HLL7/k222Cg4Nx/PhxPh8fffRRpf2lUqlCPoHSHwu1Df4VtW/fHsOGDcOyZcsUztXJyQm//PIL/xk/fPgQT58+hZ2dHUxNTRU+n5KSEmRnZ/PLNfmcpVIpcnNz8fTpU35deno67O3ta5TvitesfG0EaTwUwJqIVq1awd/fHzNnzsTjx4/BGMOtW7eq7M02atQorF69GllZWcjLy8Nnn31WaZvQ0FBERETAwMCA75RRUV5eHjiOQ0pKChhjyMnJwXfffYc+ffrw2zDGIJPJUFRUhOPHj2Pfvn0YNWoURCIRJk2ahMjISP6mlZmZiUOHDgEAwsPDsXnzZhw9ehSMMWRlZeHatWsASksIt27dqvK62Nrawt7eHtu3b4dcLsd3332nMiCWz6u6goODsWTJEuTk5CAnJweLFy+uceCvjX379vHnYWZmBn19fejp6eH69es4evQoCgsLYWhoiGbNmint6Thq1Cjs27cPR48eRXFxMT7//HMYGxsrfGbqWrRoETZv3sx30gCAyZMn4+OPP+Z/JGVnZyMhIQEA4ObmhoKCAvzyyy8oLi7GkiVLFDqMtGzZEqmpqVV+Lg4ODvD29sa8efPw4sULXLx4EZs2bUJISIjKfcqOV9NrRhoeBTABCgwMhIWFBf8aPny4ym3L/wrdunUrCgsL0bFjR0gkEowcObLK0sakSZPg7++Prl27wsPDA0OGDIG+vj7E4pdfm9DQUPz9999VPodjaGiI1NRUvP7667C0tETXrl1hbGyMzZs389vY2dnB2toaUqkUoaGh+Prrr+Hq6gqgtAdYu3bt0Lt3b1hZWcHf3x/Xr18HAHh5eWHz5s2IjIyEpaUl/Pz8+JvgjBkzsGvXLtjY2CAyMrLS9SjzzTff4LPPPoOtrS2uXLnCtxfV5JqqOqaqtAULFsDT0xNdu3ZFt27d4OnpWadnt1S5ceMGXnvtNZibm6Nv3754//330b9/f7x48QJz585F8+bNIZVKkZ2djWXLllXa383NDdu3b0dERASaN2+Offv24aeffoK+vr7S86oNFxcXhIaGKpSGZsyYgaCgIPj7+8PS0hLe3t58256FhQXWr1+P8PBwODg4wNzcXKEkOHLkSDDGYGNjw/eMVZa/2NhY3L59G1KpFMOHD8fixYv5tlNlyo5R02tGGkFj9R755ZdfWPv27Zmrqyv79NNPK6UfO3aM9ezZk+nr67M9e/ZUSs/Pz2f29vbsgw8+aIjsElb6mbm4uCise/78ObOwsGA3b95U+7jKepkRQkh1GqUEJpfLERERgYMHD+LSpUuIjY1VeMYEKG1gjY6Oxrvvvqv0GAsXLoSfn18D5LbpKqu2KSkpQWZmJqKioio957V+/Xp4eXnVuiMFIYTUVaOMxJGcnAxXV1e+l1NwcDDi4+PRoUMHfpuynlrKqgLOnDmDf/75B4MGDcLp06cbJtNNEPu3XSo4OBjNmjVDQEAAoqKi+PSyrsR79+5trCwSQpqwRglgmZmZCl1cHRwclD7LogxjDB9++CG2b9+OX3/9tb6ySFDaPbyqz+X27dsaeR9fX99KPRwJIaQ6jVKFyJT0Fqppo/D69esxZMgQvvursmMRQgjRfY1SAnNwcFD4xX3nzh2FZ2GqcuLECfz2229Yv349Hj9+jKKiIpibm1fqFUQDdxJCiHoEUzBojJ4jxcXFrG3btiw1NZW9ePGCdevWjV2+fFnptuPGjWO7d+9WmrZlyxaVvRDr89RkMlm97lfVdrVNq7iutsuapI3Xrabr6bpVv14T3z9Nqs/rVt029Xnd6vOaMVa/905Na5QqRD09Paxbtw7+/v7o1KkTgoOD4e7uDplMhp9//hkAcPr0aTg6OmL37t2YMmUKunTp0hhZVUrd3o813a+q7WqbVnFddcv1SRuvW03X03Wrfr0637/6VJ/XrbpthHzdhETEmFDKirUjEomEUwzWIhzHgeO4xs6G4NB1Uw9dt9qr72smpHsnjcRBFNAvPfXQdVMPXbfao2v2EpXACCE8LpFDVFJUpfUyXxk4P67hM0QanJDunU2uBObi4gKRSEQveql8ubi4NPbXtF588ccXMF9uDlGUCKIoEbhErrGzREidNEo3+saUlpYmmF8XpHGIRLr5CAaXxOFJYc3mLSNECJpcACOkqapJ8OL8OKoqJIJBAYyQJojJqBaCCB8FMEKaCJmvrE77l28zo1Ia0QZNrheiqvWk9sRiMW7evIk2bdpUuV1SUhJCQkKQkZHRQDkrNX78eDg6OuKTTz6p1X70HVFOFPWybZBKcLpLSN//JtcLUZuJxWLcunVLYV1UVJTKKecLCwsxceJEuLi4wNLSEh4eHjhw4ACffuXKFXh5eUEikcDGxgb+/v64cuWKwrENDQ1hYWEBc3NzWFhYIDU1tcb5rU1nB13tGEEIaTwUwLSIqpu8qvXFxcVwcnLC8ePH8ejRI3zyyScYNWoUP1Cyvb099uzZg9zcXOTk5CAwMBDBwcEKxwgODkZ+fj4eP36M/Pz8WnUhF8qvNEKIbqIApkVqGxBMTEywaNEifm61IUOGoHXr1jhz5gwAwMLCgp8YtKSkBGKxGCkpKWrnb+XKlZBKpXBwcMDmzZsVAmthYSE+/PBDODs7w87ODtOmTcOLFy+UHmfFihVo164dLCws0LlzZ35CzMLCQtjY2ODSpUv8ttnZ2TAxMcGDBw8AAD///DN69OgBa2tr+Pj44K+//uK3PXfuHDw8PGBpaYng4GAUFBSofa6EEO1HAawCjgNEosovVUOPKdu+sYZ2u3//Pm7cuIFOnToprLe2toaJiQlmzJiB+fPnK6T99NNPsLW1RZcuXfDVV1+pPPaBAwfw5Zdf4vDhw7hx40alyUT/85//4ObNm7h48SJu3ryJzMxMlW1P7dq1w++//478/HzIZDKEhITg/v37MDQ0xJgxY7B9+3Z+29jYWLz++uuwsbHB2bNnER4ejm+++Qa5ubmYPHkyhg4diqKiIhQVFeHtt9/G2LFjkZubi5EjR2LPnj21vYSEEAGhAKYjiouLERISgnHjxsHNzU0h7eHDh3j06BHWrVuHbt268etHjx6NK1euIDs7Gxs3bsQnn3yCHTt2KD3+rl27MH78eLi7u6NZs2bgOE6hxPjtt99i1apVsLS0hKmpKebOnYvY2Filxxo+fDhatmwJABg5ciRcXV35mZ/DwsLw/fff89tu27YNYWFh/HtMmTIFnp6eEIlECA0NhZGREU6ePImTJ0+iuLgY06dPh56eHoYPHw4vLy81rqTu4hI5/qUOma+MfxGiDagbvRbR09NDUVGRwrqioiIYGBgAAAYPHozjx49DJBLh66+/xpgxYwCUVj2GhITAyMgIa9euVXrsZs2aYfLkyWjevDmuXr0KW1tbdOjQgU/v06cPZsyYgd27d2P06NGV9s/KyoKnpye/7OzszP+dnZ2NZ8+ewcPDg18nl8tVVolu3boVq1at4juMPH36FDk5OQCAV155BWZmZkhKSkKrVq2QkpKCwMBAAKWjqGzdupU/R8YYioqKkJWVBQD8LN3K8kigMMahOt3gqes80TYUwCrguNpVAdZ2+6o4OTkhNTUV7du359fdvn2bX96/f7/S/cLDw5GTk4P9+/dDT09P5fFLSkrw7NkzZGZmwtbWtlJ6Vd1n7ezsFLrBp6Wl8W1gtra2MDExwaVLl2BnZ1flOaanp+O9997D0aNH0adPHwBAjx49FN537Nix2LZtG1q1aoURI0bA0NAQAODo6Ij58+dj3rx5lY577NgxZGZmVnqvdu3aVZkfQohwURWiFhk9ejSWLFmCzMxMMMbw66+/4ueff8aIESNU7jNlyhRcvXoVCQkJ/I2+zK+//orz589DLpcjPz8fs2bNgkQigbu7OwAgISEBeXl5AIDk5GSsWbMGb731ltL3GTVqFLZs2YIrV67g2bNnCu1bIpEIkyZNQmRkJLKzswEAmZmZOHToUKXjPH36FGKxGLa2tpDL5di8eTP+/vtvhW1CQkLw448/4vvvv+erDwFg0qRJ+Oqrr/jqxqdPn2L//v14+vQp+vTpA319faxduxYlJSX44Ycf+O0IIbqJApgWWbRoEby9veHj4wOJRIK5c+ciJiYGHTt2VLp9eno6Nm7ciPPnz6Nly5b8s1xlbU95eXkYM2YMrKys4Orqilu3buHAgQN8oIuLi+N7A44bNw7z5s1DSEiI0vcaNGgQIiMjMXDgQLi5ueHVV19VSC/rWdi7d29YWVnB398f169fr3Qcd3d3zJ49G71790arVq1w6dIl+Pj4KGxjb2+Pnj17QiQSKaR5eHjgm2++QUREBCQSCdzc3BAdHQ0AMDAwwA8//IDNmzdDIpFg165dGD58eA2vPCFEiGgkDqKVwsPDYW9vX+tRNDRBV78jNJIGqQkhff+pDYxondTUVPz44484d+5cY2dFp9BYiETXUAmMaJVFixbhv//9Lz7++GPMnTu3UfJA3xHlqATXNAjp+08BjJAK6DuiHAWwpkFI33/qxEEIIUSQKIARQggRpEYJYAcOHECHDh3g5uaGFStWVEo/fvw4PDw8+K7RZS5cuABvb2906dIF3bt3x86dOxsy24QQQrRIg/dClMvliIiIwOHDhyGVSuHl5YWgoCCFYY2cnZ0RHR2Nzz//XGFfU1NTbNu2DW3btsXdu3fh4eGBQYMGwcLCoqFPgxDB8V/GITEJ8O4DJCoZPobjgC++KP139uzK+9MYiETbNHgAS05OhqurKz9OXXBwMOLj4xUCWNkUIBXnwSo/LJCdnR1atGiB7OxsCmCE1MD/iqIAbyAJAMBVSk9NBZ48UR3AqOs80TYNXoWYmZnJz18FAA4ODpXGsKuJ5ORkFBUVoW3btprMHtGAAQMG4LvvvqvRtspmoa5v0dHR6NevX4O+pxD8O6gJnjxp3HwQUlMNHsBUdW2vjbt37yIsLAxbtmzRUK60g4uLC0xMTGBhYQE7OztMmDABz549U+tYc+bMgZubGywtLdGxY0ds27aNT3vw4AF8fHxga2sLiUSCvn374o8//uDTCwsLMXPmTNjb28PGxgYREREoKSmp8/kpU9vPXujvSwjRnAavQnRwcOCnvAeAO3fuQCqV1nj/x48fIyAgAMuWLat2vieuXD2/n58f/Pz8apvdBiUSibBv3z4MGDAAd+/ehb+/P5YsWYJly5bV+lhmZmbYt28fP9fWoEGD4Orqit69e8PMzAybN2+Gq6srACA+Ph6BgYHIzs6GWCzG8uXLcfbsWVy+fBnFxcUICAjAkiVLIJNpvg1EKM+bEKKrEhMTkZiY2NjZUA9rYMXFxaxt27YsNTWVvXjxgnXr1o1dvnxZ6bbjxo1ju3fv5pcLCwvZwIED2erVq6t9H1Wn1ginXGMuLi7s8OHD/PKcOXNYYGCg0jSO41hISEiNjz106FD25ZdfVlovl8tZQkICE4vFLDs7mzHGmKenp8J1j4mJYU5OTiqPfejQIdahQwdmZWXFIiIimK+vL9u0aROfvmnTJubu7s4kEgkbNGgQS0tL49NEIhFLSUlhjDG2b98+1qNHD2ZhYcGcnJwYx3H8dkOGDGHr1q1TeN+uXbuy+Ph4xhhjV65cYa+//jqTSCSsQ4cObOfOnfx2Dx48YIGBgczCwoL16tWLLVy4kPXr10/l+Wjzd6QuwIF/KU3HyxdpuoT0/W/wKkQ9PT2sW7cO/v7+6NSpE4KDg+Hu7g6ZTIaff/4ZAHD69Gk4Ojpi9+7dmDJlCrp06QIA2LlzJ3777Tds2bIFPXr0QM+ePXHx4kWN5o9L5CCKElV6qZrFVtn26s54W15GRgb279+Pnj17qtymptVgz58/x6lTp9CpUyeF9d26dYOxsTHeeustTJo0iZ8jjDGmUDKSy+W4c+cOHj9+XOnYDx48wIgRI7Bs2TLk5OSgbdu2+P333/n0vXv34tNPP8XevXuRnZ2Nfv368RNxVmRmZoZt27bh0aNH2LdvH7766iskJCQAeDlHWJkLFy4gKysLQ4YMwbNnz+Dv74+QkBDk5OQgNjYW06ZNw5UrVwAA06ZNg4mJCe7fv49NmzbVuH1O1/gyGf9SRiZ7+VKmrjM6E6JxjR1B64uqU6vulGVHZQq/VMtesqOyGm+vatvquLi4MHNzc2Ztbc1cXFxYREQEKygo4NMqlsBCQ0NrdNywsDA2ePBgpWkvXrxgcXFxbOvWrfy6BQsWMB8fH5adnc3u3r3LevXqxcRiMbt3716l/bdu3cr69OmjsM7BwYEvgb355pvsu+++49NKSkqYiYkJS09PZ4wplsAqioyMZLNmzeLzaWNjw27evMkYY+zDDz9k77//PmOMsR07drD+/fsr7Dt58mT2ySefsJKSEmZgYMCuX7/Op3388cdNsgRWV9WV4IhuENL3n0bi0DLx8fHIzc3F7du3sXbtWhgZGVW7z9SpU/m5wD799FOFtDlz5uDy5cvYsWOH0n0NDQ0xevRoLF++HH/99RcAYP78+ejRowe6d+8OHx8fvP322zAwMECLFi0q7Z+VlaXQqxSAwnJaWhpmzJgBiUQCiUQCGxsbiEQipT1P//zzTwwcOBAtWrSAlZUVvv76a+Tk5PD5HDVqFLZv3w7GGGJjY/nJLtPS0nDy5En+PaytrRETE4P79+8jOzsbxcXFcHBw4N+n7BEOQoiw0XQqFXB+XK2ed6nt9tVhKjo1mJqaKvRIvHfvHv/3hg0bsGHDhkr7yGQyHDx4EMeOHYOZmVmV71tUVIRbt26hS5cuMDY2xpo1a7BmzRoAwMaNG+Hh4aG0ytLOzk6hUw5QWv1ZxtHREQsWLFBZbVjeu+++i+nTp+PgwYMwMDDAzJkz8eDBAz49LCwMoaGh6Nu3L0xNTfHKK6/w7+Hn54eDBw9WOqZcLoeBgQEyMjLg5uYGAJXyS3RPWf8tVf8S3UAlMIHo3r074uLiUFxcjNOnT2P37t1Vbr98+XLExsbif//7H6ysrBTS/vzzT/z+++8oKipCQUEBVqxYgX/++Qe9evUCUFqqunv3LgDg5MmTWLJkicqJJYcMGYLLly9j7969KCkpwerVqxWC65QpU7Bs2TJcvnwZAPDo0SOVeX/y5Amsra1hYGCA5ORkxMTEKKT37t0bYrEYs2fPRmhoKL8+ICAA169fx/bt21FcXIyioiKcPn0a165dg1gsxrBhw8BxHJ4/f47Lly/zszgT3ZYIxfa6istE+DQSwB4+fKjxzhRNUVWdMhYvXoybN29CIpEgKioK7777bpXHmj9/PjIyMuDq6lqpevHFixd4//33YWtrCwcHBxw4cAD79+9Hq1atAAApKSnw9vaGmZkZxo8fj88++wyvvvqq0vexsbHBrl278NFHH8HW1hYpKSnw8fHh09966y3MnTsXwcHBsLKyQteuXXHgwAHUEfeNAAAgAElEQVSl57x+/XosXLgQlpaWWLJkCUaPHl3p/cLCwvD3338jJCSEX2dmZoZDhw4hLi4OUqkUUqkUc+fOxYsXLwAAa9euxePHj/ln6yZMmFDltSO6KzGxtBRGJTHdoPZ8YH5+fkhISEBxcTE8PDzQokUL9O3bF19++aWm86gWmg9MN23btg3ffPMNjh07Vm/voavfEb9yd21VYyEq+5tfp2JGZi6RQ1RSFADAzNAMnC+H2d5KxqJqAOXPseyxz7K8cokcEhMBv3+H0aIgppyQvv9qB7AePXrg3Llz+Pbbb5GRkYGoqCh07dpVa0piFMB0z7Nnz/Dqq68iIiKi2hJoXejqd6S6CSnLVwDU5vTLBzCgNIg9nlf5kYuGUG2QVhGEyUtC+v6r3YmjuLgYd+/exc6dO7F06VJN5omQSg4dOoRhw4bB39+/Rh1CSON5Uth4gykqC1pEd6kdwBYtWoQ33ngDPj4+8PLywq1bt/ihiQjRNH9/fzyhUWa1UllP3PIlPK1VvhOHX2NlgmiK2gFs5MiRGDlyJL/cpk0b7NmzRyOZIoQIjzbMF1ZdFSLRLWoHsOzsbHzzzTdITU1FcXExv76pDtNDSFMniDYlhTxyKjYiQqF2AAsKCkK/fv3w2muvQU9PT5N5IoTUA1VjIJaph8kG6lVZaauspFVxmeg+tQPYs2fPsGLFCk3mhRBSj6q7sTeJ+/6/bWCJ4Er/K9fFHhBIKZLw1A5gAQEB2L9/PwYPHqzJ/BBCiEp+TSLKkppS+zkwc3NzPH36FIaGhjAwMCg9mEiE/Px8jWZQXfQcGFEXfUe0l6Y6aVQscSkbYqqplsaE9P1Xeyipx48fQy6Xo6CgAI8fP8bjx4+1JngJlVgsxq1btxTWRUVFKYz7V15hYSEmTpwIFxcXWFpawsPDQ2GYpitXrsDLy4sfBd7f35+fI6vs2IaGhrCwsOCHm0pNTa2Xc6tvyq4daVgNMV9YIsfxL3VxHIDEctWHFZaJcNRpNPqEhAR+SB8/Pz8EBARoJFNNlaqxEFWtLy4uhpOTE44fPw5HR0fs27cPo0aNwt9//w0nJyfY29tjz549cHJyAmMM69atQ3BwMC5cuMAfIzg4GFu3btX4ucjlcojFDTdWdE0n92wqKo6OUUbmK6u3G3X59xNsMKDnxARF7TvM3LlzsXr1anTs2BEdO3bE6tWrMXfuXE3mrcmpbbHdxMQEixYt4uffGjJkCFq3bo0zZ84AACwsLODk5AQAKCkpgVgsRkpKilp5S0pKgqOjI5YvX47mzZujTZs2CqPFjx8/HtOmTcOQIUNgbm6OxMRE5OfnIywsDC1atEDr1q0VRmyJjo6Gj48PZs2aBWtra7Rr1w4nTpxAdHQ0nJyc0KpVK4XAOn78eEydOhX+/v6wsLDAgAED+GlbfH19wRhD165dYWFhgV27dql1jk1B2WC2ypQNcqvNzUx+HMe/CFG7BLZ//36cP3+e/5U9duxY9OjRo9KEikJT3TxCtf23Id2/fx83btxAp06dFNZbW1vj6dOnkMvlWLx4sULaTz/9BFtbW9jZ2eH999/HlClTVB7/3r17yM3NRVZWFk6cOIHBgwfDy8uLH4ElNjYWv/zyC3r37o0XL15g0qRJePz4MVJTU5GdnQ1/f39IpVKMHz8eAJCcnIz33nsPubm5WLRoEYKDgzF06FCkpKQgMTERw4cPx4gRI2BiYgIAiImJwf79+/HKK69gzpw5eOedd3D8+HEkJSVBLBbjr7/+QuvWrTV5SXVOUhKQlKj8+xlVrsCmy/Gh4rkpLNNzYoJSpyrEvLw8SCQSAKXzPJHGU1xcjJCQEIwbN46fuLHMw4cP8fz5c750U2b06NGYPHkyWrZsiZMnT2L48OGwtrZWOo0JUFpNt3jxYhgYGKB///4YMmQIdu7cifnz5wMofTawd+/eAAADAwPs3LkTFy5cgImJCZydnTF79mxs27aND2CtW7fmZ1UePXo0li1bBplMBgMDA7z++uswNDTEzZs30bVrVwClJcy+ffsCAJYuXQpLS0tkZmbC3t4eQO1LsLpM2USrulDLSs94kfLUDmDz5s1Djx49MGDAADDGcOzYMSxfvlyTeWty9PT0UFRUpLCuqKiI7+U5ePBgHD9+HCKRCF9//TU/qC1jDCEhITAyMsLatWuVHrtZs2aYPHkymjdvjqtXr8LW1hYdOnTg0/v06YMZM2Zg9+7dKgOYtbU1jI2N+WVnZ2dkZWXxy2VVmQCQk5ODoqIihYDp7OyMzMxMfrlly5YK+QMAW1tbhXXlxz8sf3xTU1NIJBJkZWXxAYyQOqM2MEFRK4AxxuDj44OTJ0/i1KlTYIxhxYoV/ISIQlZl9YIay7Xh5OSE1NRUtG/fnl93+/Ztfnn//v1K9wsPD0dOTg72799f5agoJSUlePbsGTIzMxUCRZnqus+WleTKgk16ejq6dOmisH8ZW1tbGBgYIC0tjQ+UaWlpdQo2ZW1eQOnszbm5uRS8ymnsqUIaYixEGuuQlKdWJw6RSITBgwfDzs4OQ4cORVBQkE4Er8Y2evRoLFmyBJmZmWCM4ddff8XPP/+MESNGqNxnypQpuHr1KhISEmBoaKiQ9uuvv+L8+fOQy+XIz8/HrFmzIJFI4O7uDqC0F2leXh6A0vaoNWvW4K233lL5XowxyGQyFBUV4fjx43yvR2XEYjFGjRqF+fPn48mTJ0hLS8OqVatUPhJQdvyq7N+/H3/88QcKCwuxcOFC9O7dG1KpFADQqlWrJt+NPiopin81hrJqS8H2QARK28DKXkTrqV2F2LNnT5w6dQpeXl6azE+TtmjRIshkMvj4+CAvLw9t27ZFTEwMOnbsqHT79PR0bNy4EcbGxnx1XPnqxby8PHzwwQfIzMxEs2bN4OXlhQMHDvCBLi4uDhMmTEBhYSEcHBwwb948hISEqMyfnZ0drK2tIZVKYWpqiq+//prvwKGsG/uaNWvwwQcfoE2bNmjWrBnee+89vv1LmYrHqLj8zjvvgOM4nDhxAh4eHvj+++/5NI7jEBYWhoKCAmzcuLHKoN9UVTfWoRDGQqRSFylP7ZE4OnTogJs3b8LZ2RmmpqZgjEEkEtV4RuYDBw4gMjIScrkc4eHh+OijjxTSjx8/jsjISFy8eBE7duzAsGHD+LTo6GgsXboUIpEI8+fP5zsCKJwYjcShUUlJSQgNDUV6enqjvP/48ePh6OiITz75pN7fS6jfkepmXCbVKx8fm2qsFNL3X+0S2MGDB9V+U7lcjoiICBw+fBhSqRReXl4ICgpS6FTg7OyM6OhofP755wr7Pnz4EJ988gnOnj0Lxhg8PDwQFBQES0tLtfNDCBEGagMj5an9IPOCBQvg7Oys8FqwYEGN9k1OToarqyucnZ1hYGCA4OBgxMfHK2zj5OSEzp07V6pGOnjwIPz9/WFpaQkrKyv4+/srDJ9EdBONtEEaBLWBCYraJbBLly4pLJeUlPAjQFQnMzNToUu0g4MDkpOT1drX3t5eoWs2qR++vr6NVn0I0ESpNdHYMyI3RC9IKnWR8modwJYvX45ly5bh+fPnsLCw4OtKDQ0N8d5779XoGKrapup7X0J0WWP3/qOxEElDq3UAmzdvHv9S98FlBwcHhV/zd+7c4btD12TfxMREhX0HDBigdFuu3K81Pz8/+Pn5qZNdQnRCdR0UhNCBgdrANC8xMVHhniokavdCLBuFvqL+/ftXu29JSQnat2+Pw4cPw87ODq+88gpiY2P555PKGz9+PAICAjB8+HAApZ04PD09cfbsWcjlcnh6euLMmTOwsrJS2I96IRJ16ep3pHxFhbLTqy692uNrsBekqrFFE8uNT1gfAayxHwbXBkL6/qvdBrZy5Ur+74KCAiQnJ8PDwwNHjhypdl89PT2sW7cO/v7+fDd6d3d3yGQyeHl5ISAgAKdPn8bbb7+NvLw8/Pzzz+A4Dn/99Resra2xcOFCeHp6QiQSQSaTVQpehBDdRKUuUp7aAeynn35SWM7IyEBkZGSN9x80aBCuXbumsC6q3HDYnp6eCkMHlTdu3DiMGzeu5pklhJCaoDYwQanTaPTlOTg4KMz2SwhpWPVd/cVxwBdflP47e3bl9NcNZEhMAooKAVG5t5fJat6mxnEvqwnLSltcIgf4/TtUFVXxkXLUfg7sgw8+wPTp0zF9+nRERESgX79+6Nmzpybz1uS4uLjAxMQEFhYWsLOzw4QJE/Ds2TO1jjVnzhy4ubnB0tISHTt2xLZt2/i0Bw8ewMfHB7a2tpBIJOjbty/++OMPPr2wsBAzZ86Evb09bGxsEBERgZKSkjqfX2MYMGBAk+mCX9exEM3MSv8dO1Z5emoq8OSJ6mB0YjmHokOcYilGaOg5MEFRuwTm6en58iD6+hgzZgw/VxNRj0gkwr59+zBgwADcvXsX/v7+WLJkCZYtW1brY5mZmWHfvn1wdXVFcnIyBg0aBFdXV/Tu3RtmZmbYvHkzP45hfHw8AgMDkZ2dDbFYjOXLl+Ps2bO4fPkyiouLERAQgCVLlkCmgcHySkpKqhwxn2iGSFS55FPdx1c2G7OLi/L06OjSf8vNcKNg9uzSIFe2nTo4DuASq0inwELKY3Xw7NkzdvXq1bocot6oOrU6nnK9cnFxYYcPH+aX58yZwwIDA5WmcRzHQkJCanzsoUOHsi+//LLSerlczhISEphYLGbZ2dmMMcY8PT3Z7t27+W1iYmKYk5OTymOLRCK2Zs0a1qZNG9a8eXM2Z84cPm3Lli2sb9++bObMmUwikbCFCxcyuVzOFi9ezJydnVnLli3Z2LFj2aNHjxhjjKWmpjKRSMQ2b97MHB0dmUQiYV999RU7deoU69q1K7O2tmYRERGVjv/BBx8wS0tL5u7uzl+n+fPnMz09PdasWTNmbm7OPvjggxpdK23+jlQFHF6+wJhMpuHj4+VLV8lkL19NlZC+/2pXIf7000/o3r07Bg0aBAA4f/48hg4dqpGg2pi4xAr17HVcVldGRgb2799fZbVsTR/gfv78OU6dOoVOnToprO/WrRuMjY3x1ltvYdKkSfwcYYwxhW60crkcd+7cwePHj1W+x969e3H27FmcPXsW8fHxCtV2f/75J9q1a4fs7GzMnz8fmzdvxtatW5GUlIRbt27h8ePHiIiIUDhecnIybt68iR07diAyMhLLli3DkSNH8Pfff2Pnzp04fvx4peM/ePAAHMdh2LBhyMvLw5IlS9CvXz+sW7cO+fn5WLNmTY2uF6kfZSW8qtrD/DiOfxFSHbUDGMdxSE5O5ruwd+/eHampqZrKV5P11ltvQSKRoH///hgwYADmzZtX52NOmTIFPXr0gL+/v8L6Cxcu4PHjx4iJiVGo/n3zzTexevVq5OTk4N69e/wsz1W1x82dOxeWlpZwcHBAZGQkYmNj+TR7e3tMmzYNYrEYRkZGiImJwaxZs+Ds7AwTExMsX74ccXFxkMvlAEoD86JFi2BoaIjXXnsNpqamGDNmDGxsbCCVStGvXz+cO3eOP37Lli0xffp06OnpYdSoUWjfvj327dtX5+smZIxp38PIUVEvX1qrQhtYff1AJZqhdhuYvr4+jQBfD+Lj41WOLKLK1KlTsX37dohEInz88ceYO3cunzZnzhxcvnwZR48eVbqvoaEhRo8ejY4dO6J79+7o0qUL5s+fj0ePHqF79+4wNjbGpEmTcP78ebRo0UJlHhwcHPi/nZ2dkZWVxS+XH7sSALKysuDs7KywfXFxMe7fv8+vK/9ezZo14+c7K1t+Uq4hpuKszBXfv6nwZfU7FmK1bWga6CFIz3mR2lA7gHXu3BkxMTEoKSnBjRs3sGbNGnh7e2syb42i4v94dV2uLabiCXhTU1OFEtC9e/f4vzds2IANGzZU2kcmk+HgwYM4duwYzMq6mKlQVFSEW7duoUuXLjA2NsaaNWv4KreNGzfCw8OjyirLjIwMfiSV9PR0haHBKu4nlUqRlpbGL6elpcHAwAAtW7ZU+exfVSoO5pyeno6goCCl763L6vvmX93haSxE0tDUrkJcu3YtLl26BCMjI4wZMwYWFhb473//q8m8kXK6d++OuLg4FBcX4/Tp09i9e3eV2y9fvhyxsbH43//+V2mkkj///BO///47ioqKUFBQgBUrVuCff/5Br169AJSWkO7evQsAOHnyJJYsWVLtRJIrV65EXl4eMjIysHr1agQHB6vcdsyYMVi1ahVSU1Px5MkTzJ8/H8HBwRCLS7+OqoK4Kv/88w/Wrl2L4uJi7Nq1C1evXsXgwYMBlFYv3rp1q1bHIzXDcaW9HctemqBtbWCcH6cQjCsuk8aldgnMxMQES5cuxdKlSzWZnyatqtLC4sWLMWbMGEgkEvj6+uLdd99Fbm6uyu3nz58PIyMjuLq68rNll1UvvnjxAtOnT8ft27dhYGCALl26YP/+/WjVqhUAICUlBWFhYcjOzoajoyM+++wzvPrqq1XmPSgoCB4eHsjPz8f48eMxYcIEldtOmDABd+/eRf/+/fHixQsMGjRIoYNFxetQ3XKvXr1w48YN2NraolWrVtizZw+sra0BADNmzMDYsWOxYcMGhIaG0o8sUqXq4iY9SK1d1B7M9/r16/j888+RmpqK4uJifn1NxkJsCDSYb8MRi8W4efMm2rRp0+DvHR0djU2bNqkcXFod9B2pGY6r0CGDq3owXyGMdg+oHki49Bk17uV2OhrAhPT9V7sENnLkSEyZMgUTJ06kB1MJaYIqdokXVdO7UJuDVo1RG5lWqVMvxKlTp2oyL0SgmlJHCW3W2HNlaWJG6MY+ByIsalchchyHFi1a4O2334aRkRG/XiKRaCxzdUFViERdQv2OaHI+rsai7QGMqhC1i9olsOh/BzwrPy+YSCSiHl+EELVpY9Ai2kvtAHb79m1N5oMQQrQftYFpFY3NB0YIIVWpSS9Eba9CJNqlyQUwZ2dn6nRAqlR+mCuiOeW73As2Nim0e3EqNiINpckFMBpwmAjVF398AS6Jw5PC0nEgZb4yhY4E9T0WYnVoLETS0GodwM6ePVtlOs3KTEj9KB+8lGnsm79OjIVYHWoD0yq1DmCzZ88GABQUFOD06dPo1q0bGGO4ePEiPD09ceLECY1nkhCCKoOX0JR/CLr8v9QGRmqj1oP5Hj16FEePHoWdnR3Onj2L06dP48yZMzh37lylaS0IIfWEY4gawPED6dK9voFUmC+MNC6128CuXbuGLl268MudO3fGlStXarz/gQMHEBkZCblcjvDwcHz00UcK6YWFhQgLC8OZM2dga2uLHTt2wMnJCcXFxZg4cSLOnj2LkpIShIaGKsx/RYiukvnKkJgIJCU1dk7UUzafWGKi6m2o1EVqQ+0A1rVrV0ycOBEhISEQiUTYvn07unbtWqN95XI5IiIicPjwYUilUnh5eSEoKAgdOnTgt9m0aRMkEglu3LiBHTt24D//+Q/i4uKwa9cuFBYW4uLFi3j+/Dk6duyId955B05OTuqeCiGCwPlx4BKBpMTGzknd+PkJZ2DfSqgNTKuoHcA2b96MDRs2YPXq1QCA/v3713hsxOTkZLi6uvLdlYODgxEfH68QwOLj4xH1b7/bESNG4IMPPgBQOtrH06dPUVJSgmfPnsHIyAgWFhbqngYhglJxAF1toomxEJvCUE1Ec9QOYMbGxpgyZQoGDx6M9u3b12rfzMxMhWnmHRwckJycrHIbPT09WFpaIjc3FyNGjEB8fDzs7Ozw/PlzrFq1qtKEjYSQhlddwNHWwFsr9ByYVlE7gCUkJGDOnDkoLCzE7du3cf78eSxatAgJCQnV7qtqkN2qtimblDE5ORn6+vq4d+8eHjx4gH79+uG1116Di4uLuqdCCNESVOoitaF2AIuKikJycjL8/PwAlE55X9OHhB0cHJCens4v37lzB1KpVGEbR0dHZGRkQCqVoqSkBPn5+bC2tkZMTAwGDRoEsViM5s2bo2/fvjh9+rTSAMaV+8nn5+fH55UQ0vAE2+5Vng62gSUmJiKxqp41WqxO84FZWlqqta+Xlxdu3ryJtLQ02NnZIS4uDrGxsQrbBAYGIjo6Gr169cKuXbswcOBAAICTkxOOHDmCd999F0+fPsXJkycxc+ZMpe/DCfb/EkIqE/ozUmX3yFQXDkh8Wdoqa/cq7aTC8dtTaaxhVPxxHxVVzcykWkTtANa5c2fExMSgpKQEN27cwJo1a+Dt7V2jffX09LBu3Tr4+/vz3ejd3d0hk8ng5eWFgIAAhIeHIzQ0FK6urrCxsUFcXBwA4P3338f48ePRuXNnAEB4eDj/NyG6LElhymOusbKhNr77v5CHIqU2MK2idgBbu3Ytli5dCiMjI7zzzjt44403sHDhwhrvP2jQIFy7dk1hXfnIb2RkhJ07d1baz9TUVOl6Qkjj0kTpiUpdpDbUnpF5165dGDlyZLXrGouQZhUlpCa0fcbl6vInGsC9TD/KVUoXAp1ox6uGkO6dtR5Kqszy5ctrtI4QQgipD7WuQvzll1+wf/9+ZGZmYvr06fz6/Px86Os3udlZCCE1Vb4Hn1BRG5hWqXXEkUql8PT0REJCAjw8PPj15ubmWLVqlUYzRwh5qbHn+6ormbCzT7RQrQNYt27d0K1bN9y/fx9jx45VSFu9ejVmzJihscwRQl4SYtf58hIVSiyciq20nA4+ByZkareBlXVrL2/Lli11yQshRMBkvjL+RUhDqHUvxNjYWMTExOC3335Dv379+PWPHz+Gnp4efv31V41nUh1C6klDCBGGpvCgtZDunbWuQvT29oadnR1ycnL42ZmB0jawmk6nQgghhNSV2s+BaTsh/YogpCkQ+lBYAD0Hpm1qXQLz8fHBb7/9BnNzc4UR5MtGi8/Pz9doBgkhpYQSALhEDlFJlcfTs0wdCyu4NHyGiM6qdQD77bffAJS2eRFCGo7Qx0J8lOaCR2VtSFsaMSN1Qc+BaZU6PXn88OFDZGRkoLi4mF/Xs2fPOmeKEEIIqY7abWALFy7Eli1b0KZNG4jFpb3xRSIRjhw5otEMqktI9biE1IS2j4VYHV0aCzERHPz8lE8JI3RCuneqXQLbuXMnUlJSYGhoqMn8EEIIITVSp/nA8vLy0KJFC03mhxCiq3RgLMSyEhiXqCK9CTwnpk3UDmDz5s1Djx490LlzZxgZGfHrExISNJIxQogioY2FyN/s//3X2TcRAODilwihd4CoGJwqViWShqF2G1inTp0wefJkdOnShW8DAwBfX1+NZa4uhFSPS4guqPiMVMUAJhrnV/pH6yRBtuEB9ByYtlG7BGZiYqIwnQohhBDSkNQugc2aNQtGRkYYOnSoQhWitnSjF9KvCEKaAqH3oqwJXWgDE9K9U+0S2Llz5wAAJ0+e5NdpUzd6Qgghuo3GQiSEaER17UO6UAKjNjDtovZ8YPfv30d4eDjefPNNAMDly5exadMmjWWMEF3zxReAuTkgEim+VN0IOa7CtgM4dI/kFMZE1EaJ4BSr0hJLl52ZL//SBeU7qihbJvVP7SrEcePGYfz48Vi6dCkAwM3NDaNHj0Z4eLjGMkeILuE44MmTOhzALwoXXh6trtnRuOqekUqLKpfA1W9e6kt1JbDS4P1vukDbwIRE7RJYTk4ORo0axXeh19fXh56eXo33P3DgADp06AA3NzesWLGiUnphYSGCg4Ph6uqKPn36ID09nU+7ePEivL290blzZ3Tr1g2FhYXqngYhDWb2bGDs2MbOhXaoquRJSE2p3Qbm5+eHPXv24PXXX8fZs2dx8uRJfPTRR0hKSqp2X7lcDjc3Nxw+fBhSqRReXl6Ii4tDhw4d+G02bNiAv/76C+vXr8eOHTvw448/Ii4uDiUlJejZsye+//57dO7cGQ8fPoSVlZXC1C6AsOpxCakJbW9Dqm66F3NzxRKoTFY5iAm9jUno+QeEde9UuwT25ZdfYujQoUhJSUHfvn0RFhaGtWvX1mjf5ORkuLq6wtnZGQYGBggODkZ8fLzCNvHx8Rj778/VESNG8L0bDx06hG7duqFz584AAGtr60rBixCifTgOMDOrepuoqJcvQqqjdhtYz549kZSUhGvXroExhvbt28PAwKBG+2ZmZsLR0ZFfdnBwQHJysspt9PT0YGlpidzcXFy/fh0AMGjQIOTk5GD06NGYM2eOuqdBCNGQ6ibZnD279KXTaL6wBlWn+cD09fXRqVOnWu+nrHhasRRVcZuyGZ+Li4vx+++/4/Tp0zA2Nsarr74KT09PDBgwoNb5IERIZL7CGguxIl14yJdolzoFMHU5ODgodMq4c+cOpFKpwjaOjo7IyMiAVCpFSUkJ8vPzYW1tDQcHB/j6+sLa2hoAMHjwYJw9e1ZpAOPK/SL08/ODn59fvZwPIQ1B22/61bWBRSW9rBfU9nNRW/nBfP0aKxO1k5iYiMTExMbOhloaJYB5eXnh5s2bSEtLg52dHeLi4hAbG6uwTWBgIKKjo9GrVy/s2rULAwcOBAC88cYbWLlyJQoKCqCvr4+kpCTMmjVL6ftwQm1FJTpJFxr4ie6p+OM+SkANkHUKYJmZmUhLS0NxcTG/rn///tXup6enh3Xr1sHf3x9yuRzh4eFwd3eHTCaDl5cXAgICEB4ejtDQULi6usLGxgZxcXEAACsrK8yaNQuenp4Qi8UYMmQI/zA1Idqs/H1BFwNYdW1gNSETdi0ptYE1MLW70X/00UfYsWMHOnbsyD//JRKJtGY+MCF1BSVNQ/lm3qb41dT2xwA0QRfa+YR071S7BLZ3715cu3ZNYSR6QohmcImcQptRGZmvTGtvjNW1gTUJAmwDEzK1A1ibNm1QVFREAYwQUiNC70VJtE+dJrTs3r07Xn31VYUgtmbNGo1kjBAiLNWVurS15KhR1AbWoNQOYEOHDsXQoUM1mRdCdFptOihwflzTuOETUgd1mg+ssLCQHxmjNiNxNDvTihMAABx2SURBVAQhNUQSogs00QYm9EcNhJ5/QFj3TrVLYImJiRg7dixcXFzAGENGRgaio6Nr1I2eEFKZLvRgqytdf9SAaJbaJTAPDw/ExMSgffv2AIDr169jzJgxOHPmjEYzqC4h/YogBBBWN3N+7i8V/6pL6I8a6MKPECHdO9UugRUVFfHBCyid0LKoqEgjmSKE6B5duLkT7aJ2APP09ORHywCA77//Hh4eHhrLGCFEu1RXuqpuNmIaC5FomtoBbMOGDfi///s/rFmzBowx9O/fH9OmTdNk3gjRKbrQwF9G2USUZcGLkIZSp16I2kxI9bikaaiufUdQbWD/ljTKSlIVl5WpyfkJPcjrQjWpkO6djTIaPSFC9MUfX4BL4vCk8AkA1cM6qRoGCn4yxSqmCmikCmEGLdJ4KIARUkPlg1ddmJmpOL6W/2Iv/5wXTa2nArWBNSgKYITUUHXBq+z+nggAIuXbmJnpRimjYrCtSfClEibRNLXbwK5fv46VK1dWmg/syJEjGstcXQipHpcIQ3VtOEJ/honUHbWBNSy1S2AjR47ElClTMGnSJH4+MEJ0GZUgCNEudRqJQ1tG3VBGSL8iiG7Q9RJYQ8z3JfheiJzyv4VESPdOtUtggYGBWL9+Pd5++22F6VQkEolGMkaIrqmuekkXqp/qisZCJLWhdgmsdevWlQ8mEuHWrVt1zpQmCOlXBNENdX3OS0jPgdUXoZdideFHiJDunWqXwG7fvq3JfBAieLWZ76sp0oWbO9EudRrMd8OGDTh27BgAwM/PD5MnT9aqOcEIaUi6XuVV1zYwGguRaJraAWzq1KkoKirixz/ctm0bpk6dim+//VZjmSNEm1AJghDtonYAO3XqFC5cuMAvDxw4EN26ddNIpgjRRk2iBFGF+up5WJ7gq2EVvhecio2IpqgdwPT09JCSkoK2bdsCAG7dulWr58EOHDiAyMhIyOVyhIeH46OPPlJILywsRFhYGM6cOQNbW1vs2LEDTk5OfHp6ejo6deqEqKgozJo1S93TIKTBVPccGT1npvvVsESz1A5gK1euxIABA9CmTRswxpCWlobNmzfXaF+5XI6IiAgcPnwYUqkUXl5eCAoKQocOHfhtNm3aBIlEghs3bmDHjh34z3/+g7i4OD591qxZGDx4sLrZJ6TBVVdq0/ZSXUM8ByZ4/1YzJ4Ir/a8Wo/WT2lM7gL366qu4ceMGrl27BsYYOnTooPA8WFWSk5Ph6uoKZ2dnAEBwcDDi4+MVAlh8fDyi/n0oZMSIEYiIiFBIa9u2LUxNTdXNPiEapwsPsdYnKmESTat1ADty5AgGDhyIH374QWF9SkoKAGDYsGHVHiMzMxOOjo78soODA5KTk1Vuo6enBysrK+Tm5sLY2BifffYZ/ve//2HlypW1zT4h9UbXH8Kta6mrKZQ+yi6Rqsk9qSOQZtU6gCUlJWHgwIH46aefKqWJRKIaBTBlD8mJRKIqt2GMQSQSQSaTYebMmTAxMVF5LELqQ1MrQfA3YxX/EtVUjdZfPoCRuqt1ACur1lu0aFGl0Thq+nCzg4MD0tPT+eU7d+5AKpUqbOPo6IiMjAxIpVKUlJQgPz8f1tbW+PPPP7Fnzx785z//wcOHD6Gnp4dmzZrx3fnL4xTmL/KDH01iROqgql/MunBTr64KNPHfXnVcYv2VHoReDVtd/rWx1JWYmIjExMTGzoZa1G4DGz58OM6ePauwbsSIETUa4NfLyws3b95EWloa7OzsEBcXh9jYWIVtAgMDER0djV69emHXrl0YOHAgAPAPTgOlwdTc3Fxp8AIUAxghdVXTm6vKCStpLMRq6Xo1rDaq+OM+KkrJbOJaqtYB7OrVq7h06RIePXqk0A6Wn5+PgoKCGh1DT08P69atg7+/P9+N3t3dHTKZDF5eXggICEB4eDhCQ0Ph6uoKGxsbhR6IhDSGmtxcq5qwsrrnyBr7ObOK+a64TD0Pq1fdJaIfKZpV68F84+PjsXfvXiQkJGDo0KH8enNzcwQHB8Pb21vjmVSHkAakJMJQ14Fmm/pgvjW5eQt9MF+g6rZDIQQwId07a10CCwoKQlBQEE6cOIE+ffrUR54IIY2A4162c5WVtso/v1TXm29jlzC1Ao2VqFFidXf86quvkJeXxy8/fPgQEyZM0EimCNFKftzLFyGk0andiePixYuwsrLil62trXHu3DmNZIoQreRXvnGba6xc1JvSKq4q0jUYuLlETunxfGUcTuAL+IIDMFtj79eQqmxLpLESNUrtACaXy/Hw4UNYW1sDAHJzc1FcXKyxjBGia4QwFqKq55c0wczQDE8Kn1S5jUv3VCRdeIIThhyEGsBIw1E7gM2ePRve3t4YMWIEAGDXrl2YP3++xjJGiK7R9rEQ63usQ86XA5fEVRnEoi9EA0C1gU6wqA1Mo9QOYGFhYfDw8MDRo0fBGMMPP/yAjh07ajJvhBAdMtt7NmZ7U6mKaI7aAQwAOnXqhObNm/PPf6WnpytMeUIIEQ56zqsBUBuYRqkdwBISEjB79mxkZWWhRYsWSEtLg7u7Oy5duqTJ/BGiNbShjYoQ8pLaAWzhwoU4efIkXnvtNZw7dw5Hjx7F9u3bNZk3QrRKY7dR1TdtmO/Ll+n4jwRqA9MotQOYgYEBbGxsIJfLIZfLMWDAAERGRmoyb4RolboONEtjIVYvKYp7ucCp2oqQUrUeSqrMa6+9hr1792LevHnIyclBixYtcOrUKfzxxx+azqNahDQcChEGGkqq/unCUFJVEcKPFCHdO9UeiSM+Ph4mJiZYtWoVBg0ahLZt2yqdI4wQop04rnKpkvpxECFRqwqxpKQEAQEBOHr0KMRiMcaOHavpfBFCNEwb5vtq8qgNTKPUCmB6enoQi8V49OgRLC0tNZ0nQrQTdYFuGH4c4BcFUYVpqWS+MgqsRIHanTjMzMzQpUsXvP766zA1NeXXr1mzRiMZI0Tr1HEsxLKhlMZ2U15jMbbbWERfiIaZoYoZMetIoQSWyAF+ilPd+/k1fslLJgMSASQ1ai7qEf0I0ii1A9iwYcMwbNgwTeaFEJ1WNpSSi5WL0nQXKxeYGZqB8+UaNF/apGxA4SSdjWDk/9u795gozvUP4N8toqdCVPBWcCmr7VrAIgoi6S/GXW/QCEpRJEsNSotptWrUWMU2sTukNWprm/QS2mi09dKyKNhS2oaoyFD1oCReGq8VUsGyNs1JORxrFRdhfn8sO+6Vve/M7D6fZFJn9p2dl7e78+x7HV9yexSiVFbbkNJIGiINUh8laD7Py/QEefMamPm+WDCM5ZOwgcdPvd4owVWpvJ2KEQhSune6XQN76aWXcOHCBQDA4sWLUV1d7fNMEUL8y5+rzvvbvXvSDWDEt9wOYOaR+bfffvNpZggh/hMUax2qGaSkAMZHETICZ8YD1AfmU24HMJnZTEPzfxMS7GgtxMCznpsmKyvDL49fDXR2iMi4HcB++eUXDBs2DBzH4cGDBxg2bBgAY81MJpPh7t27Ps8kIWIgpWY2e8Sw1mHIo3lgPuV2AOvt7fVHPggRPSl0wBMSSjxeC1HspDSShkhDsK/TJwVSHwlKayH6lsdrIXqrrq4OCQkJmDhxInbu3GnzusFggEajgVKpxAsvvIDbt28DAE6cOIFp06YhJSUF6enpaGhoCHTWCSGEiIBXT2T2VF9fH9asWYP6+nrExsYiPT0dubm5SEhI4NPs3bsX0dHRaGlpQWVlJTZv3gydTofRo0fjhx9+wFNPPYWrV68iKysLHR0dQvwZhIiOqWnT3n+DoQ9M8s8Loz4wnxIkgDU3N0OpVCI+Ph4AoNFoUFNTYxHAampqUNY/gzE/Px9r1qwBAKSkpPBpJk2ahIcPH6Knpwfh4eEB/AtISJLIEGgWjMWCvKb9YGDveWEMy6Cs8fFsZ9NqJhv/jyaKBTtBApher0dcXBy/L5fL0dzc7DBNWFgYRowYgc7OTkRHR/NpqqqqMHXqVApeJDC8XAtRaFKtdbnrnuEemEaRBjCrH0HWK6CIdUUUsRKkD8xeB6H1nDLrNKZh+iZXr17FW2+9hd27d/snk4RIEMM8XibK3n6ouGe4J3QWSAAIUgOTy+X8oAwA6OjoQGxsrEWauLg4/P7774iNjUVvby/u3r2LqKgoPv2iRYtw8OBBKBQKh9dhLNZ+U0Mdit9kEjIc9XEF+695Rs3Y1GBES4R9YCzLgmVZobPhEUGG0ff29uK5555DfX09YmJiMH36dFRUVCAxMZFPU15ejitXrqC8vBw6nQ7fffcddDodurq6oFarodVqkZeX5/AaUhoKSqRB7EO4g2GQhjNSn8oghbmEUrp3CjYPrK6uDuvWrUNfXx9KSkqwZcsWaLVapKenIycnBw8fPkRRUREuXryIkSNHQqfTQaFQYNu2bdixYweUSiXfrHjs2DGMGjXK8g+T0P8EIg1iD2ChQAoBwBtimCcmpXsnTWQmxIq9R3gAgErL2DyGhAjP+v+X2B+3MtBUBwpg7hGkD4wQKVKDAaMWOheOhUIToisk/bgVEfaRiZlgK3EQQoi/3KNBiCGBmhAJkSCaP2Sf1Guh1IToHqqBESJRLGs5kMF6PxQ1ysr4jQQ/6gMjPmFazsffy/hYLxtkolVpffqLNVDXcYd57YKmNDonK5MJ+v/LI9QH5haqgRGXMSzDb46YlvGRAoYxzisy34qLpVGLYdQM1GbLWVnvh6rIwZFCZ4EEENXAiMvMayQD/aqV8jI++/cbh2FvVAudE1vWfTrWgVYKgdffGBUDppFx+BkUQx/TgCSyYLRY0CAO4jJnE3nFMtHX0TwurdZ2Iqx1OrHPISLeEctn1BExBFgp3TupBkZCFsNIq9Yi9RF2gSD5lTqoD8wtFMCIz2hVwj5s0PTrlTXueXw+IGzzkqOVGohz5jVqKrfgRwGM+IzQfQp8H50M4Dj38+JqH18g2HsopVotfL6In1EfmFsogBGXiaWGBdCNnBBCAYy4QeigIaYakj84mudlXOQ1wJkJUkL/CHOK+sDcQgGMEBGyDtDBGLCFQOUYXCiAESIAU23LNJrQep94RuuggmU+ZULUUyWoD8wtFMCIzwjeR8Wa3b08aCkSffMSccqV+C+Vx63Qgs3OUQALctZr+vlzrULz65j+7WgtOkdrDYb/W4ueY4/TW08+HtAAS1y5wt83BjXVrkRDtI9bsegDYxylIv0ogIUY01qFngQwZzWsyMGRXi8j1WNw/Fow1ZCsmwqp6dC/TJPWZTJnKYmUUAALQY6CzIcfGr/k5r9OzWtAFjUmlrFdrukFBoMzGRhkzt9fpQXg5s1ESk0n1MclTiotY7bHOEglHIvJ6yxjNZmdAdQMNSWaoQAWROzVkBg1Y9OG7vB8xsumlaaNeCtzI5gBOtJN768GA9biZtL/JVUZN3v3eWfLBDnqwCfExPI5YYxQ2SA+QgEsiDibJ+XsF5u/+wWcvb+zyol5jc/0b/MaYiAqN46WeWIY6uMiAUDzxCxQACM88xqMs3uxtwvhenJuZOTAQdDbUZCunm9vmSfricbUx0W8Yf1xoXUx7aMARnhi/3KYgqajIObtSh3enk9BivgdzROzIFgAq6urw/r169HX14eSkhKUlpZavG4wGLBs2TKcP38eo0aNQmVlJZ5++mkAwPbt27Fv3z4MGjQIH3/8MTIzM4X4EwLO3iALwM2h5l7wdhSgsz4qZzWgv9MYbKx1/LqvORqIQcs8BQfrEYmB+h4R3xEkgPX19WHNmjWor69HbGws0tPTkZubi4SEBD7N3r17ER0djZaWFlRWVmLz5s3Q6XS4du0aDh8+jOvXr6OjowNz585FS0sLZCEwPtbrQRYuYFkWavM7tPn1vQwaTvu4nNSAfLEW4oCjA2+pXHoPe8s8sSzrUX5C3UCfN3/QqrRgWaCxMWCX9C2WQVsbizYFCwa2A7RCbWTiE0JctLm5GUqlEvHx8QgPD4dGo0FNTY1FmpqaGixfvhwAkJ+fj5MnTwIAvv/+e2g0GgwaNAgKhQJKpRLNzc0B/xuEsHEj0F8kdmlVWn6zh2EZfnPEmxsxwwDFxcZftuZbwH/V3lJZLozLMH4fYEEBzDOBLjdGzUANxutJ70Jqa2MBACxr+d2y3g8FggQwvV6PuLg4fl8ul0Ov1ztMExYWhuHDh6Ozs9Pm3HHjxtmc62+efulcPc9ROmOAYMFxsNhMH1o11BbD5q3fq6yxDGVflVnUZHx5A/nwQ2D/fsevm1/LOqiorWpA5q+zLDvg6/z5TSkOr93V1ub8+PhGfmNZFizD8DU1e/uBItTnbaDX7B135ZgYyo1hYPMdMv8euZJHZ2n8VW4MY2zCdlRpNQ4oGvhHajARpAmR4zibY9ZNgI7SuHIuf3wWAwDQqowTAhXri9He1Wa8SQGPb4jtauMvMrWL6VkA7azr6U3vH88A49XevT/LAnntFum1xcbA9dJ6Bv9KUOPPSuN5UDPALRbaYtb45bylAi61AePbISuTYfit5fgf22a8Vn/6iP+wYMEY58uY8tOfv/j/LodihMLh5NwxBQzutwF9J82uD8DU2VzMMFCo1W4PdnD1pje8C1iv0uKr/7ZZHG/rakP7JRayMhk/eVpWVgatSouXFAow/fkxr7laN2052/cnT6/l6nkDpXP0mr3jrhwTU7k5Ws4svkGF9kbW5rhKyzyeR9YAYFb/cU6LxjLG+upQaVmreWfG81Rq6/QsALWT9wcsxs2XMYhXsSgDgzLTnBJWCyhYXPpKgf+1K1BmukZ/MIvXqtEuawQa+j/ns8r6/94GtDeqpbl0FSeApqYmLisri9/fvn07t2PHDos0L774Inf27FmO4zju0aNH3OjRo+2mzcrK4tOZA0AbbbTRRpsHm1QIUgNLT09Ha2sr2tvbERMTA51Oh4qKCos0CxYswP79+5GRkYEjR45g9uzZAICFCxdi6dKl2LBhA/R6PVpbWzF9+nSba3B2amqEEEKChyABLCwsDJ999hkyMzP5YfSJiYnQarVIT09HTk4OSkpKUFRUBKVSiZEjR0Kn0wEAkpKSUFBQgKSkJISHh6O8vDwkRiASQgixJOOoqkIIIUSCBBmFSAghhHgrpALYjRs3sGrVKhQUFOCLL74QOjuSUVNTg9deew2FhYU4fvy40NmRjFu3bmHFihUoKCgQOiuScf/+fRQXF+P111/HN998I3R2JCNUP2sh2YTIcRyWL1+OAwcOCJ0VSenq6sKmTZuwZ88eobMiKQUFBTh8+LDQ2ZCEQ4cOISoqCtnZ2dBoNHzfN3FNqH3WJFkDKykpwdixYzF58mSL43V1dUhISMDEiROxc+dOu+fW1tYiJycH8+fPD0RWRcWbcgOA9957D6tXr/Z3NkXH23ILZe6WXUdHh8UCBqGKPnMuEnIMv6dOnTrFXbx4kUtOTuaP9fb2cs888wzX1tbGGQwGLiUlhbt+/TrHcRx34MABbsOGDdydO3f49NnZ2QHPt9A8LTe9Xs+VlpZy9fX1QmVdUN5+3vLz8wXJtxi4W3aHDh3ifvzxR47jOK6wsFCQPIuBu+VmEmqfNUnWwGbMmIGoqCiLYwOtr1hUVISPPvoIN2/exLp167By5UpkZ2cLkXVBeVpu1dXVqK+vR1VVFXbv3i1E1gXlabkNGTIEq1atwqVLl0L217K7ZZeXl4eqqiqsXr0aCxYsECLLouBuuXV2dobkZy1ongdmb31F60V+VSoVVCpVoLMmaq6U29q1a7F27dpAZ03UXCm36OhofP7554HOmugNVHZDhw7Fvn37hMqaqA1UbqH6WZNkDcwezo01EsljVG6eoXLzHJWdZ6jcbAVNAJPL5bh9+za/39HRgdjYWAFzJA1Ubp6hcvMclZ1nqNxsSTaAcRxn8YvEfH1Fg8EAnU6HhQsXCphDcaJy8wyVm+eo7DxD5eYCAQaOeK2wsJCLiYnhBg8ezMXFxXH79u3jOI7jfvrpJ27ixIncs88+y23fvl3gXIoPlZtnqNw8R2XnGSo314TkRGZCCCHSJ9kmREIIIaGNAhghhBBJogBGCCFEkiiAEUIIkSQKYIQQQiSJAhghhBBJogBGCCFEkiiAkZATFhaG1NRUTJ06FampqXj//feFzhJvyZIlaGtrAwAoFAqbxaenTJli84woaxMmTEBLS4vFsQ0bNmDXrl24cuUKXnnlFZ/mmRChBM1q9IS4KiIiAhcuXPDpe/b29nr9AMZr166hr68PCoUCgHGh1r///ht6vR7jxo3DjRs3XFq8tbCwEDqdDlu3bgVgXJKoqqoKTU1NkMvl0Ov16OjogFwu9yq/hAiNamAk5DhafGb8+PFgGAZpaWlISUnBzZs3AQD3799HSUkJMjIykJaWhtraWgDA/v37kZubizlz5mDu3LngOA5vvPEGkpKSkJmZiezsbBw9ehQnT57EokWL+OucOHECixcvtrn+119/jdzcXItjBQUF0Ol0AICKigq8/PLL/Gt9fX3YvHkzMjIyMGXKFOzZswcAoNFoUFFRwaf7+eefMX78eD5g5eTk8O9JiJRRACMh58GDBxZNiEeOHOFfGzNmDM6fP4+VK1di165dAIBt27Zhzpw5OHfuHE6ePIk333wTDx48AABcvHgRR48eRUNDA44ePYrbt2/j2rVrOHjwIJqamgAAs2fPxo0bN/DXX38BAL788ku8+uqrNvk6c+YM0tLS+H2ZTIb8/Hx8++23AIDa2lqLhzzu3bsXI0aMwLlz59Dc3Izdu3ejvb0dycnJCAsLw+XLlwEAOp0OhYWF/HnTpk3DqVOnfFKWhAiJmhBJyBk6dKjDJsS8vDwAQFpaGh84jh07htraWnzwwQcAAIPBwD/WYt68eRg+fDgA4PTp01iyZAkAYOzYsZg1axb/vkVFRTh06BCKi4tx9uxZHDx40Obaf/zxB0aPHm1xLDo6GlFRUaisrERSUhKefPJJ/rVjx47h8uXLfAC+e/cuWlpaEB8fD41GA51Oh6SkJNTU1ODdd9/lzxszZgzu3LnjRokRIk4UwAgxM2TIEADGgR6PHj0CYGxyrK6uhlKptEh79uxZRERE8PsDrYtdXFyMBQsWYMiQIViyZAmeeMK28WPo0KHo7u62OV5QUIDVq1fjwIEDFsc5jsOnn36KefPm2ZxTWFiIzMxMzJw5EykpKRg1ahT/Wnd3t0UgJESqqAmRhBx3H8CQlZWFTz75hN+/dOmS3XQzZsxAdXU1OI7Dn3/+CZZl+ddiYmIQGxuLbdu2obi42O75iYmJaG1ttclnXl4eSktLkZmZaZOv8vJyPtC2tLTwTZsTJkzAyJEjsWXLFovmQwC4efMmnn/+edf+eEJEjAIYCTnd3d0WfWBvv/02AMePZ9+6dSt6enowefJkJCcn45133rGbbvHixZDL5Zg0aRKWLVuGtLQ0vnkRAJYuXYq4uDgkJCTYPX/+/PloaGjg9035iYyMxKZNmzBokGWDyYoVK5CUlITU1FQkJydj5cqVfDADjLWwX3/9lW8WNWloaEB2draj4iFEMuh5YIT40D///IOIiAh0dnYiIyMDZ86cwZgxYwAAa9euRWpqqsN5WN3d3Zg9ezbOnDnj0nB5TxgMBqjVapw+fdpuMyYhUkIBjBAfmjVrFrq6utDT04PS0lIUFRUBMI78i4yMxPHjxxEeHu7w/OPHjyMxMdFvc7RaW1tx584dzJw50y/vT0ggUQAjhBAiSdSGQAghRJIogBFCCJGk/wddfmI+3IqsCwAAAABJRU5ErkJggg==",
|
|
"text/plain": [
|
|
"<IPython.core.display.Image object>"
|
|
]
|
|
},
|
|
"execution_count": 1,
|
|
"metadata": {
|
|
"image/png": {
|
|
"width": 350
|
|
}
|
|
},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"from IPython.display import Image\n",
|
|
"Image(filename='images/mdgxs.png', width=350)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"A variety of tools employing different methodologies have been developed over the years to compute multi-group cross sections for certain applications, including NJOY (LANL), MC$^2$-3 (ANL), and Serpent (VTT). The `openmc.mgxs` Python module is designed to leverage OpenMC's tally system to calculate multi-group cross sections with arbitrary energy discretizations and different delayed group models (e.g. 6, 7, or 8 delayed group models) for fine-mesh heterogeneous deterministic neutron transport applications.\n",
|
|
"\n",
|
|
"Before proceeding to illustrate how one may use the `openmc.mgxs` module, it is worthwhile to define the general equations used to calculate multi-energy-group and multi-delayed-group cross sections. This is only intended as a brief overview of the methodology used by `openmc.mgxs` - we refer the interested reader to the large body of literature on the subject for a more comprehensive understanding of this complex topic."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"### Introductory Notation\n",
|
|
"The continuous real-valued microscopic cross section may be denoted $\\sigma_{n,x}(\\mathbf{r}, E)$ for position vector $\\mathbf{r}$, energy $E$, nuclide $n$ and interaction type $x$. Similarly, the scalar neutron flux may be denoted by $\\Phi(\\mathbf{r},E)$ for position $\\mathbf{r}$ and energy $E$. **Note**: Although nuclear cross sections are dependent on the temperature $T$ of the interacting medium, the temperature variable is neglected here for brevity."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"### Spatial and Energy Discretization\n",
|
|
"The energy domain for critical systems such as thermal reactors spans more than 10 orders of magnitude of neutron energies from 10$^{-5}$ - 10$^7$ eV. The multi-group approximation discretization divides this energy range into one or more energy groups. In particular, for $G$ total groups, we denote an energy group index $g$ such that $g \\in \\{1, 2, ..., G\\}$. The energy group indices are defined such that the smaller group the higher the energy, and vice versa. The integration over neutron energies across a discrete energy group is commonly referred to as **energy condensation**.\n",
|
|
"\n",
|
|
"The delayed neutrons created from fissions are created from > 30 delayed neutron precursors. Modeling each of the delayed neutron precursors is possible, but this approach has not recieved much attention due to large uncertainties in certain precursors. Therefore, the delayed neutrons are often combined into \"delayed groups\" that have a set time constant, $\\lambda_d$. Some cross section libraries use the same group time constants for all nuclides (e.g. JEFF 3.1) while other libraries use different time constants for all nuclides (e.g. ENDF/B-VII.1). Multi-delayed-group cross sections can either be created with the entire delayed group set, a subset of delayed groups, or integrated over all delayed groups.\n",
|
|
"\n",
|
|
"Multi-group cross sections are computed for discretized spatial zones in the geometry of interest. The spatial zones may be defined on a structured and regular fuel assembly or pin cell mesh, an arbitrary unstructured mesh or the constructive solid geometry used by OpenMC. For a geometry with $K$ distinct spatial zones, we designate each spatial zone an index $k$ such that $k \\in \\{1, 2, ..., K\\}$. The volume of each spatial zone is denoted by $V_{k}$. The integration over discrete spatial zones is commonly referred to as **spatial homogenization**."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"### General Scalar-Flux Weighted MDGXS\n",
|
|
"The multi-group cross sections computed by `openmc.mgxs` are defined as a *scalar flux-weighted average* of the microscopic cross sections across each discrete energy group. This formulation is employed in order to preserve the reaction rates within each energy group and spatial zone. In particular, spatial homogenization and energy condensation are used to compute the general multi-group cross section. For instance, the delayed-nu-fission multi-energy-group and multi-delayed-group cross section, $\\nu_d \\sigma_{f,x,k,g}$, can be computed as follows:\n",
|
|
"\n",
|
|
"$$\\nu_d \\sigma_{n,x,k,g} = \\frac{\\int_{E_{g}}^{E_{g-1}}\\mathrm{d}E'\\int_{\\mathbf{r} \\in V_{k}}\\mathrm{d}\\mathbf{r} \\nu_d \\sigma_{f,x}(\\mathbf{r},E')\\Phi(\\mathbf{r},E')}{\\int_{E_{g}}^{E_{g-1}}\\mathrm{d}E'\\int_{\\mathbf{r} \\in V_{k}}\\mathrm{d}\\mathbf{r}\\Phi(\\mathbf{r},E')}$$\n",
|
|
"\n",
|
|
"This scalar flux-weighted average microscopic cross section is computed by `openmc.mgxs` for only the delayed-nu-fission and delayed neutron fraction reaction type at the moment. These double integrals are stochastically computed with OpenMC's tally system - in particular, [filters](../usersguide/tallies.rst#filters) on the energy range and spatial zone (material, cell, universe, or mesh) define the bounds of integration for both numerator and denominator."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"### Multi-Group Prompt and Delayed Fission Spectrum\n",
|
|
"The energy spectrum of neutrons emitted from fission is denoted by $\\chi_{n}(\\mathbf{r},E' \\rightarrow E'')$ for incoming and outgoing energies $E'$ and $E''$, respectively. Unlike the multi-group cross sections $\\sigma_{n,x,k,g}$ considered up to this point, the fission spectrum is a probability distribution and must sum to unity. The outgoing energy is typically much less dependent on the incoming energy for fission than for scattering interactions. As a result, it is common practice to integrate over the incoming neutron energy when computing the multi-group fission spectrum. The fission spectrum may be simplified as $\\chi_{n}(\\mathbf{r},E)$ with outgoing energy $E$.\n",
|
|
"\n",
|
|
"Computing the cumulative energy spectrum of emitted neutrons, $\\chi_{n}(\\mathbf{r},E)$, has been presented in the `mgxs-part-i.ipynb` notebook. Here, we will present the energy spectrum of prompt and delayed emission neutrons, $\\chi_{n,p}(\\mathbf{r},E)$ and $\\chi_{n,d}(\\mathbf{r},E)$, respectively. Unlike the multi-group cross sections defined up to this point, the multi-group fission spectrum is weighted by the fission production rate rather than the scalar flux. This formulation is intended to preserve the total fission production rate in the multi-group deterministic calculation. In order to mathematically define the multi-group fission spectrum, we denote the microscopic fission cross section as $\\sigma_{n,f}(\\mathbf{r},E)$ and the average number of neutrons emitted from fission interactions with nuclide $n$ as $\\nu_{n,p}(\\mathbf{r},E)$ and $\\nu_{n,d}(\\mathbf{r},E)$ for prompt and delayed neutrons, respectively. The multi-group fission spectrum $\\chi_{n,k,g,d}$ is then the probability of fission neutrons emitted into energy group $g$ and delayed group $d$. There are not prompt groups, so inserting $p$ in place of $d$ just denotes all prompt neutrons. \n",
|
|
"\n",
|
|
"Similar to before, spatial homogenization and energy condensation are used to find the multi-energy-group and multi-delayed-group fission spectrum $\\chi_{n,k,g,d}$ as follows:\n",
|
|
"\n",
|
|
"$$\\chi_{n,k,g',d} = \\frac{\\int_{E_{g'}}^{E_{g'-1}}\\mathrm{d}E''\\int_{0}^{\\infty}\\mathrm{d}E'\\int_{\\mathbf{r} \\in V_{k}}\\mathrm{d}\\mathbf{r}\\chi_{n,d}(\\mathbf{r},E'\\rightarrow E'')\\nu_{n,d}(\\mathbf{r},E')\\sigma_{n,f}(\\mathbf{r},E')\\Phi(\\mathbf{r},E')}{\\int_{0}^{\\infty}\\mathrm{d}E'\\int_{\\mathbf{r} \\in V_{k}}\\mathrm{d}\\mathbf{r}\\nu_{n,d}(\\mathbf{r},E')\\sigma_{n,f}(\\mathbf{r},E')\\Phi(\\mathbf{r},E')}$$\n",
|
|
"\n",
|
|
"The fission production-weighted multi-energy-group and multi-delayed-group fission spectrum for delayed neutrons is computed using OpenMC tallies with energy in, energy out, and delayed group filters. Alternatively, the delayed group filter can be omitted to compute the fission spectrum integrated over all delayed groups.\n",
|
|
"\n",
|
|
"This concludes our brief overview on the methodology to compute multi-energy-group and multi-delayed-group cross sections. The following sections detail more concretely how users may employ the `openmc.mgxs` module to power simulation workflows requiring multi-group cross sections for downstream deterministic calculations."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Generate Input Files"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 2,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"%matplotlib inline\n",
|
|
"import numpy as np\n",
|
|
"import matplotlib.pyplot as plt\n",
|
|
"\n",
|
|
"import openmc\n",
|
|
"import openmc.mgxs as mgxs"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"First we need to define materials that will be used in the problem. Let's create a material for the homogeneous medium."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 3,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# Instantiate a Material and register the Nuclides\n",
|
|
"inf_medium = openmc.Material(name='moderator')\n",
|
|
"inf_medium.set_density('g/cc', 5.)\n",
|
|
"inf_medium.add_nuclide('H1', 0.03)\n",
|
|
"inf_medium.add_nuclide('O16', 0.015)\n",
|
|
"inf_medium.add_nuclide('U235', 0.0001)\n",
|
|
"inf_medium.add_nuclide('U238', 0.007)\n",
|
|
"inf_medium.add_nuclide('Pu239', 0.00003)\n",
|
|
"inf_medium.add_nuclide('Zr90', 0.002)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"With our material, we can now create a `Materials` object that can be exported to an actual XML file."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 4,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# Instantiate a Materials collection and export to XML\n",
|
|
"materials = openmc.Materials([inf_medium])"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"Now let's move on to the geometry. This problem will be a simple square cell with reflective boundary conditions to simulate an infinite homogeneous medium. The first step is to create the outer bounding surfaces of the problem."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 5,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# Instantiate boundary Planes\n",
|
|
"min_x = openmc.XPlane(boundary_type='reflective', x0=-0.63)\n",
|
|
"max_x = openmc.XPlane(boundary_type='reflective', x0=0.63)\n",
|
|
"min_y = openmc.YPlane(boundary_type='reflective', y0=-0.63)\n",
|
|
"max_y = openmc.YPlane(boundary_type='reflective', y0=0.63)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"With the surfaces defined, we can now create a cell that is defined by intersections of half-spaces created by the surfaces."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 6,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# Instantiate a Cell\n",
|
|
"cell = openmc.Cell(cell_id=1, name='cell')\n",
|
|
"\n",
|
|
"# Register bounding Surfaces with the Cell\n",
|
|
"cell.region = +min_x & -max_x & +min_y & -max_y\n",
|
|
"\n",
|
|
"# Fill the Cell with the Material\n",
|
|
"cell.fill = inf_medium"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"We now must create a geometry and export it to XML."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 7,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# Create Geometry and set root Universe\n",
|
|
"geometry = openmc.Geometry([cell])"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"Next, we must define simulation parameters. In this case, we will use 10 inactive batches and 40 active batches each with 2500 particles."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 8,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# OpenMC simulation parameters\n",
|
|
"batches = 50\n",
|
|
"inactive = 10\n",
|
|
"particles = 5000\n",
|
|
"\n",
|
|
"# Instantiate a Settings object\n",
|
|
"settings = openmc.Settings()\n",
|
|
"settings.batches = batches\n",
|
|
"settings.inactive = inactive\n",
|
|
"settings.particles = particles\n",
|
|
"settings.output = {'tallies': True}\n",
|
|
"\n",
|
|
"# Create an initial uniform spatial source distribution over fissionable zones\n",
|
|
"bounds = [-0.63, -0.63, -0.63, 0.63, 0.63, 0.63]\n",
|
|
"uniform_dist = openmc.stats.Box(bounds[:3], bounds[3:], only_fissionable=True)\n",
|
|
"settings.source = openmc.IndependentSource(space=uniform_dist)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"Now we are ready to generate multi-group cross sections! First, let's define a 100-energy-group structure and 1-energy-group structure using the built-in `EnergyGroups` class. We will also create a 6-delayed-group list."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 9,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# Instantiate a 100-group EnergyGroups object\n",
|
|
"energy_groups = mgxs.EnergyGroups()\n",
|
|
"energy_groups.group_edges = np.logspace(-3, 7.3, 101)\n",
|
|
"\n",
|
|
"# Instantiate a 1-group EnergyGroups object\n",
|
|
"one_group = mgxs.EnergyGroups()\n",
|
|
"one_group.group_edges = np.array([energy_groups.group_edges[0], energy_groups.group_edges[-1]])\n",
|
|
"\n",
|
|
"delayed_groups = list(range(1,7))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"We can now use the `EnergyGroups` object and delayed group list, along with our previously created materials and geometry, to instantiate some `MGXS` objects from the `openmc.mgxs` module. In particular, the following are subclasses of the generic and abstract `MGXS` class:\n",
|
|
"\n",
|
|
"* `TotalXS`\n",
|
|
"* `TransportXS`\n",
|
|
"* `AbsorptionXS`\n",
|
|
"* `CaptureXS`\n",
|
|
"* `FissionXS`\n",
|
|
"* `NuFissionMatrixXS`\n",
|
|
"* `KappaFissionXS`\n",
|
|
"* `ScatterXS`\n",
|
|
"* `ScatterMatrixXS`\n",
|
|
"* `Chi`\n",
|
|
"* `InverseVelocity`\n",
|
|
"\n",
|
|
"A separate abstract `MDGXS` class is used for cross-sections and parameters that involve delayed neutrons. The subclasses of `MDGXS` include:\n",
|
|
"\n",
|
|
"* `DelayedNuFissionXS`\n",
|
|
"* `ChiDelayed`\n",
|
|
"* `Beta`\n",
|
|
"* `DecayRate`\n",
|
|
"\n",
|
|
"These classes provide us with an interface to generate the tally inputs as well as perform post-processing of OpenMC's tally data to compute the respective multi-group cross sections. \n",
|
|
"\n",
|
|
"In this case, let's create the multi-group chi-prompt, chi-delayed, and prompt-nu-fission cross sections with our 100-energy-group structure and multi-group delayed-nu-fission and beta cross sections with our 100-energy-group and 6-delayed-group structures. \n",
|
|
"\n",
|
|
"The prompt chi and nu-fission data can actually be gathered using the `Chi` and `FissionXS` classes, respectively, by passing in a value of `True` for the optional `prompt` parameter upon initialization."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 10,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# Instantiate a few different sections\n",
|
|
"chi_prompt = mgxs.Chi(domain=cell, energy_groups=energy_groups, by_nuclide=True, prompt=True)\n",
|
|
"prompt_nu_fission = mgxs.FissionXS(domain=cell, energy_groups=energy_groups, by_nuclide=True, nu=True, prompt=True)\n",
|
|
"chi_delayed = mgxs.ChiDelayed(domain=cell, energy_groups=energy_groups, by_nuclide=True)\n",
|
|
"delayed_nu_fission = mgxs.DelayedNuFissionXS(domain=cell, energy_groups=energy_groups, delayed_groups=delayed_groups, by_nuclide=True)\n",
|
|
"beta = mgxs.Beta(domain=cell, energy_groups=energy_groups, delayed_groups=delayed_groups, by_nuclide=True)\n",
|
|
"decay_rate = mgxs.DecayRate(domain=cell, energy_groups=one_group, delayed_groups=delayed_groups, by_nuclide=True)\n",
|
|
"\n",
|
|
"chi_prompt.nuclides = ['U235', 'Pu239']\n",
|
|
"prompt_nu_fission.nuclides = ['U235', 'Pu239']\n",
|
|
"chi_delayed.nuclides = ['U235', 'Pu239']\n",
|
|
"delayed_nu_fission.nuclides = ['U235', 'Pu239']\n",
|
|
"beta.nuclides = ['U235', 'Pu239']\n",
|
|
"decay_rate.nuclides = ['U235', 'Pu239']"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"Each multi-group cross section object stores its tallies in a Python dictionary called `tallies`. We can inspect the tallies in the dictionary for our `Decay Rate` object as follows. "
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 11,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"OrderedDict([('delayed-nu-fission',\n",
|
|
" Tally\n",
|
|
" \tID =\t1\n",
|
|
" \tName =\t\n",
|
|
" \tFilters =\tCellFilter, DelayedGroupFilter\n",
|
|
" \tNuclides =\tU235 Pu239\n",
|
|
" \tScores =\t['delayed-nu-fission']\n",
|
|
" \tEstimator =\ttracklength),\n",
|
|
" ('decay-rate',\n",
|
|
" Tally\n",
|
|
" \tID =\t2\n",
|
|
" \tName =\t\n",
|
|
" \tFilters =\tCellFilter, DelayedGroupFilter\n",
|
|
" \tNuclides =\tU235 Pu239\n",
|
|
" \tScores =\t['decay-rate']\n",
|
|
" \tEstimator =\ttracklength)])"
|
|
]
|
|
},
|
|
"execution_count": 11,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"decay_rate.tallies"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"The `Beta` object includes tracklength tallies for the 'nu-fission' and 'delayed-nu-fission' scores in the 100-energy-group and 6-delayed-group structure in cell 1. Now that each `MGXS` and `MDGXS` object contains the tallies that it needs, we must add these tallies to a `Tallies` object to generate the \"tallies.xml\" input file for OpenMC."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 12,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stderr",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"/data/home/jupyter-aparler/.conda/envs/nuclear/lib/python3.11/site-packages/openmc/mixin.py:70: IDWarning: Another Filter instance already exists with id=3.\n",
|
|
" warn(msg, IDWarning)\n",
|
|
"/data/home/jupyter-aparler/.conda/envs/nuclear/lib/python3.11/site-packages/openmc/mixin.py:70: IDWarning: Another Filter instance already exists with id=5.\n",
|
|
" warn(msg, IDWarning)\n",
|
|
"/data/home/jupyter-aparler/.conda/envs/nuclear/lib/python3.11/site-packages/openmc/mixin.py:70: IDWarning: Another Filter instance already exists with id=4.\n",
|
|
" warn(msg, IDWarning)\n",
|
|
"/data/home/jupyter-aparler/.conda/envs/nuclear/lib/python3.11/site-packages/openmc/mixin.py:70: IDWarning: Another Filter instance already exists with id=7.\n",
|
|
" warn(msg, IDWarning)\n",
|
|
"/data/home/jupyter-aparler/.conda/envs/nuclear/lib/python3.11/site-packages/openmc/mixin.py:70: IDWarning: Another Filter instance already exists with id=13.\n",
|
|
" warn(msg, IDWarning)\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"# Instantiate an empty Tallies object\n",
|
|
"tallies = openmc.Tallies()\n",
|
|
"\n",
|
|
"# Add chi-prompt tallies to the tallies file\n",
|
|
"tallies += chi_prompt.tallies.values()\n",
|
|
"\n",
|
|
"# Add prompt-nu-fission tallies to the tallies file\n",
|
|
"tallies += prompt_nu_fission.tallies.values()\n",
|
|
"\n",
|
|
"# Add chi-delayed tallies to the tallies file\n",
|
|
"tallies += chi_delayed.tallies.values()\n",
|
|
"\n",
|
|
"# Add delayed-nu-fission tallies to the tallies file\n",
|
|
"tallies += delayed_nu_fission.tallies.values()\n",
|
|
"\n",
|
|
"# Add beta tallies to the tallies file\n",
|
|
"tallies += beta.tallies.values()\n",
|
|
"\n",
|
|
"# Add decay rate tallies to the tallies file\n",
|
|
"tallies += decay_rate.tallies.values()\n",
|
|
"\n",
|
|
"# Export to \"tallies.xml\"\n",
|
|
"tallies.export_to_xml()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"Now we a have a complete set of inputs, so we can go ahead and run our simulation."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 13,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# tie geometry, materials, settings, and tallies together into a model object\n",
|
|
"model = openmc.Model(geometry=geometry,\n",
|
|
" materials=materials,\n",
|
|
" settings=settings,\n",
|
|
" tallies=tallies)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 14,
|
|
"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-2023 MIT, UChicago Argonne LLC, and contributors\n",
|
|
" License | https://docs.openmc.org/en/latest/license.html\n",
|
|
" Version | 0.13.3\n",
|
|
" Git SHA1 | 50e39a4e20dc9e0f3d7ccf07333f6a5e6c797c8c\n",
|
|
" Date/Time | 2023-11-07 11:17:14\n",
|
|
" OpenMP Threads | 32\n",
|
|
"\n",
|
|
" Reading settings XML file...\n",
|
|
" Reading cross sections XML file...\n",
|
|
" Reading materials XML file...\n",
|
|
" Reading geometry XML file...\n",
|
|
" Reading H1 from /opt/xdata/endfb-vii.1-hdf5/neutron/H1.h5\n",
|
|
" Reading O16 from /opt/xdata/endfb-vii.1-hdf5/neutron/O16.h5\n",
|
|
" Reading U235 from /opt/xdata/endfb-vii.1-hdf5/neutron/U235.h5\n",
|
|
" Reading U238 from /opt/xdata/endfb-vii.1-hdf5/neutron/U238.h5\n",
|
|
" Reading Pu239 from /opt/xdata/endfb-vii.1-hdf5/neutron/Pu239.h5\n",
|
|
" Reading Zr90 from /opt/xdata/endfb-vii.1-hdf5/neutron/Zr90.h5\n",
|
|
" Minimum neutron data temperature: 294 K\n",
|
|
" Maximum neutron data temperature: 294 K\n",
|
|
" Reading tallies XML file...\n",
|
|
" Preparing distributed cell instances...\n",
|
|
" Reading plot XML file...\n",
|
|
" Writing summary.h5 file...\n",
|
|
" Maximum neutron transport energy: 20000000 eV for H1\n",
|
|
" Initializing source particles...\n",
|
|
"\n",
|
|
" ====================> K EIGENVALUE SIMULATION <====================\n",
|
|
"\n",
|
|
" Bat./Gen. k Average k\n",
|
|
" ========= ======== ====================\n",
|
|
" 1/1 1.24970\n",
|
|
" 2/1 1.21100\n",
|
|
" 3/1 1.19756\n",
|
|
" 4/1 1.25555\n",
|
|
" 5/1 1.24295\n",
|
|
" 6/1 1.21186\n",
|
|
" 7/1 1.25633\n",
|
|
" 8/1 1.24522\n",
|
|
" 9/1 1.21656\n",
|
|
" 10/1 1.26028\n",
|
|
" 11/1 1.20898\n",
|
|
" 12/1 1.23185 1.22041 +/- 0.01143\n",
|
|
" 13/1 1.25350 1.23144 +/- 0.01285\n",
|
|
" 14/1 1.22167 1.22900 +/- 0.00941\n",
|
|
" 15/1 1.24549 1.23230 +/- 0.00800\n",
|
|
" 16/1 1.24976 1.23521 +/- 0.00715\n",
|
|
" 17/1 1.18269 1.22771 +/- 0.00963\n",
|
|
" 18/1 1.23822 1.22902 +/- 0.00845\n",
|
|
" 19/1 1.23413 1.22959 +/- 0.00747\n",
|
|
" 20/1 1.21361 1.22799 +/- 0.00687\n",
|
|
" 21/1 1.24244 1.22930 +/- 0.00635\n",
|
|
" 22/1 1.21414 1.22804 +/- 0.00593\n",
|
|
" 23/1 1.21809 1.22727 +/- 0.00551\n",
|
|
" 24/1 1.19780 1.22517 +/- 0.00552\n",
|
|
" 25/1 1.24190 1.22628 +/- 0.00526\n",
|
|
" 26/1 1.24078 1.22719 +/- 0.00500\n",
|
|
" 27/1 1.21557 1.22651 +/- 0.00475\n",
|
|
" 28/1 1.26431 1.22861 +/- 0.00494\n",
|
|
" 29/1 1.27196 1.23089 +/- 0.00520\n",
|
|
" 30/1 1.24033 1.23136 +/- 0.00496\n",
|
|
" 31/1 1.24532 1.23203 +/- 0.00476\n",
|
|
" 32/1 1.22646 1.23177 +/- 0.00455\n",
|
|
" 33/1 1.23791 1.23204 +/- 0.00436\n",
|
|
" 34/1 1.21230 1.23122 +/- 0.00425\n",
|
|
" 35/1 1.22857 1.23111 +/- 0.00408\n",
|
|
" 36/1 1.22386 1.23083 +/- 0.00393\n",
|
|
" 37/1 1.25504 1.23173 +/- 0.00388\n",
|
|
" 38/1 1.24488 1.23220 +/- 0.00377\n",
|
|
" 39/1 1.24251 1.23255 +/- 0.00366\n",
|
|
" 40/1 1.19482 1.23130 +/- 0.00375\n",
|
|
" 41/1 1.20078 1.23031 +/- 0.00376\n",
|
|
" 42/1 1.24233 1.23069 +/- 0.00366\n",
|
|
" 43/1 1.29614 1.23267 +/- 0.00406\n",
|
|
" 44/1 1.23726 1.23281 +/- 0.00394\n",
|
|
" 45/1 1.24222 1.23307 +/- 0.00384\n",
|
|
" 46/1 1.24097 1.23329 +/- 0.00374\n",
|
|
" 47/1 1.27425 1.23440 +/- 0.00380\n",
|
|
" 48/1 1.25510 1.23495 +/- 0.00374\n",
|
|
" 49/1 1.23654 1.23499 +/- 0.00364\n",
|
|
" 50/1 1.23369 1.23495 +/- 0.00355\n",
|
|
" Creating state point statepoint.50.h5...\n",
|
|
"\n",
|
|
" =======================> TIMING STATISTICS <=======================\n",
|
|
"\n",
|
|
" Total time for initialization = 8.7385e-01 seconds\n",
|
|
" Reading cross sections = 8.6672e-01 seconds\n",
|
|
" Total time in simulation = 1.3402e+02 seconds\n",
|
|
" Time in transport only = 1.3397e+02 seconds\n",
|
|
" Time in inactive batches = 4.7414e+00 seconds\n",
|
|
" Time in active batches = 1.2927e+02 seconds\n",
|
|
" Time synchronizing fission bank = 2.1579e-02 seconds\n",
|
|
" Sampling source sites = 1.9879e-02 seconds\n",
|
|
" SEND/RECV source sites = 1.6605e-03 seconds\n",
|
|
" Time accumulating tallies = 1.0377e-02 seconds\n",
|
|
" Time writing statepoints = 4.2323e-03 seconds\n",
|
|
" Total time for finalization = 1.3320e-02 seconds\n",
|
|
" Total time elapsed = 1.3492e+02 seconds\n",
|
|
" Calculation Rate (inactive) = 10545.3 particles/second\n",
|
|
" Calculation Rate (active) = 1547.09 particles/second\n",
|
|
"\n",
|
|
" ============================> RESULTS <============================\n",
|
|
"\n",
|
|
" k-effective (Collision) = 1.23445 +/- 0.00332\n",
|
|
" k-effective (Track-length) = 1.23495 +/- 0.00355\n",
|
|
" k-effective (Absorption) = 1.23293 +/- 0.00238\n",
|
|
" Combined k-effective = 1.23332 +/- 0.00230\n",
|
|
" Leakage Fraction = 0.00000 +/- 0.00000\n",
|
|
"\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"# Run OpenMC\n",
|
|
"statepoint_filename = model.run()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Tally Data Processing"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"Our simulation ran successfully and created statepoint and summary output files. We begin our analysis by instantiating a `StatePoint` object. "
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 15,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# Load the last statepoint file\n",
|
|
"sp = openmc.StatePoint(statepoint_filename)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"In addition to the statepoint file, our simulation also created a summary file which encapsulates information about the materials and geometry. By default, a `Summary` object is automatically linked when a `StatePoint` is loaded. This is necessary for the `openmc.mgxs` module to properly process the tally data."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"The statepoint is now ready to be analyzed by our multi-group cross sections. We simply have to load the tallies from the `StatePoint` into each object as follows and our `MGXS` objects will compute the cross sections for us under-the-hood."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 16,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# Load the tallies from the statepoint into each MGXS object\n",
|
|
"chi_prompt.load_from_statepoint(sp)\n",
|
|
"prompt_nu_fission.load_from_statepoint(sp)\n",
|
|
"chi_delayed.load_from_statepoint(sp)\n",
|
|
"delayed_nu_fission.load_from_statepoint(sp)\n",
|
|
"beta.load_from_statepoint(sp)\n",
|
|
"decay_rate.load_from_statepoint(sp)\n",
|
|
"# Close statepoint file now that we have the info we need\n",
|
|
"sp.close()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"Voila! Our multi-group cross sections are now ready to rock 'n roll!"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Extracting and Storing MGXS Data"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"Let's first inspect our delayed-nu-fission section by printing it to the screen after condensing the cross section down to one group."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 17,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"array([[[5.14603413e-06, 1.16498857e-06]],\n",
|
|
"\n",
|
|
" [[2.65622446e-05, 7.58694377e-06]],\n",
|
|
"\n",
|
|
" [[2.53586263e-05, 5.74154841e-06]],\n",
|
|
"\n",
|
|
" [[5.68561321e-05, 1.04823410e-05]],\n",
|
|
"\n",
|
|
" [[2.33102114e-05, 5.45999869e-06]],\n",
|
|
"\n",
|
|
" [[9.76456653e-06, 1.65254173e-06]]])"
|
|
]
|
|
},
|
|
"execution_count": 17,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"delayed_nu_fission.get_condensed_xs(one_group).get_xs()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"Since the `openmc.mgxs` module uses [tally arithmetic](tally-arithmetic.ipynb) under-the-hood, the cross section is stored as a \"derived\" `Tally` object. This means that it can be queried and manipulated using all of the same methods supported for the `Tally` class in the OpenMC Python API. For example, we can construct a [Pandas](https://pandas.pydata.org/) `DataFrame` of the multi-group cross section data."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 18,
|
|
"metadata": {
|
|
"scrolled": true
|
|
},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<div>\n",
|
|
"<style scoped>\n",
|
|
" .dataframe tbody tr th:only-of-type {\n",
|
|
" vertical-align: middle;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe tbody tr th {\n",
|
|
" vertical-align: top;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe thead th {\n",
|
|
" text-align: right;\n",
|
|
" }\n",
|
|
"</style>\n",
|
|
"<table border=\"1\" class=\"dataframe\">\n",
|
|
" <thead>\n",
|
|
" <tr style=\"text-align: right;\">\n",
|
|
" <th></th>\n",
|
|
" <th>cell</th>\n",
|
|
" <th>delayedgroup</th>\n",
|
|
" <th>group in</th>\n",
|
|
" <th>nuclide</th>\n",
|
|
" <th>mean</th>\n",
|
|
" <th>std. dev.</th>\n",
|
|
" </tr>\n",
|
|
" </thead>\n",
|
|
" <tbody>\n",
|
|
" <tr>\n",
|
|
" <th>198</th>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>U235</td>\n",
|
|
" <td>9.479196e-08</td>\n",
|
|
" <td>5.863577e-08</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>199</th>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>Pu239</td>\n",
|
|
" <td>1.600306e-08</td>\n",
|
|
" <td>9.891470e-09</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>398</th>\n",
|
|
" <td>1</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>U235</td>\n",
|
|
" <td>4.892869e-07</td>\n",
|
|
" <td>3.026598e-07</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>399</th>\n",
|
|
" <td>1</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>Pu239</td>\n",
|
|
" <td>1.042193e-07</td>\n",
|
|
" <td>6.441782e-08</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>598</th>\n",
|
|
" <td>1</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>U235</td>\n",
|
|
" <td>4.671158e-07</td>\n",
|
|
" <td>2.889454e-07</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>599</th>\n",
|
|
" <td>1</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>Pu239</td>\n",
|
|
" <td>7.886975e-08</td>\n",
|
|
" <td>4.874928e-08</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>798</th>\n",
|
|
" <td>1</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>U235</td>\n",
|
|
" <td>1.047312e-06</td>\n",
|
|
" <td>6.478393e-07</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>799</th>\n",
|
|
" <td>1</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>Pu239</td>\n",
|
|
" <td>1.439925e-07</td>\n",
|
|
" <td>8.900152e-08</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>998</th>\n",
|
|
" <td>1</td>\n",
|
|
" <td>5</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>U235</td>\n",
|
|
" <td>4.293832e-07</td>\n",
|
|
" <td>2.656050e-07</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>999</th>\n",
|
|
" <td>1</td>\n",
|
|
" <td>5</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>Pu239</td>\n",
|
|
" <td>7.500220e-08</td>\n",
|
|
" <td>4.635875e-08</td>\n",
|
|
" </tr>\n",
|
|
" </tbody>\n",
|
|
"</table>\n",
|
|
"</div>"
|
|
],
|
|
"text/plain": [
|
|
" cell delayedgroup group in nuclide mean std. dev.\n",
|
|
"198 1 1 1 U235 9.479196e-08 5.863577e-08\n",
|
|
"199 1 1 1 Pu239 1.600306e-08 9.891470e-09\n",
|
|
"398 1 2 1 U235 4.892869e-07 3.026598e-07\n",
|
|
"399 1 2 1 Pu239 1.042193e-07 6.441782e-08\n",
|
|
"598 1 3 1 U235 4.671158e-07 2.889454e-07\n",
|
|
"599 1 3 1 Pu239 7.886975e-08 4.874928e-08\n",
|
|
"798 1 4 1 U235 1.047312e-06 6.478393e-07\n",
|
|
"799 1 4 1 Pu239 1.439925e-07 8.900152e-08\n",
|
|
"998 1 5 1 U235 4.293832e-07 2.656050e-07\n",
|
|
"999 1 5 1 Pu239 7.500220e-08 4.635875e-08"
|
|
]
|
|
},
|
|
"execution_count": 18,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"df = delayed_nu_fission.get_pandas_dataframe()\n",
|
|
"df.head(10)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 19,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<div>\n",
|
|
"<style scoped>\n",
|
|
" .dataframe tbody tr th:only-of-type {\n",
|
|
" vertical-align: middle;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe tbody tr th {\n",
|
|
" vertical-align: top;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe thead th {\n",
|
|
" text-align: right;\n",
|
|
" }\n",
|
|
"</style>\n",
|
|
"<table border=\"1\" class=\"dataframe\">\n",
|
|
" <thead>\n",
|
|
" <tr style=\"text-align: right;\">\n",
|
|
" <th></th>\n",
|
|
" <th>cell</th>\n",
|
|
" <th>delayedgroup</th>\n",
|
|
" <th>nuclide</th>\n",
|
|
" <th>mean</th>\n",
|
|
" <th>std. dev.</th>\n",
|
|
" </tr>\n",
|
|
" </thead>\n",
|
|
" <tbody>\n",
|
|
" <tr>\n",
|
|
" <th>0</th>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>U235</td>\n",
|
|
" <td>0.013336</td>\n",
|
|
" <td>0.000061</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>1</th>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>Pu239</td>\n",
|
|
" <td>0.013271</td>\n",
|
|
" <td>0.000059</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>1</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>U235</td>\n",
|
|
" <td>0.032739</td>\n",
|
|
" <td>0.000150</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>3</th>\n",
|
|
" <td>1</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>Pu239</td>\n",
|
|
" <td>0.030881</td>\n",
|
|
" <td>0.000136</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>4</th>\n",
|
|
" <td>1</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>U235</td>\n",
|
|
" <td>0.120780</td>\n",
|
|
" <td>0.000552</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>5</th>\n",
|
|
" <td>1</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>Pu239</td>\n",
|
|
" <td>0.113370</td>\n",
|
|
" <td>0.000501</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>6</th>\n",
|
|
" <td>1</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>U235</td>\n",
|
|
" <td>0.302780</td>\n",
|
|
" <td>0.001383</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>7</th>\n",
|
|
" <td>1</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>Pu239</td>\n",
|
|
" <td>0.292500</td>\n",
|
|
" <td>0.001292</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>8</th>\n",
|
|
" <td>1</td>\n",
|
|
" <td>5</td>\n",
|
|
" <td>U235</td>\n",
|
|
" <td>0.849490</td>\n",
|
|
" <td>0.003880</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>9</th>\n",
|
|
" <td>1</td>\n",
|
|
" <td>5</td>\n",
|
|
" <td>Pu239</td>\n",
|
|
" <td>0.857490</td>\n",
|
|
" <td>0.003787</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>10</th>\n",
|
|
" <td>1</td>\n",
|
|
" <td>6</td>\n",
|
|
" <td>U235</td>\n",
|
|
" <td>2.853000</td>\n",
|
|
" <td>0.013029</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>11</th>\n",
|
|
" <td>1</td>\n",
|
|
" <td>6</td>\n",
|
|
" <td>Pu239</td>\n",
|
|
" <td>2.729700</td>\n",
|
|
" <td>0.012056</td>\n",
|
|
" </tr>\n",
|
|
" </tbody>\n",
|
|
"</table>\n",
|
|
"</div>"
|
|
],
|
|
"text/plain": [
|
|
" cell delayedgroup nuclide mean std. dev.\n",
|
|
"0 1 1 U235 0.013336 0.000061\n",
|
|
"1 1 1 Pu239 0.013271 0.000059\n",
|
|
"2 1 2 U235 0.032739 0.000150\n",
|
|
"3 1 2 Pu239 0.030881 0.000136\n",
|
|
"4 1 3 U235 0.120780 0.000552\n",
|
|
"5 1 3 Pu239 0.113370 0.000501\n",
|
|
"6 1 4 U235 0.302780 0.001383\n",
|
|
"7 1 4 Pu239 0.292500 0.001292\n",
|
|
"8 1 5 U235 0.849490 0.003880\n",
|
|
"9 1 5 Pu239 0.857490 0.003787\n",
|
|
"10 1 6 U235 2.853000 0.013029\n",
|
|
"11 1 6 Pu239 2.729700 0.012056"
|
|
]
|
|
},
|
|
"execution_count": 19,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"df = decay_rate.get_pandas_dataframe()\n",
|
|
"df.head(12)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"Each multi-group cross section object can be easily exported to a variety of file formats, including CSV, Excel, and LaTeX for storage or data processing."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 20,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"beta.export_xs_data(filename='beta', format='excel')"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"The following code snippet shows how to export the chi-prompt and chi-delayed `MGXS` to the same HDF5 binary data store."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 21,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"chi_prompt.build_hdf5_store(filename='mdgxs', append=True)\n",
|
|
"chi_delayed.build_hdf5_store(filename='mdgxs', append=True)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Using Tally Arithmetic to Compute the Delayed Neutron Precursor Concentrations"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"Finally, we illustrate how one can leverage OpenMC's [tally arithmetic](tally-arithmetic.ipynb) data processing feature with `MGXS` objects. The `openmc.mgxs` module uses tally arithmetic to compute multi-group cross sections with automated uncertainty propagation. Each `MGXS` object includes an `xs_tally` attribute which is a \"derived\" `Tally` based on the tallies needed to compute the cross section type of interest. These derived tallies can be used in subsequent tally arithmetic operations. For example, we can use tally artithmetic to compute the delayed neutron precursor concentrations using the `Beta`, `DelayedNuFissionXS`, and `DecayRate` objects. The delayed neutron precursor concentrations are modeled using the following equations:\n",
|
|
"\n",
|
|
"$$\\frac{\\partial}{\\partial t} C_{k,d} (t) = \\int_{0}^{\\infty}\\mathrm{d}E'\\int_{\\mathbf{r} \\in V_{k}}\\mathrm{d}\\mathbf{r} \\beta_{k,d} (t) \\nu_d \\sigma_{f,x}(\\mathbf{r},E',t)\\Phi(\\mathbf{r},E',t) - \\lambda_{d} C_{k,d} (t) $$\n",
|
|
"\n",
|
|
"$$C_{k,d} (t=0) = \\frac{1}{\\lambda_{d}} \\int_{0}^{\\infty}\\mathrm{d}E'\\int_{\\mathbf{r} \\in V_{k}}\\mathrm{d}\\mathbf{r} \\beta_{k,d} (t=0) \\nu_d \\sigma_{f,x}(\\mathbf{r},E',t=0)\\Phi(\\mathbf{r},E',t=0) $$\n",
|
|
"\n",
|
|
"First, let's investigate the decay rates for U235 and Pu235. The fraction of the delayed neutron precursors remaining as a function of time after fission for each delayed group and fissioning isotope have been plotted below."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 22,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"<matplotlib.legend.Legend at 0x7f0aa9759e20>"
|
|
]
|
|
},
|
|
"execution_count": 22,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
},
|
|
{
|
|
"data": {
|
|
"image/png": "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",
|
|
"text/plain": [
|
|
"<Figure size 576x432 with 1 Axes>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"# Get the decay rate data\n",
|
|
"dr_tally = decay_rate.xs_tally\n",
|
|
"dr_u235 = dr_tally.get_values(nuclides=['U235']).flatten()\n",
|
|
"dr_pu239 = dr_tally.get_values(nuclides=['Pu239']).flatten()\n",
|
|
"\n",
|
|
"# Compute the exponential decay of the precursors\n",
|
|
"time = np.logspace(-3,3)\n",
|
|
"dr_u235_points = np.exp(-np.outer(dr_u235, time))\n",
|
|
"dr_pu239_points = np.exp(-np.outer(dr_pu239, time))\n",
|
|
"\n",
|
|
"# Create a plot of the fraction of the precursors remaining as a f(time)\n",
|
|
"colors = ['b', 'g', 'r', 'c', 'm', 'k']\n",
|
|
"legend = []\n",
|
|
"fig = plt.figure(figsize=(8,6))\n",
|
|
"for g,c in enumerate(colors):\n",
|
|
" plt.semilogx(time, dr_u235_points [g,:], color=c, linestyle='--', linewidth=3)\n",
|
|
" plt.semilogx(time, dr_pu239_points[g,:], color=c, linestyle=':' , linewidth=3)\n",
|
|
" legend.append('U-235 $t_{1/2}$ = ' + '{0:1.2f} seconds'.format(np.log(2) / dr_u235[g]))\n",
|
|
" legend.append('Pu-239 $t_{1/2}$ = ' + '{0:1.2f} seconds'.format(np.log(2) / dr_pu239[g]))\n",
|
|
"\n",
|
|
"plt.title('Delayed Neutron Precursor Decay Rates')\n",
|
|
"plt.xlabel('Time (s)')\n",
|
|
"plt.ylabel('Fraction Remaining')\n",
|
|
"plt.legend(legend, loc=1, bbox_to_anchor=(1.55, 0.95))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"Now let's compute the initial concentration of the delayed neutron precursors:"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 23,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<div>\n",
|
|
"<style scoped>\n",
|
|
" .dataframe tbody tr th:only-of-type {\n",
|
|
" vertical-align: middle;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe tbody tr th {\n",
|
|
" vertical-align: top;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe thead th {\n",
|
|
" text-align: right;\n",
|
|
" }\n",
|
|
"</style>\n",
|
|
"<table border=\"1\" class=\"dataframe\">\n",
|
|
" <thead>\n",
|
|
" <tr style=\"text-align: right;\">\n",
|
|
" <th></th>\n",
|
|
" <th>cell</th>\n",
|
|
" <th>delayedgroup</th>\n",
|
|
" <th>nuclide</th>\n",
|
|
" <th>score</th>\n",
|
|
" <th>mean</th>\n",
|
|
" <th>std. dev.</th>\n",
|
|
" </tr>\n",
|
|
" </thead>\n",
|
|
" <tbody>\n",
|
|
" <tr>\n",
|
|
" <th>0</th>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>U235</td>\n",
|
|
" <td>(((delayed-nu-fission / nu-fission) * (delayed...</td>\n",
|
|
" <td>8.785604e-08</td>\n",
|
|
" <td>4.659397e-10</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>1</th>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>Pu239</td>\n",
|
|
" <td>(((delayed-nu-fission / nu-fission) * (delayed...</td>\n",
|
|
" <td>7.154286e-09</td>\n",
|
|
" <td>3.857161e-11</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>1</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>U235</td>\n",
|
|
" <td>(((delayed-nu-fission / nu-fission) * (delayed...</td>\n",
|
|
" <td>9.534897e-07</td>\n",
|
|
" <td>5.056780e-09</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>3</th>\n",
|
|
" <td>1</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>Pu239</td>\n",
|
|
" <td>(((delayed-nu-fission / nu-fission) * (delayed...</td>\n",
|
|
" <td>1.303974e-07</td>\n",
|
|
" <td>7.030245e-10</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>4</th>\n",
|
|
" <td>1</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>U235</td>\n",
|
|
" <td>(((delayed-nu-fission / nu-fission) * (delayed...</td>\n",
|
|
" <td>2.355637e-07</td>\n",
|
|
" <td>1.249299e-09</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>5</th>\n",
|
|
" <td>1</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>Pu239</td>\n",
|
|
" <td>(((delayed-nu-fission / nu-fission) * (delayed...</td>\n",
|
|
" <td>2.034167e-08</td>\n",
|
|
" <td>1.096700e-10</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>6</th>\n",
|
|
" <td>1</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>U235</td>\n",
|
|
" <td>(((delayed-nu-fission / nu-fission) * (delayed...</td>\n",
|
|
" <td>4.723668e-07</td>\n",
|
|
" <td>2.505171e-09</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>7</th>\n",
|
|
" <td>1</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>Pu239</td>\n",
|
|
" <td>(((delayed-nu-fission / nu-fission) * (delayed...</td>\n",
|
|
" <td>2.627951e-08</td>\n",
|
|
" <td>1.416833e-10</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>8</th>\n",
|
|
" <td>1</td>\n",
|
|
" <td>5</td>\n",
|
|
" <td>U235</td>\n",
|
|
" <td>(((delayed-nu-fission / nu-fission) * (delayed...</td>\n",
|
|
" <td>2.829997e-08</td>\n",
|
|
" <td>1.500873e-10</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>9</th>\n",
|
|
" <td>1</td>\n",
|
|
" <td>5</td>\n",
|
|
" <td>Pu239</td>\n",
|
|
" <td>(((delayed-nu-fission / nu-fission) * (delayed...</td>\n",
|
|
" <td>2.432107e-09</td>\n",
|
|
" <td>1.311246e-11</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>10</th>\n",
|
|
" <td>1</td>\n",
|
|
" <td>6</td>\n",
|
|
" <td>U235</td>\n",
|
|
" <td>(((delayed-nu-fission / nu-fission) * (delayed...</td>\n",
|
|
" <td>1.478618e-09</td>\n",
|
|
" <td>7.841770e-12</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>11</th>\n",
|
|
" <td>1</td>\n",
|
|
" <td>6</td>\n",
|
|
" <td>Pu239</td>\n",
|
|
" <td>(((delayed-nu-fission / nu-fission) * (delayed...</td>\n",
|
|
" <td>6.998687e-11</td>\n",
|
|
" <td>3.773271e-13</td>\n",
|
|
" </tr>\n",
|
|
" </tbody>\n",
|
|
"</table>\n",
|
|
"</div>"
|
|
],
|
|
"text/plain": [
|
|
" cell delayedgroup nuclide \\\n",
|
|
"0 1 1 U235 \n",
|
|
"1 1 1 Pu239 \n",
|
|
"2 1 2 U235 \n",
|
|
"3 1 2 Pu239 \n",
|
|
"4 1 3 U235 \n",
|
|
"5 1 3 Pu239 \n",
|
|
"6 1 4 U235 \n",
|
|
"7 1 4 Pu239 \n",
|
|
"8 1 5 U235 \n",
|
|
"9 1 5 Pu239 \n",
|
|
"10 1 6 U235 \n",
|
|
"11 1 6 Pu239 \n",
|
|
"\n",
|
|
" score mean std. dev. \n",
|
|
"0 (((delayed-nu-fission / nu-fission) * (delayed... 8.79e-08 4.66e-10 \n",
|
|
"1 (((delayed-nu-fission / nu-fission) * (delayed... 7.15e-09 3.86e-11 \n",
|
|
"2 (((delayed-nu-fission / nu-fission) * (delayed... 9.53e-07 5.06e-09 \n",
|
|
"3 (((delayed-nu-fission / nu-fission) * (delayed... 1.30e-07 7.03e-10 \n",
|
|
"4 (((delayed-nu-fission / nu-fission) * (delayed... 2.36e-07 1.25e-09 \n",
|
|
"5 (((delayed-nu-fission / nu-fission) * (delayed... 2.03e-08 1.10e-10 \n",
|
|
"6 (((delayed-nu-fission / nu-fission) * (delayed... 4.72e-07 2.51e-09 \n",
|
|
"7 (((delayed-nu-fission / nu-fission) * (delayed... 2.63e-08 1.42e-10 \n",
|
|
"8 (((delayed-nu-fission / nu-fission) * (delayed... 2.83e-08 1.50e-10 \n",
|
|
"9 (((delayed-nu-fission / nu-fission) * (delayed... 2.43e-09 1.31e-11 \n",
|
|
"10 (((delayed-nu-fission / nu-fission) * (delayed... 1.48e-09 7.84e-12 \n",
|
|
"11 (((delayed-nu-fission / nu-fission) * (delayed... 7.00e-11 3.77e-13 "
|
|
]
|
|
},
|
|
"execution_count": 23,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"# Use tally arithmetic to compute the precursor concentrations\n",
|
|
"precursor_conc = beta.get_condensed_xs(one_group).xs_tally.summation(filter_type=openmc.EnergyFilter, remove_filter=True) * \\\n",
|
|
" delayed_nu_fission.get_condensed_xs(one_group).xs_tally.summation(filter_type=openmc.EnergyFilter, remove_filter=True) / \\\n",
|
|
" decay_rate.xs_tally.summation()\n",
|
|
"\n",
|
|
"# Get the Pandas DataFrames for inspection\n",
|
|
"precursor_conc.get_pandas_dataframe()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"We can plot the delayed neutron fractions for each nuclide."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 24,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Beta (U-235) : 0.006504 +/- 0.000007\n",
|
|
"Beta (Pu-239): 0.002245 +/- 0.000003\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"(0.0, 7.0)"
|
|
]
|
|
},
|
|
"execution_count": 24,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
},
|
|
{
|
|
"data": {
|
|
"image/png": "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",
|
|
"text/plain": [
|
|
"<Figure size 432x288 with 1 Axes>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"energy_filter = [f for f in beta.xs_tally.filters if type(f) is openmc.EnergyFilter]\n",
|
|
"beta_integrated = beta.get_condensed_xs(one_group).xs_tally.summation(filter_type=openmc.EnergyFilter, remove_filter=True)\n",
|
|
"beta_u235 = beta_integrated.get_values(nuclides=['U235'])\n",
|
|
"beta_pu239 = beta_integrated.get_values(nuclides=['Pu239'])\n",
|
|
"\n",
|
|
"# Reshape the betas\n",
|
|
"beta_u235.shape = (beta_u235.shape[0])\n",
|
|
"beta_pu239.shape = (beta_pu239.shape[0])\n",
|
|
"\n",
|
|
"df = beta_integrated.summation(filter_type=openmc.DelayedGroupFilter, remove_filter=True).get_pandas_dataframe()\n",
|
|
"print('Beta (U-235) : {:.6f} +/- {:.6f}'.format(df[df['nuclide'] == 'U235']['mean'][0], df[df['nuclide'] == 'U235']['std. dev.'][0]))\n",
|
|
"print('Beta (Pu-239): {:.6f} +/- {:.6f}'.format(df[df['nuclide'] == 'Pu239']['mean'][1], df[df['nuclide'] == 'Pu239']['std. dev.'][1]))\n",
|
|
"\n",
|
|
"beta_u235 = np.append(beta_u235[0], beta_u235)\n",
|
|
"beta_pu239 = np.append(beta_pu239[0], beta_pu239)\n",
|
|
"\n",
|
|
"# Create a step plot for the MGXS\n",
|
|
"plt.plot(np.arange(0.5, 7.5, 1), beta_u235, drawstyle='steps', color='b', linewidth=3)\n",
|
|
"plt.plot(np.arange(0.5, 7.5, 1), beta_pu239, drawstyle='steps', color='g', linewidth=3)\n",
|
|
"\n",
|
|
"plt.title('Delayed Neutron Fraction (beta)')\n",
|
|
"plt.xlabel('Delayed Group')\n",
|
|
"plt.ylabel('Beta(fraction total neutrons)')\n",
|
|
"plt.legend(['U-235', 'Pu-239'])\n",
|
|
"plt.xlim([0,7])"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"We can also plot the energy spectrum for fission emission of prompt and delayed neutrons."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 25,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"(1000.0, 20000000.0)"
|
|
]
|
|
},
|
|
"execution_count": 25,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
},
|
|
{
|
|
"data": {
|
|
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAYgAAAEaCAYAAAAL7cBuAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAAsTAAALEwEAmpwYAABOZUlEQVR4nO2deXxU1fXAv4ddTZCKqAkCwQVkxyRIFZCoBTeCC6AsLrhFarGisRWrlQEXrD/iUrWtoQouCCpuYF1qtQF3IAgqKIgaBEJdQCRBZJHz++O9TF6S2bJMZiY538/nffLe3d6ZO5N33j333nNEVTEMwzCMyjSJtQCGYRhGfGIKwjAMwwiIKQjDMAwjIKYgDMMwjICYgjAMwzACYgrCMAzDCIgpCMOoY0RkgIh8LiKlInJ2FO/ziohcXIv6/xCRP9elTEbDwhREAiAiRSKy033glB0PxFqucIjIWSKyQkS2i8j3IvKmiHSO8j1VRI6K5j0iYBrwgKomqeoLtW1MRGaLyO5K3//5qnq6qj5a03ZVdYKq3lpb+SojIj73ezjPk9bMTUurg/Zni8httW3HCE+zWAtgREy2qv4nmjcQkWaqureO2joKeAw4F3gTSAKGAr/URfu1kKvOPmMIOgGralIxhHx3qerNtROrXtkKTBWRZ1W1Xr/zevqOGwU2gkhwRGS8iLwtIjNE5AcR+UpETvfkHygiD4vIZhHZJCK3iUhTT913ROQeEdkC+ESkrYgsdN/6l7rl33bLPygieZXuv0BErg0gWl/gK1V9Qx1KVPVZVf3arecTkfki8pSIlIjIchHp42k3VUSeFZHv3M/0e09eUxH5k4h84dYtFJEOIrLYLbKy7C1bRLJEZKOI3CAi/wNmlfVZpc/hH3m4b6h/c004pW4fHSYi97p9/JmIHBvk+/gCOAJY6NZt6X6WBSKyVUTWicgVnvJl/fCEiGwHxof+xivcq0BELnfPjxKRRSLyoztae8pNF/f7/db9Tj8WkZ6ez3mbp70rXPm2uvKmVuqfCeKYzra5vwUJId6rwG7ggiCyt3R/s1+LyDfimLv2c/OCfj8ikgOMA/7o9u9CN7/I/Y4/AnaIM2IZLiKrXHkLRKSbp70iEbleRD5y++wpEWnl5h0sIi+59baKyFsi0iiflY3yQzdA+gNrgIOBu4CHPf+8s4G9wFHAsThv8ZdXqvslcChwO/AgsAM4DLjYPcp4FBhT9s8iIgcDvwGeDCDTcuAY9+F0kogkBShzFvAMcJDbxgsi0txtfyGwEmgPnAJMEpFT3XrXAWOAM4DWwKXAT6p6opvfxzXvPOVeH+beoxOQE0COQJwH3IzTp7uA99zPdDAwH7g7UCVVPRL4GmfEl6Squ4B5wEYgFRgJ3CEiJ1fqh/lAG2BOhPJV5lbg38CvgMOB+930ocCJQBfgQPdzbalc2ZVnupufAqx35fYyDOgH9HbLnUpwFPgzMEVEmgfIv9OVqS/Ob7M9cEvojwiqmo/TR3e5/ZvtyR4DnInTj0cAc4FJQDvgZRyl3cJT/jzgNKCz+5nGu+m5ON9XO5z/iz+5n6fRYQoicXjBfaMpO67w5K1X1ZnuUP5RnH/wQ0XkUJyH6CRV3aGq3wL3AKM9dYtV9X53SL4bGAFMUdWfVHW12x4AqroE+BHngY3bToGqflNZWFX9EsjC+cd/GvjefWP1KopCVZ2vqntwHritgF/jPITaqeo0Vd3ttjXTI/flwM2qusYdnaxU1SoPPQ/73M+0S1V3hijn5XlVLVTVn4HngZ9V9TG3j5/CUbZhEZEOwADgBlX9WVVXAP8ELvIUe09VX1DVfSHku97z3X8fIH8PjgJMde/ztic9GTgGEFX9VFU3B6g/DnhEVZe7Su1G4HipOGdwp6puc0eB/8V5uAdFVRcA31HxhQT35SUHuFZVt6pqCXAHFX+XNeGvqrrB7cPzgX+p6uvu72sGsB9wQqXyxaq6FeeFpOzz7MH5H+qkqntU9S1tpE7rTEEkDmerahvPMdOT97+yE1X9yT1NwnlgNAc2lz1cgIeAQzx1N3jO2+HMS20Ikg+OwigzG1wAPB5MYFV9X1XPU9V2wCCcN9mbArWtqvsof8vuBKR6FSLOW9yhbvEOwBfB7huA79wHfXXwKr2dAa4DjYgCkQqUPQTLWI+jOMuo3MeBmOH57g8OkP9HQIAlrlnlUgBVfRN4AGdk+K2I5ItI6yByri+7UNVSnJGGV87/ec5/IrI+uBnnO2/lSWsH7A8Uer7fV9302uDtx8qfZ5+bH8nn+T9gHfBvEflSRCbXUq6ExRREw2YDjnnkYM/DpbWq9vCU8b4ZfYdjjjrck9ahUptPAGeJM1/QDXghEkFUdSnwHNAzUNuuWelwoNiV+6tKCjFZVc/wfK4jI7lv2e0rXe/AeUCV3fuwarRVXYqBg0Qk2ZPWEdjkua7126mq/k9Vr1DVVOBK4G/izqmo6l9VNQPojmPW+UMQOTuVXYjIAUDbSnLWRK7XcR62V3mSv8dRsj083++Bqlr2gA73/QTrL2965c8jOL+3sJ/HnS/LVdUjgOHAdSJySrh6DRFTEA0Y15TwbyBPRFqLSBMROVJEBgcp/wvOQ9wnIvuLyDFUNIWgqhuBpTgjh2eDmUREZKA76XmIe30Mzj/b+55iGSJyrog0w7EV73LzlwAl7qTjfuJMSvcUkX5uvX8Ct4rI0e4kbG8RaevmfYNjfw7FSqCHiPR1JyZ9YcrXGFXdALwLTBeRViLSG7gMR9HWGSIySkTKFPsPOA/LfSLST0T6u/MAO4CfcUxulZkLXOL2SUsck88HqlpUB+LdhDPCAfxv8zOBezy/j/aeOaZw308k3/HTwJkicor72XNxfl/vhhNWRIa5E+KCY1L9hcB91uAxBZE4lK2KKTuej7DeRUALYDXOg2M+jn01GBNxJjP/h6ME5uL8Y3l5FOhFCPMSsA1HIXwsIqU4JoTncSbRy3gRx1b8A3AhcK5r8/0FZ0K0L/AVzhvnP125wJmveBpH+W0HHsaxL4PzMHnUNV341+F7UdW1OHsV/gN8DrwdqFwdMgZIw3mrfR5nPqSulyz3Az5w+3oBcI07d9Ma52H8A47JZQuOCaUCrjx/Bp4FNuOM0Go7J1DW9js4St/LDTgji/fFWb31H6CrWz7c9/Mw0N39jl8Ics81OCbQ+3F+P9k4Cwd2RyDy0e69S3EWJ/xNVf8bQb0GhzTSuRcjQkTkL8BhqnqxJ+1EnDfgTjWdvBMRH3CUqgZcBmkYRuyxEYRRARE5xjXZiIgch2MOed6T3xy4BvhnY13ZYRiNBVMQRmWSceYhduAs58zDMQUhzkajbTgmqntjI55hGPWFmZgMwzCMgNgIwjAMwwiIKQjDMAwjIA3Gm+vBBx+saWlpsRbDMAwjoSgsLPze9XZQhQajINLS0li2bFmsxTAMw0goRGR9sDwzMRmGYRgBMQVhGIZhBMQUhGEYhhGQBjMHEYg9e/awceNGfv65up6ejXihVatWHH744TRvHijmjGEY0aRBK4iNGzeSnJxMWloaEjI6ohGPqCpbtmxh48aNdO7cOdbiGEajo0GbmH7++Wfatm1ryiFBERHatm1rI0DDiBENegQBmHJIcOz7q1uKS4ppf3f7CmlJLZLwDfaRe0JujKQy4pUGPYKINUVFRfTs2bNCms/nY8aMGVXKbtiwgZNOOonu3bvTo0cP7rvvPn/en//8Z3r37k3fvn0ZOnQoxcXFABQUFHDggQfSt29f+vbty7Rp08LKNHv2bCZOnFjrMrUlLS2N778PFFrZqG9Kd5fiW+SLtRhGHNLgRxCJQrNmzcjLyyM9PZ2SkhIyMjIYMmQI3bt35w9/+AO33norAH/961+ZNm0a//jHPwAYNGgQL730UixFN+KY4pJi/3lqcmrQcqW7S+tDHCPBsBFEnJCSkkJ6ejoAycnJdOvWjU2bnPC5rVuXx5jfsWNHtc0us2bNokuXLhx33HG88847/vTvvvuOESNG0K9fP/r161chr4yFCxfSv39/jj32WH7zm9/wzTffsG/fPo4++mi+++47APbt28dRRx3Fd999F7TNLVu2MHToUHr06MHll1+OeRGuH9rf3d5/gKMkdIr6D8MIRaNSED4fiER25ORUrZ+TU7GMzxcdOYuKivjwww/p37+/P+2mm26iQ4cOzJkzp4Ip6b333qNPnz6cfvrprFq1qkpbmzdvZsqUKbzzzju8/fbbrF692p93zTXXcO2117J06VKeffZZLr/88ir1Bw4cyPvvv8+HH37I6NGjueuuu2jSpAkXXHABc+bMAeA///kPffr0oV27dkHbnDp1KgMHDmTVqlWcc845fP3113XWX4ZhRAczMUWRYG/6oUYApaWljBgxgnvvvbfCyOH222/n9ttvZ/r06TzwwANMnTqV9PR01q9fT1JSEi+//DJnn302n3/+eYX2PvjgA7KysmjXzvHFdf7557N27VrAebB7Fcb27dspLa1oati4cSPnn38+mzdvZvfu3f7lppdeeilnnXUWkyZN4pFHHuGSSy4J2ebixYt57rnnADjzzDP51a9+FbrzjDon4M/OV99SGIlEoxpB1Ddt27blhx9+qJC2detWDj74YDZs2OCfXC6bT9izZw8jRoxg3LhxnHvuuQHbHDduHM8++yzgmJ6SkpIAOOOMM9izZ0+1Jn737dvH+++/z4oVK1ixYgWbNm3yt1fG1VdfzcSJE/n444956KGH/EtOO3TowKGHHsqbb77JkiVLOP300yNu0zCMxKBRKQifD1QjO/Lzq9bPz69YJpyJKSkpiZSUFN58803AUQ6vvvoqAwcOpEOHDv6H6IQJE1BVLrvsMrp168Z1111XoR3vqODFF1/kmGOOAeB///uf35a/ZMkS9u3bR9u2bSvU7d+/P4sWLWLLli3s2bOHZ555xp83dOhQ7r//fv/1ihUrqnyGH3/8kfbtHfv1o48+WiHv8ssv54ILLmDUqFE0bdo0ZJsnnngiTz75JACvvPJKFcVpxJ7s7MDm1uRkyMuLtXRGLGhUCiIWPPbYY9x666307duXk08+mSlTpnDkkUdWKffOO+/w+OOP8+abb/pHFi+//DIAkydPpmfPnvTu3Zt///vf/iWw8+fPp2fPnvTp04ff//73zJs3r4r5KiUlBZ/Px/HHH8+AAQPo1q2bP++vf/0ry5Yto3fv3nTv3t0/kvHi8/kYNWoUGRkZHHzwwRXyhg8fTmlpqd+8FKrNKVOmsHjxYnr06MFzzz1Hx44da9ijRk0J+DIUwYR1aWn05tuM+KbBxKTOzMzUyvEgPv300woPRKNuWbZsGddeey1vvfVWVO9j32PNkanlLwzhVi1lZ0OoFdMN5FFhVEJEClU1M1CeTVIbNeLOO+/k73//u38lk5HYFBYX8lJmJgR6TOxKggIfYDutGxtRNTGJyGkiskZE1onI5AD5J4rIchHZKyIjPel9ReQ9EVklIh+JyPnRlNOoPpMnT2b9+vUMHDgw1qIY0aZlKWT5Yi2FEQOipiBEpCnwIHA60B0YIyLdKxX7GhgPPFkp/SfgIlXtAZwG3CsibaIlq2EYYWhpO60bI9E0MR0HrFPVLwFEZB5wFuBfJK+qRW7ePm9FVV3rOS8WkW+BdsC2KMprGI2WjNSMgHMU3jkMo/ERTQXRHtjgud4I9A9SNigichzQAvgiQF4OkAPYqhjDCIC50zBqQ1xPUotICvA4cLGq7qucr6r5QD44q5jqWTzDiHu8LmMC7e0JR0pSSt0JYyQc0Zyk3gR08Fwf7qZFhIi0Bv4F3KSq79exbPVG06ZN6du3Lz179mTUqFH89NNPEdddsWIFxx9/PD169KB379489dRT/rzLLruMPn360Lt3b0aOHOl3kbF+/XpOOeUUevfuTVZWFhs3bgx7n2AuyKtbprbYjuu6Z+bM8qMmFOcW+w+j8RFNBbEUOFpEOotIC2A0sCCSim7554HHVHV+FGWMOvvttx8rVqzgk08+oUWLFgE3owVj//3357HHHmPVqlW8+uqrTJo0iW3btgFwzz33sHLlSj766CM6duzIAw88AMD111/PRRddxEcffcQtt9zCjTfeGI2PZRhGIyBqCkJV9wITgdeAT4GnVXWViEwTkeEAItJPRDYCo4CHRKTMHel5wInAeBFZ4R59oyVrfTFo0CDWrVtHQUEBw4YN86dPnDiR2bNnVynfpUsXjj76aABSU1M55JBD/C62yxz5qSo7d+7076BevXo1J598MgAnnXQSL774YkBZbr/9drp06cLAgQNZs2aNP/2LL77gtNNOIyMjg0GDBvHZZ59VqTtz5kz69etHnz59GDFiBD/99BMlJSV07tyZPXv2AI6TvrLrYG1+9dVXHH/88fTq1Yubb765Wn1pREhKYflRAzIyyg+j8RHVfRCq+rKqdlHVI1X1djftFlVd4J4vVdXDVfUAVW3rLmtFVZ9Q1eaq2tdzrKitPL4CHzJVIjpyFlb1952zMKdCGV+BL+J77927l1deeYVevXrVSPYlS5awe/fuCm46LrnkEg477DA+++wzrr76agD69Onj95r6/PPPU1JSwpYtWyq0VVhYyLx581ixYgUvv/wyS5cuLf+MOTncf//9FBYWMmPGDK666qoqspx77rksXbqUlStX0q1bNx5++GGSk5PJysriX//6FwDz5s3j3HPPpXnz5kHbvOaaa/jtb3/Lxx9/TEqK2bqjwpWZ5UcNWL68/IgFee/mkTw9OeT/nK/AR9675iwqGpgvpiizc+dO+vbtS2ZmJh07duSyyy6rdhubN2/mwgsvZNasWTRpUv6VzZo1i+LiYrp16+afn5gxYwaLFi3i2GOPZdGiRbRv397vSK+Mt956i3POOYf999+f1q1bM3z4cMBxNf7uu+8yatQo+vbty5VXXsnmzZuryPPJJ58waNAgevXqxZw5c/xxKC6//HJmzZrll+2SSy4J2eY777zDmDFjALjwwgur3S9GPdBlYfkRI3KPz+XiPhcHzCvaVkTJrhILmRol4noVU0OgbA7CS7Nmzdi3r3xRVpkL7Q8++IArr7wSgGnTpjF8+HC2b9/OmWeeye23386vf/3rKu03bdrUH8jnkksuITU11T+CKC0t5dlnn6VNmzYRybpv3z7atGkT0Kurl/Hjx/PCCy/Qp08fZs+eTUFBAQADBgygqKiIgoIC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",
|
|
"text/plain": [
|
|
"<Figure size 432x288 with 1 Axes>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"chi_d_u235 = np.squeeze(chi_delayed.get_xs(nuclides=['U235'], order_groups='decreasing'))\n",
|
|
"chi_d_pu239 = np.squeeze(chi_delayed.get_xs(nuclides=['Pu239'], order_groups='decreasing'))\n",
|
|
"chi_p_u235 = np.squeeze(chi_prompt.get_xs(nuclides=['U235'], order_groups='decreasing'))\n",
|
|
"chi_p_pu239 = np.squeeze(chi_prompt.get_xs(nuclides=['Pu239'], order_groups='decreasing'))\n",
|
|
"\n",
|
|
"chi_d_u235 = np.append(chi_d_u235 , chi_d_u235[0])\n",
|
|
"chi_d_pu239 = np.append(chi_d_pu239, chi_d_pu239[0])\n",
|
|
"chi_p_u235 = np.append(chi_p_u235 , chi_p_u235[0])\n",
|
|
"chi_p_pu239 = np.append(chi_p_pu239, chi_p_pu239[0])\n",
|
|
"\n",
|
|
"# Create a step plot for the MGXS\n",
|
|
"plt.semilogx(energy_groups.group_edges, chi_d_u235 , drawstyle='steps', color='b', linestyle='--', linewidth=3)\n",
|
|
"plt.semilogx(energy_groups.group_edges, chi_d_pu239, drawstyle='steps', color='g', linestyle='--', linewidth=3)\n",
|
|
"plt.semilogx(energy_groups.group_edges, chi_p_u235 , drawstyle='steps', color='b', linestyle=':', linewidth=3)\n",
|
|
"plt.semilogx(energy_groups.group_edges, chi_p_pu239, drawstyle='steps', color='g', linestyle=':', linewidth=3)\n",
|
|
"\n",
|
|
"plt.title('Energy Spectrum for Fission Neutrons')\n",
|
|
"plt.xlabel('Energy (eV)')\n",
|
|
"plt.ylabel('Fraction on emitted neutrons')\n",
|
|
"plt.legend(['U-235 delayed', 'Pu-239 delayed', 'U-235 prompt', 'Pu-239 prompt'],loc=2)\n",
|
|
"plt.xlim(1.0e3, 20.0e6)"
|
|
]
|
|
}
|
|
],
|
|
"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.9.1"
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 4
|
|
}
|