{ "cells": [ { "cell_type": "markdown", "id": "0783a4a1", "metadata": {}, "source": [ "# Applied Nuclear Data Assimilation using GLLS\n", "\n", "This example demonstrates the use of the **Generalized Least Squares (GLLS)** method to improve the prediction of an integral application using experimental benchmark data. \n", "\n", "Benchmarks:\n", "- HMF001 \n", "- HMF002-001\n", "\n", "Application:\n", "- HMF002-002" ] }, { "cell_type": "markdown", "id": "43a81f3c", "metadata": {}, "source": [ "### 1. Setup and Imports\n", "We use `andalus` for the assimilation logic and `matplotlib` for visualization, `pandas` is used to interact with the data." ] }, { "cell_type": "code", "execution_count": 13, "id": "53094d52", "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "import pandas as pd\n", "\n", "import andalus" ] }, { "cell_type": "markdown", "id": "a1b06b5b", "metadata": {}, "source": [ "### 2. Reading Serpent Output\n", "We use the `AssimilationSuite.from_yaml` method to easily load in a set of benchmarks / applications and covariance information. \n", "\n", "The `config.yaml` file specifies which isotopes and reactions to include in the analysis." ] }, { "cell_type": "code", "execution_count": 14, "id": "e7ece9d3", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "# Global settings for the analysis\n", "covariances:\n", " file_path: \"../data/covariances_test.h5\"\n", " nuclear_data_library: \"TEST\"\n", "\n", "# List of benchmarks to be loaded into the BenchmarkSuite\n", "benchmarks:\n", " - title: \"HMF001\"\n", " description: \"A bare, highly enriched uranium sphere (GODIVA).\"\n", " m: 1.00000\n", " dm: 0.00100\n", " kind: \"keff\"\n", " sens0_path: \"../data/hmf001.ser_sens0.m\"\n", " results_path: \"../data/hmf001.ser_res.m\"\n", "\n", " - title: \"HMF002-001\"\n", " description: \"Topsy 8-inch tuballoy reflected oralloy assemblies (sphere).\"\n", " m: 1.00000\n", " dm: 0.00300\n", " kind: \"keff\"\n", " sens0_path: \"../data/hmf002-001.ser_sens0.m\"\n", " results_path: \"../data/hmf002-001.ser_res.m\"\n", "\n", "applications:\n", " - title: \"HMF002-002\"\n", " description: \"Topsy 8-inch tuballoy reflected oralloy assemblies (cylinder).\"\n", " sens0_path: \"../data/hmf002-002.ser_sens0.m\"\n", " results_path: \"../data/hmf002-002.ser_res.m\"\n" ] } ], "source": [ "!cat \"config.yaml\"" ] }, { "cell_type": "code", "execution_count": 15, "id": "c0faa586", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Reading ../data/hmf001.ser_res.m\n", "WARNING: SERPENT Serpent 2.2.1 found in ../data/hmf001.ser_res.m, but version 2.1.31 is defined in settings\n", "WARNING: Attempting to read anyway. Please report strange behaviors/failures to developers.\n", " - done\n", "Reading ../data/hmf001.ser_sens0.m\n", " - done\n", "Reading ../data/hmf002-001.ser_res.m\n", "WARNING: SERPENT Serpent 2.2.1 found in ../data/hmf002-001.ser_res.m, but version 2.1.31 is defined in settings\n", "WARNING: Attempting to read anyway. Please report strange behaviors/failures to developers.\n", " - done\n", "Reading ../data/hmf002-001.ser_sens0.m\n", " - done\n", "Reading ../data/hmf002-002.ser_res.m\n", "WARNING: SERPENT Serpent 2.2.1 found in ../data/hmf002-002.ser_res.m, but version 2.1.31 is defined in settings\n", "WARNING: Attempting to read anyway. Please report strange behaviors/failures to developers.\n", " - done\n", "Reading ../data/hmf002-002.ser_sens0.m\n", " - done\n" ] } ], "source": [ "assimilation_suite = andalus.AssimilationSuite.from_yaml(\"config.yaml\")" ] }, { "cell_type": "markdown", "id": "c99eec0b", "metadata": {}, "source": [ "### 3. Energy-Dependent Sensitivities\n", "Visualizing the sensitivity profiles helps us understand which energy ranges drive the $k_{\\text{eff}}$ response. Below we compare U-235 fission (MT 18) sensitivities across all systems." ] }, { "cell_type": "code", "execution_count": 16, "id": "acf9d89a", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\dhouben\\Documents\\andalus\\src\\andalus\\sensitivity.py:230: PerformanceWarning: indexing past lexsort depth may impact performance.\n", " subset = self.loc[zai, pert]\n" ] }, { "data": { "text/plain": [ "[(100.0, 20000000.0)]" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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TJ482bxuwdSpU5GQkIDc3FxkZGQAqL1l7+mnn7aaX+GIS5cumSceNpSYmIj58+cDALp27YrVq1dj9+7dNpN/cHAwAgMDodFoEB0dbXNCXl5eHmpqapCRkYG4uDgAQEJCAkRRxA8//GCzzha9Xo93330X69evx4gRIwDULjO9a9curFu3DrNmzbKKv0uXLub46yf/mJgYGI1G5Ofnm1+XiKi5Mfl7iMGDBzdYOKP2+2wvLy+Ly/l15Z06dcKpU6esyp1VWVlp9+uX+ndtALWJ0t4yz1IkJSXh3nvvRUJCAtLT0zFs2DA8+uijCAkJQWJios06W5MVz58/j+rqagwaNMhc5u3tjX79+lmsR9Ew/ujoaKv4fX19AdTOfSAiailM/krw9qv9FC5D/eQr91Y/837efnIjVUxQUJB5JcT6SkpKEBwcbHe/ulsMbWl4/7tKpXJqJSyNRoNdu3bh4MGD2LlzJ95++23MnTsX33zzDWJjY7Fz504cOnTIou7w4cPo2LGjQ69nK/6GXyPUHXvd/edERC2hxSf83RZUqtrL783946KV86S44447cPz4cavyEydOoFu3bnb369WrF86ePevK0CyoVCoMGjQICxYswIkTJ6DVavHZZ581WVdf586dodVqceDAAXNZdXU1jh49iu7du8uK5/vvv0f79u3Nt1MSEbUEfvInh0yZMgWrV6/GCy+8gEmTJkGn0+Hzzz/Hpk2bsH37drv7paenY86cObhx40aT6wE46/Dhw+bv3CMjI3H48GEUFRWZFxjKyclBenq6VV1D/v7+mDJlCmbOnInQ0FB06NABS5cuRUVFhfmWVKn2799vcw4DEVFzYvInh3Tq1Alff/015s6di/vuuw9GoxF33nknPv74YwwfPtzufgkJCejduzc2b96MyZMnS3699evXIzMzU9YDfIKCgrB3716sWLECpaWliIuLw5tvvokRI0bgzJkz2LdvH1auXGlVZ8uSJUsgCALGjRuHsrIy9O3bF9nZ2bLewBgMBmzfvt38jAQiopbC5E8OS0lJwZdffmmetyB1UuC8efMwc+ZMTJo0ybwUZcNbOgFYPIL5woULSE1NtaifPn261S2i9fvp3r07srOzrfoVRRHdu3fHjh077M63yMnJsTgenU6HVatWYdWqVRb91NXbin/Lli0WtyCuW7cOKSkpVmscEBE1NyZ/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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "zais = [922350] # U-235\n", "perts = [18] # Fission (MT 18)\n", "\n", "fig, ax = plt.subplots(figsize=(5, 4), layout=\"constrained\")\n", "\n", "for benchmark in assimilation_suite.benchmarks:\n", " benchmark.s.plot_sensitivity(zais=zais, perts=perts, ax=ax)\n", "\n", "assimilation_suite.applications[\"HMF002-002\"].s.plot_sensitivity(zais=zais, perts=perts, ax=ax)\n", "\n", "ax.set(\n", " xlim=(1e2, 2e7),\n", ")" ] }, { "cell_type": "markdown", "id": "c450771c", "metadata": {}, "source": [ "### 4. Similarity Analysis ($c_k$ Index)\n", "The $c_k$ index quantifies the correlation between systems based on shared nuclear data uncertainties. \n", "\n", "$$\n", "c_k=\\frac{\\text{Cov}(1,2)}{\\sqrt(\\text{Var}(1)\\text{Var}(2))}\n", "$$\n", "\n", "Values close to 1.0 indicate that the benchmark is an excellent surrogate for the application." ] }, { "cell_type": "code", "execution_count": 17, "id": "9f6972d6", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " HMF001 HMF002-001 HMF002-002\n", "HMF001 1.00000e+00 8.58986e-01 8.61173e-01\n", "HMF002-001 8.58986e-01 1.00000e+00 9.99814e-01\n", "HMF002-002 8.61173e-01 9.99814e-01 1.00000e+00\n" ] } ], "source": [ "# Print the ck-similarity matrix\n", "ck_matrix = assimilation_suite.ck_matrix()\n", "print(ck_matrix)" ] }, { "cell_type": "code", "execution_count": 18, "id": "fba912e7", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "HMF001 8.61173e-01\n", "HMF002-001 9.99814e-01\n", "Name: HMF002-002, dtype: float64\n" ] } ], "source": [ "# Print the ck-similarity values for a specific target\n", "ck_target = assimilation_suite.ck_target(\"HMF002-002\")\n", "print(ck_target)" ] }, { "cell_type": "markdown", "id": "c8e35825", "metadata": {}, "source": [ "We can see that HMF002-001 has more than 99% of the nuclear data uncertainties with regards to keff in common, meaning that if we reduce the nuclear data uncertainties in HMF002-001, we will also reduce the uncertainty in predicting keff with regards to the uncertainties due to nuclear data in HMF002-002." ] }, { "cell_type": "markdown", "id": "2861ba20", "metadata": {}, "source": [ "### 5. Performing the GLLS Adjustment\n", "We now calculate the posterior suite. This updates the nominal values ($c$) and reduces the covariance matrix based on the experimental evidence from the benchmarks." ] }, { "cell_type": "code", "execution_count": 19, "id": "0e16a03d", "metadata": {}, "outputs": [ { "data": { "image/png": "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H4VtMBj097//Xffff7+GDRsmDw8PjRw5Us8++6yjS2tXBsvlLp3RwH9f+f/73/9WeXm5jEajo8uyG57tD3RsFy5cUHFxcYe9h72ja+73d+mi9HK51GFH+7eljIwM7d+/X7t373Z0KQAAXDHCHwAAN0P4AwDgZgh/G/CQHwCAKyP8bUCfPwDAlRH+AAC4GcIfAAA3Q/jbgD5/AIArI/xtQJ8/AKA5CxcuVFxcnKPLaBKP9wUA/MfCdn5k+cLyK1p96tSpevnllyVJnTt3VkREhKZMmaKHH3643tv9rtT27duVnJys06dPq1u3bjZv55I5c+bo/vvvb/V22grhDwBwKSNHjtSaNWtUXV2td955RxkZGercubPmz5/v6NJksVhkNpvl7+8vf3//Vm3r4sWL6ty5s50qq49mfwCAS/H29lZISIgiIyN17733KiUlRW+//bZOnz6tKVOmqHv37vL19VVaWpoOHjxo/d7XX3+tMWPGqHv37vLz89N1112nd955R0eOHLG+Hr579+4yGAyaOnWqJKmurk7Z2dnq27evunTpotjYWK1bt866ze3bt8tgMOjdd99VfHy8vL299Y9//KNBs39dXZ0WL16sPn36yNvb2/qK+UuOHDkig8GgtWvXavjw4fLx8dGrr77aZj9DrvxtwCt9AcB5dOnSRd99952mTp2qgwcP6u2335bRaNS8efM0atQo7d+/X507d1ZGRoZqampUUFAgPz8/7d+/X/7+/goPD9ebb76p2267TQcOHJDRaFSXLl0kSdnZ2XrllVe0YsUKXXPNNSooKNBdd92lXr16afjw4dYasrKy9NRTT+mqq65S9+7dtX379no1/ulPf9KyZcv04osvatCgQVq9erV+9atf6fPPP9c111xTbzvLli3ToEGD2vSlS4S/DXilLwA4nsViUX5+vt577z2lpaVpw4YN2rFjh376059Kkl599VWFh4drw4YNuuOOO/TNN9/otttuU0xMjCTpqquusm4rMDBQkhQUFGTt86+urtbjjz+urVu3aujQodbv/OMf/9CLL75YL/wXL16sm266qclan3rqKc2bN0//8z//I0lasmSJtm3bppycHJlMJut6Dz74oMaPH2+Hn07zCH8AgEvZuHGj/P39dfHiRdXV1WnSpEkaP368Nm7cqKSkJOt6PXr00IABA/TFF19IkmbPnq17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f39/y+uvv97kNi0Wi+Xee++1GI3GZtdpyi233GJ56KGHLBaLxVJYWGiRZDly5Eij61599dWW1157rd68P/7xj5ahQ4daLBaL5f7777f84he/qPf7AhyFK3/ASSUnJ+uFF16QJJ0+fVrPP/+80tLStGvXLkVGRmrv3r06dOiQunbtWu97Fy5c0FdffWWdvu666+Tp6WmdDg0N1WeffSZJKioqkqenp4YPH95sLTfccEO970vSiRMnFBERIUmKioqqV0dwcLA8PT3l4eFRb96JEyes01u3blV2dra+/PJLVVRUqLa2VhcuXNC5c+fk6+srSfLy8qq370s++eQTbdy4UevWrbvsyH+LxdKit9GZzWY9/vjj+tvf/qajR4+qpqZG1dXV1lpiY2P1y1/+UjExMUpNTdXNN9+s22+/Xd27d1dVVZW++uorzZgxw9qiIkm1tbXWZ+RPnTpVN910kwYMGKCRI0dq9OjRuvnmmy9bF9AW6PMHnJSfn5/69eunfv36KTExUStXrlRVVZVeeuklST90BcTHx6uoqKje59///rcmTZpk3U7nzp3rbddgMFgHznXp0qVFtfz3Ni4F6X8PvmtsH83t98iRIxo9erRuuOEGvfnmmyosLJTJZJL0Q9/4JV26dGk0uK+++mpde+21Wr16db3xC43p37+/ysvLdfz48WbXW7p0qf70pz9p3rx52rZtm4qKipSammqtx9PTU1u2bNG7776r6OhoPfvssxowYICKi4utYxVeeumler+Lf/3rX/r4448lSYMHD1ZxcbH++Mc/6vz585owYYJuv/32ZmsC2grhD7gIg8EgDw8PnT9/XtIPYXLw4EEFBQVZ/0i49PnxG9maEhMTo7q6On3wwQdtWXoDhYWFqqur07Jly/STn/xE/fv317Fjx1r8/Z49e+r999/XoUOHNGHChGb/ALj99tvl5eWlJ598stHll55hsGPHDo0dO1Z33XWXYmNjddVVV+nf//53vXUNBoNuvPFGLVq0SP/85z/l5eWlt956S8HBwQoLC9Phw4cb/C769u1r/b7RaNTEiRP10ksvae3atXrzzTf1/ffft/i4AXuh2R9wUtXV1SotLZX0Q7P/c889p8rKSo0ZM0aSdOedd2rp0qUaO3asFi9erD59+ujrr7/W+vXr9bvf/U59+vS57D6ioqKUnp6u6dOnWwf8ff311zpx4oQmTJjQZsfWr18/Xbx4Uc8++6zGjBmjHTt2aMWKFVe0jaCgIL3//vtKTk7Wr3/9a73++uvq1Knh/9LCw8P19NNP67777lNFRYWmTJmiqKgoffvtt/rzn/8sf39/LVu2TNdcc43WrVunjz76SN27d9fy5ctVVlam6OhoST90NeTn5+vmm29WUFCQPvnkE508eVIDBw6UJC1atEizZ89WQECARo4cqerqau3Zs0enT59WZmamli9frtDQUA0aNEgeHh564403FBISYh1wCLQnrvwBJ7Vp0yaFhoYqNDRUSUlJ2r17t9544w2NGDFCkuTr66uCggJFRERo/PjxGjhwoGbMmKELFy7IaDS2eD8vvPCCbr/9ds2aNUvXXnutZs6cWe/2tbYQGxur5cuXa8mSJbr++uv16quv2nTbW0hIiN5//3199tlnuvPOO2U2mxtdb9asWdq8ebOOHj2qcePG6dprr9Xdd98to9GoOXPmSJJ+//vfa/DgwUpNTdWIESMUEhJSbzyB0WhUQUGBRo0apf79++v3v/+9li1bprS0NEnS3XffrZUrV2rNmjWKiYnR8OHDlZuba73y79q1q5588kklJCQoMTFRR44c0TvvvFNvXATQXgwWy/9/nwoAAHAL/MkJAICbIfwBAHAzhD8AAG6G8AcAwM0Q/gAAuBnCHwAAN0P4AwDgZgh/AADcDOEPAICbIfwBAHAzhD8AAG7m/wOE/H876gyMewAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "posterior_suite = assimilation_suite.glls()\n", "\n", "# Compare Chi-Squared reduction\n", "chi_comparison = pd.DataFrame(\n", " {\n", " \"Prior\": assimilation_suite.individual_chi_squared(nuclear_data=False),\n", " \"Posterior\": posterior_suite.individual_chi_squared(nuclear_data=False),\n", " }\n", ")\n", "\n", "fig, ax = plt.subplots(figsize=(5, 4), layout=\"constrained\")\n", "\n", "chi_comparison.plot.bar(ax=ax)\n", "\n", "ax.set(\n", " yscale=\"log\",\n", " ylabel=\"$\\\\chi^2$\",\n", " xlabel=\"Benchmark Cases\",\n", ")\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "b9404c9c", "metadata": {}, "source": [ "### 6. Summary of Results\n", "The plot below shows the $k_{\\text{eff}}$ predictions. Note how the **Posterior** values for the target application (HMF002-002) move significantly closer to the experimental measurement, even though that specific system was not used in the adjustment. This is because HMF002-002 is highly similar to HMF002-001, therefore correcting for the behaviour of one improves the prediction for the behaviour of the other one as well." ] }, { "cell_type": "code", "execution_count": 20, "id": "bc3ebe57", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "prior_unc = assimilation_suite.propagate_nuclear_data_uncertainty()\n", "post_unc = posterior_suite.propagate_nuclear_data_uncertainty()\n", "\n", "fig, ax = plt.subplots(figsize=(5, 4), dpi=100, layout=\"constrained\")\n", "\n", "x = range(len(assimilation_suite.titles))\n", "ax.errorbar([i - 0.1 for i in x], assimilation_suite.c, yerr=prior_unc, fmt=\"o\", capsize=4, label=\"Prior Calc\")\n", "ax.errorbar([i + 0.1 for i in x], posterior_suite.c, yerr=post_unc, fmt=\"o\", capsize=4, label=\"Posterior Calc\")\n", "\n", "# Add experimental measurements (benchmarks + application)\n", "# The final value [1.00000] and uncertainty [0.00300] represent the target application (HMF002-002)\n", "measurement_values = assimilation_suite.benchmarks.m.tolist() + [1.00000]\n", "measurement_uncertainties = assimilation_suite.benchmarks.dm.tolist() + [0.00300]\n", "ax.errorbar(\n", " x,\n", " measurement_values,\n", " yerr=measurement_uncertainties,\n", " fmt=\"s\",\n", " color=\"black\",\n", " label=\"Measurement\",\n", " alpha=0.6,\n", ")\n", "\n", "ax.set_xticks(x)\n", "ax.set_xticklabels(assimilation_suite.titles)\n", "ax.set_ylabel(\"$k_{eff} \\\\pm \\\\sigma$\")\n", "ax.legend()\n", "plt.show()" ] } ], "metadata": { "kernelspec": { "display_name": "andalus", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.12.9" } }, "nbformat": 4, "nbformat_minor": 5 }