Calculate k-infinity from four factors in tally-arithmetic notebook

This commit is contained in:
Paul Romano 2015-08-12 09:06:06 +07:00
parent 5e391db9fe
commit 0a024c8dd7

View file

@ -569,7 +569,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 13:51:02\n",
" Date/Time: 2015-08-12 08:58:22\n",
" MPI Processes: 4\n",
"\n",
" ===========================================================================\n",
@ -625,20 +625,20 @@
"\n",
" =======================> TIMING STATISTICS <=======================\n",
"\n",
" Total time for initialization = 1.0760E+00 seconds\n",
" Reading cross sections = 3.6600E-01 seconds\n",
" Total time in simulation = 1.0001E+01 seconds\n",
" Time in transport only = 9.0020E+00 seconds\n",
" Time in inactive batches = 1.7190E+00 seconds\n",
" Time in active batches = 8.2820E+00 seconds\n",
" Time synchronizing fission bank = 8.8400E-01 seconds\n",
" Sampling source sites = 3.7000E-02 seconds\n",
" Total time for initialization = 9.7500E-01 seconds\n",
" Reading cross sections = 2.8800E-01 seconds\n",
" Total time in simulation = 8.2720E+00 seconds\n",
" Time in transport only = 7.8820E+00 seconds\n",
" Time in inactive batches = 1.0260E+00 seconds\n",
" Time in active batches = 7.2460E+00 seconds\n",
" Time synchronizing fission bank = 1.9500E-01 seconds\n",
" Sampling source sites = 2.0000E-03 seconds\n",
" SEND/RECV source sites = 0.0000E+00 seconds\n",
" Time accumulating tallies = 1.6000E-02 seconds\n",
" Time accumulating tallies = 0.0000E+00 seconds\n",
" Total time for finalization = 2.0000E-03 seconds\n",
" Total time elapsed = 1.1089E+01 seconds\n",
" Calculation Rate (inactive) = 7271.67 neutrons/second\n",
" Calculation Rate (active) = 4527.89 neutrons/second\n",
" Total time elapsed = 9.2580E+00 seconds\n",
" Calculation Rate (inactive) = 12183.2 neutrons/second\n",
" Calculation Rate (active) = 5175.27 neutrons/second\n",
"\n",
" ============================> RESULTS <============================\n",
"\n",
@ -792,7 +792,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 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."
"Often in textbooks you'll see k-infinity represented using the four-factor formula $$k_\\infty = p \\epsilon f \\eta.$$ Let's analyze each of these factors, starting with the resonance escape probability which is defined as $$p=\\frac{\\langle\\Sigma_a\\phi\\rangle_T}{\\langle\\Sigma_a\\phi\\rangle}$$ where the subscript $T$ means thermal energies."
]
},
{
@ -1070,12 +1070,81 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's move on to a more complicated example now. Before we set up tallies to get reaction rates in the fuel and moderator in two energy groups for two different nuclides. We can use tally arithmetic to divide each of these reaction rates by the flux to get microscopic multi-group cross sections."
"Now we can calculate $k_\\infty$ using the product of the factors form the four-factor formula."
]
},
{
"cell_type": "code",
"execution_count": 31,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>nuclide</th>\n",
" <th>score</th>\n",
" <th>mean</th>\n",
" <th>std. dev.</th>\n",
" </tr>\n",
" <tr>\n",
" <th>bin</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>total</td>\n",
" <td>(((absorption * nu-fission) * absorption) * (n...</td>\n",
" <td>1.042035</td>\n",
" <td>0.013263</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" nuclide score mean \\\n",
"bin \n",
"0 total (((absorption * nu-fission) * absorption) * (n... 1.042035 \n",
"\n",
" std. dev. \n",
"bin \n",
"0 0.013263 "
]
},
"execution_count": 31,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"keff = res_esc * fast_fiss * therm_util * eta\n",
"keff.get_pandas_dataframe()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We see that the value we've obtained here has exactly the same mean as before. However, because of the way it was calculated, the standard deviation appears to be larger.\n",
"\n",
"Let's move on to a more complicated example now. Before we set up tallies to get reaction rates in the fuel and moderator in two energy groups for two different nuclides. We can use tally arithmetic to divide each of these reaction rates by the flux to get microscopic multi-group cross sections."
]
},
{
"cell_type": "code",
"execution_count": 32,
"metadata": {
"collapsed": false,
"scrolled": true
@ -1091,7 +1160,7 @@
},
{
"cell_type": "code",
"execution_count": 32,
"execution_count": 33,
"metadata": {
"collapsed": false
},
@ -1222,7 +1291,7 @@
"7 1.274353e-05 "
]
},
"execution_count": 32,
"execution_count": 33,
"metadata": {},
"output_type": "execute_result"
}
@ -1241,7 +1310,7 @@
},
{
"cell_type": "code",
"execution_count": 33,
"execution_count": 34,
"metadata": {
"collapsed": false
},
@ -1273,7 +1342,7 @@
},
{
"cell_type": "code",
"execution_count": 34,
"execution_count": 35,
"metadata": {
"collapsed": false
},
@ -1297,7 +1366,7 @@
},
{
"cell_type": "code",
"execution_count": 35,
"execution_count": 36,
"metadata": {
"collapsed": false
},
@ -1328,7 +1397,7 @@
},
{
"cell_type": "code",
"execution_count": 36,
"execution_count": 37,
"metadata": {
"collapsed": false
},
@ -1408,7 +1477,7 @@
"3 10000 6.3e-07 - 2.0e+01 U-235 nu-fission 0.093265 4.590785e-04"
]
},
"execution_count": 36,
"execution_count": 37,
"metadata": {},
"output_type": "execute_result"
}
@ -1421,7 +1490,7 @@
},
{
"cell_type": "code",
"execution_count": 37,
"execution_count": 38,
"metadata": {
"collapsed": false
},
@ -1551,7 +1620,7 @@
"8 10002 1.9e+00 - 2.0e+01 H-1 scatter 0.377400 0.004341"
]
},
"execution_count": 37,
"execution_count": 38,
"metadata": {},
"output_type": "execute_result"
}