Update tally arithmetic notebook to fix an error in thermal flux

utilization. Also make equations prettier.
This commit is contained in:
Paul Romano 2015-08-10 13:26:12 +07:00
parent 8fff5b1810
commit 0d75cbf8c1

View file

@ -572,7 +572,7 @@
" Copyright: 2011-2015 Massachusetts Institute of Technology\n",
" License: http://mit-crpg.github.io/openmc/license.html\n",
" Version: 0.6.2\n",
" Date/Time: 2015-08-10 06:51:18\n",
" Date/Time: 2015-08-10 13:21:32\n",
" MPI Processes: 4\n",
"\n",
" ===========================================================================\n",
@ -628,20 +628,20 @@
"\n",
" =======================> TIMING STATISTICS <=======================\n",
"\n",
" Total time for initialization = 8.9900E-01 seconds\n",
" Reading cross sections = 2.5700E-01 seconds\n",
" Total time in simulation = 9.5070E+00 seconds\n",
" Time in transport only = 8.6890E+00 seconds\n",
" Time in inactive batches = 1.0080E+00 seconds\n",
" Time in active batches = 8.4990E+00 seconds\n",
" Time synchronizing fission bank = 7.8300E-01 seconds\n",
" Sampling source sites = 4.4000E-02 seconds\n",
" SEND/RECV source sites = 0.0000E+00 seconds\n",
" Time accumulating tallies = 3.0000E-03 seconds\n",
" Total time for initialization = 1.4260E+00 seconds\n",
" Reading cross sections = 3.8800E-01 seconds\n",
" Total time in simulation = 9.0700E+00 seconds\n",
" Time in transport only = 8.3270E+00 seconds\n",
" Time in inactive batches = 1.4110E+00 seconds\n",
" Time in active batches = 7.6590E+00 seconds\n",
" Time synchronizing fission bank = 6.7300E-01 seconds\n",
" Sampling source sites = 1.1000E-02 seconds\n",
" SEND/RECV source sites = 2.0000E-03 seconds\n",
" Time accumulating tallies = 1.0000E-03 seconds\n",
" Total time for finalization = 2.0000E-03 seconds\n",
" Total time elapsed = 1.0410E+01 seconds\n",
" Calculation Rate (inactive) = 12400.8 neutrons/second\n",
" Calculation Rate (active) = 4412.28 neutrons/second\n",
" Total time elapsed = 1.0500E+01 seconds\n",
" Calculation Rate (inactive) = 8858.97 neutrons/second\n",
" Calculation Rate (active) = 4896.20 neutrons/second\n",
"\n",
" ============================> RESULTS <============================\n",
"\n",
@ -726,7 +726,8 @@
"metadata": {},
"source": [
"We have a tally of the total fission rate and the total absorption rate, so we can calculate k-infinity as:\n",
"$$k_\\infty = \\frac{\\nu \\Sigma_f \\phi}{\\Sigma_a \\phi}$$"
"$$k_\\infty = \\frac{\\langle \\nu \\Sigma_f \\phi \\rangle}{\\langle \\Sigma_a \\phi \\rangle}$$\n",
"In this notation, $\\langle \\cdot \\rangle^a_b$ represents an OpenMC that is integrated over region $a$ and energy range $b$. If $a$ or $b$ is not reported, it means the value represents an integral over all space or all energy, respectively."
]
},
{
@ -794,7 +795,7 @@
"source": [
"Notice that even though the neutron production rate and absorption rate are separate tallies, we still get a first-order estimate of the uncertainty on the quotient of them automatically!\n",
"\n",
"Now, let's analyze of few of the classic factors in the four-factor formula, starting with the resonance escape probability, which we'll define as $$p=\\frac{\\Sigma_{a,thermal}\\phi}{\\Sigma_a\\phi}$$"
"Now, let's analyze of few of the classic factors in the four-factor formula, starting with the resonance escape probability, which we'll define as $$p=\\frac{\\langle\\Sigma_a\\phi\\rangle_T}{\\langle\\Sigma_a\\phi\\rangle}$$ where the subscript $T$ means thermal energies."
]
},
{
@ -860,7 +861,7 @@
"metadata": {},
"source": [
"The fast fission factor can be calculated as\n",
"$$\\epsilon=\\frac{\\Sigma_f\\phi}{\\Sigma_{f,thermal}\\phi}$$"
"$$\\epsilon=\\frac{\\langle\\Sigma_f\\phi\\rangle}{\\langle\\Sigma_f\\phi\\rangle_T}$$"
]
},
{
@ -927,8 +928,8 @@
"metadata": {},
"source": [
"The thermal flux utilization is calculated as\n",
"$$f=\\frac{\\Sigma_{a,thermal}^F\\phi}{\\Sigma_a\\phi}$$\n",
"where $F$ denotes fuel."
"$$f=\\frac{\\langle\\Sigma_a\\phi\\rangle^F_T}{\\langle\\Sigma_a\\phi\\rangle_T}$$\n",
"where the superscript $F$ denotes fuel."
]
},
{
@ -946,6 +947,8 @@
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>energy [MeV]</th>\n",
" <th>cell</th>\n",
" <th>nuclide</th>\n",
" <th>score</th>\n",
" <th>mean</th>\n",
@ -957,24 +960,28 @@
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>0.0e+00 - 6.2e-01</td>\n",
" <td>10000</td>\n",
" <td>total</td>\n",
" <td>absorption</td>\n",
" <td>0.769263</td>\n",
" <td>0.004172</td>\n",
" <td>0.802094</td>\n",
" <td>0.004432</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" nuclide score mean std. dev.\n",
"bin \n",
"0 total absorption 0.769263 0.004172"
" energy [MeV] cell nuclide score mean std. dev.\n",
"bin \n",
"0 0.0e+00 - 6.2e-01 10000 total absorption 0.802094 0.004432"
]
},
"execution_count": 29,
@ -985,7 +992,7 @@
"source": [
"# Compute thermal flux utilization factor using tally arithmetic\n",
"fuel_therm_abs_rate = sp.get_tally(name='fuel therm. abs. rate')\n",
"therm_util = fuel_therm_abs_rate / abs_rate\n",
"therm_util = fuel_therm_abs_rate / therm_abs_rate\n",
"therm_util.get_pandas_dataframe()"
]
},