diff --git a/.gitignore b/.gitignore index 815e978510..f0378dfc61 100644 --- a/.gitignore +++ b/.gitignore @@ -26,6 +26,7 @@ examples/python/**/*.xml docs/build docs/source/_images/*.pdf docs/source/_images/*.aux +docs/source/pythonapi/generated/ # Source build build diff --git a/.travis.yml b/.travis.yml index acec278ed6..b99ce540b8 100644 --- a/.travis.yml +++ b/.travis.yml @@ -27,7 +27,7 @@ before_install: - conda config --set always_yes yes --set changeps1 no - conda update -q conda - conda info -a - - conda create -q -n test-environment python=$TRAVIS_PYTHON_VERSION numpy scipy h5py pandas + - conda create -q -n test-environment python=$TRAVIS_PYTHON_VERSION numpy scipy h5py=2.5 pandas - source activate test-environment # Install GCC, MPICH, HDF5, PHDF5 diff --git a/docs/source/_templates/myclass.rst b/docs/source/_templates/myclass.rst new file mode 100644 index 0000000000..a0560f93a3 --- /dev/null +++ b/docs/source/_templates/myclass.rst @@ -0,0 +1,7 @@ +{{ fullname }} +{{ underline }} + +.. currentmodule:: {{ module }} + +.. autoclass:: {{ objname }} + :members: diff --git a/docs/source/conf.py b/docs/source/conf.py index 6ca551a431..38661cdb37 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -24,13 +24,8 @@ except ImportError: from mock import Mock as MagicMock -class Mock(MagicMock): - @classmethod - def __getattr__(cls, name): - return Mock() - MOCK_MODULES = ['numpy', 'h5py', 'pandas', 'opencg'] -sys.modules.update((mod_name, Mock()) for mod_name in MOCK_MODULES) +sys.modules.update((mod_name, MagicMock()) for mod_name in MOCK_MODULES) # If extensions (or modules to document with autodoc) are in another directory, @@ -48,6 +43,8 @@ extensions = ['sphinx.ext.autodoc', 'sphinx.ext.napoleon', 'sphinx.ext.mathjax', 'sphinx.ext.autosummary', + 'sphinx.ext.intersphinx', + 'sphinx.ext.viewcode', 'sphinx_numfig', 'notebook_sphinxext'] @@ -65,7 +62,7 @@ master_doc = 'index' # General information about the project. project = u'OpenMC' -copyright = u'2011-2015, Massachusetts Institute of Technology' +copyright = u'2011-2016, Massachusetts Institute of Technology' # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the @@ -122,20 +119,13 @@ pygments_style = 'tango' # -- Options for HTML output --------------------------------------------------- -# The theme to use for HTML and HTML Help pages. Major themes that come with -# Sphinx are currently 'default' and 'sphinxdoc'. -if on_rtd: - html_theme = 'default' - html_logo = '_images/openmc200px.png' -else: - html_theme = 'haiku' - html_theme_options = {'full_logo': True, - 'linkcolor': '#0c3762', - 'visitedlinkcolor': '#0c3762'} - html_logo = '_images/openmc.png' +# The theme to use for HTML and HTML Help pages +if not on_rtd: + import sphinx_rtd_theme + html_theme = 'sphinx_rtd_theme' + html_theme_path = [sphinx_rtd_theme.get_html_theme_path()] -# Add any paths that contain custom themes here, relative to this directory. -#html_theme_path = ["_theme"] +html_logo = '_images/openmc200px.png' # The name for this set of Sphinx documents. If None, it defaults to # " v documentation". @@ -248,4 +238,12 @@ latex_elements = { #Autodocumentation Flags #autodoc_member_order = "groupwise" #autoclass_content = "both" -#autosummary_generate = [] +autosummary_generate = True + +napoleon_use_ivar = True + +intersphinx_mapping = { + 'python': ('https://docs.python.org/3', None), + 'numpy': ('http://docs.scipy.org/doc/numpy/', None), + 'pandas': ('http://pandas.pydata.org/pandas-docs/stable/', None) +} diff --git a/docs/source/pythonapi/ace.rst b/docs/source/pythonapi/ace.rst deleted file mode 100644 index 4810ec4bbc..0000000000 --- a/docs/source/pythonapi/ace.rst +++ /dev/null @@ -1,8 +0,0 @@ -.. _pythonapi_ace: - -========== -ACE Format -========== - -.. automodule:: openmc.ace - :members: diff --git a/docs/source/pythonapi/cmfd.rst b/docs/source/pythonapi/cmfd.rst deleted file mode 100644 index 51470069fe..0000000000 --- a/docs/source/pythonapi/cmfd.rst +++ /dev/null @@ -1,8 +0,0 @@ -.. _pythonapi_cmfd: - -==== -CMFD -==== - -.. automodule:: openmc.cmfd - :members: diff --git a/docs/source/pythonapi/element.rst b/docs/source/pythonapi/element.rst deleted file mode 100644 index 473cbba45d..0000000000 --- a/docs/source/pythonapi/element.rst +++ /dev/null @@ -1,8 +0,0 @@ -.. _pythonapi_element: - -======= -Element -======= - -.. automodule:: openmc.element - :members: diff --git a/docs/source/pythonapi/energy_groups.rst b/docs/source/pythonapi/energy_groups.rst deleted file mode 100644 index 28ca6f3fe2..0000000000 --- a/docs/source/pythonapi/energy_groups.rst +++ /dev/null @@ -1,8 +0,0 @@ -.. _pythonapi_energy_groups: - -============= -Energy Groups -============= - -.. automodule:: openmc.mgxs.groups - :members: diff --git a/docs/source/pythonapi/examples/mgxs-part-i.ipynb b/docs/source/pythonapi/examples/mgxs-part-i.ipynb index 6b78e9d536..de66cbb837 100644 --- a/docs/source/pythonapi/examples/mgxs-part-i.ipynb +++ b/docs/source/pythonapi/examples/mgxs-part-i.ipynb @@ -141,15 +141,12 @@ }, "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\n", - "from openmc.source import Source\n", - "from openmc.stats import Box\n", - "\n", - "%matplotlib inline" + "import openmc.mgxs as mgxs" ] }, { @@ -342,9 +339,11 @@ "settings_file.inactive = inactive\n", "settings_file.particles = particles\n", "settings_file.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", - "settings_file.source = Source(space=Box(\n", - " bounds[:3], bounds[3:], only_fissionable=True))\n", + "uniform_dist = openmc.stats.Box(bounds[:3], bounds[3:], only_fissionable=True)\n", + "settings_file.source = openmc.source.Source(space=uniform_dist)\n", "\n", "# Export to \"settings.xml\"\n", "settings_file.export_to_xml()" @@ -423,22 +422,24 @@ "data": { "text/plain": [ "OrderedDict([('flux', Tally\n", - " \tID =\t10000\n", - " \tName =\t\n", - " \tFilters =\t\n", - " \t\tcell\t[1]\n", - " \t\tenergy\t[ 0.00000000e+00 6.25000000e-07 2.00000000e+01]\n", - " \tNuclides =\ttotal \n", - " \tScores =\t['flux']\n", - " \tEstimator =\ttracklength), ('absorption', Tally\n", - " \tID =\t10001\n", - " \tName =\t\n", - " \tFilters =\t\n", - " \t\tcell\t[1]\n", - " \t\tenergy\t[ 0.00000000e+00 6.25000000e-07 2.00000000e+01]\n", - " \tNuclides =\ttotal \n", - " \tScores =\t['absorption']\n", - " \tEstimator =\ttracklength)])" + "\tID =\t10000\n", + "\tName =\t\n", + "\tFilters =\t\n", + " \t\tcell\t[1]\n", + " \t\tenergy\t[ 0.00000000e+00 6.25000000e-07 2.00000000e+01]\n", + "\tNuclides =\ttotal \n", + "\tScores =\t['flux']\n", + "\tEstimator =\ttracklength\n", + "), ('absorption', Tally\n", + "\tID =\t10001\n", + "\tName =\t\n", + "\tFilters =\t\n", + " \t\tcell\t[1]\n", + " \t\tenergy\t[ 0.00000000e+00 6.25000000e-07 2.00000000e+01]\n", + "\tNuclides =\ttotal \n", + "\tScores =\t['absorption']\n", + "\tEstimator =\ttracklength\n", + ")])" ] }, "execution_count": 13, @@ -518,8 +519,8 @@ " Copyright: 2011-2015 Massachusetts Institute of Technology\n", " License: http://mit-crpg.github.io/openmc/license.html\n", " Version: 0.7.1\n", - " Git SHA1: 34381b40a9445a727e360873aaa6ef892af1cb6a\n", - " Date/Time: 2016-02-07 15:58:16\n", + " Git SHA1: eeb5091ca3a34cc85df73a3318cae2b6c7097413\n", + " Date/Time: 2016-04-13 11:24:09\n", " MPI Processes: 1\n", "\n", " ===========================================================================\n", @@ -546,56 +547,56 @@ "\n", " Bat./Gen. k Average k \n", " ========= ======== ==================== \n", - " 1/1 1.19804 \n", - " 2/1 1.12945 \n", - " 3/1 1.15573 \n", - " 4/1 1.13929 \n", - " 5/1 1.16300 \n", - " 6/1 1.22117 \n", - " 7/1 1.19012 \n", - " 8/1 1.11299 \n", - " 9/1 1.16066 \n", - " 10/1 1.12566 \n", - " 11/1 1.20854 \n", - " 12/1 1.14691 1.17773 +/- 0.03082\n", - " 13/1 1.17204 1.17583 +/- 0.01789\n", - " 14/1 1.14148 1.16724 +/- 0.01529\n", - " 15/1 1.17272 1.16834 +/- 0.01189\n", - " 16/1 1.18575 1.17124 +/- 0.01014\n", - " 17/1 1.20498 1.17606 +/- 0.00983\n", - " 18/1 1.14754 1.17249 +/- 0.00923\n", - " 19/1 1.18141 1.17348 +/- 0.00820\n", - " 20/1 1.15074 1.17121 +/- 0.00768\n", - " 21/1 1.15914 1.17011 +/- 0.00703\n", - " 22/1 1.14586 1.16809 +/- 0.00673\n", - " 23/1 1.18999 1.16978 +/- 0.00642\n", - " 24/1 1.15101 1.16844 +/- 0.00609\n", - " 25/1 1.13791 1.16640 +/- 0.00602\n", - " 26/1 1.19791 1.16837 +/- 0.00597\n", - " 27/1 1.19818 1.17012 +/- 0.00587\n", - " 28/1 1.14160 1.16854 +/- 0.00576\n", - " 29/1 1.11487 1.16571 +/- 0.00614\n", - " 30/1 1.17538 1.16620 +/- 0.00584\n", - " 31/1 1.20210 1.16791 +/- 0.00581\n", - " 32/1 1.20078 1.16940 +/- 0.00574\n", - " 33/1 1.14624 1.16839 +/- 0.00558\n", - " 34/1 1.14618 1.16747 +/- 0.00542\n", - " 35/1 1.16866 1.16752 +/- 0.00520\n", - " 36/1 1.18565 1.16821 +/- 0.00504\n", - " 37/1 1.16824 1.16821 +/- 0.00485\n", - " 38/1 1.18299 1.16874 +/- 0.00471\n", - " 39/1 1.21418 1.17031 +/- 0.00480\n", - " 40/1 1.11167 1.16835 +/- 0.00504\n", - " 41/1 1.11545 1.16665 +/- 0.00516\n", - " 42/1 1.11114 1.16491 +/- 0.00529\n", - " 43/1 1.14227 1.16423 +/- 0.00517\n", - " 44/1 1.14104 1.16355 +/- 0.00506\n", - " 45/1 1.16756 1.16366 +/- 0.00492\n", - " 46/1 1.13065 1.16274 +/- 0.00487\n", - " 47/1 1.11251 1.16139 +/- 0.00492\n", - " 48/1 1.14731 1.16101 +/- 0.00481\n", - " 49/1 1.16691 1.16117 +/- 0.00469\n", - " 50/1 1.19679 1.16206 +/- 0.00465\n", + " 1/1 1.11184 \n", + " 2/1 1.15820 \n", + " 3/1 1.18468 \n", + " 4/1 1.17492 \n", + " 5/1 1.19645 \n", + " 6/1 1.18436 \n", + " 7/1 1.14070 \n", + " 8/1 1.15150 \n", + " 9/1 1.19202 \n", + " 10/1 1.17677 \n", + " 11/1 1.20272 \n", + " 12/1 1.21366 1.20819 +/- 0.00547\n", + " 13/1 1.15906 1.19181 +/- 0.01668\n", + " 14/1 1.14687 1.18058 +/- 0.01629\n", + " 15/1 1.14570 1.17360 +/- 0.01442\n", + " 16/1 1.13480 1.16713 +/- 0.01343\n", + " 17/1 1.17680 1.16852 +/- 0.01144\n", + " 18/1 1.16866 1.16853 +/- 0.00990\n", + " 19/1 1.19253 1.17120 +/- 0.00913\n", + " 20/1 1.18124 1.17220 +/- 0.00823\n", + " 21/1 1.19206 1.17401 +/- 0.00766\n", + " 22/1 1.17681 1.17424 +/- 0.00700\n", + " 23/1 1.17634 1.17440 +/- 0.00644\n", + " 24/1 1.13659 1.17170 +/- 0.00654\n", + " 25/1 1.17144 1.17169 +/- 0.00609\n", + " 26/1 1.20649 1.17386 +/- 0.00610\n", + " 27/1 1.11238 1.17024 +/- 0.00678\n", + " 28/1 1.18911 1.17129 +/- 0.00647\n", + " 29/1 1.14681 1.17000 +/- 0.00626\n", + " 30/1 1.12152 1.16758 +/- 0.00641\n", + " 31/1 1.12729 1.16566 +/- 0.00639\n", + " 32/1 1.15399 1.16513 +/- 0.00612\n", + " 33/1 1.13547 1.16384 +/- 0.00599\n", + " 34/1 1.17723 1.16440 +/- 0.00576\n", + " 35/1 1.09296 1.16154 +/- 0.00622\n", + " 36/1 1.19621 1.16287 +/- 0.00612\n", + " 37/1 1.12560 1.16149 +/- 0.00605\n", + " 38/1 1.17872 1.16211 +/- 0.00586\n", + " 39/1 1.17721 1.16263 +/- 0.00568\n", + " 40/1 1.13724 1.16178 +/- 0.00555\n", + " 41/1 1.18526 1.16254 +/- 0.00542\n", + " 42/1 1.13779 1.16177 +/- 0.00531\n", + " 43/1 1.15066 1.16143 +/- 0.00516\n", + " 44/1 1.12174 1.16026 +/- 0.00514\n", + " 45/1 1.17479 1.16068 +/- 0.00501\n", + " 46/1 1.14146 1.16014 +/- 0.00489\n", + " 47/1 1.20464 1.16135 +/- 0.00491\n", + " 48/1 1.15119 1.16108 +/- 0.00479\n", + " 49/1 1.17938 1.16155 +/- 0.00468\n", + " 50/1 1.15798 1.16146 +/- 0.00457\n", " Creating state point statepoint.50.h5...\n", "\n", " ===========================================================================\n", @@ -605,27 +606,27 @@ "\n", " =======================> TIMING STATISTICS <=======================\n", "\n", - " Total time for initialization = 3.2100E-01 seconds\n", - " Reading cross sections = 7.4000E-02 seconds\n", - " Total time in simulation = 8.3830E+00 seconds\n", - " Time in transport only = 8.3670E+00 seconds\n", - " Time in inactive batches = 1.0330E+00 seconds\n", - " Time in active batches = 7.3500E+00 seconds\n", - " Time synchronizing fission bank = 4.0000E-03 seconds\n", - " Sampling source sites = 1.0000E-03 seconds\n", + " Total time for initialization = 4.6300E-01 seconds\n", + " Reading cross sections = 1.2100E-01 seconds\n", + " Total time in simulation = 1.6504E+01 seconds\n", + " Time in transport only = 1.6479E+01 seconds\n", + " Time in inactive batches = 1.9620E+00 seconds\n", + " Time in active batches = 1.4542E+01 seconds\n", + " Time synchronizing fission bank = 1.0000E-02 seconds\n", + " Sampling source sites = 4.0000E-03 seconds\n", " SEND/RECV source sites = 3.0000E-03 seconds\n", " Time accumulating tallies = 0.0000E+00 seconds\n", - " Total time for finalization = 1.0000E-03 seconds\n", - " Total time elapsed = 8.7140E+00 seconds\n", - " Calculation Rate (inactive) = 24201.4 neutrons/second\n", - " Calculation Rate (active) = 13605.4 neutrons/second\n", + " Total time for finalization = 0.0000E+00 seconds\n", + " Total time elapsed = 1.6977E+01 seconds\n", + " Calculation Rate (inactive) = 12742.1 neutrons/second\n", + " Calculation Rate (active) = 6876.63 neutrons/second\n", "\n", " ============================> RESULTS <============================\n", "\n", - " k-effective (Collision) = 1.16131 +/- 0.00453\n", - " k-effective (Track-length) = 1.16206 +/- 0.00465\n", - " k-effective (Absorption) = 1.16096 +/- 0.00364\n", - " Combined k-effective = 1.16120 +/- 0.00325\n", + " k-effective (Collision) = 1.15984 +/- 0.00411\n", + " k-effective (Track-length) = 1.16146 +/- 0.00457\n", + " k-effective (Absorption) = 1.16177 +/- 0.00380\n", + " Combined k-effective = 1.16105 +/- 0.00364\n", " Leakage Fraction = 0.00000 +/- 0.00000\n", "\n" ] @@ -751,8 +752,8 @@ "\tDomain Type =\tcell\n", "\tDomain ID =\t1\n", "\tCross Sections [cm^-1]:\n", - " Group 1 [6.25e-07 - 20.0 MeV]:\t6.81e-01 +/- 1.88e-01%\n", - " Group 2 [0.0 - 6.25e-07 MeV]:\t1.40e+00 +/- 5.91e-01%\n", + " Group 1 [6.25e-07 - 20.0 MeV]:\t6.81e-01 +/- 2.69e-01%\n", + " Group 2 [0.0 - 6.25e-07 MeV]:\t1.40e+00 +/- 5.93e-01%\n", "\n", "\n", "\n" @@ -780,7 +781,7 @@ { "data": { "text/html": [ - "
\n", + "
\n", "\n", " \n", " \n", @@ -795,19 +796,19 @@ " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", "
1 1 1 total 0.668323 0.00126411total0.6677870.001802
0 1 2 total 1.293258 0.00762412total1.2920130.007642
\n", @@ -815,8 +816,8 @@ ], "text/plain": [ " cell group in nuclide mean std. dev.\n", - "1 1 1 total 0.668323 0.001264\n", - "0 1 2 total 1.293258 0.007624" + "1 1 1 total 0.667787 0.001802\n", + "0 1 2 total 1.292013 0.007642" ] }, "execution_count": 20, @@ -891,7 +892,7 @@ { "data": { "text/html": [ - "
\n", + "
\n", "\n", " \n", " \n", @@ -908,23 +909,23 @@ " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", "
0 1 0.000000 0.000001 total (((total / flux) - (absorption / flux)) - (sca... 4.884981e-15 0.01127410.000000e+006.250000e-07total(((total / flux) - (absorption / flux)) - (sca...-3.774758e-150.011292
1 1 0.000001 20.000000 total (((total / flux) - (absorption / flux)) - (sca... 1.221245e-15 0.00180216.250000e-072.000000e+01total(((total / flux) - (absorption / flux)) - (sca...1.443290e-150.002570
\n", @@ -935,9 +936,9 @@ "0 1 0.00e+00 6.25e-07 total \n", "1 1 6.25e-07 2.00e+01 total \n", "\n", - " score mean std. dev. \n", - "0 (((total / flux) - (absorption / flux)) - (sca... 4.88e-15 1.13e-02 \n", - "1 (((total / flux) - (absorption / flux)) - (sca... 1.22e-15 1.80e-03 " + " score mean std. dev. \n", + "0 (((total / flux) - (absorption / flux)) - (sca... -3.77e-15 1.13e-02 \n", + "1 (((total / flux) - (absorption / flux)) - (sca... 1.44e-15 2.57e-03 " ] }, "execution_count": 23, @@ -970,7 +971,7 @@ { "data": { "text/html": [ - "
\n", + "
\n", "\n", " \n", " \n", @@ -987,23 +988,23 @@ " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", "
0 1 0.000000 0.000001 total ((absorption / flux) / (total / flux)) 0.076219 0.00065110.000000e+006.250000e-07total((absorption / flux) / (total / flux))0.0761150.000649
1 1 0.000001 20.000000 total ((absorption / flux) / (total / flux)) 0.019319 0.00008616.250000e-072.000000e+01total((absorption / flux) / (total / flux))0.0192630.000095
\n", @@ -1015,8 +1016,8 @@ "1 1 6.25e-07 2.00e+01 total \n", "\n", " score mean std. dev. \n", - "0 ((absorption / flux) / (total / flux)) 7.62e-02 6.51e-04 \n", - "1 ((absorption / flux) / (total / flux)) 1.93e-02 8.65e-05 " + "0 ((absorption / flux) / (total / flux)) 7.61e-02 6.49e-04 \n", + "1 ((absorption / flux) / (total / flux)) 1.93e-02 9.46e-05 " ] }, "execution_count": 24, @@ -1042,7 +1043,7 @@ { "data": { "text/html": [ - "
\n", + "
\n", "\n", " \n", " \n", @@ -1059,23 +1060,23 @@ " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", "
0 1 0.000000 0.000001 total ((scatter / flux) / (total / flux)) 0.923781 0.00771410.000000e+006.250000e-07total((scatter / flux) / (total / flux))0.9238850.007736
1 1 0.000001 20.000000 total ((scatter / flux) / (total / flux)) 0.980681 0.00261716.250000e-072.000000e+01total((scatter / flux) / (total / flux))0.9807370.003737
\n", @@ -1087,8 +1088,8 @@ "1 1 6.25e-07 2.00e+01 total \n", "\n", " score mean std. dev. \n", - "0 ((scatter / flux) / (total / flux)) 9.24e-01 7.71e-03 \n", - "1 ((scatter / flux) / (total / flux)) 9.81e-01 2.62e-03 " + "0 ((scatter / flux) / (total / flux)) 9.24e-01 7.74e-03 \n", + "1 ((scatter / flux) / (total / flux)) 9.81e-01 3.74e-03 " ] }, "execution_count": 25, @@ -1121,7 +1122,7 @@ { "data": { "text/html": [ - "
\n", + "
\n", "\n", " \n", " \n", @@ -1138,23 +1139,23 @@ " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", "
0 1 0.000000 0.000001 total (((absorption / flux) / (total / flux)) + ((sc... 1 0.00774110.000000e+006.250000e-07total(((absorption / flux) / (total / flux)) + ((sc...10.007763
1 1 0.000001 20.000000 total (((absorption / flux) / (total / flux)) + ((sc... 1 0.00261916.250000e-072.000000e+01total(((absorption / flux) / (total / flux)) + ((sc...10.003739
\n", @@ -1166,8 +1167,8 @@ "1 1 6.25e-07 2.00e+01 total \n", "\n", " score mean std. dev. \n", - "0 (((absorption / flux) / (total / flux)) + ((sc... 1.00e+00 7.74e-03 \n", - "1 (((absorption / flux) / (total / flux)) + ((sc... 1.00e+00 2.62e-03 " + "0 (((absorption / flux) / (total / flux)) + ((sc... 1.00e+00 7.76e-03 \n", + "1 (((absorption / flux) / (total / flux)) + ((sc... 1.00e+00 3.74e-03 " ] }, "execution_count": 26, @@ -1200,7 +1201,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", - "version": "2.7.10" + "version": "2.7.6" } }, "nbformat": 4, diff --git a/docs/source/pythonapi/examples/mgxs-part-ii.ipynb b/docs/source/pythonapi/examples/mgxs-part-ii.ipynb index 0a8d7230eb..6ed5cd38d8 100644 --- a/docs/source/pythonapi/examples/mgxs-part-ii.ipynb +++ b/docs/source/pythonapi/examples/mgxs-part-ii.ipynb @@ -34,14 +34,16 @@ "name": "stderr", "output_type": "stream", "text": [ - "/usr/lib/pymodules/python2.7/matplotlib/__init__.py:1173: UserWarning: This call to matplotlib.use() has no effect\n", + "/usr/local/lib/python2.7/dist-packages/matplotlib-1.5.1+1178.ga40c9ec-py2.7-linux-x86_64.egg/matplotlib/__init__.py:884: UserWarning: axes.color_cycle is deprecated and replaced with axes.prop_cycle; please use the latter.\n", + " warnings.warn(self.msg_depr % (key, alt_key))\n", + "/usr/local/lib/python2.7/dist-packages/matplotlib-1.5.1+1178.ga40c9ec-py2.7-linux-x86_64.egg/matplotlib/__init__.py:1362: UserWarning: This call to matplotlib.use() has no effect\n", "because the backend has already been chosen;\n", "matplotlib.use() must be called *before* pylab, matplotlib.pyplot,\n", "or matplotlib.backends is imported for the first time.\n", "\n", " warnings.warn(_use_error_msg)\n", - "/usr/local/lib/python2.7/dist-packages/IPython/kernel/__main__.py:11: QAWarning: pyne.rxname is not yet QA compliant.\n", - "/usr/local/lib/python2.7/dist-packages/IPython/kernel/__main__.py:11: QAWarning: pyne.ace is not yet QA compliant.\n" + "/usr/local/lib/python2.7/dist-packages/IPython/kernel/__main__.py:9: QAWarning: pyne.rxname is not yet QA compliant.\n", + "/usr/local/lib/python2.7/dist-packages/IPython/kernel/__main__.py:9: QAWarning: pyne.ace is not yet QA compliant.\n" ] } ], @@ -52,10 +54,8 @@ "\n", "import openmc\n", "import openmc.mgxs as mgxs\n", - "from openmc.source import Source\n", - "from openmc.stats import Box\n", "import openmoc\n", - "from openmoc.compatible import get_openmoc_geometry\n", + "from openmoc.opencg_compatible import get_openmoc_geometry\n", "import pyne.ace\n", "\n", "%matplotlib inline" @@ -287,9 +287,11 @@ "settings_file.inactive = inactive\n", "settings_file.particles = particles\n", "settings_file.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", - "settings_file.source = Source(space=Box(\n", - " bounds[:3], bounds[3:], only_fissionable=True))\n", + "uniform_dist = openmc.stats.Box(bounds[:3], bounds[3:], only_fissionable=True)\n", + "settings_file.source = openmc.source.Source(space=uniform_dist)\n", "\n", "# Activate tally precision triggers\n", "settings_file.trigger_active = True\n", @@ -450,8 +452,8 @@ " Copyright: 2011-2015 Massachusetts Institute of Technology\n", " License: http://mit-crpg.github.io/openmc/license.html\n", " Version: 0.7.1\n", - " Git SHA1: 263266f4f8807fd38c6ac282fae259ae73fa1eee\n", - " Date/Time: 2016-01-20 18:12:40\n", + " Git SHA1: eeb5091ca3a34cc85df73a3318cae2b6c7097413\n", + " Date/Time: 2016-04-13 11:59:39\n", " MPI Processes: 1\n", "\n", " ===========================================================================\n", @@ -478,91 +480,87 @@ "\n", " Bat./Gen. k Average k \n", " ========= ======== ==================== \n", - " 1/1 1.22593 \n", - " 2/1 1.24245 \n", - " 3/1 1.24545 \n", - " 4/1 1.21868 \n", - " 5/1 1.22429 \n", - " 6/1 1.22607 \n", - " 7/1 1.21456 \n", - " 8/1 1.23816 \n", - " 9/1 1.25060 \n", - " 10/1 1.22806 \n", - " 11/1 1.19821 \n", - " 12/1 1.19897 1.19859 +/- 0.00038\n", - " 13/1 1.22119 1.20612 +/- 0.00754\n", - " 14/1 1.20701 1.20634 +/- 0.00533\n", - " 15/1 1.24784 1.21464 +/- 0.00927\n", - " 16/1 1.22413 1.21622 +/- 0.00773\n", - " 17/1 1.25050 1.22112 +/- 0.00817\n", - " 18/1 1.22006 1.22099 +/- 0.00707\n", - " 19/1 1.22813 1.22178 +/- 0.00629\n", - " 20/1 1.22791 1.22239 +/- 0.00566\n", - " 21/1 1.22729 1.22284 +/- 0.00514\n", - " 22/1 1.19867 1.22083 +/- 0.00510\n", - " 23/1 1.23796 1.22214 +/- 0.00488\n", - " 24/1 1.22412 1.22228 +/- 0.00452\n", - " 25/1 1.22638 1.22256 +/- 0.00421\n", - " 26/1 1.22181 1.22251 +/- 0.00394\n", - " 27/1 1.19055 1.22063 +/- 0.00415\n", - " 28/1 1.20683 1.21986 +/- 0.00399\n", - " 29/1 1.21689 1.21971 +/- 0.00378\n", - " 30/1 1.23670 1.22056 +/- 0.00368\n", - " 31/1 1.21396 1.22024 +/- 0.00352\n", - " 32/1 1.21389 1.21995 +/- 0.00337\n", - " 33/1 1.24649 1.22111 +/- 0.00342\n", - " 34/1 1.23204 1.22156 +/- 0.00330\n", - " 35/1 1.20768 1.22101 +/- 0.00322\n", - " 36/1 1.22271 1.22107 +/- 0.00309\n", - " 37/1 1.21796 1.22096 +/- 0.00298\n", - " 38/1 1.23842 1.22158 +/- 0.00293\n", - " 39/1 1.23080 1.22190 +/- 0.00285\n", - " 40/1 1.23572 1.22236 +/- 0.00279\n", - " 41/1 1.21691 1.22218 +/- 0.00271\n", - " 42/1 1.24616 1.22293 +/- 0.00272\n", - " 43/1 1.21903 1.22282 +/- 0.00264\n", - " 44/1 1.22967 1.22302 +/- 0.00257\n", - " 45/1 1.22053 1.22295 +/- 0.00250\n", - " 46/1 1.24087 1.22344 +/- 0.00248\n", - " 47/1 1.20251 1.22288 +/- 0.00248\n", - " 48/1 1.20331 1.22236 +/- 0.00246\n", - " 49/1 1.22724 1.22249 +/- 0.00240\n", - " 50/1 1.24798 1.22313 +/- 0.00243\n", - " Triggers unsatisfied, max unc./thresh. is 1.32110 for scatter-p1 in tally 10054\n", - " The estimated number of batches is 80\n", + " 1/1 1.20332 \n", + " 2/1 1.22209 \n", + " 3/1 1.24309 \n", + " 4/1 1.22833 \n", + " 5/1 1.21786 \n", + " 6/1 1.22005 \n", + " 7/1 1.20894 \n", + " 8/1 1.22071 \n", + " 9/1 1.21279 \n", + " 10/1 1.22198 \n", + " 11/1 1.22287 \n", + " 12/1 1.25490 1.23888 +/- 0.01602\n", + " 13/1 1.20224 1.22667 +/- 0.01532\n", + " 14/1 1.23375 1.22844 +/- 0.01098\n", + " 15/1 1.23068 1.22889 +/- 0.00851\n", + " 16/1 1.23073 1.22920 +/- 0.00696\n", + " 17/1 1.25364 1.23269 +/- 0.00684\n", + " 18/1 1.20820 1.22963 +/- 0.00667\n", + " 19/1 1.23138 1.22982 +/- 0.00588\n", + " 20/1 1.20682 1.22752 +/- 0.00574\n", + " 21/1 1.23580 1.22827 +/- 0.00525\n", + " 22/1 1.24190 1.22941 +/- 0.00492\n", + " 23/1 1.23125 1.22955 +/- 0.00453\n", + " 24/1 1.21606 1.22859 +/- 0.00430\n", + " 25/1 1.23653 1.22912 +/- 0.00404\n", + " 26/1 1.23850 1.22970 +/- 0.00383\n", + " 27/1 1.20986 1.22853 +/- 0.00378\n", + " 28/1 1.25277 1.22988 +/- 0.00381\n", + " 29/1 1.23334 1.23006 +/- 0.00361\n", + " 30/1 1.24345 1.23073 +/- 0.00349\n", + " 31/1 1.21565 1.23001 +/- 0.00339\n", + " 32/1 1.20555 1.22890 +/- 0.00342\n", + " 33/1 1.22995 1.22895 +/- 0.00327\n", + " 34/1 1.19763 1.22764 +/- 0.00339\n", + " 35/1 1.22645 1.22760 +/- 0.00325\n", + " 36/1 1.23900 1.22803 +/- 0.00316\n", + " 37/1 1.24305 1.22859 +/- 0.00309\n", + " 38/1 1.22484 1.22846 +/- 0.00298\n", + " 39/1 1.20986 1.22782 +/- 0.00294\n", + " 40/1 1.23764 1.22814 +/- 0.00286\n", + " 41/1 1.20476 1.22739 +/- 0.00287\n", + " 42/1 1.21652 1.22705 +/- 0.00280\n", + " 43/1 1.21279 1.22662 +/- 0.00275\n", + " 44/1 1.20210 1.22590 +/- 0.00276\n", + " 45/1 1.22644 1.22591 +/- 0.00268\n", + " 46/1 1.22907 1.22600 +/- 0.00261\n", + " 47/1 1.24057 1.22639 +/- 0.00257\n", + " 48/1 1.21610 1.22612 +/- 0.00251\n", + " 49/1 1.22199 1.22602 +/- 0.00245\n", + " 50/1 1.20860 1.22558 +/- 0.00243\n", + " Triggers unsatisfied, max unc./thresh. is 1.25496 for flux in tally 10050\n", + " The estimated number of batches is 73\n", " Creating state point statepoint.050.h5...\n", - " 51/1 1.22253 1.22311 +/- 0.00237\n", - " 52/1 1.24330 1.22359 +/- 0.00236\n", - " 53/1 1.23251 1.22380 +/- 0.00231\n", - " 54/1 1.21133 1.22352 +/- 0.00228\n", - " 55/1 1.24503 1.22399 +/- 0.00228\n", - " 56/1 1.22013 1.22391 +/- 0.00223\n", - " 57/1 1.23877 1.22423 +/- 0.00220\n", - " 58/1 1.23793 1.22451 +/- 0.00218\n", - " 59/1 1.21018 1.22422 +/- 0.00215\n", - " 60/1 1.22417 1.22422 +/- 0.00211\n", - " 61/1 1.23094 1.22435 +/- 0.00207\n", - " 62/1 1.23310 1.22452 +/- 0.00204\n", - " 63/1 1.22488 1.22453 +/- 0.00200\n", - " 64/1 1.22702 1.22457 +/- 0.00196\n", - " 65/1 1.18834 1.22391 +/- 0.00204\n", - " 66/1 1.23112 1.22404 +/- 0.00200\n", - " 67/1 1.21611 1.22390 +/- 0.00197\n", - " 68/1 1.22513 1.22392 +/- 0.00194\n", - " 69/1 1.21741 1.22381 +/- 0.00191\n", - " 70/1 1.22484 1.22383 +/- 0.00188\n", - " 71/1 1.19662 1.22338 +/- 0.00190\n", - " 72/1 1.23315 1.22354 +/- 0.00187\n", - " 73/1 1.22796 1.22361 +/- 0.00185\n", - " 74/1 1.21417 1.22346 +/- 0.00182\n", - " 75/1 1.21020 1.22326 +/- 0.00181\n", - " 76/1 1.23413 1.22343 +/- 0.00179\n", - " 77/1 1.22184 1.22340 +/- 0.00176\n", - " 78/1 1.20309 1.22310 +/- 0.00176\n", - " 79/1 1.23458 1.22327 +/- 0.00174\n", - " 80/1 1.20724 1.22304 +/- 0.00173\n", - " Triggers satisfied for batch 80\n", - " Creating state point statepoint.080.h5...\n", + " 51/1 1.21850 1.22541 +/- 0.00237\n", + " 52/1 1.22833 1.22548 +/- 0.00232\n", + " 53/1 1.20239 1.22494 +/- 0.00233\n", + " 54/1 1.24876 1.22548 +/- 0.00234\n", + " 55/1 1.20670 1.22506 +/- 0.00232\n", + " 56/1 1.24260 1.22545 +/- 0.00230\n", + " 57/1 1.21039 1.22512 +/- 0.00228\n", + " 58/1 1.23929 1.22542 +/- 0.00225\n", + " 59/1 1.21357 1.22518 +/- 0.00221\n", + " 60/1 1.23456 1.22537 +/- 0.00218\n", + " 61/1 1.23963 1.22565 +/- 0.00215\n", + " 62/1 1.24020 1.22593 +/- 0.00213\n", + " 63/1 1.22325 1.22587 +/- 0.00209\n", + " 64/1 1.22070 1.22578 +/- 0.00205\n", + " 65/1 1.22423 1.22575 +/- 0.00201\n", + " 66/1 1.22973 1.22582 +/- 0.00198\n", + " 67/1 1.21842 1.22569 +/- 0.00195\n", + " 68/1 1.19552 1.22517 +/- 0.00198\n", + " 69/1 1.21475 1.22500 +/- 0.00196\n", + " 70/1 1.21888 1.22489 +/- 0.00193\n", + " 71/1 1.19720 1.22444 +/- 0.00195\n", + " 72/1 1.23770 1.22465 +/- 0.00193\n", + " 73/1 1.23894 1.22488 +/- 0.00191\n", + " Triggers unsatisfied, max unc./thresh. is 1.00243 for flux in tally 10050\n", + " The estimated number of batches is 74\n", + " 74/1 1.22437 1.22487 +/- 0.00188\n", + " Triggers satisfied for batch 74\n", + " Creating state point statepoint.074.h5...\n", "\n", " ===========================================================================\n", " ======================> SIMULATION FINISHED <======================\n", @@ -571,27 +569,27 @@ "\n", " =======================> TIMING STATISTICS <=======================\n", "\n", - " Total time for initialization = 4.3200E-01 seconds\n", - " Reading cross sections = 9.1000E-02 seconds\n", - " Total time in simulation = 2.2239E+02 seconds\n", - " Time in transport only = 2.2234E+02 seconds\n", - " Time in inactive batches = 1.3715E+01 seconds\n", - " Time in active batches = 2.0867E+02 seconds\n", - " Time synchronizing fission bank = 2.3000E-02 seconds\n", - " Sampling source sites = 1.7000E-02 seconds\n", - " SEND/RECV source sites = 6.0000E-03 seconds\n", - " Time accumulating tallies = 2.0000E-03 seconds\n", - " Total time for finalization = 9.0000E-03 seconds\n", - " Total time elapsed = 2.2288E+02 seconds\n", - " Calculation Rate (inactive) = 7291.29 neutrons/second\n", - " Calculation Rate (active) = 1916.88 neutrons/second\n", + " Total time for initialization = 4.0100E-01 seconds\n", + " Reading cross sections = 8.8000E-02 seconds\n", + " Total time in simulation = 2.3897E+02 seconds\n", + " Time in transport only = 2.3892E+02 seconds\n", + " Time in inactive batches = 1.6456E+01 seconds\n", + " Time in active batches = 2.2251E+02 seconds\n", + " Time synchronizing fission bank = 1.8000E-02 seconds\n", + " Sampling source sites = 1.3000E-02 seconds\n", + " SEND/RECV source sites = 4.0000E-03 seconds\n", + " Time accumulating tallies = 0.0000E+00 seconds\n", + " Total time for finalization = 1.2000E-02 seconds\n", + " Total time elapsed = 2.3943E+02 seconds\n", + " Calculation Rate (inactive) = 6076.81 neutrons/second\n", + " Calculation Rate (active) = 1797.66 neutrons/second\n", "\n", " ============================> RESULTS <============================\n", "\n", - " k-effective (Collision) = 1.22327 +/- 0.00148\n", - " k-effective (Track-length) = 1.22304 +/- 0.00173\n", - " k-effective (Absorption) = 1.22407 +/- 0.00129\n", - " Combined k-effective = 1.22373 +/- 0.00113\n", + " k-effective (Collision) = 1.22358 +/- 0.00179\n", + " k-effective (Track-length) = 1.22487 +/- 0.00188\n", + " k-effective (Absorption) = 1.22300 +/- 0.00114\n", + " Combined k-effective = 1.22347 +/- 0.00106\n", " Leakage Fraction = 0.00000 +/- 0.00000\n", "\n" ] @@ -636,7 +634,7 @@ "outputs": [], "source": [ "# Load the last statepoint file\n", - "sp = openmc.StatePoint('statepoint.080.h5')" + "sp = openmc.StatePoint('statepoint.074.h5')" ] }, { @@ -650,7 +648,7 @@ "cell_type": "code", "execution_count": 16, "metadata": { - "collapsed": true + "collapsed": false }, "outputs": [], "source": [ @@ -718,25 +716,25 @@ "\tDomain ID =\t10000\n", "\tNuclide =\tU-235\n", "\tCross Sections [barns]:\n", - " Group 1 [0.821 - 20.0 MeV]:\t3.31e+00 +/- 1.88e-01%\n", - " Group 2 [0.00553 - 0.821 MeV]:\t3.97e+00 +/- 1.24e-01%\n", - " Group 3 [4e-06 - 0.00553 MeV]:\t5.50e+01 +/- 2.02e-01%\n", - " Group 4 [6.25e-07 - 4e-06 MeV]:\t8.83e+01 +/- 3.56e-01%\n", - " Group 5 [2.8e-07 - 6.25e-07 MeV]:\t2.90e+02 +/- 4.54e-01%\n", - " Group 6 [1.4e-07 - 2.8e-07 MeV]:\t4.49e+02 +/- 4.10e-01%\n", - " Group 7 [5.8e-08 - 1.4e-07 MeV]:\t6.87e+02 +/- 2.56e-01%\n", - " Group 8 [0.0 - 5.8e-08 MeV]:\t1.44e+03 +/- 2.82e-01%\n", + " Group 1 [0.821 - 20.0 MeV]:\t3.30e+00 +/- 2.19e-01%\n", + " Group 2 [0.00553 - 0.821 MeV]:\t3.96e+00 +/- 1.32e-01%\n", + " Group 3 [4e-06 - 0.00553 MeV]:\t5.52e+01 +/- 2.31e-01%\n", + " Group 4 [6.25e-07 - 4e-06 MeV]:\t8.83e+01 +/- 2.96e-01%\n", + " Group 5 [2.8e-07 - 6.25e-07 MeV]:\t2.90e+02 +/- 4.64e-01%\n", + " Group 6 [1.4e-07 - 2.8e-07 MeV]:\t4.49e+02 +/- 4.22e-01%\n", + " Group 7 [5.8e-08 - 1.4e-07 MeV]:\t6.87e+02 +/- 2.97e-01%\n", + " Group 8 [0.0 - 5.8e-08 MeV]:\t1.44e+03 +/- 2.91e-01%\n", "\n", "\tNuclide =\tU-238\n", "\tCross Sections [barns]:\n", - " Group 1 [0.821 - 20.0 MeV]:\t1.06e+00 +/- 2.30e-01%\n", - " Group 2 [0.00553 - 0.821 MeV]:\t1.21e-03 +/- 2.25e-01%\n", - " Group 3 [4e-06 - 0.00553 MeV]:\t5.82e-04 +/- 3.09e+00%\n", - " Group 4 [6.25e-07 - 4e-06 MeV]:\t6.54e-06 +/- 3.27e-01%\n", - " Group 5 [2.8e-07 - 6.25e-07 MeV]:\t1.07e-05 +/- 4.39e-01%\n", - " Group 6 [1.4e-07 - 2.8e-07 MeV]:\t1.55e-05 +/- 4.12e-01%\n", - " Group 7 [5.8e-08 - 1.4e-07 MeV]:\t2.30e-05 +/- 2.57e-01%\n", - " Group 8 [0.0 - 5.8e-08 MeV]:\t4.24e-05 +/- 2.81e-01%\n", + " Group 1 [0.821 - 20.0 MeV]:\t1.06e+00 +/- 2.56e-01%\n", + " Group 2 [0.00553 - 0.821 MeV]:\t1.21e-03 +/- 2.55e-01%\n", + " Group 3 [4e-06 - 0.00553 MeV]:\t5.77e-04 +/- 3.67e+00%\n", + " Group 4 [6.25e-07 - 4e-06 MeV]:\t6.54e-06 +/- 2.74e-01%\n", + " Group 5 [2.8e-07 - 6.25e-07 MeV]:\t1.07e-05 +/- 4.55e-01%\n", + " Group 6 [1.4e-07 - 2.8e-07 MeV]:\t1.55e-05 +/- 4.25e-01%\n", + " Group 7 [5.8e-08 - 1.4e-07 MeV]:\t2.30e-05 +/- 2.97e-01%\n", + " Group 8 [0.0 - 5.8e-08 MeV]:\t4.24e-05 +/- 2.90e-01%\n", "\n", "\n", "\n" @@ -771,14 +769,14 @@ "\tDomain Type =\tcell\n", "\tDomain ID =\t10000\n", "\tCross Sections [cm^-1]:\n", - " Group 1 [0.821 - 20.0 MeV]:\t2.52e-02 +/- 2.19e-01%\n", - " Group 2 [0.00553 - 0.821 MeV]:\t1.51e-03 +/- 1.22e-01%\n", - " Group 3 [4e-06 - 0.00553 MeV]:\t2.06e-02 +/- 2.02e-01%\n", - " Group 4 [6.25e-07 - 4e-06 MeV]:\t3.31e-02 +/- 3.56e-01%\n", - " Group 5 [2.8e-07 - 6.25e-07 MeV]:\t1.09e-01 +/- 4.54e-01%\n", - " Group 6 [1.4e-07 - 2.8e-07 MeV]:\t1.69e-01 +/- 4.10e-01%\n", - " Group 7 [5.8e-08 - 1.4e-07 MeV]:\t2.58e-01 +/- 2.56e-01%\n", - " Group 8 [0.0 - 5.8e-08 MeV]:\t5.40e-01 +/- 2.82e-01%\n", + " Group 1 [0.821 - 20.0 MeV]:\t2.52e-02 +/- 2.44e-01%\n", + " Group 2 [0.00553 - 0.821 MeV]:\t1.51e-03 +/- 1.30e-01%\n", + " Group 3 [4e-06 - 0.00553 MeV]:\t2.07e-02 +/- 2.31e-01%\n", + " Group 4 [6.25e-07 - 4e-06 MeV]:\t3.31e-02 +/- 2.96e-01%\n", + " Group 5 [2.8e-07 - 6.25e-07 MeV]:\t1.09e-01 +/- 4.64e-01%\n", + " Group 6 [1.4e-07 - 2.8e-07 MeV]:\t1.69e-01 +/- 4.22e-01%\n", + " Group 7 [5.8e-08 - 1.4e-07 MeV]:\t2.58e-01 +/- 2.97e-01%\n", + " Group 8 [0.0 - 5.8e-08 MeV]:\t5.40e-01 +/- 2.91e-01%\n", "\n", "\n", "\n" @@ -804,17 +802,6 @@ "collapsed": false }, "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/usr/local/lib/python2.7/dist-packages/numpy/lib/shape_base.py:872: DeprecationWarning: using a non-integer number instead of an integer will result in an error in the future\n", - " return c.reshape(shape_out)\n", - "/usr/local/lib/python2.7/dist-packages/numpy/lib/shape_base.py:872: DeprecationWarning: using a non-integer number instead of an integer will result in an error in the future\n", - " return c.reshape(shape_out)\n", - "/usr/local/lib/python2.7/dist-packages/openmc-0.7.1-py2.7.egg/openmc/mgxs/mgxs.py:1303: FutureWarning: sort(columns=....) is deprecated, use sort_values(by=.....)\n" - ] - }, { "data": { "text/html": [ @@ -838,8 +825,8 @@ " 1\n", " 1\n", " H-1\n", - " 0.234022\n", - " 0.003645\n", + " 0.234115\n", + " 0.003568\n", " \n", " \n", " 127\n", @@ -847,8 +834,8 @@ " 1\n", " 1\n", " O-16\n", - " 1.560305\n", - " 0.006280\n", + " 1.563707\n", + " 0.005953\n", " \n", " \n", " 124\n", @@ -856,8 +843,8 @@ " 1\n", " 2\n", " H-1\n", - " 1.588025\n", - " 0.002815\n", + " 1.594129\n", + " 0.002369\n", " \n", " \n", " 125\n", @@ -865,8 +852,8 @@ " 1\n", " 2\n", " O-16\n", - " 0.285147\n", - " 0.001392\n", + " 0.285761\n", + " 0.001676\n", " \n", " \n", " 122\n", @@ -874,8 +861,8 @@ " 1\n", " 3\n", " H-1\n", - " 0.010776\n", - " 0.000186\n", + " 0.011089\n", + " 0.000248\n", " \n", " \n", " 123\n", @@ -892,8 +879,8 @@ " 1\n", " 4\n", " H-1\n", - " 0.000023\n", - " 0.000010\n", + " 0.000000\n", + " 0.000000\n", " \n", " \n", " 121\n", @@ -928,13 +915,13 @@ ], "text/plain": [ " cell group in group out nuclide mean std. dev.\n", - "126 10002 1 1 H-1 0.234022 0.003645\n", - "127 10002 1 1 O-16 1.560305 0.006280\n", - "124 10002 1 2 H-1 1.588025 0.002815\n", - "125 10002 1 2 O-16 0.285147 0.001392\n", - "122 10002 1 3 H-1 0.010776 0.000186\n", + "126 10002 1 1 H-1 0.234115 0.003568\n", + "127 10002 1 1 O-16 1.563707 0.005953\n", + "124 10002 1 2 H-1 1.594129 0.002369\n", + "125 10002 1 2 O-16 0.285761 0.001676\n", + "122 10002 1 3 H-1 0.011089 0.000248\n", "123 10002 1 3 O-16 0.000000 0.000000\n", - "120 10002 1 4 H-1 0.000023 0.000010\n", + "120 10002 1 4 H-1 0.000000 0.000000\n", "121 10002 1 4 O-16 0.000000 0.000000\n", "118 10002 1 5 H-1 0.000000 0.000000\n", "119 10002 1 5 O-16 0.000000 0.000000" @@ -997,18 +984,18 @@ "\tDomain ID =\t10000\n", "\tNuclide =\tU-235\n", "\tCross Sections [cm^-1]:\n", - " Group 1 [6.25e-07 - 20.0 MeV]:\t7.81e-03 +/- 4.75e-01%\n", - " Group 2 [0.0 - 6.25e-07 MeV]:\t1.82e-01 +/- 1.89e-01%\n", + " Group 1 [6.25e-07 - 20.0 MeV]:\t7.73e-03 +/- 5.06e-01%\n", + " Group 2 [0.0 - 6.25e-07 MeV]:\t1.82e-01 +/- 2.05e-01%\n", "\n", "\tNuclide =\tU-238\n", "\tCross Sections [cm^-1]:\n", - " Group 1 [6.25e-07 - 20.0 MeV]:\t2.17e-01 +/- 1.31e-01%\n", - " Group 2 [0.0 - 6.25e-07 MeV]:\t2.53e-01 +/- 2.08e-01%\n", + " Group 1 [6.25e-07 - 20.0 MeV]:\t2.17e-01 +/- 1.44e-01%\n", + " Group 2 [0.0 - 6.25e-07 MeV]:\t2.53e-01 +/- 2.57e-01%\n", "\n", "\tNuclide =\tO-16\n", "\tCross Sections [cm^-1]:\n", - " Group 1 [6.25e-07 - 20.0 MeV]:\t1.45e-01 +/- 1.50e-01%\n", - " Group 2 [0.0 - 6.25e-07 MeV]:\t1.74e-01 +/- 2.66e-01%\n", + " Group 1 [6.25e-07 - 20.0 MeV]:\t1.46e-01 +/- 1.60e-01%\n", + " Group 2 [0.0 - 6.25e-07 MeV]:\t1.75e-01 +/- 2.94e-01%\n", "\n", "\n", "\n" @@ -1026,16 +1013,6 @@ "collapsed": false }, "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/usr/local/lib/python2.7/dist-packages/numpy/lib/shape_base.py:872: DeprecationWarning: using a non-integer number instead of an integer will result in an error in the future\n", - " return c.reshape(shape_out)\n", - "/usr/local/lib/python2.7/dist-packages/numpy/lib/shape_base.py:872: DeprecationWarning: using a non-integer number instead of an integer will result in an error in the future\n", - " return c.reshape(shape_out)\n" - ] - }, { "data": { "text/html": [ @@ -1057,48 +1034,48 @@ " 10000\n", " 1\n", " U-235\n", - " 20.828127\n", - " 0.098842\n", + " 20.611692\n", + " 0.104237\n", " \n", " \n", " 4\n", " 10000\n", " 1\n", " U-238\n", - " 9.582295\n", - " 0.012550\n", + " 9.585358\n", + " 0.013808\n", " \n", " \n", " 5\n", " 10000\n", " 1\n", " O-16\n", - " 3.157358\n", - " 0.004725\n", + " 3.164190\n", + " 0.005049\n", " \n", " \n", " 0\n", " 10000\n", " 2\n", " U-235\n", - " 485.217649\n", - " 0.916465\n", + " 485.413426\n", + " 0.996410\n", " \n", " \n", " 1\n", " 10000\n", " 2\n", " U-238\n", - " 11.176081\n", - " 0.023196\n", + " 11.190386\n", + " 0.028731\n", " \n", " \n", " 2\n", " 10000\n", " 2\n", " O-16\n", - " 3.788167\n", - " 0.010090\n", + " 3.794859\n", + " 0.011139\n", " \n", " \n", "\n", @@ -1106,12 +1083,12 @@ ], "text/plain": [ " cell group in nuclide mean std. dev.\n", - "3 10000 1 U-235 20.828127 0.098842\n", - "4 10000 1 U-238 9.582295 0.012550\n", - "5 10000 1 O-16 3.157358 0.004725\n", - "0 10000 2 U-235 485.217649 0.916465\n", - "1 10000 2 U-238 11.176081 0.023196\n", - "2 10000 2 O-16 3.788167 0.010090" + "3 10000 1 U-235 20.611692 0.104237\n", + "4 10000 1 U-238 9.585358 0.013808\n", + "5 10000 1 O-16 3.164190 0.005049\n", + "0 10000 2 U-235 485.413426 0.996410\n", + "1 10000 2 U-238 11.190386 0.028731\n", + "2 10000 2 O-16 3.794859 0.011139" ] }, "execution_count": 23, @@ -1215,168 +1192,169 @@ "text": [ "[ NORMAL ] Importing ray tracing data from file...\n", "[ NORMAL ] Computing the eigenvalue...\n", - "[ NORMAL ] Iteration 0:\tk_eff = 0.574633\tres = 5.948E-317\n", - "[ NORMAL ] Iteration 1:\tk_eff = 0.679931\tres = 4.254E-01\n", - "[ NORMAL ] Iteration 2:\tk_eff = 0.660910\tres = 1.832E-01\n", - "[ NORMAL ] Iteration 3:\tk_eff = 0.658975\tres = 2.797E-02\n", - "[ NORMAL ] Iteration 4:\tk_eff = 0.642976\tres = 2.928E-03\n", - "[ NORMAL ] Iteration 5:\tk_eff = 0.625710\tres = 2.428E-02\n", - "[ NORMAL ] Iteration 6:\tk_eff = 0.606520\tres = 2.685E-02\n", - "[ NORMAL ] Iteration 7:\tk_eff = 0.587277\tres = 3.067E-02\n", - "[ NORMAL ] Iteration 8:\tk_eff = 0.568777\tres = 3.173E-02\n", - "[ NORMAL ] Iteration 9:\tk_eff = 0.551415\tres = 3.150E-02\n", - "[ NORMAL ] Iteration 10:\tk_eff = 0.535708\tres = 3.052E-02\n", - "[ NORMAL ] Iteration 11:\tk_eff = 0.521916\tres = 2.849E-02\n", - "[ NORMAL ] Iteration 12:\tk_eff = 0.510221\tres = 2.575E-02\n", - "[ NORMAL ] Iteration 13:\tk_eff = 0.500691\tres = 2.241E-02\n", - "[ NORMAL ] Iteration 14:\tk_eff = 0.493392\tres = 1.868E-02\n", - "[ NORMAL ] Iteration 15:\tk_eff = 0.488317\tres = 1.458E-02\n", - "[ NORMAL ] Iteration 16:\tk_eff = 0.485438\tres = 1.028E-02\n", - "[ NORMAL ] Iteration 17:\tk_eff = 0.484705\tres = 5.896E-03\n", - "[ NORMAL ] Iteration 18:\tk_eff = 0.486045\tres = 1.510E-03\n", - "[ NORMAL ] Iteration 19:\tk_eff = 0.489362\tres = 2.766E-03\n", - "[ NORMAL ] Iteration 20:\tk_eff = 0.494546\tres = 6.824E-03\n", - "[ NORMAL ] Iteration 21:\tk_eff = 0.501481\tres = 1.059E-02\n", - "[ NORMAL ] Iteration 22:\tk_eff = 0.510041\tres = 1.402E-02\n", - "[ NORMAL ] Iteration 23:\tk_eff = 0.520094\tres = 1.707E-02\n", - "[ NORMAL ] Iteration 24:\tk_eff = 0.531507\tres = 1.971E-02\n", - "[ NORMAL ] Iteration 25:\tk_eff = 0.544144\tres = 2.194E-02\n", - "[ NORMAL ] Iteration 26:\tk_eff = 0.557872\tres = 2.378E-02\n", - "[ NORMAL ] Iteration 27:\tk_eff = 0.572557\tres = 2.523E-02\n", - "[ NORMAL ] Iteration 28:\tk_eff = 0.588072\tres = 2.632E-02\n", - "[ NORMAL ] Iteration 29:\tk_eff = 0.604293\tres = 2.710E-02\n", - "[ NORMAL ] Iteration 30:\tk_eff = 0.621101\tres = 2.758E-02\n", - "[ NORMAL ] Iteration 31:\tk_eff = 0.638382\tres = 2.781E-02\n", - "[ NORMAL ] Iteration 32:\tk_eff = 0.656032\tres = 2.782E-02\n", - "[ NORMAL ] Iteration 33:\tk_eff = 0.673950\tres = 2.765E-02\n", - "[ NORMAL ] Iteration 34:\tk_eff = 0.692043\tres = 2.731E-02\n", - "[ NORMAL ] Iteration 35:\tk_eff = 0.710227\tres = 2.685E-02\n", - "[ NORMAL ] Iteration 36:\tk_eff = 0.728423\tres = 2.628E-02\n", - "[ NORMAL ] Iteration 37:\tk_eff = 0.746558\tres = 2.562E-02\n", - "[ NORMAL ] Iteration 38:\tk_eff = 0.764569\tres = 2.490E-02\n", - "[ NORMAL ] Iteration 39:\tk_eff = 0.782396\tres = 2.412E-02\n", - "[ NORMAL ] Iteration 40:\tk_eff = 0.799989\tres = 2.332E-02\n", - "[ NORMAL ] Iteration 41:\tk_eff = 0.817301\tres = 2.249E-02\n", - "[ NORMAL ] Iteration 42:\tk_eff = 0.834292\tres = 2.164E-02\n", - "[ NORMAL ] Iteration 43:\tk_eff = 0.850927\tres = 2.079E-02\n", - "[ NORMAL ] Iteration 44:\tk_eff = 0.867177\tres = 1.994E-02\n", - "[ NORMAL ] Iteration 45:\tk_eff = 0.883017\tres = 1.910E-02\n", - "[ NORMAL ] Iteration 46:\tk_eff = 0.898427\tres = 1.827E-02\n", - "[ NORMAL ] Iteration 47:\tk_eff = 0.913389\tres = 1.745E-02\n", - "[ NORMAL ] Iteration 48:\tk_eff = 0.927891\tres = 1.665E-02\n", - "[ NORMAL ] Iteration 49:\tk_eff = 0.941925\tres = 1.588E-02\n", - "[ NORMAL ] Iteration 50:\tk_eff = 0.955483\tres = 1.512E-02\n", - "[ NORMAL ] Iteration 51:\tk_eff = 0.968562\tres = 1.439E-02\n", - "[ NORMAL ] Iteration 52:\tk_eff = 0.981161\tres = 1.369E-02\n", - "[ NORMAL ] Iteration 53:\tk_eff = 0.993282\tres = 1.301E-02\n", - "[ NORMAL ] Iteration 54:\tk_eff = 1.004928\tres = 1.235E-02\n", - "[ NORMAL ] Iteration 55:\tk_eff = 1.016104\tres = 1.172E-02\n", - "[ NORMAL ] Iteration 56:\tk_eff = 1.026816\tres = 1.112E-02\n", - "[ NORMAL ] Iteration 57:\tk_eff = 1.037073\tres = 1.054E-02\n", - "[ NORMAL ] Iteration 58:\tk_eff = 1.046883\tres = 9.989E-03\n", - "[ NORMAL ] Iteration 59:\tk_eff = 1.056257\tres = 9.460E-03\n", - "[ NORMAL ] Iteration 60:\tk_eff = 1.065205\tres = 8.954E-03\n", - "[ NORMAL ] Iteration 61:\tk_eff = 1.073739\tres = 8.472E-03\n", - "[ NORMAL ] Iteration 62:\tk_eff = 1.081871\tres = 8.012E-03\n", - "[ NORMAL ] Iteration 63:\tk_eff = 1.089613\tres = 7.573E-03\n", - "[ NORMAL ] Iteration 64:\tk_eff = 1.096979\tres = 7.156E-03\n", - "[ NORMAL ] Iteration 65:\tk_eff = 1.103980\tres = 6.760E-03\n", - "[ NORMAL ] Iteration 66:\tk_eff = 1.110631\tres = 6.382E-03\n", - "[ NORMAL ] Iteration 67:\tk_eff = 1.116943\tres = 6.024E-03\n", - "[ NORMAL ] Iteration 68:\tk_eff = 1.122931\tres = 5.684E-03\n", - "[ NORMAL ] Iteration 69:\tk_eff = 1.128607\tres = 5.361E-03\n", - "[ NORMAL ] Iteration 70:\tk_eff = 1.133984\tres = 5.055E-03\n", - "[ NORMAL ] Iteration 71:\tk_eff = 1.139075\tres = 4.764E-03\n", - "[ NORMAL ] Iteration 72:\tk_eff = 1.143892\tres = 4.489E-03\n", - "[ NORMAL ] Iteration 73:\tk_eff = 1.148447\tres = 4.229E-03\n", - "[ NORMAL ] Iteration 74:\tk_eff = 1.152752\tres = 3.982E-03\n", - "[ NORMAL ] Iteration 75:\tk_eff = 1.156819\tres = 3.749E-03\n", - "[ NORMAL ] Iteration 76:\tk_eff = 1.160659\tres = 3.528E-03\n", - "[ NORMAL ] Iteration 77:\tk_eff = 1.164282\tres = 3.319E-03\n", - "[ NORMAL ] Iteration 78:\tk_eff = 1.167701\tres = 3.122E-03\n", - "[ NORMAL ] Iteration 79:\tk_eff = 1.170923\tres = 2.936E-03\n", - "[ NORMAL ] Iteration 80:\tk_eff = 1.173961\tres = 2.760E-03\n", - "[ NORMAL ] Iteration 81:\tk_eff = 1.176822\tres = 2.594E-03\n", - "[ NORMAL ] Iteration 82:\tk_eff = 1.179516\tres = 2.437E-03\n", - "[ NORMAL ] Iteration 83:\tk_eff = 1.182052\tres = 2.289E-03\n", - "[ NORMAL ] Iteration 84:\tk_eff = 1.184438\tres = 2.150E-03\n", - "[ NORMAL ] Iteration 85:\tk_eff = 1.186682\tres = 2.019E-03\n", - "[ NORMAL ] Iteration 86:\tk_eff = 1.188792\tres = 1.895E-03\n", - "[ NORMAL ] Iteration 87:\tk_eff = 1.190775\tres = 1.778E-03\n", - "[ NORMAL ] Iteration 88:\tk_eff = 1.192639\tres = 1.668E-03\n", - "[ NORMAL ] Iteration 89:\tk_eff = 1.194389\tres = 1.565E-03\n", - "[ NORMAL ] Iteration 90:\tk_eff = 1.196032\tres = 1.468E-03\n", - "[ NORMAL ] Iteration 91:\tk_eff = 1.197575\tres = 1.376E-03\n", - "[ NORMAL ] Iteration 92:\tk_eff = 1.199023\tres = 1.290E-03\n", - "[ NORMAL ] Iteration 93:\tk_eff = 1.200381\tres = 1.209E-03\n", - "[ NORMAL ] Iteration 94:\tk_eff = 1.201654\tres = 1.133E-03\n", - "[ NORMAL ] Iteration 95:\tk_eff = 1.202849\tres = 1.061E-03\n", - "[ NORMAL ] Iteration 96:\tk_eff = 1.203968\tres = 9.939E-04\n", - "[ NORMAL ] Iteration 97:\tk_eff = 1.205017\tres = 9.307E-04\n", - "[ NORMAL ] Iteration 98:\tk_eff = 1.206000\tres = 8.714E-04\n", - "[ NORMAL ] Iteration 99:\tk_eff = 1.206921\tres = 8.157E-04\n", - "[ NORMAL ] Iteration 100:\tk_eff = 1.207783\tres = 7.634E-04\n", - "[ NORMAL ] Iteration 101:\tk_eff = 1.208590\tres = 7.144E-04\n", - "[ NORMAL ] Iteration 102:\tk_eff = 1.209346\tres = 6.684E-04\n", - "[ NORMAL ] Iteration 103:\tk_eff = 1.210053\tres = 6.252E-04\n", - "[ NORMAL ] Iteration 104:\tk_eff = 1.210715\tres = 5.848E-04\n", - "[ NORMAL ] Iteration 105:\tk_eff = 1.211334\tres = 5.468E-04\n", - "[ NORMAL ] Iteration 106:\tk_eff = 1.211913\tres = 5.113E-04\n", - "[ NORMAL ] Iteration 107:\tk_eff = 1.212454\tres = 4.779E-04\n", - "[ NORMAL ] Iteration 108:\tk_eff = 1.212960\tres = 4.467E-04\n", - "[ NORMAL ] Iteration 109:\tk_eff = 1.213434\tres = 4.175E-04\n", - "[ NORMAL ] Iteration 110:\tk_eff = 1.213876\tres = 3.901E-04\n", - "[ NORMAL ] Iteration 111:\tk_eff = 1.214289\tres = 3.644E-04\n", - "[ NORMAL ] Iteration 112:\tk_eff = 1.214675\tres = 3.404E-04\n", - "[ NORMAL ] Iteration 113:\tk_eff = 1.215036\tres = 3.180E-04\n", - "[ NORMAL ] Iteration 114:\tk_eff = 1.215373\tres = 2.969E-04\n", - "[ NORMAL ] Iteration 115:\tk_eff = 1.215687\tres = 2.773E-04\n", - "[ NORMAL ] Iteration 116:\tk_eff = 1.215981\tres = 2.589E-04\n", - "[ NORMAL ] Iteration 117:\tk_eff = 1.216255\tres = 2.416E-04\n", - "[ NORMAL ] Iteration 118:\tk_eff = 1.216511\tres = 2.256E-04\n", - "[ NORMAL ] Iteration 119:\tk_eff = 1.216750\tres = 2.105E-04\n", - "[ NORMAL ] Iteration 120:\tk_eff = 1.216973\tres = 1.964E-04\n", - "[ NORMAL ] Iteration 121:\tk_eff = 1.217181\tres = 1.833E-04\n", - "[ NORMAL ] Iteration 122:\tk_eff = 1.217376\tres = 1.710E-04\n", - "[ NORMAL ] Iteration 123:\tk_eff = 1.217557\tres = 1.595E-04\n", - "[ NORMAL ] Iteration 124:\tk_eff = 1.217726\tres = 1.488E-04\n", - "[ NORMAL ] Iteration 125:\tk_eff = 1.217883\tres = 1.388E-04\n", - "[ NORMAL ] Iteration 126:\tk_eff = 1.218030\tres = 1.294E-04\n", - "[ NORMAL ] Iteration 127:\tk_eff = 1.218167\tres = 1.207E-04\n", - "[ NORMAL ] Iteration 128:\tk_eff = 1.218295\tres = 1.125E-04\n", - "[ NORMAL ] Iteration 129:\tk_eff = 1.218414\tres = 1.049E-04\n", - "[ NORMAL ] Iteration 130:\tk_eff = 1.218525\tres = 9.777E-05\n", - "[ NORMAL ] Iteration 131:\tk_eff = 1.218629\tres = 9.113E-05\n", - "[ NORMAL ] Iteration 132:\tk_eff = 1.218725\tres = 8.494E-05\n", - "[ NORMAL ] Iteration 133:\tk_eff = 1.218815\tres = 7.916E-05\n", - "[ NORMAL ] Iteration 134:\tk_eff = 1.218899\tres = 7.376E-05\n", - "[ NORMAL ] Iteration 135:\tk_eff = 1.218977\tres = 6.873E-05\n", - "[ NORMAL ] Iteration 136:\tk_eff = 1.219050\tres = 6.404E-05\n", - "[ NORMAL ] Iteration 137:\tk_eff = 1.219117\tres = 5.966E-05\n", - "[ NORMAL ] Iteration 138:\tk_eff = 1.219180\tres = 5.557E-05\n", - "[ NORMAL ] Iteration 139:\tk_eff = 1.219239\tres = 5.177E-05\n", - "[ NORMAL ] Iteration 140:\tk_eff = 1.219294\tres = 4.822E-05\n", - "[ NORMAL ] Iteration 141:\tk_eff = 1.219345\tres = 4.491E-05\n", - "[ NORMAL ] Iteration 142:\tk_eff = 1.219392\tres = 4.182E-05\n", - "[ NORMAL ] Iteration 143:\tk_eff = 1.219437\tres = 3.894E-05\n", - "[ NORMAL ] Iteration 144:\tk_eff = 1.219478\tres = 3.626E-05\n", - "[ NORMAL ] Iteration 145:\tk_eff = 1.219516\tres = 3.376E-05\n", - "[ NORMAL ] Iteration 146:\tk_eff = 1.219552\tres = 3.144E-05\n", - "[ NORMAL ] Iteration 147:\tk_eff = 1.219585\tres = 2.927E-05\n", - "[ NORMAL ] Iteration 148:\tk_eff = 1.219616\tres = 2.724E-05\n", - "[ NORMAL ] Iteration 149:\tk_eff = 1.219645\tres = 2.536E-05\n", - "[ NORMAL ] Iteration 150:\tk_eff = 1.219672\tres = 2.361E-05\n", - "[ NORMAL ] Iteration 151:\tk_eff = 1.219696\tres = 2.197E-05\n", - "[ NORMAL ] Iteration 152:\tk_eff = 1.219720\tres = 2.045E-05\n", - "[ NORMAL ] Iteration 153:\tk_eff = 1.219741\tres = 1.903E-05\n", - "[ NORMAL ] Iteration 154:\tk_eff = 1.219761\tres = 1.771E-05\n", - "[ NORMAL ] Iteration 155:\tk_eff = 1.219780\tres = 1.648E-05\n", - "[ NORMAL ] Iteration 156:\tk_eff = 1.219797\tres = 1.534E-05\n", - "[ NORMAL ] Iteration 157:\tk_eff = 1.219814\tres = 1.427E-05\n", - "[ NORMAL ] Iteration 158:\tk_eff = 1.219829\tres = 1.328E-05\n", - "[ NORMAL ] Iteration 159:\tk_eff = 1.219843\tres = 1.235E-05\n", - "[ NORMAL ] Iteration 160:\tk_eff = 1.219856\tres = 1.149E-05\n", - "[ NORMAL ] Iteration 161:\tk_eff = 1.219868\tres = 1.069E-05\n" + "[ NORMAL ] Iteration 0:\tk_eff = 0.574672\tres = 0.000E+00\n", + "[ NORMAL ] Iteration 1:\tk_eff = 0.679815\tres = 4.253E-01\n", + "[ NORMAL ] Iteration 2:\tk_eff = 0.660826\tres = 1.830E-01\n", + "[ NORMAL ] Iteration 3:\tk_eff = 0.658940\tres = 2.793E-02\n", + "[ NORMAL ] Iteration 4:\tk_eff = 0.643012\tres = 2.853E-03\n", + "[ NORMAL ] Iteration 5:\tk_eff = 0.625810\tres = 2.417E-02\n", + "[ NORMAL ] Iteration 6:\tk_eff = 0.606678\tres = 2.675E-02\n", + "[ NORMAL ] Iteration 7:\tk_eff = 0.587485\tres = 3.057E-02\n", + "[ NORMAL ] Iteration 8:\tk_eff = 0.569029\tres = 3.164E-02\n", + "[ NORMAL ] Iteration 9:\tk_eff = 0.551707\tres = 3.142E-02\n", + "[ NORMAL ] Iteration 10:\tk_eff = 0.536035\tres = 3.044E-02\n", + "[ NORMAL ] Iteration 11:\tk_eff = 0.522275\tres = 2.841E-02\n", + "[ NORMAL ] Iteration 12:\tk_eff = 0.510610\tres = 2.567E-02\n", + "[ NORMAL ] Iteration 13:\tk_eff = 0.501106\tres = 2.234E-02\n", + "[ NORMAL ] Iteration 14:\tk_eff = 0.493832\tres = 1.861E-02\n", + "[ NORMAL ] Iteration 15:\tk_eff = 0.488781\tres = 1.452E-02\n", + "[ NORMAL ] Iteration 16:\tk_eff = 0.485924\tres = 1.023E-02\n", + "[ NORMAL ] Iteration 17:\tk_eff = 0.485211\tres = 5.846E-03\n", + "[ NORMAL ] Iteration 18:\tk_eff = 0.486571\tres = 1.467E-03\n", + "[ NORMAL ] Iteration 19:\tk_eff = 0.489905\tres = 2.802E-03\n", + "[ NORMAL ] Iteration 20:\tk_eff = 0.495105\tres = 6.853E-03\n", + "[ NORMAL ] Iteration 21:\tk_eff = 0.502056\tres = 1.061E-02\n", + "[ NORMAL ] Iteration 22:\tk_eff = 0.510630\tres = 1.404E-02\n", + "[ NORMAL ] Iteration 23:\tk_eff = 0.520696\tres = 1.708E-02\n", + "[ NORMAL ] Iteration 24:\tk_eff = 0.532120\tres = 1.971E-02\n", + "[ NORMAL ] Iteration 25:\tk_eff = 0.544768\tres = 2.194E-02\n", + "[ NORMAL ] Iteration 26:\tk_eff = 0.558505\tres = 2.377E-02\n", + "[ NORMAL ] Iteration 27:\tk_eff = 0.573200\tres = 2.522E-02\n", + "[ NORMAL ] Iteration 28:\tk_eff = 0.588723\tres = 2.631E-02\n", + "[ NORMAL ] Iteration 29:\tk_eff = 0.604951\tres = 2.708E-02\n", + "[ NORMAL ] Iteration 30:\tk_eff = 0.621765\tres = 2.756E-02\n", + "[ NORMAL ] Iteration 31:\tk_eff = 0.639053\tres = 2.779E-02\n", + "[ NORMAL ] Iteration 32:\tk_eff = 0.656709\tres = 2.780E-02\n", + "[ NORMAL ] Iteration 33:\tk_eff = 0.674632\tres = 2.763E-02\n", + "[ NORMAL ] Iteration 34:\tk_eff = 0.692730\tres = 2.729E-02\n", + "[ NORMAL ] Iteration 35:\tk_eff = 0.710919\tres = 2.683E-02\n", + "[ NORMAL ] Iteration 36:\tk_eff = 0.729118\tres = 2.626E-02\n", + "[ NORMAL ] Iteration 37:\tk_eff = 0.747258\tres = 2.560E-02\n", + "[ NORMAL ] Iteration 38:\tk_eff = 0.765273\tres = 2.488E-02\n", + "[ NORMAL ] Iteration 39:\tk_eff = 0.783104\tres = 2.411E-02\n", + "[ NORMAL ] Iteration 40:\tk_eff = 0.800701\tres = 2.330E-02\n", + "[ NORMAL ] Iteration 41:\tk_eff = 0.818017\tres = 2.247E-02\n", + "[ NORMAL ] Iteration 42:\tk_eff = 0.835012\tres = 2.163E-02\n", + "[ NORMAL ] Iteration 43:\tk_eff = 0.851651\tres = 2.078E-02\n", + "[ NORMAL ] Iteration 44:\tk_eff = 0.867906\tres = 1.993E-02\n", + "[ NORMAL ] Iteration 45:\tk_eff = 0.883750\tres = 1.909E-02\n", + "[ NORMAL ] Iteration 46:\tk_eff = 0.899164\tres = 1.826E-02\n", + "[ NORMAL ] Iteration 47:\tk_eff = 0.914131\tres = 1.744E-02\n", + "[ NORMAL ] Iteration 48:\tk_eff = 0.928638\tres = 1.665E-02\n", + "[ NORMAL ] Iteration 49:\tk_eff = 0.942676\tres = 1.587E-02\n", + "[ NORMAL ] Iteration 50:\tk_eff = 0.956239\tres = 1.512E-02\n", + "[ NORMAL ] Iteration 51:\tk_eff = 0.969323\tres = 1.439E-02\n", + "[ NORMAL ] Iteration 52:\tk_eff = 0.981927\tres = 1.368E-02\n", + "[ NORMAL ] Iteration 53:\tk_eff = 0.994054\tres = 1.300E-02\n", + "[ NORMAL ] Iteration 54:\tk_eff = 1.005705\tres = 1.235E-02\n", + "[ NORMAL ] Iteration 55:\tk_eff = 1.016886\tres = 1.172E-02\n", + "[ NORMAL ] Iteration 56:\tk_eff = 1.027604\tres = 1.112E-02\n", + "[ NORMAL ] Iteration 57:\tk_eff = 1.037866\tres = 1.054E-02\n", + "[ NORMAL ] Iteration 58:\tk_eff = 1.047682\tres = 9.987E-03\n", + "[ NORMAL ] Iteration 59:\tk_eff = 1.057062\tres = 9.458E-03\n", + "[ NORMAL ] Iteration 60:\tk_eff = 1.066016\tres = 8.953E-03\n", + "[ NORMAL ] Iteration 61:\tk_eff = 1.074556\tres = 8.471E-03\n", + "[ NORMAL ] Iteration 62:\tk_eff = 1.082693\tres = 8.011E-03\n", + "[ NORMAL ] Iteration 63:\tk_eff = 1.090442\tres = 7.573E-03\n", + "[ NORMAL ] Iteration 64:\tk_eff = 1.097813\tres = 7.156E-03\n", + "[ NORMAL ] Iteration 65:\tk_eff = 1.104820\tres = 6.760E-03\n", + "[ NORMAL ] Iteration 66:\tk_eff = 1.111477\tres = 6.383E-03\n", + "[ NORMAL ] Iteration 67:\tk_eff = 1.117795\tres = 6.025E-03\n", + "[ NORMAL ] Iteration 68:\tk_eff = 1.123789\tres = 5.685E-03\n", + "[ NORMAL ] Iteration 69:\tk_eff = 1.129470\tres = 5.362E-03\n", + "[ NORMAL ] Iteration 70:\tk_eff = 1.134853\tres = 5.056E-03\n", + "[ NORMAL ] Iteration 71:\tk_eff = 1.139950\tres = 4.766E-03\n", + "[ NORMAL ] Iteration 72:\tk_eff = 1.144772\tres = 4.491E-03\n", + "[ NORMAL ] Iteration 73:\tk_eff = 1.149333\tres = 4.230E-03\n", + "[ NORMAL ] Iteration 74:\tk_eff = 1.153643\tres = 3.984E-03\n", + "[ NORMAL ] Iteration 75:\tk_eff = 1.157716\tres = 3.751E-03\n", + "[ NORMAL ] Iteration 76:\tk_eff = 1.161561\tres = 3.530E-03\n", + "[ NORMAL ] Iteration 77:\tk_eff = 1.165190\tres = 3.321E-03\n", + "[ NORMAL ] Iteration 78:\tk_eff = 1.168613\tres = 3.124E-03\n", + "[ NORMAL ] Iteration 79:\tk_eff = 1.171841\tres = 2.938E-03\n", + "[ NORMAL ] Iteration 80:\tk_eff = 1.174883\tres = 2.762E-03\n", + "[ NORMAL ] Iteration 81:\tk_eff = 1.177749\tres = 2.596E-03\n", + "[ NORMAL ] Iteration 82:\tk_eff = 1.180447\tres = 2.439E-03\n", + "[ NORMAL ] Iteration 83:\tk_eff = 1.182988\tres = 2.291E-03\n", + "[ NORMAL ] Iteration 84:\tk_eff = 1.185378\tres = 2.152E-03\n", + "[ NORMAL ] Iteration 85:\tk_eff = 1.187627\tres = 2.021E-03\n", + "[ NORMAL ] Iteration 86:\tk_eff = 1.189741\tres = 1.897E-03\n", + "[ NORMAL ] Iteration 87:\tk_eff = 1.191728\tres = 1.780E-03\n", + "[ NORMAL ] Iteration 88:\tk_eff = 1.193595\tres = 1.670E-03\n", + "[ NORMAL ] Iteration 89:\tk_eff = 1.195349\tres = 1.567E-03\n", + "[ NORMAL ] Iteration 90:\tk_eff = 1.196996\tres = 1.469E-03\n", + "[ NORMAL ] Iteration 91:\tk_eff = 1.198543\tres = 1.378E-03\n", + "[ NORMAL ] Iteration 92:\tk_eff = 1.199994\tres = 1.292E-03\n", + "[ NORMAL ] Iteration 93:\tk_eff = 1.201355\tres = 1.211E-03\n", + "[ NORMAL ] Iteration 94:\tk_eff = 1.202632\tres = 1.134E-03\n", + "[ NORMAL ] Iteration 95:\tk_eff = 1.203829\tres = 1.063E-03\n", + "[ NORMAL ] Iteration 96:\tk_eff = 1.204952\tres = 9.956E-04\n", + "[ NORMAL ] Iteration 97:\tk_eff = 1.206004\tres = 9.324E-04\n", + "[ NORMAL ] Iteration 98:\tk_eff = 1.206989\tres = 8.730E-04\n", + "[ NORMAL ] Iteration 99:\tk_eff = 1.207913\tres = 8.173E-04\n", + "[ NORMAL ] Iteration 100:\tk_eff = 1.208777\tres = 7.650E-04\n", + "[ NORMAL ] Iteration 101:\tk_eff = 1.209587\tres = 7.159E-04\n", + "[ NORMAL ] Iteration 102:\tk_eff = 1.210345\tres = 6.698E-04\n", + "[ NORMAL ] Iteration 103:\tk_eff = 1.211054\tres = 6.266E-04\n", + "[ NORMAL ] Iteration 104:\tk_eff = 1.211718\tres = 5.861E-04\n", + "[ NORMAL ] Iteration 105:\tk_eff = 1.212339\tres = 5.481E-04\n", + "[ NORMAL ] Iteration 106:\tk_eff = 1.212920\tres = 5.125E-04\n", + "[ NORMAL ] Iteration 107:\tk_eff = 1.213463\tres = 4.792E-04\n", + "[ NORMAL ] Iteration 108:\tk_eff = 1.213971\tres = 4.479E-04\n", + "[ NORMAL ] Iteration 109:\tk_eff = 1.214446\tres = 4.186E-04\n", + "[ NORMAL ] Iteration 110:\tk_eff = 1.214890\tres = 3.912E-04\n", + "[ NORMAL ] Iteration 111:\tk_eff = 1.215305\tres = 3.655E-04\n", + "[ NORMAL ] Iteration 112:\tk_eff = 1.215692\tres = 3.414E-04\n", + "[ NORMAL ] Iteration 113:\tk_eff = 1.216055\tres = 3.189E-04\n", + "[ NORMAL ] Iteration 114:\tk_eff = 1.216393\tres = 2.979E-04\n", + "[ NORMAL ] Iteration 115:\tk_eff = 1.216709\tres = 2.782E-04\n", + "[ NORMAL ] Iteration 116:\tk_eff = 1.217004\tres = 2.597E-04\n", + "[ NORMAL ] Iteration 117:\tk_eff = 1.217279\tres = 2.425E-04\n", + "[ NORMAL ] Iteration 118:\tk_eff = 1.217536\tres = 2.263E-04\n", + "[ NORMAL ] Iteration 119:\tk_eff = 1.217776\tres = 2.113E-04\n", + "[ NORMAL ] Iteration 120:\tk_eff = 1.218000\tres = 1.971E-04\n", + "[ NORMAL ] Iteration 121:\tk_eff = 1.218209\tres = 1.840E-04\n", + "[ NORMAL ] Iteration 122:\tk_eff = 1.218404\tres = 1.716E-04\n", + "[ NORMAL ] Iteration 123:\tk_eff = 1.218587\tres = 1.601E-04\n", + "[ NORMAL ] Iteration 124:\tk_eff = 1.218756\tres = 1.494E-04\n", + "[ NORMAL ] Iteration 125:\tk_eff = 1.218915\tres = 1.393E-04\n", + "[ NORMAL ] Iteration 126:\tk_eff = 1.219062\tres = 1.299E-04\n", + "[ NORMAL ] Iteration 127:\tk_eff = 1.219200\tres = 1.212E-04\n", + "[ NORMAL ] Iteration 128:\tk_eff = 1.219329\tres = 1.130E-04\n", + "[ NORMAL ] Iteration 129:\tk_eff = 1.219448\tres = 1.054E-04\n", + "[ NORMAL ] Iteration 130:\tk_eff = 1.219560\tres = 9.822E-05\n", + "[ NORMAL ] Iteration 131:\tk_eff = 1.219664\tres = 9.156E-05\n", + "[ NORMAL ] Iteration 132:\tk_eff = 1.219761\tres = 8.534E-05\n", + "[ NORMAL ] Iteration 133:\tk_eff = 1.219851\tres = 7.954E-05\n", + "[ NORMAL ] Iteration 134:\tk_eff = 1.219936\tres = 7.413E-05\n", + "[ NORMAL ] Iteration 135:\tk_eff = 1.220014\tres = 6.908E-05\n", + "[ NORMAL ] Iteration 136:\tk_eff = 1.220087\tres = 6.437E-05\n", + "[ NORMAL ] Iteration 137:\tk_eff = 1.220156\tres = 5.997E-05\n", + "[ NORMAL ] Iteration 138:\tk_eff = 1.220219\tres = 5.587E-05\n", + "[ NORMAL ] Iteration 139:\tk_eff = 1.220278\tres = 5.205E-05\n", + "[ NORMAL ] Iteration 140:\tk_eff = 1.220333\tres = 4.848E-05\n", + "[ NORMAL ] Iteration 141:\tk_eff = 1.220385\tres = 4.516E-05\n", + "[ NORMAL ] Iteration 142:\tk_eff = 1.220433\tres = 4.206E-05\n", + "[ NORMAL ] Iteration 143:\tk_eff = 1.220477\tres = 3.917E-05\n", + "[ NORMAL ] Iteration 144:\tk_eff = 1.220518\tres = 3.648E-05\n", + "[ NORMAL ] Iteration 145:\tk_eff = 1.220557\tres = 3.397E-05\n", + "[ NORMAL ] Iteration 146:\tk_eff = 1.220593\tres = 3.163E-05\n", + "[ NORMAL ] Iteration 147:\tk_eff = 1.220627\tres = 2.945E-05\n", + "[ NORMAL ] Iteration 148:\tk_eff = 1.220658\tres = 2.742E-05\n", + "[ NORMAL ] Iteration 149:\tk_eff = 1.220687\tres = 2.552E-05\n", + "[ NORMAL ] Iteration 150:\tk_eff = 1.220714\tres = 2.376E-05\n", + "[ NORMAL ] Iteration 151:\tk_eff = 1.220739\tres = 2.212E-05\n", + "[ NORMAL ] Iteration 152:\tk_eff = 1.220762\tres = 2.059E-05\n", + "[ NORMAL ] Iteration 153:\tk_eff = 1.220784\tres = 1.916E-05\n", + "[ NORMAL ] Iteration 154:\tk_eff = 1.220804\tres = 1.783E-05\n", + "[ NORMAL ] Iteration 155:\tk_eff = 1.220823\tres = 1.660E-05\n", + "[ NORMAL ] Iteration 156:\tk_eff = 1.220841\tres = 1.545E-05\n", + "[ NORMAL ] Iteration 157:\tk_eff = 1.220857\tres = 1.437E-05\n", + "[ NORMAL ] Iteration 158:\tk_eff = 1.220872\tres = 1.338E-05\n", + "[ NORMAL ] Iteration 159:\tk_eff = 1.220886\tres = 1.245E-05\n", + "[ NORMAL ] Iteration 160:\tk_eff = 1.220899\tres = 1.158E-05\n", + "[ NORMAL ] Iteration 161:\tk_eff = 1.220912\tres = 1.077E-05\n", + "[ NORMAL ] Iteration 162:\tk_eff = 1.220923\tres = 1.002E-05\n" ] } ], @@ -1408,9 +1386,9 @@ "name": "stdout", "output_type": "stream", "text": [ - "openmc keff = 1.223729\n", - "openmoc keff = 1.219868\n", - "bias [pcm]: -386.1\n" + "openmc keff = 1.223474\n", + "openmoc keff = 1.220923\n", + "bias [pcm]: -255.0\n" ] } ], @@ -1485,237 +1463,237 @@ "text": [ "[ NORMAL ] Importing ray tracing data from file...\n", "[ NORMAL ] Computing the eigenvalue...\n", - "[ NORMAL ] Iteration 0:\tk_eff = 0.495594\tres = 5.948E-317\n", - "[ NORMAL ] Iteration 1:\tk_eff = 0.557312\tres = 5.044E-01\n", - "[ NORMAL ] Iteration 2:\tk_eff = 0.518115\tres = 1.245E-01\n", - "[ NORMAL ] Iteration 3:\tk_eff = 0.509016\tres = 7.033E-02\n", - "[ NORMAL ] Iteration 4:\tk_eff = 0.496279\tres = 1.756E-02\n", - "[ NORMAL ] Iteration 5:\tk_eff = 0.488357\tres = 2.502E-02\n", - "[ NORMAL ] Iteration 6:\tk_eff = 0.482659\tres = 1.596E-02\n", - "[ NORMAL ] Iteration 7:\tk_eff = 0.479523\tres = 1.167E-02\n", - "[ NORMAL ] Iteration 8:\tk_eff = 0.478568\tres = 6.497E-03\n", - "[ NORMAL ] Iteration 9:\tk_eff = 0.479590\tres = 1.991E-03\n", - "[ NORMAL ] Iteration 10:\tk_eff = 0.482388\tres = 2.136E-03\n", - "[ NORMAL ] Iteration 11:\tk_eff = 0.486774\tres = 5.834E-03\n", - "[ NORMAL ] Iteration 12:\tk_eff = 0.492575\tres = 9.091E-03\n", - "[ NORMAL ] Iteration 13:\tk_eff = 0.499632\tres = 1.192E-02\n", - "[ NORMAL ] Iteration 14:\tk_eff = 0.507799\tres = 1.433E-02\n", - "[ NORMAL ] Iteration 15:\tk_eff = 0.516943\tres = 1.635E-02\n", - "[ NORMAL ] Iteration 16:\tk_eff = 0.526942\tres = 1.801E-02\n", - "[ NORMAL ] Iteration 17:\tk_eff = 0.537681\tres = 1.934E-02\n", - "[ NORMAL ] Iteration 18:\tk_eff = 0.549060\tres = 2.038E-02\n", - "[ NORMAL ] Iteration 19:\tk_eff = 0.560984\tres = 2.116E-02\n", - "[ NORMAL ] Iteration 20:\tk_eff = 0.573368\tres = 2.172E-02\n", - "[ NORMAL ] Iteration 21:\tk_eff = 0.586133\tres = 2.207E-02\n", - "[ NORMAL ] Iteration 22:\tk_eff = 0.599207\tres = 2.226E-02\n", - "[ NORMAL ] Iteration 23:\tk_eff = 0.612528\tres = 2.231E-02\n", - "[ NORMAL ] Iteration 24:\tk_eff = 0.626035\tres = 2.223E-02\n", - "[ NORMAL ] Iteration 25:\tk_eff = 0.639676\tres = 2.205E-02\n", - "[ NORMAL ] Iteration 26:\tk_eff = 0.653402\tres = 2.179E-02\n", - "[ NORMAL ] Iteration 27:\tk_eff = 0.667170\tres = 2.146E-02\n", - "[ NORMAL ] Iteration 28:\tk_eff = 0.680942\tres = 2.107E-02\n", - "[ NORMAL ] Iteration 29:\tk_eff = 0.694681\tres = 2.064E-02\n", - "[ NORMAL ] Iteration 30:\tk_eff = 0.708356\tres = 2.018E-02\n", - "[ NORMAL ] Iteration 31:\tk_eff = 0.721940\tres = 1.969E-02\n", - "[ NORMAL ] Iteration 32:\tk_eff = 0.735406\tres = 1.918E-02\n", - "[ NORMAL ] Iteration 33:\tk_eff = 0.748734\tres = 1.865E-02\n", - "[ NORMAL ] Iteration 34:\tk_eff = 0.761904\tres = 1.812E-02\n", - "[ NORMAL ] Iteration 35:\tk_eff = 0.774897\tres = 1.759E-02\n", - "[ NORMAL ] Iteration 36:\tk_eff = 0.787700\tres = 1.705E-02\n", - "[ NORMAL ] Iteration 37:\tk_eff = 0.800299\tres = 1.652E-02\n", - "[ NORMAL ] Iteration 38:\tk_eff = 0.812684\tres = 1.600E-02\n", - "[ NORMAL ] Iteration 39:\tk_eff = 0.824844\tres = 1.547E-02\n", - "[ NORMAL ] Iteration 40:\tk_eff = 0.836772\tres = 1.496E-02\n", - "[ NORMAL ] Iteration 41:\tk_eff = 0.848462\tres = 1.446E-02\n", - "[ NORMAL ] Iteration 42:\tk_eff = 0.859908\tres = 1.397E-02\n", - "[ NORMAL ] Iteration 43:\tk_eff = 0.871105\tres = 1.349E-02\n", - "[ NORMAL ] Iteration 44:\tk_eff = 0.882052\tres = 1.302E-02\n", - "[ NORMAL ] Iteration 45:\tk_eff = 0.892745\tres = 1.257E-02\n", - "[ NORMAL ] Iteration 46:\tk_eff = 0.903184\tres = 1.212E-02\n", - "[ NORMAL ] Iteration 47:\tk_eff = 0.913367\tres = 1.169E-02\n", - "[ NORMAL ] Iteration 48:\tk_eff = 0.923297\tres = 1.128E-02\n", - "[ NORMAL ] Iteration 49:\tk_eff = 0.932972\tres = 1.087E-02\n", - "[ NORMAL ] Iteration 50:\tk_eff = 0.942394\tres = 1.048E-02\n", - "[ NORMAL ] Iteration 51:\tk_eff = 0.951566\tres = 1.010E-02\n", - "[ NORMAL ] Iteration 52:\tk_eff = 0.960490\tres = 9.733E-03\n", - "[ NORMAL ] Iteration 53:\tk_eff = 0.969168\tres = 9.378E-03\n", - "[ NORMAL ] Iteration 54:\tk_eff = 0.977604\tres = 9.035E-03\n", - "[ NORMAL ] Iteration 55:\tk_eff = 0.985800\tres = 8.704E-03\n", - "[ NORMAL ] Iteration 56:\tk_eff = 0.993761\tres = 8.384E-03\n", - "[ NORMAL ] Iteration 57:\tk_eff = 1.001491\tres = 8.076E-03\n", - "[ NORMAL ] Iteration 58:\tk_eff = 1.008992\tres = 7.778E-03\n", - "[ NORMAL ] Iteration 59:\tk_eff = 1.016271\tres = 7.490E-03\n", - "[ NORMAL ] Iteration 60:\tk_eff = 1.023330\tres = 7.213E-03\n", - "[ NORMAL ] Iteration 61:\tk_eff = 1.030174\tres = 6.946E-03\n", - "[ NORMAL ] Iteration 62:\tk_eff = 1.036809\tres = 6.688E-03\n", - "[ NORMAL ] Iteration 63:\tk_eff = 1.043238\tres = 6.440E-03\n", - "[ NORMAL ] Iteration 64:\tk_eff = 1.049466\tres = 6.201E-03\n", - "[ NORMAL ] Iteration 65:\tk_eff = 1.055498\tres = 5.970E-03\n", - "[ NORMAL ] Iteration 66:\tk_eff = 1.061339\tres = 5.748E-03\n", - "[ NORMAL ] Iteration 67:\tk_eff = 1.066993\tres = 5.534E-03\n", - "[ NORMAL ] Iteration 68:\tk_eff = 1.072465\tres = 5.327E-03\n", - "[ NORMAL ] Iteration 69:\tk_eff = 1.077760\tres = 5.129E-03\n", - "[ NORMAL ] Iteration 70:\tk_eff = 1.082882\tres = 4.937E-03\n", - "[ NORMAL ] Iteration 71:\tk_eff = 1.087837\tres = 4.753E-03\n", - "[ NORMAL ] Iteration 72:\tk_eff = 1.092628\tres = 4.575E-03\n", - "[ NORMAL ] Iteration 73:\tk_eff = 1.097260\tres = 4.404E-03\n", - "[ NORMAL ] Iteration 74:\tk_eff = 1.101737\tres = 4.239E-03\n", - "[ NORMAL ] Iteration 75:\tk_eff = 1.106065\tres = 4.081E-03\n", - "[ NORMAL ] Iteration 76:\tk_eff = 1.110247\tres = 3.928E-03\n", - "[ NORMAL ] Iteration 77:\tk_eff = 1.114288\tres = 3.781E-03\n", - "[ NORMAL ] Iteration 78:\tk_eff = 1.118191\tres = 3.639E-03\n", - "[ NORMAL ] Iteration 79:\tk_eff = 1.121961\tres = 3.503E-03\n", - "[ NORMAL ] Iteration 80:\tk_eff = 1.125603\tres = 3.372E-03\n", - "[ NORMAL ] Iteration 81:\tk_eff = 1.129119\tres = 3.245E-03\n", - "[ NORMAL ] Iteration 82:\tk_eff = 1.132513\tres = 3.124E-03\n", - "[ NORMAL ] Iteration 83:\tk_eff = 1.135790\tres = 3.007E-03\n", - "[ NORMAL ] Iteration 84:\tk_eff = 1.138954\tres = 2.894E-03\n", - "[ NORMAL ] Iteration 85:\tk_eff = 1.142007\tres = 2.785E-03\n", - "[ NORMAL ] Iteration 86:\tk_eff = 1.144953\tres = 2.681E-03\n", - "[ NORMAL ] Iteration 87:\tk_eff = 1.147796\tres = 2.580E-03\n", - "[ NORMAL ] Iteration 88:\tk_eff = 1.150539\tres = 2.483E-03\n", - "[ NORMAL ] Iteration 89:\tk_eff = 1.153185\tres = 2.390E-03\n", - "[ NORMAL ] Iteration 90:\tk_eff = 1.155738\tres = 2.300E-03\n", - "[ NORMAL ] Iteration 91:\tk_eff = 1.158200\tres = 2.214E-03\n", - "[ NORMAL ] Iteration 92:\tk_eff = 1.160575\tres = 2.130E-03\n", - "[ NORMAL ] Iteration 93:\tk_eff = 1.162865\tres = 2.050E-03\n", - "[ NORMAL ] Iteration 94:\tk_eff = 1.165073\tres = 1.973E-03\n", - "[ NORMAL ] Iteration 95:\tk_eff = 1.167202\tres = 1.899E-03\n", - "[ NORMAL ] Iteration 96:\tk_eff = 1.169255\tres = 1.828E-03\n", - "[ NORMAL ] Iteration 97:\tk_eff = 1.171234\tres = 1.759E-03\n", - "[ NORMAL ] Iteration 98:\tk_eff = 1.173142\tres = 1.693E-03\n", - "[ NORMAL ] Iteration 99:\tk_eff = 1.174980\tres = 1.629E-03\n", - "[ NORMAL ] Iteration 100:\tk_eff = 1.176753\tres = 1.567E-03\n", - "[ NORMAL ] Iteration 101:\tk_eff = 1.178461\tres = 1.508E-03\n", - "[ NORMAL ] Iteration 102:\tk_eff = 1.180107\tres = 1.452E-03\n", - "[ NORMAL ] Iteration 103:\tk_eff = 1.181694\tres = 1.397E-03\n", - "[ NORMAL ] Iteration 104:\tk_eff = 1.183222\tres = 1.344E-03\n", - "[ NORMAL ] Iteration 105:\tk_eff = 1.184695\tres = 1.294E-03\n", - "[ NORMAL ] Iteration 106:\tk_eff = 1.186115\tres = 1.245E-03\n", - "[ NORMAL ] Iteration 107:\tk_eff = 1.187482\tres = 1.198E-03\n", - "[ NORMAL ] Iteration 108:\tk_eff = 1.188799\tres = 1.153E-03\n", - "[ NORMAL ] Iteration 109:\tk_eff = 1.190068\tres = 1.109E-03\n", - "[ NORMAL ] Iteration 110:\tk_eff = 1.191290\tres = 1.067E-03\n", - "[ NORMAL ] Iteration 111:\tk_eff = 1.192468\tres = 1.027E-03\n", - "[ NORMAL ] Iteration 112:\tk_eff = 1.193602\tres = 9.883E-04\n", - "[ NORMAL ] Iteration 113:\tk_eff = 1.194694\tres = 9.510E-04\n", - "[ NORMAL ] Iteration 114:\tk_eff = 1.195746\tres = 9.151E-04\n", - "[ NORMAL ] Iteration 115:\tk_eff = 1.196759\tres = 8.805E-04\n", - "[ NORMAL ] Iteration 116:\tk_eff = 1.197735\tres = 8.473E-04\n", - "[ NORMAL ] Iteration 117:\tk_eff = 1.198674\tres = 8.152E-04\n", - "[ NORMAL ] Iteration 118:\tk_eff = 1.199579\tres = 7.844E-04\n", - "[ NORMAL ] Iteration 119:\tk_eff = 1.200450\tres = 7.548E-04\n", - "[ NORMAL ] Iteration 120:\tk_eff = 1.201289\tres = 7.262E-04\n", - "[ NORMAL ] Iteration 121:\tk_eff = 1.202097\tres = 6.988E-04\n", - "[ NORMAL ] Iteration 122:\tk_eff = 1.202874\tres = 6.723E-04\n", - "[ NORMAL ] Iteration 123:\tk_eff = 1.203623\tres = 6.469E-04\n", - "[ NORMAL ] Iteration 124:\tk_eff = 1.204344\tres = 6.224E-04\n", - "[ NORMAL ] Iteration 125:\tk_eff = 1.205038\tres = 5.989E-04\n", - "[ NORMAL ] Iteration 126:\tk_eff = 1.205706\tres = 5.762E-04\n", - "[ NORMAL ] Iteration 127:\tk_eff = 1.206349\tres = 5.544E-04\n", - "[ NORMAL ] Iteration 128:\tk_eff = 1.206968\tres = 5.334E-04\n", - "[ NORMAL ] Iteration 129:\tk_eff = 1.207564\tres = 5.132E-04\n", - "[ NORMAL ] Iteration 130:\tk_eff = 1.208138\tres = 4.938E-04\n", - "[ NORMAL ] Iteration 131:\tk_eff = 1.208690\tres = 4.751E-04\n", - "[ NORMAL ] Iteration 132:\tk_eff = 1.209221\tres = 4.570E-04\n", - "[ NORMAL ] Iteration 133:\tk_eff = 1.209733\tres = 4.397E-04\n", - "[ NORMAL ] Iteration 134:\tk_eff = 1.210225\tres = 4.231E-04\n", - "[ NORMAL ] Iteration 135:\tk_eff = 1.210699\tres = 4.070E-04\n", - "[ NORMAL ] Iteration 136:\tk_eff = 1.211155\tres = 3.916E-04\n", - "[ NORMAL ] Iteration 137:\tk_eff = 1.211594\tres = 3.767E-04\n", - "[ NORMAL ] Iteration 138:\tk_eff = 1.212017\tres = 3.624E-04\n", - "[ NORMAL ] Iteration 139:\tk_eff = 1.212423\tres = 3.487E-04\n", - "[ NORMAL ] Iteration 140:\tk_eff = 1.212815\tres = 3.355E-04\n", - "[ NORMAL ] Iteration 141:\tk_eff = 1.213191\tres = 3.227E-04\n", - "[ NORMAL ] Iteration 142:\tk_eff = 1.213554\tres = 3.105E-04\n", - "[ NORMAL ] Iteration 143:\tk_eff = 1.213902\tres = 2.987E-04\n", - "[ NORMAL ] Iteration 144:\tk_eff = 1.214238\tres = 2.874E-04\n", - "[ NORMAL ] Iteration 145:\tk_eff = 1.214561\tres = 2.764E-04\n", - "[ NORMAL ] Iteration 146:\tk_eff = 1.214872\tres = 2.659E-04\n", - "[ NORMAL ] Iteration 147:\tk_eff = 1.215171\tres = 2.558E-04\n", - "[ NORMAL ] Iteration 148:\tk_eff = 1.215458\tres = 2.461E-04\n", - "[ NORMAL ] Iteration 149:\tk_eff = 1.215735\tres = 2.368E-04\n", - "[ NORMAL ] Iteration 150:\tk_eff = 1.216002\tres = 2.278E-04\n", - "[ NORMAL ] Iteration 151:\tk_eff = 1.216258\tres = 2.191E-04\n", - "[ NORMAL ] Iteration 152:\tk_eff = 1.216504\tres = 2.108E-04\n", - "[ NORMAL ] Iteration 153:\tk_eff = 1.216742\tres = 2.028E-04\n", - "[ NORMAL ] Iteration 154:\tk_eff = 1.216970\tres = 1.951E-04\n", - "[ NORMAL ] Iteration 155:\tk_eff = 1.217190\tres = 1.876E-04\n", - "[ NORMAL ] Iteration 156:\tk_eff = 1.217401\tres = 1.805E-04\n", - "[ NORMAL ] Iteration 157:\tk_eff = 1.217604\tres = 1.736E-04\n", - "[ NORMAL ] Iteration 158:\tk_eff = 1.217800\tres = 1.670E-04\n", - "[ NORMAL ] Iteration 159:\tk_eff = 1.217988\tres = 1.607E-04\n", - "[ NORMAL ] Iteration 160:\tk_eff = 1.218169\tres = 1.546E-04\n", - "[ NORMAL ] Iteration 161:\tk_eff = 1.218344\tres = 1.487E-04\n", - "[ NORMAL ] Iteration 162:\tk_eff = 1.218511\tres = 1.430E-04\n", - "[ NORMAL ] Iteration 163:\tk_eff = 1.218673\tres = 1.376E-04\n", - "[ NORMAL ] Iteration 164:\tk_eff = 1.218828\tres = 1.324E-04\n", - "[ NORMAL ] Iteration 165:\tk_eff = 1.218977\tres = 1.273E-04\n", - "[ NORMAL ] Iteration 166:\tk_eff = 1.219121\tres = 1.225E-04\n", - "[ NORMAL ] Iteration 167:\tk_eff = 1.219259\tres = 1.178E-04\n", - "[ NORMAL ] Iteration 168:\tk_eff = 1.219392\tres = 1.133E-04\n", - "[ NORMAL ] Iteration 169:\tk_eff = 1.219520\tres = 1.090E-04\n", - "[ NORMAL ] Iteration 170:\tk_eff = 1.219643\tres = 1.049E-04\n", - "[ NORMAL ] Iteration 171:\tk_eff = 1.219761\tres = 1.009E-04\n", - "[ NORMAL ] Iteration 172:\tk_eff = 1.219875\tres = 9.702E-05\n", - "[ NORMAL ] Iteration 173:\tk_eff = 1.219984\tres = 9.332E-05\n", - "[ NORMAL ] Iteration 174:\tk_eff = 1.220090\tres = 8.976E-05\n", - "[ NORMAL ] Iteration 175:\tk_eff = 1.220191\tres = 8.634E-05\n", - "[ NORMAL ] Iteration 176:\tk_eff = 1.220288\tres = 8.305E-05\n", - "[ NORMAL ] Iteration 177:\tk_eff = 1.220382\tres = 7.989E-05\n", - "[ NORMAL ] Iteration 178:\tk_eff = 1.220472\tres = 7.684E-05\n", - "[ NORMAL ] Iteration 179:\tk_eff = 1.220559\tres = 7.392E-05\n", - "[ NORMAL ] Iteration 180:\tk_eff = 1.220643\tres = 7.110E-05\n", - "[ NORMAL ] Iteration 181:\tk_eff = 1.220723\tres = 6.839E-05\n", - "[ NORMAL ] Iteration 182:\tk_eff = 1.220800\tres = 6.578E-05\n", - "[ NORMAL ] Iteration 183:\tk_eff = 1.220874\tres = 6.327E-05\n", - "[ NORMAL ] Iteration 184:\tk_eff = 1.220946\tres = 6.086E-05\n", - "[ NORMAL ] Iteration 185:\tk_eff = 1.221015\tres = 5.854E-05\n", - "[ NORMAL ] Iteration 186:\tk_eff = 1.221081\tres = 5.631E-05\n", - "[ NORMAL ] Iteration 187:\tk_eff = 1.221144\tres = 5.416E-05\n", - "[ NORMAL ] Iteration 188:\tk_eff = 1.221206\tres = 5.209E-05\n", - "[ NORMAL ] Iteration 189:\tk_eff = 1.221264\tres = 5.011E-05\n", - "[ NORMAL ] Iteration 190:\tk_eff = 1.221321\tres = 4.820E-05\n", - "[ NORMAL ] Iteration 191:\tk_eff = 1.221375\tres = 4.636E-05\n", - "[ NORMAL ] Iteration 192:\tk_eff = 1.221428\tres = 4.459E-05\n", - "[ NORMAL ] Iteration 193:\tk_eff = 1.221478\tres = 4.289E-05\n", - "[ NORMAL ] Iteration 194:\tk_eff = 1.221527\tres = 4.125E-05\n", - "[ NORMAL ] Iteration 195:\tk_eff = 1.221573\tres = 3.968E-05\n", - "[ NORMAL ] Iteration 196:\tk_eff = 1.221618\tres = 3.816E-05\n", - "[ NORMAL ] Iteration 197:\tk_eff = 1.221661\tres = 3.671E-05\n", - "[ NORMAL ] Iteration 198:\tk_eff = 1.221703\tres = 3.531E-05\n", - "[ NORMAL ] Iteration 199:\tk_eff = 1.221743\tres = 3.396E-05\n", - "[ NORMAL ] Iteration 200:\tk_eff = 1.221781\tres = 3.266E-05\n", - "[ NORMAL ] Iteration 201:\tk_eff = 1.221818\tres = 3.142E-05\n", - "[ NORMAL ] Iteration 202:\tk_eff = 1.221853\tres = 3.022E-05\n", - "[ NORMAL ] Iteration 203:\tk_eff = 1.221888\tres = 2.906E-05\n", - "[ NORMAL ] Iteration 204:\tk_eff = 1.221920\tres = 2.795E-05\n", - "[ NORMAL ] Iteration 205:\tk_eff = 1.221952\tres = 2.689E-05\n", - "[ NORMAL ] Iteration 206:\tk_eff = 1.221982\tres = 2.586E-05\n", - "[ NORMAL ] Iteration 207:\tk_eff = 1.222012\tres = 2.487E-05\n", - "[ NORMAL ] Iteration 208:\tk_eff = 1.222040\tres = 2.392E-05\n", - "[ NORMAL ] Iteration 209:\tk_eff = 1.222067\tres = 2.301E-05\n", - "[ NORMAL ] Iteration 210:\tk_eff = 1.222093\tres = 2.213E-05\n", - "[ NORMAL ] Iteration 211:\tk_eff = 1.222118\tres = 2.129E-05\n", - "[ NORMAL ] Iteration 212:\tk_eff = 1.222142\tres = 2.047E-05\n", - "[ NORMAL ] Iteration 213:\tk_eff = 1.222165\tres = 1.969E-05\n", - "[ NORMAL ] Iteration 214:\tk_eff = 1.222187\tres = 1.894E-05\n", - "[ NORMAL ] Iteration 215:\tk_eff = 1.222209\tres = 1.822E-05\n", - "[ NORMAL ] Iteration 216:\tk_eff = 1.222229\tres = 1.752E-05\n", - "[ NORMAL ] Iteration 217:\tk_eff = 1.222249\tres = 1.685E-05\n", - "[ NORMAL ] Iteration 218:\tk_eff = 1.222268\tres = 1.621E-05\n", - "[ NORMAL ] Iteration 219:\tk_eff = 1.222287\tres = 1.559E-05\n", - "[ NORMAL ] Iteration 220:\tk_eff = 1.222304\tres = 1.499E-05\n", - "[ NORMAL ] Iteration 221:\tk_eff = 1.222321\tres = 1.442E-05\n", - "[ NORMAL ] Iteration 222:\tk_eff = 1.222337\tres = 1.387E-05\n", - "[ NORMAL ] Iteration 223:\tk_eff = 1.222353\tres = 1.334E-05\n", - "[ NORMAL ] Iteration 224:\tk_eff = 1.222368\tres = 1.283E-05\n", - "[ NORMAL ] Iteration 225:\tk_eff = 1.222383\tres = 1.234E-05\n", - "[ NORMAL ] Iteration 226:\tk_eff = 1.222397\tres = 1.187E-05\n", - "[ NORMAL ] Iteration 227:\tk_eff = 1.222410\tres = 1.142E-05\n", - "[ NORMAL ] Iteration 228:\tk_eff = 1.222423\tres = 1.098E-05\n", - "[ NORMAL ] Iteration 229:\tk_eff = 1.222435\tres = 1.056E-05\n", - "[ NORMAL ] Iteration 230:\tk_eff = 1.222447\tres = 1.016E-05\n" + "[ NORMAL ] Iteration 0:\tk_eff = 0.495816\tres = 0.000E+00\n", + "[ NORMAL ] Iteration 1:\tk_eff = 0.557477\tres = 5.042E-01\n", + "[ NORMAL ] Iteration 2:\tk_eff = 0.518301\tres = 1.244E-01\n", + "[ NORMAL ] Iteration 3:\tk_eff = 0.509212\tres = 7.027E-02\n", + "[ NORMAL ] Iteration 4:\tk_eff = 0.496489\tres = 1.754E-02\n", + "[ NORMAL ] Iteration 5:\tk_eff = 0.488581\tres = 2.498E-02\n", + "[ NORMAL ] Iteration 6:\tk_eff = 0.482897\tres = 1.593E-02\n", + "[ NORMAL ] Iteration 7:\tk_eff = 0.479775\tres = 1.163E-02\n", + "[ NORMAL ] Iteration 8:\tk_eff = 0.478835\tres = 6.464E-03\n", + "[ NORMAL ] Iteration 9:\tk_eff = 0.479872\tres = 1.960E-03\n", + "[ NORMAL ] Iteration 10:\tk_eff = 0.482685\tres = 2.166E-03\n", + "[ NORMAL ] Iteration 11:\tk_eff = 0.487085\tres = 5.861E-03\n", + "[ NORMAL ] Iteration 12:\tk_eff = 0.492901\tres = 9.116E-03\n", + "[ NORMAL ] Iteration 13:\tk_eff = 0.499973\tres = 1.194E-02\n", + "[ NORMAL ] Iteration 14:\tk_eff = 0.508155\tres = 1.435E-02\n", + "[ NORMAL ] Iteration 15:\tk_eff = 0.517314\tres = 1.637E-02\n", + "[ NORMAL ] Iteration 16:\tk_eff = 0.527327\tres = 1.802E-02\n", + "[ NORMAL ] Iteration 17:\tk_eff = 0.538081\tres = 1.936E-02\n", + "[ NORMAL ] Iteration 18:\tk_eff = 0.549475\tres = 2.039E-02\n", + "[ NORMAL ] Iteration 19:\tk_eff = 0.561413\tres = 2.117E-02\n", + "[ NORMAL ] Iteration 20:\tk_eff = 0.573810\tres = 2.173E-02\n", + "[ NORMAL ] Iteration 21:\tk_eff = 0.586589\tres = 2.208E-02\n", + "[ NORMAL ] Iteration 22:\tk_eff = 0.599678\tres = 2.227E-02\n", + "[ NORMAL ] Iteration 23:\tk_eff = 0.613012\tres = 2.231E-02\n", + "[ NORMAL ] Iteration 24:\tk_eff = 0.626532\tres = 2.224E-02\n", + "[ NORMAL ] Iteration 25:\tk_eff = 0.640186\tres = 2.206E-02\n", + "[ NORMAL ] Iteration 26:\tk_eff = 0.653925\tres = 2.179E-02\n", + "[ NORMAL ] Iteration 27:\tk_eff = 0.667706\tres = 2.146E-02\n", + "[ NORMAL ] Iteration 28:\tk_eff = 0.681489\tres = 2.107E-02\n", + "[ NORMAL ] Iteration 29:\tk_eff = 0.695240\tres = 2.064E-02\n", + "[ NORMAL ] Iteration 30:\tk_eff = 0.708927\tres = 2.018E-02\n", + "[ NORMAL ] Iteration 31:\tk_eff = 0.722522\tres = 1.969E-02\n", + "[ NORMAL ] Iteration 32:\tk_eff = 0.736000\tres = 1.918E-02\n", + "[ NORMAL ] Iteration 33:\tk_eff = 0.749339\tres = 1.865E-02\n", + "[ NORMAL ] Iteration 34:\tk_eff = 0.762519\tres = 1.812E-02\n", + "[ NORMAL ] Iteration 35:\tk_eff = 0.775522\tres = 1.759E-02\n", + "[ NORMAL ] Iteration 36:\tk_eff = 0.788335\tres = 1.705E-02\n", + "[ NORMAL ] Iteration 37:\tk_eff = 0.800944\tres = 1.652E-02\n", + "[ NORMAL ] Iteration 38:\tk_eff = 0.813338\tres = 1.599E-02\n", + "[ NORMAL ] Iteration 39:\tk_eff = 0.825507\tres = 1.547E-02\n", + "[ NORMAL ] Iteration 40:\tk_eff = 0.837444\tres = 1.496E-02\n", + "[ NORMAL ] Iteration 41:\tk_eff = 0.849142\tres = 1.446E-02\n", + "[ NORMAL ] Iteration 42:\tk_eff = 0.860595\tres = 1.397E-02\n", + "[ NORMAL ] Iteration 43:\tk_eff = 0.871801\tres = 1.349E-02\n", + "[ NORMAL ] Iteration 44:\tk_eff = 0.882755\tres = 1.302E-02\n", + "[ NORMAL ] Iteration 45:\tk_eff = 0.893455\tres = 1.256E-02\n", + "[ NORMAL ] Iteration 46:\tk_eff = 0.903901\tres = 1.212E-02\n", + "[ NORMAL ] Iteration 47:\tk_eff = 0.914091\tres = 1.169E-02\n", + "[ NORMAL ] Iteration 48:\tk_eff = 0.924027\tres = 1.127E-02\n", + "[ NORMAL ] Iteration 49:\tk_eff = 0.933708\tres = 1.087E-02\n", + "[ NORMAL ] Iteration 50:\tk_eff = 0.943137\tres = 1.048E-02\n", + "[ NORMAL ] Iteration 51:\tk_eff = 0.952314\tres = 1.010E-02\n", + "[ NORMAL ] Iteration 52:\tk_eff = 0.961243\tres = 9.731E-03\n", + "[ NORMAL ] Iteration 53:\tk_eff = 0.969927\tres = 9.376E-03\n", + "[ NORMAL ] Iteration 54:\tk_eff = 0.978367\tres = 9.033E-03\n", + "[ NORMAL ] Iteration 55:\tk_eff = 0.986568\tres = 8.702E-03\n", + "[ NORMAL ] Iteration 56:\tk_eff = 0.994534\tres = 8.382E-03\n", + "[ NORMAL ] Iteration 57:\tk_eff = 1.002267\tres = 8.074E-03\n", + "[ NORMAL ] Iteration 58:\tk_eff = 1.009773\tres = 7.776E-03\n", + "[ NORMAL ] Iteration 59:\tk_eff = 1.017055\tres = 7.489E-03\n", + "[ NORMAL ] Iteration 60:\tk_eff = 1.024118\tres = 7.212E-03\n", + "[ NORMAL ] Iteration 61:\tk_eff = 1.030966\tres = 6.944E-03\n", + "[ NORMAL ] Iteration 62:\tk_eff = 1.037603\tres = 6.687E-03\n", + "[ NORMAL ] Iteration 63:\tk_eff = 1.044036\tres = 6.438E-03\n", + "[ NORMAL ] Iteration 64:\tk_eff = 1.050267\tres = 6.199E-03\n", + "[ NORMAL ] Iteration 65:\tk_eff = 1.056302\tres = 5.968E-03\n", + "[ NORMAL ] Iteration 66:\tk_eff = 1.062145\tres = 5.746E-03\n", + "[ NORMAL ] Iteration 67:\tk_eff = 1.067802\tres = 5.532E-03\n", + "[ NORMAL ] Iteration 68:\tk_eff = 1.073276\tres = 5.326E-03\n", + "[ NORMAL ] Iteration 69:\tk_eff = 1.078573\tres = 5.127E-03\n", + "[ NORMAL ] Iteration 70:\tk_eff = 1.083698\tres = 4.935E-03\n", + "[ NORMAL ] Iteration 71:\tk_eff = 1.088654\tres = 4.751E-03\n", + "[ NORMAL ] Iteration 72:\tk_eff = 1.093447\tres = 4.573E-03\n", + "[ NORMAL ] Iteration 73:\tk_eff = 1.098080\tres = 4.402E-03\n", + "[ NORMAL ] Iteration 74:\tk_eff = 1.102560\tres = 4.238E-03\n", + "[ NORMAL ] Iteration 75:\tk_eff = 1.106889\tres = 4.079E-03\n", + "[ NORMAL ] Iteration 76:\tk_eff = 1.111072\tres = 3.926E-03\n", + "[ NORMAL ] Iteration 77:\tk_eff = 1.115114\tres = 3.779E-03\n", + "[ NORMAL ] Iteration 78:\tk_eff = 1.119018\tres = 3.638E-03\n", + "[ NORMAL ] Iteration 79:\tk_eff = 1.122790\tres = 3.501E-03\n", + "[ NORMAL ] Iteration 80:\tk_eff = 1.126432\tres = 3.370E-03\n", + "[ NORMAL ] Iteration 81:\tk_eff = 1.129949\tres = 3.244E-03\n", + "[ NORMAL ] Iteration 82:\tk_eff = 1.133344\tres = 3.122E-03\n", + "[ NORMAL ] Iteration 83:\tk_eff = 1.136622\tres = 3.005E-03\n", + "[ NORMAL ] Iteration 84:\tk_eff = 1.139786\tres = 2.892E-03\n", + "[ NORMAL ] Iteration 85:\tk_eff = 1.142840\tres = 2.784E-03\n", + "[ NORMAL ] Iteration 86:\tk_eff = 1.145786\tres = 2.679E-03\n", + "[ NORMAL ] Iteration 87:\tk_eff = 1.148630\tres = 2.579E-03\n", + "[ NORMAL ] Iteration 88:\tk_eff = 1.151373\tres = 2.482E-03\n", + "[ NORMAL ] Iteration 89:\tk_eff = 1.154020\tres = 2.388E-03\n", + "[ NORMAL ] Iteration 90:\tk_eff = 1.156573\tres = 2.299E-03\n", + "[ NORMAL ] Iteration 91:\tk_eff = 1.159035\tres = 2.212E-03\n", + "[ NORMAL ] Iteration 92:\tk_eff = 1.161410\tres = 2.129E-03\n", + "[ NORMAL ] Iteration 93:\tk_eff = 1.163700\tres = 2.049E-03\n", + "[ NORMAL ] Iteration 94:\tk_eff = 1.165909\tres = 1.972E-03\n", + "[ NORMAL ] Iteration 95:\tk_eff = 1.168038\tres = 1.898E-03\n", + "[ NORMAL ] Iteration 96:\tk_eff = 1.170091\tres = 1.826E-03\n", + "[ NORMAL ] Iteration 97:\tk_eff = 1.172070\tres = 1.758E-03\n", + "[ NORMAL ] Iteration 98:\tk_eff = 1.173977\tres = 1.691E-03\n", + "[ NORMAL ] Iteration 99:\tk_eff = 1.175816\tres = 1.628E-03\n", + "[ NORMAL ] Iteration 100:\tk_eff = 1.177589\tres = 1.566E-03\n", + "[ NORMAL ] Iteration 101:\tk_eff = 1.179297\tres = 1.507E-03\n", + "[ NORMAL ] Iteration 102:\tk_eff = 1.180943\tres = 1.451E-03\n", + "[ NORMAL ] Iteration 103:\tk_eff = 1.182529\tres = 1.396E-03\n", + "[ NORMAL ] Iteration 104:\tk_eff = 1.184058\tres = 1.343E-03\n", + "[ NORMAL ] Iteration 105:\tk_eff = 1.185530\tres = 1.293E-03\n", + "[ NORMAL ] Iteration 106:\tk_eff = 1.186949\tres = 1.244E-03\n", + "[ NORMAL ] Iteration 107:\tk_eff = 1.188316\tres = 1.197E-03\n", + "[ NORMAL ] Iteration 108:\tk_eff = 1.189633\tres = 1.152E-03\n", + "[ NORMAL ] Iteration 109:\tk_eff = 1.190902\tres = 1.108E-03\n", + "[ NORMAL ] Iteration 110:\tk_eff = 1.192124\tres = 1.066E-03\n", + "[ NORMAL ] Iteration 111:\tk_eff = 1.193301\tres = 1.026E-03\n", + "[ NORMAL ] Iteration 112:\tk_eff = 1.194435\tres = 9.874E-04\n", + "[ NORMAL ] Iteration 113:\tk_eff = 1.195527\tres = 9.501E-04\n", + "[ NORMAL ] Iteration 114:\tk_eff = 1.196578\tres = 9.142E-04\n", + "[ NORMAL ] Iteration 115:\tk_eff = 1.197591\tres = 8.797E-04\n", + "[ NORMAL ] Iteration 116:\tk_eff = 1.198566\tres = 8.464E-04\n", + "[ NORMAL ] Iteration 117:\tk_eff = 1.199506\tres = 8.144E-04\n", + "[ NORMAL ] Iteration 118:\tk_eff = 1.200410\tres = 7.836E-04\n", + "[ NORMAL ] Iteration 119:\tk_eff = 1.201281\tres = 7.540E-04\n", + "[ NORMAL ] Iteration 120:\tk_eff = 1.202119\tres = 7.255E-04\n", + "[ NORMAL ] Iteration 121:\tk_eff = 1.202927\tres = 6.980E-04\n", + "[ NORMAL ] Iteration 122:\tk_eff = 1.203704\tres = 6.716E-04\n", + "[ NORMAL ] Iteration 123:\tk_eff = 1.204452\tres = 6.462E-04\n", + "[ NORMAL ] Iteration 124:\tk_eff = 1.205173\tres = 6.217E-04\n", + "[ NORMAL ] Iteration 125:\tk_eff = 1.205867\tres = 5.982E-04\n", + "[ NORMAL ] Iteration 126:\tk_eff = 1.206534\tres = 5.755E-04\n", + "[ NORMAL ] Iteration 127:\tk_eff = 1.207177\tres = 5.537E-04\n", + "[ NORMAL ] Iteration 128:\tk_eff = 1.207796\tres = 5.327E-04\n", + "[ NORMAL ] Iteration 129:\tk_eff = 1.208391\tres = 5.126E-04\n", + "[ NORMAL ] Iteration 130:\tk_eff = 1.208965\tres = 4.931E-04\n", + "[ NORMAL ] Iteration 131:\tk_eff = 1.209517\tres = 4.744E-04\n", + "[ NORMAL ] Iteration 132:\tk_eff = 1.210048\tres = 4.565E-04\n", + "[ NORMAL ] Iteration 133:\tk_eff = 1.210559\tres = 4.391E-04\n", + "[ NORMAL ] Iteration 134:\tk_eff = 1.211051\tres = 4.225E-04\n", + "[ NORMAL ] Iteration 135:\tk_eff = 1.211525\tres = 4.065E-04\n", + "[ NORMAL ] Iteration 136:\tk_eff = 1.211980\tres = 3.910E-04\n", + "[ NORMAL ] Iteration 137:\tk_eff = 1.212419\tres = 3.762E-04\n", + "[ NORMAL ] Iteration 138:\tk_eff = 1.212841\tres = 3.619E-04\n", + "[ NORMAL ] Iteration 139:\tk_eff = 1.213247\tres = 3.482E-04\n", + "[ NORMAL ] Iteration 140:\tk_eff = 1.213638\tres = 3.350E-04\n", + "[ NORMAL ] Iteration 141:\tk_eff = 1.214015\tres = 3.222E-04\n", + "[ NORMAL ] Iteration 142:\tk_eff = 1.214377\tres = 3.100E-04\n", + "[ NORMAL ] Iteration 143:\tk_eff = 1.214725\tres = 2.982E-04\n", + "[ NORMAL ] Iteration 144:\tk_eff = 1.215060\tres = 2.869E-04\n", + "[ NORMAL ] Iteration 145:\tk_eff = 1.215383\tres = 2.760E-04\n", + "[ NORMAL ] Iteration 146:\tk_eff = 1.215693\tres = 2.655E-04\n", + "[ NORMAL ] Iteration 147:\tk_eff = 1.215992\tres = 2.554E-04\n", + "[ NORMAL ] Iteration 148:\tk_eff = 1.216280\tres = 2.457E-04\n", + "[ NORMAL ] Iteration 149:\tk_eff = 1.216556\tres = 2.364E-04\n", + "[ NORMAL ] Iteration 150:\tk_eff = 1.216822\tres = 2.274E-04\n", + "[ NORMAL ] Iteration 151:\tk_eff = 1.217078\tres = 2.187E-04\n", + "[ NORMAL ] Iteration 152:\tk_eff = 1.217325\tres = 2.104E-04\n", + "[ NORMAL ] Iteration 153:\tk_eff = 1.217562\tres = 2.024E-04\n", + "[ NORMAL ] Iteration 154:\tk_eff = 1.217790\tres = 1.947E-04\n", + "[ NORMAL ] Iteration 155:\tk_eff = 1.218009\tres = 1.873E-04\n", + "[ NORMAL ] Iteration 156:\tk_eff = 1.218220\tres = 1.802E-04\n", + "[ NORMAL ] Iteration 157:\tk_eff = 1.218423\tres = 1.733E-04\n", + "[ NORMAL ] Iteration 158:\tk_eff = 1.218619\tres = 1.667E-04\n", + "[ NORMAL ] Iteration 159:\tk_eff = 1.218807\tres = 1.604E-04\n", + "[ NORMAL ] Iteration 160:\tk_eff = 1.218988\tres = 1.543E-04\n", + "[ NORMAL ] Iteration 161:\tk_eff = 1.219162\tres = 1.484E-04\n", + "[ NORMAL ] Iteration 162:\tk_eff = 1.219329\tres = 1.428E-04\n", + "[ NORMAL ] Iteration 163:\tk_eff = 1.219490\tres = 1.373E-04\n", + "[ NORMAL ] Iteration 164:\tk_eff = 1.219645\tres = 1.321E-04\n", + "[ NORMAL ] Iteration 165:\tk_eff = 1.219794\tres = 1.271E-04\n", + "[ NORMAL ] Iteration 166:\tk_eff = 1.219938\tres = 1.222E-04\n", + "[ NORMAL ] Iteration 167:\tk_eff = 1.220076\tres = 1.176E-04\n", + "[ NORMAL ] Iteration 168:\tk_eff = 1.220208\tres = 1.131E-04\n", + "[ NORMAL ] Iteration 169:\tk_eff = 1.220336\tres = 1.088E-04\n", + "[ NORMAL ] Iteration 170:\tk_eff = 1.220459\tres = 1.046E-04\n", + "[ NORMAL ] Iteration 171:\tk_eff = 1.220577\tres = 1.006E-04\n", + "[ NORMAL ] Iteration 172:\tk_eff = 1.220691\tres = 9.681E-05\n", + "[ NORMAL ] Iteration 173:\tk_eff = 1.220800\tres = 9.312E-05\n", + "[ NORMAL ] Iteration 174:\tk_eff = 1.220905\tres = 8.957E-05\n", + "[ NORMAL ] Iteration 175:\tk_eff = 1.221006\tres = 8.615E-05\n", + "[ NORMAL ] Iteration 176:\tk_eff = 1.221104\tres = 8.287E-05\n", + "[ NORMAL ] Iteration 177:\tk_eff = 1.221197\tres = 7.971E-05\n", + "[ NORMAL ] Iteration 178:\tk_eff = 1.221287\tres = 7.667E-05\n", + "[ NORMAL ] Iteration 179:\tk_eff = 1.221374\tres = 7.374E-05\n", + "[ NORMAL ] Iteration 180:\tk_eff = 1.221457\tres = 7.093E-05\n", + "[ NORMAL ] Iteration 181:\tk_eff = 1.221537\tres = 6.823E-05\n", + "[ NORMAL ] Iteration 182:\tk_eff = 1.221615\tres = 6.562E-05\n", + "[ NORMAL ] Iteration 183:\tk_eff = 1.221689\tres = 6.312E-05\n", + "[ NORMAL ] Iteration 184:\tk_eff = 1.221760\tres = 6.071E-05\n", + "[ NORMAL ] Iteration 185:\tk_eff = 1.221829\tres = 5.840E-05\n", + "[ NORMAL ] Iteration 186:\tk_eff = 1.221895\tres = 5.617E-05\n", + "[ NORMAL ] Iteration 187:\tk_eff = 1.221958\tres = 5.402E-05\n", + "[ NORMAL ] Iteration 188:\tk_eff = 1.222019\tres = 5.196E-05\n", + "[ NORMAL ] Iteration 189:\tk_eff = 1.222078\tres = 4.998E-05\n", + "[ NORMAL ] Iteration 190:\tk_eff = 1.222134\tres = 4.807E-05\n", + "[ NORMAL ] Iteration 191:\tk_eff = 1.222189\tres = 4.624E-05\n", + "[ NORMAL ] Iteration 192:\tk_eff = 1.222241\tres = 4.447E-05\n", + "[ NORMAL ] Iteration 193:\tk_eff = 1.222291\tres = 4.277E-05\n", + "[ NORMAL ] Iteration 194:\tk_eff = 1.222340\tres = 4.114E-05\n", + "[ NORMAL ] Iteration 195:\tk_eff = 1.222386\tres = 3.957E-05\n", + "[ NORMAL ] Iteration 196:\tk_eff = 1.222431\tres = 3.806E-05\n", + "[ NORMAL ] Iteration 197:\tk_eff = 1.222474\tres = 3.661E-05\n", + "[ NORMAL ] Iteration 198:\tk_eff = 1.222515\tres = 3.521E-05\n", + "[ NORMAL ] Iteration 199:\tk_eff = 1.222555\tres = 3.386E-05\n", + "[ NORMAL ] Iteration 200:\tk_eff = 1.222594\tres = 3.257E-05\n", + "[ NORMAL ] Iteration 201:\tk_eff = 1.222630\tres = 3.133E-05\n", + "[ NORMAL ] Iteration 202:\tk_eff = 1.222666\tres = 3.013E-05\n", + "[ NORMAL ] Iteration 203:\tk_eff = 1.222700\tres = 2.898E-05\n", + "[ NORMAL ] Iteration 204:\tk_eff = 1.222733\tres = 2.787E-05\n", + "[ NORMAL ] Iteration 205:\tk_eff = 1.222764\tres = 2.681E-05\n", + "[ NORMAL ] Iteration 206:\tk_eff = 1.222795\tres = 2.578E-05\n", + "[ NORMAL ] Iteration 207:\tk_eff = 1.222824\tres = 2.480E-05\n", + "[ NORMAL ] Iteration 208:\tk_eff = 1.222852\tres = 2.385E-05\n", + "[ NORMAL ] Iteration 209:\tk_eff = 1.222879\tres = 2.294E-05\n", + "[ NORMAL ] Iteration 210:\tk_eff = 1.222905\tres = 2.206E-05\n", + "[ NORMAL ] Iteration 211:\tk_eff = 1.222930\tres = 2.122E-05\n", + "[ NORMAL ] Iteration 212:\tk_eff = 1.222954\tres = 2.041E-05\n", + "[ NORMAL ] Iteration 213:\tk_eff = 1.222977\tres = 1.963E-05\n", + "[ NORMAL ] Iteration 214:\tk_eff = 1.222999\tres = 1.888E-05\n", + "[ NORMAL ] Iteration 215:\tk_eff = 1.223020\tres = 1.816E-05\n", + "[ NORMAL ] Iteration 216:\tk_eff = 1.223041\tres = 1.747E-05\n", + "[ NORMAL ] Iteration 217:\tk_eff = 1.223061\tres = 1.680E-05\n", + "[ NORMAL ] Iteration 218:\tk_eff = 1.223080\tres = 1.616E-05\n", + "[ NORMAL ] Iteration 219:\tk_eff = 1.223098\tres = 1.554E-05\n", + "[ NORMAL ] Iteration 220:\tk_eff = 1.223116\tres = 1.495E-05\n", + "[ NORMAL ] Iteration 221:\tk_eff = 1.223132\tres = 1.437E-05\n", + "[ NORMAL ] Iteration 222:\tk_eff = 1.223149\tres = 1.382E-05\n", + "[ NORMAL ] Iteration 223:\tk_eff = 1.223164\tres = 1.330E-05\n", + "[ NORMAL ] Iteration 224:\tk_eff = 1.223179\tres = 1.279E-05\n", + "[ NORMAL ] Iteration 225:\tk_eff = 1.223194\tres = 1.230E-05\n", + "[ NORMAL ] Iteration 226:\tk_eff = 1.223208\tres = 1.183E-05\n", + "[ NORMAL ] Iteration 227:\tk_eff = 1.223221\tres = 1.138E-05\n", + "[ NORMAL ] Iteration 228:\tk_eff = 1.223234\tres = 1.094E-05\n", + "[ NORMAL ] Iteration 229:\tk_eff = 1.223246\tres = 1.052E-05\n", + "[ NORMAL ] Iteration 230:\tk_eff = 1.223258\tres = 1.012E-05\n" ] } ], @@ -1740,9 +1718,9 @@ "name": "stdout", "output_type": "stream", "text": [ - "openmc keff = 1.223729\n", - "openmoc keff = 1.222447\n", - "bias [pcm]: -128.2\n" + "openmc keff = 1.223474\n", + "openmoc keff = 1.223258\n", + "bias [pcm]: -21.5\n" ] } ], @@ -1831,9 +1809,9 @@ }, { "data": { - "image/png": "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\nRETE6eQvWE4Yr8iVHuYAAAAASUVORK5CYII=\n", + "image/png": "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\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -1879,18 +1857,7 @@ "metadata": { "collapsed": false }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/usr/local/lib/python2.7/dist-packages/numpy/lib/shape_base.py:872: DeprecationWarning: using a non-integer number instead of an integer will result in an error in the future\n", - " return c.reshape(shape_out)\n", - "/usr/local/lib/python2.7/dist-packages/numpy/lib/shape_base.py:872: DeprecationWarning: using a non-integer number instead of an integer will result in an error in the future\n", - " return c.reshape(shape_out)\n" - ] - } - ], + "outputs": [], "source": [ "# Construct a Pandas DataFrame for the microscopic nu-scattering matrix\n", "nuscatter = xs_library[moderator_cell.id]['nu-scatter']\n", @@ -1925,9 +1892,9 @@ "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXgAAADUCAYAAACWNDiHAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAHGBJREFUeJzt3Xm8ZdOZ//HPRcQ8FCpmifAQOtKhyxQUhZC0IOmEIG0K\nEaGRwa9JmyoSRAyJRJqSgXQ6BFGGzqBiJkoEISLhayZVxEwpQ6i6vz/WOurUcYdz79371Nn7ft+v\nl5ez99ln7XVuPfvZa6+9z1pgZmZmZmZmZmZmZmZmZmZmZmZmZlZLPfO6AmWKiNnAypKmN63bG9hD\n0rb9fGZN4OfAs/1tk7c7BNgPeAewIHAjcLCkl4dZ1w8Df5X0eESMBTaSdMUQyzgIeJekY4ZThz7K\newR4WtK4lvVHAV8D3i3psUHK2E/SD/p57yrgK5LuLKK+dRcRhwKfJcXcfMC1wFGSnuln+x7gcODr\nwJaSbm56bzPgLGAh4FHgM5Ke6KOM3YAvA4vm/d4NfKGvbdv8DhsCr0q6OyIWBHaV9D9DLGNn4GOS\nPjucOvRR3nXAWsBKkmY3rf8M8BPS3+6GQcrYX9I5/bx3HnChpF8WUd+hmK/TO+xmEbE2cAlw8yDb\nbQ98Hhgv6X3AOqQD4OQR7P5LwKr59QRgx6F8OCJ6JJ1ZVHJvslxErNGybmfgqTbqtDzw//p7X9I2\nTu7tiYgTgN2A7Zti7gXguohYqJ+PnQWsAvy9pawlSI2YfSWtAVyZy27d5zrA6cAn8j4DeAT40Qi+\nyr7Aevn1+sCeQ/lwjvNLi0ruTV4nHXfNPg0M2IDJdZqffo79XN+95kVyB1hgXux0Husd4L0ZwHjg\nY6Qzen/+CXhA0vMAkl6PiH2B2QARsSzwY9JB+DKplfrbiHgXcB6wGvBO4LuSTo+I40nBtXZEfJ/U\n6logIhaVtHtE7AQcTzqJPADsLunZiDgOWBH4AHBBRCxJaoXsn1sllwGfAN4D3Chpt1y/vYETgSeB\n7wA/ktTXyb4X+A3p4D8+f/afgOeBZRobRcSOwDdIVzIzgM9Kuot0olwpIv6S63g/cA7poP4wcD2w\nB7AR6WS5Uy5vCjBZ0n8P8G8wakTEGOBQ4AONq1FJs4AjImJr4N9Jf9dW35d0V0Ts0LJ+J+B2Sbfm\nsvprmKwL/L1xlSZpdkQcSYpdImJh4GxgM+A14BuS/jciFiHF/wdIMfELSYdHxOdzXT8WESsBhwFL\nRMT1ksZHxIeAbwNLAc+Q4vzhHK8fA5YA7oyIe8hX4RFxLukKZBPSCUjATpJejYjtgB8AL5Hi/GRg\nvT6uOpvj/Kr83ZYmHTcPk3s6ImIT4HvAIqRj/RBJVwO/BZbMcf5R4FzSFf2/Afvlk/M5wKvAUcAG\nknojYhLwgqR+G0EjNRpa8K3dUP12S0maJum5gbbJrgI+HBHnRsT2EbG4pBmSZub3TwL+LOm9wF7A\n+fly9Cjgsdwa2ho4MSJWknQ0MI0U0CeTguiinNxXJ10m7prLu5bUMmv4KPARSaeTArX5BLYDsA0p\n8LeKiE1ysjgz7399YDsGPuldTGrJNHwauKixEBELkAL6c5LWIp1UTslv75O/7zqS3sj7WVnSWpIe\nbarvt0kngm3zyWxRJ/e5bEz6Oz7Qx3tXkBolb5NPsn1ZD3g2Ii6JiPsi4vyIWKaP7W4CVo2IyyJi\n54gYI+k1SS/m978MLCBpdWBb4HsRsQLwBWBJSWuTYmzviNhU0lnArcDhOc6PBKbm5L44cDlwhKQ1\nSQn5wqa6bAt8XtLhfdTzk8AuwHuB5YCdc6v6PGA/SesCawKL9fP3APg/YPuIeEde/jdSLMOc42MS\ncGo+fk9iznG4DzArx/kjefv18/LNeblX0iWkK4L9IuKDwFZA0VfccxkNCf66iPhr4z/gBAZOaIPK\n3QofIv39zgOeyQfLKnmTjwDnN227mqR/AIcAB+f1D5Na0O/pYxc9zDnJbA9cJ+mveflsYMeIaPzb\n3ZJPSjD3iakXuFjS65JeIbVsViO1liXpL5J6ge8z8AntAWBmRHwgL38C+EXT3+JNYEVJU/Oqm4DV\n+6hPw9suVXO/5/7AaaQri/0HqM9oNAZ4up/3nsrvD8XSpCuor5Ba6a+TTrJzyf3sGwJPAGcAT0XE\nbyPi/XmTjwAX5G2nka4en5B0CqkbD0kvAPcwJyaaNcfH5sDfcosYSRcAazQdU/dLerCf7/N/kl7I\nVzV3k7o6A1hQ0pV5mzMYON/NAH5HajAB7Erqxmq2fuP7Mnic/7qf/RwEHEE67r4g6bUB6jRio6GL\nZrzmvsm6F/CZ/PonwDhSMtx6KDeOJN1O7j+MiPVJXRg/BzYFliX1jza2bbTsx5Fa7asAs4AVGPwk\nuxSwRT45NbzAnC6S5wf47ItNr2cB8+fynmtaP53BnQ/snls3j+buoeb3D4qIPUmX7guRu6r68Vxf\nKyX9MSJeAt6Q9Jc26jSaPEPqiuvLu4C/R8Q40pUewCWS/muA8l4ArpL0EEBEfIfURfE2ku4n3W9q\n3KM6Avh1juHWOH8lb7cmcFpErEWKu1UYvN9+KeC9LXH+Wt4H9BM3pGP3pablWaS8thRzHxvtHNuN\nOJ8KrJC7t5rf3w34j3y1Mf8gZfUX59Mi4hZSl9JVbdRpREZDgm/11tlWUn83eAZs4ee+wkdyqwVJ\nd0TEEcy5OfsM6VLxsbz9u0ldMD8lXeKdndf/rY36TiMdjJ/qox6t9WznyuQl5r5UXWGQ7XtJJ67r\nSIn7guY3I2JT0o3UcZIei4htSZeyQxIR/wq8AbwzIj4iqb8W0Gg0FRgTEetJ+lPLezsA35H0B+B9\nbZb3KKnLomE2KTHOJV+1vSpJAJLujYj/IDUcxjAnzhvbrww8S+oC/AOwY+5rvqmNOk0nPUU2rvWN\npqvHdjWSfnOcL9/GZ35FqvtuNHVD5jqsRIrrDSX9KZ/E7htivRrf5YPAncCBpJZ8aUZDF81wDNYH\nvwdwVn4aodEPvRspCULqS9w7v7cucDvpjL8ccEdevxfppuni+TNvkC6dAf5BaoEATAE2j4j35M9t\nGBGNy+m+7i/0tCw36811WS8i3pu7efYb5LuSr4Cmk/o5J7e8PZbUTfB4vrnW+F6N77RY7g/tV0Qs\nSuoiOIjUjXVmLsuA3Of9DeB/cmOBiFggIk4k/RtfMMDHG5pj4VJgfL5hDvA50o3CVtsBP80PBzQe\nu/wMcI+kZ0lx3riKXYEU28uS4vzOnNy3JZ1M+orzN0g3TgF+D6wQ6TFKImL1fIU9lO/VvHw/8I6I\naNyf+DyDNIAkvU463g7n7d0zywEzgfvy8f65XM9F8/eYLyKaTyhvyyH5eJsEfJF00/yoiOjvyqwQ\ndU/wff2Dtt6IfEtEHBERr5L+EbaKiFcjoq9L18OAe4E/RMS9pDP5cqSbLQD/CawcEQ+TLvt2y31t\nRwOTI+Iu0p34s4FJOXlfTHoS5jBSkE2IiN/nbqP98+f+QupLbBzQrd+lr+W5SHoS+CrpZu1UYMDn\ne5ucT7px/FLL+l+Tkv+DpMv804EXI+JC4C7SpeoTTX2prXqA44ArJN2TW6JXk5/asUTSqaS4vCJ3\nY9xDagRsk++DvE1EvJzjeVXg6hzPm0l6nBSrkyNCpNbtl/rY58mkE/o1Oc4fIN0Y/Fje5HRSv/yj\nwDXAl3PZXwdOjYi7SX3rE4GJkZ5CmQx8MyJOIT1psmJETCPdB/gk8N0c55cw5ybrQHHeZ8zne14H\nAudGxB2kY3Q2g1/lnk/6Dcy9LX+LO0ktfJH66i8HbiEdR9NJffKP5u/4Vj1aHAhMk3Rl/judSXqg\nojS1/qGTDS5fYdwoaag36swqI7e0Z5Ce7pkxr+vTKXVvwVuLfGk/rXEpTHpaYMAfdplVUUTcGhG7\n5MVdgb+MpuQObsGPSpF+6n0i6QQ/nfTDpIfmba3MipUfhjgTWJh0Y/jA/PSbmZmZmZlZF+qeLprb\nekf069Jmq29wT1FF8dD16xZWls1jW/bMk3jfrHdKYbF9U89KRRXF3CMBWLVN7DO2fZPVzKymnODN\nzGrKCd7MrKac4M3MaqrUwcYi4nTS8LS9wKGSbitzf2ad4ti2KiitBZ8H+VlD0qakeSTPKGtfZp3k\n2LaqKLOLZgJ55ME8cM/SLaOtmVWVY9sqocwEvzxpvOiGpxl87HGzKnBsWyV08iZrDyOcKs+sSzm2\nrSuVmeCnM/csKivS3rRZZt3OsW2VUGaCn0IawL8xZ+m0prlJzarMsW2VUFqClzQVuD0ifsec6djM\nKs+xbVVR6nPwko4ss3yzecWxbVXgX7KamdWUE7yZWU05wZuZ1ZQTvJlZTZV6k3VIXi6uqEV4pbCy\nNhl/TWFlTb1+QmFlWXXc1PO7wso6lomFlTWRUwsrC14qsCwrilvwZmY15QRvZlZTTvBmZjXlBG9m\nVlNO8GZmNVV6go+I9SLiwYjweB1WK45t63alJviIWAQ4FbiyzP2YdZpj26qg7Bb868AOwN9L3o9Z\npzm2reuVPZrkLGBWRJS5G7OOc2xbFfgmq5lZTTnBm5nVVKcSfE+H9mPWaY5t61ql9sFHxMbAOcBY\n4M2IOAAYL+n5MvdrVjbHtlVB2TdZbwHeX+Y+zOYFx7ZVgfvgzcxqygnezKymnODNzGrKCd7MrKa6\nZ8q+Av35+nGFlXX8+K8UVtas8fMXVtatvx9fWFkAvNmlZdlcJnJsYWV9nS8XVtZRnv6vK7kFb2ZW\nU07wZmY15QRvZlZTTvBmZjXlBG9mVlOlP0UTEScDm+V9nShpctn7NCub49qqoOwp+7YC1pW0KbA9\n8O0y92fWCY5rq4qyu2huAHbJr18EFo0ID69qVee4tkroxJR9M/PiZ4FfSuotc59mZXNcW1V05Jes\nEbETsC+wbSf2Z9YJjmvrdqU/RRMR2wFHAttLmlH2/sw6wXFtVVD2jE5LAt8CJkh6ocx9mXWK49qq\nouwuml2BZYCLIqKxbk9Jj5e8X7MyOa6tEsq+yToJmFTmPsw6zXFtVeFfspqZ1ZQTvJlZTTnBm5nV\nVFt98PmpgTHAW7/Wk/RQWZUy6xTHttXZoAk+Is4A9gGeaXnrPaXUqMscff0pxRVW4Igll07errjC\ngBP4amFlPTBrjcLKeu5vYwsrq9Voj+2jCpz+75YCp//bmNsKKyu5ouDyqqOdFvxWwHKSXiu7MmYd\n5ti2WmunD/5+4PWyK2I2Dzi2rdbaacFPA26IiBuBWXldr6RjyquWWUc4tq3W2knwzwJX59e9pJtR\nHjnP6sCxbbU2aIKXdFwH6mHWcY5tq7t+E3y+bO1Pr6QtBis8IhYBzgXGAgsBx0v65VAraVakkca2\n49qqYqAW/NEDvNfuZewOwK2STomIVYHfAj4QbF4baWw7rq0S+k3wkq4baeGSLmxaXBXwaHs2z400\nth3XVhWdmtHpZmAlUsvHrBYc19btOjIWTZ59fkfgp53Yn1knOK6t27WV4CNi6YjYKCLGRcQS7RYe\nERtExCoAku4CFoiIZYdZV7PCDSe2HddWFYMm+Ij4IvAAaSSV7wIPRcQX2ix/c+BLuZx3AYtJah33\nw2yeGEFsO66tEtrpg98bWF3Si5BaPMB1wPfb+OxZwA8j4gZgYaDdE4NZJ+zN8GLbcW2V0E6Cf6Jx\nAABIej4iHmyn8DyI0x7DrZxZyYYV245rq4p2EvyDEXEpMAWYnzQC33MRsS+ApB+VWD+zMjm2rdba\nSfCLAi8A4/LyS6SDYfO87IPAqsqxbbXWzlg0e3egHmYd59i2umtnRqe+fqXXK2nVEupj1jGObau7\ndrpoNm96vSAwAViknOqYdZRj22qtnS6aR1pXRcQU4LRSalRnhxVX1M49mxRXGDD72S0LK+ukMcV9\n0StXK27u2etblh3bxdmYkworq/fD/1JYWQA9DxU4xP8DxxVXVge000WzNXOPsLcqsHppNTLrEMe2\n1V07XTRHM+cg6CU9afD50mpk1jmObau1drpotuxAPcw6zrFtdddOF837gDNJzwr3AlOBgyQ9UHLd\nzErl2La6a2c0ye8BpwIrkMa+Pgv473Z3EBELR8SDEbHX8KpoVhrHttVaO33wPS3zTU6OiEOGsI+j\nSLPXe7Z66zaObau1dlrw74iIDRoLEbEh6efcg4qItYG1SfNV9gyrhmblcWxbrbXTgv8K8LOIGJuX\nnwD2bLP8bwEHAfsMo25mZXNsW621k+D/JmmtiFiK9DPuFwf9BBARewI3SHosItzCsW7k2LZaayfB\n/y+wpaQXhlj2R4HVI+ITwMrA6xHxuKRrhlpJs5I4tq3W2knw90XET4CbgTfyut7BxsqW9OnG64g4\nFnjYB4B1Gce21Vo7Cf6dwCxgo5b1Hivbqs6xbbXWkfHgJU0caRlmRXNsW90NmOAj4uOSJufXF5J+\nEPIKsLukZztQP7NSOLZtNOj3Ofj8g4+vRUTjJLAK6YcdtwP/1YG6mZXCsW2jxUA/dNoH2FrSm3n5\nNUnXA8cCW5ReM7PyOLZtVBgowc+Q9FTT8s8AJL0BzCy1VmblcmzbqDBQgl+8eUHSOU2LS5RTHbOO\ncGzbqDDQTdY/RcTnJE1qXhkRRwDXllstG9RtxxVa3HzLFJfXes/6cmFlrXXAfYWV1TRln2O7cK8W\nVlLPlEmDbzQEvd8s7sfGPfcXOK7cD44rrqx+DJTg/xO4LP8s+7a87Sak0fN2LL1mZuVxbNuo0G+C\nl/RkRGwMbA2sC7wJ/FzSjZ2qnFkZHNs2Wgz4HLykXuCq/J9ZbTi2bTRoZzx4MzOroHbGohm2iNgS\nuAj4c151t6ShzJhj1nUc11YVpSb47FpJu3RgP2ad5Li2rteJLhpPiGB15Li2rld2C74XWCciLgPG\nABMl+aaWVZ3j2iqh7Bb8/cBxknYC9gJ+2DTAk1lVOa6tEkpN8JKmS7oov34IeBJYqcx9mpXNcW1V\nUWqCj4jd85Rm5JnrxwLTytynWdkc11YVZV9WXg78LCJuAuYHDmwaotWsqhzXVgmlJnhJL+OxPaxm\nHNdWFf4lq5lZTTnBm5nVlBO8mVlNOcGbmdWUE7yZWU11z3ga1/UWOBeWDdVC//xcYWW99u0xhZXV\ne0GB063dO6/i/VjH9jz1/sJK6v3qJwsrq+eOAsPiNz19xrZb8GZmNeUEb2ZWU07wZmY15QRvZlZT\npQ9xGhF7AIeTZq4/RtKvyt6nWdkc11YFZY8muQxwDPAhYAdgpzL3Z9YJjmurirJb8NsAV0maCcwE\nDih5f2ad4Li2Sig7wa8GLJKnNluaNAvONSXv06xsjmurhLIT/HykOSs/DrwbuJZ0cJhVmePaKqHs\np2ieBKZKmp2nNpsREcuWvE+zsjmurRLKTvBTgAkR0ZNvTC0m6ZmS92lWNse1VULpk24DFwO3AL8C\nDi5zf2ad4Li2qij9OXhJk4BJZe/HrJMc11YF/iWrmVlNOcGbmdWUE7yZWU05wZuZ1ZQTvJlZTZX+\nFI1Vw2v3FjfN3tXHblpYWccdV1hRNmrdXVhJPSf8o7CyflXgDJIf7We9W/BmZjXlBG9mVlNO8GZm\nNeUEb2ZWU6XeZI2IfYF/b1r1L5IWL3OfZmVzXFtVlJrgJf0I+BFARGwBfKrM/Zl1guPaqqKTj0ke\nA+zewf2ZdYLj2rpWR/rgI2Ic8JikpzqxP7NOcFxbt+vUTdb9gHM7tC+zTnFcW1frVIIfD9zcoX2Z\ndYrj2rpa6Qk+IlYEXpb0Ztn7MusUx7VVQSda8MsDf+/Afsw6yXFtXa8TU/bdAfxr2fsx6yTHtVWB\nf8lqZlZTTvBmZjXlBG9mVlNO8GZmNeUEb2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZV0jOvK9CuiDgd\n2AjoBQ6VdNsIy1sPmAycJunMEZZ1MrAZafC2EyVNHkYZi5AmjxgLLAQcL+mXI6zXwsCfga9JOm8E\n5WwJXJTLArhb0iEjKG8P4HDgTeAYSb8aZjm1mPy6yNjutrjO5XRlbI+GuO7knKzDFhHjgTUkbRoR\na5MmPN50BOUtApwKXFlA3bYC1s11GwP8kXSADdUOwK2STomIVYHfAiM6CICjgGdJiWOkrpW0y0gL\niYhlSPOYrg8sDkwEhnUg1GHy6yJju0vjGro7tmsd15VI8MAEcnBJujcilo6IxSS9PMzyXicF3REF\n1O0G4Nb8+kVg0YjokTSkwJN0YdPiqsDjI6lUThZrkw6kIq7Uirra2wa4StJMYCZwQEHlVnXy6yJj\nu+viGro+tmsd11VJ8MsDtzctPw2sANw/nMIkzQJmRcSIK5bLmpkXPwv8cjgHQUNE3AysRDpQR+Jb\nwEHAPiMsB1IraZ2IuAwYA0yUdNUwy1oNWCSXtTRwnKRrRlK5ik9+XVhsd3NcQ1fGdu3juqpj0fRQ\nTLdDYSJiJ2Bf4OCRlCNpU2BH4KcjqMuewA2SHqOYFsr9pIDdCdgL+GFEDLdxMB/pYPo4sDfw4wLq\nV6fJr7sqtouKa+jK2K59XFclwU8ntXQaVgSemEd1eZuI2A44Ethe0oxhlrFBRKwCIOkuYIGIWHaY\nVfoo8KmImEpqfR0dEROGWRaSpku6KL9+CHiS1BIbjieBqZJm57JmjOB7NlR58uuuje0i4jqX05Wx\nPRriuipdNFNINy0mRcT6wLTc1zVSI27dRsSSpEvGCZJeGEFRm5Mu874YEe8CFpP0zHAKkvTppvod\nCzw8ksvFiNgdWFPSxIgYS3oaYtowi5sCnBsR3yS1eIb9PXPdqj75dRmx3U1xDV0a26MhriuR4CVN\njYjbI+J3wCxS/9uwRcTGwDmkf9A3I+IAYLyk54dR3K7AMsBFTX2fe0oa6o2ks0iXiDcACwNfGEZd\nynI58LOIuAmYHzhwuIEnaXpEXAzckleN9NK/0pNfFxnbXRrX0L2x7bg2MzMzMzMzMzMzMzMzMzMz\nMzMzM6umygwXXDURsTzwTWA9YAZphLkfSzqjw/XYADgBaPyq7mngSEl/HORzmwBPSnq45CpahTiu\nq6UqQxVUSkT0AJcBv5P0QUlbANsB+0fExztYj7HApaQxszeQ1DgoLs/Dmw5kX2D1suto1eG4rh63\n4EsQEduQBjHarGX9Ao1fykXEuaThXdcC9gBWBk4B3iANNnWwpL9GxHWkCRKujoh3AzdKWiV/fibw\nXtLog+dKOr1lfycAPZKObFl/KvCKpKMjYjawgKTZEbE3sDXwC9JgSY8CX5R0bSF/GKs0x3X1uAVf\njnWBt83K0/Iz6F5gYUlbSpoG/AQ4TNIE4DTgzKbt+htdcCVJ2wNbAEdFxNIt7/8zc8b0bjaVNDFB\nq16gV9KlwJ3Al0bDQWBtc1xXTCXGoqmgN2n620bE/qRB+xcCHm+aQebm/P5SwFhJjXHBrwcuGGQf\nvaQBjpD0YkQICOD3TdvMJI2x0aqHNO5JX+t7WpbNGhzXFeMWfDn+BGzSWJB0jqStSDPtrNC03Rv5\n/60tmeYxwZvfW7Blu+Yg7wFmD1SPJuPouwXUWn7XjEtuXcFxXTFO8CWQdCPwbES8NXVaRLyDdEPq\nlT62fxF4IiI2zKu2IV1uArxEmuYM0vRuDT3AVrnspYE1gPtaij6TNHb2lk312JQ0KcF3+ih/K+YE\n/2zefmDYKOa4rh530ZRnR+CEiPgjKdgWJc1z2Ty/YnNLYk/gtIiYRboUPjCv/x5wVh67+jfM3QJ6\nLiIuId2QOkbSS80VkPRcPgjOiIhT8meeBHZumsDhJGBKRNwP3EW6KQZpYuSzI+LQ3HdpBo5rs/JF\nxI8jYt95XQ+zIjmui+UuGjMzMzMzMzMzMzMzMzMzMzMzMzMzMzOrkv8PzXJvEP/NJ0AAAAAASUVO\nRK5CYII=\n", + "image/png": "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\n", "text/plain": [ - "" + "" ] }, "metadata": {}, diff --git a/docs/source/pythonapi/examples/mgxs-part-iii.ipynb b/docs/source/pythonapi/examples/mgxs-part-iii.ipynb index dcb496160e..5fccc4f03d 100644 --- a/docs/source/pythonapi/examples/mgxs-part-iii.ipynb +++ b/docs/source/pythonapi/examples/mgxs-part-iii.ipynb @@ -32,7 +32,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/usr/local/lib/python2.7/dist-packages/matplotlib/__init__.py:1318: UserWarning: This call to matplotlib.use() has no effect\n", + "/usr/local/lib/python2.7/dist-packages/matplotlib-1.5.1+1178.ga40c9ec-py2.7-linux-x86_64.egg/matplotlib/__init__.py:1362: UserWarning: This call to matplotlib.use() has no effect\n", "because the backend has already been chosen;\n", "matplotlib.use() must be called *before* pylab, matplotlib.pyplot,\n", "or matplotlib.backends is imported for the first time.\n", @@ -44,20 +44,16 @@ "source": [ "import math\n", "import pickle\n", + "\n", "from IPython.display import Image\n", - "import matplotlib.pylab as pylab\n", + "import matplotlib.pyplot as plt\n", "import numpy as np\n", "\n", "import openmc\n", "import openmc.mgxs\n", - "from openmc.statepoint import StatePoint\n", - "from openmc.summary import Summary\n", - "from openmc.source import Source\n", - "from openmc.stats import Box\n", - "\n", "import openmoc\n", "import openmoc.process\n", - "from openmoc.compatible import get_openmoc_geometry\n", + "from openmoc.opencg_compatible import get_openmoc_geometry\n", "from openmoc.materialize import load_openmc_mgxs_lib\n", "\n", "%matplotlib inline" @@ -393,9 +389,11 @@ "settings_file.inactive = inactive\n", "settings_file.particles = particles\n", "settings_file.output = {'tallies': False}\n", - "source_bounds = [-10.71, -10.71, -10, 10.71, 10.71, 10.]\n", - "settings_file.source = Source(Box(\n", - " source_bounds[:3], source_bounds[3:], only_fissionable=True))\n", + "\n", + "# Create an initial uniform spatial source distribution over fissionable zones\n", + "bounds = [-10.71, -10.71, -10, 10.71, 10.71, 10.]\n", + "uniform_dist = openmc.stats.Box(bounds[:3], bounds[3:], only_fissionable=True)\n", + "settings_file.source = openmc.source.Source(space=uniform_dist)\n", "\n", "# Export to \"settings.xml\"\n", "settings_file.export_to_xml()" @@ -420,8 +418,8 @@ "plot = openmc.Plot(plot_id=1)\n", "plot.filename = 'materials-xy'\n", "plot.origin = [0, 0, 0]\n", - "plot.width = [21.5, 21.5]\n", "plot.pixels = [250, 250]\n", + "plot.width = [-10.71*2, -10.71*2]\n", "plot.color = 'mat'\n", "\n", "# Instantiate a PlotsFile, add Plot, and export to \"plots.xml\"\n", @@ -470,7 +468,7 @@ "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAPoAAAD6AgMAAAD1grKuAAAABGdBTUEAALGPC/xhBQAAACBjSFJN\nAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAADFBMVEX///9yEhLpgJFNv8Tq\nQYT7AAAAAWJLR0QAiAUdSAAAAAd0SU1FB+ABDg4MCdjYNQMAAASWSURBVGje7Zs7buMwEEBzieRc\naYaB48KVisSFj7Cn4BFU2I37LVan8BFc5ABb2ICtpSSaHP5EUqOAzsIOAjwEGjjiZ/hEDZ+eiJ9n\noHxe6fHvW4BPDmwHEMAaYBdAEb+5Amu/YNlyQLgP4xGhiG9avmwvsBF/t/FkY2vj69NLD1f41Z6Y\niw3Gvy728ceVuhLhwY8bA0fij8EgO/6wjH2pF/lKxvf3tNG3Z+BRt4oHh/Znt5bu+iQd+/Z/Xp8B\nmiO8X0X/n7KQNbWIZ1wMJjEUPwBuuI1hfcMZxv9Pj19/AexrYH84KASFV41nhe8Ku/4f+nSpu3eN\nsdadjpBLFPF6pIE76Hx4QeiMfy/yVQi/cf6mxx900jk4ScfGlc4/q9v8c9sPxhpN4wn3n+qepeqe\nAK5x/3WZfieGx+8h6Uv8DCNHeAfjv3Q8q0VjwJCesrFbP2X+7NZPidAjE7hAyGTSFOvnLX8erfw9\nYCV+BL4p7DL1gH3SNvK3Z/0Qn3HE64dn/eLifx1Fd/62eP4NVyLsJx1Cce2bf/7mfL+Kt6UB+ivt\nm+YasT88u6Yi2z+M+lrpT432J4F9pw+mZOH+rP3pLP2pEzFhaiCdzESGcOvBO5g/peMt6d2lYo39\nd0ivNUvwXyE6KhVb/ssh7r8LMRAs/1XrD0DcfxfiP8DrD54/AFV0/av6eP/6acQH/NcTr/KH6JCY\nCnezMOi/8v5H/be7f9N/tdNyluC/sv3V+rnWTvuxUNj/tbax81+u0fDfSuttOt7B/Ckd3zVvb7ra\nfzFq6XWxifqv0f8x/2XZ+PBfw39tFb5YyPTz//z+u9P+a+KnTvoO3sH4Lx3fiyzXTutgbxrgx8F/\nbdNNR+2/Uq/YuH9dLRXW60cVk14DK2P/aJkinQ7yDfZfR3pH/Feg47/532/6r196/cgVDu3/liK9\nDgLyX2260U5vMfr9dxvBh/+i+CzptVHE73V69WOj/ddBT/53toKdTV8j/5vrT9b+7/eun9P2f6P+\nm7T/G/GPkP/m481/6xHpHcNu/PJhKFbi18SFi2DhHcyf0vHYf09Sb4ON/iXR9d/J/U8Zf5dZxj91\n/s3ovzzqv3b+IfvvSNL1o5V/belNzP8P/5XxqdLhxdn9N6ZiQf+d6n8z+OeP919K+5P7nzr+Ss+f\n0vHU/EfNv8T8T11/frr/Uv1jFv+l+Ffp8V88ng9YwTT/pz5/EPuf+vz1H/pv1vM39fmfvP9A3f8o\nPn8Kx1P336j7f8T9x//Bf4n7z6T9b+r+O9l/qe8fSs+f0vHU91/U92+z+m/++8d7eX869f0v9f0z\n+f039f176fFfOp5xWv0Htf4E9fSU+hfsv1Pqb/D4h2n1P9T6I2r9E6n+ilr/Ra4/o9a/lZ4/peOp\n9ZcbYv0nsf70pXUe2rLqX19acv0ttf7XfmjOrT+2kxbE/Dd4fmZC/TW5/ptaf156/pSOp55/mNF/\nWx8y238vD//1+++k80fk80/U81elx3/peMZp5/+o5w8b2vlH7/7viP8mnJ/JPf9Zev/X9oes87fY\nf21MOf9LPn9MPf9cdv78A0xugrwgDfcHAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDE2LTAxLTE0VDA4\nOjEyOjA5LTA2OjAwdS8nUQAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxNi0wMS0xNFQwODoxMjowOS0w\nNjowMARyn+0AAAAASUVORK5CYII=\n", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAPoAAAD6AgMAAAD1grKuAAAABGdBTUEAALGPC/xhBQAAAAFzUkdC\nAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAxQTFRF\n////chIS6YCRTb/E6kGE+wAAAAFiS0dEAIgFHUgAAAAJcEhZcwAAAEgAAABIAEbJaz4AAAWFSURB\nVGje7Zs7cttADIZ9CSvXcrP0iCxUqbBc8Ag6xR6BhV2EvYvwFD4CCx1ABT1jMdgndpegRQnOrCbj\npPlGESISC4A/gd27e8H583CX3b4+iKJrRHkS4vkghMPBonRYWGwtfgD2YN+dRDUOoh6lACw0Noi9\nw2fESuEoAR/uVuMolX039oXGT7F3eFL2iEfhUX1f4cPdL/ishs+68ai+udE4xPhexbjX2FfjGNoP\nj/DPNX4Tsd+EODr8FvsVdf1Hd9P2VvCi4+s/aXvrf+upAD+1/9GV1mkOH5X9vV6THtfvACslcaUC\nbESL61drBPtdI8SrFMWrELsXCkuFDYW75gbiP7d9Cf7bAYI/aCwUShrBvh30+lWQkzVgZ/HD4Oix\nNCgcQpJ3BxU/Ln91elKoM5VEE38QtJ+Yv6cQ9xjKNYayyl8TypP8DfJnQ2H/b/N3ye9P83cT33SQ\nv/sQh9gV7zZ/0dNj5HQaC5vVzv9+/WFN2w8KVaZ2BwL1+pv4g0x1QRfjq0dB4Q3kT277oP6VNL6g\nKxNU9a8zK+WLbi/WwpdihbboKqyxFOulHMj6v4W/AXbmUeAxrv9J/CqEBXaRKsXaodD4nsYvkT/G\n6H1D4SR/iPy1Roj9JsQ5e18/7EUHv1+Fvx/Xj5V9Ugb5K8TW4TZEEdcvoz/up0VTe9qsVIppKVX6\na7D6y9ZvwEKjrtQxPtv6fXII9vCxKOGaIeAIfEF8IvAG8ie3vRK9rRQl+PPpSctbhfpTUCpviH+k\nxsZgpT91+snoX1l49KK3iUQvICRy5aUw6l8leoVwoo3Uv1rKreF/UFLY6d9QP4L9Wf2r7EP9GOSf\ncsjZ56f60kz+XmVPXv+RuP49ff0T/53Rv6n/7m2lvXT9Wqd/VUz8hvh5M/ED6ILmt4mfHYZSaePn\nTWpsf/SvqV9O6dLYYClLEetnoH/LBLFoBvrX189uTv8++kot5vTvQD4/9jP690g9P/4z/bvo/XVG\n/xYoZZx+8fr3MxAtsf7tUOkG2JqsTtCIpgCt/qX1226KqZS7gfzJbe+c9jLrtIZ8lXD+s4umlW6A\nKIVrlML2/cXjgPFjlJqIRC+Fj0bVJe+vSh56pSdR6YkQ1ygF10Wqf0FeLta/iKn9Mv1L24ti2e+7\nW4n1b3T/W+L+t9H9T/SvVboUmqJJon1/hZq8LnzRDlDrX1u0xRT1+6vEpomMmyYkqi95vIH8yW1P\nN+122KkLcNLKi/WTF01z/cNASrWE/l3ev6T17zX909z9X27/euK/Rf3zWP+Waf9eEv37KkWJ+rfD\nl6ZglNDa+cEBhwYDvkoNP/rX69814NaI3imq0l7OYDy/qSdDGwr7r+Y3VbzoKZr6XX2lfxfOb87q\nXzr+b1j/Xlp/nP6dn98McdH7cn7zjPObKsYWS3Eb9w8n85smHtqQuPuZ30T2dlIT6F9xFl+n8xsl\negL9a4c2KRr9W4rp/GYqumiM9Nec/j2v/yj9u1h//hv9e93vc++f63/u+rPjL3f+5Lbn1j9m/eXW\nf+7zh/v8+2b9e/Hzn6s/uPqHrb8g71n6L3f+5Lbnvn8w33+4718/+5d47//c/gO7/5E7/nPbc/tv\n3P4fs//I7X9y+6/fqH+v6j9z+9/c/ju3/8+eP+TOn9z23PkXc/7Gnf9x5483q38Xzn+582fu/Js9\nfy8kb/6fO39y23P3n3S8/S/c/Tfc/T83uX/pgv1XE/9duP+Lu/+Mvf8td/znti8kb/8ld/9nx9t/\nSjw/Ltr/yt1/+337f6/bf0zoB3nJ/ucVc/81d/83e/957vzJbc89/8A8f8E9/5HE78XnT/4H/cs5\nf8Q9/8Q9f8U+/5U7f3Lbc88fdrzzjyvm+cuf/Uu887/c88fs88954/8vO4SjPC+2QRIAAAAldEVY\ndGRhdGU6Y3JlYXRlADIwMTYtMDQtMTNUMTE6NTc6NDAtMDQ6MDBB7YJkAAAAJXRFWHRkYXRlOm1v\nZGlmeQAyMDE2LTA0LTEzVDExOjU3OjQwLTA0OjAwMLA62AAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] @@ -560,7 +558,7 @@ "* `NuScatterMatrixXS` (`\"nu-scatter matrix\"`)\n", "* `Chi` (`\"chi\"`)\n", "\n", - "In this case, let's create the multi-group cross sections needed to run an OpenMOC simulation to verify the accuracy of our cross sections. In particular, we will define `\"transport\"`, `\"nu-fission\"`, `\"nu-scatter matrix\"` and `\"chi\"` cross sections for our `Library`.\n", + "In this case, let's create the multi-group cross sections needed to run an OpenMOC simulation to verify the accuracy of our cross sections. In particular, we will define `\"transport\"`, `\"nu-fission\"`, `'\"fission\"`, `\"nu-scatter matrix\"` and `\"chi\"` cross sections for our `Library`.\n", "\n", "**Note**: A variety of different approximate transport-corrected total multi-group cross sections (and corresponding scattering matrices) can be found in the literature. At the present time, the `openmc.mgxs` module only supports the `\"P0\"` transport correction. This correction can be turned on and off through the boolean `Library.correction` property which may take values of `\"P0\"` (default) or `None`." ] @@ -569,12 +567,12 @@ "cell_type": "code", "execution_count": 19, "metadata": { - "collapsed": true + "collapsed": false }, "outputs": [], "source": [ "# Specify multi-group cross section types to compute\n", - "mgxs_lib.mgxs_types = ['transport', 'nu-fission', 'nu-scatter matrix', 'chi']" + "mgxs_lib.mgxs_types = ['transport', 'nu-fission', 'fission', 'nu-scatter matrix', 'chi']" ] }, { @@ -681,7 +679,7 @@ "mesh.type = 'regular'\n", "mesh.dimension = [17, 17]\n", "mesh.lower_left = [-10.71, -10.71]\n", - "mesh.width = [1.26, 1.26]\n", + "mesh.upper_right = [+10.71, +10.71]\n", "\n", "# Instantiate tally Filter\n", "mesh_filter = openmc.Filter()\n", @@ -689,9 +687,8 @@ "\n", "# Instantiate the Tally\n", "tally = openmc.Tally(name='mesh tally')\n", - "tally.add_filter(mesh_filter)\n", - "tally.add_score('fission')\n", - "tally.add_score('nu-fission')\n", + "tally.filters = [mesh_filter]\n", + "tally.scores = ['fission', 'nu-fission']\n", "\n", "# Add mesh and Tally to TalliesFile\n", "tallies_file.add_mesh(mesh)\n", @@ -737,8 +734,9 @@ " Copyright: 2011-2015 Massachusetts Institute of Technology\n", " License: http://mit-crpg.github.io/openmc/license.html\n", " Version: 0.7.1\n", - " Git SHA1: ea9fb637f63f9374c7436456141afa850b84acf9\n", - " Date/Time: 2016-01-14 08:12:09\n", + " Git SHA1: eeb5091ca3a34cc85df73a3318cae2b6c7097413\n", + " Date/Time: 2016-04-13 11:57:40\n", + " MPI Processes: 1\n", "\n", " ===========================================================================\n", " ========================> INITIALIZATION <=========================\n", @@ -765,56 +763,56 @@ "\n", " Bat./Gen. k Average k \n", " ========= ======== ==================== \n", - " 1/1 1.02650 \n", - " 2/1 1.01386 \n", - " 3/1 1.01045 \n", - " 4/1 1.05511 \n", - " 5/1 1.04873 \n", - " 6/1 1.04558 \n", - " 7/1 1.03840 \n", - " 8/1 1.02086 \n", - " 9/1 1.08845 \n", - " 10/1 1.03932 \n", - " 11/1 1.01271 \n", - " 12/1 1.03448 1.02360 +/- 0.01088\n", - " 13/1 1.04395 1.03038 +/- 0.00925\n", - " 14/1 1.05477 1.03648 +/- 0.00894\n", - " 15/1 1.00485 1.03015 +/- 0.00938\n", - " 16/1 1.04523 1.03267 +/- 0.00806\n", - " 17/1 1.01328 1.02990 +/- 0.00735\n", - " 18/1 1.01476 1.02800 +/- 0.00664\n", - " 19/1 1.01490 1.02655 +/- 0.00604\n", - " 20/1 1.00926 1.02482 +/- 0.00567\n", - " 21/1 0.98504 1.02120 +/- 0.00627\n", - " 22/1 1.00397 1.01977 +/- 0.00591\n", - " 23/1 1.02556 1.02021 +/- 0.00545\n", - " 24/1 0.99808 1.01863 +/- 0.00529\n", - " 25/1 0.99638 1.01715 +/- 0.00514\n", - " 26/1 0.99615 1.01584 +/- 0.00499\n", - " 27/1 1.01843 1.01599 +/- 0.00469\n", - " 28/1 1.00315 1.01528 +/- 0.00447\n", - " 29/1 1.00633 1.01480 +/- 0.00426\n", - " 30/1 1.02159 1.01514 +/- 0.00405\n", - " 31/1 1.03395 1.01604 +/- 0.00396\n", - " 32/1 1.02672 1.01652 +/- 0.00381\n", - " 33/1 1.03778 1.01745 +/- 0.00375\n", - " 34/1 1.03807 1.01831 +/- 0.00369\n", - " 35/1 1.07854 1.02072 +/- 0.00428\n", - " 36/1 1.03524 1.02128 +/- 0.00415\n", - " 37/1 1.03100 1.02164 +/- 0.00401\n", - " 38/1 1.03853 1.02224 +/- 0.00391\n", - " 39/1 1.04089 1.02288 +/- 0.00383\n", - " 40/1 1.02150 1.02284 +/- 0.00370\n", - " 41/1 0.98470 1.02161 +/- 0.00379\n", - " 42/1 1.00658 1.02114 +/- 0.00370\n", - " 43/1 0.98652 1.02009 +/- 0.00373\n", - " 44/1 1.02787 1.02032 +/- 0.00363\n", - " 45/1 0.98800 1.01939 +/- 0.00364\n", - " 46/1 1.00286 1.01893 +/- 0.00357\n", - " 47/1 1.02559 1.01911 +/- 0.00348\n", - " 48/1 1.03729 1.01959 +/- 0.00342\n", - " 49/1 1.02538 1.01974 +/- 0.00333\n", - " 50/1 1.01478 1.01962 +/- 0.00325\n", + " 1/1 1.03852 \n", + " 2/1 0.99743 \n", + " 3/1 1.02987 \n", + " 4/1 1.04472 \n", + " 5/1 1.02183 \n", + " 6/1 1.05263 \n", + " 7/1 0.99048 \n", + " 8/1 1.02753 \n", + " 9/1 1.03159 \n", + " 10/1 1.04005 \n", + " 11/1 1.05278 \n", + " 12/1 1.02555 1.03917 +/- 0.01362\n", + " 13/1 0.99400 1.02411 +/- 0.01699\n", + " 14/1 1.03508 1.02685 +/- 0.01232\n", + " 15/1 1.00055 1.02159 +/- 0.01090\n", + " 16/1 1.01334 1.02022 +/- 0.00900\n", + " 17/1 0.99822 1.01707 +/- 0.00823\n", + " 18/1 1.01767 1.01715 +/- 0.00713\n", + " 19/1 1.05052 1.02086 +/- 0.00730\n", + " 20/1 1.03133 1.02190 +/- 0.00661\n", + " 21/1 1.04112 1.02365 +/- 0.00623\n", + " 22/1 1.04175 1.02516 +/- 0.00588\n", + " 23/1 1.01909 1.02469 +/- 0.00543\n", + " 24/1 1.07119 1.02801 +/- 0.00603\n", + " 25/1 0.97445 1.02444 +/- 0.00665\n", + " 26/1 1.04737 1.02588 +/- 0.00638\n", + " 27/1 1.04656 1.02709 +/- 0.00612\n", + " 28/1 1.03464 1.02751 +/- 0.00578\n", + " 29/1 1.02528 1.02739 +/- 0.00547\n", + " 30/1 1.02799 1.02742 +/- 0.00519\n", + " 31/1 1.05846 1.02890 +/- 0.00516\n", + " 32/1 1.03811 1.02932 +/- 0.00493\n", + " 33/1 1.00894 1.02843 +/- 0.00480\n", + " 34/1 1.02049 1.02810 +/- 0.00460\n", + " 35/1 1.00690 1.02726 +/- 0.00450\n", + " 36/1 1.03129 1.02741 +/- 0.00432\n", + " 37/1 0.98864 1.02597 +/- 0.00440\n", + " 38/1 1.00017 1.02505 +/- 0.00434\n", + " 39/1 1.03635 1.02544 +/- 0.00421\n", + " 40/1 1.07090 1.02696 +/- 0.00434\n", + " 41/1 1.03141 1.02710 +/- 0.00420\n", + " 42/1 1.02624 1.02707 +/- 0.00406\n", + " 43/1 1.02668 1.02706 +/- 0.00394\n", + " 44/1 1.05940 1.02801 +/- 0.00394\n", + " 45/1 1.01149 1.02754 +/- 0.00385\n", + " 46/1 1.06958 1.02871 +/- 0.00392\n", + " 47/1 1.02674 1.02866 +/- 0.00381\n", + " 48/1 1.02542 1.02857 +/- 0.00371\n", + " 49/1 1.03516 1.02874 +/- 0.00362\n", + " 50/1 1.06818 1.02973 +/- 0.00366\n", " Creating state point statepoint.50.h5...\n", "\n", " ===========================================================================\n", @@ -824,27 +822,27 @@ "\n", " =======================> TIMING STATISTICS <=======================\n", "\n", - " Total time for initialization = 4.1800E-01 seconds\n", - " Reading cross sections = 1.4300E-01 seconds\n", - " Total time in simulation = 4.1206E+01 seconds\n", - " Time in transport only = 4.1193E+01 seconds\n", - " Time in inactive batches = 4.1760E+00 seconds\n", - " Time in active batches = 3.7030E+01 seconds\n", + " Total time for initialization = 4.3700E-01 seconds\n", + " Reading cross sections = 8.2000E-02 seconds\n", + " Total time in simulation = 4.7745E+01 seconds\n", + " Time in transport only = 4.7726E+01 seconds\n", + " Time in inactive batches = 3.8220E+00 seconds\n", + " Time in active batches = 4.3923E+01 seconds\n", " Time synchronizing fission bank = 3.0000E-03 seconds\n", " Sampling source sites = 2.0000E-03 seconds\n", - " SEND/RECV source sites = 1.0000E-03 seconds\n", - " Time accumulating tallies = 0.0000E+00 seconds\n", + " SEND/RECV source sites = 0.0000E+00 seconds\n", + " Time accumulating tallies = 1.0000E-03 seconds\n", " Total time for finalization = 0.0000E+00 seconds\n", - " Total time elapsed = 4.1648E+01 seconds\n", - " Calculation Rate (inactive) = 5986.59 neutrons/second\n", - " Calculation Rate (active) = 2700.51 neutrons/second\n", + " Total time elapsed = 4.8198E+01 seconds\n", + " Calculation Rate (inactive) = 6541.08 neutrons/second\n", + " Calculation Rate (active) = 2276.71 neutrons/second\n", "\n", " ============================> RESULTS <============================\n", "\n", - " k-effective (Collision) = 1.01805 +/- 0.00261\n", - " k-effective (Track-length) = 1.01962 +/- 0.00325\n", - " k-effective (Absorption) = 1.01554 +/- 0.00339\n", - " Combined k-effective = 1.01711 +/- 0.00235\n", + " k-effective (Collision) = 1.02763 +/- 0.00343\n", + " k-effective (Track-length) = 1.02973 +/- 0.00366\n", + " k-effective (Absorption) = 1.02732 +/- 0.00319\n", + " Combined k-effective = 1.02826 +/- 0.00259\n", " Leakage Fraction = 0.00000 +/- 0.00000\n", "\n" ] @@ -982,14 +980,13 @@ "name": "stderr", "output_type": "stream", "text": [ - "/home/romano/openmc/openmc/tallies.py:1642: RuntimeWarning: invalid value encountered in true_divide\n", - " self_rel_err = data['self']['std. dev.'] / data['self']['mean']\n" + "/usr/local/lib/python2.7/dist-packages/openmc-0.7.1-py2.7.egg/openmc/tallies.py:1996: RuntimeWarning: invalid value encountered in true_divide\n" ] }, { "data": { "text/html": [ - "
\n", + "
\n", "\n", " \n", " \n", @@ -1007,23 +1004,23 @@ " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -1031,23 +1028,23 @@ " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -1055,13 +1052,13 @@ "" ], "text/plain": [ - " cell group in nuclide mean std. dev.\n", - "3 10000 1 U-235 0.008064 4.062984e-05\n", - "4 10000 1 U-238 0.007336 4.459335e-05\n", - "5 10000 1 O-16 0.000000 0.000000e+00\n", - "0 10000 2 U-235 0.361327 1.902492e-03\n", - "1 10000 2 U-238 0.000001 3.536787e-09\n", - "2 10000 2 O-16 0.000000 0.000000e+00" + " cell group in nuclide mean std. dev.\n", + "3 10000 1 U-235 8.055246e-03 2.857567e-05\n", + "4 10000 1 U-238 7.339215e-03 4.349466e-05\n", + "5 10000 1 O-16 0.000000e+00 0.000000e+00\n", + "0 10000 2 U-235 3.615565e-01 2.050486e-03\n", + "1 10000 2 U-238 6.742638e-07 3.795256e-09\n", + "2 10000 2 O-16 0.000000e+00 0.000000e+00" ] }, "execution_count": 31, @@ -1098,13 +1095,13 @@ "\tDomain ID =\t10000\n", "\tNuclide =\tU-235\n", "\tCross Sections [cm^-1]:\n", - " Group 1 [6.25e-07 - 20.0 MeV]:\t8.06e-03 +/- 5.04e-01%\n", - " Group 2 [0.0 - 6.25e-07 MeV]:\t3.61e-01 +/- 5.27e-01%\n", + " Group 1 [6.25e-07 - 20.0 MeV]:\t8.06e-03 +/- 3.55e-01%\n", + " Group 2 [0.0 - 6.25e-07 MeV]:\t3.62e-01 +/- 5.67e-01%\n", "\n", "\tNuclide =\tU-238\n", "\tCross Sections [cm^-1]:\n", - " Group 1 [6.25e-07 - 20.0 MeV]:\t7.34e-03 +/- 6.08e-01%\n", - " Group 2 [0.0 - 6.25e-07 MeV]:\t6.74e-07 +/- 5.25e-01%\n", + " Group 1 [6.25e-07 - 20.0 MeV]:\t7.34e-03 +/- 5.93e-01%\n", + " Group 2 [0.0 - 6.25e-07 MeV]:\t6.74e-07 +/- 5.63e-01%\n", "\n", "\tNuclide =\tO-16\n", "\tCross Sections [cm^-1]:\n", @@ -1202,7 +1199,7 @@ { "data": { "text/html": [ - "
\n", + "
\n", "
100001U-2350.0080644.062984e-058.055246e-032.857567e-05
4100001U-2380.0073364.459335e-057.339215e-034.349466e-05
5100001O-160.0000000.000000e+000.000000e+00
100002U-2350.3613271.902492e-033.615565e-012.050486e-03
1100002U-2380.0000013.536787e-096.742638e-073.795256e-09
2100002O-160.0000000.000000e+000.000000e+00
\n", " \n", " \n", @@ -1220,16 +1217,16 @@ " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", @@ -1245,8 +1242,8 @@ ], "text/plain": [ " cell group in nuclide mean std. dev.\n", - "0 10000 1 U-235 0.074383 0.000280\n", - "1 10000 1 U-238 0.005959 0.000036\n", + "0 10000 1 U-235 0.074860 0.000303\n", + "1 10000 1 U-238 0.005952 0.000035\n", "2 10000 1 O-16 0.000000 0.000000" ] }, @@ -1327,126 +1324,126 @@ "name": "stdout", "output_type": "stream", "text": [ - "[ NORMAL ] Ray tracing for track segmentation...\n", - "[ NORMAL ] Dumping tracks to file...\n", + "[ NORMAL ] Importing ray tracing data from file...\n", "[ NORMAL ] Computing the eigenvalue...\n", - "[ NORMAL ] Iteration 0:\tk_eff = 0.854316\tres = 0.000E+00\n", - "[ NORMAL ] Iteration 1:\tk_eff = 0.801593\tres = 1.522E-01\n", - "[ NORMAL ] Iteration 2:\tk_eff = 0.761131\tres = 6.380E-02\n", - "[ NORMAL ] Iteration 3:\tk_eff = 0.731467\tres = 5.066E-02\n", - "[ NORMAL ] Iteration 4:\tk_eff = 0.709897\tres = 3.910E-02\n", - "[ NORMAL ] Iteration 5:\tk_eff = 0.695111\tres = 2.954E-02\n", - "[ NORMAL ] Iteration 6:\tk_eff = 0.685967\tres = 2.085E-02\n", - "[ NORMAL ] Iteration 7:\tk_eff = 0.681511\tres = 1.317E-02\n", - "[ NORMAL ] Iteration 8:\tk_eff = 0.680926\tres = 6.520E-03\n", - "[ NORMAL ] Iteration 9:\tk_eff = 0.683509\tres = 1.046E-03\n", - "[ NORMAL ] Iteration 10:\tk_eff = 0.688659\tres = 3.848E-03\n", - "[ NORMAL ] Iteration 11:\tk_eff = 0.695861\tres = 7.565E-03\n", - "[ NORMAL ] Iteration 12:\tk_eff = 0.704674\tres = 1.048E-02\n", - "[ NORMAL ] Iteration 13:\tk_eff = 0.714726\tres = 1.269E-02\n", - "[ NORMAL ] Iteration 14:\tk_eff = 0.725701\tres = 1.428E-02\n", - "[ NORMAL ] Iteration 15:\tk_eff = 0.737329\tres = 1.537E-02\n", - "[ NORMAL ] Iteration 16:\tk_eff = 0.749388\tres = 1.604E-02\n", - "[ NORMAL ] Iteration 17:\tk_eff = 0.761691\tres = 1.637E-02\n", - "[ NORMAL ] Iteration 18:\tk_eff = 0.774081\tres = 1.643E-02\n", - "[ NORMAL ] Iteration 19:\tk_eff = 0.786431\tres = 1.628E-02\n", - "[ NORMAL ] Iteration 20:\tk_eff = 0.798638\tres = 1.597E-02\n", - "[ NORMAL ] Iteration 21:\tk_eff = 0.810618\tres = 1.553E-02\n", - "[ NORMAL ] Iteration 22:\tk_eff = 0.822303\tres = 1.501E-02\n", - "[ NORMAL ] Iteration 23:\tk_eff = 0.833643\tres = 1.443E-02\n", - "[ NORMAL ] Iteration 24:\tk_eff = 0.844598\tres = 1.380E-02\n", - "[ NORMAL ] Iteration 25:\tk_eff = 0.855140\tres = 1.315E-02\n", - "[ NORMAL ] Iteration 26:\tk_eff = 0.865249\tres = 1.249E-02\n", - "[ NORMAL ] Iteration 27:\tk_eff = 0.874914\tres = 1.183E-02\n", - "[ NORMAL ] Iteration 28:\tk_eff = 0.884128\tres = 1.118E-02\n", - "[ NORMAL ] Iteration 29:\tk_eff = 0.892891\tres = 1.054E-02\n", - "[ NORMAL ] Iteration 30:\tk_eff = 0.901206\tres = 9.920E-03\n", - "[ NORMAL ] Iteration 31:\tk_eff = 0.909080\tres = 9.320E-03\n", - "[ NORMAL ] Iteration 32:\tk_eff = 0.916522\tres = 8.745E-03\n", - "[ NORMAL ] Iteration 33:\tk_eff = 0.923545\tres = 8.194E-03\n", - "[ NORMAL ] Iteration 34:\tk_eff = 0.930162\tres = 7.669E-03\n", - "[ NORMAL ] Iteration 35:\tk_eff = 0.936387\tres = 7.171E-03\n", - "[ NORMAL ] Iteration 36:\tk_eff = 0.942236\tres = 6.698E-03\n", - "[ NORMAL ] Iteration 37:\tk_eff = 0.947725\tres = 6.252E-03\n", - "[ NORMAL ] Iteration 38:\tk_eff = 0.952869\tres = 5.830E-03\n", - "[ NORMAL ] Iteration 39:\tk_eff = 0.957686\tres = 5.433E-03\n", - "[ NORMAL ] Iteration 40:\tk_eff = 0.962192\tres = 5.060E-03\n", - "[ NORMAL ] Iteration 41:\tk_eff = 0.966404\tres = 4.710E-03\n", - "[ NORMAL ] Iteration 42:\tk_eff = 0.970336\tres = 4.381E-03\n", - "[ NORMAL ] Iteration 43:\tk_eff = 0.974005\tres = 4.073E-03\n", - "[ NORMAL ] Iteration 44:\tk_eff = 0.977426\tres = 3.785E-03\n", - "[ NORMAL ] Iteration 45:\tk_eff = 0.980613\tres = 3.515E-03\n", - "[ NORMAL ] Iteration 46:\tk_eff = 0.983580\tres = 3.264E-03\n", - "[ NORMAL ] Iteration 47:\tk_eff = 0.986340\tres = 3.029E-03\n", - "[ NORMAL ] Iteration 48:\tk_eff = 0.988907\tres = 2.809E-03\n", - "[ NORMAL ] Iteration 49:\tk_eff = 0.991293\tres = 2.605E-03\n", - "[ NORMAL ] Iteration 50:\tk_eff = 0.993509\tres = 2.415E-03\n", - "[ NORMAL ] Iteration 51:\tk_eff = 0.995566\tres = 2.238E-03\n", - "[ NORMAL ] Iteration 52:\tk_eff = 0.997475\tres = 2.073E-03\n", - "[ NORMAL ] Iteration 53:\tk_eff = 0.999246\tres = 1.920E-03\n", - "[ NORMAL ] Iteration 54:\tk_eff = 1.000887\tres = 1.777E-03\n", - "[ NORMAL ] Iteration 55:\tk_eff = 1.002408\tres = 1.645E-03\n", - "[ NORMAL ] Iteration 56:\tk_eff = 1.003818\tres = 1.522E-03\n", - "[ NORMAL ] Iteration 57:\tk_eff = 1.005123\tres = 1.408E-03\n", - "[ NORMAL ] Iteration 58:\tk_eff = 1.006331\tres = 1.302E-03\n", - "[ NORMAL ] Iteration 59:\tk_eff = 1.007449\tres = 1.203E-03\n", - "[ NORMAL ] Iteration 60:\tk_eff = 1.008483\tres = 1.112E-03\n", - "[ NORMAL ] Iteration 61:\tk_eff = 1.009439\tres = 1.028E-03\n", - "[ NORMAL ] Iteration 62:\tk_eff = 1.010324\tres = 9.496E-04\n", - "[ NORMAL ] Iteration 63:\tk_eff = 1.011141\tres = 8.771E-04\n", - "[ NORMAL ] Iteration 64:\tk_eff = 1.011896\tres = 8.100E-04\n", - "[ NORMAL ] Iteration 65:\tk_eff = 1.012594\tres = 7.479E-04\n", - "[ NORMAL ] Iteration 66:\tk_eff = 1.013238\tres = 6.903E-04\n", - "[ NORMAL ] Iteration 67:\tk_eff = 1.013833\tres = 6.372E-04\n", - "[ NORMAL ] Iteration 68:\tk_eff = 1.014382\tres = 5.880E-04\n", - "[ NORMAL ] Iteration 69:\tk_eff = 1.014889\tres = 5.425E-04\n", - "[ NORMAL ] Iteration 70:\tk_eff = 1.015357\tres = 5.004E-04\n", - "[ NORMAL ] Iteration 71:\tk_eff = 1.015788\tres = 4.615E-04\n", - "[ NORMAL ] Iteration 72:\tk_eff = 1.016186\tres = 4.256E-04\n", - "[ NORMAL ] Iteration 73:\tk_eff = 1.016553\tres = 3.924E-04\n", - "[ NORMAL ] Iteration 74:\tk_eff = 1.016892\tres = 3.617E-04\n", - "[ NORMAL ] Iteration 75:\tk_eff = 1.017204\tres = 3.334E-04\n", - "[ NORMAL ] Iteration 76:\tk_eff = 1.017491\tres = 3.073E-04\n", - "[ NORMAL ] Iteration 77:\tk_eff = 1.017756\tres = 2.831E-04\n", - "[ NORMAL ] Iteration 78:\tk_eff = 1.018000\tres = 2.608E-04\n", - "[ NORMAL ] Iteration 79:\tk_eff = 1.018225\tres = 2.403E-04\n", - "[ NORMAL ] Iteration 80:\tk_eff = 1.018432\tres = 2.213E-04\n", - "[ NORMAL ] Iteration 81:\tk_eff = 1.018623\tres = 2.038E-04\n", - "[ NORMAL ] Iteration 82:\tk_eff = 1.018799\tres = 1.877E-04\n", - "[ NORMAL ] Iteration 83:\tk_eff = 1.018961\tres = 1.729E-04\n", - "[ NORMAL ] Iteration 84:\tk_eff = 1.019110\tres = 1.591E-04\n", - "[ NORMAL ] Iteration 85:\tk_eff = 1.019247\tres = 1.465E-04\n", - "[ NORMAL ] Iteration 86:\tk_eff = 1.019373\tres = 1.349E-04\n", - "[ NORMAL ] Iteration 87:\tk_eff = 1.019489\tres = 1.241E-04\n", - "[ NORMAL ] Iteration 88:\tk_eff = 1.019596\tres = 1.142E-04\n", - "[ NORMAL ] Iteration 89:\tk_eff = 1.019695\tres = 1.051E-04\n", - "[ NORMAL ] Iteration 90:\tk_eff = 1.019785\tres = 9.673E-05\n", - "[ NORMAL ] Iteration 91:\tk_eff = 1.019869\tres = 8.899E-05\n", - "[ NORMAL ] Iteration 92:\tk_eff = 1.019945\tres = 8.187E-05\n", - "[ NORMAL ] Iteration 93:\tk_eff = 1.020016\tres = 7.532E-05\n", - "[ NORMAL ] Iteration 94:\tk_eff = 1.020081\tres = 6.925E-05\n", - "[ NORMAL ] Iteration 95:\tk_eff = 1.020141\tres = 6.372E-05\n", - "[ NORMAL ] Iteration 96:\tk_eff = 1.020195\tres = 5.861E-05\n", - "[ NORMAL ] Iteration 97:\tk_eff = 1.020246\tres = 5.388E-05\n", - "[ NORMAL ] Iteration 98:\tk_eff = 1.020292\tres = 4.956E-05\n", - "[ NORMAL ] Iteration 99:\tk_eff = 1.020335\tres = 4.555E-05\n", - "[ NORMAL ] Iteration 100:\tk_eff = 1.020374\tres = 4.187E-05\n", - "[ NORMAL ] Iteration 101:\tk_eff = 1.020410\tres = 3.850E-05\n", - "[ NORMAL ] Iteration 102:\tk_eff = 1.020443\tres = 3.539E-05\n", - "[ NORMAL ] Iteration 103:\tk_eff = 1.020473\tres = 3.254E-05\n", - "[ NORMAL ] Iteration 104:\tk_eff = 1.020501\tres = 2.991E-05\n", - "[ NORMAL ] Iteration 105:\tk_eff = 1.020527\tres = 2.747E-05\n", - "[ NORMAL ] Iteration 106:\tk_eff = 1.020551\tres = 2.526E-05\n", - "[ NORMAL ] Iteration 107:\tk_eff = 1.020573\tres = 2.321E-05\n", - "[ NORMAL ] Iteration 108:\tk_eff = 1.020592\tres = 2.134E-05\n", - "[ NORMAL ] Iteration 109:\tk_eff = 1.020611\tres = 1.961E-05\n", - "[ NORMAL ] Iteration 110:\tk_eff = 1.020628\tres = 1.802E-05\n", - "[ NORMAL ] Iteration 111:\tk_eff = 1.020643\tres = 1.653E-05\n", - "[ NORMAL ] Iteration 112:\tk_eff = 1.020657\tres = 1.519E-05\n", - "[ NORMAL ] Iteration 113:\tk_eff = 1.020671\tres = 1.398E-05\n", - "[ NORMAL ] Iteration 114:\tk_eff = 1.020683\tres = 1.283E-05\n", - "[ NORMAL ] Iteration 115:\tk_eff = 1.020694\tres = 1.178E-05\n", - "[ NORMAL ] Iteration 116:\tk_eff = 1.020704\tres = 1.082E-05\n" + "[ NORMAL ] Iteration 0:\tk_eff = 0.854370\tres = 0.000E+00\n", + "[ NORMAL ] Iteration 1:\tk_eff = 0.801922\tres = 1.521E-01\n", + "[ NORMAL ] Iteration 2:\tk_eff = 0.761746\tres = 6.349E-02\n", + "[ NORMAL ] Iteration 3:\tk_eff = 0.732367\tres = 5.029E-02\n", + "[ NORMAL ] Iteration 4:\tk_eff = 0.711075\tres = 3.869E-02\n", + "[ NORMAL ] Iteration 5:\tk_eff = 0.696557\tres = 2.912E-02\n", + "[ NORMAL ] Iteration 6:\tk_eff = 0.687673\tres = 2.044E-02\n", + "[ NORMAL ] Iteration 7:\tk_eff = 0.683470\tres = 1.277E-02\n", + "[ NORMAL ] Iteration 8:\tk_eff = 0.683129\tres = 6.141E-03\n", + "[ NORMAL ] Iteration 9:\tk_eff = 0.685949\tres = 7.889E-04\n", + "[ NORMAL ] Iteration 10:\tk_eff = 0.691329\tres = 4.181E-03\n", + "[ NORMAL ] Iteration 11:\tk_eff = 0.698755\tres = 7.875E-03\n", + "[ NORMAL ] Iteration 12:\tk_eff = 0.707786\tres = 1.077E-02\n", + "[ NORMAL ] Iteration 13:\tk_eff = 0.718050\tres = 1.295E-02\n", + "[ NORMAL ] Iteration 14:\tk_eff = 0.729230\tres = 1.452E-02\n", + "[ NORMAL ] Iteration 15:\tk_eff = 0.741058\tres = 1.559E-02\n", + "[ NORMAL ] Iteration 16:\tk_eff = 0.753310\tres = 1.624E-02\n", + "[ NORMAL ] Iteration 17:\tk_eff = 0.765800\tres = 1.655E-02\n", + "[ NORMAL ] Iteration 18:\tk_eff = 0.778371\tres = 1.660E-02\n", + "[ NORMAL ] Iteration 19:\tk_eff = 0.790897\tres = 1.643E-02\n", + "[ NORMAL ] Iteration 20:\tk_eff = 0.803273\tres = 1.611E-02\n", + "[ NORMAL ] Iteration 21:\tk_eff = 0.815415\tres = 1.566E-02\n", + "[ NORMAL ] Iteration 22:\tk_eff = 0.827256\tres = 1.513E-02\n", + "[ NORMAL ] Iteration 23:\tk_eff = 0.838747\tres = 1.453E-02\n", + "[ NORMAL ] Iteration 24:\tk_eff = 0.849847\tres = 1.390E-02\n", + "[ NORMAL ] Iteration 25:\tk_eff = 0.860527\tres = 1.324E-02\n", + "[ NORMAL ] Iteration 26:\tk_eff = 0.870770\tres = 1.258E-02\n", + "[ NORMAL ] Iteration 27:\tk_eff = 0.880562\tres = 1.191E-02\n", + "[ NORMAL ] Iteration 28:\tk_eff = 0.889897\tres = 1.125E-02\n", + "[ NORMAL ] Iteration 29:\tk_eff = 0.898776\tres = 1.061E-02\n", + "[ NORMAL ] Iteration 30:\tk_eff = 0.907202\tres = 9.986E-03\n", + "[ NORMAL ] Iteration 31:\tk_eff = 0.915181\tres = 9.382E-03\n", + "[ NORMAL ] Iteration 32:\tk_eff = 0.922724\tres = 8.803E-03\n", + "[ NORMAL ] Iteration 33:\tk_eff = 0.929843\tres = 8.249E-03\n", + "[ NORMAL ] Iteration 34:\tk_eff = 0.936550\tres = 7.721E-03\n", + "[ NORMAL ] Iteration 35:\tk_eff = 0.942861\tres = 7.220E-03\n", + "[ NORMAL ] Iteration 36:\tk_eff = 0.948791\tres = 6.744E-03\n", + "[ NORMAL ] Iteration 37:\tk_eff = 0.954357\tres = 6.295E-03\n", + "[ NORMAL ] Iteration 38:\tk_eff = 0.959575\tres = 5.871E-03\n", + "[ NORMAL ] Iteration 39:\tk_eff = 0.964461\tres = 5.472E-03\n", + "[ NORMAL ] Iteration 40:\tk_eff = 0.969033\tres = 5.097E-03\n", + "[ NORMAL ] Iteration 41:\tk_eff = 0.973306\tres = 4.744E-03\n", + "[ NORMAL ] Iteration 42:\tk_eff = 0.977297\tres = 4.414E-03\n", + "[ NORMAL ] Iteration 43:\tk_eff = 0.981021\tres = 4.104E-03\n", + "[ NORMAL ] Iteration 44:\tk_eff = 0.984493\tres = 3.814E-03\n", + "[ NORMAL ] Iteration 45:\tk_eff = 0.987729\tres = 3.543E-03\n", + "[ NORMAL ] Iteration 46:\tk_eff = 0.990742\tres = 3.290E-03\n", + "[ NORMAL ] Iteration 47:\tk_eff = 0.993546\tres = 3.053E-03\n", + "[ NORMAL ] Iteration 48:\tk_eff = 0.996153\tres = 2.833E-03\n", + "[ NORMAL ] Iteration 49:\tk_eff = 0.998577\tres = 2.627E-03\n", + "[ NORMAL ] Iteration 50:\tk_eff = 1.000829\tres = 2.436E-03\n", + "[ NORMAL ] Iteration 51:\tk_eff = 1.002920\tres = 2.257E-03\n", + "[ NORMAL ] Iteration 52:\tk_eff = 1.004860\tres = 2.091E-03\n", + "[ NORMAL ] Iteration 53:\tk_eff = 1.006661\tres = 1.937E-03\n", + "[ NORMAL ] Iteration 54:\tk_eff = 1.008330\tres = 1.793E-03\n", + "[ NORMAL ] Iteration 55:\tk_eff = 1.009877\tres = 1.660E-03\n", + "[ NORMAL ] Iteration 56:\tk_eff = 1.011311\tres = 1.536E-03\n", + "[ NORMAL ] Iteration 57:\tk_eff = 1.012639\tres = 1.421E-03\n", + "[ NORMAL ] Iteration 58:\tk_eff = 1.013868\tres = 1.314E-03\n", + "[ NORMAL ] Iteration 59:\tk_eff = 1.015006\tres = 1.215E-03\n", + "[ NORMAL ] Iteration 60:\tk_eff = 1.016059\tres = 1.124E-03\n", + "[ NORMAL ] Iteration 61:\tk_eff = 1.017033\tres = 1.039E-03\n", + "[ NORMAL ] Iteration 62:\tk_eff = 1.017933\tres = 9.596E-04\n", + "[ NORMAL ] Iteration 63:\tk_eff = 1.018766\tres = 8.865E-04\n", + "[ NORMAL ] Iteration 64:\tk_eff = 1.019535\tres = 8.188E-04\n", + "[ NORMAL ] Iteration 65:\tk_eff = 1.020246\tres = 7.562E-04\n", + "[ NORMAL ] Iteration 66:\tk_eff = 1.020903\tres = 6.981E-04\n", + "[ NORMAL ] Iteration 67:\tk_eff = 1.021509\tres = 6.445E-04\n", + "[ NORMAL ] Iteration 68:\tk_eff = 1.022069\tres = 5.948E-04\n", + "[ NORMAL ] Iteration 69:\tk_eff = 1.022586\tres = 5.489E-04\n", + "[ NORMAL ] Iteration 70:\tk_eff = 1.023063\tres = 5.064E-04\n", + "[ NORMAL ] Iteration 71:\tk_eff = 1.023503\tres = 4.671E-04\n", + "[ NORMAL ] Iteration 72:\tk_eff = 1.023909\tres = 4.308E-04\n", + "[ NORMAL ] Iteration 73:\tk_eff = 1.024284\tres = 3.973E-04\n", + "[ NORMAL ] Iteration 74:\tk_eff = 1.024629\tres = 3.663E-04\n", + "[ NORMAL ] Iteration 75:\tk_eff = 1.024948\tres = 3.377E-04\n", + "[ NORMAL ] Iteration 76:\tk_eff = 1.025241\tres = 3.113E-04\n", + "[ NORMAL ] Iteration 77:\tk_eff = 1.025512\tres = 2.869E-04\n", + "[ NORMAL ] Iteration 78:\tk_eff = 1.025761\tres = 2.644E-04\n", + "[ NORMAL ] Iteration 79:\tk_eff = 1.025991\tres = 2.436E-04\n", + "[ NORMAL ] Iteration 80:\tk_eff = 1.026203\tres = 2.244E-04\n", + "[ NORMAL ] Iteration 81:\tk_eff = 1.026398\tres = 2.067E-04\n", + "[ NORMAL ] Iteration 82:\tk_eff = 1.026578\tres = 1.904E-04\n", + "[ NORMAL ] Iteration 83:\tk_eff = 1.026743\tres = 1.754E-04\n", + "[ NORMAL ] Iteration 84:\tk_eff = 1.026895\tres = 1.615E-04\n", + "[ NORMAL ] Iteration 85:\tk_eff = 1.027036\tres = 1.487E-04\n", + "[ NORMAL ] Iteration 86:\tk_eff = 1.027165\tres = 1.369E-04\n", + "[ NORMAL ] Iteration 87:\tk_eff = 1.027284\tres = 1.260E-04\n", + "[ NORMAL ] Iteration 88:\tk_eff = 1.027393\tres = 1.160E-04\n", + "[ NORMAL ] Iteration 89:\tk_eff = 1.027494\tres = 1.068E-04\n", + "[ NORMAL ] Iteration 90:\tk_eff = 1.027587\tres = 9.825E-05\n", + "[ NORMAL ] Iteration 91:\tk_eff = 1.027672\tres = 9.041E-05\n", + "[ NORMAL ] Iteration 92:\tk_eff = 1.027751\tres = 8.319E-05\n", + "[ NORMAL ] Iteration 93:\tk_eff = 1.027823\tres = 7.654E-05\n", + "[ NORMAL ] Iteration 94:\tk_eff = 1.027889\tres = 7.042E-05\n", + "[ NORMAL ] Iteration 95:\tk_eff = 1.027950\tres = 6.478E-05\n", + "[ NORMAL ] Iteration 96:\tk_eff = 1.028007\tres = 5.959E-05\n", + "[ NORMAL ] Iteration 97:\tk_eff = 1.028058\tres = 5.481E-05\n", + "[ NORMAL ] Iteration 98:\tk_eff = 1.028106\tres = 5.041E-05\n", + "[ NORMAL ] Iteration 99:\tk_eff = 1.028150\tres = 4.636E-05\n", + "[ NORMAL ] Iteration 100:\tk_eff = 1.028190\tres = 4.263E-05\n", + "[ NORMAL ] Iteration 101:\tk_eff = 1.028227\tres = 3.920E-05\n", + "[ NORMAL ] Iteration 102:\tk_eff = 1.028261\tres = 3.604E-05\n", + "[ NORMAL ] Iteration 103:\tk_eff = 1.028292\tres = 3.314E-05\n", + "[ NORMAL ] Iteration 104:\tk_eff = 1.028321\tres = 3.047E-05\n", + "[ NORMAL ] Iteration 105:\tk_eff = 1.028347\tres = 2.801E-05\n", + "[ NORMAL ] Iteration 106:\tk_eff = 1.028371\tres = 2.575E-05\n", + "[ NORMAL ] Iteration 107:\tk_eff = 1.028394\tres = 2.367E-05\n", + "[ NORMAL ] Iteration 108:\tk_eff = 1.028414\tres = 2.175E-05\n", + "[ NORMAL ] Iteration 109:\tk_eff = 1.028433\tres = 1.999E-05\n", + "[ NORMAL ] Iteration 110:\tk_eff = 1.028450\tres = 1.838E-05\n", + "[ NORMAL ] Iteration 111:\tk_eff = 1.028466\tres = 1.689E-05\n", + "[ NORMAL ] Iteration 112:\tk_eff = 1.028481\tres = 1.552E-05\n", + "[ NORMAL ] Iteration 113:\tk_eff = 1.028494\tres = 1.426E-05\n", + "[ NORMAL ] Iteration 114:\tk_eff = 1.028507\tres = 1.310E-05\n", + "[ NORMAL ] Iteration 115:\tk_eff = 1.028518\tres = 1.204E-05\n", + "[ NORMAL ] Iteration 116:\tk_eff = 1.028528\tres = 1.106E-05\n", + "[ NORMAL ] Iteration 117:\tk_eff = 1.028538\tres = 1.017E-05\n" ] } ], @@ -1478,9 +1475,9 @@ "name": "stdout", "output_type": "stream", "text": [ - "openmc keff = 1.017105\n", - "openmoc keff = 1.020704\n", - "bias [pcm]: 359.8\n" + "openmc keff = 1.028263\n", + "openmoc keff = 1.028538\n", + "bias [pcm]: 27.5\n" ] } ], @@ -1554,20 +1551,18 @@ }, "outputs": [], "source": [ - "# Export OpenMOC's fission rates for each pin cell instance in the fuel assembly\n", - "openmoc.process.compute_fission_rates(solver)\n", + "# Create OpenMOC Mesh on which to tally fission rates\n", + "openmoc_mesh = openmoc.process.Mesh()\n", + "openmoc_mesh.dimension = np.array(mesh.dimension)\n", + "openmoc_mesh.lower_left = np.array(mesh.lower_left)\n", + "openmoc_mesh.upper_right = np.array(mesh.upper_right)\n", + "openmoc_mesh.width = openmoc_mesh.upper_right - openmoc_mesh.lower_left\n", + "openmoc_mesh.width /= openmoc_mesh.dimension\n", "\n", - "# Open the pickle file with the fission rates\n", - "fission_rates = pickle.load(open('fission-rates/fission-rates.pkl', 'rb' ))\n", - "\n", - "# Allocate array for fission rates in each fuel pin\n", - "openmoc_fission_rates = np.zeros((17, 17))\n", - "\n", - "# Extract fission rates for each fuel pin\n", - "for key, value in fission_rates.items():\n", - " lat_x = int(key.split(':')[1].split()[3][1:-1])\n", - " lat_y = int(key.split(':')[1].split()[4][:-1]) \n", - " openmoc_fission_rates[lat_x, lat_y] = value\n", + "# Tally OpenMOC fission rates on the Mesh\n", + "openmoc_fission_rates = openmoc_mesh.tally_fission_rates(solver)\n", + "openmoc_fission_rates = np.squeeze(openmoc_fission_rates)\n", + "openmoc_fission_rates = np.fliplr(openmoc_fission_rates)\n", "\n", "# Normalize to the average pin fission rate\n", "openmoc_fission_rates /= np.mean(openmoc_fission_rates)" @@ -1590,7 +1585,7 @@ { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 44, @@ -1599,9 +1594,9 @@ }, { "data": { - "image/png": "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\ngg==\n", + "image/png": "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\nZOT/APiw99Nd94jXAAAAAElFTkSuQmCC\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -1610,15 +1605,24 @@ ], "source": [ "# Plot OpenMC's fission rates in the left subplot\n", - "fig = pylab.subplot(121)\n", - "pylab.imshow(openmc_fission_rates, interpolation='none', cmap='jet')\n", - "pylab.title('OpenMC Fission Rates')\n", + "fig = plt.subplot(121)\n", + "plt.imshow(openmc_fission_rates, interpolation='none', cmap='jet')\n", + "plt.title('OpenMC Fission Rates')\n", "\n", "# Plot OpenMOC's fission rates in the right subplot\n", - "fig2 = pylab.subplot(122)\n", - "pylab.imshow(openmoc_fission_rates, interpolation='none', cmap='jet')\n", - "pylab.title('OpenMOC Fission Rates')" + "fig2 = plt.subplot(122)\n", + "plt.imshow(openmoc_fission_rates, interpolation='none', cmap='jet')\n", + "plt.title('OpenMOC Fission Rates')" ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] } ], "metadata": { diff --git a/docs/source/pythonapi/examples/pandas-dataframes.ipynb b/docs/source/pythonapi/examples/pandas-dataframes.ipynb index ac5d4e4109..388e4aaa69 100644 --- a/docs/source/pythonapi/examples/pandas-dataframes.ipynb +++ b/docs/source/pythonapi/examples/pandas-dataframes.ipynb @@ -17,19 +17,14 @@ }, "outputs": [], "source": [ + "%matplotlib inline\n", "import glob\n", "from IPython.display import Image\n", "import matplotlib.pylab as pylab\n", "import scipy.stats\n", "import numpy as np\n", "\n", - "import openmc\n", - "from openmc.statepoint import StatePoint\n", - "from openmc.summary import Summary\n", - "from openmc.source import Source\n", - "from openmc.stats import Box\n", - "\n", - "%matplotlib inline" + "import openmc" ] }, { @@ -305,9 +300,11 @@ "settings_file.output = {'tallies': False}\n", "settings_file.trigger_active = True\n", "settings_file.trigger_max_batches = max_batches\n", - "source_bounds = [-10.71, -10.71, -10, 10.71, 10.71, 10.]\n", - "settings_file.source = Source(space=Box(\n", - " source_bounds[:3], source_bounds[3:]))\n", + "\n", + "# Create an initial uniform spatial source distribution over fissionable zones\n", + "bounds = [-10.71, -10.71, -10, 10.71, 10.71, 10.]\n", + "uniform_dist = openmc.stats.Box(bounds[:3], bounds[3:], only_fissionable=True)\n", + "settings_file.source = openmc.source.Source(space=uniform_dist)\n", "\n", "# Export to \"settings.xml\"\n", "settings_file.export_to_xml()" @@ -382,7 +379,7 @@ "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAPoAAAD6AgMAAAD1grKuAAAABGdBTUEAALGPC/xhBQAAACBjSFJN\nAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAADFBMVEX///9yEhLpgJFNv8Tq\nQYT7AAAAAWJLR0QAiAUdSAAAAAd0SU1FB+ACBxUBN4bMLy4AAAPZSURBVGje7Zs7buMwEIZ9iey5\n0gyNjQpXKTYudIScgkdQYTfut1idwkdQkQNsYQO2Qj0sPiVK+mlQDmwgwIcgg8Cc4fCTSK5W4OeF\nkM8rHv+2I/rgxPZEPZgR7XtQxKdXYuUXJSUnBQ/9WCgo4vOSJ+WFUvF7E08mlia+rn7VcKXP8sRs\nzFX8b2MdX2y6v1Tw6MZUw4H4ojfIjD8mvn/qRL5p4+vvlMqvp2EhR8WBzfiz20hXORmP9fi/bM9E\neUFvV5H/0yRkeSbiGRfFJErxD9ENdz7Mbhig/h89fvtFdMiI/ePUIXV4lXju8K3DKv9NThOZ3q2K\nmUy6grxFES8rjeyic+FFQav+ncg3fXjH+Ts+/iibztFqOiZuZP/Z3OafPX40NGgST2r+uvQkXXp6\ncKvmr+r0e1Eef5um3+JHP3IFF1D/seNZJgaDmvY0Gav1s+2f1fqpIcublfKGt6apotG/NVx3SInW\ntLX+7Vg/Pv1YqOsnun6JSVdOXT/X7vk75f938QP+8OmSBs0fXtymMhJbf8qlPynYmpKCh7OB1fzN\nalOj1sl0ZAruHLiA+RM73pDe/VjMVP89+aTXwjyc/x5n+u991895/utrJTy8/06TXh0r/5JOa2Jm\nYmqi4r/vUm/H4wLmT+z4anhr05X+q6KUXhtzr/9qSff5L5uMT//V/NdU4YuBTPa/8P67l/6r44ds\n+hYuoP5jx9ciy6XTWlibBrmx8V/TdMfjkP+6pOsu/lvM9N90sf7r+f6m/65n+S8p/itN15v0UkW3\n/+48+PRfJX6S9Joo4g+G/1qYG9KroqP/WypcuvyXPf13wH89/hHef7MB6R3Cqn55U4rv4kfH3zaS\ngQuYP7HjVf89tXrbO+hfLdr+Ozv/SP1dgtQ/Ov8C+i/3+q/Zf2D/HWi6bjT6rym9I/v/03/b+LHS\n4cTg/utTsV7/net/Afzz4f0XGX84/2j9xZ4/sePR/of2X7D/o+vPo/sv6h9B/Bfxr9j1Hz2eN/hO\n8/wfff4A848+f/1A/530/I0+/8PvH9D3H9HnT+R49P0b+v4PfP/4E/wXfP8Mvf9G37/D/ovuP8Se\nP7Hj0f0vdP8tqP9O339cyv7p3P1fdP8Z3v9G999j13/seMax8x/o+ZN7+O+E8zdP/8XOf8Hnz9Dz\nb7HnT+x49PxlCp7/BM+fOv13wvnXBfivt2lMvD8TyH/Hnb+Gz3+j589jz5/Y8ej9h4D+W7qQmf57\nefqv239n3T+C7z+h969i13/seMax+3/o/cMcu/8Y2H9n3p+J6r98pv8m4fwXuH+M3n+OO3++AX9c\nlR+4PhbRAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDE2LTAyLTA3VDE2OjAxOjU1LTA1OjAwqLKcsgAA\nACV0RVh0ZGF0ZTptb2RpZnkAMjAxNi0wMi0wN1QxNjowMTo1NS0wNTowMNnvJA4AAAAASUVORK5C\nYII=\n", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAPoAAAD6AgMAAAD1grKuAAAABGdBTUEAALGPC/xhBQAAAAFzUkdC\nAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAxQTFRF\n////chIS6YCRTb/E6kGE+wAAAAFiS0dEAIgFHUgAAAAJcEhZcwAAAEgAAABIAEbJaz4AAAPZSURB\nVGje7Zs7buMwEIZ9iey50gyNjQpXKTYudIScgkdQYTfut1idwkdQkQNsYQO2Qj0sPiVK+mlQDmwg\nwIcgg8Cc4fCTSK5W4OeFkM8rHv+2I/rgxPZEPZgR7XtQxKdXYuUXJSUnBQ/9WCgo4vOSJ+WFUvF7\nE08mlia+rn7VcKXP8sRszFX8b2MdX2y6v1Tw6MZUw4H4ojfIjD8mvn/qRL5p4+vvlMqvp2EhR8WB\nzfiz20hXORmP9fi/bM9EeUFvV5H/0yRkeSbiGRfFJErxD9ENdz7Mbhig/h89fvtFdMiI/ePUIXV4\nlXju8K3DKv9NThOZ3q2KmUy6grxFES8rjeyic+FFQav+ncg3fXjH+Ts+/iibztFqOiZuZP/Z3Oaf\nPX40NGgST2r+uvQkXXp6cKvmr+r0e1Eef5um3+JHP3IFF1D/seNZJgaDmvY0Gav1s+2f1fqpIcub\nlfKGt6apotG/NVx3SInWtLX+7Vg/Pv1YqOsnun6JSVdOXT/X7vk75f938QP+8OmSBs0fXtymMhJb\nf8qlPynYmpKCh7OB1fzNalOj1sl0ZAruHLiA+RM73pDe/VjMVP89+aTXwjyc/x5n+u991895/utr\nJTy8/06TXh0r/5JOa2JmYmqi4r/vUm/H4wLmT+z4anhr05X+q6KUXhtzr/9qSff5L5uMT//V/NdU\n4YuBTPa/8P67l/6r44ds+hYuoP5jx9ciy6XTWlibBrmx8V/TdMfjkP+6pOsu/lvM9N90sf7r+f6m\n/65n+S8p/itN15v0UkW3/+48+PRfJX6S9Joo4g+G/1qYG9KroqP/WypcuvyXPf13wH89/hHef7MB\n6R3Cqn55U4rv4kfH3zaSgQuYP7HjVf89tXrbO+hfLdr+Ozv/SP1dgtQ/Ov8C+i/3+q/Zf2D/HWi6\nbjT6rym9I/v/03/b+LHS4cTg/utTsV7/net/Afzz4f0XGX84/2j9xZ4/sePR/of2X7D/o+vPo/sv\n6h9B/Bfxr9j1Hz2eN/hO8/wfff4A848+f/1A/530/I0+/8PvH9D3H9HnT+R49P0b+v4PfP/4E/wX\nfP8Mvf9G37/D/ovuP8SeP7Hj0f0vdP8tqP9O339cyv7p3P1fdP8Z3v9G999j13/seMax8x/o+ZN7\n+O+E8zdP/8XOf8Hnz9Dzb7HnT+x49PxlCp7/BM+fOv13wvnXBfivt2lMvD8TyH/Hnb+Gz3+j589j\nz5/Y8ej9h4D+W7qQmf57efqv239n3T+C7z+h969i13/seMax+3/o/cMcu/8Y2H9n3p+J6r98pv8m\n4fwXuH+M3n+OO3++AX9clR+4PhbRAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDE2LTA0LTEzVDExOjQw\nOjAxLTA0OjAwQIJDkwAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxNi0wNC0xM1QxMTo0MDowMS0wNDow\nMDHf+y8AAAAASUVORK5CYII=\n", "text/plain": [ "" ] @@ -453,10 +450,8 @@ "\n", "# Instantiate the Tally\n", "tally = openmc.Tally(name='mesh tally')\n", - "tally.add_filter(mesh_filter)\n", - "tally.add_filter(energy_filter)\n", - "tally.add_score('fission')\n", - "tally.add_score('nu-fission')\n", + "tally.filters = [mesh_filter, energy_filter]\n", + "tally.scores = ['fission', 'nu-fission']\n", "\n", "# Add mesh and Tally to TalliesFile\n", "tallies_file.add_mesh(mesh)\n", @@ -483,10 +478,9 @@ "\n", "# Instantiate the tally\n", "tally = openmc.Tally(name='cell tally')\n", - "tally.add_filter(cell_filter)\n", - "tally.add_score('scatter-y2')\n", - "tally.add_nuclide(u235)\n", - "tally.add_nuclide(u238)\n", + "tally.filters = [cell_filter]\n", + "tally.scores = ['scatter-y2']\n", + "tally.nuclides = [u235, u238]\n", "\n", "# Add mesh and tally to TalliesFile\n", "tallies_file.add_tally(tally)" @@ -503,7 +497,7 @@ "cell_type": "code", "execution_count": 18, "metadata": { - "collapsed": true + "collapsed": false }, "outputs": [], "source": [ @@ -512,14 +506,13 @@ "\n", "# Instantiate tally Trigger for kicks\n", "trigger = openmc.Trigger(trigger_type='std_dev', threshold=5e-5)\n", - "trigger.add_score('absorption')\n", + "trigger.scores = ['absorption']\n", "\n", "# Instantiate the Tally\n", "tally = openmc.Tally(name='distribcell tally')\n", - "tally.add_filter(distribcell_filter)\n", - "tally.add_score('absorption')\n", - "tally.add_score('scatter')\n", - "tally.add_trigger(trigger)\n", + "tally.filters = [distribcell_filter]\n", + "tally.scores = ['absorption', 'scatter']\n", + "tally.triggers = [trigger]\n", "\n", "# Add mesh and tally to TalliesFile\n", "tallies_file.add_tally(tally)" @@ -571,8 +564,8 @@ " Copyright: 2011-2015 Massachusetts Institute of Technology\n", " License: http://mit-crpg.github.io/openmc/license.html\n", " Version: 0.7.1\n", - " Git SHA1: 34381b40a9445a727e360873aaa6ef892af1cb6a\n", - " Date/Time: 2016-02-07 16:01:57\n", + " Git SHA1: eeb5091ca3a34cc85df73a3318cae2b6c7097413\n", + " Date/Time: 2016-04-13 11:40:02\n", " MPI Processes: 1\n", "\n", " ===========================================================================\n", @@ -600,35 +593,34 @@ "\n", " Bat./Gen. k Average k \n", " ========= ======== ==================== \n", - " 1/1 0.54958 \n", - " 2/1 0.67628 \n", - " 3/1 0.70618 \n", - " 4/1 0.66601 \n", - " 5/1 0.70876 \n", - " 6/1 0.69708 \n", - " 7/1 0.68623 0.69166 +/- 0.00543\n", - " 8/1 0.69159 0.69163 +/- 0.00313\n", - " 9/1 0.69908 0.69349 +/- 0.00289\n", - " 10/1 0.63865 0.68253 +/- 0.01120\n", - " 11/1 0.65439 0.67784 +/- 0.01027\n", - " 12/1 0.68518 0.67889 +/- 0.00875\n", - " 13/1 0.69507 0.68091 +/- 0.00784\n", - " 14/1 0.70129 0.68317 +/- 0.00728\n", - " 15/1 0.71336 0.68619 +/- 0.00717\n", - " 16/1 0.68725 0.68629 +/- 0.00649\n", - " 17/1 0.72579 0.68958 +/- 0.00678\n", - " 18/1 0.67149 0.68819 +/- 0.00639\n", - " 19/1 0.67771 0.68744 +/- 0.00596\n", - " 20/1 0.68035 0.68697 +/- 0.00557\n", - " Triggers unsatisfied, max unc./thresh. is 1.09851 for absorption in tally 10002\n", - " The estimated number of batches is 24\n", + " 1/1 0.55921 \n", + " 2/1 0.63816 \n", + " 3/1 0.68834 \n", + " 4/1 0.71192 \n", + " 5/1 0.67935 \n", + " 6/1 0.68274 \n", + " 7/1 0.66339 0.67307 +/- 0.00967\n", + " 8/1 0.65835 0.66816 +/- 0.00743\n", + " 9/1 0.66697 0.66786 +/- 0.00527\n", + " 10/1 0.70498 0.67528 +/- 0.00847\n", + " 11/1 0.68596 0.67706 +/- 0.00714\n", + " 12/1 0.68481 0.67817 +/- 0.00614\n", + " 13/1 0.68369 0.67886 +/- 0.00536\n", + " 14/1 0.68785 0.67986 +/- 0.00483\n", + " 15/1 0.66145 0.67802 +/- 0.00470\n", + " 16/1 0.71831 0.68168 +/- 0.00561\n", + " 17/1 0.68428 0.68190 +/- 0.00512\n", + " 18/1 0.67527 0.68139 +/- 0.00474\n", + " 19/1 0.68166 0.68141 +/- 0.00439\n", + " 20/1 0.65475 0.67963 +/- 0.00446\n", + " Triggers unsatisfied, max unc./thresh. is 1.07581 for absorption in tally 10002\n", + " The estimated number of batches is 23\n", " Creating state point statepoint.020.h5...\n", - " 21/1 0.68105 0.68660 +/- 0.00522\n", - " 22/1 0.67168 0.68572 +/- 0.00498\n", - " 23/1 0.67520 0.68514 +/- 0.00473\n", - " 24/1 0.67940 0.68483 +/- 0.00449\n", - " Triggers satisfied for batch 24\n", - " Creating state point statepoint.024.h5...\n", + " 21/1 0.64538 0.67749 +/- 0.00469\n", + " 22/1 0.73275 0.68074 +/- 0.00547\n", + " 23/1 0.71674 0.68274 +/- 0.00553\n", + " Triggers satisfied for batch 23\n", + " Creating state point statepoint.023.h5...\n", "\n", " ===========================================================================\n", " ======================> SIMULATION FINISHED <======================\n", @@ -637,28 +629,28 @@ "\n", " =======================> TIMING STATISTICS <=======================\n", "\n", - " Total time for initialization = 3.0900E-01 seconds\n", - " Reading cross sections = 7.8000E-02 seconds\n", - " Total time in simulation = 4.9560E+00 seconds\n", - " Time in transport only = 4.9400E+00 seconds\n", - " Time in inactive batches = 7.3100E-01 seconds\n", - " Time in active batches = 4.2250E+00 seconds\n", - " Time synchronizing fission bank = 4.0000E-03 seconds\n", - " Sampling source sites = 3.0000E-03 seconds\n", - " SEND/RECV source sites = 1.0000E-03 seconds\n", - " Time accumulating tallies = 1.0000E-03 seconds\n", + " Total time for initialization = 3.7900E-01 seconds\n", + " Reading cross sections = 8.6000E-02 seconds\n", + " Total time in simulation = 8.7310E+00 seconds\n", + " Time in transport only = 8.7200E+00 seconds\n", + " Time in inactive batches = 1.3230E+00 seconds\n", + " Time in active batches = 7.4080E+00 seconds\n", + " Time synchronizing fission bank = 2.0000E-03 seconds\n", + " Sampling source sites = 1.0000E-03 seconds\n", + " SEND/RECV source sites = 0.0000E+00 seconds\n", + " Time accumulating tallies = 0.0000E+00 seconds\n", " Total time for finalization = 0.0000E+00 seconds\n", - " Total time elapsed = 5.2780E+00 seconds\n", - " Calculation Rate (inactive) = 17099.9 neutrons/second\n", - " Calculation Rate (active) = 8875.74 neutrons/second\n", + " Total time elapsed = 9.1240E+00 seconds\n", + " Calculation Rate (inactive) = 9448.22 neutrons/second\n", + " Calculation Rate (active) = 5062.10 neutrons/second\n", "\n", " ============================> RESULTS <============================\n", "\n", - " k-effective (Collision) = 0.68264 +/- 0.00405\n", - " k-effective (Track-length) = 0.68483 +/- 0.00449\n", - " k-effective (Absorption) = 0.68225 +/- 0.00336\n", - " Combined k-effective = 0.68275 +/- 0.00346\n", - " Leakage Fraction = 0.34345 +/- 0.00167\n", + " k-effective (Collision) = 0.67952 +/- 0.00434\n", + " k-effective (Track-length) = 0.68274 +/- 0.00553\n", + " k-effective (Absorption) = 0.68095 +/- 0.00369\n", + " Combined k-effective = 0.67994 +/- 0.00349\n", + " Leakage Fraction = 0.34133 +/- 0.00332\n", "\n" ] }, @@ -701,7 +693,7 @@ "statepoints = glob.glob('statepoint.*.h5')\n", "\n", "# Load the last statepoint file\n", - "sp = StatePoint(statepoints[-1])" + "sp = openmc.StatePoint(statepoints[-1])" ] }, { @@ -714,7 +706,7 @@ "outputs": [], "source": [ "# Load the summary file and link with statepoint\n", - "su = Summary('summary.h5')\n", + "su = openmc.Summary('summary.h5')\n", "sp.link_with_summary(su)" ] }, @@ -775,13 +767,13 @@ "name": "stdout", "output_type": "stream", "text": [ - "[[[ 0.18257268]]\n", + "[[[ 0.1508711 ]]\n", "\n", - " [[ 0.07111957]]\n", + " [[ 0.05389822]]\n", "\n", - " [[ 0.40880276]]\n", + " [[ 0.19633 ]]\n", "\n", - " [[ 0.16407535]]]\n" + " [[ 0.12963172]]]\n" ] } ], @@ -804,290 +796,301 @@ { "data": { "text/html": [ - "
\n", + "
\n", "
100001U-2350.0743830.0002800.0748600.000303
1100001U-2380.0059590.0000360.0059520.000035
2
\n", " \n", - " \n", + " \n", " \n", - " \n", - " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", " \n", " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", "
(mesh 1, x)(mesh 1, y)(mesh 1, z)mesh 1energy low [MeV]energy high [MeV]scoremeanstd. dev.
xyz
0 1 1 101110.00e+006.25e-07 fission2.02e-043.69e-05fission2.34e-043.54e-05
1 1 1 111110.00e+006.25e-07 nu-fission4.92e-048.98e-05nu-fission5.71e-048.62e-05
2 1 1 121116.25e-072.00e+01 fission7.62e-053.74e-06fission7.03e-057.05e-06
3 1 1 131116.25e-072.00e+01 nu-fission2.04e-049.88e-06nu-fission1.87e-041.76e-05
4 1 2 141210.00e+006.25e-07 fission3.75e-043.86e-05fission3.67e-043.61e-05
5 1 2 151210.00e+006.25e-07 nu-fission9.14e-049.41e-05nu-fission8.94e-048.80e-05
6 1 2 161216.25e-072.00e+01 fission1.07e-041.26e-05fission1.04e-045.36e-06
7 1 2 171216.25e-072.00e+01 nu-fission2.78e-043.16e-05nu-fission2.76e-041.40e-05
8 1 3 181310.00e+006.25e-07 fission5.64e-045.60e-05fission6.04e-045.57e-05
9 1 3 191310.00e+006.25e-07 nu-fission1.37e-031.37e-04nu-fission1.47e-031.36e-04
10 1 3 11316.25e-072.00e+01 fission1.49e-047.25e-06fission1.41e-046.69e-06
11 1 3 11316.25e-072.00e+01 nu-fission3.88e-041.78e-05nu-fission3.72e-041.82e-05
12 1 4 11410.00e+006.25e-07 fission6.69e-044.44e-05fission6.45e-044.59e-05
13 1 4 11410.00e+006.25e-07 nu-fission1.63e-031.08e-04nu-fission1.57e-031.12e-04
14 1 4 11416.25e-072.00e+01 fission1.65e-041.09e-05fission1.82e-049.37e-06
15 1 4 11416.25e-072.00e+01 nu-fission4.33e-042.89e-05nu-fission4.76e-042.47e-05
16 1 5 11510.00e+006.25e-07 fission9.32e-046.90e-05fission7.28e-047.49e-05
17 1 5 11510.00e+006.25e-07 nu-fission2.27e-031.68e-04nu-fission1.77e-031.83e-04
18 1 5 11516.25e-072.00e+01 fission1.83e-041.10e-05fission1.81e-041.04e-05
19 1 5 11516.25e-072.00e+01 nu-fission4.77e-042.77e-05nu-fission4.72e-042.67e-05
\n", "
" ], "text/plain": [ - " (mesh 1, x) (mesh 1, y) (mesh 1, z) energy low [MeV] \\\n", - "0 1 1 1 0.00e+00 \n", - "1 1 1 1 0.00e+00 \n", - "2 1 1 1 6.25e-07 \n", - "3 1 1 1 6.25e-07 \n", - "4 1 2 1 0.00e+00 \n", - "5 1 2 1 0.00e+00 \n", - "6 1 2 1 6.25e-07 \n", - "7 1 2 1 6.25e-07 \n", - "8 1 3 1 0.00e+00 \n", - "9 1 3 1 0.00e+00 \n", - "10 1 3 1 6.25e-07 \n", - "11 1 3 1 6.25e-07 \n", - "12 1 4 1 0.00e+00 \n", - "13 1 4 1 0.00e+00 \n", - "14 1 4 1 6.25e-07 \n", - "15 1 4 1 6.25e-07 \n", - "16 1 5 1 0.00e+00 \n", - "17 1 5 1 0.00e+00 \n", - "18 1 5 1 6.25e-07 \n", - "19 1 5 1 6.25e-07 \n", + " mesh 1 energy low [MeV] energy high [MeV] score mean \\\n", + " x y z \n", + "0 1 1 1 0.00e+00 6.25e-07 fission 2.34e-04 \n", + "1 1 1 1 0.00e+00 6.25e-07 nu-fission 5.71e-04 \n", + "2 1 1 1 6.25e-07 2.00e+01 fission 7.03e-05 \n", + "3 1 1 1 6.25e-07 2.00e+01 nu-fission 1.87e-04 \n", + "4 1 2 1 0.00e+00 6.25e-07 fission 3.67e-04 \n", + "5 1 2 1 0.00e+00 6.25e-07 nu-fission 8.94e-04 \n", + "6 1 2 1 6.25e-07 2.00e+01 fission 1.04e-04 \n", + "7 1 2 1 6.25e-07 2.00e+01 nu-fission 2.76e-04 \n", + "8 1 3 1 0.00e+00 6.25e-07 fission 6.04e-04 \n", + "9 1 3 1 0.00e+00 6.25e-07 nu-fission 1.47e-03 \n", + "10 1 3 1 6.25e-07 2.00e+01 fission 1.41e-04 \n", + "11 1 3 1 6.25e-07 2.00e+01 nu-fission 3.72e-04 \n", + "12 1 4 1 0.00e+00 6.25e-07 fission 6.45e-04 \n", + "13 1 4 1 0.00e+00 6.25e-07 nu-fission 1.57e-03 \n", + "14 1 4 1 6.25e-07 2.00e+01 fission 1.82e-04 \n", + "15 1 4 1 6.25e-07 2.00e+01 nu-fission 4.76e-04 \n", + "16 1 5 1 0.00e+00 6.25e-07 fission 7.28e-04 \n", + "17 1 5 1 0.00e+00 6.25e-07 nu-fission 1.77e-03 \n", + "18 1 5 1 6.25e-07 2.00e+01 fission 1.81e-04 \n", + "19 1 5 1 6.25e-07 2.00e+01 nu-fission 4.72e-04 \n", "\n", - " energy high [MeV] score mean std. dev. \n", - "0 6.25e-07 fission 2.02e-04 3.69e-05 \n", - "1 6.25e-07 nu-fission 4.92e-04 8.98e-05 \n", - "2 2.00e+01 fission 7.62e-05 3.74e-06 \n", - "3 2.00e+01 nu-fission 2.04e-04 9.88e-06 \n", - "4 6.25e-07 fission 3.75e-04 3.86e-05 \n", - "5 6.25e-07 nu-fission 9.14e-04 9.41e-05 \n", - "6 2.00e+01 fission 1.07e-04 1.26e-05 \n", - "7 2.00e+01 nu-fission 2.78e-04 3.16e-05 \n", - "8 6.25e-07 fission 5.64e-04 5.60e-05 \n", - "9 6.25e-07 nu-fission 1.37e-03 1.37e-04 \n", - "10 2.00e+01 fission 1.49e-04 7.25e-06 \n", - "11 2.00e+01 nu-fission 3.88e-04 1.78e-05 \n", - "12 6.25e-07 fission 6.69e-04 4.44e-05 \n", - "13 6.25e-07 nu-fission 1.63e-03 1.08e-04 \n", - "14 2.00e+01 fission 1.65e-04 1.09e-05 \n", - "15 2.00e+01 nu-fission 4.33e-04 2.89e-05 \n", - "16 6.25e-07 fission 9.32e-04 6.90e-05 \n", - "17 6.25e-07 nu-fission 2.27e-03 1.68e-04 \n", - "18 2.00e+01 fission 1.83e-04 1.10e-05 \n", - "19 2.00e+01 nu-fission 4.77e-04 2.77e-05 " + " std. dev. \n", + " \n", + "0 3.54e-05 \n", + "1 8.62e-05 \n", + "2 7.05e-06 \n", + "3 1.76e-05 \n", + "4 3.61e-05 \n", + "5 8.80e-05 \n", + "6 5.36e-06 \n", + "7 1.40e-05 \n", + "8 5.57e-05 \n", + "9 1.36e-04 \n", + "10 6.69e-06 \n", + "11 1.82e-05 \n", + "12 4.59e-05 \n", + "13 1.12e-04 \n", + "14 9.37e-06 \n", + "15 2.47e-05 \n", + "16 7.49e-05 \n", + "17 1.83e-04 \n", + "18 1.04e-05 \n", + "19 2.67e-05 " ] }, "execution_count": 25, @@ -1116,9 +1119,9 @@ "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "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\nD03l9kElNMu/AAAAAElFTkSuQmCC\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -1141,7 +1144,7 @@ { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 27, @@ -1150,9 +1153,9 @@ }, { "data": { - "image/png": "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\ngg==\n", + "image/png": "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\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -1222,7 +1225,7 @@ { "data": { "text/html": [ - "
\n", + "
\n", "\n", " \n", " \n", @@ -1236,148 +1239,148 @@ " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", "
0 10000 U-235 scatter-Y0,0 3.71e-021.15e-03010000U-235scatter-Y0,03.86e-021.11e-03
1 10000 U-235 scatter-Y1,-1 2.66e-043.23e-04110000U-235scatter-Y1,-12.75e-042.96e-04
2 10000 U-235 scatter-Y1,0-4.17e-042.74e-04210000U-235scatter-Y1,0-5.55e-054.33e-04
3 10000 U-235 scatter-Y1,1-2.28e-042.37e-04310000U-235scatter-Y1,1-4.22e-043.51e-04
4 10000 U-235 scatter-Y2,-2 2.57e-051.99e-04410000U-235scatter-Y2,-25.88e-052.04e-04
5 10000 U-235 scatter-Y2,-1-1.15e-041.85e-04510000U-235scatter-Y2,-11.00e-042.49e-04
6 10000 U-235 scatter-Y2,0 1.51e-04610000U-235scatter-Y2,0-8.09e-051.59e-04
7 10000 U-235 scatter-Y2,1-1.22e-042.80e-04710000U-235scatter-Y2,11.93e-042.14e-04
8 10000 U-235 scatter-Y2,2 7.65e-061.81e-04810000U-235scatter-Y2,21.12e-041.86e-04
9 10000 U-238 scatter-Y0,0 2.33e+001.31e-02910000U-238scatter-Y0,02.34e+001.34e-02
10 10000 U-238 scatter-Y1,-1 2.45e-022.27e-0310000U-238scatter-Y1,-12.32e-022.97e-03
11 10000 U-238 scatter-Y1,0-5.87e-052.80e-0310000U-238scatter-Y1,07.50e-042.55e-03
12 10000 U-238 scatter-Y1,1-2.80e-022.54e-0310000U-238scatter-Y1,1-2.73e-023.28e-03
13 10000 U-238 scatter-Y2,-2-4.86e-031.58e-0310000U-238scatter-Y2,-2-2.36e-031.21e-03
14 10000 U-238 scatter-Y2,-1 5.57e-042.02e-0310000U-238scatter-Y2,-1-1.80e-041.49e-03
15 10000 U-238 scatter-Y2,0 6.24e-031.63e-0310000U-238scatter-Y2,03.23e-032.25e-03
16 10000 U-238 scatter-Y2,1-6.48e-041.55e-0310000U-238scatter-Y2,13.75e-031.97e-03
17 10000 U-238 scatter-Y2,2-1.03e-031.31e-0310000U-238scatter-Y2,22.07e-031.60e-03
\n", @@ -1385,24 +1388,24 @@ ], "text/plain": [ " cell nuclide score mean std. dev.\n", - "0 10000 U-235 scatter-Y0,0 3.71e-02 1.15e-03\n", - "1 10000 U-235 scatter-Y1,-1 2.66e-04 3.23e-04\n", - "2 10000 U-235 scatter-Y1,0 -4.17e-04 2.74e-04\n", - "3 10000 U-235 scatter-Y1,1 -2.28e-04 2.37e-04\n", - "4 10000 U-235 scatter-Y2,-2 2.57e-05 1.99e-04\n", - "5 10000 U-235 scatter-Y2,-1 -1.15e-04 1.85e-04\n", - "6 10000 U-235 scatter-Y2,0 1.51e-04 1.59e-04\n", - "7 10000 U-235 scatter-Y2,1 -1.22e-04 2.80e-04\n", - "8 10000 U-235 scatter-Y2,2 7.65e-06 1.81e-04\n", - "9 10000 U-238 scatter-Y0,0 2.33e+00 1.31e-02\n", - "10 10000 U-238 scatter-Y1,-1 2.45e-02 2.27e-03\n", - "11 10000 U-238 scatter-Y1,0 -5.87e-05 2.80e-03\n", - "12 10000 U-238 scatter-Y1,1 -2.80e-02 2.54e-03\n", - "13 10000 U-238 scatter-Y2,-2 -4.86e-03 1.58e-03\n", - "14 10000 U-238 scatter-Y2,-1 5.57e-04 2.02e-03\n", - "15 10000 U-238 scatter-Y2,0 6.24e-03 1.63e-03\n", - "16 10000 U-238 scatter-Y2,1 -6.48e-04 1.55e-03\n", - "17 10000 U-238 scatter-Y2,2 -1.03e-03 1.31e-03" + "0 10000 U-235 scatter-Y0,0 3.86e-02 1.11e-03\n", + "1 10000 U-235 scatter-Y1,-1 2.75e-04 2.96e-04\n", + "2 10000 U-235 scatter-Y1,0 -5.55e-05 4.33e-04\n", + "3 10000 U-235 scatter-Y1,1 -4.22e-04 3.51e-04\n", + "4 10000 U-235 scatter-Y2,-2 5.88e-05 2.04e-04\n", + "5 10000 U-235 scatter-Y2,-1 1.00e-04 2.49e-04\n", + "6 10000 U-235 scatter-Y2,0 -8.09e-05 1.59e-04\n", + "7 10000 U-235 scatter-Y2,1 1.93e-04 2.14e-04\n", + "8 10000 U-235 scatter-Y2,2 1.12e-04 1.86e-04\n", + "9 10000 U-238 scatter-Y0,0 2.34e+00 1.34e-02\n", + "10 10000 U-238 scatter-Y1,-1 2.32e-02 2.97e-03\n", + "11 10000 U-238 scatter-Y1,0 7.50e-04 2.55e-03\n", + "12 10000 U-238 scatter-Y1,1 -2.73e-02 3.28e-03\n", + "13 10000 U-238 scatter-Y2,-2 -2.36e-03 1.21e-03\n", + "14 10000 U-238 scatter-Y2,-1 -1.80e-04 1.49e-03\n", + "15 10000 U-238 scatter-Y2,0 3.23e-03 2.25e-03\n", + "16 10000 U-238 scatter-Y2,1 3.75e-03 1.97e-03\n", + "17 10000 U-238 scatter-Y2,2 2.07e-03 1.60e-03" ] }, "execution_count": 29, @@ -1436,8 +1439,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "[[[ 0.00131009 0.01310707]\n", - " [ 0.00018089 0.00114976]]]\n" + "[[[ 0.00159927 0.01341406]\n", + " [ 0.00018637 0.00111048]]]\n" ] } ], @@ -1505,13 +1508,13 @@ "name": "stdout", "output_type": "stream", "text": [ - "[[[ 0.04537029]]]\n" + "[[[ 0.05767856]]]\n" ] } ], "source": [ "# Get the relative error for the scattering reaction rates in\n", - "# the first 30 distribcell instances \n", + "# the first 10 distribcell instances \n", "data = tally.get_values(scores=['scatter'], filters=['distribcell'],\n", " filter_bins=[(i,) for i in range(10)], value='rel_err')\n", "print(data)" @@ -1534,7 +1537,7 @@ { "data": { "text/html": [ - "
\n", + "
\n", "\n", " \n", " \n", @@ -1548,143 +1551,143 @@ " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", "
558 279 absorption9.27e-051.33e-05279absorption8.19e-057.82e-06
559 279 scatter1.35e-028.05e-04279scatter1.33e-026.19e-04
560 280 absorption8.41e-059.92e-06280absorption1.00e-047.93e-06
561 280 scatter1.42e-026.12e-04280scatter1.40e-025.61e-04
562 281 absorption9.12e-058.26e-06281absorption9.52e-057.08e-06
563 281 scatter1.45e-025.90e-04281scatter1.51e-026.50e-04
564 282 absorption1.12e-041.24e-05282absorption9.85e-059.47e-06
565 282 scatter1.63e-027.29e-04282scatter1.53e-024.63e-04
566 283 absorption9.18e-057.12e-06283absorption1.08e-041.34e-05
567 283 scatter1.62e-026.61e-04283scatter1.65e-027.04e-04
568 284 absorption1.04e-041.10e-05284absorption1.13e-047.91e-06
569 284 scatter1.74e-025.99e-04284scatter1.67e-025.51e-04
570 285 absorption1.11e-041.14e-05285absorption1.23e-049.53e-06
571 285 scatter1.80e-027.74e-04285scatter1.88e-027.25e-04
572 286 absorption1.25e-041.20e-05286absorption1.44e-041.34e-05
573 286 scatter1.83e-028.28e-04286scatter1.90e-027.07e-04
574 287 absorption1.19e-041.30e-05287absorption1.26e-048.66e-06
575 287 scatter1.75e-027.57e-04287scatter1.97e-027.23e-04
576 288 absorption1.13e-041.40e-05288absorption1.25e-049.59e-06
577 288 scatter1.82e-027.82e-04288scatter2.01e-026.75e-04
\n", @@ -1692,26 +1695,26 @@ ], "text/plain": [ " distribcell score mean std. dev.\n", - "558 279 absorption 9.27e-05 1.33e-05\n", - "559 279 scatter 1.35e-02 8.05e-04\n", - "560 280 absorption 8.41e-05 9.92e-06\n", - "561 280 scatter 1.42e-02 6.12e-04\n", - "562 281 absorption 9.12e-05 8.26e-06\n", - "563 281 scatter 1.45e-02 5.90e-04\n", - "564 282 absorption 1.12e-04 1.24e-05\n", - "565 282 scatter 1.63e-02 7.29e-04\n", - "566 283 absorption 9.18e-05 7.12e-06\n", - "567 283 scatter 1.62e-02 6.61e-04\n", - "568 284 absorption 1.04e-04 1.10e-05\n", - "569 284 scatter 1.74e-02 5.99e-04\n", - "570 285 absorption 1.11e-04 1.14e-05\n", - "571 285 scatter 1.80e-02 7.74e-04\n", - "572 286 absorption 1.25e-04 1.20e-05\n", - "573 286 scatter 1.83e-02 8.28e-04\n", - "574 287 absorption 1.19e-04 1.30e-05\n", - "575 287 scatter 1.75e-02 7.57e-04\n", - "576 288 absorption 1.13e-04 1.40e-05\n", - "577 288 scatter 1.82e-02 7.82e-04" + "558 279 absorption 8.19e-05 7.82e-06\n", + "559 279 scatter 1.33e-02 6.19e-04\n", + "560 280 absorption 1.00e-04 7.93e-06\n", + "561 280 scatter 1.40e-02 5.61e-04\n", + "562 281 absorption 9.52e-05 7.08e-06\n", + "563 281 scatter 1.51e-02 6.50e-04\n", + "564 282 absorption 9.85e-05 9.47e-06\n", + "565 282 scatter 1.53e-02 4.63e-04\n", + "566 283 absorption 1.08e-04 1.34e-05\n", + "567 283 scatter 1.65e-02 7.04e-04\n", + "568 284 absorption 1.13e-04 7.91e-06\n", + "569 284 scatter 1.67e-02 5.51e-04\n", + "570 285 absorption 1.23e-04 9.53e-06\n", + "571 285 scatter 1.88e-02 7.25e-04\n", + "572 286 absorption 1.44e-04 1.34e-05\n", + "573 286 scatter 1.90e-02 7.07e-04\n", + "574 287 absorption 1.26e-04 8.66e-06\n", + "575 287 scatter 1.97e-02 7.23e-04\n", + "576 288 absorption 1.25e-04 9.59e-06\n", + "577 288 scatter 2.01e-02 6.75e-04" ] }, "execution_count": 33, @@ -1744,418 +1747,400 @@ { "data": { "text/html": [ - "
\n", + "
\n", "\n", " \n", - " \n", + " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", "
(level 1, cell, id)(level 1, univ, id)(level 2, lat, id)(level 2, lat, x)(level 2, lat, y)(level 2, lat, z)(level 3, cell, id)(level 3, univ, id)level 1level 2level 3distribcellscoremeanstd. dev.
cellunivlatcelluniv
idididxyzidid
0 10003 0 10001 0 0 0 10002 10000 0 absorption5581000301000116901000210000279absorption8.19e-057.82e-06
5591000301000116901000210000279scatter1.33e-026.19e-04
5601000301000116801000210000280absorption1.00e-047.93e-06
5611000301000116801000210000280scatter1.40e-025.61e-04
5621000301000116701000210000281absorption9.52e-057.08e-06
5631000301000116701000210000281scatter1.51e-026.50e-04
5641000301000116601000210000282absorption9.85e-059.47e-06
5651000301000116601000210000282scatter1.53e-024.63e-04
5661000301000116501000210000283absorption1.08e-041.34e-05
5671000301000116501000210000283scatter1.65e-027.04e-04
5681000301000116401000210000284absorption1.13e-047.91e-06
5691000301000116401000210000284scatter1.67e-025.51e-04
5701000301000116301000210000285absorption1.23e-041.19e-059.53e-06
1 10003 0 10001 0 0 0 10002 10000 0 scatter1.78e-028.08e-045711000301000116301000210000285scatter1.88e-027.25e-04
2 10003 0 10001 0 1 0 10002 10000 1 absorption2.17e-041.96e-055721000301000116201000210000286absorption1.44e-041.34e-05
3 10003 0 10001 0 1 0 10002 10000 1 scatter2.89e-021.26e-035731000301000116201000210000286scatter1.90e-027.07e-04
4 10003 0 10001 0 2 0 10002 10000 2 absorption3.18e-042.03e-055741000301000116101000210000287absorption1.26e-048.66e-06
5 10003 0 10001 0 2 0 10002 10000 2 scatter4.05e-021.27e-035751000301000116101000210000287scatter1.97e-027.23e-04
6 10003 0 10001 0 3 0 10002 10000 3 absorption3.86e-041.80e-055761000301000116001000210000288absorption1.25e-049.59e-06
7 10003 0 10001 0 3 0 10002 10000 3 scatter4.86e-021.34e-03
8 10003 0 10001 0 4 0 10002 10000 4 absorption5.01e-042.60e-05
9 10003 0 10001 0 4 0 10002 10000 4 scatter5.71e-021.72e-03
10 10003 0 10001 0 5 0 10002 10000 5 absorption4.84e-042.58e-05
11 10003 0 10001 0 5 0 10002 10000 5 scatter6.08e-021.58e-03
12 10003 0 10001 0 6 0 10002 10000 6 absorption5.32e-043.90e-05
13 10003 0 10001 0 6 0 10002 10000 6 scatter6.91e-022.25e-03
14 10003 0 10001 0 7 0 10002 10000 7 absorption5.77e-043.92e-05
15 10003 0 10001 0 7 0 10002 10000 7 scatter7.67e-022.34e-03
16 10003 0 10001 0 8 0 10002 10000 8 absorption6.49e-043.90e-05
17 10003 0 10001 0 8 0 10002 10000 8 scatter8.16e-021.61e-03
18 10003 0 10001 0 9 0 10002 10000 9 absorption6.80e-043.17e-05
19 10003 0 10001 0 9 0 10002 10000 9 scatter8.77e-021.96e-035771000301000116001000210000288scatter2.01e-026.75e-04
\n", "
" ], "text/plain": [ - " (level 1, cell, id) (level 1, univ, id) (level 2, lat, id) \\\n", - "0 10003 0 10001 \n", - "1 10003 0 10001 \n", - "2 10003 0 10001 \n", - "3 10003 0 10001 \n", - "4 10003 0 10001 \n", - "5 10003 0 10001 \n", - "6 10003 0 10001 \n", - "7 10003 0 10001 \n", - "8 10003 0 10001 \n", - "9 10003 0 10001 \n", - "10 10003 0 10001 \n", - "11 10003 0 10001 \n", - "12 10003 0 10001 \n", - "13 10003 0 10001 \n", - "14 10003 0 10001 \n", - "15 10003 0 10001 \n", - "16 10003 0 10001 \n", - "17 10003 0 10001 \n", - "18 10003 0 10001 \n", - "19 10003 0 10001 \n", + " level 1 level 2 level 3 distribcell score \\\n", + " cell univ lat cell univ \n", + " id id id x y z id id \n", + "558 10003 0 10001 16 9 0 10002 10000 279 absorption \n", + "559 10003 0 10001 16 9 0 10002 10000 279 scatter \n", + "560 10003 0 10001 16 8 0 10002 10000 280 absorption \n", + "561 10003 0 10001 16 8 0 10002 10000 280 scatter \n", + "562 10003 0 10001 16 7 0 10002 10000 281 absorption \n", + "563 10003 0 10001 16 7 0 10002 10000 281 scatter \n", + "564 10003 0 10001 16 6 0 10002 10000 282 absorption \n", + "565 10003 0 10001 16 6 0 10002 10000 282 scatter \n", + "566 10003 0 10001 16 5 0 10002 10000 283 absorption \n", + "567 10003 0 10001 16 5 0 10002 10000 283 scatter \n", + "568 10003 0 10001 16 4 0 10002 10000 284 absorption \n", + "569 10003 0 10001 16 4 0 10002 10000 284 scatter \n", + "570 10003 0 10001 16 3 0 10002 10000 285 absorption \n", + "571 10003 0 10001 16 3 0 10002 10000 285 scatter \n", + "572 10003 0 10001 16 2 0 10002 10000 286 absorption \n", + "573 10003 0 10001 16 2 0 10002 10000 286 scatter \n", + "574 10003 0 10001 16 1 0 10002 10000 287 absorption \n", + "575 10003 0 10001 16 1 0 10002 10000 287 scatter \n", + "576 10003 0 10001 16 0 0 10002 10000 288 absorption \n", + "577 10003 0 10001 16 0 0 10002 10000 288 scatter \n", "\n", - " (level 2, lat, x) (level 2, lat, y) (level 2, lat, z) \\\n", - "0 0 0 0 \n", - "1 0 0 0 \n", - "2 0 1 0 \n", - "3 0 1 0 \n", - "4 0 2 0 \n", - "5 0 2 0 \n", - "6 0 3 0 \n", - "7 0 3 0 \n", - "8 0 4 0 \n", - "9 0 4 0 \n", - "10 0 5 0 \n", - "11 0 5 0 \n", - "12 0 6 0 \n", - "13 0 6 0 \n", - "14 0 7 0 \n", - "15 0 7 0 \n", - "16 0 8 0 \n", - "17 0 8 0 \n", - "18 0 9 0 \n", - "19 0 9 0 \n", - "\n", - " (level 3, cell, id) (level 3, univ, id) distribcell score \\\n", - "0 10002 10000 0 absorption \n", - "1 10002 10000 0 scatter \n", - "2 10002 10000 1 absorption \n", - "3 10002 10000 1 scatter \n", - "4 10002 10000 2 absorption \n", - "5 10002 10000 2 scatter \n", - "6 10002 10000 3 absorption \n", - "7 10002 10000 3 scatter \n", - "8 10002 10000 4 absorption \n", - "9 10002 10000 4 scatter \n", - "10 10002 10000 5 absorption \n", - "11 10002 10000 5 scatter \n", - "12 10002 10000 6 absorption \n", - "13 10002 10000 6 scatter \n", - "14 10002 10000 7 absorption \n", - "15 10002 10000 7 scatter \n", - "16 10002 10000 8 absorption \n", - "17 10002 10000 8 scatter \n", - "18 10002 10000 9 absorption \n", - "19 10002 10000 9 scatter \n", - "\n", - " mean std. dev. \n", - "0 1.23e-04 1.19e-05 \n", - "1 1.78e-02 8.08e-04 \n", - "2 2.17e-04 1.96e-05 \n", - "3 2.89e-02 1.26e-03 \n", - "4 3.18e-04 2.03e-05 \n", - "5 4.05e-02 1.27e-03 \n", - "6 3.86e-04 1.80e-05 \n", - "7 4.86e-02 1.34e-03 \n", - "8 5.01e-04 2.60e-05 \n", - "9 5.71e-02 1.72e-03 \n", - "10 4.84e-04 2.58e-05 \n", - "11 6.08e-02 1.58e-03 \n", - "12 5.32e-04 3.90e-05 \n", - "13 6.91e-02 2.25e-03 \n", - "14 5.77e-04 3.92e-05 \n", - "15 7.67e-02 2.34e-03 \n", - "16 6.49e-04 3.90e-05 \n", - "17 8.16e-02 1.61e-03 \n", - "18 6.80e-04 3.17e-05 \n", - "19 8.77e-02 1.96e-03 " + " mean std. dev. \n", + " \n", + " \n", + "558 8.19e-05 7.82e-06 \n", + "559 1.33e-02 6.19e-04 \n", + "560 1.00e-04 7.93e-06 \n", + "561 1.40e-02 5.61e-04 \n", + "562 9.52e-05 7.08e-06 \n", + "563 1.51e-02 6.50e-04 \n", + "564 9.85e-05 9.47e-06 \n", + "565 1.53e-02 4.63e-04 \n", + "566 1.08e-04 1.34e-05 \n", + "567 1.65e-02 7.04e-04 \n", + "568 1.13e-04 7.91e-06 \n", + "569 1.67e-02 5.51e-04 \n", + "570 1.23e-04 9.53e-06 \n", + "571 1.88e-02 7.25e-04 \n", + "572 1.44e-04 1.34e-05 \n", + "573 1.90e-02 7.07e-04 \n", + "574 1.26e-04 8.66e-06 \n", + "575 1.97e-02 7.23e-04 \n", + "576 1.25e-04 9.59e-06 \n", + "577 2.01e-02 6.75e-04 " ] }, "execution_count": 34, @@ -2168,7 +2153,7 @@ "df = tally.get_pandas_dataframe(summary=su, nuclides=False)\n", "\n", "# Print the last twenty rows in the dataframe\n", - "df.head(20)" + "df.tail(20)" ] }, { @@ -2181,14 +2166,24 @@ { "data": { "text/html": [ - "
\n", + "
\n", "\n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", @@ -2198,53 +2193,55 @@ " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", "
meanstd. dev.
mean4.18e-042.17e-054.19e-042.24e-05
std2.39e-048.82e-062.42e-049.14e-06
min1.81e-053.82e-061.90e-053.44e-06
25%2.02e-041.49e-051.56e-05
50%4.02e-042.11e-054.05e-042.20e-05
75%6.15e-042.67e-056.07e-042.89e-05
max8.92e-044.43e-059.19e-044.95e-05
\n", "
" ], "text/plain": [ - " mean std. dev.\n", - "count 2.89e+02 2.89e+02\n", - "mean 4.18e-04 2.17e-05\n", - "std 2.39e-04 8.82e-06\n", - "min 1.81e-05 3.82e-06\n", - "25% 2.02e-04 1.49e-05\n", - "50% 4.02e-04 2.11e-05\n", - "75% 6.15e-04 2.67e-05\n", - "max 8.92e-04 4.43e-05" + " mean std. dev.\n", + " \n", + " \n", + "count 2.89e+02 2.89e+02\n", + "mean 4.19e-04 2.24e-05\n", + "std 2.42e-04 9.14e-06\n", + "min 1.90e-05 3.44e-06\n", + "25% 2.02e-04 1.56e-05\n", + "50% 4.05e-04 2.20e-05\n", + "75% 6.07e-04 2.89e-05\n", + "max 9.19e-04 4.95e-05" ] }, "execution_count": 35, @@ -2279,15 +2276,15 @@ "name": "stdout", "output_type": "stream", "text": [ - "Mann-Whitney Test p-value: 0.414863173548\n" + "Mann-Whitney Test p-value: 0.303583331507\n" ] } ], "source": [ - "# Extract tally data from pins in the pins divided along y=x diagonal \n", + "# Extract tally data from pins in the pins divided along y=-x diagonal\n", "multi_index = ('level 2', 'lat',)\n", - "lower = df[df[multi_index + ('x',)] + df[multi_index + ('y',)] < 16]\n", - "upper = df[df[multi_index + ('x',)] + df[multi_index + ('y',)] > 16]\n", + "lower = df[df[multi_index + ('x',)] > df[multi_index + ('y',)]]\n", + "upper = df[df[multi_index + ('x',)] < df[multi_index + ('y',)]]\n", "lower = lower[lower['score'] == 'absorption']\n", "upper = upper[upper['score'] == 'absorption']\n", "\n", @@ -2317,15 +2314,15 @@ "name": "stdout", "output_type": "stream", "text": [ - "Mann-Whitney Test p-value: 3.28554363741e-42\n" + "Mann-Whitney Test p-value: 6.038663783e-42\n" ] } ], "source": [ - "# Extract tally data from pins in the pins divided along y=-x diagonal\n", + "# Extract tally data from pins in the pins divided along y=x diagonal \n", "multi_index = ('level 2', 'lat',)\n", - "lower = df[df[multi_index + ('x',)] > df[multi_index + ('y',)]]\n", - "upper = df[df[multi_index + ('x',)] < df[multi_index + ('y',)]]\n", + "lower = df[df[multi_index + ('x',)] + df[multi_index + ('y',)] < 16]\n", + "upper = df[df[multi_index + ('x',)] + df[multi_index + ('y',)] > 16]\n", "lower = lower[lower['score'] == 'absorption']\n", "upper = upper[upper['score'] == 'absorption']\n", "\n", @@ -2353,17 +2350,17 @@ "name": "stderr", "output_type": "stream", "text": [ - "/home/smharper/.local/lib/python2.7/site-packages/ipykernel/__main__.py:4: SettingWithCopyWarning: \n", + "/usr/local/lib/python2.7/dist-packages/IPython/kernel/__main__.py:4: SettingWithCopyWarning: \n", "A value is trying to be set on a copy of a slice from a DataFrame.\n", "Try using .loc[row_indexer,col_indexer] = value instead\n", "\n", - "See the the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n" + "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n" ] }, { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 38, @@ -2372,9 +2369,9 @@ }, { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -2401,7 +2398,7 @@ { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 39, @@ -2410,9 +2407,9 @@ }, { "data": { - "image/png": "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\n", + "image/png": "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\n9OnTh2bNmtGmTRsuu+wyioqKSt/PzLjvvvvYdddd2W677fjDH/7A3Llz6dOnD02bNmXo0KEbrZ8J\nSggi0mBcccUVXHHFFaxatYq5c+dy8sknA/Dmm28CsGLFClavXk2fPn0YOXIkI0eO5LXXXuOrr75i\n9erVXHbZZQB89tlnXHLJJTz++OMsXryYlStXlna8s97YsWMZMmQIK1as4LTTTiMej3PXXXexfPly\npkyZwqRJk7jvvvs22ubll1/mo48+4t133+WOO+7gvPPO4/HHH+ebb75hxowZjBo1KqPlo4QgIvXe\n4MGDadasWelwySWXlLteTk4Oc+bMYfny5eTn57P//vtv8T0ff/xxrr76ajp37kx+fj5/+ctfGD16\nNCUlJTz11FMce+yx9OvXj9zcXG6++ebNemnr06cPgwcPJhaL0bhxY/bee2/2339/EokEHTt25MIL\nL+SNN97YaJvrrruOJk2a0K1bN7p3786RRx5J586dadq0KYMGDWLatGnVL6wKKCGISL337LPPsmLF\nitJh01/e640YMYJZs2bRpUsX9tlnH55//vktvueiRYvo0KFD6XSHDh0oKSlhyZIlLFq0iPbt25cu\n22abbWjRosVG25ddDjBr1iyOOeYYWrduTZMmTbjxxhtZvnz5Ruu0atWqdLxx48abTa9evbqCUqg+\nJQQRaTB22203Ro0axdKlS7n++usZMmQIa9asKbcP5rZt2zJ//vzS6W+++YZEIkGrVq1o06YNCxYs\nKF22bt06vv/++4223/Q9L774Yrp06cLs2bNZtWoVf/7zn+tcHxNKCCLSYDz22GMsW7aMWCxGs2bN\nAIjFYuy4447EYjG++uqr0nVPPfVU7rrrLr7++mtWr17NjTfeyNChQ0kkEgwZMoRx48YxefJkioqK\nKCgoqPTL/aeffqJJkybk5+fzxRdfVNjvc1Qa7g23IlIt9fG5kPHjx3P11Vezdu1aOnTowOjRo2nc\nuDEAw4YNo2/fvhQXFzN+/HjOPfdcFi1aRP/+/fn555854ogjuOeee4DgYbd77rmHU045hTVr1nDl\nlVfSsmVL8vLytrjvO++8kwsuuIA77riDnj17MnToUF599dVaOe50qQtNybiqPmimB9PqHnWhWbHV\nq1fTrFkzZs+eTadOnSKLQ11oiohEYNy4caxdu5Y1a9ZwzTXX0KNHDzp27Bh1WNWiKiOpEZluxkCk\n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\nSUVORK5CYII=\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -2445,7 +2442,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", - "version": "2.7.10" + "version": "2.7.6" } }, "nbformat": 4, diff --git a/docs/source/pythonapi/examples/post-processing.ipynb b/docs/source/pythonapi/examples/post-processing.ipynb index 7fbca68644..0dc18d5a29 100644 --- a/docs/source/pythonapi/examples/post-processing.ipynb +++ b/docs/source/pythonapi/examples/post-processing.ipynb @@ -15,16 +15,12 @@ }, "outputs": [], "source": [ + "%matplotlib inline\n", "from IPython.display import Image\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", - "import openmc\n", - "from openmc.statepoint import StatePoint\n", - "from openmc.source import Source\n", - "from openmc.stats import Box\n", - "\n", - "%matplotlib inline" + "import openmc" ] }, { @@ -273,9 +269,11 @@ "settings_file.batches = batches\n", "settings_file.inactive = inactive\n", "settings_file.particles = particles\n", - "source_bounds = [-0.63, -0.63, -0.63, 0.63, 0.63, 0.63]\n", - "settings_file.source = Source(space=Box(\n", - " source_bounds[:3], source_bounds[3:]))\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_file.source = openmc.source.Source(space=uniform_dist)\n", "\n", "# Export to \"settings.xml\"\n", "settings_file.export_to_xml()" @@ -350,7 +348,7 @@ "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAPoAAAD6AgMAAAD1grKuAAAABGdBTUEAALGPC/xhBQAAACBjSFJN\nAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAADFBMVEX///9yEhLpgJFNv8Tq\nQYT7AAAAAWJLR0QAiAUdSAAAAAd0SU1FB+ABDg0CBtSiu0UAAALKSURBVGje7dpLcqQwDAbgHHE2\nYeEj+D4cwQucBUfo+3CEXoSp8OhuhF70T4qpKXmdr21LogK2Pj7A8QmNP+HDhw8fPnz48Kf6VH9G\n+66vy+je8k19jnf8C5dXIPv86ms56lPdjvaYbyodx3ze+XLE76cXFiD4zPji99z0/AJ4n1lfvJ6f\nnl0A6x+578efMSg1wPr172/jPO5yFXM+Ef78gdblM+WPHyguP//t1/g6pA0wfln+ho/fwgYYn19C\n/xwDvwHGc9OvC+hs37DTrwuwfWanXxdQTC9Mvyygs3wjTL8uwPJpn/tNDbSGz7T0SBEWw4vLXzbQ\n6b6RoveIoO6TvPxlA63qs7z8ZQPF9F+SH22vbX8OQKf5Rtv+EgDNJ3X58wZaxWd1+fMGiuFvir8b\nvjp8J/tGy/6jAmRvhW8fwL3vVT+o3grfPoB7r/IpALI3tz8FoJN84/NV873hB8UnM3xzANtf8nb4\ndwmg3grfFEDJO8JPE0i9Ff4pAYL3pI8mkHor/HMCeO9JH00g9SafEsh7T/ppARBvp48UwJnelT5S\nACd7O31TAlnvKx9SQCd7B58KgPO+8iMFuPWe9E8F8BveWX7bAjzX9y4//Jve+fhsH6Ctv7n8PTzj\nvY/v9gEOHz58+PBX+6v/f/wPvnd54f3j6venE/yl769Xv7+j3x/o98/V32/o9+fl389Xnx+g5x/o\n+Qt6/oOeP6HnX+j5G3z+h54/ouefV5/foufP6Pk3ev4On/+j9w/o/Qd6/4Le/6D3T/D9V67Y/ZsV\nQBq+s+8f0ftP+P41axXguP9NWgDuu/Cdfv+N3r/D9/9TAID+A7T/Ae2/gPs/0P4TtP8F7r9J3AIO\n9P+g/Udw/9Oygbf7r9D+L7j/DO1/Q/vv4P4/tP8Q7n9E+y/h/k+0/xTuf4X7b+H+X7T/+BPuf3aM\n8OHDhw8fPnz4w/4vzcvgeY10sY0AAAAldEVYdGRhdGU6Y3JlYXRlADIwMTYtMDEtMTRUMDc6MDI6\nMDYtMDY6MDBlmV1NAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDE2LTAxLTE0VDA3OjAyOjA2LTA2OjAw\nFMTl8QAAAABJRU5ErkJggg==\n", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAPoAAAD6AgMAAAD1grKuAAAABGdBTUEAALGPC/xhBQAAAAFzUkdC\nAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAxQTFRF\n////chIS6YCRTb/E6kGE+wAAAAFiS0dEAIgFHUgAAAAJcEhZcwAAAEgAAABIAEbJaz4AAALKSURB\nVGje7dpLcqQwDAbgHHE2YeEj+D4cwQucBUfo+3CEXoSp8OhuhF70T4qpKXmdr21LogK2Pj7A8QmN\nP+HDhw8fPnz48Kf6VH9G+66vy+je8k19jnf8C5dXIPv86ms56lPdjvaYbyodx3ze+XLE76cXFiD4\nzPji99z0/AJ4n1lfvJ6fnl0A6x+578efMSg1wPr172/jPO5yFXM+Ef78gdblM+WPHyguP//t1/g6\npA0wfln+ho/fwgYYn19C/xwDvwHGc9OvC+hs37DTrwuwfWanXxdQTC9Mvyygs3wjTL8uwPJpn/tN\nDbSGz7T0SBEWw4vLXzbQ6b6RoveIoO6TvPxlA63qs7z8ZQPF9F+SH22vbX8OQKf5Rtv+EgDNJ3X5\n8wZaxWd1+fMGiuFvir8bvjp8J/tGy/6jAmRvhW8fwL3vVT+o3grfPoB7r/IpALI3tz8FoJN84/NV\n873hB8UnM3xzANtf8nb4dwmg3grfFEDJO8JPE0i9Ff4pAYL3pI8mkHor/HMCeO9JH00g9SafEsh7\nT/ppARBvp48UwJnelT5SACd7O31TAlnvKx9SQCd7B58KgPO+8iMFuPWe9E8F8BveWX7bAjzX9y4/\n/Jve+fhsH6Ctv7n8PTzjvY/v9gEOHz58+PBX+6v/f/wPvnd54f3j6venE/yl769Xv7+j3x/o98/V\n32/o9+fl389Xnx+g5x/o+Qt6/oOeP6HnX+j5G3z+h54/ouefV5/foufP6Pk3ev4On/+j9w/o/Qd6\n/4Le/6D3T/D9V67Y/ZsVQBq+s+8f0ftP+P41axXguP9NWgDuu/Cdfv+N3r/D9/9TAID+A7T/Ae2/\ngPs/0P4TtP8F7r9J3AIO9P+g/Udw/9Oygbf7r9D+L7j/DO1/Q/vv4P4/tP8Q7n9E+y/h/k+0/xTu\nf4X7b+H+X7T/+BPuf3aM8OHDhw8fPnz4w/4vzcvgeY10sY0AAAAldEVYdGRhdGU6Y3JlYXRlADIw\nMTYtMDQtMTNUMTE6MzI6NTUtMDQ6MDDR46xaAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDE2LTA0LTEz\nVDExOjMyOjU1LTA0OjAwoL4U5gAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] @@ -408,9 +406,8 @@ "\n", "# Create mesh tally to score flux and fission rate\n", "tally = openmc.Tally(name='flux')\n", - "tally.add_filter(mesh_filter)\n", - "tally.add_score('flux')\n", - "tally.add_score('fission')\n", + "tally.filters = [mesh_filter]\n", + "tally.scores = ['flux', 'fission']\n", "tallies_file.add_tally(tally)" ] }, @@ -461,8 +458,9 @@ " Copyright: 2011-2015 Massachusetts Institute of Technology\n", " License: http://mit-crpg.github.io/openmc/license.html\n", " Version: 0.7.1\n", - " Git SHA1: ea9fb637f63f9374c7436456141afa850b84acf9\n", - " Date/Time: 2016-01-14 07:02:06\n", + " Git SHA1: eeb5091ca3a34cc85df73a3318cae2b6c7097413\n", + " Date/Time: 2016-04-13 11:32:56\n", + " MPI Processes: 1\n", "\n", " ===========================================================================\n", " ========================> INITIALIZATION <=========================\n", @@ -489,106 +487,106 @@ "\n", " Bat./Gen. k Average k \n", " ========= ======== ==================== \n", - " 1/1 1.04894 \n", - " 2/1 1.01711 \n", - " 3/1 1.05357 \n", - " 4/1 1.03052 \n", - " 5/1 1.06523 \n", - " 6/1 1.06806 \n", - " 7/1 1.05161 \n", - " 8/1 1.04199 \n", - " 9/1 1.05010 \n", - " 10/1 1.04617 \n", - " 11/1 1.04894 \n", - " 12/1 1.06806 1.05850 +/- 0.00956\n", - " 13/1 1.05002 1.05567 +/- 0.00620\n", - " 14/1 1.03471 1.05043 +/- 0.00683\n", - " 15/1 1.01803 1.04395 +/- 0.00837\n", - " 16/1 1.05588 1.04594 +/- 0.00712\n", - " 17/1 1.07503 1.05010 +/- 0.00731\n", - " 18/1 1.02786 1.04732 +/- 0.00691\n", - " 19/1 1.00071 1.04214 +/- 0.00800\n", - " 20/1 1.05587 1.04351 +/- 0.00729\n", - " 21/1 1.03886 1.04309 +/- 0.00660\n", - " 22/1 1.04335 1.04311 +/- 0.00603\n", - " 23/1 1.04057 1.04292 +/- 0.00555\n", - " 24/1 1.01976 1.04126 +/- 0.00540\n", - " 25/1 1.05811 1.04238 +/- 0.00515\n", - " 26/1 1.02351 1.04120 +/- 0.00496\n", - " 27/1 1.05261 1.04188 +/- 0.00471\n", - " 28/1 1.03355 1.04141 +/- 0.00446\n", - " 29/1 1.02797 1.04071 +/- 0.00428\n", - " 30/1 1.03758 1.04055 +/- 0.00406\n", - " 31/1 1.04883 1.04094 +/- 0.00388\n", - " 32/1 1.03557 1.04070 +/- 0.00371\n", - " 33/1 1.02947 1.04021 +/- 0.00358\n", - " 34/1 1.03651 1.04006 +/- 0.00343\n", - " 35/1 1.03331 1.03979 +/- 0.00330\n", - " 36/1 1.05947 1.04054 +/- 0.00326\n", - " 37/1 1.05093 1.04093 +/- 0.00316\n", - " 38/1 1.06787 1.04189 +/- 0.00319\n", - " 39/1 1.01451 1.04095 +/- 0.00322\n", - " 40/1 1.02351 1.04037 +/- 0.00317\n", - " 41/1 1.04826 1.04062 +/- 0.00307\n", - " 42/1 1.04228 1.04067 +/- 0.00298\n", - " 43/1 1.03214 1.04041 +/- 0.00290\n", - " 44/1 1.04950 1.04068 +/- 0.00282\n", - " 45/1 1.06616 1.04141 +/- 0.00284\n", - " 46/1 1.07039 1.04221 +/- 0.00287\n", - " 47/1 1.00292 1.04115 +/- 0.00299\n", - " 48/1 1.04477 1.04125 +/- 0.00291\n", - " 49/1 1.03360 1.04105 +/- 0.00284\n", - " 50/1 1.04783 1.04122 +/- 0.00277\n", - " 51/1 1.03985 1.04119 +/- 0.00271\n", - " 52/1 1.02507 1.04080 +/- 0.00267\n", - " 53/1 1.03477 1.04066 +/- 0.00261\n", - " 54/1 1.00412 1.03983 +/- 0.00268\n", - " 55/1 1.02239 1.03945 +/- 0.00265\n", - " 56/1 1.04308 1.03952 +/- 0.00259\n", - " 57/1 1.05534 1.03986 +/- 0.00256\n", - " 58/1 1.06667 1.04042 +/- 0.00257\n", - " 59/1 1.06458 1.04091 +/- 0.00256\n", - " 60/1 1.00304 1.04015 +/- 0.00262\n", - " 61/1 1.05038 1.04036 +/- 0.00258\n", - " 62/1 1.02904 1.04014 +/- 0.00254\n", - " 63/1 1.00249 1.03943 +/- 0.00259\n", - " 64/1 1.01779 1.03903 +/- 0.00257\n", - " 65/1 1.05335 1.03929 +/- 0.00254\n", - " 66/1 1.06231 1.03970 +/- 0.00253\n", - " 67/1 1.02382 1.03942 +/- 0.00250\n", - " 68/1 1.03796 1.03939 +/- 0.00245\n", - " 69/1 1.03672 1.03935 +/- 0.00241\n", - " 70/1 1.02926 1.03918 +/- 0.00238\n", - " 71/1 1.05834 1.03950 +/- 0.00236\n", - " 72/1 1.04332 1.03956 +/- 0.00232\n", - " 73/1 1.05613 1.03982 +/- 0.00230\n", - " 74/1 1.01963 1.03950 +/- 0.00228\n", - " 75/1 1.02228 1.03924 +/- 0.00226\n", - " 76/1 1.04842 1.03938 +/- 0.00223\n", - " 77/1 1.02157 1.03911 +/- 0.00222\n", - " 78/1 1.02810 1.03895 +/- 0.00219\n", - " 79/1 1.05030 1.03912 +/- 0.00216\n", - " 80/1 1.02391 1.03890 +/- 0.00214\n", - " 81/1 1.02488 1.03870 +/- 0.00212\n", - " 82/1 1.04957 1.03885 +/- 0.00210\n", - " 83/1 1.03499 1.03880 +/- 0.00207\n", - " 84/1 1.05922 1.03907 +/- 0.00206\n", - " 85/1 1.05898 1.03934 +/- 0.00205\n", - " 86/1 1.02242 1.03912 +/- 0.00204\n", - " 87/1 1.03278 1.03904 +/- 0.00201\n", - " 88/1 1.06134 1.03932 +/- 0.00201\n", - " 89/1 1.04521 1.03940 +/- 0.00198\n", - " 90/1 1.04277 1.03944 +/- 0.00196\n", - " 91/1 1.04214 1.03947 +/- 0.00193\n", - " 92/1 1.05610 1.03967 +/- 0.00192\n", - " 93/1 1.04531 1.03974 +/- 0.00190\n", - " 94/1 1.01534 1.03945 +/- 0.00190\n", - " 95/1 1.03971 1.03945 +/- 0.00187\n", - " 96/1 1.07183 1.03983 +/- 0.00189\n", - " 97/1 1.07214 1.04020 +/- 0.00191\n", - " 98/1 1.03710 1.04017 +/- 0.00188\n", - " 99/1 1.02532 1.04000 +/- 0.00187\n", - " 100/1 1.03965 1.04000 +/- 0.00185\n", + " 1/1 1.04359 \n", + " 2/1 1.04244 \n", + " 3/1 1.03020 \n", + " 4/1 1.03630 \n", + " 5/1 1.06478 \n", + " 6/1 1.05450 \n", + " 7/1 1.02369 \n", + " 8/1 1.03614 \n", + " 9/1 1.05193 \n", + " 10/1 1.02886 \n", + " 11/1 1.05011 \n", + " 12/1 1.04597 1.04804 +/- 0.00207\n", + " 13/1 1.07035 1.05548 +/- 0.00753\n", + " 14/1 1.06150 1.05698 +/- 0.00554\n", + " 15/1 1.07094 1.05977 +/- 0.00512\n", + " 16/1 1.05131 1.05836 +/- 0.00441\n", + " 17/1 1.04733 1.05679 +/- 0.00405\n", + " 18/1 1.08130 1.05985 +/- 0.00465\n", + " 19/1 1.02559 1.05605 +/- 0.00560\n", + " 20/1 1.03399 1.05384 +/- 0.00547\n", + " 21/1 1.04617 1.05314 +/- 0.00500\n", + " 22/1 1.06981 1.05453 +/- 0.00477\n", + " 23/1 1.05270 1.05439 +/- 0.00439\n", + " 24/1 1.02487 1.05228 +/- 0.00458\n", + " 25/1 1.05905 1.05273 +/- 0.00429\n", + " 26/1 1.07658 1.05422 +/- 0.00428\n", + " 27/1 1.03455 1.05307 +/- 0.00418\n", + " 28/1 1.00971 1.05066 +/- 0.00462\n", + " 29/1 1.06111 1.05121 +/- 0.00440\n", + " 30/1 1.01777 1.04954 +/- 0.00450\n", + " 31/1 1.04718 1.04942 +/- 0.00428\n", + " 32/1 1.03340 1.04870 +/- 0.00415\n", + " 33/1 1.04570 1.04857 +/- 0.00397\n", + " 34/1 1.02728 1.04768 +/- 0.00390\n", + " 35/1 1.02852 1.04691 +/- 0.00382\n", + " 36/1 1.03242 1.04636 +/- 0.00371\n", + " 37/1 1.01479 1.04519 +/- 0.00376\n", + " 38/1 1.06045 1.04573 +/- 0.00366\n", + " 39/1 1.03810 1.04547 +/- 0.00354\n", + " 40/1 1.05281 1.04571 +/- 0.00343\n", + " 41/1 1.03941 1.04551 +/- 0.00332\n", + " 42/1 1.04049 1.04535 +/- 0.00322\n", + " 43/1 1.04586 1.04537 +/- 0.00312\n", + " 44/1 1.05437 1.04563 +/- 0.00304\n", + " 45/1 1.03445 1.04531 +/- 0.00297\n", + " 46/1 1.05104 1.04547 +/- 0.00289\n", + " 47/1 1.00773 1.04445 +/- 0.00299\n", + " 48/1 1.06879 1.04509 +/- 0.00298\n", + " 49/1 1.06625 1.04564 +/- 0.00295\n", + " 50/1 1.02641 1.04515 +/- 0.00292\n", + " 51/1 1.05701 1.04544 +/- 0.00286\n", + " 52/1 1.02868 1.04504 +/- 0.00282\n", + " 53/1 1.04592 1.04506 +/- 0.00275\n", + " 54/1 1.05757 1.04535 +/- 0.00271\n", + " 55/1 1.02329 1.04486 +/- 0.00269\n", + " 56/1 1.04116 1.04478 +/- 0.00263\n", + " 57/1 1.01990 1.04425 +/- 0.00263\n", + " 58/1 1.06202 1.04462 +/- 0.00260\n", + " 59/1 1.03550 1.04443 +/- 0.00255\n", + " 60/1 1.01383 1.04382 +/- 0.00258\n", + " 61/1 1.04111 1.04377 +/- 0.00253\n", + " 62/1 1.02061 1.04332 +/- 0.00252\n", + " 63/1 1.00456 1.04259 +/- 0.00257\n", + " 64/1 1.02277 1.04222 +/- 0.00255\n", + " 65/1 1.04544 1.04228 +/- 0.00251\n", + " 66/1 1.04487 1.04233 +/- 0.00246\n", + " 67/1 1.02699 1.04206 +/- 0.00243\n", + " 68/1 1.06160 1.04240 +/- 0.00241\n", + " 69/1 1.02989 1.04218 +/- 0.00238\n", + " 70/1 1.03107 1.04200 +/- 0.00235\n", + " 71/1 1.06571 1.04239 +/- 0.00234\n", + " 72/1 1.03444 1.04226 +/- 0.00231\n", + " 73/1 1.05059 1.04239 +/- 0.00228\n", + " 74/1 1.03352 1.04225 +/- 0.00224\n", + " 75/1 1.03707 1.04217 +/- 0.00221\n", + " 76/1 1.02994 1.04199 +/- 0.00219\n", + " 77/1 1.05416 1.04217 +/- 0.00216\n", + " 78/1 1.03794 1.04211 +/- 0.00213\n", + " 79/1 1.04652 1.04217 +/- 0.00210\n", + " 80/1 1.05715 1.04239 +/- 0.00208\n", + " 81/1 1.08146 1.04294 +/- 0.00212\n", + " 82/1 1.02159 1.04264 +/- 0.00211\n", + " 83/1 1.01968 1.04233 +/- 0.00211\n", + " 84/1 1.05577 1.04251 +/- 0.00209\n", + " 85/1 1.07808 1.04298 +/- 0.00211\n", + " 86/1 1.03943 1.04293 +/- 0.00209\n", + " 87/1 1.03431 1.04282 +/- 0.00206\n", + " 88/1 1.02414 1.04258 +/- 0.00205\n", + " 89/1 1.02316 1.04234 +/- 0.00204\n", + " 90/1 1.03342 1.04223 +/- 0.00202\n", + " 91/1 1.02781 1.04205 +/- 0.00200\n", + " 92/1 1.01293 1.04169 +/- 0.00201\n", + " 93/1 1.04347 1.04171 +/- 0.00198\n", + " 94/1 1.05357 1.04186 +/- 0.00196\n", + " 95/1 1.04740 1.04192 +/- 0.00194\n", + " 96/1 1.05215 1.04204 +/- 0.00192\n", + " 97/1 1.06667 1.04232 +/- 0.00192\n", + " 98/1 1.04926 1.04240 +/- 0.00190\n", + " 99/1 1.05386 1.04253 +/- 0.00188\n", + " 100/1 1.05088 1.04262 +/- 0.00186\n", " Creating state point statepoint.100.h5...\n", "\n", " ===========================================================================\n", @@ -598,27 +596,27 @@ "\n", " =======================> TIMING STATISTICS <=======================\n", "\n", - " Total time for initialization = 3.6000E-01 seconds\n", - " Reading cross sections = 1.0600E-01 seconds\n", - " Total time in simulation = 2.5756E+02 seconds\n", - " Time in transport only = 2.5751E+02 seconds\n", - " Time in inactive batches = 9.7270E+00 seconds\n", - " Time in active batches = 2.4783E+02 seconds\n", - " Time synchronizing fission bank = 2.1000E-02 seconds\n", - " Sampling source sites = 1.3000E-02 seconds\n", - " SEND/RECV source sites = 8.0000E-03 seconds\n", - " Time accumulating tallies = 1.3000E-02 seconds\n", - " Total time for finalization = 1.4600E-01 seconds\n", - " Total time elapsed = 2.5809E+02 seconds\n", - " Calculation Rate (inactive) = 5140.33 neutrons/second\n", - " Calculation Rate (active) = 1815.75 neutrons/second\n", + " Total time for initialization = 3.8100E-01 seconds\n", + " Reading cross sections = 8.6000E-02 seconds\n", + " Total time in simulation = 2.4400E+02 seconds\n", + " Time in transport only = 2.4395E+02 seconds\n", + " Time in inactive batches = 8.3260E+00 seconds\n", + " Time in active batches = 2.3567E+02 seconds\n", + " Time synchronizing fission bank = 1.6000E-02 seconds\n", + " Sampling source sites = 6.0000E-03 seconds\n", + " SEND/RECV source sites = 7.0000E-03 seconds\n", + " Time accumulating tallies = 1.9000E-02 seconds\n", + " Total time for finalization = 1.7400E-01 seconds\n", + " Total time elapsed = 2.4458E+02 seconds\n", + " Calculation Rate (inactive) = 6005.28 neutrons/second\n", + " Calculation Rate (active) = 1909.46 neutrons/second\n", "\n", " ============================> RESULTS <============================\n", "\n", - " k-effective (Collision) = 1.03912 +/- 0.00160\n", - " k-effective (Track-length) = 1.04000 +/- 0.00185\n", - " k-effective (Absorption) = 1.04240 +/- 0.00156\n", - " Combined k-effective = 1.04078 +/- 0.00127\n", + " k-effective (Collision) = 1.04214 +/- 0.00161\n", + " k-effective (Track-length) = 1.04262 +/- 0.00186\n", + " k-effective (Absorption) = 1.04338 +/- 0.00158\n", + " Combined k-effective = 1.04278 +/- 0.00122\n", " Leakage Fraction = 0.00000 +/- 0.00000\n", "\n" ] @@ -663,7 +661,7 @@ "outputs": [], "source": [ "# Load the statepoint file\n", - "sp = StatePoint('statepoint.100.h5')" + "sp = openmc.StatePoint('statepoint.100.h5')" ] }, { @@ -718,18 +716,18 @@ { "data": { "text/plain": [ - "array([[[ 0.4107676 , 0. ]],\n", + "array([[[ 0.40945685, 0. ]],\n", "\n", - " [[ 0.40849402, 0. ]],\n", + " [[ 0.40939021, 0. ]],\n", "\n", - " [[ 0.41014343, 0. ]],\n", + " [[ 0.410625 , 0. ]],\n", "\n", " ..., \n", - " [[ 0.41049467, 0. ]],\n", + " [[ 0.41130501, 0. ]],\n", "\n", - " [[ 0.40982242, 0. ]],\n", + " [[ 0.41228849, 0. ]],\n", "\n", - " [[ 0.40996987, 0. ]]])" + " [[ 0.41420317, 0. ]]])" ] }, "execution_count": 20, @@ -765,30 +763,30 @@ { "data": { "text/plain": [ - "(array([[[ 0.00456408, 0. ]],\n", + "(array([[[ 0.00454952, 0. ]],\n", " \n", - " [[ 0.00453882, 0. ]],\n", + " [[ 0.00454878, 0. ]],\n", " \n", - " [[ 0.00455715, 0. ]],\n", + " [[ 0.0045625 , 0. ]],\n", " \n", " ..., \n", - " [[ 0.00456105, 0. ]],\n", + " [[ 0.00457006, 0. ]],\n", " \n", - " [[ 0.00455358, 0. ]],\n", + " [[ 0.00458098, 0. ]],\n", " \n", - " [[ 0.00455522, 0. ]]]),\n", - " array([[[ 1.95085625e-05, 0.00000000e+00]],\n", + " [[ 0.00460226, 0. ]]]),\n", + " array([[[ 1.64748193e-05, 0.00000000e+00]],\n", " \n", - " [[ 1.78129859e-05, 0.00000000e+00]],\n", + " [[ 1.70922989e-05, 0.00000000e+00]],\n", " \n", - " [[ 1.89709648e-05, 0.00000000e+00]],\n", + " [[ 1.67622385e-05, 0.00000000e+00]],\n", " \n", " ..., \n", - " [[ 1.56286612e-05, 0.00000000e+00]],\n", + " [[ 1.69274948e-05, 0.00000000e+00]],\n", " \n", - " [[ 1.65813279e-05, 0.00000000e+00]],\n", + " [[ 1.57842763e-05, 0.00000000e+00]],\n", " \n", - " [[ 1.67530331e-05, 0.00000000e+00]]]))" + " [[ 2.06590062e-05, 0.00000000e+00]]]))" ] }, "execution_count": 21, @@ -820,7 +818,7 @@ "output_type": "stream", "text": [ "Tally\n", - "\tID =\t10000\n", + "\tID =\t10001\n", "\tName =\t\n", "\tFilters =\t\n", " \t\tmesh\t[10000]\n", @@ -868,7 +866,7 @@ { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 24, @@ -877,9 +875,9 @@ }, { "data": { - "image/png": "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\nAAAAAElFTkSuQmCC\n", + "image/png": "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\nRK5CYII=\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -909,9 +907,9 @@ "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXwAAAEDCAYAAAA2k7/eAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAD1tJREFUeJzt3X/sXXddx/Hny1amg8xtgZSmLWklVdKZCDjnlOg/ja6u\nYJeYLFUhdS4xJHMgYkjHEv0S09jFnxgdRDdI0ZlZ+ZE1EoWliAmabch+MLpRVteOtnYbTnCGmEG3\nt3/c0+226+333u/33u+3936ej+Tme+7nfM69n/dO87qfnXPuuakqJEmz73uWewCSpKVh4EtSIwx8\nSWqEgS9JjTDwJakRBr4kNcLAP0OSueUew7jNWk2zVg/MXk2zVg/MRk3xOvzTJamqynKPY5xmraZZ\nqwdmr6ZZqwdmoyZn+JLUCANfkhpx3hzSSXJ+DESSpsywh5pWTnogozhfPnwkaVokw59W8JCOJDXC\nwJekRhj4ktQIA1+SGmHgS1IjDHxJaoSBL0mNMPAlqRHn1RevtDzW7/z0WduP7N66xCORNEkGvgby\ng0CaLR7SkaRGGPiS1AgDX5IaYeBLUiMMfElqhIEvSY0w8CWpEQa+JDXCwJekRvhN24YM+uaspDY4\nw5ekRhj4ktQIA1+SGmHgS1IjDHxJaoSBL0mNMPAlqREGviQ1wsCXpEYY+JLUCANfkhph4EtSIwx8\nSWqEgS9JjTDwJakRBr4kNcLAl6RGDPWLV0luAt4BvAA8DFwHXAj8HbAeOAJcW1Xf7Ot/PfA88K6q\n+sy4B67lM+iXs47s3rrEI5E0inln+EnWA78O/FhV/QiwAtgO7AT2V9VGYH/3nCSbuvWXAVuAW5Os\nmMTgJUnDG+aQzrPAd4HvT7KS3sz+P4FtwJ6uzx7gmm55G3BnVT1XVYeBQ8AVYx21JGlk8wZ+Vf03\n8IfA14ETwP9U1WeBVVV1ouv2JLCqW14DHO17iWNdmyRpGc17DD/J64H3ABuAbwF/n+Tt/X2qqpLU\nZIaoUQ06xi6pbcMc0rkc+Leq+kZVfRf4JPBTwFNJVgN0f5/u+h8H1vVtv7ZrO02SuSR16rGYIiSp\nZf1ZmmRuUL9hAv8gcGWSC5ME2Aw8CuwDdnR9dgB3dcv7gO1JLkiyAdgI3Hfmi1bVXFXl1GPoyiRJ\np+nP0qqaG9Rv3kM6VfVgko8B/07vsswHgL8EXgXsTXI98ARwbdf/QJK9wCPASeCGqnp+sQVJkhYn\nVefH0ZQkdb6MZdot1zF8r8OXll4Shj1K4jdtJakRBr4kNcLAl6RGGPiS1AgDX5IaYeBLUiMMfElq\nxFD3w9f5x/vlSBqVM3xJaoSBL0mNMPAlqREGviQ1wsCXpEYY+JLUCANfkhph4EtSIwx8SWqEgS9J\njTDwJakRBr4kNcKbp2lsBt3QzR83l84PzvAlqREGviQ1wsCXpEYY+JLUCANfkhph4EtSIwx8SWqE\ngS9JjTDwJakRBr4kNcLAl6RGGPiS1AgDX5IaYeBLUiMMfElqxFCBn+TiJB9P8tUkjyb5ySSXJrk7\nyWPd30v6+t+U5FCSg0mumtzwJUnDGnaG/0Hgn6rqDcCPAo8CO4H9VbUR2N89J8kmYDtwGbAFuDXJ\ninEPXJI0mnkDP8kPAD8D3A5QVd+pqm8B24A9Xbc9wDXd8jbgzqp6rqoOA4eAK8Y9cEnSaIaZ4W8A\nvgF8NMkDSW5L8kpgVVWd6Po8CazqltcAR/u2P9a1SZKW0TCBvxJ4M/ChqnoT8G26wzenVFUBNf7h\nSZLGZZjAPwYcq6p7u+cfp/cB8FSS1QDd36e79ceBdX3br+3aTpNkLkmdeiy0AElqXX+WJpkb1G/e\nwK+qJ4GjSX64a9oMPALsA3Z0bTuAu7rlfcD2JBck2QBsBO47y+vOVVVOPYYtTJJ0uv4sraq5Qf1W\nDvl6NwJ3JHkF8DhwHb0Pi71JrgeeAK7t3vhAkr30PhROAjdU1fMLL0XTbv3OT5+1/cjurUs8Eqlt\nQwV+VT0IXH6WVZsH9N8F7FrEuCRJY+Y3bSWpEQa+JDXCwJekRhj4ktQIA1+SGmHgS1IjDHxJasSw\nX7zSMhn0pSVJGpUzfElqhIEvSY0w8CWpEQa+JDXCwJekRhj4ktQIA1+SGmHgS1IjDHxJaoSBL0mN\nMPAlqREGviQ1wsCXpEYY+JLUCG+PrGUz6NbPR3ZvXeKRSG1whi9JjTDwJakRBr4kNcLAl6RGGPiS\n1AgDX5IaYeBLUiMMfElqhIEvSY0w8CWpEQa+JDXCwJekRnjztPPEoBuJSdK4DD3DT7IiyQNJ/qF7\nfmmSu5M81v29pK/vTUkOJTmY5KpJDFySNJpRDum8G3i07/lOYH9VbQT2d89JsgnYDlwGbAFuTbJi\nPMOVJC3UUIGfZC2wFbitr3kbsKdb3gNc09d+Z1U9V1WHgUPAFeMZriRpoYad4f8p8D7ghb62VVV1\nolt+EljVLa8Bjvb1O9a1SZKW0byBn+StwNNV9aVBfaqqgBrljZPMJalTj1G2lSS9pD9Lk8wN6jfM\nVTpvAX4hydXA9wEXJfkb4Kkkq6vqRJLVwNNd/+PAur7t13Ztp6mqOeDFgRn6krQwVZVh+s07w6+q\nm6pqbVWtp3cy9nNV9XZgH7Cj67YDuKtb3gdsT3JBkg3ARuC+EccvSRqzxVyHvxvYm+R64AngWoCq\nOpBkL/AIcBK4oaqeX/RIJUmLMlLgV9Xngc93y88Amwf02wXsWuTYJElj5K0VJKkRBr4kNcLAl6RG\nGPiS1AjvlqnzzqA7hx7ZvXWJRyLNFmf4ktQIA1+SGmHgS1IjDHxJaoSBL0mNMPAlqREGviQ1wsCX\npEYY+JLUCANfkhph4EtSIwx8SWqEgS9JjTDwJakRBr4kNcLAl6RGGPiS1Ah/8WqJDfo1J0maNGf4\nktQIZ/iaGv7WrbQ4zvAlqREGviQ1wsCXpEYY+JLUCANfkhph4EtSIwx8SWqE1+Fr6nl9vjQcZ/iS\n1AgDX5IaYeBLUiPmDfwk65L8c5JHkhxI8u6u/dIkdyd5rPt7Sd82NyU5lORgkqsmWYAkaTjDzPBP\nAu+tqk3AlcANSTYBO4H9VbUR2N89p1u3HbgM2ALcmmTFJAYvSRrevIFfVSeq6v5u+X+BR4E1wDZg\nT9dtD3BNt7wNuLOqnquqw8Ah4IpxD1ySNJqRLstMsh54E3AvsKqqTnSrngRWdctrgHv6NjvWtTXF\nHzqRdL4Z+qRtklcBnwB+s6qe7V9XVQXUKG+cZC5JnXqMsq0k6SX9WZpkblC/oQI/yffSC/s7quqT\nXfNTSVZ361cDT3ftx4F1fZuv7dpOU1VzVZVTj2HGIUl6uf4sraq5Qf2GuUonwO3Ao1X1x32r9gE7\nuuUdwF197duTXJBkA7ARuG8BNUiSxmiYY/hvAd4BPJzkwa7t/cBuYG+S64EngGsBqupAkr3AI/Su\n8Lmhqp4f+8glSSOZN/Cr6gvAoEMumwdsswvYtYhxSZLGzG/aSlIjDHxJaoSBL0mNMPAlqREGviQ1\nwsCXpEb4E4eaWee6n5E/f6gWOcOXpEYY+JLUCANfkhph4EtSIwx8SWqEgS9JjfCyzEXypwwlTQtn\n+JLUCANfkhph4EtSIwx8SWqEgS9JjfAqHTVp0NVV3lRNs8wZviQ1wsCXpEYY+JLUCI/hD8lv1Eqa\ndga+1MeTuZplHtKRpEYY+JLUCANfkhph4EtSIwx8SWqEV+lIQxj1slyv6tH5yBm+JDXCGf4Z/IKV\npFnlDF+SGmHgS1IjUlWTeeFkC/BBYAVwW1Xtnqd/TWosZ+OhGy0HT+Zq3JJQVRmq7yRCNskK4GvA\nzwLHgC8Cv1RVj5xjGwNfzfKDQAs1SuBP6qTtFcChqnq8G9CdwDZgYOBLLfOmbVoKkwr8NcDRvufH\ngJ+Y0Htx+L++zcEnn335IC6+kLf9+Rcm9bbSxPlBoHGaicsyH/j6N/nIvx5+WfvmN6xahtFIk7cU\nhyT9UJk9kwr848C6vudru7YXJZkDfveMtrEOwqP00sLlluUegYaVpP8E6Aeqau6s/SZ00nYlvZO2\nm+kF/ReBX66qA2N/szHrTh6P95Nnmc1aTbNWD8xeTbNWD8xGTROZ4VfVySS/AXyG3mWZH5mGsJek\nWTax6/Cn1Sx8ip9p1mqatXpg9mqatXpgNmrym7Yv94HlHsAEzFpNs1YPzF5Ns1YPzEBNzvAlqRHO\n8CWpEQa+JDViJgM/yZYkB5McSrLzLOuT5M+69V9O8ub5tk3yB0m+2vX/VJKLu/b1Sf4vyYPd48NT\nUs/vdX0fSvK5JK/rW3dT1/9gkqumuZ6l2D+Tqqlv/XuTVJJX97VN3T4aVM8076Mkc0mO94396r51\nE91HC1JVM/WgdxnofwA/CLwCeAjYdEafq4F/BAJcCdw737bAzwEru+VbgFu65fXAV6awnov6tn8X\ncHu3vKnrdwGwodt+xRTXM9H9M8mauvXr6F3e/ATw6mneR+eoZ2r3ETAH/PZZ3m+i+2ihj1mc4b94\n47aq+g5w6sZt/bYBH6uee4CLk6w+17ZV9dmqOtltfw+9bw8vhUnV03/zoVcCz/S91p1V9VxVHQYO\nda8zrfUshYnU1PkT4H1AnfFaU7ePzlHPUphkTWcz6X20ILMY+Ge7cduaIfsMsy3Ar9GbCZyyofvf\nuX9J8tMLHfgAE6snya4kR4HrgN8f4f0WY6nrgcnun3ONd5g+A7dNsg04XlUPLeD9FmOp64Ep3Ued\nG7tDQB9JcskI77fkZjHwJyrJzcBJ4I6u6QTwuqp6I/BbwN8muWi5xjeKqrq5qtYBH6U385pqA+qZ\nyv2T5ELg/cDvLPdYxmGeeqZyH3U+RO9Qzxvp1fFHyzucc5vFwJ/3xm3n6HPObZP8KvBW4FeqO1DX\n/S/bM93yl+gdq/uhcRQyz1iH6TPMttD78PrxEd5vMZa0niXYP+ca7zB9BrW/nt6x34eSHOna70/y\n2iHfbzGWtJ4p3kdU1VNV9XxVvQD8FS8dtpn0PlqY5T6JMO4HvfsDPU7vH9epEyyXndFnK6efnLlv\nvm2BLfR+wOU1Z7zWa+hOxtD7pD8OXDoF9Wzs2/5G4I5u+TJOP9n0OOM9IbjU9Ux0/0yypjO2P8JL\nJzmnch+do56p3UfA6r7t30PvuP3E99GC/zss9wAmUlTvbPvX6M0Ubu7a3gm8s1sO8Bfd+oeBy8+1\nbdd+iN4xuQe7x4e79l8EDnRt9wNvm5J6PgF8pftH+SngtX3rbu76HwR+fprrWYr9M6maznj9I3QB\nOa37aFA907yPgL/u+n4Z2MfpHwAT3UcLeXhrBUlqxCwew5cknYWBL0mNMPAlqREGviQ1wsCXpEYY\n+JLUCANfkhph4EtSI/4fEOgLRS18wmgAAAAASUVORK5CYII=\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -952,13 +950,13 @@ { "data": { "text/plain": [ - "array([ (1.0, [0.2712169917165897, -0.04844236597355761, -0.1887902218343974], [0.3889598463000694, 0.8470657529949065, 0.36220139158953857], 2.2746035619924734, 0),\n", - " (1.0, [0.080729018085932, 0.19838688738571317, -0.38053428394017363], [-0.6604834049157511, -0.6893239101986768, 0.2976478097673534], 0.7833467555325838, 0),\n", - " (1.0, [0.019430574216787868, 0.06594180627832635, 0.23329810254580194], [-0.7472138923667574, 0.13227244377548197, -0.651287493870243], 1.1632342240714935, 0),\n", + "array([ (1.0, [-0.1382758052991497, -0.3512177196880901, -0.33148352853135243], [0.4185689312254184, 0.515870835450486, -0.7474472094699589], 0.12980877137486158, 0),\n", + " (1.0, [-0.1382758052991497, -0.3512177196880901, -0.33148352853135243], [-0.7887279871402189, -0.41474066458733805, -0.4537602268152112], 0.9055673129689725, 0),\n", + " (1.0, [-0.037141545763691594, 0.3164763430804079, -0.13705878399440294], [0.3855911650385466, 0.7867859791128493, -0.48196190359368796], 0.996776361155944, 0),\n", " ...,\n", - " (1.0, [0.18544614514351207, -0.0113070561851496, 0.5468392238881264], [-0.8006491411918817, 0.43855795172388223, -0.4082007786475368], 1.4358240241589555, 0),\n", - " (1.0, [0.18544614514351207, -0.0113070561851496, 0.5468392238881264], [-0.5150076397044656, -0.34922134026850293, 0.7828228321575105], 1.5771133724329802, 0),\n", - " (1.0, [-0.2722999793764598, 0.22680062445008103, 0.2987060438567475], [0.9207818175032396, -0.2884020326181676, 0.26265017063984586], 2.932342523379745, 0)], \n", + " (1.0, [0.10735654583359178, -0.007276312264885898, -0.05173760352485271], [0.5349120379020222, -0.015907381482490993, 0.8447579931091957], 0.8409377635712494, 0),\n", + " (1.0, [-0.048566216245400286, 0.29160532148505824, 0.31942717397594755], [0.6200960701401188, -0.409911862042636, 0.6689193741801173], 3.8787384499997857, 0),\n", + " (1.0, [0.07888442268099938, -0.14443885526015943, 0.3095767587545024], [0.373899151360205, 0.18819594431853104, 0.9081749342247754], 4.776147593645684, 0)], \n", " dtype=[('wgt', '" + "" ] }, "execution_count": 28, @@ -1034,9 +1032,9 @@ }, { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAY4AAAEUCAYAAAA8+dFZAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAGhJJREFUeJzt3Xu0ZGV55/Hvz8YL3kKfxNERUByF2O3SCWqQFTMjXhdp\nFdROBLoTlRkFjR0vk0wYV7zNOCsTHa/EJYNLVDQ2eIE4OIJ4BaV18I5KHxCWQ4bLGmLs9oZRuTzz\nR9XBsjhVZ+/u2lV1Tn8/a9Xq2u9+966n3lXdT7/73ft9U1VIktTUnWYdgCRpdTFxSJJaMXFIklox\ncUiSWjFxSJJaMXFIklrpNHEkOTrJFUmuSnLKMvsfmuRLSX6e5M/bHCtJmo109RxHknXAlcCTgOuB\nrwAnVNXiQJ37AA8EngHsrqo3NT1WkjQbXfY4jgCurqprqupm4Gzg2MEKVfX9qvoqcHPbYyVJs9Fl\n4jgQuHZg+7p+WdfHSpI61GXi2JtrYM6DIklzar8Oz309cPDA9sH0eg4TOzaJCUaS9kBVZU+P7bLH\n8VXg0CSHJLkLcBxw3oi6w1+g8bFV1fnrNa95TefHrVR31P425cNlw9vPetaz5rYt2xzbpJ7tObn2\nHLe/Sbs1KZtGW+5Ne07j7/retOfw9t7qrMdRVbck2QZcCKwDzqiqxSQn9/efnuR+9O6YujdwW5KX\nAhur6qfLHdtVrCs56qijOj9upbqj9rcpHy7b0++1N/bmM5se26Se7Tm59hy3v0m7tSnr2jz/XR+1\nbxa/zc5ux52GJLWa4583mzdv5pxzzpl1GGuG7Tk5tuVkJaHm9FKVVpkNGzbMOoQ1xfacHNtyvpg4\ndLuNGzfOOoQ1xfacHNtyvpg4JEmtmDgkSa2YOCRJrZg4JEmtmDgkSa2YOCRJrZg4JEmtmDgkSa2Y\nOCRJrZg4JEmtmDgkSa2YOCRJrZg4JEmtmDgkSa2YOCRJrZg4JO3TFhYgueNrYWHWkc0vE4ekNWFU\nAlgpCezeDVV3fO3ePb3YV5v9Zh2AJE3CUgJYTvZ4dW0txx6HJKkVE4ckqRUThySpFROHJKkVE4ck\nqRUThySpFW/HlbTmrV8/+pbc9eunG8taYOKQtObt2jXrCNYWL1VJ0jKWeilOR3JH9jgkaRnjein7\n+pPo9jgkSa2YOCRJrZg4JEmtmDgkSa2YOCRJrZg4JEmtdJo4khyd5IokVyU5ZUSdU/v7L0ty+ED5\n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\n", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAY4AAAEWCAYAAABxMXBSAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAGt5JREFUeJzt3X20ZFV55/Hvj24DaIs9uiamA+1AtKPpvIiMQByzjIZR\nAaOdFUkaX+KCmESypM3rmmgmGZqYSTRvo6CBNoKKOja+JiSrEzQddZIJIK/B0GBoMQ6QNsQQpRVR\nOz7zR50rxe1bt87pe8+9Vfd+P2vVunXO3qfqqd2n66lzzj57p6qQJKmtw5Y7AEnSdDFxSJI6MXFI\nkjoxcUiSOjFxSJI6MXFIkjpZkYkjyfbljmHa2YYLZxsuDttx4Ra7DbMS7+NIUlWV5Y5jmtmGC2cb\nLg7bceEWuw1X5BFH3w41e3fZbr66XcvarFvqX3ULeb+2246rN6q87fq2bd2nvvfFQ23DUWXui93K\nJ7UNPeJYwtfvst18dbuWtVk3bnmxLeT12247rt6o8rbrx7XrUvxS7ntfPNQ2HFXmvtitfFLbcMUm\njuWOQZKmTdvksrbvQJbLSkyIktSXpP0Bidc4JEmdmDgkSZ2YOCRJnZg4JEmdmDgkSZ2YOCRJnZg4\nJEmdrNj7OCStbjfd+QUu3H07X/rqgYPK1h2+lm2nbOL4jeuXIbLpZ+KQtCJduPt2dt92z7x1Ljnr\nxCWKZmUxcUhakWaONB55xFo2bzjqm+v37LuP/Q8cmPNIRO2YOCStaJs3HMXlr3jaN5e37riKaz5z\n7zJGNP28OC5J6sTEIUnqxFNVkqbWfD2n9uy7bxkiWh1MHJKmVpueU+sOn/trbs+++9i646o569tV\nd34mDkkTrc1RxeyeUzPWHb6WV52y6aB1APsfODDyIvnu2+7h5OMePefrmVRMHJImXJujipOOfXTr\nezK2NYlkrkQ0nEjm63m12u//MHFImmij7seYMddRxXyO37h+5Bf/uKMb7/8YMHFImgqz78fow3xJ\nxfs/HmR3XElSJyYOSVInJg5JUicmDklSJyYOSVInJg5JUicmDklSJyYOSVInvSeOJKcm+VSSvUle\nPUd5klzQlN+c5IShstck2ZPk75O8J8kRfccrSZpfr4kjyRrgzcBpwGbgRUk2z6p2GrCpefwMcFGz\n7bHN8n+uqu8B1gBn9hmvJGm8vo84TgL2VtUdVfU1YCewZVadLcBlNXA1sD7JBuA+4OvAkUnWAg8H\n/qnneCVJY/Q9VtXRwJ1Dy3cBJ7eoc3RVXZfk94D/B3wF+HBVfbjPYCUtn1EDDDoh0+SZ2EEOkzwe\n+AXgOOALwPuSvLSq3jVH3e3AeUsboaTFNG749FETMmnxJKmhxfOravtc9fr+l7gb2Di0fEyzrk2d\nZwB/W1X/ApDkg8B/AQ5KHM2H2z6zPOvDS5oC8w2f3nXodB2aqkqben0njmuBTUmOY5AMzgRePKvO\nFcC5SXYyOI31xaral+RTwP9I8nAGp6pOAa7rOV5Jy2wphk/XwvSaOKrqQJJzgSsZ9Iq6tKpuSXJO\nU34xsAs4HdgL3A+c3ZTdlOQyBsniG8CNwFv6jFeSNF7vJw2raheD5DC87uKh5wW8csS2rwde32uA\nkqROvHNcktSJiUOS1ImJQ5LUiYlDktSJiUOS1ImJQ5LUiYlDktSJiUOS1ImJQ5LUiYlDktSJiUOS\n1ImJQ5LUiYlDktSJiUOS1ImJQ5LUiYlDktSJiUOS1ImJQ5LUiYlDktSJiUOS1ImJQ5LUiYlDktSJ\niUOS1ImJQ5LUiYlDktSJiUOS1ImJQ5LUiYlDktSJiUOS1Mna5Q5AkqbJnn33sXXHVQ9Zt+7wtWw7\nZRPHb1y/TFEtLROHJLWw7vDB1+X+Bw5wzWfunbPOJWeduJQhLRsThyS1sO2UTQB86asHHrJ+z777\n2P/AgYPWr2QmDklq4fiN6+c8oti646qRRyArlRfHJUmdmDgkSZ30njiSnJrkU0n2Jnn1HOVJckFT\nfnOSE4bK1id5f5Lbktya5Gl9xytJml+viSPJGuDNwGnAZuBFSTbPqnYasKl5/Axw0VDZG4G/qKon\nAU8Gbu0zXknSePMmjiR7kvxakscf4uufBOytqjuq6mvATmDLrDpbgMtq4GpgfZINSR4FPAO4BKCq\nvlZVXzjEOCRJi2TcEceLgEcAH07yiSS/kOTbO7z+0cCdQ8t3Neva1DkO+BfgbUluTPLWJI/o8N6S\npB7Mmziq6u+q6jVV9XjgVcDjgKuTfDTJT/cc21rgBOCiqnoK8GXgoGskkqSl1foaR1VdXVW/ALwM\nWA+8qcVmdwMbh5aPada1qXMXcFdVXdOsfz+DRHKQJNuT1MyjRVySpFmGv0eTbB9Vr1XiSHJikj9I\n8llgO7ADaHPK6lpgU5LjknwLcCZwxaw6VwAva3pXfT/wxaraV1WfA+5M8sSm3inAnrnepKq2V1Vm\n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\n1LFE4vGQAAAAAElFTkSuQmCC\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -1083,19 +1081,11 @@ "metadata": {}, "output_type": "execute_result" }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/usr/local/lib/python2.7/dist-packages/matplotlib/collections.py:590: FutureWarning: elementwise comparison failed; returning scalar instead, but in the future will perform elementwise comparison\n", - " if self._edgecolors == str('face'):\n" - ] - }, { "data": { - "image/png": "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\nDQ2NFuT/AMH9R/ORrjlAAAAAAElFTkSuQmCC\n", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAW0AAAEDCAYAAAD+/1UIAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xd4FVX6wPHvmdtvbm56Jz0EEnpvgojSEURERFdRUVfs\nDdf2c9G11y262Fbs2BCsIIhI7y2UAEkIIb2328uc3x9hV1TUuKCAO5/nmQcyc2bmvXcmb86cOXNG\nSCnRaDQazelBOdkBaDQajab9tKSt0Wg0pxEtaWs0Gs1pREvaGo1GcxrRkrZGo9GcRrSkrdFoNKcR\nLWkfIYSYc7Jj+DX8Hj/X7/Ezgfa5NO0jtH7abYQQUkopTnYcJ9rv8XP9Hj8TaJ9L0z5aTVuj0WhO\nI1rS1mg0mtPIKd88IoQ4tQPUaDSnjONthgkXQja3v3iJlDLtePb33zgtkvapHqNGozn5hBDHnbSF\nEPKhdpa9j+P/I/Hf0P/WO9RoNJpTmeFkB/AztKSt0Wg0RznVk+KpHp9Go9H8piwnO4CfoSVtjUaj\nOYrWPKLRaDSnkVM9KZ7q8Wk0Gs1vSqtpazQazWnkVE+Kp3p8Go1G85vSatoajUZzGtGStkaj0ZxG\nTvUuf9qAUZrflJ8tSCQEgyc7FI3mmPTtnE4WLWlrflMeXiHIbqgtgW/eONnhaDQ/YGjn1B5CiGQh\nxAohxF4hxB4hxM3HG5+WtDW/GUkAH1/gYxlEJ8OL1xLc9uXPryclgTWrfrqQp/EERan5X3eCa9oB\n4HYpZS4wELheCJF7PPFpSVvzG/JgZBRGRoDegMzoQ/WrD//sWr4nHiG4bs2PF5ASVt4N3iqQWrOL\n5vicyJq2lLJSSrntyP9bgXwg6Xji05K25r8iUX/xOgIbAhsKGQAUDbwD38HdbUn3RwTz9+J9/GGU\n5NQf33DBQij8GFz7oPTZXxzXsagS/rUDGt0nZHOa08iv1aYthEgDegEbjyc+LWlr/iteVhKk8hev\nJwkgjpzyxavXUtakQ+5e8ZPrGK+4Gt2w4T9cUHSkaaW1DMLSAR0U3QuO3b84ru9sthGGvQnLiiHi\nx7oSuKrA13Jc+9Gcmn5JTVsIIY+a5vzYNoUQNmABcIuU8rhOnBOStIUQY4QQ+4UQhUKIu36iXD8h\nREAIccGJ2K/m5HHxHl42/Bdr+vl3PSWpf3+ib3gKlr1MkGO/L8T34vMYb7oVJel7V5RBPyy5AQIO\n0Jlg6ENgjIWwwSB0vzwsn+M//y1phiYP3DHwGOUCR8o17YZ9//zl+9Gc8iztnKDtJQhHTXOOtT0h\nhIG2hP22lPKj443vuJO2EEIHPA+MBXKB6cdqaD9S7nFg6fHuU3NyqTjwsQ4/ee1bQUrY9w9Yexk0\n74FgAICGoiLCU2MQFoXA4W8o5XI8fFtLlg0N0NKCkpp21LaONMuUboHaQth8M1Rvg7jeENIJkm+B\nls1tZYLOn4/L3Qhl6+DgEgD21MLcbbD5CuibcIx1Sh5ui8FxCPY8Df6f2YfmtHOCe48I4F9AvpTy\nmRMR34moafcHCqWUB6WUPuBdYNIxyt1I21+bmhOwT81JJAjBzGhs3NDOFQR0uh4ModCyH3HgJQh6\naDx4kIguA0FZiunDeeiI4jB/IEhbTxDfvFcwXHFV2zb+3e69d17bvwerwJ8BIXXgbQZzeNv8yFHQ\ncKTZ5NAjPx5TyWp4YxR4W2DtQ9BUTEUr3LUCXhkHlmP9VsogVPwLWrdAeFeI7gtBT/u+A81p4wS3\naQ8BLgVGCCF2HJnGHU98JyJpJwGlR/1cxvfujgohkoDJwNwTsD/NSSYQqLSiEPHtzJ+r1QoF+j0H\nCaPAng2rp+Gr2IHJboekHlC3nZj6i4nnYap5EDXgIrhhLbp+OZB/97e9QrY9CY37YccO2FHdVtPV\nmb7dj87S1jzir2+7Keku/mEsTSXw5mhI6AXmMHBW4RFWrl0Cc8dAmPlHPoP7EOjDwFsBsQPBEAZB\nAc6GX/L1aU5xBn37pvaQUq450nTSXUrZ88j0xfHE91vdiPwr8Ccp5c92ORBCzDm6cf83iE3TDiqB\n7/wsayrBfySR1vwTWn6+vzVCgN4MSePgzIWg6GHlZOh8CXTJwPD5O9gZTzjTqP3kAnRnd0Ws7AKG\nyLayrhpwlMPhpW1PVPqMIEZDTLfv7idyLFS8BqYkcB347jKfE5bcApNegqH3gDkcNbITMyqu5y/D\noIP9ezGXHISNq0FVwZoJ9v4QPhZeuxrWvwcvTAS/Vts+VbT3xuBP0evbN50sJyJplwPJR/3c4ci8\no/UF3hVCHAIuAP4phDjvWBuTUs45unH/BMSnOQbJz/w9VFu/86OHGjZxD8UswEMd+HwEJwxH7r8N\nym4B+9nt3HPbIQ36A+jCs9qSNypE+WHPh+CoxKp2w/q+k7opq1Gj+kHKdPB8DnIp5FwM2dNh6uWQ\nGQJNFRDf97u7iB4Prj1tCTZq9LfznZXw5kCIroDOk0AnkO56dlT6mdkDesQdI9zkNJj7JAxIhaXz\n4OvN8LfxUFkE2RPh4ocgPPHIl6rVMU629twY/DkGXfumk+VE/L3YDHQUQqTTlqwvAi4+uoCUMv3f\n/xdCvAZ8JqVcdAL2rfkvSOmkWGwmg+HHXo7EVz8bU+RDoIsGwEoiqZzLNv4CKITFJyELNyP3tyAG\nPAq6sPbuHaRK8+LHCEtJaatBZ82EmIGweyC8kEuwUzcMHUqJDNio7O4lwT0Hxb8PgsVAAngKwZYB\nvgDU7Ychvb67C70dVM+RG4bVsPfvULUJWboNkdgEXT6AHXNgzzNUGAdgt3Wkd8b3wvRXgnMzNFfC\nuBwwbod3n4RJKbCuAZK7wZAroSkfEo58j/5vQNcZdMe6g/kjDhZCRlb7y2t+dSezFt0ex13TllIG\ngBuAL2l72ud9KeUeIcS1Qohrj3f7mhNPdd/HvuDzBPD+cGHFYcTnH/CZLZyqqomwfgbkPQp1m4lj\nEGfyCiBpUvIRn1yC3CeRyqWw5EVoqoFAXdt2Al4o3QybnoPDn4K3CQBdIBK56AIadq0nIjOzrWzL\nPth4B+T1gMSRCHNfjOP6I+KvJ8L/Z6pNCkQshNhSCJ0GATMBmwVvRBCXwUmNqfG7Vw61RbD/MBR+\nDq310OVmKNmNzPTiy7Ii18wGdzMlUdeyzPYIWbmDvvsd1K+GnWmQNwO27IKB0+GFEnjsa5h/AFpC\n4KwrIDwXmvfiw9W2XnA/uB9v/4GQEu6+sf3lNb8Jg6l908ki5Cl+SSeEkKd6jKeaOvYRRScEx25d\nqndfh8n7OiL0G0J0/X5YYEJP1l3dky/PTWZW8xDiv7wc4oZAn8fA3hGAavUCItYsQSr90L1jRzfj\nSsQLl8LVQ2HAItj4Imx5FCy1YAiCkgxCQdV5wVVLbWMWlpgmdFY7srkeyycBglP6IAyH0RmsCHtP\nVF8+Pt8uzOUBhD0dxs6H2s14I1MpjDcS+fRFWM8P4M/cRrRIg4AfindSX/kwprpV2OwOVNNFKNsW\nQcdEZM/ncNsuR1G6YXobZLgBEaxAWMIh9zLodGnb519/NVjDofOdYIr57neTNx0e3QvJA+HPT+PZ\ncRX7hkyhJ1PBOQc8r0DETlCifv5AbV4PYwfDrnJISDx2GW8dGOygGH9+e//jhBAcb5OqEELKHzkU\nPyhbwXHv779xil8IaP4b+/mEblyC/VhDHEiJQX8O0r8KM7a2G2yq+u01oasRzp9B10ULKB3ZkyrD\nTuLHb2hrxtj1KFKq0O1ODPIAuk6vIHddRdOIIYRvLUQ/sisE1oAEBt8Ag66Hql2gd0OLD5L7Ij6/\nEF9OOTHF2agN26C0BGWJB8+EUKr61OEPhuAzSPz2Cgh4aLV0J7aqidgiJ+bNF1OUfQbStZWwmlyi\n3S4MIU74pi8sS4Pt+WAxEtq1O0FdMrLjTtj3JjLDBqlXI1ZfjmFQGUFTDYx6FCX5UljxMGScA4Xv\nfpu0B738na/MQxUG1YZOsUG9AyZPhk4TYNZF7Jyjx0d1W0HL7W217fYkbIDwSBh8JviOccUjVTg0\nD6qWwKAP2rc9zYlximdFrab9OxPEz0Iuo6t6AZ2VKT8skP8uhTnR2INuYjyfIUJehDmzYMAIGD0F\nPrkVOo2DYAzq288z/3474023E650AKDZ8wimXXlU5NrJCHkJvLV490yj9cMKwqZNwhD4DDb0gWvn\ngU4HzhZYNh8iArDrTeh6Du4h1Zhaz0d5fAayNpfAVIHsGYVePxslqi8sPQ98lbh6z2Z/ZDk13kIG\nrf+I0N3VqOl90dXlgz0WdlfAmAiI7Q0rBET0hMyh+Pv3p9R7KxlbFiLXxkPxAWQHG0q1A7oIgmef\nTyDeg6k5BVYshHQ9JF4GTUGazCrmnNmYicFPM6W8htuxmS4PVMOoc6H0TRj0FOSciepo5OvaS4hs\nzKB3z7+DvwVKe4P7ZogYBIl9QfmJFkinE+65Gf72yg+XVXwK6ybCGYshfswJOjt+305YTfv79zd+\nrOzBk1PT1sYe+Z1RCZBEf1IP7/jhwtZyWPsA9RQRphsOWJGOlZDmgJsvhH89BVkj4NVxYG5G6ZjL\nhMVGDrj/9Z9NBMw+GvpZUULOaJthisHUbRERk1IQcd0gYQr0nQLXjYY1n8LFncFogq5joW4LeC0Y\n9h/Gn3cF6v4ggekB9HkejBWXoOwrh8uykPsiqY7PZZ37U0LXvcqIrZXYK61IixkqtyB9TmRDJbIp\ngcCBRCgNgyvehukPQf/RGIIW/K4CSJyKuHkjIjcD0ehGDdUTbLWiHNAhKvYQLFgMjVVQFgZN5WCv\nwhqSh7t0NFQ/QX3gc8r5kNQ8D1xyCTz7KJTkg/sjaNmHYovAEJlBr21+eOV+2Pw5OKJg22yYPwqu\nDoPXbwJn07EPVn0txB6jy4q/FYpfgiGfQ9zoHy7X/Lp07ZxOEi1p/87oUTAFBOaiv0Lge+PSFH8J\nLYfw+aoxEQpiFhw8D9IS4bmPYNta0KfC0NsI5L0Ong8IW/YE/Z/8O1RsAOcHhFXOJ7b0bcIcm8Cx\nA1zloA9F1+1F9BWzIeiFiGxYtRNZ/2fkBRHIET2Qmx6F6Z8gdy9ALFmF8lYNgRdmYyiMRyT1hQX3\n4O65HNfUJtTiZcRuCuWcT9eQ1dyKwRAGqQNRetyCiB0OQQhGSmSrjYa4etQWN6x/Ag6tAHcV/r3T\nCFrCaY3rDaZwsJ+F6CERPbojXB7k5kXotifjT61BxoSB6geZQ2nGZBpS7qbZPI66w4tp9C6nH+9h\na1Jg/1x44F1Y74aSBfDlC20jHdpSEdEdIDsTQsIhcgIM/zP0+COM6w2Tbmybfyx1NRAd+915qg+2\nzoQuD0PCuLa+7Zrf1in+6ppTvPVG80t5eA1z8wbQh0LzFoga8e3CrpcRLFuOTt/WPU/IcKQzDJli\nRSgdYFxf+NsESItAF7GH5s69sGdPRMxvAPU9CHkWnT4FZ+sl6Fxe8htmEmqrJbGsFkUq4AlA40uo\nX72FkC3I4FDE1LFQ9zSy8wrUqC2IhkKUDz0o8aCuWoRMHEUwsR5SSjDs+xj/xNtRxs1GFG6DF96F\niCw4fx7kfQAbH0D4isCroDiDBKL8NE6chUfGkdIwGFn8FZ7aRRhzH6DVeB3OgJ/QlX+G5tfBakEk\nJiA71BCMVQja8jEuSsM/NBFj32W0HngYw5fXYDnjPcz7N3Ogl0KfkOfQYYFhz8LauyBUjy8tCv3m\ncJTozTQ51hEekg7nHTX+WSAJfEsg9XFw18D629uenuwyq+2p0KPVfi9pSwnbr4eMayG8+694lmh+\n0knsGdIeWtI+nbjqweuAiB8fW9rIWOqjXiEQEY/h6IQNoOhptEsiZCoc2gxf3Q+uNDC+jMywILqe\ngzfLhenRtym46V4O9RlFtchjQmwXIp6+HB6ZCYY+FIVM5qAzH6d1IgVhQ3hAFkBgB7h3QJ0PxbcD\nOTUF/CuQixZAXQO+oW70WxJR8lMJ/LkDupQdiJyNyPxt6D7Rw1npcHAo+n73tY3GkxkCI5vB3R1u\nyG17XLxrK0Lf1s9bFFoJhGcRLntSL5cRJARdt8lsMM1jKDkkOaIxWbrC6y/AQ8UQFwuKHuXNASiG\nKPQHasCqIGypBIKLCCQNp8a+l04LLqOmo4Hun6hUTv2SeP0o9LYkpOqjzv80zfeEkHlJLYQX0zri\naWIVA3hWQMJIiBsBhhwIHBkXyBILZ70BBW/DV9Ng4NMQmvLt8airQaYk4GczAfJRShdjjpkIsd87\nbprf1imeFU/x8DTfseoJyDrnJ5O2jhT09ENlMZIgAh24d4NiBVMGDXYv8YdrIX8nGP2IK75CBt4A\nTyW+8gfYEdcH54vreKV2C6WqgdmeJMz+CyGklpYPJ7B5wghaArX0bN1FWnmAVz3wstvB1awBr4TF\n+yAUxPAwxMAvkV/fSaCLBb3vMLrdy2GQhVazlfeTL2Cst5qUkGqweBFfhINjAwzYDWldoWUN+LtC\n02Zo2Acd7eAbCB0GtPVIcauofTzYGg8Rs+8lXDF52KKm4pYNrD/0JwZ4FOTO7TBmIiS23UQl6IcG\nBTwtCF0N1Fehj3kdr/p/BBeWk3zmTRSNCdD55U8gUs9B/8uoekEKk3CkpVOX/BGRSzx4hpqxLGrF\nUn6IiD7PtvXXrlwGW29ta49O2wctS8FbC2lTIfsPED8M1twK6eOh0xUgBLKuGu8ZPprklRjdyUR4\nJkP2dKSsJOC7EbCj6M5A0V2O+H4tXfPrOcWzotZ75HTRWgVPZ8C5z0OfK76d729sGxzJkvGfy+9N\n/JPeee/i7T6KEO4D1QU7eoAjmr3+AJ0jeqA4YsFaDtGj8XWYxHr3u7wUEoZBiWYKXch2Qeijs0m8\n+FaaO4Ww1nEv+rJmBihpyPqFhKAHqWDw2sizhhGq85O+pgi8HnB7oft0iGoGfT8YOgdUFakGkEo+\ncu8sfId38M8+V6OYe3Bla0/C1s+HqN7wxsPQcSDkrIDqgbB7P/L8cxBxnaCuHha+BbooSIqmOfMw\n9tIiGDmJfZkWOhme5CCrqSldTqfOT2Dt1g3L6o3gqoOCZbh3P44hGIL+ik3QmAcrp4M+B/e5d+Mq\nGkvEn5sIzBqGMXEScu/XuJvWU5GdQZZ5NuXZ/0I53IJuSSXlM7tg2VZNdWQKA8pr0GVfgyFhfFv7\nuVSh/jw4lAn7/gbWjlA+FFYWwUsfQtUCZMUKfAPPw1X2Zwz2rhgKl2Ko8yM7dkbNygJdNFLNR6eb\nhqKfiRBaH+32OGG9R4a0s+xarZ+25qcYbZA9tu2hjn8LettGnSv8P6h8E9LvhfQ7AVBIAPz4WIKx\ntQfszIVFn5A6zoKStg810IVtHYayLDyExsZ36as3c5bSwnC6kEUMqrWBLXMMVCx/kJo4C+HOUFaI\nMxm85W0OThxL1/xE6hLfIdb/PF0fn8wtd/2ZR8oex9ZvJKzYDlNmQkYGWI/0FVcUhGJEBLOhuQGz\nWXBL9escColkx3tJ9CoqxMxWKHJA2XzERy50lkMEgyoicJDgplB0vbzoInsgivLAVkfooSCUgVjw\nNpmduuOKvpAsXxLVOXXoOhoJUI36cDyK8NOUk4I6tBXzoUGACpE9oPvdUPoBJXXPoZQmEGkwUBAb\nSuewWHTpRqz1YaQeriTYeBHm1kzC3fH4/SYshmnoGx+iYehZ+MvXYlx+BdXdBlDXfzxhIpfwqGcJ\nsZgRK/6K6rcjVr8Jt98MpY/h0X+Nt2MJIaUfY//UCL38CKcZzvgHSszF6ETbmLBSBhFHv8yhtR5C\n29n/W3N8TvGsqF1znS4cBWAIgdicb+flPdpWu+78D0i6CrzlsOcajO46kBLrnv4wbxbqZ7dDkQF5\nwb24R1xCjdHK7EF/ZL+QzKxYxhPlXzBl/XWcefgwWbRtf7u6lvU6hdb+DjLfjyJNTGJg3UaWikSi\ntq2A0Az0cdPwvT8NJbUrT71/D1+Pn4zn0GHo1wHWvwmh6aA7UkusWQ/LJ8HSEWDOhZzPaTYIwpP6\nM3RoPMFOViozDrP2vf7ob3Ch7y9w/zGG4FAzwdjuiO4DIDIJOeU66KpAdoCg04yY/gqEZWLIvIzy\nPgmoZz5I5lInlU8NxPaXWQSzhuPqP4JAVjRhtSZESAisvRJW/wE23ois2kCDoZjE4R8jbnubjCe+\n4nDTRmTM/cjWRALdQ3BmRxNZ5cIbvQUltRCbMoaa2BASmsIJXfEFysjPiKuETq5pWEikWqxil/Ul\nPD1mIOJbCN7bF1fnN2jIfhVvtsSU0Bu9/Xx0VWeis/RGUfuihE0mIMpp5k1quJuAKP3u8V/1Jix/\nARrLfqMT7n+Y1ntEc0IceB/E9/r77p8LSaMhdhBkP9XWPax6Pdkbr0U0FCMa4tFPeB///EswnnkP\nIreZ6NrNSB88ve0qyLwHOt4Huy4gYA2SWfwBFH2MO2MsEbpCrgr/I5bw7mydfAvKxrn0PrQZNTOU\nPbGd0OVkEuXpS8sNLYT/5QOM9kSGd+rHwS152BQHgfJaklQwCRVKFkLR6+CphdT+BJ1eGhxTsdaZ\n0MeORBl8GRFF0wkvyqe4RGXvxlwCdw7GGhFBnG4uoY0xKNffAsUvIFsfJlhViy5gQj3HDN5NMPBc\nRJc/ECnW4v78UuJU2G/z0nlzOZ9dcSuDWmYR55cE4gYjzc/gpAmDqxlD5BCqfF8R6jJiczdD9xHI\n+B5Ef7oVWfc29ReBK7E7HbI3oaou5K7eGMLqETu6URPTndwtr0OYAroYOPcb9N5GbCQTRV/wH0J2\neRlvhxbcmeEY9bcSodxAUH2PQOAVfCFujOfUI+LuAbkcueZOGs+OoJWFxDMXA2kE2YeOzm3HOiwW\n/nU9LHsM7lr37ciCR6g0I3Gio53PYGt+3CmeFU/x8DT/0dLU9kaWxjyI6N7WPUwfAlUrIXoA7FkM\nW+aD2Y518L/A+hcw9kS56xoMRg+y/EZE2TQI6BHJAqQOGjZA5Co80aNR3Tsx9XgDDl6P5dA8MmQk\n2F5E7fYahfkjGR11A5Y4Dy3+cKI6l/BubQNXxSRgrg4FRxOt/UJobvyYQ1kDmTF0Nq49du7dupOB\nzR/QNykT+1kLwNeEo2EUrtBSIpc78fU/F+OmB6B3Glw0D3F1BsNfL8Ax5/8ocS3gAdND/M32DaIx\nFFf9bMyNXjx1BVhcflzDrkanm08wNBbdgflQv4PoygqKB2eQsrKaeFFNmdVH5717qYk2YIy+FKuz\nCs9n4ymJUmmK1eHXuQlk65DOHMpjtgDbyOgYR1kfF5krjIQscVEzxoHZdBshga1YGsLAGQPhXUn1\nL0aX1IJsURGbR0OXe3Clz2BPwxP0bt1Gud1KTVwE6XW9iAy+hDB1ADWIstWEYUsUuAMwzgLvvw/9\n/XiDLvTFPUhO/xwjbQNpeXgKM/ehIw0SO0FKd2jOg2+eg/Pa3sojpYqqfoFbtxQzM0FL2sdP6/Kn\nOSFcbkgfDZajhv0c/CI4DrFNLKCzrwnr9LlgDm1b1iChfitcoqDk3IrbUoOypxzTKgcUpRD0myno\n2oCp4Emastx0lG4+Lnmc1OJEeg55GzaOg8NfgX0RhbKJ/rYIbPYqHCk+XEoovcIX8XBJPx5uORtp\neAV9ei2h1i0M613OPyp83DnkJrosmUtBj38w32Eg5AA8FDUbj1KLLtZDcOoTeEw1mGuKEI1boEoP\nQQk5JmyODXT2FTFn2xqKos/EmJyHeVUN/vg6zMWtyOgONIwdRdi7H2Ls3RU8s2H9y9BjHPHrX8IT\nraNDWBprL4hgyPvf4IwNxcCDBBQ9PrtKeqEFpeeTVHnX4DRG0sP2ME0UU8VWZNcO5OZtQhnsQ1et\n0uOt3Ximu9CHl6Am+hC9liBCBxG74gF88c/hHKpgft+NvsMcKio/pyYmlR0RXUgSo+jDQIT9a9j2\nMrRWwsGtkHM+XLsIXrwMEi6EqVth29/xx/XGsH0RStzlSMNqRKAXquUQHh4hhJcgow9MnQO7l0Ft\nwX9OATW4CJ98A49uOWau/G3Pyd+rUzwrnuLh/Y8LBqC5FCLT2wYV6nYbFL8FObdCwA2NRdR6trFP\n9KO1z3kkANkAO99C1n2ON7kHzmEv4tL7cTavwtFxK75Bo2hS9DR4KtCJMrof3Ecv517KdEkMy7wP\n/f6bqPp8Ms4pYwl6dqIE5tKH3jiD0QT0dbAyQMpZpRh1FZhicnl9awf+MHsFJebnSal7F0v1di4w\n7cJRLFidO5knElQuVbfjMc1HLdhE5Dojred3xm8/hIoJOfQjKP4QTFZ4bCw4sqB0Dbr4EDI3P0ns\nubGE3h1ADfPg6eNHH2pBiehJzIZXEaFGxObLYE8nKNmHo6UEc7yNQGo9+podRFi64E+2YjwYTkua\nlfgOsxC7nyTE3Qt/+HjKWMQg8RgAYaTioIIDOUF0S1W+GT2eM70tmIeasX60CP+QKDwZ9QSDE6Ap\nDSXVhRJIIFhdSusZgpacDLbrUnDpzmX80a9I9QCrnoPIJBD50BJJbX4KMfHZ0JoBplchYxK6nUvZ\nf14kPZcPgXG74LW7McyagKQViWwbsbHLcPjir9B9AOR/hex8NsHA3xEigJGJCLQblSfECXxEXQjx\nKjABqJFSdj0h2zzVu9P9z3f5e+9iSOgJ5VvgoveQy87GYcnG4a1iS8YwSlMbWKQ7m5EkMpN0In1N\n8E5fShIN1A++lBBbb/Qyhl1l21jZ5KMkYiQJ4dDDtJrRgYew1+nx+foTZ7sIvHW8a9pP9qcb6F66\nE/05sWC9iYo9eTQPr8RmzaPaEUPHr734r6gigJn80pfQffEPhjStwJluxtzNhb4lHcXVna37IZU6\nnNccxFSRS/zKQ9D5ZmTfa/HwIg4+JpovEFJpu6FaOp1A0hPot16Ix1CArlCPbvTXyLmXIdZshRAF\n/zA7uv0ugpFmDIlBRHYAETueoKOCKl8xIeVB3IM7EFlxCHeclYMinl6H9iL1XkRTGMIuaMmPpHRK\nBonePURYrgbbNaBra1b4MNhMzr0XYu9bRmLMBALKs+iCFvQLgSYF7rwNGb0K/8GdHM6KwWivRTp1\nFIeMwWpUPWPiAAAgAElEQVTaT1f1T5iUruiK6+CLOaD4wFEMgQBMfAIyR/K3nU8zo3wD4aodBvYA\nRUGufJ+dY3Q01EZxxu7uGN9+FXXBYdzcT8iXBug+EhLGwrr3Ib0XfDwbec1HBIOP4dc50CnDMTLq\nP6eNFz8l1JJMNBb+N7oMnrAuf9PbWXb+z3f5E0IMAxzAGycqaWs17ZOgyAXpFlDac3r1vxZeOROi\nkmDpFNSgjxbPdgy2ZOwhW5i2W3C56wWsUgeqG8paYK+F1JgkLFteZk76M9SGxBMbGcEodQkj1z1B\n64WriCyMx2OKoDpBIUm5C4I5sG0iUwwd+ceECfg/jmFA3AyoPUBs3WEQbmrJxRJdjfDGYlmYgWPi\nenpXX4LZ5+Pmvot4WlyDel+A4JMHkYXD6L71deofTCaiIAr2b2R/zww6ymKUohcwW5NxRlXhN67C\nKEZAsAWEmWbldUJjyxC7fei9Lci8+wnm7kJvsqHsjcBQXUvQYcXfQ0dp7wxCChTcuS42Zo+l72sf\n4l1XRFiPMpRmF2EVTcTHSLxVZvaO6oPhowuIv+xPtD41iCqzg4zAGXCgBHzzIHoUi7M6s7V4NVOq\nK2hQOtJqWYO9shPKZ2744+OwZTks2YdrQggtGUYMEuI/How+OQJXfCL/TBvK5a2PkmrbizW/K9bk\nftBvJuCHPfOhy0UAjF6Vx9ILr+OCt+fC3vkoY1rxhZvZ6BxJQkUNxi+eg4gkFCKQNIMnFXZ+CIff\ngu5/aXtrT84o1LxFNOYcolpvwE8KTeymGSdNOPERYDsHsWNlKoPpQ+aPjq+u+Z4TmBWllKuEEGkn\nbota0j4pVjXBuma49OfeSqUGoWkdxEaApwFyzkIXdR7xex7icP8riaSWqLgJ4K2Buq8h/y6wVsFV\n90FELtGO2cxM2kiz7iuUmkx6vPs1vjIPyrYrKV1bhmNDGYGx3UkccxG+yx/D6NiGIb4zN8fewQvT\nVuFe/B5n1q6iqnMqVlMsLhFHsqOU6vEO0i5cj9EXgznlHEzdCzm/20had59H1P4XqXw9h8iSzRhy\nRxP3wh5En3BoTMGdfT95ulXkNGdjdNWja0zBEzcPhUR0ji1I+xAU+S5+WYN1nQ/iweVbSkiRD5Ho\ng2QXiqIikjxIQklbm4/IMKJsLcePj8h4B2qxC9urbrDoUVsVwi5+BEOH10ltGEDdnQ+gy9DT0rua\nnvPKsJw3BLJupuaJ6eSHrOPLy+7k6SfPA5mFzVdEnT+WcF0MZNVATStc+0/koRcwOzdjjSmButdo\nHTCP0A6vkbHmYgY2qfRY00DVlPHUjatjP53IREcncjCse6jtwRuh0GlPPh+5S/Gv3olxbDqIVFyx\nh+mbV07HHXvBrUJOKRxaCCkS6WlFrPwM7nkTtk5nV2QamwZNh+JNhOgisAlBLDqSsNOFZMKwYkTP\nHkrJoQM6rWfvL3MSR/BrDy1pnwQtQXi8BM6LgdAjR+A/7ZbfISCjD9IVB4YhiLUrcZ/fiMezk4qK\nBxnQmA7u18EYA9FnI3OfxO9IoPG95dj734pidhJzbxW2XA/Nk8to1KtEGXyEjLsay5gUoqsOEbr3\nRXDH4S++C58lBmPkYHSKkevCz+bVlDW41FQGG3Mwm/yY64JY86sJ3epHLNiJ8rdhBA4WYqwKMOKJ\nLOhWhxprJnRtFTXTxxBXthdTdS3USJj0CRZjPdGksiLyUzIjz8REKVFci5P7wLgDzN0I9dyITx+E\nhtXQKUhIcSuiwwxYPR9mzUV+cwdENaKze1CyB0CHNTQE7AgljNCNmQQ7HyIYFY8pXRKMD8G86U8E\nG+uQ81YTNjKa0BQvWZv3EtLqRjY8hmhx8sDtD5NnsbDkH39CWFT8I6sxlgxDsTejVm1B6WCHZa+D\nvgmhvxVd1tOg6CB2JhZ60cSNFPWJp1dtEfobD3DkoXky8LGXfBawEMsZfRhTuR5TwmBEWhf6b9jC\nxgHZDPPnsb82m8ykg/TeVIKIHgH6xraxud+eiuWMP8LoW2DLW7B/DGQ/TzdHDN0+vQcZOQJ35ApE\nzG3o8gModok+6dt3dXYlBc1/4RTPiqd4eL8D+xZC0gAI/bYrVt9Q6BkK6lHFmmmklVaSOTKuSMsq\nqPo7hA6kIesZNkcfJioin9ilS1k6OpsB9TZ06bPBmkqAIlx8iJdvMLWMR3+BFyU8El/4cOLCN2Ks\nKyTQYqL8nEhKE3PJjBmFgRo89WuQ6w+hZEzAkPM1zaU9EXVzMSRcjEAwNqqJlYVhLO4Xxng+wtAU\nzvZzuhI7uImsyMVw80R8i75B6abHGOlCuCXBjhmEVJWyM/YgYfmFGD1exL5aCLkPnerE4jlAN9dw\nnK57MasNWIL/wh95EPfoWswdzka39RPM6kDcnbdhFC0oGfGIgjq49AFkuAt/rhV9JSgbjYjpE6B+\nI5aaOjrWL8QTiMJblIOxugC5xkJzbx0Ghwn3VoWwy1OpHDMaGXwDI/HIoiZEbRyFzevZmTOJ+5c+\ngMm4isANEt3nID7+hDBHOPVjUonZugs6lUDzbkjuDInfvvrUQG8EI7HZ/oqxMZk9vj+RbbwPA6EY\nMdKTHvSkBy2xTRiEHRBwxlTOmPcwzz7wByJCplPVvJdsz3ZE73Mg5XoI7QUNS2HDFnRDk8DQCiN6\nQ6erIHwUrH0Bur4EutUY9hxE6ZWKv6mexjvvJPa9txE7voD+U0BvaN85GqwHJVIbBvbfzO0vKoQ4\n+obbA//tG+B/Ce266dcWngFzc9u6fUmJ9H3O4LAgcYbvXoU5ZDNfsRjp2AAF06B1NWTOg4Q7iIob\nyxjdH+nb8VkMcYMYuLGSxlg/jRYDEpUglYCCrsmGKbQ39oTOGB0thOwqxljrAaeKwZJO2o5mMouz\nOaDeSz4XYnluLmLABTDjJUTDHjwNw2liPwXBmQTxEy2mcpGlL+adgvdMozAqTXTZuR+by4a8bwmm\n58tpNNloqDUhHX58Hc9HH1+AkqTQe/0OmsNjCegtNHnD+Cw+jN3d0qgam0nklFZqr0qg7LbO1Bm3\noF9fTFjdYMyb/w4hK5DvPAHhOhoG5yJq62BIDLL5Dfzlj6GL64QSHk6gV2dcRU8S2K2jWO0HXcNQ\nR3fB9lwVsq+BwKQQlNHVuL6qIKyPDVNMIsnGfuwt6IszOYiobkTsKEHt2cjX5ecy0rmrre/0mlCU\njLPAbMDoMlLQGI6s6gSDF0JZGizywI5bQW0GQOKnng2s42YiEnWk7NvNbvkQDWz7zmlgF+EoR37d\nZHgcxtpq7BFBtvlKOHurD+EaBFYf6uLHCfRPJ3jDPOTUgVBQg7RkwdilEH1h21vvD2yETkOQGWfg\n7hSG7uAiDLU3YDV9BtfGg9/T/oStOqBqlpawj/YLXoIgpRRHTXN+i/C0pP1ri+8BHcfDwWWAhMAG\n8DzDoDBY21JHkHpQvTgqH6BKPUiF8zNIfxGS7gVdKLi2/2dTAkFi/yfp5urDGXvs2ALPghSYOAN7\n5Ugi5xVg2nI7hspHEXorijOIKHMhnF2gcQgy4IGWpSSV55PyTpD6dANN02fQKgpQa5YQntVAmLUb\nvvoCNnIeX2W+g6PPYCZ+uJMzntxAy/NmAs/oifqLDWVrGX5/DfrBTmLe3Y0rmIaYeR9qTDyyUzTW\n6iQSpnXC9+JB7OGJjNi6BZPXTUF4LqtCctHJNGSDxPcHHZ5RAXhoCawugJZidFkqZpeb6McOoIYE\nUJuWUHpWJ14Z/jyPDHmGT3tcyqFyP84UQa07gbDw4Yist7DqJaLEjeNLN95sie/OAOGpKl5PDGrv\nGTjqnkZ3QRNBfyLCa4CmaLK3Z2LcYIC6VlzhoRjqJyHOeRV6pbP0nDHU27pSv8OGd/MLMPURaDLC\nsq/gUBwcnEZtYB52zsNJR0J1TxLIqKNTvUo9GylgLiq+H5wScscuynqnE9JcQPbmLXgn348aaSAY\nugexdy1u9Trc+gfxjAnDedFLuP39Wa4+wbbKa/AvmQiWYvA3EpCrUdyh0P0pRFBim6SgDhkIw2a0\n79yUfii/AII/8mad/1Un8DF2IcR8YD3QSQhRJoSYeSLC05xgkgCgIv7d1Wria7DvI1j5APQX4H6K\nMxwu5pek0Kvfs0QeMJDmb6aTfQoJhuHQmgfSDc0LkYoe0eFZ5MvPcPiiAMnhd6KMfATdgsvBVU6g\nw6UYar2wfg3sq4JLRoMaCbEfoqYbUaSCdNfgNK7CVPsOSvwUordFw6Y3CDyZxw5xG15ZQ25UIQZD\nNSHWCDq94qSlQE+9oZjq1L0kDM0kOnkN89Lupi4qlOcMf8Dk1WE06HHldad1eBLlMyaRtfI2moZ5\nMbi8RKysQu+ahUEXReMdb2C5dwi5/XeQ6kkmzHwzAWsW77auQeS9SnF6Gsl/tJH6zkpY7UCdGI+w\nVOGdbCK/Xxa5mw8TGXEHFxi648VJcodLkYk7IH8j2+LPpY97HxS9BvusyGKwzpR4ZtXjfyYXxX0G\n1SGFhPzjFnxjbEQb04lolWDXQ20JFPqh2wi8u7ficzsReSvhvSuRUU7yO3YkwxhB/WtX4ZtxHwld\nliL62uGDPTDzSlTnckwFKwnUjKdLz4vRh2Visl5Pi+0mUoLzcepi2cn/kcmVGAjFQiISD+WOJSy/\nvCuTShaTd24mBw13kh2agO7gPjCHYVX/hE78CWwQLDgfd0wa9tYytps9RJfswDApl0hxHz65Eumx\nENz0OrrDGXjq8vDpTNgBGna2DYr1kxQQVgib+qv9LpyWTmzvkXZ2IGw/rZ/2r0AiqeEOYngY5egG\nstUPI0PDCGa8CI5+XHzwcv4xYBYlDR3p5r+QTfYKcvbXEbvka0jaBSHd2aeLJfPTKgxxHfCmheB2\n7CbM2xkR9IDuS4ITc1A7z8CwpAU2LIU5H8EHD4I+l4YLR7Ar8AIWYzXpjRlE76lFFB5ArlyJY9Yk\njP3vRSWJ2oY54PyCDuYUFPJptc9GNfVBMJgv6z+mS1Uhyal/w3yvn4V3XEqCp5neX5ixHvBRf+Uy\noh4PobF/A+aacPRX/Q2l4yB0jw9H1JjgmbZmgqJXhxFSeRjlhiuxB7tg3rcMVW/hqZwR3Pr1lxjq\n18NZT8JD50O5B8x66i4Kp36ckcgSN2H749i+20rStKvoYMqC7TdQXefA5m7GuLEZw9Yg/v46/Ohp\nXh3AvvplZMFz2Goj8RnraTYWEFYrcZ9vI6wyAg4fgFKgIBy6ZtNSm491i4p+xnDIW8eOvpOp6taX\nkZFXMF98RZ8vqojdXErUrNGwfBYkTKNiQBXxDUsJ1hzC2zAcW2sYMncavugCPHyEPXINAZxs4UYi\n6otJikqmtcrL4uZQLvx8JbaKIG9MHI176LVcq+bAM10h43JIz8IXtGJsXAMJKgdcn/J+v8n0d3Wl\nx9+fY989t6GXKr2ca1FffhORHIVu8j8x7VxJ7V0LiH1oPIRmQM6NP32iujeD41OIefDbeb4qqH8b\nwkaC9fR6e84J66d9TzvLPqK92Pd3QyBQaaSSK1BxfbtgwHVw+FPUqj0oMedijBjG9vL5FDlsmDtc\nRGJTNhW1Dti1HUrttIo+xC08gGHClXD9Ixin3YPu5u5U3FmP//+uhUnTUVwWVHUfgTQj9DkXTDFw\nyd9RbRZsN55Pz3s/pUqFGikJ2jtDUT7ijKsx9/8bjbxAnX8A4fq3iDA7aLH3ptU6mQbTAYxEYMXN\nlNJMInaU0FwbzoY7OzM28Dm5fMGGmwqpuqszJHRATM0lQkDhzD7oMvugr3oDcccOuPg68Dthz19J\nSA8nOq6KsGXPY1h1G3S5DaX/s1yx5UsoehVyZsCuhTAgHGZ5kc1Ool4qx7YujMOZaSie3VQMCyd2\nxzd43roa35dF2A5UEJR+/Dl6quf0oHBMLt59At/9IZh1V2NNOoBMWofHno/pRQdNGSEY9rjgywZI\nmgq1Jhj/OJ4ul+FOicVx5WWw6zCy0yi+7pXFiC03ods0mumOdPJHmamr3I7ni93I9Vn4W98hduEr\nKB/3ImgzYMnNgXEvI1x1GFasoXWDDZDoCSWXu0hY7aCuuh9h/4zjwqUeQlcXI0pruDSkB5lNQVj/\nNUHZDVoOQtECau86D+eauaw2qBRmTuKa/AZGPjQPU2U1otRJ8l43XxVXUNInntphSUjFg0hswdLR\nBXv/ComjfvT8/I/Gv0PETd/+7NwOO5LBve+0S9gn1Ck+yp9W0/6VtLCAVhaQyDzEv0egqf4Y1bMU\n1r8Dg0fyuHs+X+XrGB73HrcPAsl4VqqLGVcXibpoLM4mG4aRf0AJPYxqd0JEDKq6FvFNBq4+LURE\nrEDZeQUy5RmCb5wF6Z3QjXmEgLqP+pDFRL4ThfGdxQR6p1F/dj15fcPJ/qSe1CnrQCmC8tsJHthH\n7eBkVKPEIMIwB/pSZ95OGOfgoxyzy4m1PhRX1ZuEygq+6Hwb4z9Zyv4LsgiW7Cc+qYHITSpKbiQB\nQwNllvGklTdDxwVtL8z1HmobmGr97ciaWjyKGTUtlhBTXwg0QEUee0LTSAyLJGJ9HVxyJ1R8QSBn\nKOKFR6H2EC4lBOFSMRgk/l7hNA6MIzEhjm0yjX67F8LXdTSsj8Y92UbRKh3LKjpwzW15xPl11MeD\n8bFWDIUB5Ht6LIVWdKYx6PqGw1f7obSQVruBYJgZkz4Ni1TJmzqXg7Ke85Qe/3mxhCr9tG5KpuFi\nDxHn+vBfk05UYRKKvwaGvAHeyWC/BTXierasvYNuq/ZiuWtx2w0+dwOsvJdgRS7qXbeiv70zQrrB\n0wXmfIL0uPBcmsr+F2fS89WnIEVwaH0vlp+VTl9jNj02lfHV5KEMfXcetaFR/Ouuzlz+4EcklHv5\n+o6u6H0qgysjsfabiP/jlwg2+zHPWv7TNyO9e6HpFYg78mo05zYoux/swyH2OtBZf9Xfj1/DCatp\nP/jz5QDE/Senpq0l7V+Rgy8IUksYR24M5d+G6ngPctYSmN+dBSn38aD3TraNU1EX9cGYO4SPOluZ\nVLERX9kedA49ps+qUeInIi68E7HsbtQOoHbdRnBPNtXDu9PhUClKpUQtK4DMMmTWuSjWq6EpgDj0\nCQSdYBsFDcvxNhrYMbKaQCj0ro3m/9k77+i4qqtvP/fe6VWj3rssS7Jsy73KuFeIWzCmmYRiCL0H\nQsChtxBqKAGHYooxxRgDbnLvXZJlWb33NqOZ0fR7vz9E2lvhe0lw3jfPWrOW7sxe9x4dnf2bo3P2\n2Vt/1Ydw2ZOw6q5Bcaq4j/6UTKp1O3HThUFJJrX+EGEN5YhtEArXQihIQNSgeMPozEigJ1MiqOiw\n+d1EDVg5bkhjckMRBvVoEHWgS4WmYvDaoU6FXNFJ72VDiHR7wDoMTNl4qovwNuzFZo6F1AnQ0wYL\nPoZtc1H+UEpgWRfHfjKJcQe1dMXUY0meiM4zDNHbhBh+G9171zPrCgfpUSHWXvQxgfxE3l81jZkt\n1cSeOoXunjoMD81kYLIdw/FePONbMJTrEP0rkUvexiPIKBGRKKkFmCwxlIdVcKp/Niv7yhG99sGM\nikBIbKV9XT0qwY1w3wKiygWEJCfoV0PKGJTuSZQ7s5Fbs8me9wpqST/4d6/5Boo/J/TuZogwIr20\nHV76FVz8S0jJhaCXsq8LSQq1Yelroz5xMvtHX8TwG15l2FtHUb5cTc/B/URMXI0Uk8HZui9o/+kS\nZhxqxLttE11dLRx5YQo2Ux6TSnrxv12OccXVqAqXg/if/DPddi1EPgiqROh8HdxHIeWFwc3vf1J+\nMNF+6jva3vsv0f4P+WcWbQWFdq4jmmeRsCKXXQ7eE3zUcYaZvbEY7QNckfkZnye8hXzqJMLn9Wx5\ncAXTj31DR10ySdmjENv3glEDcbHQegilMIeQpgzpYQPe56+iW1dLwtchsJQhaFSEDAKSbwSd6TNx\nxo+Hhj8QlXYP1q3XoMQ24Ul30eKZRZWmh+z6FNLjliOoBNj9JmjL6Jk6GnUwHT8hfCoVXdZuRjS/\niBAaA9G/BKkQeXMBwbARhEZdS5N6Oz3aWsJCmUTIsZi9DfQM1JAY+RiYxoDfBR9FQvRSCI6EXe+C\nMQAtdTDjJlh4D1TNhmfO4FhQiFWqJtgWjhIqRN3SgXy9g9OhEImcgW6ZcIcRaeQsBOM4iFmNxxPg\n0rGPox+SwQ35zUxuepaeIbG4lybRJ4nEPHUCoymI9vqxiH4BdUkzAbkMVZyCeFxC8QdpmBlH0s4u\nfENz6cvLwqCUsCG4hJGmGMaZNSAwKNzufjz2t5A31CFLiZhvPwItu6FkFb7wMM7FJZKjPkdQnUyt\neSqtEXnE1wfJ/fDXCHotimUcwpz7EcJScW+/DZ3OhBQIUj+mjzZdkHHryjg0axYuqYdZTQEGdh0n\n4NBTvfg24hxvkLihHTEqG+ZfSnD3YVTFh5A9XoJ6F70FkTgwoFUZSCopw1EZS3iyGhasgEWXQs5f\nbUoGGqDnCYh6BhpuBeN4iL7unz7s7wcT7d9+R9s7/1Vu7H8dAgI2bsRpv5sw7UPIgU1IoSGMCi7C\nEJLQ9fi4Sf82QeFiVC09yEtrGe7Yy9aZc5haVomQlwYpr0H5GmjbhTLhCuSwGtrdn5CYWYQ69kl6\nQy9D4FmiND1o7Sl4Jm2i0ujilHCWOnkTs6Rq0moehPF3ITR/TahpO4nbvsJUOBe1ZSPHTF0MKQ8n\n7MD7MNuIobwFnVKA0BdAiUkjLhCOgBHOdKDE3IjDlU9zTBruWfHkSBkMYREVvISNAqJDE1DqtpJ4\n8A6IvhU6kkFsBfNsMM2DhDyYsRrsbdB+MyRfD2Xvwb56lEgdgq2PflHC44siouF9nM6ZVBkuZyBs\nH+IndVRdZsO06ywGKRFiVg/2sSDwacmDiKIAJzfies2KPqIOW2UNKYFYPNlOui6IxZh6AI5nYPOA\n9+hM1LP3oGoxIcTbidnSQ0gv0DTawGOp87mDp1hfm061XmBsZIiQZxfSV+8jxGSjyh+GHHMBwonN\nyAEFYdhKDusVYl0Pkh8qRbTPQJOhZ5jsIO/z95DLziH7FIovWUH0uXIitl+LJiSg1ptxKE7C+vQo\n5W6S8SK2SMTYZuId+ITy2FSyprnofaiYobGPY1aF43xpPqYjcUg7nkIlemCIEfedl+GvXke48UIM\nWaPp6TjOwNmzBBrbCC6YhCprKERED37p/EmUe58D3QKoXgmJj4Cx4MdzkvOR81wVz/Pm/RPhrAZj\nKoh/1aW+FnRVT6Dt3EBIvxU0Xjo9BfSVK2QtOMQR7XIK3GWI4iFQDxDSpdDXlUxCTRPh8WqInQUq\nDeQ/DtYtyJ5bEaJepyj6K67oaaedEuqFKjShCJRYHdsnXEq49hxZFa0sbViP4WgpOmcI5j8F2XPB\nVIjxkQYcNyYT1+bAGz0KxZJFTVIX0h3LUYWX4lHC4aSboOQFVRtEDoB2AiQHIXokyHW0i1qSpZFU\n8nvyAjcxRFrNGfFJREGiL+ZTsmoqIc0GkUHwmEATDq3bofHLwf5xd6J0lYI8mkBsBO6MbLSaWoQQ\ndCo5uAsMdIyOozVNA2fX4o/XcmRVBuknW+jIiyfNsuDPXazTfdvfcgh2v4VbaiUyJg9FrMTdlEZv\n6njiajfRl5tAR7OfTiNkTbIQ3K6hf7iWUGQUUds7CIUJtHQmkGurIUO/ledixtNY10d/+LsYNqig\nwg136FCZn0IYWwIZBQQfvpbPbroIU9tBPCPnIlhGE1lSjenwOqhoQwiFkOIz4Vw1o4/tQ06Nxx0x\nhG53M3uGD8dhVJh0rJy4llbC210ImUGytpeTOf3XtJ2+k8NT8pDXKOhPmhm2bCKWimICoS8Q9WaE\nuF7YM4B4dgOCQUFz/H00GVdgQYd3TjiS/hSN9yUQkN8jsu4LbPu1iGNvgbhMcBwDyQ4Z7w/WGP3z\neHWA9q+uv0VR/P+3igv/K/fI/2IUBRo/grOPg6sWEhf/7eeyE/ARMk6hJ72CsEMJ0PQVI2e9TI+u\niAmJ6xE2gpx6A/Kqeai61mJLDuP0AQfYu0Gb9ZdbxQvQPxVl97P4C23UK2Xs5giSOBVvZg1aqYkp\nns1k7tkMm0+BPxIx2QoX3g5TrwfPAPz6SsQVkzF0vU0w4w10dSvJ/qSUYCBI+3VXERY8QKy7HV2E\nEaPuZYS40WCzwfo1oN0Nlz5L0NuOeGIi4qiHCIRm4Nk4F3VEIbnzXqVUfBhz7Bi6C4oI7zuLONAP\nLhc4guAJoKhkgk41A1UesASxLhYJ5o3GyyyCme9iWltBEh24fvU2YtVDmBtK8YT5cZw1kPBCGyaT\niqYnrqCndgkmwz602oy/9PUnvyFwdDNiVg7S2GeQ91yJf8chrF/shrN6rO1jkGIb0R5fj3xuN8Kk\nOLrH+kl9qw3BAcFkHZYaO7e9/wK6JVeTF/kNhu5GVFoBSchAvuYnCNIuRCUejj9M+ar7OTDSzwVf\nPk/DimwEWw9qFmIceRXUl4P/C9AAzjqwqqGhE9HhwhyuxVzSyvJtrdT9dBbtpkQioj3Iw3+N6H8c\nQfMxQmsPsUc7iH6/ma9WzyKUU8mmnE4yu3VYwiIxL7GTeFILsg/deje9z8ZgOzEWIWEKHHwFWZiI\n5cb5RMZPI4SH7ohPqIx5CX3nDSR29SJFrYTEp0EQcNKMnihUaOHIAzD1xT/PyBVFgcCnEKoB/b1/\nX186nzjPVfE8b955jiBAwnKImAidOyHl8r8Usv0rpFAXYncePaKK8El2hNBv2VD7CL84+z6h1fsI\nppiQBrYj6PYR1awhd8r1cOObMK4P0iJR+stRAncjhh2kbuJ6tIGDmIIBxoWSyTl5FKX3KFKNk2CF\ngaA2HdXM5xCX3Ihw4jIYfxOUb4e3HkNeoiFk+QBf5hBkcRdhaVOxHqyncqJC38AOhtZ1IvfHoY66\nG6FgNnz2JJTvhOxWCIuG/mpUIeBIPsTcgXp/Nwy7gT7Hx1hrNpKbcTflHdeQdqoJYYwCYy+AYS/B\nyX0bB44AACAASURBVHeRNz6Dr9+Pu0ONLhlMMyaB4ySGvV9gEBqguxyGSqAOYnpjKf6MZLwZAl2p\n6Yz3P4uW+Qy0y0Q9cITyewsZWj6dQN52TOpssLeDox21HsJS46DPh2/PGNQp2xCcj6LKXo94bje6\nQ0UoTa0IPQHqMyKwhfqRWkKEjDoku5cxLV5InY28cS3iMiMV0qVkbD9K8Eo1ovcW/O2ZeH03YdfX\nUTfwS8Z0+jl32VLmrynHf9UN6PMXQl8NnDwJQyehhB1EqAiBTQvdMvxsG8TlwCUg9XeRuX8Vad4T\ndB3Qc3Ty6wyZcj8RdatRxD8SdIfTKI5Dyr+O+EcXE0xQ0ZMbh83/U8LbdyFHxCDeXUG/Jg4lYEcJ\nOBE8/WAII3C6BN2qnw2OPfTE6K8gJvUK+pKOsDv0JqmaBaQRIoSPQzzNbF4YHKjVGyBlAaTMH7z2\nPg6eB8Fa/Y/xp/OF81wVz/PmnefIMux4BebdBqb/otSTtxtNuQF1ZjeaYCS/23QN47KtCLd/g6r/\ndWTHk7iMbsz1fjRJn5FmnAbX7oYb5sPoVOTLulDaIunNnITBMJRh4R0o1m6iTlzDAUMqQyNVtCXk\nYB0xDdvI+zETjSBIg5EDXi/K27eizHYRSIslEGPCKL6Gw385iuMcgl5F9tANpHY+juKDoKBDs/Ee\naLkTpmShLJuIoJ4Acjx0noQzz8LRkxA5ByW1BnVUBZYRG+iqvgZV0ZtE2UUUUcSVY8SUshR8fuw7\nOvCdyyE8sZiIqxMQLIshZiI0B6GtE/zFYJBBbQKXG82EK1FKD5HZX8HQz5sRImZDXB/G+Di0xtOY\nL49BiI3HcM9NDPjvQRU8jerYdgQ/qH1NKMf24TtXg+r6IagHkvGfnIz24wAhyQFGDYH8SMRRS4l8\nZwuhyDLcezSYp8vQdBAu/jnMXoHY3UVW8Tmq0wKk9G8hKKvZkZxC3PZSrAhMfaeS3YvSGGaeS+jR\nGfDlowx4XkVdWoycYcCzMhO1MwP9jKcRjz4HHzwLRW/C5d/uclmiYMHXSAfXEj11Daq2YorqNrC0\nMR0p5QzydQZ2po4kX3wB/Wgjeb+RSX59DdiPo2w7DZ5ulBIJUyKoEjSIBhccehlkO4rDh2AyESw7\njhCbhhQxWNHGJo1nujSGRg6xl2cI0I8f12B2yaAHjPHgbARAke0QPAjGNxCktL+vH51vnOfLI/+K\nHvmfUH8Kfn8JPHXuP995V2QCrftYtiaJF1/6BRHtQUJrbVhrtiPc9CaMGIOyPxt7oRZVl4jZdhKM\nydBwFRRPRT5yD32X5eA9YcesjMUSaiOQWkVwcwe6cT6Coojfa8Sr1tMxLoP+xHF4/F4UXSSiq4mc\nM3sJ72xHmPAEUvxNgB+h8gU84R+g85YhtCSDKhLFXo6zKQpLZRRcEAWqJthjR8nqRjnrB4sVYWgC\nQoUKTp4GtZqBORMJlexDnZiFNHwEbfGV9NdFUREdQ7xsJuuYnvot+4i8/lpSo/ZCcyu0nAKzASY+\nDb4zgz+HglC2FxL2QrkVLHNoMdUToalH93UQ/AHInQpdxeC3I7vdBBt0+HUK+hlDaTjSgCrHiqZp\nOLEXuHGezKU/vZL4yoMoZU4G7onEHZ1P5GeNiKdrKH8wjbjTGmwDbQSyYhDW1oBTRJolIYRfDilB\n2PYVOyZfS8tAC0tz9nNOM5PtIQtXv7Ee9c25+COO4GcoYcxEv6sUBgJIx48i+FMQ5vTAlBLoaaU6\n/ByZ0mJ4swCG3wvj/4NTzaU7oP5heiPPcCi3kDB9BnENX6LqtpC8twRiJtD8boionA7847ow9vXj\nzDChDSmEYi6mP18i7nABVO5HEc7geLsV4ww7olmLKOgQhv0M5j4Mmr/EXivI7OMJBnCSwiQymY26\n4hPQRqCkzALXpWB4BEHK+bu4zt+DHyx65MPvaLvyX9Ej5z9nvgFLDCSPGrxuKgZPP3TWQsy366t9\nndDbARn50LUN3Ed56r1xXHdxH5G6iYjhUZjvvRyeuhIc7fDHFQhJsUjPBAgt1+HnWTTS7dAaQnb+\nkf7rwxHfsBI7NJW+y/9AVXcVXU/+Bm++i4RgLcnDGjkl5zHhy5PYItMIqpORTj2Hb7gKwT2A1tNL\noFuNr+RVAgkH0HeOR6z5EEnOJdhaDb061P5TcKYQ49Ib4bJ5sPs2iFgIy3rgq69AOE7wtBN1XB/E\nOaEAqA5gMJ7AlTsWX9dJjM5WvMkTSDpeTNr2EFuEEey5YjrJl6+Gsy9Rl38F4eOWYNi5iww5HLHk\nEUheCPmPQc1iWPgptN8OrWdh2sskWCPx9S1G2VuK4HaDKRmu3gyBHsQTy9BUV6N0OegbsBNzGXiG\ndyE9dg6lphKqS4hIsuOZupCBa72I8QsxUISYuQKl8gnCmqyEdfigcA3YGgjc8hqarUEY5ofGzXBk\nGMy6jALPLj4Ov49CncgJg4lVb+6jY3kYiYd8BLozcM37OfaYsQwp/4iQ3kp7XBbmqkaEsmSilOUo\nDRJnVtlIZjaa/BxI/k9ygRzZQMukYZzLSiavtQzb0T2oq/xoCm0QDKGc2Y9tXAF9FSpiIhfivSCH\nYHgDmi3roG0DeEfT21QHrcfRun3IUjQ+7UiM0yoRKkPQ+gdcu4sRslZjSFoIyiFCspXI1iZy2rNx\nqI9xaHQF8WFBYtrK0ER9hkZ306BgKzLYy8GW94/wsPOD81wV/3WM/fuQOhZeWQAvzQe/B6asgryZ\nfxFsgLAoeGA5bLkRShfQ098CPZVMm74VbWgGBmEcGC0QmwY5IyHdgGejFvehATCn4mUz9tunwTUf\n0SvWU/FJNF2GAVzndvFN5xFOhbbguu5nOMKjqWsYQcitZYRczsByA8GIL+iVP0TwetB1jERlvhxf\n9wTQm5HsAta3NOjee5iArofgxsM4TTpUUg0UqRFmrkJKTIRPp4NahRxmw+/7HMdqG0QnoTZPQm41\nE/hEhWKaPBiFkJKNaVwT5lwrfk8MjuZmuhK1OPJFps0Yyj2nikjva+CD/FuocpRQyTGsBQUIpW/Q\nHZtN35g7AQFU4VA1F8IeQS4vx77qanry8wlsP4Hc0YESNhwmrQafGxQdRN4J4aPQJkyhOW8GTnsi\nQoMKQ0YQv0uFd5KZ9nG5uEemYTs5hvDexehZQ7DqXQJDc4mvTUWY/jRKm4BgUEN0EHGmiKIoyLWA\nPglGPklE1AXYxXBMjnOMtDfiGuPG2GCie9HrKP50Ut++i6w/XkwgPAVBFoh2QN8lNyIN9EHRLlyZ\n8YiKml4qwJAIvv0QcPztmAoGwN1HvPEKZq7rJvVkOmcCM9CO9NJfXMFAmobe8UmQ1o3e4EHIXoE+\n5ddE9F2IrjWIoc5P5LRP6bsgjMb7Y7EbdKiuikZ/6zMISc/D2F+htIbQ1TfR7roPT2k47g0X4395\nMdnrP0I4t4mw/HspFO7GGjaDLvsn7NDLeNUjBlMJH7kd+sr+kV724/M9UrP+GPwgyyOCIMwDXmDw\nV3lTUZQn/83nlwH3MnhMwQncoChK8Xe89/m1PFK6GQ6/OzjbnnMvvH4FXL/ub20eXAHVO+DOGFyy\nTLAqB62zCF1BJELuRjANh5KdUHULcmkPHXtiiH4mlY6RhwgvAu84CcunTsQhC2BzOUp2NjQeRtDk\nQ3URmCcQDBrxNpfBtdGY5GpkUYEY6I/PpkotorLI6FrTSXriEIbpoxEu24Cw8yPkdVcj3vwxfPQS\n8uJzeNMWYXj+G5hwIQzsQ7GX4BtViKJpQ8p6FI2jFTqLwGGD9R+iKAGUGCvChfchZC+FE3egxBXi\nrH2dtkQtmhofqtfasU0E450bEcwz8cku6h4dx4Y7F2F26+mI0DOysYnlaS8goYKBk1A5B44Mhdaj\nyDc24775UrT5xYT8GQSqItBLp/FGLUVz4UVoZ8we7GdFgQ3LeNKQx7zEj8kXr0M4eQ+uVjXt1dmk\nPb0VtaMBtj+P0lKK7G3B//BtaBsjERufJrhuHKpfx+KzfInGIcDeerxRi9F3GGDF70Dl5ednT/Gq\ndC1+tY9KywhiW734x+VjOdpD+LYvIHkYQrAT7N7BNLyjx8CujwAvDJHoDg8jQhyL4GqB3r0QMQqG\nPguWiVD1FdTXDB4ZV7fD4ZdhTj7bTXnMktbidOgIdAm0hiWQv7kZbCaIzoCJ90Dzu9DTjNzjxL47\nG83kPMSxb6Auk/BFGQgkxaBrq0XX3QvdAji9HB1XQFA0M3xdDfZTnYiiCfOCJZgmTkXc9wXyRBt+\neT9nlv+WIH5UdY2M2XkHLD3zTzHT/sGWRzZ9R9uL/kkTRgmCIAGvAPOBXGClIAi5/8asDpimKEo+\n8Ajwxv/0uT8a+YvgmvUQlgjv/mxwPfbfsnQspGRAIAWTLhXDyEJk2Y/fmACu5sFSUnxF8IQP0dtO\n9LoNSO4i9L4CAiMKMZYruKfKKANFhIZp8Mhn8U3w4v3Jabh5GNzzE1QvfUnnfUnos+4glD6FYHQU\nwVoZzbEBRu/0kX7GQENMN+dutBHsPovg7IIxhbT96qfw7DIo7ERMvwttXw4Mj0NpfAfXuEzsy5ag\n9uvRe/LQlErw1vPw+U5oeQeWZYE1HME+g8CTXyB/tQLX6Ux615YhZP4GXaOd1skZSJt2InYl0Pqz\nXyDXXkjQ+WvSGltZceQItTYzHVIU/f5shLefBu8AGEaBexk4mmDESsTGbZinGVENnYL6oQewfPgV\nqse/wRRTTWvU+3/u5n5hL4Hh88nynsWbnUhr5nhQD8U84waS71pLx52X4nX0IYcdQ+mqRxh3OdLa\nxwjuuB+6rAieUyihIagMC1B8Cn2aSNrGiZCVC18/RHDflYzt2EZjnwlRDGA90wjH2ihv60Cp2EfD\nrHTOzVbTnSAj292ElFqU3R+AOQdG/gIOhKiNTUQYvg4aM8CeAs4FcPSP8PkK2LQajjwJ0c3Q9SoM\nGweVMYxNfBChcQTGT/TUpGaRFbBD4SSIMUPnEdh2HXLSdTgO5aJ0N2P93fOYRm/GcDQCtUbBFJqK\nbdgutI3ZhI7HIZd4kSUdw3eew9LRTWCKiPG+QmIfeholoKHtiRdp+3IPngMH0TjT2Y2do+go99dC\nwRqwZP37Mf6/mfM8YdQP8ehxQLWiKLUAgiB8BPwEOPsnA0VRDv6V/WH4cxm9f04EAcZfDrE58MpF\n0F0Hkd/usNuL4e3fwjWfwukrIKoFZfxUgqkZiO7xECkhfxJBQEqgb6ef6CtnIFksEFZImG4DvbpV\nmE61o8GK0haBuP4EqhvU1KXGYurRERw1Hm2wBr3Uz0BOEv6OhxHkIWh6EhGbetFMzIDOcqz155j3\nmgd5PuDUoLgfRTBMoCuhBOs4MyZ/C/KZKsTyVwhGxhE0x6NRX4Lp9XegeitkjIOpLoKFIjIxqHrv\nInhsG+qUcoSCOah33IK8ZQgfPJ/OctvlmJveRWwPoYg6+vsfp+qBCcQcKEG0FmLa+ixqh4NYUw2P\nde7idctIJvkL8L91Gbq0YRBVBV98BNVeWLII71cPEDSp6F+cg8TL+NgNyQqai8Oxfb2FxqG3glqF\nL3QMo62axSM7GBhIJNCzBCXFiJgehdbQRMJVXRC/AHTgC0Yh5GfRX5WOXl2LeksFojmE8ukOxJQD\nBCYNwbN4CRaTj0DlKdT+Fny9LibF1tDniSMu0I6UNYSwg53M3h2NZ6yF5I/qaU3NQNMgYo+w0DTb\nTGRdHzENfUinXoSYXApe2geROShJ+SjuNoQTHyFcfB/474J4H4pog7QUBPmXUL0fTpcRVjwfwmsp\nv3IEWWGr0DUcGFyK6zgLH99KKNZI8JWfo1/+GlLZDhh4CraVQcwwcDugqxfuHI8QbEII60ZIz0OI\nH4Y+aTzpY2S+EfYzr20AIX4m0tLldAY2MKxhE/1fTqNv7ctcUn6c9ZfnMmX7Xrjj1J+TZv2f4TyP\nHvkhRDuBwczEf6IZGP9f2F8NfPMDPPfHJ2U0JE2AT++EaTfCgBdeuQQCFlD7oN+MYlMRCh3BaFmJ\nuOlRWH0RsjYVv1CH9ZlExDMWMMegpD+Nv6oRfcZSQuJGtOZbIL4aMmvRVIVI8UUinS3lzLgTmJ09\nNIslxJxtRmvoRKgcQNjSAnOmQ2cZZFwBByogz4UYTIMhe6EqEtlSiZDowbVQjbFYwev8A46lVsKU\nX9AvpqD59Lf4k2JRZy7BveJ6fMEqBjr9ONt1JH72IpYLLQh1EeD8AmHCI3T492HcvwfLomvg5PNo\nohYhRw5haKuD7G8+pa23j9JRX6MeOZJxRzvx2YYR5f2MO/u/psGSRvOa35B58gWY6oTCX0BwPez4\nDN3Zalj6AIbyfoJpajSmpwEIpTlxFswn+c0uuPYdBlQVnI0x8brxC27tOoe280OKohcz3TgO9Ver\nIeBGiTaD0o86tgvabiciQsBVYsQv6VCvXgd/uAShuhdVySkMV8r4hlhx5ocI31WMXlLRM8KK2RTE\neNKMpK+l+eopJOyJxNzRh1AYTUKnDO2dyKNXIh/eQkdeBCGNTEIgBIFTeOeLiL01BIZ0EYy3Ihs7\nUNfchTaoJthgoG+nl5g1+8F2JRx7AuKng+MEHaOtaCUZmyMKvOHwh5tBLAOfiNjgQLP4JoSz94C3\nEw6uB8dQEGLBX4EyGRgoRVlkRPnSgPSzb6DoJdj2Ogbjo2REOzgVGc3YstvpkRsY8UY3QuYFRGQa\n4Y6LaOsUmPvgy3g3ldFa+nNiX34Z0WT6cX3tH8n3qBH5Y/APneQLgjCdQdGe8o987t8VUQuRw+H1\nm0HvBlsWuLrh49tg8ZUoB3+HqnYfQtq1eHJSYeMd9O/NwbwqF9SbcZS4ca5YgSBJ6IZnYks8DgEB\nhAMojh5Cc7PoTAlD1OYSXdFMruoTtFU/pam4niiDhWCOFSWpB/dVKeiNJrR1HYiOo+A/DJMXQtxk\n2LMFtj+BIE0lMbsfafR8Aj+5FZX9Q0JH1tESuY7Q2Pn0LJToSXWT2KIhfu/LmIRmLO+1EJOdgPHW\nyQgfR0HyJoieCAX3UDd7KhNOvoWq5UNoAdWEOQQohvhHaZxWienjnYxb14TaaaAtVaK+r5HE6FvJ\nVH1Ios9DV/JLuCMkjOYM2HIWloyFA1/A3Alw9mFoFpGjJ8Knt0JDMUS2oiyeBtaL4Y+rMVz9B3rF\nWpY4M7CtvwPXtdNIjrifss03E1WmI2HunXizRhJoXY47t5Do4h4EdqCZoKbu6jhUnTeT6AiiuwOC\nMVGogjo83kaExk6UkBlxxCiyWmuomngxXvEsHdmVVCS1ImkHSO/UgaEP6kajaDoQ311PpEYkMsMD\ncWqwREJULv6uo5hq7ZDVj6prCEJfJS6PkWZdJt76epIyY0DpA9crkKsH/1F8KgdNmemM+vAwiPdD\n5mRI0gwKs1yFED8a9r4N/nDAD5YlkBxCKVoLd4uQ+wW4tYSeS0JVWg7inaDUQFclwtnDFLx6iH2z\n9bQdaSCxS0RoaUPp/xr6XShWEy1hTobNNSPfVkTI5cZXUYF+9Ogf2dH+gfwfmGm3AEl/dZ347Xt/\ngyAIw4E3gfmKovT8ZzcTBGEN8NAP0K6/P4oCJfth24fw8xuhuQgOVQyuPaaMh9SxBO2p+D8vRzfj\nRbw9ObB+E56Wboi7CJsnDunKuSRMeRPhT3HeZ99DKd4J/Ttxn4rHueZ+Yk9uR4xdjTJlCFoSkPvK\nUZyp6IJDoTEMrO+jGnkn9ph0+lLjiN9UDa4cGP/OYBu1z0DIj3BuH/p5j+BI1xLWtg0sVxNpaEWz\n+wPEQzUoSgJ98ckEJq2iy3aIyPt2ErZagy6tFRK+BvFiiMiA5AUoKJgcT5O++wxUvA2jFiAEfAQV\nP2WHryKqoRPrilGo4t+Fko0k7nuOqDc76I2tpW+ZjQhnP1GuFErz0ynot8Hsw4ORFRFqSDsCkReh\n9NcQkqrwx9Si7nUgODWYPj8IM38KoxfDuzdz7tJlTI+ZjZAyD0XlJcvh44S9hWMrRxFVdzfO/iTC\nVB2IYfugw46SGo4u4xgpx+6m23uItl9YiPbNRNdgQIprh6pcdDu66b0mG1XbWYyuCMQOP2XBDpJL\nLIxq70at6kY5EQbJduj+CqEnHGFIBlz5JJx4GVq+AnMySvJY3D0OwtoPE7RJhEr70TcNgYwAhNnR\nRiVi7q2Gz7uhNwRiD4oJypYMI3dXM+LC6yDtHjhyM0zaDIZ4CAUGC0vsWgttOyBsGVTshTnPwbh4\ncD4JRUbYr0XMmoYw5yI4+BwkZn2bdqEX5lxJLMUcu20oCfrbEQ68hDL/JvzBZyi3G0k51oou6wbI\nmv7vhnw/Diz8+/wk5ws/SHX08zzk738cPSIIggqoBGYyKNbHgEsVRSn7K5tkYCdw5b9Z3/4u9z+/\nokf+mqZyePNasHRDZBXYV0BHEeQsRZl5K65db+D+6mX0p2RUtyxC8fejbmnBv2YzZwwfkfrOu4Qd\nGYHq92+h/pMjfJmDP9SDogqhEQwQf9HgUfbiV/ANX4hqdw0+cy/yAQ2Wh04PboaGvw1JWTCiEgDl\nhqEIcxJgSRF0fg0fXAJn/aAUIOf0Uz/LQfrHThDCoOA6MAngOAO2SIJbtuLd2ISUayF0zQBKeojO\n1BwM4r3EvPgy4r27QBBp8b5HyLuN5Orx8NTNsGgpdLVT9hMfKa6rMY28HvynwPkGRL4Gv0yHPfUo\ne9rweJdh2CtAqh9MqfC5Ga74DRQ/BJGHwWRD6T6Ff+gIgrrDqO0T8IWrGPB6sXTnoA6kIWauxL//\nS+SNj6G962GUiFjcyq/R1PsICgoNVjPppTUI3gykEUaCOgP69/YjzHgBueIcwpfr8Oo94BPApiKQ\nbkZK6UQ5p6HjhjBsx7Q4I7yEnxuAUAraExUIOVMRhrdQmRNJjmQBYTYcfgjhgwFo0xLIzEGdrALD\nCZBAcaih2o9iTsS3tAM+V9B2+fAmp6PPrkSYuR0ip8DrY6GvmZBKpmlKJlKgm6RQAPpF0KbDtHVg\nSR5MiiWIg3sqigLrfgknPgT3CAjsgYZUmB5EMbtRTvci5ExEKKmBtF5wjAHNITAsoHLNnXSpOslk\nOGXdf2RGdwEM/QnU70bZtwb0ToTRL8GnNw0+Z/Hz8OU3+CuO055iJvnGtWC1/Tg+91/wg0WPHP+O\ntmO+W/TIfxdd9335H+8wKIoSBG4CtgLlwMeKopQJgnC9IAjXf2v2IBAB/F4QhNOCIHzHbjmP2fvK\n4IadqwHXpDQwLIOawXqINJYgxGRhvnAR0c89h2H9IQydRgxTk1FftITuut8xQAcRmhykmGwadiwn\nsPlieDMPnFVIM7YjX/AWIYOCon4NZeAxBvJMiAc/JhRqwxC6APNIAepXQH83hB6Gmmp4+EKoKKan\nPZyQ4CPoqUTZswLF60apDkL1ScSj5ShaLVhlWP4ELP0VzLkflr+PYh6DY1sX/ePHo0l0Y2oOou9W\nCO/qxl9+P8evkWgIfYUSakdxvkyE9SXQJMKFq+DUbryyC7/Hg7HTPigs2lGgSgPXBrjmI7BpCRXf\nhyRNhYV7wTIMvJ7BAxwN+8BUCDE3Q3cUaC9BXV+DEIxBFfkcRvEBQnobvqTDDGjXwv0/xR98Fk2k\nE2XTrQR5GcmRirCpjZLoLCK0z9ITGoJ75AgGnBV0U4HiCNLPbtrnHGRgfCqtV19Ew5qd7Mt7gOZA\nCpwRGbhIQ0ylna6CydhH/AxT5FxMl3yCIFtRHdqGtOEsWlmPx7UMQX8tQmAk3LQMsgMEehtRPjsA\n5Xpwe6HCTWjNJQQe7UcYdQWqBCOOzDi66hpxm6yEGkpAo4ObS5FzJlM+O4G2WIGEyiY47iVU0kbz\nV2F0bjmMa/sHKN/cO5g6ofoc3HAJeGLhmRp49XO49AO45haISUJp6ScYFkKIcsDFK6FeC3YXOAcI\n1Jaif+guJn32KDFKMsbuVurSoqHrBByaiWBNQ/DEwManoD4ETcnwwqPQUk9zhoUDt879W8H2+8Ht\n+nF88O/FD1uN/btE130v/nWM/fuiKPD1Q7DlEbjgNhAslCy1kLNVQl2/F2xdcMYNtlQI18KoYZD/\nK3jvSdwZVuTQI2hqM1BdcCPS5oeQM3PxPFmENM+PFh+KQcD107noB6oRRftg5ZRKPYprDoLrIEKC\nGs7GwuJJEHEr/GElXBwNRW7YsRMUK03eAsTh+YQH/oiuzIkyNxaxqIfOe4YRGbJSNzaLdHkNwrEP\noPU0zHsCwpLYdaaLqZFdfBJ8mRWntyCcC2dgXiSCxo2+LxLFkEJ9Ujpt+iJ6pTksUt042B9l2+GZ\nJVSNyKby5+OY92kH0gV3Q8YkkH1QnwXhl8O2E3gn+9CciUUcsgrEd+FcL8RdAIcPw9WfgKsKjo8G\nVDCxlJDrN0jkQNTd1Aj3ksB0AhxG6HITuOUDLOE5iAYNguDBaziMnA+CZSk6TSqHdOeY6NIg2zbB\nLh1KnB5nroeOoUnIoQCO1gg+dV1Fj9XP4+se4vdTriUxupW81HIMjiQK3oqF8U2grYb3mgklexiY\nosGwz0fH7FyME0eh/3ovKmsH4l4XXb4Y1BoX1oYQYrIX5ZRE8NGhCBlXoBx9C9k0mcCjH3DmsVzS\n+lNQdR5BOmfCnRlPt3aAjmkGsnfUklzbgTDlDug6ifPLQ5R+LKFROci5YRXGmm6IT4I710CEDWQ3\nqGwoKAjdNQTfmY9/QKE3IpLEuc/Dawuhywv7BlCSwS/oUL8+DTHhAWh1E9q9hq8vG8Xss2+i+9wM\nDWEQ6ITCu2DcdEjyQMM6GP1HtkrbCRJgIRcO+oK9D25eBW9uAK32x/PJb/nBZtql39E2/7+faQuC\nMBFYoyjK3G+v7wNQFOWJ/982nuerN+chzk4YMgOm3QKmSPB5SK/agvfIb1CvvBnqDoP2ONz+GVS8\nCYc3oWxfQl+ijGXTN6hCAZjTTWiXFneTiKT14ytIJFgZInp+JRjVmL1F4AqAwwrxDxOa8CjSSLVz\nVQAAIABJREFUN58hCJeBrgdiy+DIIRDNsOg3YIuCeUdAVYXyYSNK8CT2V/cTPc4AGSKiyQM/V9Nr\nTubD3NtYJB7Hhx9d4V3Q1wDf3IuSOIYPVL/AEa4hzpzGmeQ8ElImI+qKMBfnQEoVQs47pLl+T28o\nF622jY7+ncS4kmHfFzBqGk3pbupVIqLfDnteAVcrRH0GtlvB8ybK/GuR1esQq3ohsBoK34cjv4VF\nmyDnQpDUcPQ2iBiLkn4/XsNHKAYLorsYXcuNkKBHxzx0jrF4oqxUz68mZUQL1pj3Ea5egjqgRsjW\nIhbXwKVP0GsuInjqawRNNnLeWUJmD6biazA8V4f/6umkHlhLzuw9aF7dQF/eRB5yf0JDZxLl1Qlo\nFiyElk/BdRAet0OugmS6gP7iegxLA6jKO7H++hiCLYOBqH4CF4m8kLKaNR8+RrDXiCo7BjkbVL8V\nYWExsrcFh3wETYbA8M/KOf3zOMac9VI+J57j+ckUBBVG7Ggi5ogTNAEoXQ9Tfo45s4GC260E3BG0\nvfYhflsSiX+4D4u2FGpfAH8IOXstAakKzYAGpdbM6RcTsW4JkHhmK1w2C8RlhCZdj7CjD43bi/Bk\nHTyXB1VPIAmnmVpbi7A7DeY+DrqbYLsOfvEgBDugch50tIHgwxyykywbQQ24nLBiLsTGnxeC/YPy\nw6ri942u+2/5l2h/Xywxg68/oVLjqnqJgcJkjL2HEDOvgr0H4Y1VEK0QEjro7+/H+mUTUigASPi2\nxSNMLkITCWpDLu1TlxD9wBN4FunQjoxF2NuNYNNAyiPQKdPakYz/wgDaZw6TcMCAGO6EgnCoPwHD\nOmH/WyhhIwl2hJByNMSr/DTUgjTMhJCpgcwuZEMCqfuLOJi3BBc+pvECLjLQ2mSkS8YTUVbC1dsX\n8p7mcR6SPmfj8MUs8c8CXRVS8xTYuRPyzqK0bsQgWBmZvpbm8t/S0NdEYtMJBnJ1iMOS0J+SwB4E\nYwfsuBnGXAOTl4P3RWTPWkSVChblDp4OPLAdJi6Fkvdh8jFo2gK2cZB3HULzk2jDfo1H+RUBbQuB\nmHYinaX4q1pQ+edzasIFaOatRPPGz/BdvQ59ZhiSpRfebYeUXvgynQJ1Gj5tPzrZQTBShe7TSELH\nX6Hr0uswZH2Nv6+H8Cffgylh6G0dCHlZZPQGSPJE4TvyGYgmBNdY0O6AyLGwYx+xM4fj3dFAsMBM\n3UqB6KI6fNYwjO4O7t7yO04NvYvU7g+I6BOQIuIQ5g+HTV/itupQXeTGkjqMgFBPwbo2ii8aS3pj\nO7WKDjo9RO89ARFhINqgvR4qjkJUHvr0QvTRczGu3Iyn4mk6311MU52WuJufxZa1mdC52/HmRaFx\nLoXh8+iRzGzJClBjGcIlGh/u8ELaI1cSE+wklKQhWGokuPVFpqRUMFQvEaZ/F+6YA7IHvlEgcjIo\nIWi9HHThkDwEeqJwmhZh1j42OO4HBiAuAVZd/x84yT853+M76AfZ+Pye/Eu0vw+yFxoeBkEC81hw\nJdPWfB+yIUDq81tAHwLeB6MN+vfgS1RR8pNwGJVCbLUdqzUHgz2fwOY/otsNwhQgoYHUwHC8P4tB\n8TspOWdleFgbQnM2KHY49CDJI0ayOXscNbcncdNlT0OrCMsLIX8G8vAZONOtyMESLFUaxEnDCB06\ngNbmwdfSij4R0JsRA0Y0pQKXCnGcxUA6EVjkS7lfOcUYKY68YavJHQIT+g+g9C8m6ISP5J0sDjRg\ncW5HFa/AycWcG/U5/mATUunlpByqpFcVwYH756LtPEvu1mZ8aaMQQiaIb0ExXQL7NiJ09sDMWQRV\nB1AHosF7CMJy4PNSuGQyCDNBY4Kty+DKNtBYIOTGX3Ma49sNKNc8RpPxWXyCgWTPJ3ht+4moMpNU\n7UbbKTHQugemWqBRC5deANo0cH2ONa4TyRhCMWkQd80i0BTixVuuZXnTFkL7HUScSUXIiECZOgvK\nWiDtY6h6CtXQZNy+BxHG26HeBVdoYUstBAFdA/4hGhxhRrpz9aQkvIvxjWWwx4lYaCBoKqfqjtWE\n3fQ6UsEp6CvBkzMUsagf1Uo7RIehEoJICRqGbT1Hd6Ge6bW9aDtH4zFupGnuAjJP25HGPwS77obY\nX8Lk21D2rUBs+BiDFdJGSYR+8T5tRS24tuwlptCBJyeKqryh1OU10UYe6pYBglEhVK1thDoeJC/Y\ngK7FjdqgRZVvQzrUjKX4JDjcIF0FC+4G/VawFIIvE0XuQhDUYFTBwFEwrsGli8MkfHuI7JF74MGn\nIf1/4WnJ76GK32E55jtF130f/iXaDBbgFfgOS2H2YvAbwPkxsn0LHZlzkJOWkqCsQmn+Kb5TW9Es\neR7Ues6Mc5Ls+IhU66vom65ENdSNGHuKPnc19enDseonY5DiiDz5NlJuEaE6C/oePcM7S5F9En1T\nPJhOvIpWJ0LiJcwIv4WJj13IO49cyU+LzmCuPg05nYSK78JktCK59SiV5YRqFDDHYL1Kpv+IiL7b\nBUEJ2msRY4fwk+AMAqoySgPr/x977xklR33taz8VOnfPdE9PDpqcRxoJ5ZyFEgghJDIITDY5GGOC\nMcFYgMkGRJAJFkESSkgo55ylkUZhZjQ55+6ezl1V94P8vud97zq+l7sOx+bcw/Olv+xVq1Z17V/t\ntff+782UTzO5RS3g+XufIVEwM1VvJ9B+P9pzeuafuMj+5RMInW0muGcf0oAQ2k4H6Z/MROozE5Li\nkeQQUVPrsHuyST56GscZF+Hht8OxjSAOhqdeRx05D2HfRninA+XeAvTWaSB9CoFmyBkFhz6F6z6C\nL/qB5IPqKyB3NfX2IlK/vQZiL0dIH42knCPkTsLw102E73+SLdmZ3Hd+E4LyHqYVe4nYBUSfETHp\nMtDOoqkezDUKJwcPYGB9FVLmEepjo5nhkUmf/yH+rTMQZ14LgQhC6xKIF+H0DaDsQGyPRc3wox1y\nIcRLYCmC3C48U+wYPQ3YakSinJVEvDNQ3r8bqbUGbcAMtPZTNA4byDVbT3PoptmMOLkGLdhM59om\nUt7+kIDuAfimBiHPgDLjd3S99Ry9aU6SDu9ArjqB12kiErULr8eN7WIGQsmv4fMPIfwGgtENKZMQ\n+j0OwU+Q47JIe/RatINHCVWtp+UqkbSb7aTOv5dIRCNh2SQ0owV94Wa87htx16WT2HYGIW0SFPqh\n6gIE48A+FDIHQF8dHNkM+gIQKmDZ39CsnaiZf0Y65APjENScdiQk+GE1FJT83ynY8FOr4hEgVxCE\nTC6J9XXADf+RC/5SiARU2vHxIGDEwA3omPbvG2oaHJpLpHc35VPGEuOzk1bThlbXi6A3EmqoR63s\nI3TXXwjlFBHb+hzNXXn4Dq0nq2QeQmMt4aIOjiVkcJn9JXqFahzzJ9M11Iox00VNfhoZX0Vof2Q8\nCfEvsrdlEYN3HyKp+QDC/P1wxyj8D37AV7NSGBnOocjdDK3LwHUM7eRxOKpCKggDJLSQQs0bBrIe\nNILXD7Uh6C+DZiKUM48NRZlMO/gZxqNddDzVyHqxnAnqnSTV6NEcYS5uvY2+8Zuxvd1EyvCziMVW\nonyjIJgJnZ1gjEFbvZTyR2dStHslaGECfVZqC1PIc7cjV9lg4T40ezuKdyhqq0hYEzB3v4hQWAtH\nN0LCB1B/AIbMgQ1DINUK/e6jOuYQypZactLq6Et6jVVJSdSau7m7IYeEjYfw3vkUrUd/R3afF1Qj\nyjdfwwATYmMQIb4TAhYU/Gh+BZfZgsPlYd3Yu4nL1RgZqiKMh0iFD1PrWSiZDF27wG6BhLGEmyqo\nHBxBR4CU6S2YB2gw1QgXRLhxBez4HRCPNrY/YcvHsNeDrjMDzdsHA+/m/XHDub/dSs/+R5B3utA5\napEK70bXUofvfjemD6sQEhPxm+vpq4jGkTgKv38HukGXYyxfQSA7jOqJYPBrSJIJ/H2gZMJNp0Cy\nXHoPT6yHoy/BguXQtR6taRHuYjvy2QR0xcl0BY5h3F1LlNOD0GwlQH90244iBSMIBgXNJKPYTQh5\nC5DbVkL69ZAtQeQUxKSC5QKaWkLg3OfUvBhPwSQR0dfJtoU3MDnpFXj0HvjrSpB/XjHfT1aIbP+R\ntvE/uuVvJvAWl1r+lmia9vJ/6B5/Ee1LqLTRx1WIpGDgDmQuR9C0f5u70HwC1t4LYS/1M2w0JcvE\neGeQv3Mv6nAntGwgWBmH7ugFGHY/skMF9zoODB5NT5LETMvnAPSFj2LuGYW7KpGoD/MQO4+jBXy0\nPmvFkWijK3Eail5P2JxFtvYgbeEq+jbfQ9reo0jOYUgLZqG4j/BdcjpJYhKjgwMI//AmuoMbCF+W\njjxuKlLDOgh4qPuTn5RvP0AOvAwfBtGGmhBiPZA8CM21ByViQj5tgOteJmgP4JF+w/ftc1lg/5Le\nrbloqS6O1fdndMoB2h2DqU68j5lr30D01OGPcuCxtGPrC2D0edG8UFkwmK3DZzK9dwWZHW2IzXfC\n7D+h+d8jFHkYQoMxLLfBLODsRWgfBle/D/XroXE/5B4BbxQ9Jy/SZjWSk61yxjGJDYYUrtXNJmvN\nNrhsPJT8vY7jOgY1r8PWdqjeDklJUJyMsqseQXIhekLUXlZCXUIMdf0GcYt5NsS20Nf5Bpbm0wj8\nBjq/hqgOEJNg8GpY9wKBq/rR2PoNrjM2inf0os9wIs5ZDAkG2P5H6OuG4D40ezqUtqBaHIg9qfCH\nwzRm5hLlcWBrPoe/KESzPYFT1w9i0LrzpExvRm/9mGDvB+jO70JbpaFLKyIy9zFcXS8SdSQOaUAZ\nQiSApoEYC0qjHnF7Cjz2OVo2CNIYhJAfflcK5la0Ubmo0T10jBhAjLgEXbAcb/27+O2bsdX4kFUF\nMaGEwHu9RMbosW69SOU96STHDsdSPxkhcQ1CLZBYCfH9oPsMSJ8R8b3PhccbyHwzFlPCR7DhAbql\nCpwXF8CV86H4H8wG/xfyU4m2+g+P/v3/EZ3/mil/v4j2/wcNN6AnyCdE2IfRdyPy/lVQ+iDElUJf\nG+rqufSm9mI7B5/ePpxZ34ukkgrfvIA2NgUh0ESkJwE5ZhTCwiIaNh6mfO4MYne6yd71PpEuFd80\nM94RNmK29CB/qRJjbkO4VeOH0ERMc2Cs7wAX6qZSPPI7hO4daF1bUSo/QdQUxOyHIe8ZNElmh3qU\n4kX3EVd7gdpbbeiLriGlMwOh+WPwi/Rs74UkB47J5WB5BF9aG+aqCDhHEbn4PGK7BdExAdzNeEcc\nQFeu50JeIg2mZHL6OlHifZw4lY8120ScSyHn7FFiOxoJWJJpipVpyE8judlG3LnzOBpq8SQVcPrK\nVxh1ci6KIxF5TyJMWAQDJhLwjUQOJSP66hGqQDh9ESJBmPwA1K6DwflAD9qmdi5a0xDmLmJb8BNm\ntx4h+utatOKrsR7uhZe+Bt9ZqF4EmKHwFXCH4NZkuOcxsIfR1v6VYLGf5gXxdJSnEe7SMTC/Fcv+\nQgQpFn/cWozV3QhjjoC6A3a9BOc8MG0kWuggGHLQggEiFS2Qk4G4px7taj2CJwNZi4LkadDrhdPb\nLp1k7OpCC/RCcgFVlgAhZxJFV75K44GHSF62i133jCacqKNQqyX2eBxHB4uM8R1B3O6AQDo8dZjA\niiGIgdPowhqEVLRkC2FnLJK1Fs0vQkRCLQ0jdEUh+e8jrI7A+Nn1aKV+WkcNJRxfh6wfhqQGCLXZ\nSfSvwSUOwdp8Hn/2ZQh15bj6i6SudhGYnUnElonWvAebvhjR+AzCoevRYi0IZhXF/jUVd91B+utr\nMOa1oUW+R113GqllB767t2LRj/9x6cR/Mj+VaP/PI8//EbroX0T73+Vf1aet4SbA26hd6zBuOII0\nfjN0H4TalRBOgew5rEo/jbH2PNPXm1Dth1FmDkQotxDuasW4fj/dg4ayyPwnemLcLHa9gTr8FO50\nHWXW8Qw2TKWj9WOybj2KWgrBWSIBUxyUpmN3nUXo9SGUDYQxCyHhJlShE+HtUgTNCKOHQ+7j4HVS\n3biZPc5O5n/2EZoSh0Gr5ZOhjzG7IIEk96c0vl1J+kczwbECP7/C4HsWoeFZPFRjO9mHlm5Eqask\nMsZPhSsXe5KA7cxI/MXb0aJUtq0rxD0ljV8fbiFkCdBNFaEGhZ7oKBK29ODIcNNpTCclcA5h/HcI\nJVeCvxpa18H5JyH8DMx8lEjgEH3qLqJEO9rxt5DOeaHADZWDLhVub9gAB5/H2/kBy6Y8QTSpzAqX\nYlj9AI1xLpzaJEynKmCmHfROSH8Ett8DU5demtVyfS5MzoAyDUYPR509l9bAQo4Y/0RCzWqGNK1E\nroqg2B2oLhfyCRXPYwuxdJcjRMyILR3Q6KVhXAibx8v5SSV0bLAy8NQFktObaIuLQ6uRaU+zUzt7\nEINW1xDX1Ix52O0IxXPBsxpqFtNT+Bkrnd3c5v8OX+VefIdVYne3wpxUhLY62hPiaCxOZUB9Mrq9\n6yGSCKkmVLWdbr1Md14BeTvrYeH9EDOKcFQOfZ/OA6uIrbUcyR0DahTnskWODc7n6jNrsTSa8U2P\nwpjchmD5GLZvpifnKPaNVVTNmI9qOElKp4ArwUaSLoKoS4TmMSg7foNwhRmPKKM7ZEAfF0I4E+bi\n97Ek33M3tryBUDgTNfgSgfYwfWeOok0ejk6fTQw3/tN98n/HTyXaAe+PszVaflk39rNAQ0FDQyQK\nE88Ssl+Hd/rtyNXXoHSbEX19WNI16N3EFe/tYuMjowlN0RPKv55A2zcoQohEhlF5xVhcjX5WVBfz\ndGk04o3xNDT/Gof/PGPFPERDEn7/HBThJOLMCOJysMXr0Joa8E4MYeqQkQ6EEebdBXoDinYQITcV\n+VgleAZC7xHoOURWIELcmQP45vQjpteIsi7AmHXreNr4e7LjX+RG741ogoYgSkT6wnR/vZ3YaWBo\nbSEwVERK+C2BAY8jr/STl9GIcYmIMOECrug0KnarmOJSabDa8WXEYt21huSTbtzBAL4MG6GBFsQJ\n75EWl0D4vbnofBtAnQ3vfwZGE8TdDo51aMc9NCd8icllRdyZjxo9CK28EWF4EIqugT2bCT19I43R\nboI3OBn49R76xyYguT4GIYgrXyBx+ZtoOU4E93AQg+B6DlzrYPdcKPwtRCuwv4mKB/OQUy9iObIA\nayjCSMMidqRlYR43joySSvpinZhrLtB3vQVjsBVrYx1qagnC6maEbC9pZRLeKeOJ854l1mEkpa6B\n1m4d9fmj0S7PZOg7b1BbkM7K+SVkN5iQle0IvgMIRity0Tis3qdpNM3haDieBKOTVFMZQrECdXWE\nRB0RbxSJ7QPpbjlCzGg9uu4AXLkVUUrG+Wg/ugcE8ef5MBn7Q+sX6Byf4pi4hL4npnDuzQkk2q/E\nuXwXRe1nOS1YqElLJ7s6gOl0HaxyQNZ6IqadGFw9iFFB0uQGVGMmSj879t4WlJY2xKT+kLgTMTsJ\noa+LaJ+d0IgkuuJMdL++n7gp7VgPvwzjK8DfjGB8CoPzekxKhE5dPO28g40p6Ej437nTf0mCBv2P\ntAz9p97HP+IX0f47KmHa2EQdf8PBICL4AJAlM86+YRh8ImpBLYJzBGqZF3GnD1ks4bKCVzguVzBU\nG4TXdxGtuJyeRAdeTzFPLF7IygkzyW/LonNZJ7bKFqJO+GBIOcIDD5Fw4Usu3pZMrNiL6Q4LoR43\nYsCPYVMy6hQzitmN3HICyR1CKJJRDTVoZh2e2o8IOfpjb65BMtuxJSZjMp1ByHoLOfMpSlpu5eMh\nYU7VLMFXEMP3W3IZdRX0La+id9Nhoq9px3QuEcU6l8ihhzB0mzBctF7qEb7DC8IJenuLSP+mnOyC\nGqb9AILag9a/kIN3zMKdMYxpT/4Z1dlGg+8EGeE0Iu5CZFs/WPc4wrYdUHwZWvE0tPReQtRhc4Ux\nulyobEUgCEUyfKaA83UiYx9ji1hPa9FIZrR8RdwXZfjtAqahmUgLHyCge5feYCyxQ/8C6XMvFYR7\nTkPjDiALDjwPA5zg85DTGYXQvAO1zUf3whuJt/4Vy7H7kctzMdkqsW0aRl2nwrk7ZjFR7yOSdIpQ\nQh3c48N0xoSoL8Yi55F5TkXduYtAWhLJx5qIda9HX/AM3LWGyze8hBqIx2hpgapewp4AkhYm0i8H\nRT+EcN1aHP4mEltaEV0KagDEUxqu22wkGEuQA3q0mFb6/InofqiDgyNgwb0I02LJk81ocV4oWwzC\nWYg/AKuWYZGzyE79M6d1N9F55yAK6j9i7je3EYnrYcUjL3Ht/gfQMZYGf5hQqZ1QQxqGOXPJjroX\nTQtSGXmCDOOdNCZ/RVbNYbTucjC2g06HYO9FH/067t9sxHR5OaahGkqbjGSxIZz/AwIiYu5LqIPm\nEd0YTSBtJBK2f6W7/qeiSD/vMX+/iPbf8VBBiB7sDCQpOImo87XQdhpC5WA3w/gdGIK9RPYUonkD\nEIwBRyvJZ9ZwOttH0GvE19OGvTKI/rIFvPTdRN6+YxcpndVsbUpkyAYXcd91oERAMp2FZ0vRBrWS\nmSTQYMsiXNCD3qMgPqYg6+sQi0AtNRN5bQairhexxI7sihDx6vCLOpSdlZy67k1KUmdhqJiN4rIj\nnH8WYauElmZGl/QpQ3Uq3hEFyLXruG/DKO79oRr9ST9+29WY21YgdO9AHRGDSXoSnrkR1l4LyQtQ\nmtcQ/fJebG1BzgwczoCnF+E3mlkt7ybTa2D4gbcQrDVItgFkpExFCy0nFBvBV7ib6K4KlHcNCLbt\nsGYninkIanoyinkGhgvZiAWZaP2TCe5bjaHqM0J1fvbHbiRzWB4G8Rhx5unoPmiFzSfBcpjq0G0c\nT8wgX66AmqcuHbHOvgtiBkDCHDiyCurroDcLHMWIOSXgyiQyaQKytQG6W5i6di/usBvx3sdQLe/Q\nL8bJVfbbKBFl3vW3YFtXhpqfRGh4NKKxEP3ZNkTpMFSoiE99iK/zNkw9PbDhWUhOw+yT4MNTaAtF\n6FaQO81oqgvd2aNEjBXE5WVQk5BG6vFmBHQIqgqyQtx6D2Sth5g4hKh4bOI5uCIa4hRIrwR7LyQ9\ni/B5GYyth9Rn4as7wWNEGD8N84lGBg37nh5hD650P/ah2eh70ljwx9cRxkSoLKphlzyb21q34zVd\njmL/FRCFAMRJD+A1gMQQQpH+6D59HcZlIyiH8TSZad+/luhhU4kvaKO3vRnzqI8QDtwIGbfByVsQ\n0BAzX4SGZ4nmNdxsws7cf63T/ieh/Mxns/4i2n8nmmKi+fsePANgj8DRe8AWAI8dNm6GnmHIxsHQ\nVQEBYM6vIHE8w3orqT/zIoXbDtJbmMS551/lc8/dWPa0oxok8gojROpVhEQ70q+HI8x4AzXYgrB9\nIhH7n+gpPMFZi5cBwTqSrq9HCLjQdmkIE/3oVB+KU+ZkQSmFW3owl5cRL7Uh+HUkh56BKe9AlI6+\n/tdhOPEtJkVF2/8d2r4zSBYLhnQDeePhrwl/pfZ8mM9S7if+c41Z1VlkZ1ZjuphBw9DNRCLHMU4J\nYmn9M5HoMOp1Ku6kcexPv50YZPawiYmMxyDeipB5BxRWw+VPgNKKqp4lku9CFJJRhryA/sAihJxo\nkKLgkx/wP5WOQ5Ig/0uU6BS8OjPBURIG/XzEwQ8w+i+vEDq0HeWGkejMejiwBHIHQpsTb/VSSk0B\nLPE90NMNeQFUoQ8RG0QiEAhdOgCiWmDjTojeB+OvQYkyIPkt8NQgDPp2nC0GhOXVRC73oasbyIOG\nRL5v2kdnbzn2jMHIzX1wxg4hN2SdgdMi5EbwHXsJ/fy7EaQQfP4pTJRAjYN4D3g8MEFF67gTIWUu\nnPw9unObiIlSyfn+FDqDDIIf0ZJNX8SHqaoTcVICWlIsgqERTciHBhssPgyLFkLuXxBMSaiBJQi7\nWvCafkub0UHkqSfJ3vkd8uLr0ce+TELW7ZfeU9/9MP4Dutx/wNjQjpTQy0zXFmQtlqjDF8F+FAZO\nB8DBYNA09FvW0qlfTOLkhZdSSo5u6h5qIti9iYQxs1DP9iEt/IAW+Sgppa/ClhGgOCDUjeACwRPC\nUrOR5n4h7NL/naId+ZmL9i+FyH9ExRI48yYMeByql8H2H6C0AEqBVhma20HOhXAS1JbRGOuFhGji\ndFdhGHovJKSgrfkU7YvHIM6JK78Upb0MZ1crgjkeioygtoPXj6YP4Y2PQh/2oAuYoTMdbWArQmEH\nVAsIJhl3joGN0ROZduII9l0qFD2Ep3cPQutBLN5YIu4OfOOSsDEH6jejFJ5EjNHBWSeCEELdFMZz\nMQzZEsdzLudURzJ31n2CGRsUF9OdWI0m+zFb3agOI2YtTO/0q1lhsNKHlRtJQccPqHRjr7sSXZ8D\nIfMyCBwDbT99D4tYv/z7/sbOA2g1X6A5J8E3z+J5OIT5lBPh1Fm0QDaK3YVQOgtDSwhmfoKGxomD\n9zHw8/OIlgswLw56z6NVhTg4eAZWR5C0H84TtJqI2xYgNKs/xrEPwr5nYdyrULEdsieD3w/Ln4eU\nWnwZTrT2MJbjHWhpk1FqVyEGi1Bv9yIar4RVXXRW7eTgdaXMqtiNVnQf2vDBiA0fwg/1KDNnENy0\nirPfd1KwdTh6eSZqWxTGP36IlDoHHv8D2u4XQf8idNoRtERUVw+e9g56HQ5Sq7KQupog2AT5Klqh\nnrBeQHaD0CQiBCehdR0Auxd2hdBujUM76iciC/glEcGicnT6YHz5Voao+cSuq0T3wxm42QgFjxDK\nvBlxy0xWT3qJzrbjDIjsRtY3E+mVGcUMyHsY9n8D424GQAn1Ib36OFreAKrmnyfzsXKktP14D6bQ\nXm8lZuBIgkuWYFq4EOOtt+LtfgJ7wzGEvhKIOwYlz4NQg3bmEFprBM+YIkxDXkJv6P/P981/wE9V\niGzUnD/KNlXo+qV75N/jXybazTsgcRyIf//q7nkd/G5oXw4n4+DJh+HYi3C2GtDjddoLx8rNAAAg\nAElEQVTZPa0/M9qHo9W1oe7wgcWKeNtRBIcFthTjqjqGtX43UlwWpLVAzhjoK4NwCLpC+JwBTK4g\nJBYjdClo2gVIFQhXD0POD9FZEkYnNBC93oRoddLVL4nA6jM4KnoxZpkJR3kRjCZUIUxwugkpZxKW\n3gUIzR+CYzLl7/6FNF8L5k4FZQ+oIYmmebNJj/EhtO5B0aB2XCoUDyJXb6HPUsHZeCNJ1hdIFA24\neQKVANZDxwmUziRafAK5dxnIAfoecmP54mNUdQdq+HvEw9sQj7aiNJvQTEnISSPwjk/GX6gSK/4e\nARFN8xMQ1tKq1BMu20vu94cRznbDbAdaoJ0uuR+mG/fQUH8L+S+fp2GykUCMRuYeKzp7ORRcjzL8\n1/gdTkzf/RbpulWXRsLu+zWhtuVog9/E4AFaDqL95S8wUENLAqW/GfkZH+rQaJR+fvaapjL+yDmk\nrGrUNgeRa28hcplK+GAaTR/8mbwXBiFlLUP1KXTtm0vs4ouIn50Gkwnth4mgnUNNvAu3fwNRZxq4\n2E8io1ZFX9sLg0demtl9ro6OeY+gffNn4sxNIOgIT4+HQCfymiBaJtSXptKXnkl0e4S41WdwDTAg\nDjMQ920zeGJQhr6IMnQo+tQi3lJ20RdoIs3oZJSrG0/zUsRIiPzuFvoKBtPS71Y0VDQ0tD4XNa6N\nGG1ppEdNIkY9jTG4GscZIzx+AsHXBy9/STgmE1HpI/DikxiuPIWqqgjDtqFrfB8K50P2lbA0B1pa\niEgy3XfcSnz0+/983/wH/FSiXafF/yjbdKH9l+6RnxXJ/9PWjrGPX/pdtByieuG7tyFhNJROgMrD\nWOZ9hr3xZhoPfEbimvNID7+OMOFXoJyCI4tg2xKiUdE6FIhqB0MQOg5B3EgY/EcICKifz6Mjw4XV\nMQxzfQdCrwKyB6nLRrC3C+OFFIIxRvoyzqNlusHYhXmMG8GoEDD04cszIp0zE22biN6YT6hhMULL\nIYi9CVqWEGlxYxxkRxpajDipjNBV15FxaBXhmVegYxG6F58l1deDuL6DTt0ZrFkukibmkK5TCZlC\nmLgcE7chxl6DZV8sFMWCVoEalJBuP0LEczOicSbyqQLYuBWhv59gXiLmtrG4fzWcCE3E8iQQJshu\nAsIPBNmA3p9Nvz1NCLITrv8N2htPoE3SYKiZZt9b+NMG0n51gGC6SHe0SscABYMyFamtAbH7z5ic\ns0jPG49UvhJK5oEpCSESRBI1KL4RtuxFCOnQDoUR/Bpk+MCmQ3Qb6Y7J5Uz6QBKzgxRuiCBKpegG\nv05EvQaca8l6oxdEA+qR6+l7o5yYselEhnSi+2MGQnYOcBrMYSInVmMNReHx9MOwv4Hm+Rmkm84g\nnK2DcUmQXoS99nkiyX7UDhADYfSb2lELSwnenoNwfj/JtW1oCc2EEmQiN6hEhwIITUa0Fg0tpwv3\nqAP4UlI4hJlKfAwK+Ogw12L9vpyWCTKjz5wkXDodW9CPLhiNauiH4PMjLH4a6bpxmCwD6KcVIyx/\nFFJMCMVPwqwrwHA3NFxAt/gxSM3G8t4SaL2dbtMCQt++hvGUD12/tzCO+BJJM4EX5KRSApYe1JZF\nRCLdhFKe4Kh4gijsZJKFnZifZS/3j+HnntP+JdL+PyESgTE6mJoL426FE6vAKqIOXog4/D4Ci0vY\nMi6F2Z9tRggYIahHU1QEM2AH+uWAlAbWvTC7Erq7YdNH4MxBWfUJ0qGjBAtNGMQ0GDKLXnMzUX0Q\nsWynZ45GMFXA1AG6DhnTOQVdiR5VTIdvD6MZItTem070C24cJ0PohscSvlaH3P8QgrcByibQcdSF\nMyETYc4egr6FKPYghoMCkuEOsObg0y+A5FwMX9SjDnWgrD5Jd2MySYkpuF60YxVfRjpbhnDgFrR+\nUYhTeqFpOJpvKqEXN6EfPw7B047auZ7g2l7kmYUIJW0Ix4z45o5BNpgJJlZCSgZ63RQMzETDheQy\nI+x+Hy5/BpQI/j+nEAroqb15CB3ZXkTJQk51DnLFaowtBXSPc9BpdzHs/SBixmA4WQUT5kDvarjh\nOwj1oG2fAKZchJEfwcVa+PIRaPOg5nWgZHYgWJw0107AdaGcwqQeTuSms1OZxhND50LeIHzKzZy7\nqYkBf3IhWLLpefo7rFEqxnGjoG0/qsmJcDYK1aEhJHegBCUa+yfQZYkhWcghsP0AUYYwcd12iJyB\nNAGybSjlUXSXhXHGdoM3hZY/zcckDMJXf5zoxq+wvdqE1gWMiEW45jGUY8vROk6jWcKoKXnULXiY\nKOlmjKqJ+zu+4e6Y9+nne522iqcZxl6w9wftMZC3Qtzr8Pt5kFsA2xaDI4nI9GzEA2G05+IRPf3h\nm/0I58IwZBjMewTt7HH44ROE7Hy0+b+h2v4aTn8HzRd2o1TKXJz3FKNeexXRGaRuppMOm5Ow5Xp0\nkoNqqnDgoISBFFKC/E+OCX+qSPuclv6jbAuFul8i7Z89O/4ExQZgDGwuh8vmQvNiWvKrSO5+AcOE\nbIZdbEDtiUFL7SEUp+fwuN8xftsbCJc9AGOeu3QdVQVRBJ6DWcmoga10zboCa9fvMR37BCZ8CXoT\nfvEQHUIjudrXJOx7A23rp6jpPgKxzejKZdTPBMgOI/oiKKMTcfQF6X34RgydVVgP70J+Tocy9jrk\nu75F6/co5tbfExqWicGYiLHjIai1wKfPwdGbIDseS2I0mrEDgo2InZmEdMlsypjHDUXnEUUDEdag\nSHsRYyW0/gFU5VGMQg9C9kNEbJ3o5j2LcOgBqJxOpP4bfLIOdc5wjLZyBKEWt18iekkbxuQSmDcR\n4uKBeLCpcMWlcQyeg6/iS4wifk0rpfe8SWXka2jbR4x0BNO5XoTDp4m5vY1kmgjMWYp59UYoGHQp\nxVTWBuKDMH8RQiQEw965tF9xwrcwZCys/hYxNo5g+wDcAw9h/mwVMU+NQY6qYajbzcGBc9jg+5yp\n3Qpu32ls40zo5LdRD/8Zm9OEPt2L2nOCiEXGnQaRaC+BZD2qPp6E2G68Jgs2fx7x4buof30prqWZ\nxCR/jPToGIjNhoLhSMPfJXbtZ2hLFyH0tJKyqRCmX0dnnJNeo5eiqA8JFdkwnO5Ee+93CMmlSPFp\n0H8+Sh+IDVUkZljBV8ZE324y4y/gjW4j1VAMRw9Aw3GwrITAWegeAVmT4fK7IHsQyhAQn3oN8fFF\naPXNqH2/RTCZ0EZcDa2VaMdfRMnwE3i5A8Ffgdy+jiRrMSF5L1l+L/qkufQXbwLbW1DnweEeTWts\nOymhIjANIUwIHT+2x/nni/Izl8VfIu3/FZoKvnXQpcH6DSgHNiEltMDYOCjIhfJy0Pfn2EgPWd2j\nsVcE4bv3UTwi4Sl6IhEdEVnAljQbuWoNDLoPxr3yb3lyTYHepdD1NsjxEP8CnH4Thn8FgBL5nHrW\nEyu9gk3IRmvcj7r9V/indGPa4EeKGkvIcRZ5qRulXYdv5FBaB1WTlz8NUp4EVUN5azByRQoMmkon\nbxB184PopTvgxMsw4TPo7oA1N0P2Vkh0QPJH8O1KuONv/K3jaerKHPxqQjnx0juI9S3w9WSU279A\njHYiuN6E5rWwcRyq3YowLB2h6gQcOU9AL9LX2Iz46Z04qpMRNpTRPkRk1QiRPK+PUXurMaQ/CgXX\nQs13kDIFRdPwfDEAMeMeon7/eygci3v6MBjegLXqO/xritEbU9C9tv7S86vfDN5mIB1WvA0Zl0Hj\nclBjoKQX5pyCmmXQVwtHt4NipbNaz7GeEIOS9hOb04IQC0LQBOGrUMb0Z4mxh4E9e3AsPUXaiEIM\nzfUELvQiaiLEyzRMy0Ls7cUQ8GFsDKLvH8RUk4QY60I7oyEO+QRMGuFNd9HcPADTq9NwfNiIXLYa\nISMKgpeBOQpaGuBiPby/DJKLCQoKum03IzIVtXMVStdZ6pNzMZ8rIyrJDWoUXZlzqJqoMJq3MWDC\nU3MF5ekthHoHMfrDM0jaWTCYIDgOSseD4S8wpRwEAVW9gPbaVYijX0Po+wY61uBPHQwpp8DgR2QM\n4oadiJYBsOATOlmIaEgnluX07fod5kPfIkk+GGWGMgl64tCuuozmpDUkuocj1SvguAkt/xo0oQFR\nzP6nu+tPFWmf0vJ+lG2pUPFLpP0vJ3QUdIMvCVmgCvbcBztOQXQawTmzqZyVTfH+ZISp38HGadDR\nDWY/3aZczPXrsbWkUf7oryh8ayXG9h78CSq2nhBd1gs4bf2gfCkoCighyJsLGZPAcQvYb4bwGaio\nhYvVMKAZTMmI0jUkB57CHZmOwXAUMUUmcLUVw1c6VK2HkH0vUrQd5bIFyBnt2DoVuvYKBN9fgWw5\njzBpBpFZgxAnDUXYsQ9prYbcewEKH4Ar/wZoICyH4TvBUAT+aLBdDawEQIkZxyzdu5xsX8h0yQUf\n3AmTr0Bq1cHS92HkGtD3wLgOOlv209KagXX4M4RH1pPY9DKVLWOwnLzAX6yZXNt1mpyj5RSOGESX\nJZNtw1OZWl2P7sPES1Fo1nyals3CqcVh+eE0BEUI1mHJsiNWfg/pjxO88AGmtxb92/9lioeLi8Gg\nQeEacJ+H3HiwKvD/nNZLmwsvpqPVdNBsHYWy8SSJ385gX+ybXPnKdQi3gKYbiKAbjlSj51rjKSo7\ng1iLLfQlt6Izv0XnOw+RdKuG5Igju8wA27vBF8D70J14889gCrhRWxsRxzrgYg2sfg+dVyAtdBLv\nb8o5VngZkWGlnJ8zlKBzKqgqIzYuYWDlVi5UPc2JqNvxWO2cHj+GfNlMTmg0Sb4BFL3yN8QBOcji\nWZSGAPboNShaMZv5hDHCtUT5LUQ6TdS7XIyLGOEyYOIaOFgNHz8Bz90BnV+iRjlRD7yIpJ+OMGY2\nWmsjrgt1hL01OL+JRygcC0VFCG3HwS7AH+YRl9aBZu7DVzQcQ3kUTElD/fMxaLOgJmlExkqI5cuJ\ncQqI4TLIfxqtxU2grgBdaw5iwsOQPfOf6r4/FT/3nPZ/T9HWNPAeBe8R8J2CpN9cGpzv/g7WvAR/\nPQBJaTD2CrjqUdRQOxUp+8lfdArBrcCpB1CUWvpSc4i27mfyd+XUmUdxKrOLopVb0MWGQQNTQ4gj\nk0czJCuCVjcBIsPQGt5G9PugfhcMuA2GPAD+pdB9EZ58H65xg6gDQBAsyLr30ZQ3KFemkS8MxCR9\ngDp4GUfO7cVr0NG6oh8zo7/HWdYOo+1YJsci17YhNHejbS9DXtOJ8koLwnUf0/rdGOzdG2BbAej+\nBiO2Qc9xCH8AGaOh5gpQPP/vMxoqFRFvrGJ11VimvzcURkXgQj1074fSeLBMRpVXsdK6APz7uK90\nMQ8ZFG5u/4AL2V8xUPwtOgwUdj1HMF9Dq7FS6LFib5rO1vwvWF1ax4jufqRVpMCNGSTl9qJLmQk3\nlUD0BmirIxydiJ4hCBlPYTQvQfS8C73JYO9POC4VcdS7KJqfjtxhdDjNZGiDsWy+HFkbi+BpQFv2\nJKobuhrM+IUaUldvJDAgmxXKHsZNyMNhD6G5TEijHkRZPQ8hqQpHSYCgZx1q1u9oeOYFGJfCivQB\nLOhcjRC2QaII7fFYBv0FfdnHiOsfRRgjoylpaNs/vlSAm/EwYrIHsWMLgev7yNoqMqbzKDhegEgA\nreYJlKst5DdtYm3xFeSYT1GsqAyRBzJIPxdd5R6wHgShCiK5yCXFWHZ+hWGyh/yoLZjVXpQLJ4i2\np9ET6U9PrhuH5QJs/AoOVMO7B+Hb29CGvIISIyItS4A3/wTBJiK1KxAuVqHe9DDB8JsYe45DxX6I\niUWb/RtCoQ8JxbYiV3sR1HZ8t+iQlAyMU9KQGvsh5VyOvH07NAkwbAEk3QKm0YRiXiOstmA8lQvH\nboUJr0L/2y69TyEP6P9rnKL8ufdp//cUbUEAXQKEmsG1BQQjdFZAwy5o9sNYOyT0Qc4J0HdQXeol\nJXwF8hAgKx/SYxEqVyGcSoUlF2mbnELNTRKjbN+gPz0OQn1gBUHQkXCuEwqXgusOsHyBWqNHKBmL\nMPI5iBsAZ1bBwXugxQZiCAqvAUMcAKp6FpVedKIPu9KJ2FlGrfkUXzvT8V5n5vbHNjBZWoo48deQ\nfC0e90q2Jtcx/kQW8ft3EBoWxjLNChUnCZtfIXaMESHFDxkFMOtm6NwJh0qJ3H49vrZ3MDtuQG57\nAXRGCAfIk7wIvR4i5z6Bop5Lke31m0CUofIFKP4ArTyaeY1fwPjdjIvUEdd8G4JuJmntHxPMysGr\n24faZSRaX0xjURd+m5Uof4jhH3VATSUE0jk/Oor4p5+DU88So2uF6oOQZUFrDSI3VyOm56HWF2LK\n7QKrG9+RWxHLm9BkHcaUe+nLy6CjOJpm9iNpBqRBuRTsPgYvj+Zii4hyViZyywKK2/bAgJGcpolW\nHJyfMJASbw/RkkhIOIfrChuxS/uhCp30Dn6ZqNZB9FUFCDzZwIKTf8MbycYaEaDNDUU2eLQQnd8F\nQ0IQ9zIUTIEJT1+abNj9PMgDCY5aglv4gPCQMiLnvchnbiDSdorawak4wnoMO2X+emAMZ0peQGef\nCfqRl8YB/+1hcJaDUABXrYCtzyCKegq+vohl9hPIx5bgG+KmK9HIxOVbuWr+8+w6vxj2vQu5v0WL\nTSY80wC1MrqTfrj/KwSdDsruIXLoLPL0OcSdOUWoIYxnUCVS9FAsbgXF8waCpwJd7BXof9iHWC5j\nSo3F98hAPLPO4bi/DOHRVVB6Cj7Nhvc3w6gikE6hXd6IUf0Nwtw/XAqM/J2XUox1G6CvAUr+a6wm\n+yWn/R/kPz2nrYZQBAVJ1UCpRut5lqDuT/ijWgmEy3CphwgIbRjFEmK+P0Z8ykAi4WVsTpvC5Vou\nXRuWEXOuls7R/UkIh9GsFxHyAwhHdeCcSGPrcRJcYXQ+PVqHDsXaSHhIIcaLjQjG/mBLhfHdaHt6\nYPpAMDjBdguaAMHwHagcQie/RUdtmKq+b9ijzkRKVbly93qKpW544yLMK4UHj0HEy/n1k0mtMhOc\nnkSvcx9Ze/1orb1wXEK7fCLS4DngbQLPKmjuxBufSbehmbAMiiWRKL2K7lCE1jk3IOud9HvnVSqL\nE8jKeBDLmfUwcxGUzQdDEsTOI3L+dpRYFbm0Aal7MVrdH4kYLPgzDBi0BQSj+iPU/BWb7UvUj6YQ\n3lmN4NHomxGN6/YbsKfehGn7R6iVy+mMTyNtyCwEzxoIXEDzaKAaEKxB1EoD4tYg2rB8OqckYH7r\nMKbiEkQ5CVZugPvfRp19F+fCjyG2HiF/xQU6vvHS2i+Doy+8xA27jmEanAuJOiK6aF7yR3imewO9\npioQ3GgFhTiFDxCPrcK79m6ank7A8n4cjthOTO31dCQn0TEkiYLvj+G+aMehpEG/eJh5Fm13C9qM\npxFzXrxUZPZ9A7KMGu6Hq+URDieaSLdVk9RjI7ouCcrKIK6XSNCJd0UQkRDGoWF0s2PBeT9wA7w0\nBu5ZBGffho5kVLsTofIrenNGYt+2HW59F2/qco6YoxiwppJOQxjroCCxFSnoJ3+Nt/ZqBLEM07c6\nxFYVMrJhUhHB43thoBFDHIRM+bR7ReyqDvHcNvQ9eURMJowNZRDlBHE0SH7QYmDjCsL3LCSy5lPE\nvOEYrr8cKtZCw1Tw96Ecep3QfWZMedvAOOLf/OviSth8LVy9HxKG/uf5MT9dTnuvNvhH2Y4Rjv2S\n0/5n46OJWvErPFSSVXmOlvxJJOubcdmWYejzIxtyCQoB+l+MR1KboR3a+heyKesT+usMnOl9jaIp\n9chZKnG9p+irMRHIGIGxdw82RYcnOZ7tw0azYMcZdI3nESQZQY2gzzyHLycKY1k7Uk05uEcg+Kei\n2XPQfA+gepei6BLp6JVYUf4FF0LXEnEf4v4BDSQnXeDKfRuJ7TcTXN1w53RYtRIqx8PoiWQEhhKe\nnYYzcQSW7/VoX36FkBaBmzVEezeoW8DRDTV+KM/HMm8bYvAk5e6nsPtK4Jt9GJMbwKuR+sa3KOMn\n0d//AdvNq5g0MguW3QdCF4y5HvbegJZxJYp1PZ2hr0mqf4+g04AUjGDTviIoCchv/xrTrga0py+g\n7u9DaJXQXR7B0e7CuPQrmLAYvSmIUiKRYK+gL1iHZJuCuVZB+KISQkHon4Ra24UWH49iqMZ+TEUa\nMgwxIR2CI+GyAKx9DbVvP8EJFcSrA8BxgfCTBeRk5VO6+GMIAzOyofJFZJ0DkmYiudcRU2+leriE\nrsNInL4b/BYsnRkk/b4WV2kAnaMTTVtIXPIY+PB3KDkSrXc7sB+bQltTN4nxfyCS+gShXUuw9BRD\nwWS0Te9SPfN+VO1hXBnpIGSja6/ALfdhPlpLaMwwzJ3raBs2gZh3VuNOScTa0QemLeAoQPvrowi3\nfgpH3iZU1IP7ihS0qm9xngsQdXwHKCqByndpFYMktMnYNzViHSoRbBGRD/cQOTQMY0Un/EpDzFOg\naBZc+SGhLS/hjZZwbO6P52aBiN5FipRBWPXgtsfQnBokZeh+WPlr6CiHgSOg/TScWw9DRMS9n6Ck\nmJG/340roYGoOV8h7HgZHv8boauXYjjnBG8adB6GpEEg6SDihfTZEDvwX+3uP5rQz7wD5r+taKuE\ncFGOHgcxDCK26xhxDclguZXYc2+gtl6kvHQiucsS/gd77x2lRZU97D6n6s25c84RaKJNzkFBkSio\ng4ExoWIYcURlHBUV8+iMjhExoqJjQIKSQZRMExpoQtORpnPuN4equn+09zfzrfutdZ3wTbhzn7XO\n6lVv1VlVdersfU7vs/fZyHes6p2Z+hdz3JjOUf0YUnu+JLfuPFJ7NlrzWAJrfiQ8LxbTmYP0uB0E\nZYGxfROJujyM3tMQ0EHezXB6JWrYhaXOT6hvD9KFNrRte9HmJaG6v0NoReDtIUI9urDKxLhn+aX2\nPJY8H18kjmRG0y6cmREiMbvQHZwD838NFw/DO3vA24zp4XsxHX0adi3DlCuj3T0dse8kmqcBnJ3Q\nfgiikuHLHri6H1RfjznQTHHrbrRBSxA9DWi5aeRuXg+yAYP9Wlq7y1h5ForSA8QPXwgHl8GaFSCl\noPN6EcMdJDXdi8j8HLO5ACz9UJUufGuycB6zwPA8lJdeQRSbUCeYEF16SMjGMu8uetQ3UDwH6Em2\nIGIFUrdC6PwPuBMGEj/Bg9jZiJYcj9vcgymuA30D6EorYGh/yMqE8jIIgBqO4O1ox+zzkvLOD1CY\nw44rZ7Kw8Su4oYvIe7HoWrLQxp0i8N7v0FQfkS/diD7d5HxgJmj+FE/9GsxnAyiFOUTOR5Oc4yeQ\n60B32IOYtI64C00E4/UEawy093xAYJ0K6Tr0jrFQfRR33Fc02jfRM9FLMPIK0U1m1PwrScRIMLoc\n57Yy1EF5mJv2EkkZgrXlAiULriKntJyeu+5B+vgGzs3pQ7y9Fs33FdZ2H7YXvDClEGOFBREKIl0x\nBcpOYy6tJKNBg2qBXJyPPH4ExmMfEn5jNeLeG5FHynBAQdVZEIPPwbYcQo06HA19qHt0GkJvJNVv\nJ+L5kQ2xs5m0bz8pCVmYy4bAiDHwYzwMv/cnaVkCp75EMwcJpshYR2aj3xEm0PAnTO0NKGtHIeYM\nQXLMhc8vh8I5kDoMwl6o+AKu+ObPGaD+A/h3t2n/57TkPxgJAw5cZHMDedyJkFKhYSc4b4DEIVRn\n3UH8A6cw+VTYfg3UXgQxglpXLrce+pZRn9eTXnsFUvZnqO99iTl0EmuaQD9jCnprhO9vHcLOxGJi\nTvlQ2wVhn4xWtgoRVtHOdiJ2eTBs7UEbC8rETrSyd5B3mZC15cjG+2huno45tJBBxjxs9rN8FTeE\nSxuOU+NPQpYTQBqKknYaYhLB1g3PpoKhCp66F35ohXl5MCQJEd5LZFADSjgDNV5BS08B23q4/1OY\ntR7yPoP05yBuJooaQR0xHtHhwtBZjiHRBQ01nDA+wlcNdkIHdqMuvQ++C8PFIjhhQHR9j66zBUIa\nviONcLITHr8bbeEliPiB1CxYjLKnBfmOSxH5PegXLEAbNgN+tR3S52B3PkCXdTDh7ljM5/R0+GJp\nybejRh3DM6UD7wMWvNnlaDNUDNYidH3MkBcDA7eAIsO2j6F2D2f7xvLlzBQSai8i4vrSkZFJNT4i\nIgcstdQs66Dm8O/xTxsC7s1oOh3Kei+akNGcg9DHxNN0Y38UnYRaXYc5vQ2/PgHTXj1YvoGNLTB0\nMrX+ZLaZLydYdzWxiQGCjXs5WbSHc3fn0DzxEPGmjfQPnGOkt4Qc5ym8Wh0ZjKfv0XbCliwkzY80\n8hT67jRcnj38mFKMpbgLs9NKzy3JZG74Hn1WBoakWYRG6/En23Ed3YB5aDciPw5i6+Hql8BZgP6C\nQG91wlUvQds2VJMVHlmCnKkiEmIQ0iVEshTK+0fwV4EhXYd7vhuz5iSNW+ngJK3+7xntz8EVdmCW\nXJCzAcRosIWg+6ek4dkTIOymaeb16DslRForFr8enVsh3Okl1L8Wo/oGnPgWrAkw7pHeekdfgMFL\n/6MUNvTatH9O+XsRQswXQpQJIVQhRPHPrfdfO9PuRaWKmSTzApb0R+Gb+YRHaHSGG9HO1xB92oVY\nMg7yZoD7AjS+wawdJuL7Xo9/Ug84QqhfXIE0oh3RT0ZfswutS8UR1jPlD3vpEVYODi3GoWQS29KO\nM+RG+GU0WUNJsBL+RRK6Mg/C+AvU3B0EkhSsjskIIZEddwv0bEIt/ZB1uZcxuu4gCTsDtM9yIKn3\nIHmq0Ia3QkkuhONhZR1arhN1qgP18ttRo3W9vrkte9DwokTVo/cJjOY/IBQXKGVomoZStQfJakWS\n5hAp20jr5CApD32NFOOCfqVQPYjJlw5lhl6Pbk0lYtkIyFkGpkRo2AB1T8GZRLRdtYTtL8K5dKg8\nj2aJx/u2l+ioPyAtHYJwr4SMyRA3GLXgMaSa4YiODxG+U5h9UXw/agBXHq8nq3UzN3kAACAASURB\nVLyUxsIoTuYXMWKXA6ljL6KrB82pQ+r/JIglcOIC1DmhaATc8xB0X6Qqo5NQcgRXbQhSj2E+FWSx\nKCHU5ytojMdu/4wHFs3hwfhd9D/dCrLAcJdAyUmk87KHEK0vkXHvDjRLNC0v303CuvPoj35Jx8IY\nLHtiMPa5HLkgnphdj3BP4xuExtqw3jeMQMiDRakjfUM9QZcRcxnIhelovkL0/YbTFeVB1zQL5fh5\n4sbMpanlPCmSE9E+HJSttF6IwtLRSnd3IynViyG/Gj57BcYHYLBK1wIQLTK6TSboW9y7iJ4wB3oW\ngy8MDhl6VqPYB6N9tgGd3ocwOWDQCihuwVBhJ/fV3VTcmkY4PomMc26i9t1Ds/V3+HJcpOkXoDv5\ne7AIsOaDORdad0LGZXD6MxixBHImQrqFrj98R/ixETieXQd1XeinC0IDLYiDRji4CGa9As500Bl6\n5cVdA8lj/9VC/lfzT3T5OwXMBd7+ayr9VyttC8ORsNHOO5gj1yGqa+jafDVnLlW45JyEbssmxOZL\nIH8mJI0huGQjob0vcGbbUxh7PASvlDEUaURFXBiUIMEYGdNgjZ6Ii5aEO1mbmsvNOz/GajWz/sYr\niQm6uFSbCmW3IWUuwHhKRpxcxcXZUyjLL6Jv+2voajOR4p/CUONC27iUjdeNo791AplVp6GjlaQa\nGxR+A5V+xKojBH85BmXkaRjnQvSdinT2GFJMITqykBr7IsotKGNupr7ql3gjGoG0b4mt/5TYtYcJ\nfHoL2sipRF15HoKDMF39Kald5ajaRvzJOoxBI5K8Drx6Xg59iOX8evjKDaObISUOhA4CPTD8SmTv\nLdhfvRPN0UBo+dtUffwJlokDsRV4kWq3gW08Iv8+xJ7NaCVNqNNuRwppYL8a/9i3MIQeR2veinAo\nJJpbaW6fTFNOFXE5iTie68LUHEKNvRmGK2gW0Cr6I9vWQupgmLaMDmU7PeGNhFszMSYaMAdOoJbb\nMf1+Cu4brEQsA0lLrGH97GTMWQPQ2nsQLgekz6dbeoOoqGKkrPPIe6tJ2dyCtECPqJxLzCtf4C7M\nJnj6bVRDPCeSiijedIDO9jTsWVNQj28n+3gpjJDRhYOEChKQHVPQTuwgLGUgmS5gK0lASS1A/voj\nUr4OE8lOQWdMQkQncn/to+gzovFG9hHTmYxkTYZr3oJTn8OJAqoHdpPnfgvbpS2wbSPEGIBc0Pl6\nQ+MLmokEv0b7k4ouRkWMcML89l7lfvgmIudKUV06VGM8Zq+Mb/j92NZtJv7cFxCSIXgQ6kIQ5YLU\nh3oFI9QM6bNg4xIoigX7QpQcO/6TJmJba2H5MfjwOtxH3sE2ZwU639MENnkxDPYg9ZN6dxw5tByG\nPfEvk+2/h3+W0tY07Qz0LqD+NfxXK22BIIP3aONtPIZS7A4nTf1V8qVlWG+diGjbAjoLkcA+dN7t\nGOQezFPS6DDNISIdwBE6hc5roq5vHtFnrNCaR0z3SsyNKskrHiZr2CScRXqYuZuFryZQpevDxisy\nmSjMSLXbED1uzg4eTHvPfkqlZLJjp+GxnMPUdg/6aoWdtzxIqmSi0LEICuqgZA3RZyxgHwOrXoQp\nD2Ic/Cs0s4yoeR06BkCDDYbMBk8THH4MZv4JSdbjinoIWlYhlx/DWOlFHx3CMMiBqN1Ec200rthS\njBtuQFzchyx1YWhNwy+8hOMEztI6kr/ejVQURW3eSNJnf4qkt4AaBm8XfPg8aGXwxCpafngC/W+X\nEffIb3BkfIZIeRHaHobYkRA/DMb0R9RuQgoNRMu3o9nP0SydJKdaorFPAUkVybScPIGj7xkSKtOw\nDXyLLtd47PlORJQdNdiBMGoI6x6UIgMiLxP8X+LUf0eRNIemAaNJ33Eb9cFcTHVBzBOisfY0YG74\nkSszJU4yDveGD+i56Va0L710XbmTCOlEGZ6GqK9h0mDkTasg9UmY8iBimBuHFICjZ6HiGJ5BU+k5\no+fIFaPJOOzFqu8Hz68FVQ/n12NMXQeON1B39qH1+c/I+/oBmH4Z8oXH4f4mlMv30X3yDmJKzxIa\nmonqMCGiRxKTfjPt6RXEMbO3c+Y74eOrGHSiip5+WaAfAOoxOGAGq6PXza50I5FwNJGabIxdFYip\nEgx5tldhA/R7mrbmTTRPmkih5SOMfj0tfEftmGjSl01EFJQiXH0gdBiMsfCTI4QWau7ddEsvQ9OD\nYJ2LL/5mmkfvo+CjM7DwKNqCJBrKNQp2bEAsLcWUeDXuWRMxLFqC6dapYE0CR+a/RK7/Xv5/m/a/\nOTJO4msm0dX9NsHhc8g7byRJzEDYbNDVQEAU4f/iCfDdiEj8nNjOTAYGZtDfuB6MA0lpsFLQ8hvq\ns518e9UAAplX0pwZTd2D83HOng1F10NXM3hiyaaBy7pikFt6cA+vw99HpY84yNj6fdzqKSV3Zz6x\nD+7HWJpIqN+vGNBxmCHOJeD5BGQZrvoCys6DaoZZ/WHBci462ujSB8AxAI7NBEcNqApsuw0mvwI6\nI5G6i8ivvYrznTZyS7qIO2hDd8lctv1hA63j0rlwYSDttgSOj07EnSijJoFoCWEtq8e6vZzmzBKC\nwolUcJ76H3bgPvcVAEpVGZEnfgFjp8PiJ2mzO4hpr8JyrY6YISPRIs3o7FeCpT/k/BRk4WuF1PGI\n4reQEl9EMr9P9MXHSPLux5R8P0pkDO1picSfdWMLJIDvItYhicjmJKSJp5DP34GoE4ScsUgt4xAr\nfof63C0Yu2vof/4+0hufJFyZiBE3rjiFrnvepyM+B7nZQt8j57m6fRRarRHSMvjxjdlYTkYwaKMI\ndByDdivcOwZeL4MPXofPn4E718PtW+Hex2j2J3Dp9l10H/Aw7sVV0GcY3PAG6KJ7A0f6zgVh7g0b\nVwT+s+2knytE7fkI+rwI1ijkor4Y+qXRNmgOuj1+4hOD4P0GmycTL0dQf0pzh2MQLK6kMjKK4B4z\njNsFSVFwzUjYVUqkKwa1WUOr6sK4sRLRVwfO2eDfC0CYUlrNa7g4OYmYjjAqp/CbdxGjjCNmbSeV\nt7cRGjgWrWAVWtgJUbFUq/t4nyc4F9pOqb4Mf95gtDoTKE14s+fQPHY8hnoLnHgSd5WMpUUPhnzQ\n7DDgGWyvD0XZtR1l3W9hyMP/Amn+xxDC+LPKz0EIsV0Icep/U2b9rc/3Xz3TpqMeyrYjTu8k+YaN\nNMUuIemrU2jBFVC5Ac13lu4hZuLSJkDmT7Y55yDoPIga3Q9dKBGhUzEnJ5P5soL/0tV8MziBAYH5\n9K14k8je9cjjFiKOrsObMRBRcQDTt3ehhU0oRgllxHOIsveRuttxnoigNh5AHiehl+PAlEmcdSCa\npOeioZI06+OweTq4A9DxOaQFCVbPotbazQh1CqghcKSD9SQcGASp0QTOt9D1x8cxRLuJSjyCmLAQ\nxuyAJ3+Nenwn8WcvUj11Ot09UHD4MCk/rEK1etCadIQ6G/ANTsNtcxD3mRd/hpHOyxIpGtBBR3st\nx7QVxH75J9KGV2IL/wLvznxa5Giih99ITaabnI6XUDKuBiXYO4ioIWjaCfo0SB/zP58gGPDgr9aI\nGfEQTmUlDGjBa9CwVVbBsAVQ+Tj6fneCzw3vTwYtFlGhoXe1wpBrEIUzaOlYhc+nQ3+wEU3kojeU\nYOsIojPZsXx4NY1GjbgvDYS+uR7D4luxL5qOqtWSr87j8OivyVXSCO55G1PpeXhvBFz5ESy7E559\nFqr3wL0fw/ntlM8dzKijm8n3gq88iLL6ceTcoRCXBppGKLwB9HkYACnWgn36JIxDhuBPL8FIBJ3i\ng6p7sWW8iXvjQpj7AOZd70CUDTbMImbOk7Sb1hDHLQB4KafHnoSveCpxQoJZj6KeK0E5JSFXfIBo\nA32HCo+H4YQPRjyJ1vwM3uBv8Bn/RFCVyXenYq4qJRx7HCkQj3jidoy3zSE983Fq9beRVXU3ssOO\nsMeRVfMIcXmb8LOTbhFFaXohA7/qodz3HErAQaa3HlHvQVnbidbPR8JFG1TvhlejEFNnIu4ei+W5\nC2jKEHwGCTMq4j9wXvjXmEeEEH8ZRPKEpmnL//K8pmlT/kGP9T/857XoP4rmSnh0MFSXQEI60uq7\niNl0Dr/ajBK3He2me3EX5xAoHo3UWfrnepZCaNxDmCb0XhVi7kTrfh3rk5/x1ZBf0vdUJSH7OTpb\n+0BEoePhlfg2rcXcshOTy4ZOcmEo6SKsC3HG8RKNKVFE6mvp6DuJqmuiCSRnow1/ETq/g9irieDB\nY7D1/sv7i+8gtgDcZ6C+lmZPMx2WTGTXXIi9CboywNkP0qdBaC+i8iXiXn6Z6GnJCGsi9L0DTDHw\n5EoE7TgrfAzBxYQL7/LF9CFoITdSiYYc2w/93KexbqlFPd5MS08nFxb05VxSAfW5SdQO2Uk4UEpq\nQjK2k1HsVcbyypgbKJz0JWLKcmLS7iUQ2o+xYxo8Ohp+bITTB+DwvRCVBQVX9ralGiZ0eDG/G7qA\n08aRCP0MtNQgSeYmRJ0J2AbR8yFqGJw6Be5DEEiCgmJkIig774SSZ6hIrEDX1QqDbkWMuRP6TKe5\nqD9MvR9d9g3EG9pRh6cRvbIM8/ELpPo/oSsSRU/DHxnZbqYm/D3NpioYNwmqPoSS58CRAc98BhWH\nYVl/fCOXMbTxe8gFeaGM+RoJ5bIH4IOl8O3r+NVKNPcv0WkqALr0eKz9Ewns34+Ju/Brr0PVvZC4\nFOnt5fQsfpqTl04EoaNz+Dj85mnYxBi8HCdMG83uJ2hvf5T9s6bzwdT+YLKhma4kdOfn0KEiFyRC\nC6h9JagOgCUC/p0IfTS2PduJ6/qA5NJEHPZP0Cs5WN56BNP9HyItfQutbzYB/XJyWuPosQlCiheS\nHofwBWzd1cSFDOT6XYyoSsNcDf27zWiOWFpzbHRlOth+9yQu3NEX/bOfwN13wvhoeGM1WtGvcbt3\nsbNPOwfY/R+psKHXPPJzCoCmaeIvyvJ/xvP9Z7bq34sSQVt9FdrQYWj+vWhn3kRz1GC49nkM1v60\npbvwd2l0J1iIt98FKOBrgMazsPKXUHmM0Ku3o6s8Dbp+XJRU3vW8zvWWAmL6ZRHJfISWaQGq751K\ncFUGmlGhc6VCpCMLYeoCF1jO+ihYHySpTEF2e+gyV+IP7qchbwTe7ddRGR/LGX7LxcjNSFr4z89e\nPBusvwC1P+ctiUz8phZeWwElR8EUgZ4tULcdbH0wWvcht7wC3dXQf1Gv4vd1wvq7acqfSPrpsxg2\nfYReBDmiG4c2DLQc4HQFum/fxugNklLfSNyxFop2r2XYMyVo+2QGvHGa8Us3Y6g/jq+2hwzjSW41\nn8LHfXQyE1V3NT35AtUcBWMT4GAXrHsXumuhac+f3+X4I6h5i9Cs6QwQCUiGuwi6Z+JpjUYbkAE7\niyEcQguEYOC1MHg+lB6A6GLU3PG4p41Gm7yCajWF4ujLwZ4Nn9xJ8MIGTJ3n0EofQip/ntDAMMJV\niezegP5OCAojV4cVVqc8iAgdY/SZbXhjuyi5TY+aMRFt71iU9ko4/REM6ETxSnRtuwpZryBnABET\n+tk3YZi9EBa9hGZ3oTw/DfliBEl/aW8It8OJOTqEf88eZJIQvnIUZw58sgZm30dB4uWc9+2n4Zp4\nGoedwLxpF8Lowkg657iCoNZObYueE+kGXLSgbfuA8C+GYhisoJ+oQl4WXGXCNzsFRukgoEHblxA7\nCi7WIWpPIAfC4LkdWjvhhA2WzoWkFE4zCH+LQDRuxSUWoYa8dDT9ETX5GQjWQsf3IBkhLQGidUjK\nXjyXTaViTDSmSy9HNcrsSjHhS3JBrAYJEQi7CcmwZdBE8s+vYZzv5+2U9+/IP9Hlb44Q4iIwEvhW\nCLHl59T7r1PamhZE8TyIMr0UerZBnyGwtB7pF8eR9NPQ5y7EXF5Na+BFDGnxmMQEsKTAnsdg3RNw\n60cwcDK+O/qj2UMEXnqO3UqY28//hg88VdxruxGb51YKjjYQMjdyujCF8JgkoorB3xxD5x6ZyKjJ\n7B88FtuNe5BsHvCEoW4HzoouUncdx2YaQc73nRQqj2JnBPrwOyiR93tfYPBsKDuKNvkT+rpuwjZ+\nCQzshjNvwIEOcBvhRAQSn0LzXESrOwumJoh0QtADfygCexJHUvsh7n4EysJIugwWVb1FS/EtECOo\nK+6HdvJkrxeARyWcGodySgWzRnxGG9a8CJ4VYwk/cgd63SBSBm0hgcdx8Dvs7ltxVeXi0pagX/1r\nMLlgzX54aieYxsKzz8Mbz8DZj0BnxZ48kwX0Q0YCTaVTK8PRaUfktENGJnzwJ+j00fPWVnzbfERi\nO+G+FxBXfEhEnEWc+hVnLBMxeu4BeS7gpnPEjUiZlyNmfEXgshlELjpQ2zSUSh1BxUJVMJGRgQ+Y\n3VPNmrgFaKU6EgoWEh89h7N9/UTqDhA6/jRadwnh3EQobqBdikPbC4HdMqLcANX7YfNDULEVddxc\nGu+ehLQ1B979FFbNg/aT6NIvYh26GTo3Yj5jxd+1BXIGw4DxSEgU1Wq0JXQTbbgNURhGK/+YoOZH\nI4LeX8DqvPH0V/dz3ROridxzK4Zx8cjzJcQIA+TYEZKCrDOjtORCQRz8uBMOLwU5GrbcC4eBxyrh\nRCc8PgCMF6B+JfGYuTNhLofihhCpeRhzp5+o9R/i1y0maF+HFj8Tmqpg5RjIHwVHSzHufJLsjk6C\nU4+QX1JK+rl2uj67Gw5vBxGH9tZtVH+2gEsPZZBwEXTf94Utj0PA+68S9b8ZBflnlb8XTdPWapqW\nqmmaUdO0BE3Tpv6cev91ShsCSPa7kQtqoN8tiAvliM6KP5/NHYjpfAeSIYiw5SIiCrS0Q8deWPQJ\n2KIhahjB0I9osdDwyEMUlcTxQuQB+h49xNOvLCPnN6fRUp6lb+tTDG38NT0GMxTH41y6Ffu80fR8\ncpqEV+toP/Y6WowF0SEg4Efx2pDih4HOCeVrEZ9ehnryPMZjKmr3o2i114D8JFSdQVRdR9Lx30Pb\nx9THG3Eby2FALUR8cOA0PPUQWmxfaD8MUzbAqY/g21sgvg91g+agM6ejyy+A2xdCeQtx9LA++UVE\ntJm42+dyZNWDdF3qRAqomBwevMunEJqrw781H0N3MtFHC3GK5ehIQUcGEtGIYBfGfW8Qik/DbLoe\nxhXDyQZoKQeDGYbeBL++CQZlwbZHYUMHBP2MJa238bt3kHBYT3yPCqoPrhgHTWcQi67F9tBSfF+W\noho7UVpaEPZkHKdKaB34NF1WHaqYB54i6DecLsM+9LHdYIohFHMOndOFdOMrSHMfQNRrpBxowrWi\nhgHrV3Ldi2+hlXegN+fQI39PZtEimoe4aCqKJhhTh+dkEN+46+g3bweVzgK8JS78rRHCB6rR9rwI\nfWfTyGrirTcj1bjhm1WEWnbjn9iIdskBggEnSvmbyD/GojWWoo6b8D99zVX+Mo49zRil64hkjKI+\n+tdYfT7iw6t43wEPHmljwcyPSNt3Bv2ryxEpAgY+C8EpYPWComIsDSNKzqKe0EDOgxNV4AWsCrQc\ngNsb4TfbIP1bcKjgW0qybxd5oWrWJs1HNo8jEmeBc04Mzb9C03Wg5E0Dbwukj4L5L6AUCYr/+B1T\nfizHFf0I/rkak6yj2Dcrg+D4eMhSEbFu8vVeTEk70DtnQIsM51+G9++DzqZ/poD/3fyzlPbfyn/d\nQqQQThDO3oNxL/Xubb15EQy4GbKn0hBXjyvsJSHiptMfglXXwMDRaOoFNPdJJOdAgtGZeI0eVMnF\nDlGHr0DPkrWvYjMGicTF0/Uj2CP3Yg4PxzkyG+e+RrgiGRpVdKYeDBk+LNOX4Fn6NKJbj2mgDimi\nEnMBOq+ag/bmY+hiB2FvrCZsVzG26JB3qmj9uxFKFoTDUKHCwX3gKkKXfpGjRQNQDWkM9G/AOEvB\nOuZj+OE61IILSMYGhJIKiXFw+RtsD9cw3dQPOkvBXAN9skg6f5odgyUWZY0l0v0Z/n6xVCYOpLDq\nR87fcTsFv1lLIM6HXNxMx/D+SLpWhPstDKY6fH+ahzR8AqJnN0TV4vV3IX+7GOnQTuT7HkS/7jm4\n/D5IGwunngb7eNCPxT/NwS7Dd1zBvN7v0foJ+hYTJKZAfDHoemDmMDhTiPTlO0Rt3YaofRff8zch\n8mYi5V/OiZI3yXHpcZ7Jh6m/As+vaYzLI1/Xj3DZPHSxXUiGCGrz3dAnTGtCOt740cRXXEuoaQXG\nQBVSt4zj9/fh6jmPLnol8bkyZxLyqBmUjTQiRIIhDcuxoTgmZFMRY6df11kiHkHQ60f73TUoC3Ow\n//5jtGP1KCkG1PkKqlnGH5pBZ+Q4vtpcUhqrMee/j9/2KVaWE/AdJRwXxHk8myaOUDnzKJk/BjH1\n/5B3qozc/PV3uHY1ELlKxjDxTlCM+EIyppK1SP3mAech+hBCq8ZnsRAZfTPOQc9CTykcHQ5WoNkM\nMQEwD+iNSlQugVYratQG7rGuZ617NkfrTBR/byPsBDntV+h00YR096H17EZ3/VH48QN8w2wcVfpT\neNjNqVEvEzDY4PRzjD0WZmfmIC43R2D0L5HyrsOIm6C2Ai14E6ZT5QitDmymf5G0/238//tp/zuj\nN0OgDSb/Dva/CE0lhNLP4uiSUfdAdMJKQgMLCLtOIHe3Ilc9iTT4Kwy2sZSqfTjhGM51ga8ourCa\nyNQxhJ0n0T61EjmrEcoXmFOPwZE9YDWARYWuNhj5CObm9fDJGxx5rJiCRQfp2qESfVkLllM65IN3\noT/biIiyoR9oBrkFY/4kpO1HIOMe0ICGP8F3XpAnQdRBEpr9JAxaiPbhGvw39edCrIZ2cgXZ1Y3o\njFnQ8C6cLYOoqSjfPcqNJ75AdqVCYT8IlMLUr5HXTMJaspWQqieU+RqD63+Lrd6NtvhJck9/hym6\nChkdhrJ25HCAsOMEUmM11B5GPjMYJfMMdJ1A/z04pCC+ORH8l0djDW7CducbGFaugKgkSKmHofMg\nqg/mt4rJarqG9mmjiVF/cqFSNDB4QU6HtQug3ywoXgiKQE5LA9dCrD3fE/JGUF9Yj/8X/bhrz4/o\nfWH4YQ1qtI7zy+Io/ugFtIIuLN9E0HVHoESHe0oUoX4FSAkBqC/DXG0hODIaQ0UnuvZyxCABBgPe\nUAxxJ4M0dDoIpgpytu3CntSBb/R9OOM3Ux3qJOiKwVLbTtLRg8R+uA+1LYw0SEJeIKFrHoMW8xhi\n7zRcWfG0bNtO2yOXEidp+JQywvJhmszvkbrLhnzNChpYQ5RuCta2IuT3V3JP02to1RHcr03AmbQY\njj0Phr4Yuy4jbPoCOVCHrngR7FiNaNBQr7kFz4BsnACOgeC8Hw4927vj4OAlfw4jj58HbesIRF+O\ntbqRO3+3huX3P0jm5GnE7MrEd3QehhGPYdwSJpwVT+hcPrqICWv6b/m+sJ3ErVs5H6Uy7LsmfDF+\nYjqSidInUj56Ivn5NwAgcGISL6KcWErQcQ5jXQecfQjR/68K+vuXEvyZ7nz/Kv4h5hEhxDQhxDkh\nRIUQ4v/hoCl6efWn8yeEEEP+Eff9u+g4A1uuhw+zYcdtoLajNewkZ18FGLrx5/vpnGAkXCQwZszF\n1JOMvt1NMz6ejXyMz29n+b4v6Nc5CK3Fixr4Ac3YDvPs6C6LRVlqRo13AAKMAlpl6MqCd55B9mUR\niUmmtcCOtCQB/8ZkrOey0WerWC0B1N/9AcMnLXDzVpwd3ejjG6FdhZXz4b3bwJED6ZfAJdEwcyXk\nXgWlLYhiDYt+BIWuSRRE8vCk53Nu8EjKRnRyPCmXktxCNs9/hvNXvQx3HQKlBhQ9oegEWrNTGFT1\nI997IkT7c7BlbIFD0Yi297Cm6gndPpWSxOvwWe0YF3wO5m4sVU7MqZMxufvj2NiB42g/DAWZmKbf\nTvSQd4mXVqARj8HQB65ciufkB7QHyiDYAVEhmKGSrbcRef4KOPQkxC7o/TaSG2xOON8Kn3wHz02H\ntNz/CRoRHScxDs1AfvoR7J52fPHFqM88S+CKHvwJVShCpiY7CjU1Bv2dewhGXBAwoFwCWQUG0vRh\n1OnzEMkuTPMvIt31IXL0YCKXfErljPV0jDBjOSox+fBwJrys0lwYR+nQh7GZZpPT3Z9+r1VR+HkZ\nuZ9UoDmNRGbcgW6CGemmTMSBXIjpRNT/BnQy0bVncZ4U6Ny7iXi+Q2gq9dxEdGM/dMNuQskdRA6/\nJYflmOa8TPiKJ/EoA5Bm5mOurkIOmkBEQfS1yPYcDOahKIHPUS7eD6Zh4ErBnnsz0dLkP/ftgU/A\n+LdQ9U6a60to5zgR/CAkNDTcHzyI7fEO9A/v456Qntd0A2DcXZh/EHQyj2B6BF3RO0jtMuHUOpSa\nNUzoPEXH4HjSWppxCh9Rq/V0zCxgWGcUGf7q3sXXi8dh8wp4dx7yvv0YSyYSHv0CoejjKKHd/2wJ\n/5v5/7x5RAghA68DlwIXgcNCiPWapp3+i8suB/J+KsOBN3/6+68jqhBGPQd9FoI1GWL6IQCx/X4C\n9kpspGI7VI2kxCCU1eBpAUXHgZ593GK/GtuJJ9Bb56CdfBA12Yi+4iaUfucQohts2ZgybWi6Crht\nBXRHoHkVnA6jJXbDPa9jqVuDx7wVydOGPmDHkHsZjLUhKjoIhHYQIQ/D1ndoLLQQva8aU4wM3SpE\njYQbF8HaVyDzSjhwBPwtcPRTuDwOyl+EsxORwueIkeuJznCh2WqovTKFmqQSPD1PkNxnUW8uwa5G\nlNHP0qo8wrm0IQxtE6xzjuGyZSNgaC74KmDSDoT3OYzegwy7sp1ISQLBht1ovhZCeheGc5Vopr7w\n5TY0i55w7TQijndA3YhePxpNO0lYW4s3cyBnnryN4nUnoWYjZM0C65UYh73KxYFPE//+44ij1aDq\nwBAEczGMHwurTvf6aJ95AXX47UiOfJj0OeHuMhoKCih+pwz5qUK8n37ESh3ODQAAIABJREFUgfmj\nmFDeztCzfmJyzMht+fDjs+hrfET6a/iS44ga+BlmyQRfLILLn+4dCCKVdN2wlPDKFRh/OYek8jYC\nOfOQP/oMa0sPQx48jVcOUn1oOYWvvYPQ6zGnT6Vt2G5UnCRJX4CzP3QngH49HIv0DtKpExGZPmTl\nGC73k4j+v0ZWNoF6P/bdJTDjd+hwouudI6MFVLoe3I/j+Wa8B4MYE6bAn26A247CrmfAVoiIbcWQ\nPIvQprWIc91IdSFYvQDzrDcgN7u3bze/AlG7ka7diWPtZewc9iApTGJAz22EX92O0taN8uwGyMwn\nUc1jUvNcPrGP4AZfPM4d+fgmKki+a1EHO0CJJ1xWy+B3qxCBMB2TY7G1h9BbLNi4ngi3oZ3KhAOD\nIX5g714lUx+BkA9htGIANMt1BCOPEw6vRVeuIRc+j5D/fU0m/w3mkWFAhaZpVQBCiM+AWcBfKu1Z\nwEc/ZTM4IIRwCSGSNE1r/Afc/29DiN4EBPbU/+Xn7ik2fORhab0JqeohEGVoWgYoTYjgOWYdeBzy\nXiPU2Y5oeQ+10U9DOI3y+edRjToGlscgLuzE9E42ndfEYM29A632AyLZt+O+3EPwYhkXmqai10HR\n4Xa8KSZcQ9+DUZf2BqD45mI+UsPFnAfIiKqkpWAoOUdPww3vQtgGi8fDvk2QmwxfvAStjRCbBGOu\ngUsmQEMZJPtB5IOnHZHzEqr+GTJ7bifu05coubEP9p5t4HsHLS5IMPwsiSecJHnPEDYbkbVLIc4P\ne0+DKx/e/i0EPGitzUhDgxi8SfD8CkSmAy2vDwy4Fe21t1FLDiONn0yt8RkCZ5diKr6SJCULKXye\nTi7S3LiNwRfaCF1+D/qD78Kud2BiIUQ6sehlqmZkkC7uQv/mYoiJgQsBKBwExTI0HoOyvVDyAeq4\nh5H6/5pgVCb+jbMx2PJQPLdg120je10np/Md2OMqaElMp7vTSF/RDWj09HURdz4Psr6D7miwJ0J8\nAWH8nDSeRIl2MWjEPeg/W4WaGMLmfA81MwHdqsMIhwNbzSn6H5XxTr2a9u7dGOq3YM0IEraCd4sb\n65R8qCvv9QQSMhS4oOQgZE8k/rHbEN7l8MUreKeYidU9gmbYgrDF9na6pgq0qqO0LP8DMRMLEQc3\nU3tpKkpHGX1mfQQfTgOlDXJ8UB6D+NaHPmsOmv191FHxSOICxP2ksMsfBc+LkHYtmLIxm6IYUzoV\naccP9FS8S+PiRAzvDsKQ2tvvtfb9jG3axR+r89lDkAHb+6ATQ/DzLfUpGfgSc4n0kdD72+m3/zyd\nbQ4sPR4scR24ty/FmBTGLJ+gOS8Tw/AcXFIDQgwCo/WndzuN2PcGJjmCGtxNOOk8YeHDpK38q/fc\n+Gfx3xDGngLU/cXxxZ9++2uv+bdAoZ1oHkWKuxWsc8EQBZcsAU2PdliCi/th2zgC2Tm9kWxTXyX9\nB41B9cOxuNupkwRKjpGKjCCnI3rKf7wOpfpd2lMLIHCCmMY0CtaeJrGijlS9jD/PhOGzlyHUBpIB\n0n+DGJJH0teV6FyPU7RNRpqyAHSd0H8cLFwCCbHgEaBcgAc/BdkMEyZB2WY4G4KoAzD1adAS4MBi\nxI+VsOparBd2UtyTjch4DKV9MqGQBSnlXeR6C1JLPPpWDxkkgGk+HG0A1QLL1qA8djuRJX0RNZlI\nchKSoxp9RMHww1fQ+HuoP0eoZyMAhrhilqStoDiyiPdVB+1KIRcChyj66lOEy4TPsohw6CsifVLA\nmgbhZgqk4ZzNf4iuQC1MXghtPfDoeNjwA1rZblrnPoXf3wfG56LWLkf7Yji6bVNpH2KmNdOO8cst\naLf9nphLCmgrbMEq7HQqreiCbXhyGgjOHsC5m6/h9OROlJ4H4NT9aJMf5gL72csrpPsiDBV3oI8r\nQms5TMScjLfPHUhDzQjvR72DaWYR3PEq1oI84gJJRG3pwrrcj6ukCfMAH1r1Wag+15sTsdsOKVdD\nWjrUH0Sc+ATiC2gdfzdSjwfL+sVIts7ehWCA2HS63v0Ei68UU+MGDCEbaQcaqTPq6Vj7FkSqIHgB\nylqh7/XwxEqkVCOSALo6CA29Aao39poofIdAFwJPBuq+6wgFHISueRj3oxsI2QfRqRqpfFlPtfw5\n2o6n0fbfhZbj4Y6tX7Ph6sl0th0nVPsccnk3cVsayV+9lYx9FWQeukDFaQev9rkDU7mCtUWQWNOK\n82s7SreDqOAVRF3U8b+oYVWBrxdD+VbIG4Xw+tEN2IBEfxR++GeL9s/mn+Wn/bfyb7cQKYRYDjz+\nr7q/nQWYGQ21r0HkDPT5EkwJkBCGMkAxQ6qHiO4CIpKE/EMlLP8jUcluCvUb8Xc2YY3RoU1MJeTv\npqdfDOfM6WRcfJPYhpOwaiuOHD3u7FQs6dPxub8m/FkDmuk9xIT50NyE0XeUsMVEUGrEXtMKDW/A\niCzQeWBiDIyZDVXfQ/m1aI9dD/Yg4tMb4drnIPMQhAzQtg7kToiZhKhfjTpjMPKqMmzrl6HaXkNt\nO4IuORd5yY2gk2HgJMJFo7G9uQylXkOefxea0YOy9VKYOA5d7jbEsgB8dBu49EiJHsJJBvS6MNr1\nkwkWxWMCsjSNLVvuZf3kaShRsTxjnEigJ8T0rAiXyk0Y6zqR2h3IbY3g1mDsWIRzEtMopuPYAnYN\nMOMfPZTCEfNI3fYxhxdfxdtDTMz2R3E08Vr0GV3M+H4/fWPLyA67McwIo+0CvsnE0SJTnBqDNz+a\noHUESZXbCB21Yb7Zywj3mwirQqTLQTD/NxzRv0UcBYxjKVL4egC071ehLRBI69oJTpuGtV0C1yVQ\nchXkLIUmPbz+PlIggGo1oc2DnkIj9j1B9LPfgvqbwKgHUxf8uBZGjYCE52HLH1CddiKmL4iP+oZI\n2hwMLQ7YfjM49fjOa4Q9HqJmTAZrLOFRTkylrzL8UDm2hm7o9EKPGXIVKP0a9r4I/m7EWLnXG+TI\nZtSGr6C5ASkzDq1dB+3P0aqPIcFQSNQ0HV3HEwl6jpFxcxfulFpCHKCl1Y81Ow05pQiJRubFrOWD\nh6azrPYNDFoC1mGbuCBV4r+wldSOTp6Yu5Cnd9+JUdFg6iQ4uhspKhP11ltoa3qGhKbLkMVPKcX8\n3fDV7TDhATDIUP4e4vrTyHoLMpf/H5Pf/7ew8p/Dv7t55O/OESmEGAks/78dw4UQywA0TXv2L655\nG/he07Q1Px2fAyb8HPPI//Eckf87Wr6F5tVgz4DM50HT0E7PgjXfI9oS4eZFdGS/SfR2IzTUoegl\nZFMPWjcodTo8rilY0w6g2L2oVoFQHfRYQac4idrcghQzAPRpdKT70BoriDregGjrQpgl8GsQpRG+\nVqCcMWAyhCBJhiygeQYEFKgt6bXJY0H7fDNqkYqsE2C1QmYWuLJAPgrVzdAThJGgBvVQY0aEYuke\nEYN9ex2yohHWohHWgehKDqGmhfC0+6iaMpYBVy8jEnwC6ZkgdEWIpI3CWBxGNKyDjmqQYuganY+t\naDWq4sEjviP6SCIc/gJiNdpjVDCcxm7rxl0Fu9JvZVPsOBRXNNPqX+dKywBsx9bA8KGQ8QpBdTGG\nb2x0ZWSyr18dJsswwmoTqtJARD+AAobgfOcV3rs0ltjWFvxpJq7pOkB7aho5v92CnBNG1wBMn0tZ\naoTQ8UoG/+kMRClot8iI1ji8OpUO4SAwYCSpcX/AQjQoPWgtDxCIWoa/ZDauhBNss9xCvJbJoE8O\nI0bOhfzhKNsuAWMIMmMhpw8auyGkwU6JC/lZZB/1gyEOrt4Mp96H9Svg5nd7TRWMpsv+KQZbNJba\nFAKJhzD5ZoHbQ/iHo7R+fJGkiSBaTRA2QvF0NKmViHwCZD/6/W64qEGqERJCvYMdNhg9AKTy3sHV\nFCHyf7H33tFRnNna76+qOme1WjlnIYkcTbLIyQkDBoOzPbbHHmfPOIdxNvY45wg4YmwDBgwm5xwk\nkEBIQjmHltTd6txV9w9m7pxvzpz7ed0znplzZp61aq3u1ftdVb363buqn733s7UqlAYZdbWIpPPj\n92rRqxxEwj0EspLxewRa45KxGcNYyOes4QB2dyqa3YdQ7wtBUiz7R+WiGZrMnKn34ff6OdJ+JwN2\nJPHGwHzyXQILNn6LMr8SjUsLw3+Cb+8lMmgybcX7sfgyMXMl9CfAD/fCnBfBGg9broXpn4Eu6hd1\n27/VjMiHlcd+lu1zwtP/Y2dEHgFyBEHIAJqBRcDiv7D5AfjNH/nu0UDfP5TP/q8QcoH3HDSvAI0L\nYm6BsA8iwOctILkJoqat6hMMcT3I4R7c9mi07R4C3Wno2utxF2roH34EfZ8f0tRI5iCR4+mQmILT\n3YIhuwvdlJsQ+ptQuddhsmQiqKuJRNQEu/UYBs+FvSdQr6lFCHlRcgWEtDCYRsLI7+Gnh2HmdVA4\nF7rbEC4T2Nb4EVO/extR2wHuPnBtPT+4IWk77FNQmrsJjE1ETAzj1fcjRmYgpY6Hg+tYt+glpr11\nL+ZJ7QiOUcj2XALOM4S6P0J5U4/vs03oRoAm9SjByFjki95Hv3YZWKzoTn6Ld0gphmofEf/XyOEb\niaRZECo2oOvVor9wCaL7U3TaRMaPGUR0j0CMZwNlOpHfWLLRDHqcpa5HsJbm4C64HN/ITUTsi8hW\nTPiFfrxiA4MPHyESN4dg5edE9zbw4Kvf0zwhikbDEPr1Wk759AQM+WhSfCQXNmJtWUO+Q4P3WwkE\nHeFLH6NvmBO78hChVQvYe0Ei82q+45w5hjptIXp3JVn1h1Da78KeEiLgMRKt9JLasg9hyEgI9MLW\nDxF8+SDXgasHpWUfOLTg9SE4BNSWZBRlJ0KnBTa/CBf8ClLfgNdvgfnJ9FtWI5pAX1oI5XtgUTTk\nfYEcCND51OXEPnEnwoYnYFg2XPo+pI9BEARC8nUcDSYxwf46QrMW8ufD8c0QMwD6WyDQAopMsEOm\nZ4yZ/hwjlvgQ9i49oe4mZJOamjFxdBZkEN/cTdKas/gXXs7OBA/mI72MqRtI/VSB9OTFOCbqoes4\nlxxfj8ccB3PeoSTwAIVrSjhslrC0JLLo9Q8IeVREkhVUmj6EncWgMiM09BG/sR/vkiByYBvimdOw\naDnoLLDpSpj46i8esP+WCPxvnxGpKEpYEITfAD8BEvCJoijlgiDc+sfP3wN+BGYD1YAXuP6/e95f\nBA1vEW78gLNZC7FIMei3ziPYKOM367DFNhPVAKLgI3FvA30TRNorEtDGFYNpD945EfqEZNjuw/SO\ngFTsR8qDoE9Cnl5A3IdhYlwnCU9QqEk7hk13Bf04MHXPJ/xZFhUpJsxvdpC6dTJi5grYacHzq0lo\nlD4Mh2uhOAAnXgPFDcY/1pFGx4OikOYtIqR3o62PwMipcP2HACgbBnPwtYkUPvYphoM+3FP6aRyc\nSO5Xn4E+GoqHkP7KExh/XYlsH86OuFTSKw+R81MU/tVODFNd6F4qoC/RQqfBSfqPXejHFp3nKtNt\naPYE6D18J6ay0YRumECVmMo5DuDgIUat/4yIayWKegD6KBMBKYVSWzdWtUJCGtzW8ixxfX6+zJvG\npf1nMTUdpi91AAZPNzbdHJx0YDrhQr+yAmHIfTBgMdy3HmHtIwi1X1E01I+u/jQJcgWKVUZMDBGJ\nFelIjcbSYqA7S0FT1Yt62lUIwvsohGmeeQu6/u1o7usn+81GBmS2o1TuQWz3oszahtI2FuJfJT06\nGTHLAFXAoW9g3XrEJB0sCaO0g1yrRm7ToP4mjFAUR1J5+fmdf9EdEDMNDnwIpmhobkU5fSUtC0+S\n6TuF0PEDOCIIxOM/uBrX59uIuvkaVKdWwBPHISr+fEfrHxN0GuFGsuW3Cdqz0Hpbof0DmDAMfNWQ\nsQi/updO1Urw2xFEmZSX21EVmGgZMYfKhGqMiWHST/lIf6MUscFN96gsfNHlzF/WDep0Tg0awGm/\ni2BOD55YE+npG5DWLcDsLCXy/nSibP2sufxyfrLcxfuvXIacG4MqvQ1xYASlPAFwI1tngs2IrKxD\nu/Yo/vQw+qnvIRjssOtOGHQb2HL+Ed78/xv/SL765+C/TY/80vi70CORNmTXu/hLP+CH5KmkhWrp\nyFvOxV/mozQmIKXej1L7LoK3iXCBhLzOg2eOFk2JTPszdnS1YezH1IgVs3Bt/IKoRyGsGYpUvAD1\nyWeJmNKRUh6FpQthhkIoezbHk3tIF27EdPs+dIX7OW1ykBGah8HwKKJeB3suIKItwzWzm6hKGeIC\nEA1kL4c1N8CYJ6D+a4j4kRNSKG+BgT9ugjs3wMDZhDpLcG+7BrJAcJswlJ6j+iIzakOE7K8bENwD\nEXZ2cfieMZiyzpHx21ZcBDk4ZRja+XMZXrmNsF1EPeJWbIzGTxOmcwH46B5QGsEKaIP0FYJ5UzMd\ns/Noj3UgpBeSHZyC4cACZKsRWkI0zxqJ2XwvK1ylJFimcJk0nPrOhWQd2ky9NJiaMQ8xWZ2E0vx7\nIroT1KTcjTGSSdK8N2DEBfCri+GHC2Hk08i1Z/HZduFP92B+OwvPlEys0irE72WCIwxUjBtLxvfV\nNA6LQ7etCY3GRsjYixiJRYMdpbUbVUMdOrWRyDgN9htq6V1jJCIuwXZZFJL9eboi69CvXopxXyMU\nDIPimRD4APwCHC0FfxglIQ1KOhHyrNDejmKQURK1iMb886qEXcdhy3Ea8lJwzPOjd3YjeI1w2Exo\nqJO2O2zg6iN5WhgUPaGx0+laEkQiGgs3omcsSribcNkw1KWASoHYsdBzFH9HB90zohCihhIJ1iI1\nukkoT0aeMId67XeUxsQz4mwKySUlMPA0gYo8Qi1nMGAllN2KkDYJ9d6jiKrxhH/1Fc27nqJscA86\nRyKjKveiT1iOaunllKTEs/CWp3nx4DPMeX4dPW/NJzacTk/Pl+jilqH74TmU7LOEhw2gLOzC9H0V\n2U4TQl8AYeE955vXBv36l/Xd/4C/FT1yh7L0Z9m+KfzuH0KP/Dto/wnt94HzFQjE4ct4C611HuKJ\nX6H4NyLnDUAp30OoDZwJ2VgFF/yhm9AUEXU/KMeDCF0S+vvMyM5oVJk5BMbMRCUMRxVOgKYn4dj3\n4J4FzSfw3jiac3ENqLsdSCcUsof+lu4nrsExJYQS50Po6wKvCE4F5/Rx2A6AWFIKEwaA1Qk1TWDN\nA5UWvEdhyEN8lT2WS057Me79kt4x06nUHGDkhi8Qrl5FsOxByguTidcWY1/4OOrRYZRSA/45g/HX\ntGBqaUZj0IGtkF4HGJoqCEtmDBkjEbR6UGSQ+0Dphu4yiHghdQAMvJLODA9Rh2s5mVLBwE1nUCVN\nRBgyBvoV5K3vgMWNz5WKLj3IXtUwYkKpFDT00pdYiUglJqeL5aOv5NrPywnddhcB8X7CvlSitJ/C\nyhXw+FJQq6FtH1R9QcDXTHO2jtRD3+O2JmHpiqJX6cC+rIXji4dSmJiBtsRKX6ic03PC5CkxaF1O\n9C19BDNnE3CIVHW0MPCjVUh3fEjv+gcxXzIBVZYTyfoTgiLBRy9Ax4+QmglTLgExzPlHaQH2vwWZ\nFgiI0LIHMmMhDBEljnB/Gdqiz6H2bXC78IXraM1RSDM1IbgWI3avgoQl+Fd8RscqC/FWJ6pCLQgR\nwsWZOOcPJUp4CC2Dzwt81VwJZ/rB7QN7G4HEC+iyVCH2NaPVjsRjqsF+xEblwCJsoWS6zD9ibkyg\necgYpjaWoKxaS/PiWUQZa/G/ZsOuO41vag+6Q2oETwAh4yIwx0HTWeRLllLm2EKjuJtWzeVc/9KH\nvFQwmdScGBa+8hAKFiIT8lEVpPLOwCJyNPlM9n5J+Pg5+qo7qZqeQ+GzezDNeALV7ucQR05CWPSz\nROv+ZvhbBe3blD/8LNt3hPv+x3La/zsQ+zyyazuK6ySarlsJhx9ATgsSCPiQG5ux1Ibo8yUQ75iI\nvPULpL4Aga9EIr0SxgfjEKw98H0fUq4HdHXQlgEJ40FKAckNJ9JBuw4l5CXk6kRvjCVqQw2R3CIq\nux4lI7oeRZYQagB7FEwrgxeuRm1bQsRzG2JiGKW1DoE4GDUCai3g6wJJgc5TDM+9gUNFnRgLriV2\n7YcMj6QhZM5GibsIpfouJH0rcZ7TCAsj8KqIEPEhVTRy5nf3kN70NjEBLZI3F2tDCLyNSCYPp4cq\n5LmCqFCDYzxok87fLLa/DjkmGHwHTu0bWOe8iOS9AueQfOKUXDiyC2X0fQjpEwgMaEeTOJ9I8xHE\nHS3ISx4AaxEWrZnq4LVkv/gNcbZESp7SEzB/QmFjMraGcpTGsQjXvAOhBlBlQPw4uuJcqDY+RcbX\nDSiDU7Eeb0BxthF0ROFbbGCIsxupYyDkJnOuxolPcnNG52bsqQoEoxW9tRl9Yy8jjh+lOTmWRL+E\n/e5bEfXjUITjCIIaBODmh4GH//o+ufxyqJoHQ76HNUPBdBdIB5CMcYgHdhM5dyeS1kwwupXNhQOZ\n0HYAt2hCTJ1CwNaJ3vMTweJMEkN1SGe18EQZwpbXUFcdJS74HkLja+B68Py/maTnQH4cCq6gT7UR\nj+UsdvdonPZuws6TOCpi2Ds3l32RFG576z0yUuC7y++iuOUsgcM7kQpkYhJ/S//3v8J+01Hk9QmE\nhunRHW0iEmVCWvIlQliG9+cj2pIoaj2DMf1BLJ6vaZ6+hOsjA4hb+jjKxSOQTzXTs6CY+COxLP7x\nEzSDnNR1W9GqEklNWIDw9ZuocsyI9s8Id6hRD3geQVH+PPrsfxD+2eu0/x20AcLV+Pq244uqRa9X\noYRkaAqi82ehbduP4u9D7tbgK5II6NtRV0sE8zSo9fFIY5pRdisIlaCkS5AQj9DUhubNTxHi9sLg\nXNAnoWj9eH/zCP3fPYqpz48uGIU57W00tu+JrjhA7xwz5vdtaKK0MKkbdo6H9AZM68/hj7KgjlsM\nh15BHnY7YtMm6NuLklCMkPA8NGwgUzGzXl7B9YFKbFMlcJ5FaSiFvnloEmLIPnMa5ZU6In3R9Lx7\nJ7HrWtE17mZYyUscyX6cpKgUwo4IwdqnUG1vRWpSSDnQyJf338lkcQrJfyqrj4TAE4DVx1AmWlDo\nwxO6jaAmCnHqQjgjQvn7yKUBxNoSgqNuoUv+gPjO+QhRCnJvC3x/D4IxhpjBZjrmZFKQOI3NtnVM\n8WajT7oRjnwOxo9QPF9D6xn88mpUyjjEMj/Wn7oRipOg4xSCN0xYHWHdjEks3r0G0d+AUrkGQTuS\n1LgMBm9poDe5Afelt6M3zEJzthlWLUaYdxutoVrE3Q8RMdtJdi9FyHwOEsIg/l9cIhQAdT40fQG+\nOjh4AyTNAbETIaQg1FehxEF7KBNzIIQn2oC1zoO06y2iT+oRB3WjNI4kQivCR03n5z0ufh3h08ug\n9nFwbgd1CAq+g6qN4A3D7o8w5+bSM9ZHh24Pse0afAOiqBZV6I5WUjZsBurUhfiSzqFuPYJ48mOU\nS/xEFAmcD+I/VYswUY9081Ikz1sQ7sB59xBiBQ3UfQxKBHo+QYz0kiWOJ9M6CaHABa8+DG0dCFnz\nEE5tR1IdQh49DZ08gtO9PhKddhwnDyFrziHFarAUdiIftSEouQi+WmjSQls1JOZBUv4v7sZ/K/yz\nc9r/gtKsfwHfdyjtg9F0PImxZRiK6w4Mwd9h6BcR3S0IohkxLCN5FBKPOdEf2IN6hB/tsFiki4PQ\nasZrbYdBDrhQjbKtmXDJJILGQchiPqzdAtt2I2w7SOT3t9My24hYoUXf04fmwklQuQYptopu1Q1I\nLV0wdAg0hMHogKCEEJODNv5qKJpFkGh8u35CGfYOSpIPXAch6RIItiN7n2RW2wE0p/bR31CPT/UA\nQs4uhBVBhKZphHemIh7yEBlkJlaXBi++BZ8eQVP0FRMav0Zo3IBauBR1jwGh6CEUbyamnn4Wrazn\nMEc4yGEUFCjbD6t/hDgLbkqxBdajDW0hKHQhRdTgfhyKbyRsbUfWyFg2r0Cq8VI1dTPigFyUys/A\nkQlzn8Hk3Uys9ywxh+9G1Wwgo6YalVyAsPk0xD2CUNNOuO9dVGc6Ub+zAfvWDXCpmZCrlvBmP7IV\n5E4VN63eiEICdAjIt/novXES8vS5qPITMbfFoPpuJQH/JpQtD9I85T5uGvQqTw5bjdgTIcrejRI/\nGEHRgff0X98jsvzn16IEp5yw42o4o4asO5HjJ8HgJ0FtQ5BB3hdHsDOJhPpuLJ/2YVb3o997BmHi\nbNijAmcz4V8NQjGYob+KYMVN9KSeZX9iIpsy8vG7x8LOR8BVB6U9UGOh19gE7m6s0mVoTb9BW+4l\nuaEcrdFHVLiXjjwHXZXVTPvkW8w1A9GsHIzqUDayeTTWexyEHDOJcBD1yRaUzEvQBQfDwVwoeR1K\nd6A0ryOiSwFRg1C9A8rWQGM1fLAdJW0GhPoxho6gCBZ0+vcYHv0cSWYt2ikawoZtMGcyaCyE1f0I\nph6EoA8OfQcr7oP7B8JnvwW/5+/h0f9t/K/XHvkfjfBZCJ9GsC5FOrQFad9uuGgujL0B9Ich4oGG\nKGg9jGx14M2bhvf0WqzWBEQphNIioIlPh+gSgmey0Wr3Io8VkE4eR8jtQVQdg0vfhsYo2Pcrzt0e\nj6rPh6unF+v4QlDCkG0Dy+2IKRdR+VwSAyq2wLgX4dNlkJQIQhqivx6OPEafdxZ6YQt0z0FJSEM5\n1orcMxShX0/k959hb55I/5ZOvNfbabnlAQZlfoXp5q9h+U0YW2r54sc7mFawFN3Rr+EPE6HHjery\ne+FsLbK9BLf7J7pTgtiCE7H/+jvIGIKm/gxzI9kckUr4njVclDsR7aI7kNOqCYQWYWzqQNMVh39E\nHJZdr0JCM5Gsq/BHvsV9WTLx3juI27EMkxyiOWc/kT475FwJpkJE3QV0J8ej14wiPVBNvdJL+ooC\nkDoQPu7Ef00MpF+N7vj7kK+HJBWR7a2IHW5EC1AK6oIIQmYO5gvRSWpyAAAgAElEQVSWwQOXIObN\nR6r8jLaub6ib+RrDNy5DvelzuuWv+DL/HpyFep7XV2G1FuDJMqEqr4PJG0E7+M/7IrATtMXnOwxP\nrIIzS+mb8yZmYwGi2gqXvA/7j4IcQ7DyGGLbB4jTkkGViCAJCEWzkYt7SW8cj3asCaHhIJEiCdUP\nT6CYFboSquhQxWMtG0FIZaM9Yz6OHh1Dd36IvlaGqU9BwRKo+Rqcq1FCp7C6FmPfUEpkmpXIskcR\nTUGCF5mx5Ynk97ajOruHs5MXk2q8AnrbQFHBpt+i7/ESKe1GsO5HmVuM6KhAcXRgrNMSiS4mmJVJ\ncOD3KKl+1HoJjft11F89CzP/ADcthLg45Mh7CFI1fvVVSPJGNC4dQtu94I2GuEx6e03Y7R+juAL0\nnnSjNlRiO70C0ZwMj26B6CRQ/XOX0f1HBP/JS/7+nYj8ExQF2s9CVw3s+xiSC2HcfCiZjby8g9aR\nScRNT6TC7UfrCZEz6ANAC2UXoFRq8VZo0FpBGmuCjghySRud87KI77sDzm4gctW7HNdeT8LTZ1Fl\neLEPDKCJWwxiIqgHsD6uiwjRzD6+G3Xeb+GtBVBvgCGJMDEJyupQHBq8R/ZjmNcGq3Uo2lyESBXK\nyAwEj4GW8V/xHj8w3zCZOBrpYg/RoQHouk8jnlmBZHfia59ITLMKtv54/qZg1kHQAyE3kWFzCHet\nI2S2EU4ch1k1Akm0gqQGUYVTclEmVjI4axKidDPOfispna8hnl7AnknjGec6gNB/P3LeEjqcc+iM\nlhCCIlHOHKJ6uvA2+OlPVkgfehzvtlvwHttFtJCH3KaiN7ufdXOyufgPu4ienkg4sRNvqhvTMQ9C\nZzuEBkN3AUp8LN1spUbvYFBrI3rZBfUeFCEXRQjA+GxEez6hlMM8qZvOqeAQXl1xL5GUEWRecTWq\nSD2c2QI5j+AMrcf89nOobzgCqQP/vBecl4D3ZvhpOeQUo2h38GNmETP79EjZD1Dp6+aTxvVcH/iB\n2LynCO+YikOMQ+gvRcFAXZodxy4XJl8MkQvPUWUr4mDCCOJcjWi7AxR2VaJOCGCsH49O1IMYgO6j\nEL3gPJ0wQg8hAzQ1wPZKSB+OovNBzTY6r7PQHzCR8kkbcrzIyduGcq4+kQ5HIsVNR0nrqUcIyBwq\nuJW0M/vZP/0u5h1fg5yWhLkth0jddagKFdxaNcTaEToK8ITH051VhE/wEFf/EUnLD1N11eUoVg15\n+w4gF09AfG4Truc+RNP/GJqeOiRxOvgP0Bf1Js5vHyBj3mfQtJO+332OLi8L94wmovfVIcx4BCbd\n/cv7L3+7ROQVyrKfZfuNcN2/E5H/UAgCxOefP4pmo1TthO+eRzCMZd/YHvRiF4mV3fQPc9Aal09m\nvQYp8DIMWIPs2Ina/i5iuQul2glREqEl6YgpC3BtegeLJ4ng8WXkHNLRlSnQPSWV2JpTRLq+QUr7\nEsXfSCNlxFc3IATDOLc8id7Sjb74elj7EYwcAFXrEAq+QDt0LZSYweNHNIZRYpOQpS4k+yLi+04y\n1NREdMcHxAe6iAt245LX0IeHmJiFfGgZxlWWT1BKQwTG3I7u+qfA0warboO+MqSiixFaZDT1awjL\nQVpTqxAjArGHGlBlJWDXX8HQ8GHOql/nbP8MivRWElu3cGbUTLy2IKWGdHLb/4Cx+mkcTVocfTrC\nghGdtwfhxAEMeonoSCahjuU0WnZiiPcgxM9E+tUsXHWLOZ0Sx4TRmVjCLrymRk58NpGIw8Bkx9dw\nrhwumI6QcTWh+mqSk2eg33Ynp0ZeRc7juxGf96Je1opQl8jO6S/xYds+nNsrmTekFMUGmfOeQhVa\nAYbFMPRqKLkOS9bV1P1qEdmm2PN7QFEg2A8/7YVQJVz8OdQ/iiscJMpxKVLNwxyI9DPe9gAP+MPk\n+daiqFeyZeIdTFnzEZgTaR+UiLmzDo3LiMcextuSgOmUhxnubdgz2tCdCsOshwi3f4jUWQoeJ4he\nmHg77DgAgTb4uAv0Akgh6BdRDPvxDBRRCzp07iARaxiuN6IS3Qx6vxTzlCC7ddFkq53oDIng6Wdq\ndRj0TrI37MBtWkXQrxDa4idSrKYqJo82JRtHqQqL3orDdJqocxUQ/xtUuwIoWQrp0VvQ+MYgmNqQ\nTtZAvgdT7duEVP2IggsltB5Bm4HFPQ/9QBuUXASZ1xPWaFBPLMHecyFunRvDD1+j2n4QzFGQmAnJ\nWWCxQ/khuOwWMNv+kV7/V/HPzmn/c1/d3xkyQTr5kC5WIOZoSUpZiP7ob7GZc1gnTGfEuaPIsRNx\nYEasvA9FMRPu/QAh3kQow0rfMBlDMISqy4CqqgrH1tdwDU0nMv0P6Ffeg7puK33heDqTYnC356Lf\n34iXzWij45iwpQFcbag0J4jSwb4xoxh3y8MIcTGw24Ui6OHgjYjpfpQTiYgD3KAqQ4mzIrX1IKTt\nRmr5iWmZt9MiqqDsJeRIL4H0AcT0zaY2t5FpliLEZ/34MyoQ9Qlw8hsYewvcsQM2TYOtLyOOux4m\nvIe6YRXJsXMIGLV0yS9gPPojmjGtVFiDbDaOYLS/ArRltIwtwibG0Mg5elXZHMuIJaHTQdqnG1G7\n+1FnpsDwWJSENCL+DqSqaoQvb6Tz9eHYUw3w3dvw7V1kjFGY2mSkPioB6/Td6EsKKL7pfd74vIy+\nrhguy9iO0LwWKr4kobwFOe8QysgXyc5pxXuxBfmgn9AFl2B3C/Qrm7ll8yPkF+YRu7WPvUtu5Bvl\nG37n/gyV/k5QG2HoCqSS6/AUxeDVRjB4umD3C9BQAROWQNpQOLYYxVhAmybIKGEQx42FPKe+gHeE\nCq43p0PUAwhhJ3ktKqrMGuTB4Ag1Y/GZIGMwxknXYdz1JmcvsxG99gjtQizC1CyEtmUEBppJShyC\n3n8IlhtggPV8N+uQK8F2EnQiRJ2DPRLCop8wewQwbCN86k6k1DBSt5vu4RaMA3ykbyhn/RUTULV1\nILQooFEgIR0ME/EMMhKpy0C/oxZVIgRzRpEc/S0J1NIe/RWGgz0YfwrBgjsJH3iemsmdpDYPRRTz\nCPfsRxg2AHa2IW0PIhaPJaw5h2a/HuQomPEarjNXY+qbhZK2H0Echvn2ZWDWIE5YhoE+6nmGGOZh\ncedDSw00nYNt38CPy+HARrh9KRSO+sc6/l/g78VXC4LwEnAxEATOAdcritL7f1v370Tkf4CIhjhu\nJ4OPcIQvRtv8EhhEDnvGM8iuonfCJCxiLPbmDSg2DXL5j6xPuxlF7kOrZGPbOAyPNp1QYjyu0UYC\n04djdOtQVo0HqQrRYcdxtJfohh603ltQjx6C+tllRI6tpeiHjYiDFqEI0Xgr4xj0ymlC6TqU1i6U\n91+DMjcM9CAshfBxCYZ8hxIyE4k3QSgfghnQqGDe9jLZJ78iQoimwRNwFG5GN+YF0r9SSH3wPpov\nlIhc8T3aYRvAc15XBYDYWBg3GnLng9YBOb8GYypa4oi3XI+p2kJdRR11fguL+leS7iwlof9eFGbQ\nHDGQ2NbNuJo9jAzcTcjs4fQjaXROiEIefxeoJiOcsCFuk6AchGg1phoPgZUySkMr6BU4HmHqWR+G\nXBfHO4cTrJ4D5hjuVC1DGPkQzSEF8ELKUJRLRhEaFyJsexnh7R34LrodwZOHPOceukedxO1ZQVOO\nEfuRnbDgZcbZ7uIisYzTGjNdzdeDEiIkCZwesgRX5Dh96+cQXFpI5NQbeEYcpym5hO7el6mLz6DO\nHEZjHshXdV/whm0+X3nWcUvscDQZUyD5KYgopFTsoNURi12twZS0BY08FI18CrGvC9GhYsATW4nV\n+khZKxOtGUxEr8Otj6UhbwD9A1fDzDdh0jPnO007K2D8baB2gWEQGApAowN1G+GKhwn3RrB19yFb\ntehdELIa8Cx0MCOwHdHnBzEE7d3I/VW0FljoMhzDn9aLWi1AvArRcgFm4rAqY/CEillWkMCrcy/F\nt+45asx1JG/oR5t6FeomN6pNTUi9aUQmziKcbyCofEF/QiwRYxKCpwtqXsTS1oEi7cSTPQZX3JfI\n6hDuWj193IeLG7DTjZNPcZoP4s9zwJQFcMcfYJsb3tn5Txew4e+aiNwCFCmKMgioBB76OYv+HbT/\nCvTBWhw969H82IX64HiuGPkyk5MeRRU9A0ffcTB20p15mqpJRWhj36czyUmnpZruUWdwJ3jpMXUj\nCVchakdDqAXPBCOh6AaETBPa2VGkl7tp5nuEt86hTR+Mes1xekZPQ2sWEFoy8F0RTdWyT+j9+E2U\nZyPwewGuUkNLIsrs36CEeuDNhXCmF9WOFuhpRSlfD7Xd0HiOSPNxmiMWkmuKEbd/iO/XBcg/fIOU\nNIFc9Via9PvpUw1HsTqhfMX5L62Ng2D7eX3xoAe6TkLLXlxbFlC/42J2TdFQWlhIXK+LxlAKppx+\nWrvfw997kMya4xT1PoDGa0XfsZzc55rJeMuLHJeKc7wDpb8cLn0MocQHtSAGdIQxENvppdpoJxyb\nDZdeiHjvHkb2ZlH4bhcb6zuobq0CYO5YB6HkmbhT3PQFnUT0nfiDepTtATSpNYhVrxPVbSa6/g2i\nkt8ieMc2hrX7aB8Oh2yb6N86i8LvT5LRYeLVuFv4JHKYM+ynWWyg6EA1MafKISMGUSNhqBtH8vYA\n0b420uKjiO3fzSZvmFatgU8TR2IK90HYAx3t50ejHX4aYfDvKLKe5kxHPIZjx2HcVxCdAQdvA5Ua\nYg3QZEKcOBzjhjdJr7Ez9N6j5DXMxygNh1mLwNUKjjQofhAGXAwzPkJp30XAsRtPWSFKxe+R/AFC\najUqdQQRGSkcpqwwk2BFhC0Jxfh6YqCkkYg2Qm3+T/i8fmJ/KMGkONDk+VFaZTTP/AgBPy1hWFAz\nlzdbnqdYbqVxXC3ptWr0vVEQmA22ZxC0VmjZgdR5gsD8bPptASzuwYhZDTAmgNK+C5xaVP0i5tbB\nWNr60U2qxnLNWcw8hoaRSCQSywTa+YRq7kYmBDo9iP+8oSeM9LOO/y4URdmsKEr4j28PAsn/X/Z/\nwr/pkf8AJVILvkdAGg69jyNcWwSWOMz/r8Vo9KZs2n2TMZeMZGePyJaMKRS3fY2OBxBiRhD15c2I\ng7VInmoEcTzCJXUorQ/QPOtzzF49ISmX6LIkGmPLyDIJCLc+ibTueXSbdpNu34o/WoeqQ03Oyfco\nGaIw/oSdcFYukm07/Z9JhM6sJ1TnIiYvDqFGgHIzkSIHkqEKGkTIh4YRKUQZFiB6BxDa+S26QBPy\n1IuQ5j2G0LaT/M/fIxSjAckD5R9B0bWgS4K+09C6H7YsIUSQo6NHUzLZhhguJq6lk1HrzhI12YDR\neyv90rukRJ/GvPU4wVf0KG/lgDIJArlI3qOY9d1Y6oYjuMbAivvB+DlCggyigHymD71NxH51CsJp\nkbr6LmJSb6LnyJOkqrNJ1L/HvGAf5fdvosypJa9uNimZibhGZnJfyY08GCwl3FxOzOW3IpplVMd/\nDxN2oNkWoM11lEsmT8AWOwEKg8QyBOeMYxhcl6JtXcb8Q+U8NGEAuqNnWSycRcl/AE90G+bel6He\niDDtKThzJ7LXSN1xO2ekceRlqplsWAb+eki4HFpWgW4W3DwCFo7Dr9uGodJLwBRNa88uEiqT4KKt\n8FoOnDwEo8fByQPgqYZeNSQXQZEFnlsCC56F6ZfBzqXgrITKtWBNR5Eh0tGNIAq4C60E3T30ORzQ\nH8Ra5sIz/zKCmipi1DLGJJnscC2Ndj25A0XC/gCO72oJZh7A4LcRinSDdzSR9Apahg7l/dUbaEnO\n482BBeS0rkbwriPDfA9iw90osVqENy+Em34Ay6V4Cg7jNp/GVq8l6kQEIfEANCmEh/waNF8h1fcR\nsV+BFN4EAQecvBnBOhIhfi6mwFiImgCCQDoX0MrHdLKKuP+kJ/fPhX8Qp30DsPLnGP67egRQgmsg\nUgaRajA8gyD+Fze8cBj5zEt4mp6FL0UaktNoHjOOiTN70KofQ/TEIB+6m6D9B+QUEcU+GwUVeHrw\nB0sh6EN0CGjcE2nsE0jarWCpr4aH9hP57mrcu9bSd9qCPstHpDtCmyqOxPpWbE9B8PMoVIKMelo0\nYRdE4o3oXI0IcZcTSCpD1VCK5HQgdLUjX7MK0fQchOzwhQtl0AWIdJ9XLNQ5oGE3aC2QkwanbZB5\nKSy9H0pOw9AYWDAY0oYRzF7IOvfrZHa3MzjcgFzuRrx4OaIlD6XmNfz+1wkkSGh+bUEJxaNdMhiV\nZRtUzkUZsgOlvxW56EVCpZ+jT++GZ2pRlBDuay10DDSR2NUNkVvor/gOudFDb/4QsvOvQlp9J/hk\nIh41H9++kuJH78f4wykst6YQnCBwxYrXeeHuaMxTdhPpOUfWtK+JbCjEc+4uKr7dzYUP3AyxQyBY\nAa4v6Y8ZgabvDSLGYailxfQKA9jTv4vZdU+jOTYYypeDyg/ZCnJWBs6R49C59+KskIhub0GVOB7t\nyJWgsYIcguNXwqBlsDSb8Gkrng9ysf7oorYzwKmFF3LJB3sRBl8Ch5+A9gDoNTBnGGQdhAYtjGwB\ngx22/gDrvoLXvoQND4IjC45/Du2lcMVy+OZKmPkWke0fIlaWceo3hWS3nkR/Mgh6Az3TzeiaIhi6\nO9gzcCytUTFc/sN6Am4JXRhESQPDTITyZIK2PbxR/h0HbAU88sULjDpylPZHr6Yv6hA5zkeRRs9E\nfikGRBlxuA2+lPDPi6d/sg9dTRP6+E8Q+9vg9Isw8FVQa6FzEXwKZMTDgqsg+fnzkgd9R6D1G6h/\nA2JmQdEHoI0HIEQPan4Zxb+/VfVIsbLxZ9nuFP6TLvh/0u8WBGErEP9Xlj+iKMraP9o8AowALv85\nwe5fPmgr/nfBexvof4+gf/y/tOt+dQHqnnZU17bQf1aFpFOz1zMM18h0LrM9j1bzNuoqE9RvhoyJ\n0H0PVAyA9UcgIQElX0MgqYFIph3Rm0LIX0CTtoqCDWdRVKm4j3Ti97XjcWtInB2Lb5qbY9EDiY/u\npXDnSQRhIvh7ob4auc9P3eQE0k8GEa94Bzr2ozjfRFEVInZmwoJPUcRG6JiPt0xCLnoOc8xU6GqE\nlQ/ApFvPD1So/RISYuGoDNMugNX7IXYEnC6F7g72XuqnSNWOueBW6L8NIZSPePZCGHshlN6IHK+m\nNy6ERrRgcuWghGciVL8MdTlwzWrkUxfiq62DmDcwBvwo794Hn23CGS3S23Q7hlAvEa2K6CY34TM5\nNHTJ5Fiy0Jw5gJJeiHDiR0gpomzGBShHTpFQkYG5eAvesJmbypczKncbc4uOkr18E0SlcuisneGf\nbkNjsf7xx1Wg5QqU+A8JuIagtu0mqDyDlicQW++B2FdAiIWXLoCz5SjFUbgvsONKlzF1BNmRWMyU\nYytRd49E72whHJWJKu5iKH8JJAtKxu/otb2Ape8JpNYVBPef5MxAEwZzHDmlnZBxDlrDoBkBv/kE\nvr0ACg2QMQr0t4F6CoRC56+1dgfUBuDOuXDbKOgthwY3SlQqWNNQqss4/mAWwyorESp9CNeV0NNx\nC/pdx/AM01I5ahKesjBTV21A1sqQY0CaW0qo9S7eYQo7ndP5TesDZI4qwaC5iJ6+MnSlzSi9MskH\nO1Frgihjowm0eNDLDpg9B+XlrxEu0oDYASlTzjcZNasgKgZs8SBugfdPwaVTIMEC9osh9rrzlVjB\nbvCUn+9FUFnBOvwX8+E/4W8VtMcrm3+W7V5h+t/ifNcBtwBTFEXx/pw1/9L0iBJpBKUfLEdAGvrX\njQIe2PgwwggzykgdTvWNiJ6fMJ79AWfWWEz9Zfg7TfQMLCIlbwzkX3l+XU8M9DwGF6lAb0OYsx7d\nkXfhRBf0bkY/4SFS5Q6YnoDw2jUYs/pRX6hBXapC11mPN2Ri0GEDznktRLqiUEl+GHcDJBzD2VlB\nKD6CKHbBnm/B4EEQDAi9iWBQg8qIIBbiTtjFDsevmeFfgfLtjwi1++HmH8CRfv4aO89A9e8hPA+6\n9sLtz4IuHuQIyvKpjI2yogy4C3HltYQy7IhpfYgpb0LrYcj5FvHI3ZjTfo/H8DQ+IYReEUA9GHpV\nYHXgDb9G77MzSLziCUKxQ1HlihxR6WhzLmdUfQ+hAbGkRB1EUW0gknSCjFQLfvkkwjtqvFMOYLCP\nQx1lIi6ul5jigzx6xwsMDi9hftvLPJ19DyvVs3in6VGeLW6k4nsjqdfcjsb0ZzILuQf8xxC6n0Gl\nycXDd4jKDlSuVkTjXFAnQ7AHomxgNRExalHsWcR5ZnMu6iAjPQ2IIRV+TzW90TJx+zZB6gFIK0TR\nhekf24I+9BzSTR/DJRLqW7+i5/Qr1E00YEjJJumTMsifAkOnQvuLMHUjrH8NBn8IvnfB9w7obwX1\nNMibgXfNrXiuupJY/0+QOxLifVBxGDo76Lwzg+gzHtjeDwURlMcHY1IbCRUr9NqsaIQmMpt6IWJA\nqu4nVBjmq7rnWRm+h6sN77GyYymao06UTpm6i3cQsamwDx2O9UAJ3fnxRJfV4fo6gHa+TKQ6hLTp\nKMKF46B+G2RJ529uLQdAEwbnGeRBH0BPP2KKB4a9Bf7jKO8tQfB/BvmT4KqHwT7xF/XfXwp/L3pE\nEISZwO+AC39uwIZ/8USkIKUgSDcjdLkRar+A+m//T4Oq7fD5Ihh2NdYRCsbwUZLEeUQXvoIsOLh6\n3UfMXbuDqPKZpFTp/09xHMN4EPUwZw9cuhW00TDmfrj2Q5BUcOBBjENvhPJqfBmpPHnXSziNdtxF\niShDQIjXEO2soql1HCeKL0bxnoCddxGxF1K5aAY5h86BuwkGR8HG9VAWD0MmQM1P4KwHRaFF6MDp\nTEL8uB0Sj6AsegzW3Q2HPzlfqTDyVrCNB3sjnC4BXTzKiU9Qls9AKVCIjJpD2LQLxr2OLGuhqQcC\ngyEYDcp30OJDbZ+HRncVnrgeAjGDoOBGaN4JTy9EOv47EswiYY+KyPRt+HwqBq6+jFyhj2jbFLQ2\ngZDkRIi/FFXbKQzK/Vh6X0CyTQR/gDPDQuzOVrMhWoUv4XEm++p5yRBFq2ggfshtzMo9CqqjrHPO\nZ9/uakyDx/1FgssM1mtB3oQUdhPkBOrwzUhl20E9E3pL4OjVKGIz4VQZ2ZyM1bEaMXohBukcMfv3\nnB/Ua8wkbvQ+xKKF0O6GcBrupFpk51Z04nSUZ5bCiWMI8flk11TSptWwL6ebSNJlyCf2o+QGoX8D\n2FM4r0hlBM0SoBjF9Tz0TIA9t6Hy72H3RTk0zHoBPKdACiDo7HhM8VQVxWIv8KO0ywQGCIQLIoSu\nDyNkQlSmh9z2BDJMkxAjKpBiUfUWYqgJsTb0MHMjmyDfgWySCe5UsK1uI+/Ns6g3bKZD48Pa1kEk\nSY041oyqV0AJuaDnKJzaCM4AtESgaj8gQc7bEHcn7HkGZftOwAAf3AVPPwmVFug5DnNvBukvEnWK\n8udKpX9y/B2rR94CzMAWQRBKBEF47+cs+pd+0gZAbYJAN5S/eH5AbuP3IJmgqRq0KbB4GYrOjtJ/\nFEn9AcKptWjKV9GtT2bnsAJmby9HnH8HfPsm3PvRnwO31gax48EQA2obrJkHl68hxE76b48gOTvQ\n7boclyaZxy69mRvXfoEtPUyowktg6u1oPZsJ5vaSe/YE+o4eaAhCcjRnhseQxxxEaSUIBth2CtSx\n55tBjF9CRip8eQOkjcWiC3NZXQ2qG1eBSQX9t6JceQuR062o3h2PMuM5hOKVcOxq2O+GxjJY8WtI\n1xIYVIQSeRG9tANhQBSqwLcITY2QlgM7wnDxeMhZDs7vUEcNAqEDj/gCkupKgpfq6UncS0QJ0+cY\niXqak/7mIgZqT6E2TUfV34k66WG0wioCkY9Qqx4D+1io/wB8+YixQ+lzJ3F0QiwtSiMJXc1sDVQj\nGXU8KBs4GD2EJN8qmu2xDL14L5T6uWT1NVhNPVC5F1CgejXUnoCbSsG1B0E/DzNFiF13woEC6JkJ\nMXnI3nEEV28iLKiIqOpoG/8IAe02DDV9qF0yWls6zN51/jcdshj2rCE8dDbe+J8w9+SgbLsIOnej\nZA1AePkBQnExlMr53PHwh4TW1aL97RwEz2lIfBfUiWByEPx/2HvP6LbOa133+RZ6I0CQYO+kSKpQ\nlapUtSzJVo1ky7LkIvca19iOE/eSuCru3Vbc5G7LsmVbsnrvjWLvvZMgSPSy1v3B3J1zz84+12fv\n7MQ5x88YGAsD4wMWBoD5jg9zvXPOgf00yM/h0jaSJs0gvnM5tCxGe+UoFrc08bQJLnPayDQ1oIzv\nw6D2k3nGh76sB/kmgaQXyLkS+pN+wpOHY9W+jrriHVDs4PchZBAJk1gw9tfcfrCNRwKXoE2rRw6r\n0fSEMLaE8QVj6V2oJfWrbtTxw8ARj+XAbpQRKvqtcVj6fajV7qG2sKWAuhE8URDcDcljkW2dRDpc\nSE0ZiHFFyIsmQ9ljCONNYPlLsVIkAtvegJLdkDYSLnzgX6Lr3z/Kp60oSs5/5nn/1+e0/w05An1l\n4OyGvU/BxOWgDUL/WRRvC7Q2ITwRyDsfxt/IaYOf/hO3MuPIWVRL7oP9b0DGozBr1V9fs2kTNO1H\nOfYtireV4Io0lKADxduPfmMv8vk9dJhiUA7Mwl5TjbHkOC13X0h40f2kHXqLoOd7dJ4JlI7Uk/Pu\nFrTVfZTcuZAxcU/AmUdh5Ex452VorYDLJ0OaF1onwuHjUH2WktWXkjPnefQ774CmzSgaHcRoaJ02\nDN8PMXQnapnWLcCyE9rmoDRshpnRRGZeQUQ7iEZ1O1LHS1C/m9CIO/BFdRG1eR0c7R+6eBn8Hs5f\nguKuIGKYiU+1CZ/Vg0+WCWolmo4mkNvjJGlbPZLKggjawdRK78QYYpYXEzC345ZfIUb1Gn0ti7GU\nb0EjvQSObBg1FyQVu/iCWtcPXNJ8HgZDAJo347UZqEuqIoLn+fQAACAASURBVNV8AlfvGLR1A8R3\ntiP6B4c+d10W1AlYcTlo3RDZAtZfgynIoPgI6YgbU2AsirqVgH8/ql1qQg0eAqP0dK+JQzNwHkmN\nCrqu9TAjFQrrhl63px7uG47vqiykya+jYyb4ulB2LIWWYzh7s4nSjeawp4mxZT60U8aiXXA5WAfB\nPAciZwi13kVdahwdES9ZzQqpJzqgsQYc8RCfAFl+Ip09rBt9OysPf0Z6SxWeEMhWDVEjrkZUVKNM\nmA1HXoQcI7gGEW1hiHdBsQRqHZEuFzWjJ/B+yoXcmv0KJqUbnexHlApUHpnIuCn4Te0YB6xIvrOg\nAD8CZQrKcDWukAGLLogqHB4S3mZAI0Argc4I+iIU/wnC4wyoF70PCTOQ6/LB50PVVQTjHwDrcNj/\nMWx6BtJGwa/f+/e7778zf6+c9ljl0E9ae1pM/aWM/Z9K4yHYsAbGXwprvxkaMACgKIjPc2HCHZA8\nF/rPQu8Rxoa7qfG6qByzmNzAW6hrW6Hhc5ixHIiAZCDUuBtV8YuIdiDLgq6iHeF4Ht/okZzId/G5\n9yiPNr+KPu8HvOooaFBw7CynI/YNVHteRYyIJTxhBbk16xgsHEvV5BayfzwDrILBHrCMBncnTJ4O\n3j6IeQDK94KnHXn+LfijfOjfuwr6SqHbhkjV0u3yUyoE/fYI/rgI34upXNxWRn5cM6pqoOgwKkM0\nKqFi0PUtxoYfkWMrEGE/6l3fQcEjID8JNV/AYh+B4B6KzQ5yPO8TtqrpNUwgqucw0YcnkVi2A2Ou\nD7EigijLgJIASm4mWmszPDYGrS0N3RQfnAMG+/U0jSsnbvOLmAq+QJKGAlwJDxLd1s1guAtD8gWQ\nfSlnlHk4umUMP47C2+RGE9NPz3kKQjYQ9YUaTW8iYrYdeveCKQGkHFA+QAm047dBeKYZ42cZuOKO\nYm4IwqCMaoKg/7Ys0sXHBJ/7A5GdX+AaH49+sI9Qzit0iZtxhtNJmbQE+7eb2RHpp9gATn8c/ZbD\njLa9zemgzK2vPktmyiDh76swf3A9tOyFhk7k92+k6Z2lODMLyXi7ksTnDmLZsB7Eu0PXQVK8oNJD\nRSuq2Dxuf/4Az1+4irkpGka5Pkermow49RFkDkdsfxzyc1E8PSC6wJYOpzJw21soXhbPPtds9tfP\n4bboT2nOd2CtSMSWXkNd5Vgy/JV4E32kVo9HGvMUSsV5CNtEwvfcibJxBuovgvifn4HBdwRVeS+c\nESiFKgRGiJsEzjCk6lAmXg413yFix8OPv4fhWqSsE9C5Fr6bBy0ToXApPLwDjNb/dsH+exJA989+\nC/9LfhFtgL6GoenRo34FE6/8q2ADRHphyjzwvAeWa4aGANS9CWE3mZn3sE0+QYziJq4ygMhpgvaX\noP1TKI9DHZLAMRKRWIBQzkL0WHx2F1+0fckOs4NXvn4EvasJtLFI7g4iv49CrU4m5quN1C2dR3hq\nOSl7rsWTfzvNiVb6lRZy92+AnEKIFijH1oMGhK8FRo8C41jovxamL6X5vF+jSJ3QWwklreCrgDN+\nHNOuInVSAa2qckIDPu4ueR1rfz8YAJsd3lkMN+5CjnTiqr+Dg4VjyfWmkiZpkSIl8PQVyOeoEUYZ\n90kDFUuyMBraCO0Bh/FeHOWvoRS7CUUdRnV+HrxThRyvRzr/cUTn8whlNwZ7GHlSLpJHQlfcDElv\nYMi7huyOM4Tr3qTJvRqVdQ4e3Rw0ERVFu5txT34fszeXsH4TCD9WRzreZVFE1wfQHf6a0HcyPSUW\nnMEcoq+8Cu2YK4bmLbZ8C3UboGYfIsZBzPQDdOvvpy/pfUxtatTVaugJog5byHhYi9Bch661AqXA\nhOrchQR+/JLADQ/QPW4LJ4teomnk/Swq38nkgRdIzF2KTQfROjDXxtL98lOoz48l2iARCVxC0N+O\nZtfH9MnxNDwyiRTTWtL784nE/0DY0Qktm2H+HyFlElR9BX++DEbb4cedaAes/GbUS7zo+pjA+D8z\nTZ095BNv/QbMQKAcMXUdiGMg18CCCXRvqWB9+Q0E9F5uNrzJU5bHeGjwZlyJqcRGFeN3Bqi8JBn7\nUQ9q3CgnVxEZMRWpr4/A5/MQWhXqTCMJ3wVQpvWhxEl096VzY9s6pkiHKHKeYcTspVhmnwMNVyBC\nATj6JorUAm3diL4fhtrVWqJhxSrI/Xn7sf8j/pltV38Kv6RHAHyuocnR/6t8W7gPPHXgqoT+Yoib\nAsE2/FWbeWfqBK579m00N+6GvX9EqfseEeiFGAv4B1HCwCAMJibw8oK16FLsDFcdJKrUSJFnFCJq\nPgPfP0p4WgW2gWq6bQnEfZWBe3gdqrE2VJ58SqZPRC9pGGg/yvjHfqTlriVoHeNwd+wl9+1tqKZd\nCkVL4KUVoI1j231vMJHp2LCDqxdeuwUCPRDWg7eJ7owgnRYVI0Q00uofoWo3bHwY7FbIngRZRrrM\nHswJN+DzvEV0/zsMxgfQ7RPoyrsRFhORkJnWaVlgn0fqpl2IsWNQDE6U1q1EhllRd46Fs8XIrjCq\nK5ZC8QjINKKc2kLY8SWavjT6M4dj/WEvwhOEDCN804086Wp6I1tpSI0h9ZLfYvn6bgxRPWyedzPT\niUPT48CSeNW/fTVydymu9VfhXnQV2sZEGr/YgMpkx5iSTuqyOZgbV0CvF2r7IXUBkfFXQNVVqKIC\nED0HPjgBw3XQmAx6D4RU+FYH0elXIfneRvk+CufwOAI/DCDCWqLOn4ax8RO4+F1IWojS0U7grrUE\nH7RhyX4X8eoyFKOG9tAZ9OowXuskEkfei2pEEQCRrz5HtL6PNO9alLzFuJzPYfvsMEzVg+Y7+HY2\n2HtAqUQu/BOvjhvFFLkKh1REeksLFN8DvbUw5QowbgJvF86jq7mJVVyYa+ECnuO6jsno8wd4JPI1\nNpeHvtxeBpr0pPRng2c7KvsUZOUEqpMBCEagCSIFmagXf8nABedy6qrpmM29bCx+gmHpA3iTi1gT\n+2usGefhjvsKfU0lSnkXGuPNRIbVIH1UiehzwqpHYcIacDeBOe2v8fMPmGLz90qPZCslP2ltrRj1\ny4zIv8U/LKf9U9g7b8h/es4ROHEp2M4luP1+ynPjSD7ZRpTPgyc9He+wdHqjmhg0x5LS0EpcdRch\nYzIfzlrDiZhh3B38kjhdLs2uEWT8+Smsh120XV2Eb1w2aa4jbM9bTn5nM2kfPkvQlYlu3mIkSQcz\nnkD58Ep65cNYS0O4fv8QwZ63sZ06jpz7BOYfngJ/N4oth2/vuIGl/KUlphyGHwpBdy78WAmF86nV\n7eVgtp7Lzu6GgemABLFJYM2Bk9/DebcQHniC0wU6ciwFaIP7CUckzMaPkVzv4it/ikibGk+aHp3O\nhs4yG0P5pyhxAtnfTyRZjTZqHnQcRvlagTUfIkIp8PidcGA78jgIi1gkrYRkkAnESej7ulBMZrh2\nDwcdR8kwZaDvehZr6WG86efjDVZgPjGIZcL9Q5PLRRq4uvFvuYvGaw0kn03ClDgaEWlgUNzLjqIi\nlOAA056cRfyqx+DsaWg9Bke/glgJxnhg2Fo4+iZ0KeBJhhYP8uQIgSkpGHJ+gO4n4Mz7IF8H0+vx\nirupKr+T3MNuDLEDKHkfEbr+SjR33U1wiR1/1VNoNpRRe2UGMaWDxB2wwx+TURQPGus2hLsP+elp\nUHQV4rz76T92LQHVHhJiPgXxB5BSYeULsGoyyoAZsutQEsbxxqSRXKp6Br20GvX+GoTpMAwmEm4p\nxJ1azWXhT3k65iWGWwIocgb3lOkZN/UIlcUruTvlM7ryIG2dCtX43YTVA8ixOahPVCKcQL8GaaQB\nEqxQK+M+4EKfFYN6TDe0qgldsJ1P4spYpizG4rwVt60SQyUowVLUqsfg1O8Q5mTIngFNh8E+HGJH\nDV3YlwxDx86vwFIACavAWvjfIuB/L9FOV8p/0tpGMfyXnPbPkv6GIa/22a/B04BsXIC0/iro3AKD\nm9D6TLQsT6QlO57eeBsju1zkNNcRU9OEdqASEWUlEp2O8Dm54oOXWRuyEJkpo/mhh4LRHtqSJqHz\nf0skeRyRuHoi1jJaVRPI6Cvn+ctuorDiLBO/+ADDrAzEdyrE4Q/Q/mE/nsAaYj/cBJNLUHwq+sW7\nBGfYUVcPJ9xzjMSOyFAdlqLAmZsgWA0VZbDyFagdJLVMoWtWLPJBNdK4PhB3ws4bYdhsuP0TIm9d\nQ9XsZoaFu9Gd7aNx+KWk972IZIwH2/3oMk/jy9yB1jJApM+DP2ojSpoZXWsLyBpCg0bC5WUY/XqU\nrAfhwccRHxxAeec75HcTiKg9uGdqafVGoyWEPqwi0etBKTPSf/ImYpadR0pgKv4qP6pIgCjnt5hr\nwwRIpnh0DiPPnkD10nJkfSxbn72dSd6DOEfsRVe7Cc2IE1jMuSxrqyPY20PA6UeJzkdML4THn4cC\nPej74ZgGGuvhlAKFapiYAKVnCGaB9pARRqRC9KWQsxk27QPXLIwVy8lzeWifnUVq4lykzVejfe0d\nxDXz0ZdegnzNVLy3KMS3hIg9Pohq6rlEarXQsIXwohtQH05AyJ0wdhmDDXfRbd1OTtVEyAvCYA6E\nroFlXhi7jJ7Wm7Glr0bj3MsVR0IUD1tOmqaYuJgOpCNT6Hc2s2rcm6yUnuYD/Txs2R+D1wQ/PErx\n5N/g7DfzO/2D1BVIZJ+4HrX5M5AmoC49CIEqfAWpBC/NQRs2o+3yoDrTgtBVYD7HBPUKeOJQigr5\nLq6ZmcwgSljB9hrCn4e63EgkVgvxr8G8aXB8FIx8EnLdsPPOoRx24kiISoCIDzR2EFoID4ASGrr/\nM+WX1qz/qgy2w87fwcEPoNwM7gGIy6Hp+jNktJvA44U0I9izmFhxmrDQUtuZSnTcEqwDITgzABkS\n2IyoW8pRa9ag5FUhG0ugIhlP8jI824vR7fyaAaOXyMUPoxrlQDVdsNKxG62hm2s0vdSkLGPfOVHU\njJ7Er3Z/jG7ZA8RGT0OZchF0vAmGWIRmFraWjwhLGrBX4EvVM3LbKTD8FoQZuj5DSb0MJb4aafcT\ncHcd2n1BtOF2XFEOosvLwHYeVAMZw+nSHCRwXR1JzkyiDmkItQZJfvNWfBEzjM9Hd/6leKOOoYR1\nRH3vRWrxIceMwF+QiE84CafIBHNNiOQ+lP6LcAdO4dG7CfVeRZSrBXWOgr8unqiIm9v9H/Oh3Y+t\nczvwFe3z7TSkKIxtfh78n6COdNGbs4TY8lOI7mY0s5y0B3ahVB8kKj+FY+eMYXL5aeKr3URMQZzn\nzMeor8fMaOQeN7rEzKEKarcL7poNaW0QSIJhnWDVQk8eqA6APAEOxaGMbEfO6kQ6chLl0xHQHUE0\ndUKUDaWrFu7/CsML55CWswL12EdB/QyYW+CdrXDqIMYNHYTvvgS//knIHwWBM6i+PAPnPobE9SD+\nRKh9Edr4Ajw1XZglDwPzx2Nrfgj0dxIwRNh7wwhST6xDrDER+6EGOTwaedUIxn5+D6ruEEr2cEKX\nm3ml8gXaa/oYHnWUqPgsGFDD7vt5dMTNrEj6gFG9MuHRYXRyLE71n4lktmApAWV4Gq0ztJjMj2KP\nTCdSdxthZzHB89NQu9vRlJihzYy48CjOlnkkyXGk9zRBXBqKpCAiwyBxF2AjkjYBVWA5pN0DgWlg\nuAjmPA/rRwy1h03Xgmk4JF0Ajgt+sfz9HfhFtP9nwn4480fo2AN6M9yyC0VtRQSLoXM9beMGiTHX\nYWkIQ2QAIieI8WupScjDljaDQ9FTyNpfCuZqSE6FJDU4m1EKF+JLVqOT30TVtJGo8CmYdSGMSUG5\n/vcU3z0fqbkZT1cBxksew6UP4+j8jAlyEvS1MN5rQe0NczYtlZmKggh+BMkDkPAoWCciwrNQt67D\np6rG3BJEmjQS+pNRtq8lHDDy6jV6VrzURoLRjbf+dXRdr2GaPpOqMYLCL1qQJmhQRsWhaLoIuNfi\n1J9HyltaROl2pEQrvk4Nvm0egpIPbcbTcDyIEBpETJA6ewH++CjSP9qGyeZBSSvCk1hMIAydGQ1Y\nvzlNYukiQhX9eGcqGIMmlNPTULd+ymvnXstgioZgrIwuqEH2hxl90o3NHIb2WlRWmZjOA1DuQ6za\nRU36IVJCBrYvy6dPPYf5jcWkl7QCJUgp9+Go6KU/6km6Bm/BVpKAatQ8sOTC8bPQXQnz1sCp9TAs\nd2iava8G/4qH0FTtRBUpJWSPQ1MzAaK+hYFKmGVDaYqHzDGEtm9G/UUjItqOuu8b4FGYdBd8vxYm\n3gVT7oOTB+nc/SAxaUH88ZWYyk1gSYJAG0Ibgxx3ESL/OyLChzvHRtqpVFT7nkDpc1Opz0cJpzPm\nhRcpfiuHPsbhuqyNzF4P5q/eIThiHsbUe1B1HSaweyvXxP6eO2aBclaF5FOhVKzhDxl/Yo9hNs+Z\nTaTENhFsFoQ7vsdy0oV8MEi7YQb9CeUk+KOxmxdBqJLq+H3kxTwC7XFE2u7Dl1iHcnMcg6r76NKm\nMXHPNZD2G4ibTjhyBOE2QeL9iP4/QVsVInwAmgUo6yByN2jHwOwLoLkYgiFIngWxS/8lBBt+Ee1/\nPdR6GPcQVL0DnXuh8QPC/dtR9fUidAL16JH0O9KxKF6I+RC+Wo4qvIic0046tJ9wgWUnbGmDog54\nMREcMSjLkvHYbkIbvA2VfhxkjYNAK3wxE85fgtDI+J6/kBapmZgHz2I9WY/j/FUgqkGJJpBhxhL4\nEd0F25mZMgZaXwB9L6jHgf1qiOqFuqdQOn2oYiUigQT8Ha+h2xlAnRuDeiCeK77uZ3DiSvyde9Ac\n+wPhiQESFC3tSYkEJptR7dIRXB0g1DqA1HsFIzMeRNynJVxxMaGmlRiyHsR487NoBnxo2gMEcjVI\n4SCh0xCsb0OrgPeMBs1qNUqtAckbwFATT6x7MhQXI48rQN35INW2h7DST+M0HU2Oi/nViE0Ee4yY\ngj6M4UIitiloRl0F1a+i+N5CfOmDFB+RZRo89vVEVPHUqasYTSGtiszEuuNgTYImB+QqMOaPSGvX\noig19L2bjt0/D7W7Fam3Hl7dCzU7ICGJUMcqygKb2X9VCkFNC0Vt3Tj63cTq6jFXTkWYh0F0NkqL\nHV/6ZgajDsHlY4i//xBDIwSD0BAPGYVQ9BJsvxUWf0hkvBU5OIj15TCD50/FZ+jBkPBbqN0JH61C\nLgEpezQdh1aQYDCg7Ywga3PonehDa+mlobmdsodHMlpdhXVdIrImyN4pBiwxhWTcuxur4X7sD85B\n57ARp56K68wGzOlGIp4SzqScR1LqcqyBMNH6TtpECTFpS4h5K4T69Y85Va1FPe4AaStHYq+OQN0m\nvKZaTGYHoqEEFAV13ruIDQ/ivikWT/A7ckJG+LYKnhlygvhV7yHFpsLRjQh1CKEehGG/haNdsOgj\niPTBwCNDsZT3JUQCoEv7D8Pt50gg+PNN3cAvov23kVSQfx2k54DzGlSRBvoVC8YyHcP2teKzCqgI\ngFgMZgm6jqCabMSgm4vv8BH0a92wRYExY8GYRCAlioh+Ex5pFzLfolcWwmAHjHhqyGFSdSnjglVY\nR9xLz6MXE3juKTJqShCz41C0dfRm9JEYcSHireDaR8i/H8UUQWMtQvS9Dr6TkPUibve1aLu1aDW1\nKNtUyONCREY+hKppA9auL7GO2g+yAuVN4P8TMVI+bdoX8Semok/VYmpfg2JKwF6zE7rvQ/E0E4ic\nQiurCAZepn3URHKPdqLYihmYNBb7gZOExqaTOz8GlbcYxRtGEVHI9fshIqEN6SH0AcxRIUzfIO0d\nxpjoZ5HO9GEYfz7SZA/ummj68/NJ6V0InR+jic4AQx4B1ykiKgXfuSm0z0pD16/DceIMjgwPuoQF\nuHRlzI2koDKqoD4Nxt8ORjfKFwvQz27GMi4O5cx8etOfxmgchrh+EK3UiFqej1A3ot74KCOzEsj6\neDzVk0tIcg7iuXwMqk8rEZ++DeEw/CaaiKWRj2yXcYFmA2ZfH8owAR12aA4jErzQfAjFeDNixFjk\nvWtwzlOQSsejSpOxfhmmf0EvUnYUutGvgRzh8GU3sduiYVwBzNl5EGXeH4l89gz2I13os38ktW8F\nzuV27I2nqVk5nMr0FPRosHmjaI4KYRzcxamAj+E1o+hWf4ZGn4BNMwa5v4bho3fQEfMaif35GFwO\nNJ9l49r6HoqxCvsKM1mJFnRpHowvn0S5xYA49CbGnd+jLUiB1WNh+HJYN5mKMaM43O5jpftajIEa\nOFgHG14gcvnFhNiEXvM0FL2KqLwI+rfD2atA7QMlAio7RL8AwWLouxjkfojbDZL1nx3VP5lI+Oct\ni7+4R/7/kD3geY9B/UHCymks5T5qok3klwyANwSuDpSgBhEOwACcLSpi+PfHETMjBEZfQzAtAr17\n8KuDhKRoUkwHEEIPjWvhSC30HIRpNyEbOojILjSZH9BV9Tix929HSpJo+E0GjgNOTDOjIeUduvsW\now1XofHbMB7zQ8FcGPUJigjSE7qS2Md7ENqjKFlhlKAEJpAi58CpbuhwwkVLISUPTrxHaeEaOkdk\nkNDwFiM+bYOREYidCF1VMOc5fI33IJUdRVfSTcSupXv6hQQcFSR2xiA69qE0SASkuRhT8lA1HoFp\ng9BeDx2C4Dw76v5mhBxC+LTQbyJyZhlS33co85MIxlTjNavRdoyka5IXnaEAS72Mpauc3oEYtKpj\naPwB5EVlGMIf0qaawd5gLcu/L0Y2bUWfW43XYsRg2ov6hRVwdwXhphZCHyxFP6ISMf19ON2I8t1j\nKJlT8Z/XDFYDeuMGpLfuJZLZT6T4EJo5BQjNeJAPEdrcjnp/GOH3ErksjnCRjfWjfsflB55Cytah\njxoDrYdAdEKnH8p0KE498uz1qMYJPNxAqXc1k557ATGoglETUBY8h3NwDSrHKKKOduM6WMOJm0bw\nzt77ecD0MOGv/dQtTiczpYaMQ43UMpKopWqyG/dBXQi6Z+O/8wN6XW9A93YOjJhNj9aLvW2A2EAP\nc0un0BPXTMWYU2Q1tlPWNxOxIYZ0r4uYiy7COn8aouZppC3PoDSEidjMCMcIRE0lIsFLJKCg1o6F\nrn4QEoRaCBmCNFtySJozGv3UD+HXC6H5JPIrTzKQ8jhm6RvUjIFQD/T8GcROONAOqekQPRnSrh4a\nquHdBIHtgAK2Z0Ho/1tD9e/lHjG4+n7SWp/V/ovl72/xTxftv6CgEIh8SrjjSZp9GvJ3n0IMi4ea\nLtwpekw/KISvnIczO0xTfQtjPitBvtiANvVLePgVeOYTeoNv0O/ZQ9bmCUgTPoYWPRQPwIQ8CKrA\nGAdSD5gmQP5tuLc+SEvSD+R/Bxx2MnAvBJNVGBQwheJh2J+g/Ti0niHo7kUacKEubgTJDeMdoG2B\nuN9A5SugHwMlDaCYYfGvwWSn/rN7qb/2MXSaz5m2vh0xeAqGLUBxniaCFympn2BrNj4PGLM6aNio\nQtE4cCTlYcnZT8RkQTNyNqrjpxHz50Hfd6CzgKccWWhRNCFEz3io30/kUBRqgw45ORnV7Hq8KaNA\nq0fd0ELPsAEc7Ub8zamo9lZhKOxABNNhaiJyygPI7usYPD4F07wPGKCLHTU3sKhtLyI7iFQ3HsPh\nLuSLNxL+83w0w0GJPg/PSR2We16DjkrCBw+g+uZB6G5FTtfAxDmI9BWIlpsh/RpE3mQiH9yDUt2L\n+sla6GpDzp/AWfkconGi9yXg+PwQIjsDZVMVzNRBYYTQtrFIu08izVuKe64b1fc6nD4nKcEeiE2F\nmY9B2hR8wc/pU9+M/RkVgxdZaUkWZJzUYPPWEogZj+75BlwXPYLmwKM0xcbyeNd9yAMGNCJIvusw\ndxe8SsesS8Cuw7KvnqC3neMLxzLmiwPEZS6j+8IJGGrrcT3yMVHJ8ViTolAThPhhKKPm0J37HPaO\nLojUcVpzCe8lZPBozz48+iLiKo6jje6EuDjkXQ4C+74kkhKFqbYLcdst4KuHcADe34T/d2sIxnUS\nJbb8NTDkAPhPQNu54NgAciI0vTPUdzzUB6PfHOoc+S/k09b2un7S2mCM9RfL38+CypPwyfOQkgNz\nL4KMfAAEAn1tNQNhgUY24VesGF5LQ87vRxMdJjAjQjimheiTXXRq03FmJeH4sBUWX4HIiIOyDcRG\nnYv9ykcZnFyGaeFK1KpDcN8JCPfDxa/CjyuHmv70bEY+c4yq8xTGvNKAYlhF9yM/IHXKxDg7EVV5\nKP4yGHYBWGIhViY4OozpUy1KJAiDfkSpAvmzUEpfAZYizECiHSq2wtd3wLl/xGHwYdzzJg59JoIS\nlGHD8TjNqDu68OuChDUL0WhqsSQlQGorlpccuDV52GuDiM58KPBC7TcQNQxixsPxFyBrEqhn0u/N\nxpm1C3/BH4h3vYVNfMtAqgc5qxlJq2YgtRA9F2PteB/Dlo9A243lRDKuZQFEl5aBJJl42xwI1yPO\nurGlr0SgoSG4g+lPlMKrdgZ3BpCSStHKCfifvxLDJSMRrgy8FS0EOjqx/Lga2elE3r4H1ZKliGN1\nSOPmE2nZgCh5DEWrh4GPoC8az60+tPuNqGumQfLv2STrcPASccFliGAYf66C/kg1Is4Ctiko92xD\njo3AjCeQqh/CVGLg0PUj0fmmkNxwFjFogbgcaP4GQ+pKHCXt+IY/hic2i5Teg1jUApF2A4YPSmDG\nUqL3XI0yoCVlYTof6ioYrNuIJvEWTsrpbJOKSG7oI89+AkPmXXgPPs+4b74nfsCCquJFktd5ICxh\nz9XC/Kug8PohgeyqRZRswxXbhsfcR5rvGiaoK3Cxkh6+pTOqmsRJn0DzVjjwe/zWH2i9L560L1tB\nr4HASPAVQOEyeMZHSPMgBu78/8aLpIPWXmjwg/p5yNgD0VOgewdU3AfHL4TRr0LU6H90JP+nCYd+\n3hci/69uzfo3yRsP8y6Gja/B+09AXenQ43IIfMewHe5BSQAAIABJREFU6FcT5SwjfMQLqaeRYkDb\n4EevjMf8ZRUa9QhGnC2lbGouEUMsytedhJNrUBq+geduQJq/Cv0dn1EV5yYYZYdXnoRqIxx/CKLz\nYdaHBGbcTF9yKWmnm1HMalrn7cPkSCBWLxBMBXsMQgkjKo1QM4Jg+Hz0G/thzhi4fTGszEHpbUSZ\nEgSDHxbvR8mKQanZB/kLhsqmt/4Zs8ZNfEkx0rynCc6/ByX5UnSTDkFRLJFrHydybQJRmXNQe84i\nhJbEmnbi213Qvgsy22Bf1pCVbrgOpDaIngjxN0P8KqLG5RErd+Io/Ry5vYyt907hm2vP56MLF7O3\nYAyNHQcwvb8adTAf6bSdeu9iwrMaMIcDNM+YQ91kB6HOveAvR2rLg2FL8PMcGRzFtL8XuaUN7fw/\nIY7Z6FkwgH5mAGnc9/jm3E67pxLDqsdQ5vyZ8P5mNEkhRP12mDsFYW9GpQIltxNFFUKqMqK0P4eq\nIYJufyEM/479lmjkjo+Z6KzG1CGI3ugj4tbhnh5FJNVP2NiAMl2HWLYakXIMOa0QCiYxatdp0qQg\n4sx2SHXB8dtQjIn45YeJhB9GM6OIROPtuF+6AVn/OCJSA67dEGNAiZmP3CmhPWYk1LUXbXMzP07d\ngW5mFPMnrmdseB9qpR5mXUvjwtHEerpQJQYgPgTpGjAIcEdg053Q8BS43gNHMsy+gjhfDJXWPCqM\nxcjmmzln4DNsuihUTOJM05eQMBu6BMYWD9kfdKPuUoi4PPj33UHEYQCVHkUThYITDWP+fcxkL4TD\nmRBzA8h/aQvtmAszDsP0/f9Sgg0gR9Q/6fbP4ped9t9i2kJ49+TQX7qP1w11/htfCyPnITLuwnHv\nm/Q/5UNpugjRfHKoGqx6AFoA0y5ULplhBzqoXLGYke99iPjEgxK9G/nKm5DyFqJTy+TxBM2Ou7Er\nm9EsCWL42gvrm0Cjp2OknxoaMdQppGV2EH9qFupRtxPun4/kTUTKzCWQ4EebXQYigPh2C5JrHL5v\njmO0ToE9TTA+F+X5YihMBcNC6O6H86+Hwlthz69hbj9s1IM+Dk5uJFz+JO5JvWgiNpwZGsz+rTjq\nrkWcvBzyFiH1VSMMVVhUtSi+CEK1FnatgzvNMGrnULHE+HOgaR2Megu57yGEdQDr5u30zE0h2dRE\njKkI45FjZHZ2oLPP51TRBNL+8CHmuFRKrbPJNnpQWreSw3bip3yF0/5nHNXriWTPwM9qtFxJTPh6\nXJlb8VzuJ+G9HHz9WiKSlcGCGKxCTTcvozodwXjrPEAQbs9G/eBuRHQUqLQgBGKaE9Vd8SijZsCa\nX0P5oxh21SNu+5Rq0YLT42T5sW7C/VehnSyjipuFue8QgaADRddCQG7FmCajSbgfd3oOlp1rkZu+\nJzR2EcbDn0OmDNXtKGu2EOINAl0VmCt9SLn3I1SFaEz7ECePgyxgMAZlSh2hI1V4ztVRP88H/gQK\nyvs5v2UhxO5H0+CFrlYYAF6eQFrQR6fKQXxTD9pgDOi0EA5CYw9MjgPXJlDOQs/1EDRhjX6INOHB\nadqF3/UhBuM4ekUpk1snIa1bCNYHwJwMETtScjqkOFCajyF5enC61hLpXowldhVqMWVonJj4n/Z6\nkgqWPweWpf/4WP3vIPzz3mn/Itr/EbGJQ8db10FPEzybAftVMMKGmLsWQ+/LeEabMJd1wZT7YfES\neHERNJWCsZvkYBO2kjbICSJabGDOQMlLIDJ4B6puI6rCvaQod9Ifnogrx0JKQSHi1AEonI26eDsT\nD/kpyUwn6Y0+pLcuxX22EvVAJ9qcHXC2BdWidfjlJ+mwDCP6sk60isQ3CTex4s31aPUCDGUIGQj6\nocoIJU1w7dvQuAkSv4LwBJg0GQ5UwZfrMM4JoauBipUZJBwoJ/pgC0L3Isr4KxDRAsFo0G5FUnqQ\nx4ByOg6x5D7QPg0lz0D6jXDkDMTpCdfvpNuyBRG00DjfRmzAzahvegjM06PrGMBdFaJuzFmc+g7G\n6aromX09cf5T+Jsq0IcSEPUBomJ/jxJqBGUQaWAfJqUJIWxgBM05l9H/24fwvXMz+ikS0pkL8E94\ni4B8FCH0GIPjEFotwfVvoVl9GVJMNEj/w0/dFA2XvoHY/yyUf4k0/k+Euw7iOX0dgzoVi46dhb5G\n5HQzQpuAiCwmYA1QO3cxSVIZ6i1fEomejMq3C3NFDGL2ClS7JBy7HsFZkIIvxoYhvBrxx4mor/uc\nR89msk4IaL0F2gqJlbcTjL8XyXmQkN5Oa4yNutV5hLLziZGyGPfITjTaX4EnAvZC2PcwtEgQ1oCr\nAlN9CJJtbLh0BXO3VJF2uhp6PdCrgrJW+LQbFmVCsh0c0+Crp8l/6Gt6OU1g/TZCt64iutWDtOWO\nIa/6st9CqgH8MyF0HNKfRexcjrjoW2J++BWBwAm8oW+R2s34AuvR21cicn8D0v9gjRu55B8YnP/N\n+H/esvhLeuSnYPDBzc/B7zbChjeg9gT6o4Xo9u3CP7UI9twOKHDnNhg9G5JUkGbGdMoPB6NgxgrE\ns8dRaS5DpayCgVOEepeiOnMF9u+Gk7qtgXqzHTwV8OpyEgcKKL/6bWRRgJRWAB1PYJ64kMEzl9B3\n5CbwdKHudmNQJZKpfYGolMOE4m9GGTyDq7Eb72pBOFFCaYlG7vPDJ09AdjzIfWB8HaQImKdA8kJY\ndD3keyHgQ5L1xPbbsdTrwNVAON6Gp+BHFNcGMFZBfyzEG+hJvgjn5sd4PScB2eNG+fhBeP1Owjsf\nR7n9XfoPPwgxfRia1BS4ekgssaGS+xAn3iWwdCuagvmUzbuSuc5pqBbaiHv1eSb3b0DnbEHl7yDY\n4CXUI1Aq/BBjIpwoiLS++W9fh2ZCEcbpRaiXrUUqmg8jfkT3ZR/dzQ8T27IWTdpQb/kuxzE8U4Io\ndc/++6kpRVdCQiborJA5mwOFC/hiZDy5RjvETkDRyqiSElCVtMC2dQz6BWZtLPLpGtSZy0Dng2GN\nSIYi+HAMuF+HXh3Rp8vxNwXhxHaU/JHc6vdzOkkD4wbBfQLF+SMdRefSOmYr4apthCYt5ZSUQmd2\nHKNLPmfKyffQle4BRwP43of6PaBvgsuuA50ZJT4CpjAmYw+X7P+WvZeNpfRPd8EfXoHf/h6MJjh3\nFrR0g2YCbCuFLW1I8ycT81wXnltjOe54BXV6EmQmwuiZdFmOMRhsQxl5O0rqGnB+BEE3pBVB3FK0\nkQRUCfMYyJ6OX2rC3/EKSun9Q+Xp/y//IoUzP4nwT7z9k/hFtH8K+jRIvQ3KimH5FfDge9CjRb2r\nEl9iHRELcHoJlF4K4zKhcTJ87wGLF0YY4NpXhsZgWeyIlBsRUhyqjw6hbDyDrC1GHqahR+mDmAy4\n6Wuk6dfRqVWRt3kfzE2DtMeh7nYcY3ZinZYL1klwbD04h6xJUvsxrDs+5cKqVGJ/+w36DA3BbA2K\nt5/2kYkELGYUnw9eHwW1+aAsh9TnIfsKCL8AwxeDnIzcJog5nY2WVOREB21jiwnJKmgeATm3g0YP\n1e3EvhpPZ9oYlijvE0j9Pe7zJuObYkSKj4awGuuhCrTtHkyDNhR9A0p0JfJYNZ5zDGhc09k+TWHO\noRN01I9h8x0RQlmrIH4kUkyEyDAjfQuiEQ1GpPowDPiQa1UMmI+joIAso8nzYLu1GcX1PlhvgfQv\nCJv1xL+/D/nbfeimToWGLcQvfhbN3peRNz5E/7ELCPGXIQlyGHxO6D4F05aj1F+Hrf5OCkQ+uv4Y\n/I4KXFkTiUwbharRAtpGBq1edO2fod2Rgjp/CSSORRz4Lew/CqpkcLXBuBzoMWMp6WJgdSH+X71F\nqXOQud69BJJtdCevImjoRehtOLZPQB/KRTV6Lsu2pnDZJ2ZSUx6A0Rtg3o0wfzQkXQj+eHCMB3s3\nor0XmiwwwQghFdrxj7PG8QxVUTYOJh9HNrwKOT6U6q0oebFw6TMw1QbzdHD3VUjRfrSWiUQrXdRI\nIUKFa2jJ6qXFnoJxWDIR7xyI/dWQlU8SQ73az3+OcG8nGpefVNsnRE/uxFDwKqjqoekR8DcNrf8/\niZ+5aP9i+fvf4caV8Mx6MFuGdm7vXIpcvQMWxiBJLsh5HBLWwjMLIKYTBs6CNgHiM0CKA70J1MXg\nLUNpKAKrCWXgEM75wzhsmE984uMU6gT8+DrfxjmY+ek2rPMHYMJvoOcTaP0a0v4IxXth9v3w8UhI\nmgFx42H0r0EfDX2fQKABtr+NcqqWwLhC5EwDuiwFVfTbcGwLlO+ACavZpdpKgmJguDEW9rwHrsjQ\n0N/Ld0DDx7isd9FusKEpDSFyFhLnO4zmmy50ZUkweS2Riv3INVtRWRRE3wC+Ti3KxBx0IT2eXzmx\nurMIJlahdkwhGNpNVXQWfREHSdW95PxYRuWnIbrj1My4T0fgzy5+eGou7WmJLCyNIePw9xAdC8P3\nIcddgzPegMWTjrb7G9jdgvd4Nu5OM3FffEGABrzHrsZSFk3Hg4ex/eFJTMofEL/aCpIR5fU8ZLOW\niiuvQajNZJ84ga7jFBhcYEynf8InBLUaoo7cg27HZwRXvkil9yjp+Y1Yz8bAma8JhHT4ZqmwNsQi\nxwsiYTfaY2qYfQf0d8LOF8FvhwQ1ituD26qi9dpOXju1j+femUvwjmzUWidSQ4CweTjq94qRAjEo\nU6Yhgjo4fz50N8LwAuitgea7YdQu+G45FE2G9q2EnaA6bEJkmMCaitLQQu9vlqKRxnGc4ZQrLSw7\nfIrkvZ8jhjXDcSti0A7zimDBG7DaQWBaLr03DoL+PcLHrsaoQHTmfSjGG1G9OQVx1/ahpk63ZMIN\nz8GYy5G7D4PvQyTrMrDO+2s8eM5C22vQvwNiL4CMx/99vvsfyN/L8seJn6g3E/7r5/vP8F/6hIUQ\ndiHENiFE9V+O0X9jTaoQYpcQokwIUSqEuO2/cs5/GscOQP7oIcFur4R3rgRLItLtW5Hq8uF0Imz+\nDN67BNy1KDFOFMyQdDHkzYGj5bDgHbC2gk8ggu2I8x5Amno5kZrFTO77jtdd7qFz2RJY8PTlaBbN\np0NngvIrIfUBUAegvWpo9NOeGyDrXPAaIf/qIcGWfdC3ARLuBt2liB41+vwFGKNOo9I8AIY8mHkb\nXPMlRELM2lJK/MbP2NN8AMU0HPxtMHYSNFxJmK8I6e34lenUTZiNUfkBIaWj67egzPXi6o3QtWET\nYa2fUH4sXLoE7W80DDwcS9e9EzG+3wRamdqUFBTfGXRuPX7dKFSOVQybsplTp1XkaQJMXlFIU7qN\n7dfMRjgFCyqtJJZUEvb3QtRYOKoguT/D3lVLIPIhyoAPJi9DZzyL+v9h77zDpKqydv87p3KuzgE6\n0Bm6yTk1GSQooqKOARWMo5jjODrmnNOo6CgqYABBRZKASM400IHOOceq6spVZ98/2u/O3Pm83/iN\nXsdvru/z1POcU2fv2qefs9d7dq/9rrX6RRFsrKeVZ7CMXIVq4AxC9Y1ocnIg7MNx+HYwRSP9vhxV\ndhS5G7eQXbABTdsG/B1ttHgt1A67gIDvPiLeGoz6eCFcexqdN4twPy/dARc0lIA6heb5I7Fs8yId\nq0UucCJSe+Di22DHCvhqHXRKENEGSgApIwuDP8izx7ZwR+NJ5NEL0dfNQ6VfB/Y5SAnlEBUgVOel\ndk49gYkC1l1F2FwE1ddC213QpoPVS8Cjg/oYWC+DyorIkCDkI5Tgxj/fgL48jJG5jGIkigjxWZIC\nY5YgDubROy+R4PKFfa6Lj64GjQ7N3jbizq8n6qap2OqisLvHE5b/gMq4Azqi++ZfZTm0SvDFA+Bs\nRI4Zh9z/RWh9HfwNf7UJ02BIex7iroBgGzSv+B9TvPe/RPBHfn4iJEl6VJKkU5IknZQkaackST8q\n3v+netzvBXYIIZ6SJOne78/v+bs2IeAOIcRxSZIswDFJkr4RQhT/xLF/ORzeA689Dg8+Be9fByoN\nnP84RPTru75kFWwZApIHZq2F9y+AND1Ub4WGb8B+NZSXwcdnQ2YKDMyH0RngKoc9fybaPZPvJi1k\nnutdTgVuYfCRYqRAmPpwE1+m5HBX+TuEGgrxHc5Br34CrPmICS8iWSJR7bwd3pqIdHs5tD0PsbeB\n4gOlEaLMYHwHjnoh8CWcuB2suZB9D4xdgmyJJfK728g+XMwnkyexoNpAe81W2uYuJtqwB6l3Mpn1\nH5OTvged92Mk3zWwawuMtWJJa8Ly1KWIKQ8iR+uRaoeBai4N5loSQ1vwLbSgXn2arJ4unGfNoVpl\nQNdexOjCPTSXfoo530jvsGgODgujsV3CjNJutO99ivzxh7A5lx51AMeoUaRmZYI/iGT+I3pTNL1x\nyzBXvkPQNxFragHt6+/CdtPlqOV46OnFlgU6jQP/zDepqHmMwaE2NPXXIhmK8OXMQHOqDNkAmqRJ\neE3diK9fR2rzIw+MQt5WATWPQ0MJmeZOAt0SwpKO312PvasEkZMGjTVI3SHkHQL23wdCCyNngX8A\nxJhg8Hxo2UKDPYTsbibpw7vhpeMEVb3sc7QwwjsG8/bPCY+XCUz2YqsbQkvCHmLSJuBTcgm1txDd\nfAbp1AjI2Q/nnYHD70JMFpJSijCp8E3IAbMbXdQh9Guuh6wUbIRY/v6jVNUIWlTJJD56GJVuM866\ne7Bl34R65iKYkI70xovQGUTVo0LbmYpcsBGxUYD8DNLJY3DHpX01I50ucHdCzQYYciPIGkh5DWqX\nQ8anfefQlys7+Q//MtP8f4LwLzbSs0KIBwAkSboZ+BOw7B91+qmkvRCY+v3xSmAXf0faQohmoPn7\nY5ckSSVAP+B/BmmHQ7BnMxTsg6+ehksfh9i0/7ONSg+zDkHNR1D6DMQfROp5jvB1OuSSINK2uyEm\nFuyDIbwa1Bo49gIEM2DGDcg5T1Kj287ArlqmtoVpPFFAQcpcns3rz5RAOwx4mFD5IXylIWSLgj55\nJ45PniLUZgdfCJvJg/u2iejHtOLYXAK8S8xZX6Oa6ABHHNiG4koOYFZNRsq8A8wZfbpz9et4Mt2o\npIHEh9p45bIbOH/neoaveIvABQZM4aeQ7P3AtQUiV/bln5Y1SCcDSBNVMPbdvr/fXw+cBYZ2Bu1q\nxT9qJr649VjkDuQDMrq4A+yefgkphn4kF1Zjtp2ie2YUeyyxjH/xNBFZ9yDNziM0KIlweCfqxKHo\nG/die38JyoCzkPOuQvhsaAypBGNuwm3ag2brXoIDp2Dd+gbG8IdQ+S20lmC9ZjIkZhGKsXPQkoOm\n41F8icMpSLGSGIxiFmWoDgaRz5SS2uYmuOw1/IuHEnJ+gPb0n6H/fXD4eVSzWimXjYy1PESb5RF6\nBpeSe2Y09AbAOAD1ju9AZ4IpSWCugWY9qFqhbjtYBvJCeDZ3lL4MUUFa1z3NiAv/whO1DzP1zLco\nLjtITtoronDctR+b10VLqhvboS9pWOrG6EnGZNdAdxJsmA/thWCLITxAQzg2jKZkNOoGH4Gx1Whj\nBiMqdhAKr0dzqon08VNhzJUQLIFAMdaGGmTvHYiG+4BYGONGUquRTZno5M+QInORBszCN9qA4W4N\nPLuqr5jve2mgOQ4tH0G/HIiaAbr+EPd7aLgfkp7+99p8/Fv8Qv5qIYTzb05NQOeP6fdTSTvue1IG\naAHi/qvGkiSlAsOBQz9x3F8G+z6AfSvhSBP8eRVM/GEdaldoG3L7aexZd0DNfNB4IaxBUg2HvHEg\nHYdK4Mw7MFaCPSshMxXGLgfhBb2JKOz0W7OOyCvCtCUm8/Ufl5DSWcyEI1vgrDfRKyvRLx2BUOVD\n8TNEzIuHAU/13YCioD1zPr60V4i5bBgqBTg0GbyVkLQcPLUEY1Npi60iliQkAEkNkUY8tgfRFreR\n//z9DJxWzQfzz+Nszzek79UjWTbCkPPAEgu9D/blwpicDOc8CK7ngCf7xm98FuxLCRQsRT+wH0F7\nApbiuXgW9qJpasZZWseM0f1IqXuLfeE5+OalMHLvQeYd3gG2GPjzVYg7rkTOXk4w8DjqxetQyrdR\ncfIVEoYtwxIGil9A9NRjFHb82jJELLSmb8PuiIWV0xHhCMSV76NUDEaO7kc7pVituRT5ihmhOcMY\naSxDS08jrVdDiwry/EgZrWijKtByPlgfQcyphO/eJhxTj9zURDjlIkI9nehMJ7E2zUM1YwkcDsC3\nH6FM1CNHpyNFJKIUnsI/VwX9xqHdt4/aVBWuo1lk9Raj9JP4MDmW8RWfc0Hl84T8AVRxCiofJE5r\npbpiEDmxLlTxjQStLWR+rEGrAdFWgCQpICwI+1QC6WWISC1qlYx6XycETiIVb6Zt0sPEHHodqXMr\n4qbnkCL695XG6/oSQ8sbfYmvVIDNi1LnQCWbET41UncJ9MpImQNRV3lR9q1H1AWQ3r8OMkajyAUI\ncxiVxw8lN8KkM33P2jYLXPuh/DzIXAvSr1vT/E/B98sNJUnS48ASwAuM/TF9/qFPW5Kk7ZIkFf7A\nZ+Hftvt+t/D/6tCSJMkMrANu/bs3zK8Tu9+FLx6G6AHw+o4fJOwAbVTwR3xtG7B6UkEIRLCKQPcF\nNAwfjOvAKpTm2yGuBxKaIcUKncmQ9zBEpRMKd4FsBiCd/pgdNWx95xq+uGcylZomLPY6BhV9h9tT\nDFX7aXJtpjCxiMIxIzjWvYuCY+dwumQxpxsWcTpFcFq3kl2h2ZwqmYv3azPh3O9AbgVbL4hsfBzA\nSwkKYfCsAt00ovbUYy35kq5b+mMPtHHtyQ/ZHj2Rw8Zc2LsdfCFQGxHulXiN34KhvY/0DFPw4Sbk\nL8PvOU745HREdgg5cRtK2wnU2hyMU25Dc+lrxFR2YNq0nh3WPNJiq1l4IpHkoe8hLfkWac5CpKJO\nKKlC6r0eIZeD1oQpdxH91Jls0lYTjl5LeJSWwIzTiLNfRzttG545UcRVymilTpQT+/DG78C/cQxK\nZBNFYjoh/kR+sAizzkmcNpJUaQ3emo/x5YRQZvZDmX85ImohYu2zCGcVjVSwOTMRd9Uq3MOPo5ga\nwXsKf/gpRGIHFn8hnfXPI0r3ISbPRu700Tkona7JHyAb8zEkbEXf40HOfYo/11/Arfv+git+Ng9N\ne4llTav5RPoKncrfJzPUmghYdGiiQkwLbkf3rRXVpjy0HRZ68my4Jurw5cahGOMJ94vHu7ABuaEb\n7YEcZP2d4GiHpm6kKDP7M7fSEV+OiM2kN6kZVKPBmQpF3UhHYwkf1kLBIJTOPPwx0SgsQDrZCwNu\nQVq8BqQOqH8NTUwLLKoHsQn23YsSrKJ9cjL+Xgs+QwJB96m/TnzjEHDsAMf2X8YWf2n8N9QjkiSJ\nv/k89Pc/9Y/4UwhxvxAiCXgPePHH3N5PUo9IklQKTBVCNEuSlADsEkJk/0A7DbAR2CqEeOEf/OZD\n9Pl2/jd+cfWIEOB1gvGH00kKFFpZi5OjJIvl6NffBOd+DkoPwVAjJ/z17LKdIvXto0zK3k90thev\nPAFLwW4Y9g4t9SuIaT5MyKhCa5+EyjIRx5619Ha1oVJp2Hr+Yr5LSGFZyWqGuKMxf1qGFOkjnJtK\n18EogofWoTP2I6JbjzwzG2ZugsblOLoaCPRUEtlQjSplHGfuWUKWvBjp1O+oUUFX3lRCqAkpXUjO\nfWS+X4hnoI2GsRMI+oMk7t+FKd2FKaBjpz+fzl4dow8WMSxSgeRWxH3NiDg78jIdTu0Ydp6Ty4Tm\nd9FEuPH5IulVRWBs86DVtKHpsWBo7UbT4kWEwzTEJBEbaEcdNsM536LRR0PZQtBEQ/s1sHMNYoIT\nf/xx5KQYVOpREOxhjS6XEc6vyfGfTzD6CdSaV1HVZCF2vgyrt0Kqj+ZwEqHrJWJOOtF0uZBGLUV2\nd4C7i4L+aobp8qGjAOHcjTBrkN1hCMQjDI19emRfGJatpNsjIW+5Ft94mUaRhc9gI8+SSYOczBu6\ndCJdTjLMuczY/zHRUV/gSEmnU/8Mg1Y+he/KW9Erg+jsfoTlPfP4YOUVfJebReu8YZzV0YLl5Dq0\nrSkw9g6Cxffis6ZjSQ2CMwSNvVAjw9lX067/FJXFglJfgy4thKpTQu+ejbzhC0RjXwUlKSIKIjoR\n2gC+bDWi2YrBPJbwjO2otmuQykVfwqrRywg0vI/6rLeQrUlQdwvi40Ik20AwRABuOLMRegXkj0Xp\nPADj7yQ86Boa/FtxGF/GVWkjry6FiCnP01cC6Hv4KqH7S0i47RcxyR8D6T+7ax4WQjz03/wNwRc/\nkm8W/nzqke83ITcLIXL/YdufSNrPAp1/sxEZKYS4++/aSPT5u7uEELf+E2P8aiR/Ybz4aaSeN4hi\nJlHMRardCW2nYPT/OXmDBOmgHXvNJbT/pRf1TaMxnN5NSb+ZuO0RZJ/4C0FFQmtNJmnoGygdJZxs\nWcfQfYepz0vintlLeXLtg6Tur0f0qug9JdPTpWD0R6DNicN8UQaSMgbp9FrQOeCcF2gb5yLgriDu\n+ApUtRo2LxvPJJ7E1qPA7rMRIy9ERA9AVFyF/GkETE1BGfQ8nTtvI6KmHPeQqRg5jWbSTkJ1B3nG\nXECzLZ6nH3sXU28jIhxH7yw3cuwUPhujZkBdDfmv7iF0lh61PhspagTKwW8IDvKg7fGD3gd6BdEL\nwiajNAgOPKCQfa8V1cUziGioR9X/WbBORVk+n/DdYQLbD6DbJVCpPJCdjH/cH3g3uY3rv3oZKXch\nlO5Hts6CQ4WgL6QlLw1bRC2awZegXvsOisqD7BkOUTYwazkyOJns5mKskh3iFyI+ewCpvB6RPRBJ\ndiDsmaBVgTECTGmI0FeIrhoc1x5nj3otEV2HyNtwDP2CFbTFT8CGnsaOr6iy9zLQ9Qr7VVOZt+dz\nHPNVmJnPsz3zmd2zlfx1b9MeE4l79PloszoYcNiFXLQXRCTO2HZMEUtRTXoK/HV9Gn/bebB5HyHt\nEQLxVkSeg97USEztizBbl0D5U7A5DLPnI468tGK8AAAgAElEQVSvQlGVImK7kYoMVIydQbo5HyXq\naSRtN6redch+HXhqYNPTYI2BGDPE7oav/TB4LrR1gL2mzz0XN4Fg6nl0V++i6HILanLpjww8SXTX\nSizv/h6ixsGChyGyP6i/j4T8BTL3/Xfws0n+1v1Ivjn/p40nSVKmEKL8++PlwDghxKX/sN9PJO0o\n4FMgGagFLhRCdEmSlAi8I4SYJ0nSJGAPcBpQvu/6ByHEph85xq+CtHsppJKHsTCUJG5Cg73vwleX\nwuw3+iLr/gNlR8DZAdH9UWqfJFyqhYRPUXmNyHt0YDKgGMA3sJtaUyxxYgx2RyR1LUdo9RpxxJpo\njzGRbjvDyDWnEK4gGgnISSGkuhjRG0Atf0FoxoP4htfSHSERlBwEaUMtbCS7FqFZvYjdS+eRy2XE\nHLwXTpYgom3QIkGFE+msaIR6Io2ijPjDhagMkUjZORDXAqYU6O6HOFhGcboNzzkvMnrP1VCThTfZ\nRe+0SRyiijHV64hpbgURRioBVHFgsyIiA0gBBWoa8cyLIvS6Bt2sMDp7Lj1bPZz6pIgxbw9FO+5r\nZEwIfwDvu4uRvjyAN8KGZkgipuE1SE1hKJIJVrlQKR7kdBX0BKBdRsqz9K2S47QwIBKiFXBYEbU1\nSEPugMbDUH6I6oVn06VUMlI7GmJGIk4+hGj3QFIQMbA/aKYh/GoUMQrtpysQw+dDwWqk67+j2VCJ\n+fAt9LZYkLyn6e2fSOyg+7C2rYfEGwkbrHxZdjezjtSz+4pbaFYUNrcO4M0dS5Fq3ERWOnCOT0N3\n7RfoS9dC1S4o204w3YBmXjd+5y60PYeRFDU0Pw2xV6BU+pG+fAMlBaquT8VvNZD14Ri0STtg/DGE\n1k8oeBuyPA9V0dvwdRcezSiCHZWYBmQjIj7GHT8M+6ep8Kfn4bmFEBsLo/pB1XsQTAOPD5xdhK1m\nmhcupzLdQtSBauLbNMgLN2HkOnQsp5mzSWAjUlcVbLsPAlHQVglpY2HRI78qwoafkbQ//pF8c/FP\nJu11QDZ9epUq4AYhRMs/6veTNiKFEJ3AjB/4vgmY9/3xXuDX9XT/m/DRSBWPYCKbRK78K2F3V4Ax\n5q+E7eqC9++Dbe9CSi7kX4wUl40q3wOmOYRPbUFJjEWdMw9pzCU4nUvJCt1CTfgDKocnYl7jZ/jp\nozx6/d0M3lxJ62QLrYMWkZhdBu5hiOZjOG4eh4sConfLqO1/QHKOJlF3JxrjBMLdu1GVvw5D+4M5\nSH+HIKb1KTBEg1GH1BEB7g5YoIDOT4+6iqgz1YSzo1BHpIIuCMYs2HsKUs5Guus9cqU+XTARJti4\nCX1NDNumu8h3tmKr0CI5hkFUGSS5oKkdvmxHSpgJD7xH77AidsR9whzHJlS1DkS8FtuECQzWtHD0\nukqG3fAB6pJVhJwZhKd3oBsg0D5zMybrZUhfnANnjiNiYtH4dSjTXPB5GKExIQ2IhLJ6SNdD9FTo\n8YPYDR1GhBxEKtrSV7RXUUj5+gDF1yyCil6oeA/nARfV0WkMG3CU46FcmiPL6NElMe295zFHTOV0\nionc1nnYP3iUiMREQqKVhE8LIWDBOSOWQOkNFEZZyXMcQjV8N0KSMSe6mNUTopcnWBK8DEdHDBEH\nq3EuSsZYVIsm2B+MA8FSAjotmiHL8Xb9kXpLMwkHarGkLwHzVdD4PHK/ZTimDsAkaoj73EHTbDUd\n+adIbGgmXJOGkjgEtWkNkutPkPtnOP4Yhsue56T8CiPfC6L5SMJ6xTE4fgSWfgsPvAXtG2HSCxDd\nH2pWQGkyzlQd5aPzSK3dyWTvSORtJyGQgnfhYsIUISETxZNISBCZDtGZkDkXjn8DJzf25di+4Km+\nSN9/N/xCkj8hxPn/TL9fd2aUXwlUGBnMx0h/v297/HUYfuNfzy2RsPwtuP4V6GmDmCRQvIjO8aga\nFKSYdAJlXYSd3+Cflole1qByy6QbbqT/Zy8gHS+kS2dD3RNk7jfr+XbWjXy4NJ7pTRas/dVkPtlA\nU08Qp2YOHdIZopqPEOPdztGuRmKCUWTELwNPI5w8G5HhJXn3RsALYRsc90KOE8ZpQE7GFZFJuLYH\nfZELST8HbniiL2Bnv4CuNjh3ep9Bul1gssC+ckTGQKqjG4j0eTEVlCIH/X1yv9JYcFrZd14qE5Pj\n4VQOjkNb+G6Wh+m+q9CHPsZrTyZw2VZC3p2oI+1kRMuceOtVJt4QpGfhRRi1ZwgMHsNj7TFE9n7J\n+RHRZORHo8SbkV/pQlqh59jtixgZk0sopZrw+5X0pFZjNyvoer8FaQLS9NFwcgWkTQDTMGh4DDk5\nk1Hvb0BMuQ1yr8a09gGG3nwhStd7DFKdzxFVHZPXbSduTwXdWjXNUyown2nGWnIM7dAsWgYnY05L\ng7K9WEPDYOajRB2dD+VB0D+C1mzHnQxB+Q1sxn3IVhsRHc/RvTgfjb8JTVUIXpsCgR5IbIb5X4IB\n9NXnYU8eQt0kDZFF92BIW47Jcy4a/zaCg8+l0bUBuWUIsfoZhOM1BKO3IPXWobbsRXK9BJqJoBkO\nIy6GQxczeNStFCyrZZTJCJvdkKPA3DzgPXC29OW9jr8B4fgMEXUh1ksuZ2TNcxB+qe+FVuaAEcPR\n8xABPgJAx9+kVJ18H6y7BBb8GRY9DEq4L+Pfv2MmjH9hiPqPwW+k/SOg4T8FeoLfAZ42iMz8gQ66\nPsIOeeH0HRDnQ5i0SI0KuhRBINSNvOIuLDUucF0FsoTOLCEStewcN4VpPXuRztVyzubPsetSSDpc\nwy3TX+bhgXs5U/4VuW3FxAUFkieCUoYz2upHraqFum+gS4GaZvDKqIUPPBJkz4bJp4BKsF9L5dCZ\nxLz3IFHFRqTYCdAhwe4V0NUIy9YTXjefkPQeqtbpqPZWI52/HNL1hJy9nB6RxdwWC4o9FiVqCvKs\nZ+Gh5bBvHX++6T1SDF+iHpXB8Ug/Z3E12hXnIroVlCIbAbMFbVIaxkn9sHQVI1U1o3T3ot37OIGp\nQSL8Zp7p2UoxGazJm0W16jzOkbuYnbEOU9xJUuxH6D29m1aTjeB50P+EE23oG5TBb6JKvxKKryMg\n69CEVqLyVELccLh4NVGlrxH6+DH4VlD93gW0xa/EmDSB+JK3GBJ5DTmnSvFdMJeyhWNRaSoZuvh6\n+OMC8JSTWKOFsTfBru1QtwWhugCRdwGSoxFx6E0mDjLizp1EjGUDEjLi9AKksBdjYzH6U0aYfxGE\nfSCfQai9hJqXovHVI1kyienw0pkziRjPeBpUa2kZ5ya+9VyU7k14PTFkz3yGUOXZeEwCxfA+up6N\n4D0JLT4o3AjGLxGBRjhdgdl5A4P36Qj1qhFXTkDnKgE9MPx9lOM3UO5/mAF/eA7VAhVy+ptQchRS\nb8UfaibsOok8xY4SexT19iVoRj3Ef/wz+dc5bewLqFlzLlx3pC8d678rfkHJ3z+D33KP/DPwdsG+\nhyBzIaT8J+9Q36qqdhU0b0YMuAxRvBQp3od0TA8bDYTjMnAkutH0FmFWSUhdAjKmwuQwd0Yt5pbK\nbXTQSnTWNZh37aIsvoyxByScSieOpBA+i5YEpw+z1AVeDbh7IXscpLqhtwyUQYSczYiQH03WE9B/\nKhyZgvC0IkZ+gL/qE9TNlSjhRgLzxhJUDiAZo9A4jUjxYxANhwj2a0ZbPQjd5yrU5z+HUB7nYE+A\nRFs2yXUptE3fjYyZGD6EYBB2nMXk/MeZuXsXyzd+hH3OBcjjp8HKG+FwEcoNtyEm/B6VNgPa6+GV\ns/G6GqhJM+A7rSL5z6OJDD9N2PcMwluPuj0Rj+sTGgal8K73VkZt+xpdcpjD40Zyc82rxLZ3gKSD\nDh2SZIKYcSCXoZQU06RLpX9KkPBHzbTISwilhjBE7STimB3GeWmYkMAJTQIjzpQR5/QQaGinNzOZ\n6oEJ6AI9jN7fAk31EJIhygg9Htiih35exPV/BM/j+PUqenMjkRyJGA93Y5jxPiRMILwukfDRLjQF\nCtLbp6D4Ezi6npCtlvZRJlS6DGLVXrBPhs6PcVqjMBvOh8YwnQ43H86ewtLWN9BXHSM0OAGNaISi\nOfSYCok75oEMNXSNAlcHovQ7SDBCWwDKvYSnxiMSu1AJhUBzJLpUB0GngXCZFineis5SAyYz0pAr\nIPGl/z1dhbMcpXQFwnUQRXbjM/YQiItANicj24egUeXi5zDmjnFoP7wDbjgJ+l9fod6fzaf9+o/k\nmxv/NblHfltp/zPoqYDjr0LavP98TShw6Apo3gpzTyNZMhHxAtFzBumr9XCPjdbhQ4loycO98jXC\nFVXYhpqQbCU0lEeSYaoiqaiVpKIuwpPbUWnG4I/pxOPswGp2YTgOTa5BbLzgCs4alos1dAhsdujZ\ngtS8G8k+FUQzIZUJTYsHbMa+Gn76OELqXoL29chDM1HK9iNLIYwf1hAwCXyLOxAiA724E9WZVYjw\naOQVr8CR/YjyifSMstE7dCQpO1qgeh3RFTk4hxfAaEAIlKRBXPTN18R62oiIHIG05ytE41tI1mgY\nloAsxYO2L2UqMUk4H9nGce9KJj/zBq2jXVRc2kjWhGzMU9MJx0fgjk/DmasnwqflJstXtF/YhflF\nB9dOfYUjycN5s+Um0gZeApOegLcuBNsA8GwGSZBQU03dgSyCh6KIf3wBxoaV4O1A3H4zctWrJMY+\nTXzwfvQRLlA50VclYNvZRmeElryjZaBRIFoDMbfDmNnw3kXw/Pvwl/uRdj1HKCeGniEeJJcZ3cA1\n7B9YxnT/IEJHl+Ib5sG4OgzLnu7b14jKgmARhYMGEZLVDNcuh6SL+pQXwo+m9wg+Rz2+7jK+Fqks\nONqNLTmaHg/0OIKkWrcjVfyBiPhGlP6DoX8q8vjXQGWDDSNgUy3YvDAPZHsbXYl2PG4NCfpOwlts\naBb40Kb5QD8IZn4DKgk6rgTvATCMB0CyZqIa/Uzfs/G2oq39EgrXIlo2ooT24p91Db607whGl2G5\n6h4Mvc1Iv0LS/tnwK3eP/LbS/mdw5jNoOwH5T/zna627wHEaki4AQ18hBeEugpLfIR04TXhyDo5I\nNZHG+0DRII5dgpL4LKqdb0NpCUo/kL+WYdAo0LngmhV0yy9SbnAxZu8RmPgAFMXBpg3w+Mso4jWC\nuudAG0bdHIcsL0UKafD0foC+pQnRGkYYtKiaeiES6FAhiEBqcSJG5IOUCDWfIEx+iM/AN9yJog5h\nKO5BHZgIHWko4UNsnjeEqVvBZB8AAydB9T5cfIJpxm78N/2OXlU7p+6+kiolmWs+up/woDDB0z3o\nvTLk54B6LL5zLqeLhwnhpIgJ5HM32uK3kNc9wonTedRuOcG03UbkPDMdDIVAMQ6S6e+bTaz7a/g2\niYB7P87UbJSuQmLzpiC5h0PKHHh+Acy5md6v7qP1Oyi8JJ+hF12EZdtuIgo/ITwpneDYmfRGLUax\n5BAO+ZEOvoDBtRar0gkN4NVrMRzVw4jBqAb3g+N7IO0RKC2AzCZIPZfQW3+gfk4cXouMqS4FX6KD\ntokabCEVSmsToUKJHqOGwNgcjDgZceQwluJ6yvPSiA8lY40aBoOf69vcrXwTceAhWofP5dP4fK44\n8hrGAhWSWoCvlPrZ2QwIFSNapkLBTkSMnfumPcCFNUfJO3kQ0dYKM0w0R1lJLmyi+rxziN21Ca81\nDbu7Ft0aLyy3QsVsSJrcV7ko1Ap1uRD9Ilgv/7/PcVc1VH8BJ9dBZzdMewyGnvv/wpp+NvxsK+3n\nfyTf3PGvWWn/Rtr/DDpLIDL7x6eh7K6HTX+C2bfSYd+KvXwT6oxPQBMDJ86GcD60NEP1dsitgxNu\nGLEYgrsRM4rhozh2T5/OmG8PYojMhhE3Q3g83H8rXDAPMSEJxf0EknECiqEeEa7HX1mCoTyI/I4T\nKR5Eng4S/ChpF6G4dAhPCNl9gqA6BlXsfuRagSSnIAsvItiKd5IZJTIS/fF4ahI76a1JYPi+TvA2\nwMKrYOurnLk4l9T31LgaamlfvoT0nBAPR17BE2/eQE9+G425o8l9pgIaQ5DSAfdVEVJa2a9+hBgp\nkUiphbD/NHGfhAgdd3MmnI/SXUjpa/EMLvejSovE1lxDLOcg2sOoD78JbhvMXISofA3aOpFmvEb4\nxAZcpfE4vliDKhMSpqlxDBlAYUwCk1/+FnevgVOP3E2mejtnrBeiLtvO4GO7MJi8hOQIelOH0zru\nMqLDa4hacxzl0VZUF8QjyxqI88OAJXDmdYJVRk5dsYD68VqE1kWSVIjshr2mcQzZ5CMvsxv1oUJ6\npklI9otJsTwMbw/hzHAb0Scaifa2Q0IALFnQGoSOGkR2LC1DM4lO2IB6bTzF/bJI2tCE1a7Ba0/D\nYOtE2DpRCgWKPY6Xzl1I4poGzlJ2EjFjPL0+MzXak2T2eNEfqQSzgnfifZSNHMiwP7wF1ftAlwwP\nfgYZYwAQzo/xr1+Df1cE6uwcjLffjqTV/tdzWFF+9UqRn420n/qRfHPvb6T9g/hVkvZ/F+tuhaKv\nUe7cT4PxjyR5bkOqfxay3+0zhvcfBVUAzr4a9syEzgbokCE1jMh6kHDdKrqinHSnZJBemobaWwSz\nNoHKDs8/1pfM/5oYyH4HPF2Isk34j92IOtGHSDAjf2xBOLpR5euRom+D9U/AwBngb0R0noQR0aDV\nI+lnQtTl8O51kC2hpE/Dm7yFepNC1q4m5OF/ga+ehexERH0Tva4KfFkxdF2+hgxGoqq6hDtTHue5\ntlKaKp6hYZKWoQ23ontnKSJpAMpwFe7YXjqiM0nTfIRffRif50tMX6xH+FpQmbw4P9ajHBD4x/Wj\nJ382hm/XYtLK1Jw9l72XD8FeX8Lir3djnpKI8B9CbMug4oNWPOXtZM2OwjAhjCR3EYy1Ear3ES5K\nQXvtn9C07UWSVoLXA50ymK0QOxLOWUfozCJO5vyJOq3E/KP1yNcuRR48HiqOEpYCqPqH6JgYRXSg\nA3nB2wiVQtDcSzDueu4WVRQFm3nlxCMM0TcQaIqheOzV1EfKnL1qNT1GhfJZsxl92cNw4QwwbAHd\neeANgOYEIjIBh6aOdWOvJNYtk7trPWkf1MGIgTD3ThhyMb62T+iKfJO4R48i6vxIaoXS8waRQSea\nAhe1s8eQ7O4gVHoGTWsQ75CLcTfriTnUAp5iuHo4YubnhIuK8G3YQOjILoTzGOq8BZifeRvJYPhX\nW8jPgp+NtB//kXxz/28+7X9ftJTAeS/RYLwfGSsYs8GQBl2bIXIuLP0TfPoyfP4eTFkEB16CmiCM\nXIxkj0FtTSK2PESkajrhxNWEqhyo9s5BNX0v8u03wjuxcGNcXyL9qBikUedRM/VCcqIfAlmFGH8d\nfssB5NddhBcfQK2SYVQVNPYgtQbgTDQkDYWyTZDcBjc+D6sfRa7ahUmlkBPtRCy6C0XUIfe3wrkf\ngKMF40v5SP3zyHbGgVUFDh+Suw4lYR4JdU24mj9HV/Em/vPfoPLQ06RmtxD0d5K6GYTlYpALsKin\nI/lllLhcQquPINcG8U6MxjrVilT1BZ5RRuiXiOu6VcwOtnLk/DGsXzybHEcpwz0yri/dRI5ykjxn\nDLoHv0L67DJo2Yu6upeGnDxcyVpypZ1IZV/BsETIrYB2PdTZIdSD5+AUjJzEfTjMNEc/NI61KLNC\nhDfvxXlrCrqYVlaPugJf2MTNX7wJ2x9Aau+mIX8+K6JnY1CreeTUFgaaKulsyERX1kNkhhqX6yCh\n8kOcumER48y3wIVBGHkWtKlQXJGEJg6hSzOVgigYe3IlM3rT+U57nBMjsvHZh5OtnYKqtxIqd6M7\ntJ24cCSSX4s7ToVloEJ6sAx3MAKrJUz7kBvov+0S1BqF7lF5GL86htnuwjHvESzfqJFaT+O+cjyk\nzkE3dwymKY+D9VKkoe/8qy3j14nf1CM/Df8WK+3SnZA9nVImkMBDWJkNSgCKL4CBq0Fl7tuY2rcY\nGish3g9HI6DgJFyQCfYKEMNh1GrQWxC1DyEOv4niAMUQg2wIwKAXUD/1CdRUwqZ99Fg7sbf7IWIA\nfLKA7plt6Aq60d3bgRwfgKsUJNdgOFYIsanwxzJQf/8O97th/a0gjYLVN8KUPMhw4ja78eSCRmRj\na/sDPtFKh+4ISc4YSL0Stkzk5RmPs6jfxSR/dwll/QswVyTy1uR5XN3yKr4zJmJ9Ldi8RnxRk6nq\nLSW9vgPZ6ce3w4omy8eR32dSnHwL1378LkpzNUJVgWJWcWCVjcjZc8kd2QKfn6YkP40T5yWTos9l\n9JZH0Yuz4Hg7mAshJg0x5U7a3PcTs72W3qQErLECkqdD6AC4M8B8KdVZ46hy/4Hk5kYcvgwMPdVk\nhAsJaKdheGYzVXcv45khc0iMOMKicBdDD3bhPrOFd2Y/R0Bv4JpAFvb+I+hsu4dS8yHskp7sFWXI\nybmE08+hLPQRkQkTSYx9CKEIgr2VqHQm9otPGFDzPo7MJ8lpaIemz6B8N57oePTKXCrVOykdNZuk\nwoPk7fSgjRxM+NyFhFSf0Pb5MfoP0CF5YmgNBTiVlIfNoiHLvR5tu5maMQPotypAaPSFmI+uQdlX\nR4MzjMEqY7v5VUyxq5ATLoLIeaD5ASnr/2D8bCvt+34k3zz5m3vkB/FvQdqAQoBO/kIM1//1S+ch\naP8U4pbDtouhrBx8Gkiww6zzoegDOKBAloDkCNCcS09OPh11b9OvELRiIwwbQpOtmWqymPiaG1VZ\noE8nPsaNUDXgGDgGTes+lHEKxqZceN1PaPFgtKu2IE3RQDgVzFqIjIXL1v713t67ENrC0FQK2v7Q\n9g0wBsVZQyjXCT4ZuScapz5AZEsXaCwwwcvGoVMxKiqmt++ldFwSpg4Hx3JnIu/vYOr2HVhkQeiy\n3XBoDi6jjqrGPNLqTqH8bjxydQ1tudEkvVWI3tmCPGYMaPrDXz7Fv2Q67lO7MVbJqKw6NC/vQ/Rc\nQHWEn8POScSX1JC/ez8yEsx+EqYvp7M0GzIc+EqMnOmZxVhPHJ1ja0lq6+LNgVfSE2rl4sq3qIjK\noCT6cpbtqMV0+BHa8ifQUCVDWSQlD87i/OJq1MLJ54k2DqnjubqzhkGZz4ISxHvkMkoHtiEFE8gN\nX4+v/VyM8atxmvpTpvuOEd1JNIefpDPahU5JxitSwFlDbHsDsb6xaOLOxxEbBV/PxNwaRj1lI+y9\nCqGbRY3YwalZ5xEdO5WhIgt1xwJ8q7qxZV9KYOoDvO+8i5ktkZTWFxNnaSdHr0c5UEPD7MsZMOge\n9IoFtj2PSDiM97NmnLWF9Pong8qMaexYbDNnoni9GAYORGU2/8IW8fPjZyPtO38k3zz3G2n/IP5d\nSFsQBuS+sOD/QNgLBeMg4ARHPnQBFbshKR1id0L3WAg6wNAfMCIqNkHmEzQNjKaudyPqzARSP/mU\n6DYHzRdlE525Crm+k+6aW4kuKqAzJwGVkot9+7cEzxFoAnoCb0v4fn8TqqFOTNd/jtSqhnMXQccK\nuKemLyzfWwerlsCBIhi2EOK6YFc7jB4BkpXwpQvwSZNRb4imLC6RvM2nkFIAFZzJGcGe2GVcceYr\n6iMKOSrmMdmWw86UYn635zNUu3tgzhSUxCX47nkC9dQJiLPGEm5+icP9+oNGZvj+Lhqyo4kbt5bo\n26bDmIHQ8im+XjPiWADVmCBKNnRF5pEQE49Ue4DwbgdH84fRaotj4qlDRFkddGTFo0oJUxOI4Z1+\nS3jhhZMcuSsGff1RnHVp6JJzyHV/Sb0tDrXhRpoan8PTY6GWc1gwyo646jZi/3KAMsnJto6VjKwt\nZvr69UiNCv5LpuIYMpAm7S7iVZOIj3kdaevlKBVdeG40cUYZwRDVrWgxQ89p3KULCWl70aqG4reE\nCCQtwi81E5aDIEm4AsewNboJd5iILXRi1CtI8iBOXGQjkqUUi1OofJ+TXNhEmmoop/vH8rIznbN3\nbkVvDqKL8tOvwUhaTAEnzrqO8dq7/zrX2l+BNx+D+feAZELJW4b7yBEc27fT/k6fiyTl5ZeJOPfc\nH8qU9z8GPxtp3/Yj+ebF30j7B/HvQto/CG8B1N8J3SWgeho23NGXGS/WAOk+KNeC2gg+F0KxQaAG\narWEG6JQXfcw/tfuxjHNhrmig4Inz2ZIaBDNkQeI2X4QUvoRsb4fDAtC+QGUaA/yNyAmaWmPTyA8\nJ0D8mvFIHxyFqh544B7YsbUvZWfK11BsgUAAhA90Q0HWQ4Ifcf9GQlYzjcrbBD1rCZQbyXzxJJph\nfoIRFlyNXh5b9igz3d8Se6iKE/PPxuCvZURQJrfgE4TfT6j9GoJ7u9A/+Sx4VhO0yPDN8xz73YMk\nh7KJqLoRd9KjlDm/YeLL65GcHhiuRRwxIt11DrRsIKQfyX69RH10FIsOrMNodkNVPJ0ZIfb3H8nE\nXYfwpOYS4ztOODWSyqQZVFQpqMfMI9VzhOz73kVz94v41d2cCawhrrqVuzJXMzixgyuONPDlkFIu\nXrGXVRkzkK1+lhz9FIMuAYIqFKWMjoGRCASRvlYcrmSifJFI/UZAiYPwddMI+legjnwddXgw1H/c\nVwFebYbuD8D5LcQOQ0TOR8TcTym1HKUAvb+JqTueQZt1Dr6Ob4gbXUihdDchpYPB6hW0eq7i88Zk\n7DtDbI0by67miRgVJy8NWU4u5ZR6sugMZzAyq4CYjI+x8zclB1+9GH6/CrZdAzFDYeTNCMC1Zw+S\nRoOs12MYNAhZp/tXWcNPxs9G2st/JN+8+ttG5P9fcOyEwpmgGgKmmRBcC2MNYGsD00ToqANVG+yt\nhRlLkYYvInRsB7L9JVRZEtLxh9GnWdDXy3jDYaLLAtQM6CTmux6C+kmok/1w7i3w8gUw1Yxk8MAA\nI1L8zdgDn+Np6MRnrsawMA2mvwxzx8Aly+COa2h5sIC4G95EatpAd+UWOgfKuM+ZC+UHwPw2aiy4\n5BrcppEo4jRlLy0l1FGG12jG5uvl3jY5YCcAACAASURBVNcf5+tFt5HXdYws+1CSC8tJbViDSL4S\nTn4FHQLDB2uQZBnBPXg9vyNg0jKsy4ex5gLQBjF1H6POMoX2Odsx1RjxdEYTlVqIFDEWOo6jTl5C\nftw5BPZdQzhzYZ+SRv01UUXtnF3uhjOCSOd+6LAj+meTajhATF4HutYwnX4b7aP60Wr9gsFdI3Cb\nI4nL+BMfHfsO3/sfsfKySeScrsWS1sNVK95D98RbSAMqQR+Hv2oHNRPSUUs9pB3tIRwVgUpy4lUF\nMcbNgM4CZMcewnED8bEYm6oUKfUqAMKECPo2ohZRhMLVNEhf8J1bS5ZhKufJZ2HqqgLPXtwnPyfC\nFgfOD8gIuNF2rEap30pLWRLx0V50ahNTMw5wR/t6crT1aI6U4JvYS6YxSEpUJRH9WlH5nkVon0CS\nLX3zLTYdOmr6/PpfXw5J+Uhxw7Hm5/+rLODXi195cM1vpP2vQNAFFbeAehgYhkDmE6CNg+Y8aFwE\nv/scTl0GcdtgxNtwshKlogD2fYaUZIa0ZkS3FeniO3Cf3oOzuZf+mzdiku2Inm6UtiDBtWqc9gIs\nRoF0Ohlh7UGaGAmGg2g+a4JMO7q4Amg2wfuvw72PwYVXgf9ePNYFeGNSMA6/nojn1xKx1wLjLoXN\nxXDLg3R3HWW7cBElpRHf0Ikn8wCjCrrBbKN0mIajg+ayYPWzhNIkvC2bGFDnRVi1hNxNaI7p0Dg2\nQHkS+GYhDRmN+ctqnJFujMIAyXeAfx+9Kgt5TRuQk+vZEZ7L0O1HKb51Oh30kpE4B3viQsySHm1E\nBrRuhZpC0ESBKgI6E0B9HIZooNuNVHIK87ocgjd14kz8lrgCDRXnj6NH28uJ1CA4I2ks2o7F1o99\ny5aSv+tjJKGjS5dNxP9q777joyj6B45/Zq+3XHrvIQQIoUkL0kRAxIIIYkUQy0/s5bE91qf4WB7x\nsZdHxd4bWEBEBKT3GgIkkJBKenK55PrN74/ER1CUoAhB9/167St3t7O7M9nNN3OzszM5G5AFGsSZ\nn1P7xSTKLj2LcPMV+GrPRfRNRLu9EpPdRmuqBtOWjQh9C0KxYNY8hou/4+UDDFxKOVXUUsg+u4PS\npEmkK1mc5ryRjLWbELooiM2AdQ7cwQr8MVrMHi8QgdH+F5oIYnjhIzJKNrHv3l6MqJ2L0gzWgS74\n1APF6YioFhLXWQgM0FNySg+Syt8jkJ6CNuovbddcSm8o2QoDLgEEFMxtG5tF9VNHYab135MatI8H\njQ76rgXlR/1j68fBhLvbXmfcA3uWQZceBCPH4r75Wkwvb0Vsugu55l0aS0exLVFP0m4tdUosEdvr\nkdHVCLckGClgUBBtaRM4zdD3HILB7SiVTdDzVETVCuyBMnxFenTRTsQFf4GwTPBsB5+VkMEjaV6/\nCbN8A8KDkLsdnjoFegAlzxMWPprz9qbB53cjp3/Ouvcn4e23F4Ppelpb0lkwRsOpW+bQ0hggeUkt\nQtMfb+8Qqq3dSQpfD/GjwREDj54DU4ficVbgO3s43tK97Kxay2c9JtG1ahnnhC5E6CW5H65BF20g\nrqCWYM3fqNMPoHzvJJoNVtJbV2Mtq0GxxKIZ+C9E0WtQ/CFkRYInFOxaKJWIkOXYmz+kRbmDVnOQ\nuLx8dHHQomshaXM1CRU5fDA1HJsuDMuYdEJ9WezdsB2zIYjy7D2UJr2FzO1GL/1N7MsbhcnuJmBp\nwpelIRjjYXvyDeS+/Qq6/o3gexARNGNWHiVIDW/xChuoJ5EwBsTcyhinHmPV38Fihz53I+s+Ruiz\nkDU7cYyHoP067N99AMvehJFPYCocScOeN2mOjCU/zk50cTq5W7aD1g1pAuL0tEzqz/sTrkVsbWbc\nq09hKGxERD0Fd46DyJ6Q1AtWvQcDJkL2xW3j56gOzXO8M/DL1DbtzsRRCyGR/3sr6xcjHTW4b3kD\n4z8fQPE1EHz1egrGatg7bia9Z60mNv8Lqk8PI2ZbMTiMMO05POkF+L9qQjt3NoZIL0F3Gr4BVRjK\nPYgdvraR/24OhagmKLNB5lRw1YFmFQT64qmBktnb6DKsCQbXINxxUG2AbfugbxRYu0JzF8hbA/ZG\nCkwS7ToHYTebWT5/JLmlSzEFA3gjQzAEEjA51iKnz2ZzViF9l+2ATXNgtxaCkuCQJKjbB5k92Z/W\nTKCymVdPms5dnz6BRi/wtUzmvYwk/L0Gcvns2dB3B4wpgIAX9j6Nx11L67b3qU4bRH28Hr9vOMP2\nC1j4CAwdAZ8UQD8nKG6oK8U/KIPafpVY6rTsje1OfLGbckstSgBqK+NJN4Sxt1c12fVmvObxfOnw\ncOqzz1A6JpPqnEs5p/x+WnDQmGQmVleOU2chvPBOKkL8eNZ8R9fUnbAvFunaD0ENdWFZfDqyF6nB\nLLJlJPE174I2CeJvQ/puRuzT4HO/h87wBLLkOnb3TCWlKBzj1h1tM7+Hn0ywZCt+fwBPIIhTa8UT\nHUKqsw5yMmDtBhxDz8A1ZAPvua6nOH4GDwUjMH72COQ/BVYvTF8Flkx4fhpc+9Zxu7x/b0etTfvC\nDsabd9U2bdUBARvA++o6/J9/hOnNj1HMCs3/mYm5spD4dZl03b0KGfAiyx1ELWtFWnoT7Hk1gYfn\noL1sGob8f+MNDWHDpKvo7VmK39aE4YOWth0XK/BtH+jthV67wFsC8eeAzICof2AAvP8ejGyuR+oE\nGn8zxI+FwOtQJKFvBKzaBVNugMZ5pHm70uT/L4+H3ce0s/5L2Ita/E437tYgulgdjMpFfPQK2luH\n4DOVossIIlu8EADhLEBmQFNoFfs8segizNxVtArtoLPhP3MwJGqZcuUDvMoGZGoDoiEKfA6QPmhc\ngaH/xxj8ZkKTS8GchjBdDl2AXhOhOR+qboO8KojSwoVfov3kccJyH6M6YgbJxjvZn76YwP615LVY\n0WltlPU4izrNTjZGm0kih+xlb7OrV1eKemQyoepBNLIMuylAvSECT6OJkpYBxEROIanoCbZnNCKr\nEvBMHEVQ5mNqnkXkZ5dz+bLPWZOzgvpGN/EbW6B5JdL7FhCE/Bq0yUDr9filhoT8KqQiQPggUULr\natgtaAy38dUVp5FVsZOuNaVIRwty23oUDXj37MTcXeEy+7nYiEYoAs65G0aNgrpPoOLvkP502xjY\nqsPr5M0jak27k5BS4tu8mUB5OcGaGoxjRtM6bBDBS85DzjyXdd4PCNu2l56uIL64BmyxT8A9U5Da\n/cgIOyJmGMJkQhosBHfkIYq3IIdeyOzpgxm++T2SBxsx7amG/RXwTwG3ZUO9DQa1QKwB9u+ATQPB\n5wVPAzv+s46uL4xAuNahsUrwtUCpbBsG1K0BfSz0TQExAhy7qN62gNCEILpBXsh3U9M3DV5zEDGt\nK8r89QT7XkhzxadoQ6KwFJUSDB2J2LGaYK6dkiyF9yImM2PjG4THOFGipqEJmYqYNgpuextyzyEY\ndMP6C1A+roJrboDmJZB0GYSdjKxdBf6zwDwBEfLKwXMXlmyC9/tBSDycvQgWPAvTn6bouaEYrjHi\ndPVDtJRSr4TSb8NAfHlfUDtYEpU5g/pdDxC6tQjDmf2o9ZShQ2FflMDYqiOoBUMt2Kw2YueFweUf\nUrc2EdmQSUjzOjR9r0YTPhhKX4DFayH8YrZPnUSzLGbg0tdQWouQ3d14jF3Q1W5HU2ShONdK7J4g\n3vpw7NF9kLtX4JcNtJRH8e3YqfT5bBH1Z8YRQjUJn63F4PKiDEpG2BJwp1Rg+iQb/EbQGyGzL3Qb\nAF36QMlOiE+D5y6B0TOh35nH9Vr/vRy1mvbEDsabT49PTbtzjwDzJyKEQDEouGbdgeOGa3GOHUjV\nmdF8dkMDG9zvkLvRRv+Ek9GMuQFfRjw498N1f0VYQ1GeqEHcPQdueRcx7TE0KQZE79OQDeuZ+vKN\nvN5zMrJcC65QIB0mhEK3BFACoHeAtxbs9ZCtg/oSWLyWpDgn3nfmIWLHQcq7oLSAIuHSZVAsIF4L\nlRGw7V1onoM+0Ygu8VxEkQ0KI4ms6IW+WUurzUFLtgll1RvYqxwoVZUE+usQq74h2E3HyvQMFoSc\nhrksFkuIC63fgld8gG/nnZAYBU9cBhtyUb7LQtHXwNlBKLgeAkug6FQonIgoewoq68B/RdsvU0r4\n4l4oXkNw3hvwugl63AGLH4Hh09uSbEjFvqkKnfcdiiNK6GI7gx0j1yKmNhGTUIH2gysIXV/Duitm\nUKtNI9Z4EfaM1YQNqCXimT247XaktRsxzlV4u0bBxtnY57ooSAVlr0Tz5dPgLYPei/BNWQ29z6Hn\nUy8QXx/DklOnUj+0C85QDa3xoHTNI5geQOsKQ5txB8aYMnyhl1Ciy4B6gW1PKtXx0aQ8sIDafqeR\nWrUOi60FbVwiSkFX0Eo0rXVwZgrc9y7c/Bx0Hwi71sOT18G9E2FmLuzJh13Lj9MVfgLxd3A5SoQQ\ntwohpBAi8vCp1eaRzqNsLZrvrsceXkjQIgl6PWicQUZdvxlriRelpp5W6UFEJ2BIb8YvW8AQimb6\ny4j20deCPhdKwbcw6DzEO/9GOyMNTZWHC74t4uWYoVy7aSmaMdth5DqofRMy54FhJ/iSwZQF8d/C\nbbvh4SsI1G7FX1WFcd4u2DUVEq0wxgWvnAEZKVCihSkWWNUCBh1N5aPQRWVh+fZVhM2AWDUXuz+H\nmoImrJYQRNBM0N/Kvl6RJK2rwKyx8NXAXKQmQFNBNjMCD2EJCSL6rCDgug4lYTdc1RseXgnNzraJ\nFlpMMHAOPDoebn4GPFvBOgwaFkDte4jds2DwR22j0fUYB7MG480IQ3P+ZLQDhyCr3qYqfgGR+6/B\nnJWPt9BEWIadTHcdAWUJZiWOQnsr3asmoF19EVx2OyfVLkDxR+FNvBVt0IyhRyolFyhYtN141z2Q\nHo54JmYnEXzlL4gCL8LhoSkxlIgl9XD1Fbhfuoam7ouIHl5AS1YG4R/eTnxyCf6u1bgjhmCiiWLz\nI5jjbcRs3o8u0oNsbqJ+8UwSVgXQDprI5udvJwcHmrz/cIr/S5Q6D0RnQ3hPqNuF3GFAydZD8FtY\ndS6k/x/0OA16DAIJrJ4HtjCozAPZye+ydQbHsMufECIJGAuUdHibzt708GdpHjmQbG4msGkNmmGn\ntj2hVr8Bdj2O7P4Avq+n4RgZSmT1ZOg546DtAt/dwUbtd+Q4LBhX1MLgKNAVwdBFfOv8lD7rHyFU\nG4IyZmdb80FeLhjWgmUWxFwFzY+DWw8LF9EUczV77rqabldlYN5vB8cWSK2HoSMh5kHY/gz4a6B2\nBQx/jfKVrWhMBmLX3oA/cQBeTT6a1dUEv2nA//EULIvmoZQ4cWVa8CdmY9uQg++qcRSGDmbZzheY\nEXgKbfd/QXk48vMbaL3lRsyWv+JZdT8G31yErxzCJcRdA6GTkCigjUVoY5FSQlk2YlYJDEyCLg8i\ns+0EvzkTZaubxugILGOGo923k83d+1BHMgOfnkfNlwpR4wfRevF29JWno0TayM9+mz7fjMHUOxe5\n/1aE2w5f5dMQoaH07MGYqmxoPOHk9w9y1tyXeK/7F0yK+zuaF7cidgoCPXzU9BxGzFfL8VgTWDe5\nJ731GyjodwMWEY8tGEfojqsQ+42UDQknynQVPumiMvgU2esL8X5swlDbAko8mvNuhyHjeNn3PlN3\nF2LIuBJ3VBPUb8FYA0ScDeWrkHlPEXTuQOOU0GUS0AzNeyApEwa9Csbo9gtLQu0+iEo9xlf0sXHU\nmkdGdzDefHNUjvcR8A9gLtBfSll7uG3U5pFOSNhsaIePbgvYLSWw/W/Q+x+IfTejm/AOsrUE8n/U\nC6DsWTQbH8UY8LPV58I59BJY+w1ookGr45TS28nL7EVFQjdoLWjbJvJmaDSzxLqNdcrzlDlNeJfO\nJ3ju6whLNI4N1Shn/QtueRviu0JvPSScCdqVMOZViBwC0g4bb8IQHc3+OZ/REjee4q+c1N65C+/2\nBrzn9kbfGkPhTeF4u6Vi2K9FH9BAax3+lEk8UG7jcuejaGQQ3D1gw+uILmOwmO8BFFpzu1A5bAxy\nVA3YnoWmZnDOQ36Zi9yciq/xUTzB5RA+Gs57DRoN8Ml5iOvOR3PSSppjrsVU0Ipy5zzgDiy261gY\nbaZ+dCp07471uvsJcz+Cp+d3GHSPkFFTyKb0DVA/gUBJAd4nN5M/KIvCs04mYb+HyK1LcOcX0+xp\n5tm+TzC54iKELwqceoJhblpDY2nMyKA1w44/JRRdSipW62hOcp5NN6aRUPUllrQ3MfW/kITyCgp2\nf0lz62PEMBJt5f9hMjvxoMMzoJ5Wy4tUFz2E2dYTQ+5rEH0yHrEAT3hF2z/RqGzocwXBCY/jHzsc\nTFZomgP1FdAiYecq+GYktJa1X1jiDxuwjypPB5ffSAgxASiXUm45ku3U5pHOzNsEG66BPo9AwY2Q\n9RwYkpBhKZAw4IB0tWDKwNv3FiJyU/HMe4293YrIKh6PITQU6l5HlA6hqk93jDuXE5YZiQVA8UHo\ncGJckYTkryaivJV9E6+kUfcmJK4hdIIeR8nNBOtOw1+5FYP2/zBYxuOv+xca50pE5UqCPi9NlRMo\nevBG9m/MIyZhKkkXBqFRQRdjYeej0aRsDMPoisAb50Y/9GF0Gf2RjacwdK2LW6OfQvH78IXdgf7Z\ncTDwMjjzP7DpA0S/8zGQSbX4J2HBizB9tRAGOpGWNci4MfD8AirveBxhMhGqqYchHqxfmRCDLKBt\ngkVnYisYTvPABxH+e+HbWcS6+jE2ci8RNQ00hcegGIsxal8nokbPblsIhqjuxFqq8WxPw9uYwrYX\n0kkxTqab6RQ2pT+ASdON/1afxCWhz9B7zmIUh0T4GqGxGYwR6DIbiUp5H9etWhqDAbK3vY476WS0\nTf9AaWxEo+2C8IXB/Gcx19aS2TMMJa4CZ/V+sOoQGRJjmpdgaDhE9mZZspU+zc8QDB+HIoyAv21u\nTKFpGylS0YMlDMznwPAc8Gug4C1wTIFz7wazHUQnH2u0szm67dXfALGHWHU38FfamkaOiBq0O6uA\nF9ZdAdl3Q/FdkPkEGJMJUoe0RRNIH8r/5sPWR0LEOPTDT8PMImrGePA2raTqDD2J70egTL8YKj9j\nUmAub5zxDs16F6MA9Aaw9SWrPJnSqi8pyj2D7rqL2vb5xaU4ZkXgSZ7IHpeB6t59aYnMI2Hb7ZT7\nenDa+hto+qYV/apGfBcYyfl0Pt4JI4g+14/LqcPQ34aSOgmlbiXFWaVkFaTiHNAM1nCU+oWUxKUz\na+sEogfXUJ9yMuGaQRCRhtupwag3w7rXCVhaUbLMhDMC97abMK5ag+u8wZgK1uLtciYGgwV7XhTe\nrmMxcBo6xiBCR8FiE1yUAcZGxAcfEnJuHo3nxGJtaMFesZl++cWUdU0m1lpIYNljaI1reDV1ChGG\nUMY2zqVl7wDKrXHUjKzjJP0NGE057OIFfI3n87eaIP/6ZhbKGQbmTn+Qiet3oH3tReiegPiqHKNL\nYFijofnyHlQm9CKlagdy0wqCJ5vxi0YC+g1I37vIsW5w6THv24Zuj8QQWE0w0oKwJ+Kw+7CW1qMk\nz6TaWMq5hrsRtI0JoudUFMIhfBvUr4bI4fjlNwTZjbQPRRjiIP3Kth4j94+CnFPhymeOwwV8AjuC\nLn9CiAPbUv4mpXzgwPVSytE/s10OkAZsaR+kKxHYKIQYKKXc/0vHVIN2Z+Rzwua/QNo0KH8EMh4B\ncwYALpbTqixAxh5ifkohCHWfjJzhwhBrovImSfGl+9HtPJvwbqWYs85lWnkhjTY3hIeDTkewcCe4\nDOw98ypa3FvpvucpiL4UubcIU7UWqxxLVJfBVHmNNDXNRpxUR8q7awhW1BFW7kak6PDfOABhKCTr\n1Qdx9PoCuaIIsz0UqV1EYl43Kk6qRLuhHm2fBLwx89DXFxLBRuJNbnz5Coa+jyA2vgmTnqfilgux\nljdiMxWhm3cXcs1k7CPOwRF8EhJ6Yl5fBZUaTKkz4IbehHy4idozaxG6DERzNbiLIDQHMt8A3xI4\n/Q54Yz8h2QL/UBfUSrShOjYNGsDY6u40bSqibsBgqqSFqa7/4tk7irXDNdhbJCPrr0NYcvD6a6ma\nu4/HrRN5o+eHKOFxaPg/Xg/uY0jB18RbwhFNvSDZAMMciOX1GBcWkj3GhQhLQptfi9jhhfpxlJ11\nMqH1box5L6PZ5UCOfgSROQKjodv/TuNG99MM5S52GgL00GQjiPnfOgOjEFggKgrKP4TI4QSpQMom\nhK0X1H4L0eMgKx3GV8LKD2DpWzDikt/7qv3jOILu7L+2TVtKuQ2I/v69EKKYDrZpqzciOxufA77q\nC4ljQFsDqfeBrff/VgdpoZJJJPDVITevePllAo4mkpoXIG19Ees/xuuooOH+MFp6DcPs70J4uRF9\nVSFB73xcWjPG+HtQogaxzr6JvrsL0X29Dd74lOAQC9g9CEMC1LXSbAngG2YgdKcbzOGI94oJpAfA\nFo/vkX/i0+7E456PqaQey1s14AElJZTiaYOJXbgC4zt11N9wKuFDv4G1M4BG5O5tCHc1dMmFtPPZ\nO3c/u++9F/s7vRhc7MS1sjemN97D0fA8xo/ewbB2FZx7HhgWQuq14BxOsGAJtVP2EVkxEyVYB2Ub\nYEMtcupDiH8MgurdkDkM14h0TGkmAu9+xKIZ2QTDIO6xKj6aejF/kY+iBCZTUbcfnc6DpT6Ips5B\nxITVbKlX+PTdT7it7N9YzSEw+nroP4aGLyYRdG7DXjMC7a51MKIfnDQK/3/vA10j3sEmdCY3xEaj\nVNQg9ibDkAg8G/IxFtYjYrLglp0/OYc17GdL4+ussfi4TI4gXjf0h37n35MS1p0PAz/AJ+eCdKFz\n58K2mZDzApgPGOGvpantkfk/uKN2IzKng/Fm29Hrp30kQVu9EdnZ7HkZDBZoeBlCBh4UsAEULITz\nwCE3bVq1iuY1a0i8+RaItSF6lMDEkeh1GmKerCHtkvnYHnyLqoYvKUqvoKRrIkv79ma7aRfB4g8Z\nsOAjtF+/BoYVcGkI4m8r8fy1H77LxtJUFY5L6UfER140rgCaqsH4x56DL2ihcVB/TDs/JeBdj31F\nCVbjZSgT3kVx+SHnJqKbmqgelQkzTsO024XvnekEFRMl3e24rZnI1hBkUwzoIzBbFmLMMNKzoBpK\nq1BKlyGWPkNIeRgu3Q7kzNmgxIFUoLEKMnqgVFYQVjkDT/UM5NaLoNdloNHie/h2Am4J19wHJ6/G\nUOLAU7eIwGAtA9/biqzPYNk5uVwq3qBFhmPbtJisxL+TlP02rmHZ1OU2U7gtl5bFZ3Bn80NYRsdS\nfMvz+Bor4eEehBVVYN6VzOIRveH5HTBAhzd9AlXDk6H3GbR0tVI7MJzmLl6kzEEJVKEs24jW5Kdu\nYj9wJh3yPEYRizl0PA3aKEzOF6F+BsgfVf+EAI0F/E60jEArzoDWYqieD8Ef3SX7EwTso+oY99MG\nkFKmdiRgg1rT7nzKPwPHF21zSCbdBBpjhzbzVFSw++qr6fHee2jqtsGXF8LkOfDdHGjcD+vL4P6H\n4esbYPMSgmWSVqueFq+V7TefjE8LusYg3RLOI76mEJH3IqT2RQ5+jmLtS+g/+ZyEKZtBo4G3ziWw\nqBglJgLPeQPZGeKga0AS1L6BqS4cTfYcaLHAvV3htuVgeYHdcRFkuK/CV/YX6mQRurxaGnOzIUyg\nLd9D0lcteMbMZs/ej7G+VEaIdQOR/Rxtj7qXWcHTgifHgj/tfCxLX4HcfpB8O1SthcrdsPxbWk8P\n4ovS4O87BsVrw3b7O1RcmYyt73AMZXnoGiqo6REkcm8d/ioDpZY0qjV6QuMbCd/mJP6FWuS0aAIj\nBoGiJzDrK3yb/LgfHEyD9LGlZwS1IhJNvZU6TSKxFQ2c9+8nqEqMIWDTk2goY2fPi3AlOegWUYHc\nn099UxhpO/ehbfIh9BoY+w7SNZvVyQZOesqG/q5XQKf7yflcQR6R2MlqXQ31V0Dof8B62cGJdtwH\ngRbImfXDZ6tOhYFfgOaPMVnvkThqNe0uHYw3heokCIf0pwvaMgi+OtBHdXiTgNvNjgsuIPPJ/2Dc\n/XeoyoOUy2DYTFj+FgycBF+8B2YrjDsPfG5YcDdsfJ6irtmY8j3EhtTSYnazq1sKFQmpRNYE6F5W\nTumom9m0vY7zYr9E2/UatJpzCJ4bhruXG+XCSzAazibP9hVx/vexL45H406DmH0QEQUfbIZHqwiU\nTGBvfJCg3otegitQi36nm5RPNfh0ejSeJHQNCmXxVUR3n4pG24Lj638RntQATUZEmBdC9XhXB/Bm\narG0BBHx2TDsdqhZCjoPbNmHP2gi2PwdGjQoDSDLGqmYFA2haWzrMwCrJY3oHUswOCuI8OfxSeQF\nnF3zIdZ4L7o1FnjMDTY/nJMMVV0JZkcjqpciXC7kiMtobfiIer+CIbaR1kQtlk0uIosciLAg0iPx\n9AD3LjNoMjE53Cg7WvC31GAs9UIWiPESR+9+mOvCac55gNJNT9Mr+wUICf3JOXXhwdR+85FgA7S+\nB5YrQRxwG2rHPVDxKYzO++Ezx3YI6flrr74T2lEL2kkdjDelatA+pD9d0D5CvsZG9t55JzGXXEKo\ncTls/DdYR8Hoh9sGvv9+HA6vF26ZAk9/+kP7aM1zUPUdmEMh7kbQpoLOhFz4HDUZ8WxI2cZupYwB\nC30MHvwoPuNf0P67HLFxJe6PZmPcuBzFrqEpbCEVBYLu6e9CdA40V8PWV+G7f0E3Oy1du+JuyaN8\noBWb5xxK3D565b9DWHEYWMdAXgmBvmNwZmZgN0bBkntwbV+EITSAYgGi+oMnDe/SDShhZWiyAojE\ni6DybbAkQWIY9P8OHrkIecsbuMrvwfjJWwSNrTi3m9kxswsyYMZgy0TjySN+bQVvnDKZa/a8SJOm\nP3GGLQglFtkwEuYuxZ/ShH+M+FnwaQAAFjJJREFUF0NBI6I2CHUC75B4vDo3Oks6jqhI/FUFWBvN\nWOp3owiQaR68Rgt7XacQlbae0LUj0e0txuUsRTv2AXTdT0N+moanZzyOOEEwbiw1JfuIjhxOtO0u\nxK9pqQy4YMM0GPjBUbyiTlxHLWjHdTDeVKqj/KmOUNDvZ1NuLvZhwwgd1BcKi+CyUnh1BkSltyX6\nPkDr9TBgBKxaBEPaeyG1ClBKQR8BrgikTUEAomol0ZkNnFzTh+yqnnjyPqEh7nPC5+uQW9chLjoV\nM1OQwasJ7HdD7Gm4WutotdkwA5hDIPcWsHaH8pcweHYjPA4CFWFsCvEyIV+Pp7UZb1wo+ngbxOnQ\nzJ2Ffe+pEOGFlFyql21Eu6+WhL4WcGaDIRFK1qKJ74Wnxz6M5QshLBxOmgXGJmhdBpNuR7x6Oaaa\nZbhODrB34PWU1VRQkaSjT4UHv3Y3aUsrWZl9En1bijH53VjitsL6HuDMA9NrMNmL7GtH+C+Ej+aD\nEUT6BAwby9Ckh7JgdG+GcSG6LiGsYTtlwU2cVToLk3s3Ou09JHRbTE19AiFb5hNwgzLtGTTdJ4Nj\nPWJvJMaMZIz2lwkGYlBKT8eR9gJ+dhLLk2gIP7ILQGOCnMePzsWk+kEnH+VPDdonsPp58xAGAwnX\nXw86C3SfCvs2gN8LXhcYzAdvMPlKuGcGZPaEqFjYvxgqC2FTAkHdzTTNNBNWvx9WLoWMZwkp3UvI\nlw9AQxOBL5chItMhIpVAcDHK5wORSS5abSasS9bS1XsFuxtfpI/pobav8CungaMK9uSjHVdA67ZL\nsVesZ1D9Jqp37seSasUnanHXrEOT14h59D48LV9BiBG/shzDhABWVz/Y74QuOcgXHwNXK2KgHYUw\nAklxaCKuhrUfQbgFwjaCTKHet5kNM4fgCU/BoIsgLqQvkRWzqU2LI7R1GItPqeKmLnez7JtLUDYJ\n2NoEZ6+GjSHgywZRiH5DP3BtACUCclKRXz0HUQPQlrUwiidYxKuM5BKG0weUvuRH5pBeNYRqy7tY\nNzpIcLjQT36TOuc3NLKQBMZiqJ+D4nRAr8fBloUCRL3gxyFGEhx2NkFajzxoQ/ukz6qjqpOPYKv2\nHjmBaaxWTlq7FmtOzg8fbpsPRWsOvYEQULQTrj8b3nwAXl4Je81wxXjEjQZ8IduAa8DZDEtfB5sV\nHtuEtGfRNHEgslsvxP1voEm4DtlvH259Jp7UNMh5DGvId1gLdxHAC4oWBr8EGg801uOqXcry3kOI\nD8QTSAjHPSKGBnskhpogtsLNGGtcyM1WDLIafb0bl7cFz3AtMtoNudfDgtlIl4egwQUhBnT9V6I5\naR6EmCADcCxBOsqp6HollTeEkBYeTwh2jK46rMKCSNAxwn8HA907WJJxK7eXN5Bakg9DJfTTgS4O\nBvgR+7cg9nmR7iW06vLAWwqnnYbUmHFPHg47d2DyGTiFS/mW11nH5ygodFu5gqArhISvt6D4HJT3\njWZJzxj80aeSXJ3JDp6jxvsZAfsICP3hSVYx7mLSxUWUkkdrZ6/e/Zkch94jR0KtaZ/AwkaN+umH\ntig4++8/rWUDKALCQ2HdMuiiwM1WiDCB+ymEeQ747oYVn0NGLpxzH3QbDjXlVDx3LW5bM2ENi5Ff\nXYjw7UXxDkOmK4Qb3kFJCYfYcXSZ3RdS3ofkqQS0AcTQWThKL6K2+nay7H3xx+eS+OVKlIlfEozz\nUxIyC4+rnJSLn8Z4Zy50vQ1X3ZsE+iVgWLcQb08/wc/LUWx2gtoClEgd6K2IvXeDqxoiz4Dsl8C0\nHCr/gb/2YZJ9EtuqGtK676I0M5o803Nk+7Lwuu9Ab3yeaXM+YUD1euijhfgQqGuCOiP4qsCsB58d\n96CHMC26HHKs0GxDnDITZ/9qTCeNgA/OwBQayWBNBRXWFrzWPcimR9B5nbhjorF5mtDYi5kjl/Ft\nTCs3rM8nhb9QltqERruAcH8rirb93Jx+PsJsxcAuVnI/43gdwTFvIlX9mDqxr+qY6jIUYrMOvc7t\ngkc/gG1rwHQzmJ1gvhhc+0CTjKKJJzD9r2i8etC3dxmLSqCRneiJANP5kPk8lJkRrmQsC3YhHDkQ\nlwaWKMgPQOgr+Ks+pqxLJS5rBHVdIokUPchqCEcEzgPzl2AJRwFSMx6hngoW8TYjklIxLP0HTTdl\nEd56Gzu615DzmoPW+Lcxjh9NcE8Nmmw9lJZCYiJkzAKXGbZ8DHu+BVc5CRENbIi5jJzzM1BkOdW1\nhQxoiSDEpqXO1wvbP25gwEW3QX8DBPdBwrfQMhnyFyOVXsjAdpSLVuEovxjDKj1ibA1sn44Yvwmt\n+Aj/8AS0TRqUk6cT7fdgbNmKM+8DzN0a8edHYXZZIdRMSyCeqwL70FSdhX7nbJRSP5HGW5GrZhOc\n8wxMvr39dxuHAHpyGSvYSytVWA45TIXqmOrkX3rUoP1Hk5D98+tCI9p+pm0AJ5CwHbRhUDsZqh9D\nH52Fj11o9AMP2sxIHIlcBp4vIGE3RLwGRgWheRJ26kDXBRwNYHEQLN+C0uwidYMHv05DqjUZg/90\nhC0PFj8JvceAIx9CugMQTjynMxNX2SPsvT2apJvzaSq4hIyBTvwJTkwj/k1j3EKMLQa00X5ozYbn\nFkEPF5ijQGNDRvUmaNqFUu+iZ2II++XHxCkv0r/8VJS8dDjpOsLYCffdDVY7LL8Wsh6CJZOhYRWE\ndcf3ZCOalDCwJ+NtSUOEA65VICKh+n2s9qk4k58ndJ4fmA7ST0hNIf6GL2iMycAyaT6i4EOIGEJj\nyGOE0p3oyBxorARbPIQmILr2Q9Nt6E9OiwE7w3gYN3VH4wpQ/VZ/5Jq2ECIceB9IBYqBKVLKhp9J\nqwHW0zYU4R9zvqMTRf3HbX22hRaEDrQx0LIcHbfhZRdGDg7aCUzDQCw4P0RqrchILaJhH0QaYcxZ\nIMNB2xUSIlEqtkGsCXxVaJqLkLpWpNYKC3ywZy3U9oKNE/nynMcpjVQwYCFtz2xib9BjkuEsnzaO\n7p98RmTcEJpPLUHse4fQvSG0+IqQ2wLQNwIZY0OcdA0yayS4iuCNU1GK9sN4I4b5TxKZeQnumEkY\n8wbBRe/AYzMwj7+iLWD7nVBnhadnQE4QjMn43w9FMQXRRDTh2/AIKKWI/fVw+oVw0lPgc6ITqfhD\nHEhHE6K5GOadDqnn4ulTjC5qFCYlFepWQddbCWMCJrIhJAaGXwchcW2/yDOvhKz+hzwlOszoOEST\nlkr1I7+pn7YQ4lGgXkr5sBDiTiBMSnnHz6S9BegPhBxJ0Fb7aR9lnhrYcQrkLAVte8074IDKvxJI\n/BuNPE4ED/50u2Az1N2LDLsSvLMR5lnQXAIrb4Atc6E8DnbXQq9csMWCosWvLEOm9EEXNQE2fwKn\ntELvr5EbzqWlezKtxhXgNuE2liIdfgwtycxKuhqPL8Co9+cyrtd15PdZQrdPu6F9cgbO6+3YslrQ\nRCtQGgoZQ0EJEAzWQEMGOJah7GpG5LfQak5B4/JgSB0JiX1g2QI4/Vro2Rc2zYK4UTD1KgJdBxMI\nj0N3372IB/rg7GsgUO7BvjEI//wIsn6oGbcwF8OLj6JNtCI1Rrybg/jP/RpTUj6K3wfFr0LOw/ip\nQ8GCghE8TjBY23Zw4NyVqqPuqPXTpqPx5gR8uEYIsQsYKaWsFELEAUuklD9pUBVCJAKvAw8Ct6hB\n+ziRQVh2CiRfBKn/d/A6fz1ow6lmJtE8f4htfYAWhEA6p4DldYQwQdAPDftg3w6oqoac4cjELgSD\nhbQ4L8K2cT+iNQhNHugRhxRxuDQFeG0uZNRQDHIiXpGHfcOnkPQSrvkPYd76FVh6QEMTztMH49i/\nmYg39qC9/kyUkBawOGFXOHLPGlbcNZ20hi3ENe9GiShHtIRD49XINd+xa1RvIrKmEVXihL2rYNFL\nEJkISb1g2RyCGafje385+vFnIO59CP41hKpTHUTunYgmvEvb72v0xWBsqwFLvLR+0g9LnycpTS/G\nfsXDmE8ZiHbSf2Db7ZB5E4T2+f3Po+qQ1KDdkY2FaJRShra/FkDD9+9/lO4j4CHABvxFDdrHiacO\n5kXBkPkQc9ohk/xs0D6A9H4MshlhmH7owzAHV/BJbA1XoNn2EOz0QpdrYeQFUHU3mGfC2slwWhHS\nsxtReiskvgzGGHA3w85FEN8T9CGgaHA9eQoOWyhhN81FT1jbQepKkM9OojW9nsLzT0HnbcS8ezcp\nwR0IMQC27CaQfTkr+hjop78BswxFCQA3nQoNjcguRrxfFKH/63UISx94/03k2b3ZN3wJqfonwJZz\nyLK1bLwQXaA3m076msynDIRe9ylKSwEs7AVDPoP4szp6NlRH2dEL2t4OptZ3ziciDzPzwv9IKeWP\nBgT/fvszgWop5QYhxMgOHO8B4P7DpVP9Ct5a6P7AzwbsIM34KKSJF7Bz9c/vR3c2OKfALwRtFD0i\nYizElkF9KYy+sW2lDIItCbIfAk8xovQWSHkVdO1jrRht0OecH3b21h1oMzPZea6DBD6mC+0zrkck\nE7htMoZ5D5ITmIhiOYO6/fdR0TWautAk9HVRhJa9Q29/Ao3md5GGAdgK6mHRMuRpo/F+sRPdK/MR\nfdrbmLN6Erj7UuxxfSDqHTDeDrqwn5RNWxVAs/BuMvp9Sfh1o0GrBX9L22S6asA+7g43KUHHdO47\nkYd9uEZKOVpK2fMQy1ygqr1ZhPaf1YfYxcnA2e3jxb4HjBJCvHWIdN8f7wEppfh++VWlUh2aMQ6y\n7vnZ1Qo2tKQiD9PnSQgdaHohvfN/sk7iRkMqdr5AIQqSp0LKAfsLvwIaXoHIAVB6HaS89EPA/rHS\nPHA3o6tZRde9GdSyCtn+1VVKH0JrR3NuJYphPAAR3aeQsGoQPXekYCrcx9LTxvJ5nwzye02nVlSA\nZyPyqVH4moxobc0oGz/936F8aSFUvJxLyGvb4N6HYfM3h8ySJudK0CiEanq0BWxo+4bQS32cvDM4\nMHb8uoANbX3+OrIcH7/1icjPgGntr6fRNqPwQaSUd0kpE6WUqcAFwLdSSnUajeNBFwLil095GDej\n5dDjPB9EWMF5JlL++KukHgsPIGgfbtQcD/7mtl4bbR9A9cNQNAWSnm17GvFQpIT374Mpf4eoXsRl\nPE42d+Gnue3wQodGdzVCWH64uZeSDcW7UCz9Sa4JZbT5fkZ5ptLVPxKR9RCeM3bg+Vsjokcumnml\nYAsHZxMAfhqpM8/D+citkG+Gm/4K7p/OrahNHENwzEyCNP7woSUNtGrPjz8OVweX4+O39tN+GPhA\nCHE5sA+YAiCEiAdellKO/437Vx1jenqgJfXwCQ1XgecVCFaB5ocgf8jR6hLPg7KPIHU6OFeDT0DM\n6WBIOfS+g0FY8S70GQchkTDmKdCZsdHll/MkBEQlARrElH8SIVIg7Idj+D94Gb+jCSV3KJhtcN6t\nB20eymnY7RNg2Tb4dgGsWQ4jfjrFn+7Ux5HqCBB/YJ376Rp1aFbVryYDuwAQmp95AvN7QS+suQgG\nvQV5PcA+DqwDIXz6odN/8R9Y9yn89atDP47/S7YshoL1cOY1YLQctMr/5qtoJp2PMP90n16qEGjQ\nEXlkx1N1GkfvRmRRB1Ondc4bkSrVzzlssP6eogdzCtQtgC5fgql7W/PHz1n7CcR2Ac1PZ3Q5LEcd\nzL4ThkyE+INr5tqpl/3MRqA/YPJc1Z9d565pq9/xVMeGORlWXwXGrm3vf+4hE3cL9BwFM2eD9lcE\n7cFnQ3L2L/9TUKl+0bEZ5k8I8YAQolwIsbl96VBzsto8ojo2mnfDov5wehEYIn4+XTAAiua3Hatg\nI1hDIS79t+1HdUI5es0jWzqYuvdvOl5792anlPKxI9lObR5RHRu2rtD/VfDW/3LQ/q0BGyCz32/f\nh+pP7Pj1DOkItXlEdewkTgKrWvtVdXbHdBaE64UQW4UQs4UQP32a6xDUoK06tsRRqEmrVL+rjj9c\nI4SQBywP/HhPQohvhBDbD7FMAJ4H0oE+QCUwqyO5U5tHVCqV6iAdr0Ufrk1bSvnTjv6HIIR4Cfii\nI2nVoK1SqVQHOTZd/oQQcVLKyva3E4HtHdlODdoqlUp1kGM2YNSjQog+tI0FWwz83y8nb6MGbZVK\npTrIsalpSymn/prt1KCtUqlUB+ncXf7UoK1SqVQH6dyPsatBW6VSqQ7SuSdBUIO2SqVSHUStaatU\nKtUJRK1pq1Qq1QlErWmrVCrVCUStaatUKtUJpHN3+TshxtM+3nlQqVQnhqMwnnYx8DOTl/7EvvYJ\ny4+pTh+0j5X2yRaO+Xxvv7c/Yrn+iGUCtVyqjlGHZlWpVKoTiBq0VSqV6gSiBu0f/O14Z+B38kcs\n1x+xTKCWS9UBapu2SqVSnUDUmrZKpVKdQNSgrVKpVCeQP23QFkKECyEWCiEK2n/+7EzIQgiNEGKT\nEKJDc7gdTx0plxAiSQixWAixQwiRJ4S48Xjk9XCEEOOEELuEEIVCiDsPsV4IIZ5qX79VCNHveOTz\nSHWgXBe3l2ebEGKlEKL38cjnkThcmQ5IN0AI4RdCTD6W+fsj+dMGbeBOYJGUMhNY1P7+59wI5B+T\nXP12HSmXH7hVStkDGAxcK4TocQzzeFhCCA3wLHA60AO48BB5PB3IbF+uom12606tg+UqAkZIKXOA\nfwD/Pba5PDIdLNP36R4Bvj62Ofxj+TMH7QnA6+2vXwfOOVQiIUQicAbw8jHK12912HJJKSullBvb\nXzfT9g8p4ZjlsGMGAoVSyr1SSi/wHm1lO9AE4A3ZZjUQKoSIO9YZPUKHLZeUcqWUsqH97Wog8Rjn\n8Uh15FwBXA98DFQfy8z90fyZg3bMATMh7wdifibdE8DtQPCY5Oq362i5ABBCpAJ9gTW/b7aOWAJQ\nesD7Mn76j6UjaTqbI83z5cD83zVHv91hyySESKBtxvFO/22os/tDDxglhPgGiD3EqrsPfCOllIca\n40QIcSZQLaXcIIQY+fvk8sj91nIdsB8rbTWfm6SUjqObS9VvJYQ4hbagPfR45+UoeAK4Q0oZFEJ9\nov23+EMHbSnl6J9bJ4SoEkLESSkr279SH+or28nA2UKI8YARCBFCvCWlvOR3ynKHHIVyIYTQ0Raw\n35ZSfvI7ZfW3KAeSDnif2P7ZkabpbDqUZyFEL9qa5E6XUtYdo7z9Wh0pU3/gvfaAHQmMF0L4pZRz\njk0W/zj+zM0jnwHT2l9PA+b+OIGU8i4pZWL7SF4XAN8e74DdAYctl2j7y3kFyJdSPn4M83Yk1gGZ\nQog0IYSett//Zz9K8xlwaXsvksFA0wFNQ53VYcslhEgGPgGmSil3H4c8HqnDlklKmSalTG3/W/oI\nuEYN2L/OnzloPwyMEUIUAKPb3yOEiBdCzDuuOfttOlKuk4GpwCghxOb2Zfzxye6hSSn9wHXAAtpu\nlH4gpcwTQlwthLi6Pdk8YC9QCLwEXHNcMnsEOliu+4AI4Ln2c7P+OGW3QzpYJtVRoj7GrlKpVCeQ\nP3NNW6VSqU44atBWqVSqE4gatFUqleoEogZtlUqlOoGoQVulUqlOIGrQVqlUqhOIGrRVKpXqBKIG\nbZVKpTqB/D+F7yW5gV7LfQAAAABJRU5ErkJggg==\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -1128,7 +1118,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", - "version": "2.7.10" + "version": "2.7.6" } }, "nbformat": 4, diff --git a/docs/source/pythonapi/examples/tally-arithmetic.ipynb b/docs/source/pythonapi/examples/tally-arithmetic.ipynb index 3a61b09790..0948428959 100644 --- a/docs/source/pythonapi/examples/tally-arithmetic.ipynb +++ b/docs/source/pythonapi/examples/tally-arithmetic.ipynb @@ -15,7 +15,16 @@ "metadata": { "collapsed": false }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The autoreload extension is already loaded. To reload it, use:\n", + " %reload_ext autoreload\n" + ] + } + ], "source": [ "%load_ext autoreload\n", "%autoreload 2" @@ -33,13 +42,7 @@ "from IPython.display import Image\n", "import numpy as np\n", "\n", - "import openmc\n", - "from openmc.statepoint import StatePoint\n", - "from openmc.summary import Summary\n", - "from openmc.source import Source\n", - "from openmc.stats import Box\n", - "\n", - "%matplotlib inline" + "import openmc" ] }, { @@ -289,9 +292,11 @@ "settings_file.inactive = inactive\n", "settings_file.particles = particles\n", "settings_file.output = {'tallies': True}\n", - "source_bounds = [-0.63, -0.63, -0.63, 0.63, 0.63, 0.63]\n", - "settings_file.source = Source(space=Box(\n", - " source_bounds[:3], source_bounds[3:]))\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_file.source = openmc.source.Source(space=uniform_dist)\n", "\n", "# Export to \"settings.xml\"\n", "settings_file.export_to_xml()" @@ -366,7 +371,7 @@ "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAPoAAAD6AgMAAAD1grKuAAAABGdBTUEAALGPC/xhBQAAACBjSFJN\nAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAADFBMVEX///9yEhLpgJFNv8Tq\nQYT7AAAAAWJLR0QAiAUdSAAAAAd0SU1FB+ACBxUFD8qiUrQAAALKSURBVGje7dpLcqQwDAbgHHE2\nYeEj+D4cwQucBUfo+3CEXoSp8OhuhF70T4qpKXmdr21LogK2Pj7A8QmNP+HDhw8fPnz48Kf6VH9G\n+66vy+je8k19jnf8C5dXIPv86ms56lPdjvaYbyodx3ze+XLE76cXFiD4zPji99z0/AJ4n1lfvJ6f\nnl0A6x+578efMSg1wPr172/jPO5yFXM+Ef78gdblM+WPHyguP//t1/g6pA0wfln+ho/fwgYYn19C\n/xwDvwHGc9OvC+hs37DTrwuwfWanXxdQTC9Mvyygs3wjTL8uwPJpn/tNDbSGz7T0SBEWw4vLXzbQ\n6b6RoveIoO6TvPxlA63qs7z8ZQPF9F+SH22vbX8OQKf5Rtv+EgDNJ3X58wZaxWd1+fMGiuFvir8b\nvjp8J/tGy/6jAmRvhW8fwL3vVT+o3grfPoB7r/IpALI3tz8FoJN84/NV873hB8UnM3xzANtf8nb4\ndwmg3grfFEDJO8JPE0i9Ff4pAYL3pI8mkHor/HMCeO9JH00g9SafEsh7T/ppARBvp48UwJnelT5S\nACd7O31TAlnvKx9SQCd7B58KgPO+8iMFuPWe9E8F8BveWX7bAjzX9y4//Jve+fhsH6Ctv7n8PTzj\nvY/v9gEOHz58+PBX+6v/f/wPvnd54f3j6venE/yl769Xv7+j3x/o98/V32/o9+fl389Xnx+g5x/o\n+Qt6/oOeP6HnX+j5G3z+h54/ouefV5/foufP6Pk3ev4On/+j9w/o/Qd6/4Le/6D3T/D9V67Y/ZsV\nQBq+s+8f0ftP+P41axXguP9NWgDuu/Cdfv+N3r/D9/9TAID+A7T/Ae2/gPs/0P4TtP8F7r9J3AIO\n9P+g/Udw/9Oygbf7r9D+L7j/DO1/Q/vv4P4/tP8Q7n9E+y/h/k+0/xTuf4X7b+H+X7T/+BPuf3aM\n8OHDhw8fPnz4w/4vzcvgeY10sY0AAAAldEVYdGRhdGU6Y3JlYXRlADIwMTYtMDItMDdUMTY6MDU6\nMTUtMDU6MDAlEzIyAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDE2LTAyLTA3VDE2OjA1OjE1LTA1OjAw\nVE6KjgAAAABJRU5ErkJggg==\n", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAPoAAAD6AgMAAAD1grKuAAAABGdBTUEAALGPC/xhBQAAAAFzUkdC\nAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAxQTFRF\n////chIS6YCRTb/E6kGE+wAAAAFiS0dEAIgFHUgAAAAJcEhZcwAAAEgAAABIAEbJaz4AAALKSURB\nVGje7dpLcqQwDAbgHHE2YeEj+D4cwQucBUfo+3CEXoSp8OhuhF70T4qpKXmdr21LogK2Pj7A8QmN\nP+HDhw8fPnz48Kf6VH9G+66vy+je8k19jnf8C5dXIPv86ms56lPdjvaYbyodx3ze+XLE76cXFiD4\nzPji99z0/AJ4n1lfvJ6fnl0A6x+578efMSg1wPr172/jPO5yFXM+Ef78gdblM+WPHyguP//t1/g6\npA0wfln+ho/fwgYYn19C/xwDvwHGc9OvC+hs37DTrwuwfWanXxdQTC9Mvyygs3wjTL8uwPJpn/tN\nDbSGz7T0SBEWw4vLXzbQ6b6RoveIoO6TvPxlA63qs7z8ZQPF9F+SH22vbX8OQKf5Rtv+EgDNJ3X5\n8wZaxWd1+fMGiuFvir8bvjp8J/tGy/6jAmRvhW8fwL3vVT+o3grfPoB7r/IpALI3tz8FoJN84/NV\n873hB8UnM3xzANtf8nb4dwmg3grfFEDJO8JPE0i9Ff4pAYL3pI8mkHor/HMCeO9JH00g9SafEsh7\nT/ppARBvp48UwJnelT5SACd7O31TAlnvKx9SQCd7B58KgPO+8iMFuPWe9E8F8BveWX7bAjzX9y4/\n/Jve+fhsH6Ctv7n8PTzjvY/v9gEOHz58+PBX+6v/f/wPvnd54f3j6venE/yl769Xv7+j3x/o98/V\n32/o9+fl389Xnx+g5x/o+Qt6/oOeP6HnX+j5G3z+h54/ouefV5/foufP6Pk3ev4On/+j9w/o/Qd6\n/4Le/6D3T/D9V67Y/ZsVQBq+s+8f0ftP+P41axXguP9NWgDuu/Cdfv+N3r/D9/9TAID+A7T/Ae2/\ngPs/0P4TtP8F7r9J3AIO9P+g/Udw/9Oygbf7r9D+L7j/DO1/Q/vv4P4/tP8Q7n9E+y/h/k+0/xTu\nf4X7b+H+X7T/+BPuf3aM8OHDhw8fPnz4w/4vzcvgeY10sY0AAAAldEVYdGRhdGU6Y3JlYXRlADIw\nMTYtMDQtMTNUMTE6Mzk6MTQtMDQ6MDALPlLjAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDE2LTA0LTEz\nVDExOjM5OjE0LTA0OjAwemPqXwAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] @@ -418,29 +423,25 @@ "\n", "# Instantiate flux Tally in moderator and fuel\n", "tally = openmc.Tally(name='flux')\n", - "tally.add_filter(openmc.Filter(type='cell', bins=[fuel_cell.id, moderator_cell.id]))\n", - "tally.add_filter(energy_filter)\n", - "tally.add_score('flux')\n", + "tally.filters = [openmc.Filter(type='cell', bins=[fuel_cell.id, moderator_cell.id])]\n", + "tally.filters.append(energy_filter)\n", + "tally.scores = ['flux']\n", "tallies_file.add_tally(tally)\n", "\n", "# Instantiate reaction rate Tally in fuel\n", "tally = openmc.Tally(name='fuel rxn rates')\n", - "tally.add_filter(openmc.Filter(type='cell', bins=[fuel_cell.id]))\n", - "tally.add_filter(energy_filter)\n", - "tally.add_score('nu-fission')\n", - "tally.add_score('scatter')\n", - "tally.add_nuclide(u238)\n", - "tally.add_nuclide(u235)\n", + "tally.filters = [openmc.Filter(type='cell', bins=[fuel_cell.id])]\n", + "tally.filters.append(energy_filter)\n", + "tally.scores = ['nu-fission', 'scatter']\n", + "tally.nuclides = [u238, u235]\n", "tallies_file.add_tally(tally)\n", "\n", "# Instantiate reaction rate Tally in moderator\n", "tally = openmc.Tally(name='moderator rxn rates')\n", - "tally.add_filter(openmc.Filter(type='cell', bins=[moderator_cell.id]))\n", - "tally.add_filter(energy_filter)\n", - "tally.add_score('absorption')\n", - "tally.add_score('total')\n", - "tally.add_nuclide(o16)\n", - "tally.add_nuclide(h1)\n", + "tally.filters = [openmc.Filter(type='cell', bins=[moderator_cell.id])]\n", + "tally.filters.append(energy_filter)\n", + "tally.scores = ['absorption', 'total']\n", + "tally.nuclides = [o16, h1]\n", "tallies_file.add_tally(tally)" ] }, @@ -455,8 +456,8 @@ "# K-Eigenvalue (infinity) tallies\n", "fiss_rate = openmc.Tally(name='fiss. rate')\n", "abs_rate = openmc.Tally(name='abs. rate')\n", - "fiss_rate.add_score('nu-fission')\n", - "abs_rate.add_score('absorption')\n", + "fiss_rate.scores = ['nu-fission']\n", + "abs_rate.scores = ['absorption']\n", "tallies_file.add_tally(fiss_rate)\n", "tallies_file.add_tally(abs_rate)" ] @@ -471,8 +472,8 @@ "source": [ "# Resonance Escape Probability tallies\n", "therm_abs_rate = openmc.Tally(name='therm. abs. rate')\n", - "therm_abs_rate.add_score('absorption')\n", - "therm_abs_rate.add_filter(openmc.Filter(type='energy', bins=[0., 0.625e-6]))\n", + "therm_abs_rate.scores = ['absorption']\n", + "therm_abs_rate.filters = [openmc.Filter(type='energy', bins=[0., 0.625e-6])]\n", "tallies_file.add_tally(therm_abs_rate)" ] }, @@ -486,9 +487,9 @@ "source": [ "# Thermal Flux Utilization tallies\n", "fuel_therm_abs_rate = openmc.Tally(name='fuel therm. abs. rate')\n", - "fuel_therm_abs_rate.add_score('absorption')\n", - "fuel_therm_abs_rate.add_filter(openmc.Filter(type='energy', bins=[0., 0.625e-6]))\n", - "fuel_therm_abs_rate.add_filter(openmc.Filter(type='cell', bins=[fuel_cell.id]))\n", + "fuel_therm_abs_rate.scores = ['absorption']\n", + "fuel_therm_abs_rate.filters = [openmc.Filter(type='energy', bins=[0., 0.625e-6]),\n", + " openmc.Filter(type='cell', bins=[fuel_cell.id])]\n", "tallies_file.add_tally(fuel_therm_abs_rate)" ] }, @@ -502,8 +503,8 @@ "source": [ "# Fast Fission Factor tallies\n", "therm_fiss_rate = openmc.Tally(name='therm. fiss. rate')\n", - "therm_fiss_rate.add_score('nu-fission')\n", - "therm_fiss_rate.add_filter(openmc.Filter(type='energy', bins=[0., 0.625e-6]))\n", + "therm_fiss_rate.scores = ['nu-fission']\n", + "therm_fiss_rate.filters = [openmc.Filter(type='energy', bins=[0., 0.625e-6])]\n", "tallies_file.add_tally(therm_fiss_rate)" ] }, @@ -520,12 +521,10 @@ "\n", "# Instantiate flux Tally in moderator and fuel\n", "tally = openmc.Tally(name='need-to-slice')\n", - "tally.add_filter(openmc.Filter(type='cell', bins=[fuel_cell.id, moderator_cell.id]))\n", - "tally.add_filter(energy_filter)\n", - "tally.add_score('nu-fission')\n", - "tally.add_score('scatter')\n", - "tally.add_nuclide(h1)\n", - "tally.add_nuclide(u238)\n", + "tally.filters = [openmc.Filter(type='cell', bins=[fuel_cell.id, moderator_cell.id])]\n", + "tally.filters.append(energy_filter)\n", + "tally.scores = ['nu-fission', 'scatter']\n", + "tally.nuclides = [h1, u238]\n", "tallies_file.add_tally(tally)" ] }, @@ -533,7 +532,7 @@ "cell_type": "code", "execution_count": 22, "metadata": { - "collapsed": true + "collapsed": false }, "outputs": [], "source": [ @@ -576,8 +575,8 @@ " Copyright: 2011-2015 Massachusetts Institute of Technology\n", " License: http://mit-crpg.github.io/openmc/license.html\n", " Version: 0.7.1\n", - " Git SHA1: 34381b40a9445a727e360873aaa6ef892af1cb6a\n", - " Date/Time: 2016-02-07 16:05:17\n", + " Git SHA1: eeb5091ca3a34cc85df73a3318cae2b6c7097413\n", + " Date/Time: 2016-04-13 11:39:14\n", " MPI Processes: 1\n", "\n", " ===========================================================================\n", @@ -605,26 +604,26 @@ "\n", " Bat./Gen. k Average k \n", " ========= ======== ==================== \n", - " 1/1 1.05992 \n", - " 2/1 1.05251 \n", - " 3/1 1.05204 \n", - " 4/1 1.02100 \n", - " 5/1 1.07784 \n", - " 6/1 1.04814 \n", - " 7/1 1.02335 1.03574 +/- 0.01239\n", - " 8/1 1.02415 1.03188 +/- 0.00813\n", - " 9/1 1.10331 1.04974 +/- 0.01876\n", - " 10/1 1.05452 1.05069 +/- 0.01456\n", - " 11/1 1.07867 1.05536 +/- 0.01277\n", - " 12/1 1.04203 1.05345 +/- 0.01096\n", - " 13/1 1.04482 1.05237 +/- 0.00955\n", - " 14/1 1.04117 1.05113 +/- 0.00852\n", - " 15/1 1.07581 1.05360 +/- 0.00801\n", - " 16/1 1.04235 1.05257 +/- 0.00731\n", - " 17/1 1.02710 1.05045 +/- 0.00701\n", - " 18/1 1.01970 1.04809 +/- 0.00687\n", - " 19/1 1.01022 1.04538 +/- 0.00691\n", - " 20/1 1.01449 1.04332 +/- 0.00675\n", + " 1/1 1.03471 \n", + " 2/1 1.03257 \n", + " 3/1 1.00600 \n", + " 4/1 1.04547 \n", + " 5/1 1.02287 \n", + " 6/1 1.05752 \n", + " 7/1 1.04283 1.05017 +/- 0.00734\n", + " 8/1 1.05189 1.05074 +/- 0.00428\n", + " 9/1 1.01645 1.04217 +/- 0.00909\n", + " 10/1 1.04978 1.04369 +/- 0.00721\n", + " 11/1 1.03459 1.04218 +/- 0.00608\n", + " 12/1 1.04019 1.04189 +/- 0.00514\n", + " 13/1 1.05985 1.04414 +/- 0.00499\n", + " 14/1 1.02111 1.04158 +/- 0.00509\n", + " 15/1 1.04774 1.04219 +/- 0.00459\n", + " 16/1 1.00733 1.03902 +/- 0.00523\n", + " 17/1 1.02224 1.03763 +/- 0.00497\n", + " 18/1 1.03263 1.03724 +/- 0.00459\n", + " 19/1 1.01611 1.03573 +/- 0.00451\n", + " 20/1 1.04692 1.03648 +/- 0.00426\n", " Creating state point statepoint.20.h5...\n", "\n", " ===========================================================================\n", @@ -634,27 +633,27 @@ "\n", " =======================> TIMING STATISTICS <=======================\n", "\n", - " Total time for initialization = 3.4700E-01 seconds\n", - " Reading cross sections = 9.1000E-02 seconds\n", - " Total time in simulation = 7.3920E+00 seconds\n", - " Time in transport only = 7.3820E+00 seconds\n", - " Time in inactive batches = 1.0930E+00 seconds\n", - " Time in active batches = 6.2990E+00 seconds\n", + " Total time for initialization = 4.0300E-01 seconds\n", + " Reading cross sections = 8.6000E-02 seconds\n", + " Total time in simulation = 1.4439E+01 seconds\n", + " Time in transport only = 1.4430E+01 seconds\n", + " Time in inactive batches = 2.2790E+00 seconds\n", + " Time in active batches = 1.2160E+01 seconds\n", " Time synchronizing fission bank = 2.0000E-03 seconds\n", " Sampling source sites = 1.0000E-03 seconds\n", - " SEND/RECV source sites = 0.0000E+00 seconds\n", + " SEND/RECV source sites = 1.0000E-03 seconds\n", " Time accumulating tallies = 0.0000E+00 seconds\n", - " Total time for finalization = 2.0000E-03 seconds\n", - " Total time elapsed = 7.7510E+00 seconds\n", - " Calculation Rate (inactive) = 11436.4 neutrons/second\n", - " Calculation Rate (active) = 5953.33 neutrons/second\n", + " Total time for finalization = 1.0000E-03 seconds\n", + " Total time elapsed = 1.4856E+01 seconds\n", + " Calculation Rate (inactive) = 5484.86 neutrons/second\n", + " Calculation Rate (active) = 3083.88 neutrons/second\n", "\n", " ============================> RESULTS <============================\n", "\n", - " k-effective (Collision) = 1.03935 +/- 0.00682\n", - " k-effective (Track-length) = 1.04332 +/- 0.00675\n", - " k-effective (Absorption) = 1.03845 +/- 0.00598\n", - " Combined k-effective = 1.04024 +/- 0.00523\n", + " k-effective (Collision) = 1.03296 +/- 0.00669\n", + " k-effective (Track-length) = 1.03648 +/- 0.00426\n", + " k-effective (Absorption) = 1.03431 +/- 0.00702\n", + " Combined k-effective = 1.03621 +/- 0.00456\n", " Leakage Fraction = 0.00000 +/- 0.00000\n", "\n" ] @@ -702,7 +701,7 @@ "outputs": [], "source": [ "# Load the statepoint file\n", - "sp = StatePoint('statepoint.20.h5')" + "sp = openmc.StatePoint('statepoint.20.h5')" ] }, { @@ -722,7 +721,7 @@ "outputs": [], "source": [ "# Load the summary file and link with statepoint\n", - "su = Summary('summary.h5')\n", + "su = openmc.Summary('summary.h5')\n", "sp.link_with_summary(su)" ] }, @@ -745,7 +744,7 @@ { "data": { "text/html": [ - "
\n", + "
\n", "\n", " \n", " \n", @@ -759,10 +758,10 @@ " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", "
0 total (nu-fission / absorption) 1.040166 0.009069total(nu-fission / absorption)1.0383870.006141
\n", @@ -770,7 +769,7 @@ ], "text/plain": [ " nuclide score mean std. dev.\n", - "0 total (nu-fission / absorption) 1.04e+00 9.07e-03" + "0 total (nu-fission / absorption) 1.04e+00 6.14e-03" ] }, "execution_count": 26, @@ -805,7 +804,7 @@ { "data": { "text/html": [ - "
\n", + "
\n", "\n", " \n", " \n", @@ -821,12 +820,12 @@ " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", "
0 0 0.000001 total absorption 0.694707 0.00669906.250000e-07totalabsorption0.6933370.004109
\n", @@ -834,7 +833,7 @@ ], "text/plain": [ " energy low [MeV] energy high [MeV] nuclide score mean std. dev.\n", - "0 0.00e+00 6.25e-07 total absorption 6.95e-01 6.70e-03" + "0 0.00e+00 6.25e-07 total absorption 6.93e-01 4.11e-03" ] }, "execution_count": 27, @@ -867,7 +866,7 @@ { "data": { "text/html": [ - "
\n", + "
\n", "\n", " \n", " \n", @@ -883,12 +882,12 @@ " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", "
0 0 0.000001 total nu-fission 1.201216 0.01228806.250000e-07totalnu-fission1.2030420.0076
\n", @@ -896,7 +895,7 @@ ], "text/plain": [ " energy low [MeV] energy high [MeV] nuclide score mean std. dev.\n", - "0 0.00e+00 6.25e-07 total nu-fission 1.20e+00 1.23e-02" + "0 0.00e+00 6.25e-07 total nu-fission 1.20e+00 7.60e-03" ] }, "execution_count": 28, @@ -930,7 +929,7 @@ { "data": { "text/html": [ - "
\n", + "
\n", "\n", " \n", " \n", @@ -947,13 +946,13 @@ " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", "
0 0 0.000001 10000 total absorption 0.74925 0.00825706.250000e-0710000totalabsorption0.7484130.004723
\n", @@ -961,10 +960,10 @@ ], "text/plain": [ " energy low [MeV] energy high [MeV] cell nuclide score mean \\\n", - "0 0.00e+00 6.25e-07 10000 total absorption 7.49e-01 \n", + "0 0.00e+00 6.25e-07 10000 total absorption 7.48e-01 \n", "\n", " std. dev. \n", - "0 8.26e-03 " + "0 4.72e-03 " ] }, "execution_count": 29, @@ -996,7 +995,7 @@ { "data": { "text/html": [ - "
\n", + "
\n", "\n", " \n", " \n", @@ -1013,13 +1012,13 @@ " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", "
0 0 0.000001 10000 total (nu-fission / absorption) 1.663616 0.01862406.250000e-0710000total(nu-fission / absorption)1.6633850.011253
\n", @@ -1030,7 +1029,7 @@ "0 0.00e+00 6.25e-07 10000 total \n", "\n", " score mean std. dev. \n", - "0 (nu-fission / absorption) 1.66e+00 1.86e-02 " + "0 (nu-fission / absorption) 1.66e+00 1.13e-02 " ] }, "execution_count": 30, @@ -1061,7 +1060,7 @@ { "data": { "text/html": [ - "
\n", + "
\n", "\n", " \n", " \n", @@ -1078,13 +1077,13 @@ " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", "
0 0 0.000001 10000 total (((absorption * nu-fission) * absorption) * (n... 1.040166 0.02192806.250000e-0710000total(((absorption * nu-fission) * absorption) * (n...1.0383870.01316
\n", @@ -1095,7 +1094,7 @@ "0 0.00e+00 6.25e-07 10000 total \n", "\n", " score mean std. dev. \n", - "0 (((absorption * nu-fission) * absorption) * (n... 1.04e+00 2.19e-02 " + "0 (((absorption * nu-fission) * absorption) * (n... 1.04e+00 1.32e-02 " ] }, "execution_count": 31, @@ -1143,7 +1142,7 @@ { "data": { "text/html": [ - "
\n", + "
\n", "\n", " \n", " \n", @@ -1160,83 +1159,83 @@ " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", "
0 10000 0.000000 0.000001 (U-238 / total) (nu-fission / flux) 0.000001 7.377419e-09100000.000000e+006.250000e-07(U-238 / total)(nu-fission / flux)6.636968e-074.132875e-09
1 10000 0.000000 0.000001 (U-238 / total) (scatter / flux) 0.209989 2.303838e-03100000.000000e+006.250000e-07(U-238 / total)(scatter / flux)2.099856e-011.232455e-03
2 10000 0.000000 0.000001 (U-235 / total) (nu-fission / flux) 0.356420 3.951669e-03100000.000000e+006.250000e-07(U-235 / total)(nu-fission / flux)3.552458e-012.252681e-03
3 10000 0.000000 0.000001 (U-235 / total) (scatter / flux) 0.005555 6.101004e-05100000.000000e+006.250000e-07(U-235 / total)(scatter / flux)5.554345e-033.265385e-05
4 10000 0.000001 20.000000 (U-238 / total) (nu-fission / flux) 0.007155 8.053460e-05100006.250000e-072.000000e+01(U-238 / total)(nu-fission / flux)7.126668e-035.296883e-05
5 10000 0.000001 20.000000 (U-238 / total) (scatter / flux) 0.227770 1.079289e-03100006.250000e-072.000000e+01(U-238 / total)(scatter / flux)2.277460e-011.003558e-03
6 10000 0.000001 20.000000 (U-235 / total) (nu-fission / flux) 0.008067 5.254797e-05100006.250000e-072.000000e+01(U-235 / total)(nu-fission / flux)8.010911e-036.802256e-05
7 10000 0.000001 20.000000 (U-235 / total) (scatter / flux) 0.003367 1.647058e-05100006.250000e-072.000000e+01(U-235 / total)(scatter / flux)3.367794e-031.443644e-05
\n", @@ -1254,14 +1253,14 @@ "7 10000 6.25e-07 2.00e+01 (U-235 / total) \n", "\n", " score mean std. dev. \n", - "0 (nu-fission / flux) 6.66e-07 7.38e-09 \n", - "1 (scatter / flux) 2.10e-01 2.30e-03 \n", - "2 (nu-fission / flux) 3.56e-01 3.95e-03 \n", - "3 (scatter / flux) 5.56e-03 6.10e-05 \n", - "4 (nu-fission / flux) 7.15e-03 8.05e-05 \n", - "5 (scatter / flux) 2.28e-01 1.08e-03 \n", - "6 (nu-fission / flux) 8.07e-03 5.25e-05 \n", - "7 (scatter / flux) 3.37e-03 1.65e-05 " + "0 (nu-fission / flux) 6.64e-07 4.13e-09 \n", + "1 (scatter / flux) 2.10e-01 1.23e-03 \n", + "2 (nu-fission / flux) 3.55e-01 2.25e-03 \n", + "3 (scatter / flux) 5.55e-03 3.27e-05 \n", + "4 (nu-fission / flux) 7.13e-03 5.30e-05 \n", + "5 (scatter / flux) 2.28e-01 1.00e-03 \n", + "6 (nu-fission / flux) 8.01e-03 6.80e-05 \n", + "7 (scatter / flux) 3.37e-03 1.44e-05 " ] }, "execution_count": 33, @@ -1292,11 +1291,11 @@ "name": "stdout", "output_type": "stream", "text": [ - "[[[ 6.65702880e-07]\n", - " [ 3.56420449e-01]]\n", + "[[[ 6.63696783e-07]\n", + " [ 3.55245846e-01]]\n", "\n", - " [[ 7.15488656e-03]\n", - " [ 8.06673774e-03]]]\n" + " [[ 7.12666800e-03]\n", + " [ 8.01091088e-03]]]\n" ] } ], @@ -1324,9 +1323,9 @@ "name": "stdout", "output_type": "stream", "text": [ - "[[[ 0.00555533]]\n", + "[[[ 0.00555435]]\n", "\n", - " [[ 0.0033668 ]]]\n" + " [[ 0.00336779]]]\n" ] } ], @@ -1348,8 +1347,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "[[[ 0.22777006]\n", - " [ 0.0033668 ]]]\n" + "[[[ 0.22774598]\n", + " [ 0.00336779]]]\n" ] } ], @@ -1378,7 +1377,7 @@ { "data": { "text/html": [ - "
\n", + "
\n", "\n", " \n", " \n", @@ -1395,43 +1394,43 @@ " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", "
0 10000 0.000000 0.000001 U-238 nu-fission 0.000002 1.283958e-08100000.000000e+006.250000e-07U-238nu-fission0.0000027.473789e-09
1 10000 0.000000 0.000001 U-235 nu-fission 0.868553 6.880390e-03100000.000000e+006.250000e-07U-235nu-fission0.8615474.131310e-03
2 10000 0.000001 20.000000 U-238 nu-fission 0.082149 8.837250e-04100006.250000e-072.000000e+01U-238nu-fission0.0823565.560461e-04
3 10000 0.000001 20.000000 U-235 nu-fission 0.092618 5.195308e-04100006.250000e-072.000000e+01U-235nu-fission0.0925747.315442e-04
\n", @@ -1439,16 +1438,16 @@ ], "text/plain": [ " cell energy low [MeV] energy high [MeV] nuclide score mean \\\n", - "0 10000 0.00e+00 6.25e-07 U-238 nu-fission 1.62e-06 \n", - "1 10000 0.00e+00 6.25e-07 U-235 nu-fission 8.69e-01 \n", - "2 10000 6.25e-07 2.00e+01 U-238 nu-fission 8.21e-02 \n", + "0 10000 0.00e+00 6.25e-07 U-238 nu-fission 1.61e-06 \n", + "1 10000 0.00e+00 6.25e-07 U-235 nu-fission 8.62e-01 \n", + "2 10000 6.25e-07 2.00e+01 U-238 nu-fission 8.24e-02 \n", "3 10000 6.25e-07 2.00e+01 U-235 nu-fission 9.26e-02 \n", "\n", " std. dev. \n", - "0 1.28e-08 \n", - "1 6.88e-03 \n", - "2 8.84e-04 \n", - "3 5.20e-04 " + "0 7.47e-09 \n", + "1 4.13e-03 \n", + "2 5.56e-04 \n", + "3 7.32e-04 " ] }, "execution_count": 37, @@ -1472,7 +1471,7 @@ { "data": { "text/html": [ - "
\n", + "
\n", "\n", " \n", " \n", @@ -1489,93 +1488,93 @@ " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", "
0 10002 1.000000e-08 0.000000 H-1 scatter 4.619398 0.040124100021.000000e-081.080060e-07H-1scatter4.5992250.015973
1 10002 1.080060e-07 0.000001 H-1 scatter 2.030757 0.011239100021.080060e-071.166529e-06H-1scatter2.0372600.011236
2 10002 1.166529e-06 0.000013 H-1 scatter 1.658488 0.009777100021.166529e-061.259921e-05H-1scatter1.6625520.010280
3 10002 1.259921e-05 0.000136 H-1 scatter 1.853002 0.007378100021.259921e-051.360790e-04H-1scatter1.8722010.012136
4 10002 1.360790e-04 0.001470 H-1 scatter 2.050773 0.012484100021.360790e-041.469734e-03H-1scatter2.0804590.013155
5 10002 1.469734e-03 0.015874 H-1 scatter 2.131759 0.007821100021.469734e-031.587401e-02H-1scatter2.1549960.011975
6 10002 1.587401e-02 0.171449 H-1 scatter 2.213710 0.015159100021.587401e-021.714488e-01H-1scatter2.2187400.008528
7 10002 1.714488e-01 1.851749 H-1 scatter 2.011925 0.009406100021.714488e-011.851749e+00H-1scatter2.0105170.009187
8 10002 1.851749e+00 20.000000 H-1 scatter 0.371280 0.003949100021.851749e+002.000000e+01H-1scatter0.3720220.003196
\n", @@ -1583,26 +1582,26 @@ ], "text/plain": [ " cell energy low [MeV] energy high [MeV] nuclide score mean \\\n", - "0 10002 1.00e-08 1.08e-07 H-1 scatter 4.62e+00 \n", - "1 10002 1.08e-07 1.17e-06 H-1 scatter 2.03e+00 \n", + "0 10002 1.00e-08 1.08e-07 H-1 scatter 4.60e+00 \n", + "1 10002 1.08e-07 1.17e-06 H-1 scatter 2.04e+00 \n", "2 10002 1.17e-06 1.26e-05 H-1 scatter 1.66e+00 \n", - "3 10002 1.26e-05 1.36e-04 H-1 scatter 1.85e+00 \n", - "4 10002 1.36e-04 1.47e-03 H-1 scatter 2.05e+00 \n", - "5 10002 1.47e-03 1.59e-02 H-1 scatter 2.13e+00 \n", - "6 10002 1.59e-02 1.71e-01 H-1 scatter 2.21e+00 \n", + "3 10002 1.26e-05 1.36e-04 H-1 scatter 1.87e+00 \n", + "4 10002 1.36e-04 1.47e-03 H-1 scatter 2.08e+00 \n", + "5 10002 1.47e-03 1.59e-02 H-1 scatter 2.15e+00 \n", + "6 10002 1.59e-02 1.71e-01 H-1 scatter 2.22e+00 \n", "7 10002 1.71e-01 1.85e+00 H-1 scatter 2.01e+00 \n", - "8 10002 1.85e+00 2.00e+01 H-1 scatter 3.71e-01 \n", + "8 10002 1.85e+00 2.00e+01 H-1 scatter 3.72e-01 \n", "\n", " std. dev. \n", - "0 4.01e-02 \n", + "0 1.60e-02 \n", "1 1.12e-02 \n", - "2 9.78e-03 \n", - "3 7.38e-03 \n", - "4 1.25e-02 \n", - "5 7.82e-03 \n", - "6 1.52e-02 \n", - "7 9.41e-03 \n", - "8 3.95e-03 " + "2 1.03e-02 \n", + "3 1.21e-02 \n", + "4 1.32e-02 \n", + "5 1.20e-02 \n", + "6 8.53e-03 \n", + "7 9.19e-03 \n", + "8 3.20e-03 " ] }, "execution_count": 38, @@ -1614,7 +1613,7 @@ "# \"Slice\" the H-1 scatter data in the moderator Cell into a new derived Tally\n", "need_to_slice = sp.get_tally(name='need-to-slice')\n", "slice_test = need_to_slice.get_slice(scores=['scatter'], nuclides=['H-1'],\n", - " filters=['cell'], filter_bins=[(moderator_cell.id,)])\n", + " filters=['cell'], filter_bins=[(moderator_cell.id,)])\n", "slice_test.get_pandas_dataframe()" ] } @@ -1635,7 +1634,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", - "version": "2.7.10" + "version": "2.7.6" } }, "nbformat": 4, diff --git a/docs/source/pythonapi/executor.rst b/docs/source/pythonapi/executor.rst deleted file mode 100644 index ef6693ec9e..0000000000 --- a/docs/source/pythonapi/executor.rst +++ /dev/null @@ -1,8 +0,0 @@ -.. _pythonapi_executor: - -======== -Executor -======== - -.. automodule:: openmc.executor - :members: diff --git a/docs/source/pythonapi/filter.rst b/docs/source/pythonapi/filter.rst deleted file mode 100644 index f93ba5a158..0000000000 --- a/docs/source/pythonapi/filter.rst +++ /dev/null @@ -1,8 +0,0 @@ -.. _pythonapi_filter: - -====== -Filter -====== - -.. automodule:: openmc.filter - :members: diff --git a/docs/source/pythonapi/geometry.rst b/docs/source/pythonapi/geometry.rst deleted file mode 100644 index 6b87edb978..0000000000 --- a/docs/source/pythonapi/geometry.rst +++ /dev/null @@ -1,8 +0,0 @@ -.. _pythonapi_geometry: - -======== -Geometry -======== - -.. automodule:: openmc.geometry - :members: diff --git a/docs/source/pythonapi/index.rst b/docs/source/pythonapi/index.rst index 6dd2ae10d0..9fd70cb5a2 100644 --- a/docs/source/pythonapi/index.rst +++ b/docs/source/pythonapi/index.rst @@ -13,62 +13,267 @@ online. We recommend going through the modules from Codecademy_ and/or the `Scipy lectures`_. The full API documentation serves to provide more information on a given module or class. -**Handling nuclear data:** +------------------------------------ +:mod:`openmc` -- Basic Functionality +------------------------------------ -.. toctree:: - :maxdepth: 1 +Handling nuclear data +--------------------- - ace +Classes ++++++++ -**Creating input files:** +.. autosummary:: + :toctree: generated + :nosignatures: + :template: myclass.rst -.. toctree:: - :maxdepth: 1 + openmc.XSdata + openmc.MGXSLibraryFile - cmfd - element - filter - geometry - material - mesh - nuclide - opencg_compatible - plots - settings - source - stats - surface - tallies - trigger - universe +Functions ++++++++++ -**Running OpenMC:** +.. autosummary:: + :toctree: generated + :nosignatures: -.. toctree:: - :maxdepth: 1 + openmc.ace.ascii_to_binary - executor +Simulation Settings +------------------- -**Post-processing:** +.. autosummary:: + :toctree: generated + :nosignatures: + :template: myclass.rst -.. toctree:: - :maxdepth: 1 + openmc.Source + openmc.ResonanceScattering + openmc.SettingsFile - particle_restart - statepoint - summary - tallies +Material Specification +---------------------- -**Multi-Group Cross Section Generation** +.. autosummary:: + :toctree: generated + :nosignatures: + :template: myclass.rst -.. toctree:: - :maxdepth: 1 + openmc.Nuclide + openmc.Element + openmc.Macroscopic + openmc.Material + openmc.MaterialsFile - mgxs - energy_groups - mgxs_library +Building geometry +----------------- -**Example Jupyter Notebooks:** +.. autosummary:: + :toctree: generated + :nosignatures: + :template: myclass.rst + + openmc.Plane + openmc.XPlane + openmc.YPlane + openmc.ZPlane + openmc.XCylinder + openmc.YCylinder + openmc.ZCylinder + openmc.Sphere + openmc.Cone + openmc.XCone + openmc.YCone + openmc.ZCone + openmc.Quadric + openmc.Halfspace + openmc.Intersection + openmc.Union + openmc.Complement + openmc.Cell + openmc.Universe + openmc.RectLattice + openmc.HexLattice + openmc.Geometry + openmc.GeometryFile + +Many of the above classes are derived from several abstract classes: + +.. autosummary:: + :toctree: generated + :nosignatures: + :template: myclass.rst + + openmc.Surface + openmc.Region + openmc.Lattice + +Constructing Tallies +-------------------- + +.. autosummary:: + :toctree: generated + :nosignatures: + :template: myclass.rst + + openmc.Filter + openmc.Mesh + openmc.Trigger + openmc.Tally + openmc.TalliesFile + +Coarse Mesh Finite Difference Acceleration +------------------------------------------ + +.. autosummary:: + :toctree: generated + :nosignatures: + :template: myclass.rst + + openmc.CMFDMesh + openmc.CMFDFile + +Plotting +-------- + +.. autosummary:: + :toctree: generated + :nosignatures: + :template: myclass.rst + + openmc.Plot + openmc.PlotsFile + +Running OpenMC +-------------- + +.. autosummary:: + :toctree: generated + :nosignatures: + :template: myclass.rst + + openmc.Executor + +Post-processing +--------------- + +.. autosummary:: + :toctree: generated + :nosignatures: + :template: myclass.rst + + openmc.Particle + openmc.StatePoint + openmc.Summary + +Various classes may be created when performing tally slicing and/or arithmetic: + +.. autosummary:: + :toctree: generated + :nosignatures: + :template: myclass.rst + + openmc.arithmetic.CrossScore + openmc.arithmetic.CrossNuclide + openmc.arithmetic.CrossFilter + openmc.arithmetic.AggregateScore + openmc.arithmetic.AggregateNuclide + openmc.arithmetic.AggregateFilter + +--------------------------------- +:mod:`openmc.stats` -- Statistics +--------------------------------- + +Univariate Probability Distributions +------------------------------------ + +.. autosummary:: + :toctree: generated + :nosignatures: + :template: myclass.rst + + openmc.stats.Univariate + openmc.stats.Discrete + openmc.stats.Uniform + openmc.stats.Maxwell + openmc.stats.Watt + openmc.stats.Tabular + +Angular Distributions +--------------------- + +.. autosummary:: + :toctree: generated + :nosignatures: + :template: myclass.rst + + openmc.stats.UnitSphere + openmc.stats.PolarAzimuthal + openmc.stats.Isotropic + openmc.stats.Monodirectional + +Spatial Distributions +--------------------- + +.. autosummary:: + :toctree: generated + :nosignatures: + :template: myclass.rst + + openmc.stats.Spatial + openmc.stats.CartesianIndependent + openmc.stats.Box + openmc.stats.Point + +---------------------------------------------------------- +:mod:`openmc.mgxs` -- Multi-Group Cross Section Generation +---------------------------------------------------------- + +Energy Groups +------------- + +.. autosummary:: + :toctree: generated + :nosignatures: + :template: myclass.rst + + openmc.mgxs.EnergyGroups + +Multi-group Cross Sections +-------------------------- + +.. autosummary:: + :toctree: generated + :nosignatures: + :template: myclass.rst + + openmc.mgxs.MGXS + openmc.mgxs.AbsorptionXS + openmc.mgxs.CaptureXS + openmc.mgxs.Chi + openmc.mgxs.FissionXS + openmc.mgxs.NuFissionXS + openmc.mgxs.NuScatterXS + openmc.mgxs.NuScatterMatrixXS + openmc.mgxs.ScatterXS + openmc.mgxs.ScatterMatrixXS + openmc.mgxs.TotalXS + openmc.mgxs.TransportXS + +Multi-group Cross Section Libraries +----------------------------------- + +.. autosummary:: + :toctree: generated + :nosignatures: + :template: myclass.rst + + openmc.mgxs.Library + +------------------------- +Example Jupyter Notebooks +------------------------- .. toctree:: :maxdepth: 1 diff --git a/docs/source/pythonapi/material.rst b/docs/source/pythonapi/material.rst deleted file mode 100644 index 16a3af7012..0000000000 --- a/docs/source/pythonapi/material.rst +++ /dev/null @@ -1,8 +0,0 @@ -.. _pythonapi_material: - -========= -Materials -========= - -.. automodule:: openmc.material - :members: diff --git a/docs/source/pythonapi/mesh.rst b/docs/source/pythonapi/mesh.rst deleted file mode 100644 index dbecd7c31d..0000000000 --- a/docs/source/pythonapi/mesh.rst +++ /dev/null @@ -1,8 +0,0 @@ -.. _pythonapi_mesh: - -==== -Mesh -==== - -.. automodule:: openmc.mesh - :members: diff --git a/docs/source/pythonapi/mgxs.rst b/docs/source/pythonapi/mgxs.rst deleted file mode 100644 index c7084e5653..0000000000 --- a/docs/source/pythonapi/mgxs.rst +++ /dev/null @@ -1,66 +0,0 @@ -.. _pythonapi_mgxs: - -========================== -Multi-Group Cross Sections -========================== - -.. currentmodule:: openmc.mgxs.mgxs - ----------------------------- -Summary of Available Classes ----------------------------- - -.. autosummary:: - - MGXS - AbsorptionXS - CaptureXS - Chi - FissionXS - NuFissionXS - NuScatterXS - NuScatterMatrixXS - ScatterXS - ScatterMatrixXS - TotalXS - TransportXS - -------------------- -Class Documentation -------------------- - -.. autoclass:: MGXS - :members: - -.. autoclass:: AbsorptionXS - :members: - -.. autoclass:: CaptureXS - :members: - -.. autoclass:: Chi - :members: - -.. autoclass:: FissionXS - :members: - -.. autoclass:: NuFissionXS - :members: - -.. autoclass:: NuScatterXS - :members: - -.. autoclass:: NuScatterMatrixXS - :members: - -.. autoclass:: ScatterXS - :members: - -.. autoclass:: ScatterMatrixXS - :members: - -.. autoclass:: TotalXS - :members: - -.. autoclass:: TransportXS - :members: diff --git a/docs/source/pythonapi/mgxs_library.rst b/docs/source/pythonapi/mgxs_library.rst deleted file mode 100644 index 8ac5457004..0000000000 --- a/docs/source/pythonapi/mgxs_library.rst +++ /dev/null @@ -1,8 +0,0 @@ -.. _pythonapi_mgxs_library: - -============ -MGXS Library -============ - -.. automodule:: openmc.mgxs.library - :members: diff --git a/docs/source/pythonapi/nuclide.rst b/docs/source/pythonapi/nuclide.rst deleted file mode 100644 index 9e3214e925..0000000000 --- a/docs/source/pythonapi/nuclide.rst +++ /dev/null @@ -1,8 +0,0 @@ -.. _pythonapi_nuclide: - -======= -Nuclide -======= - -.. automodule:: openmc.nuclide - :members: diff --git a/docs/source/pythonapi/particle_restart.rst b/docs/source/pythonapi/particle_restart.rst deleted file mode 100644 index 66ed89988a..0000000000 --- a/docs/source/pythonapi/particle_restart.rst +++ /dev/null @@ -1,8 +0,0 @@ -.. _pythonapi_particle_restart: - -================ -Particle Restart -================ - -.. automodule:: openmc.particle_restart - :members: diff --git a/docs/source/pythonapi/plots.rst b/docs/source/pythonapi/plots.rst deleted file mode 100644 index 8ad5348be3..0000000000 --- a/docs/source/pythonapi/plots.rst +++ /dev/null @@ -1,8 +0,0 @@ -.. _pythonapi_plots: - -===== -Plots -===== - -.. automodule:: openmc.plots - :members: diff --git a/docs/source/pythonapi/settings.rst b/docs/source/pythonapi/settings.rst deleted file mode 100644 index 3a3915ff50..0000000000 --- a/docs/source/pythonapi/settings.rst +++ /dev/null @@ -1,8 +0,0 @@ -.. _pythonapi_settings: - -======== -Settings -======== - -.. automodule:: openmc.settings - :members: diff --git a/docs/source/pythonapi/source.rst b/docs/source/pythonapi/source.rst deleted file mode 100644 index 4bc770363a..0000000000 --- a/docs/source/pythonapi/source.rst +++ /dev/null @@ -1,8 +0,0 @@ -.. _pythonapi_source: - -====== -Source -====== - -.. automodule:: openmc.source - :members: diff --git a/docs/source/pythonapi/statepoint.rst b/docs/source/pythonapi/statepoint.rst deleted file mode 100644 index 737fc03fca..0000000000 --- a/docs/source/pythonapi/statepoint.rst +++ /dev/null @@ -1,8 +0,0 @@ -.. _pythonapi_statepoint: - -========== -Statepoint -========== - -.. automodule:: openmc.statepoint - :members: diff --git a/docs/source/pythonapi/stats.rst b/docs/source/pythonapi/stats.rst deleted file mode 100644 index 58060cacbc..0000000000 --- a/docs/source/pythonapi/stats.rst +++ /dev/null @@ -1,58 +0,0 @@ -.. _pythonapi_stats: - -===================== -Statistical Functions -===================== - ----------------------------- -Summary of Available Classes ----------------------------- - -Univariate Probability Distributions ------------------------------------- - -.. currentmodule:: openmc.stats.univariate - -.. autosummary:: - - Univariate - Discrete - Uniform - Maxwell - Watt - Tabular - -Angular Distributions ---------------------- - -.. currentmodule:: openmc.stats.multivariate - -.. autosummary:: - - UnitSphere - PolarAzimuthal - Isotropic - Monodirectional - -Spatial Distributions ---------------------- - -.. autosummary:: - - Spatial - CartesianIndependent - Box - Point - - -Univariate Probability Distributions ------------------------------------- - -.. automodule:: openmc.stats.univariate - :members: - -Multivariate Probability Distributions --------------------------------------- - -.. automodule:: openmc.stats.multivariate - :members: diff --git a/docs/source/pythonapi/summary.rst b/docs/source/pythonapi/summary.rst deleted file mode 100644 index 9a791127b4..0000000000 --- a/docs/source/pythonapi/summary.rst +++ /dev/null @@ -1,8 +0,0 @@ -.. _pythonapi_summary: - -======= -Summary -======= - -.. automodule:: openmc.summary - :members: diff --git a/docs/source/pythonapi/surface.rst b/docs/source/pythonapi/surface.rst deleted file mode 100644 index cc31f5b3e3..0000000000 --- a/docs/source/pythonapi/surface.rst +++ /dev/null @@ -1,8 +0,0 @@ -.. _pythonapi_surface: - -======= -Surface -======= - -.. automodule:: openmc.surface - :members: diff --git a/docs/source/pythonapi/tallies.rst b/docs/source/pythonapi/tallies.rst deleted file mode 100644 index 2f24edf3a0..0000000000 --- a/docs/source/pythonapi/tallies.rst +++ /dev/null @@ -1,8 +0,0 @@ -.. _pythonapi_tallies: - -======= -Tallies -======= - -.. automodule:: openmc.tallies - :members: diff --git a/docs/source/pythonapi/trigger.rst b/docs/source/pythonapi/trigger.rst deleted file mode 100644 index 82567c2cf1..0000000000 --- a/docs/source/pythonapi/trigger.rst +++ /dev/null @@ -1,8 +0,0 @@ -.. _pythonapi_trigger: - -======= -Trigger -======= - -.. automodule:: openmc.trigger - :members: diff --git a/docs/source/pythonapi/universe.rst b/docs/source/pythonapi/universe.rst deleted file mode 100644 index fd4a3c1e29..0000000000 --- a/docs/source/pythonapi/universe.rst +++ /dev/null @@ -1,8 +0,0 @@ -.. _pythonapi_universe: - -======== -Universe -======== - -.. automodule:: openmc.universe - :members: diff --git a/docs/source/usersguide/input.rst b/docs/source/usersguide/input.rst index 5511367c28..d75d7b7ed9 100644 --- a/docs/source/usersguide/input.rst +++ b/docs/source/usersguide/input.rst @@ -1258,6 +1258,9 @@ Each ``material`` element can have the following attributes or sub-elements: *Default*: None + .. note:: The ``scattering`` attribute/sub-element is not used in the + multi-group :ref:`energy_mode`. + :element: Specifies that a natural element is present in the material. The natural @@ -1293,6 +1296,9 @@ Each ``material`` element can have the following attributes or sub-elements: *Default*: None + .. note:: The ``scattering`` attribute/sub-element is not used in the + multi-group :ref:`energy_mode`. + :sab: Associates an S(a,b) table with the material. This element has attributes/sub-elements called ``name`` and ``xs``. The ``name`` attribute @@ -1301,6 +1307,8 @@ Each ``material`` element can have the following attributes or sub-elements: *Default*: None + .. note:: This element is not used in the multi-group :ref:`energy_mode`. + :macroscopic: The ``macroscopic`` element is similar to the ``nuclide`` element, but, recognizes that some multi-group libraries may be providing material diff --git a/docs/source/usersguide/output/statepoint.rst b/docs/source/usersguide/output/statepoint.rst index e25f9d4f48..4a51877f13 100644 --- a/docs/source/usersguide/output/statepoint.rst +++ b/docs/source/usersguide/output/statepoint.rst @@ -264,7 +264,7 @@ if run_mode == 'k-eigenvalue': Accumulated sum and sum-of-squares for each global tally. The compound type has fields named ``sum`` and ``sum_sq``. -**tallies_present** (*int*) +**/tallies_present** (*int*) Flag indicated if tallies are present in the file. @@ -276,3 +276,69 @@ if (run_mode == 'k-eigenvalue' and source_present > 0) ``wgt``, ``xyz``, ``uvw``, ``E``, ``g``, and ``delayed_group``, which represent the weight, position, direction, energy, energy group, and delayed_group of the source particle, respectively. + +**/runtime/total initialization** (*double*) + + Time (in seconds on the master process) spent reading inputs, allocating + arrays, etc. + +**/runtime/reading cross sections** (*double*) + + Time (in seconds on the master process) spent loading cross section + libraries (this is a subset of initialization). + +**/runtime/simulation** (*double*) + + Time (in seconds on the master process) spent between initialization and + finalization. + +**/runtime/transport** (*double*) + + Time (in seconds on the master process) spent transporting particles. + +**/runtime/inactive batches** (*double*) + + Time (in seconds on the master process) spent in the inactive batches + (including non-transport activities like communcating sites). + +**/runtime/active batches** (*double*) + + Time (in seconds on the master process) spent in the active batches + (including non-transport activities like communicating sites). + +**/runtime/synchronizing fission bank** (*double*) + + Time (in seconds on the master process) spent sampling source particles + from fission sites and communicating them to other processes for load + balancing. + +**/runtime/sampling source sites** (*double*) + + Time (in seconds on the master process) spent sampling source particles + from fission sites. + +**/runtime/SEND-RECV source sites** (*double*) + + Time (in seconds on the master process) spent communicating source sites + between processes for load balancing. + +**/runtime/accumulating tallies** (*double*) + + Time (in seconds on the master process) spent communicating tally results + and evaluating their statistics. + +**/runtime/CMFD** (*double*) + + Time (in seconds on the master process) spent evaluating CMFD. + +**/runtime/CMFD building matrices** (*double*) + + Time (in seconds on the master process) spent buliding CMFD matrices. + +**/runtime/CMFD solving matrices** (*double*) + + Time (in seconds on the master process) spent solving CMFD matrices. + +**/runtime/total** (*double*) + + Total time spent (in seconds on the master process) in the program. diff --git a/docs/source/usersguide/output/summary.rst b/docs/source/usersguide/output/summary.rst index 83602e5065..8901e42e74 100644 --- a/docs/source/usersguide/output/summary.rst +++ b/docs/source/usersguide/output/summary.rst @@ -293,6 +293,13 @@ The current revision of the summary file format is 1. Filter offset (used for distribcell filter). +**/tallies/tally /filter /paths** (*char[][]*) + + The paths traversed through the CSG tree to reach each distribcell + instance (for 'distribcell' filters only). This consists of the integer + IDs for each universe, cell and lattice delimited by '->'. Each lattice + cell is specified by its (x,y) or (x,y,z) indices. + **/tallies/tally /filter /n_bins** (*int*) Number of bins for the j-th filter. diff --git a/docs/source/usersguide/processing.rst b/docs/source/usersguide/processing.rst index b18569ec6a..059659dbc1 100644 --- a/docs/source/usersguide/processing.rst +++ b/docs/source/usersguide/processing.rst @@ -196,10 +196,10 @@ Data Extraction A great deal of information is available in statepoint files (See :ref:`usersguide_statepoint`), all of which is accessible through the Python -API. The ``openmc.statepoint`` module (see :ref:`pythonapi_statepoint`) provides -a class to load statepoints and access data as requested; it is used in many of -the provided plotting utilities, OpenMC's regression test suite, and can be used -in user-created scripts to carry out manipulations of the data. +API. The :class:`openmc.StatePoint` class can load statepoints and access data +as requested; it is used in many of the provided plotting utilities, OpenMC's +regression test suite, and can be used in user-created scripts to carry out +manipulations of the data. An :ref:`example IPython notebook ` demonstrates how to extract data from a statepoint using the Python API. diff --git a/examples/python/basic/build-xml.py b/examples/python/basic/build-xml.py index 97591c9920..fbe6836616 100644 --- a/examples/python/basic/build-xml.py +++ b/examples/python/basic/build-xml.py @@ -1,6 +1,5 @@ import openmc -from openmc.source import Source -from openmc.stats import Box + ############################################################################### # Simulation Input File Parameters @@ -94,7 +93,12 @@ settings_file = openmc.SettingsFile() settings_file.batches = batches settings_file.inactive = inactive settings_file.particles = particles -settings_file.source = Source(space=Box([-4, -4, -4], [4, 4, 4])) + +# Create an initial uniform spatial source distribution over fissionable zones +bounds = [-4., -4., -4., 4., 4., 4.] +uniform_dist = openmc.stats.Box(bounds[:3], bounds[3:], only_fissionable=True) +settings_file.source = openmc.source.Source(space=uniform_dist) + settings_file.export_to_xml() @@ -109,29 +113,20 @@ energyout_filter = openmc.Filter(type='energyout', bins=[0., 20.]) # Instantiate the first Tally first_tally = openmc.Tally(tally_id=1, name='first tally') -first_tally.add_filter(cell_filter) -scores = ['total', 'scatter', 'nu-scatter', \ +first_tally.filters = [cell_filter] +scores = ['total', 'scatter', 'nu-scatter', 'absorption', 'fission', 'nu-fission'] -for score in scores: - first_tally.add_score(score) +first_tally.scores = scores # Instantiate the second Tally second_tally = openmc.Tally(tally_id=2, name='second tally') -second_tally.add_filter(cell_filter) -second_tally.add_filter(energy_filter) -scores = ['total', 'scatter', 'nu-scatter', \ - 'absorption', 'fission', 'nu-fission'] -for score in scores: - second_tally.add_score(score) +second_tally.filters = [cell_filter, energy_filter] +second_tally.scores = scores # Instantiate the third Tally third_tally = openmc.Tally(tally_id=3, name='third tally') -third_tally.add_filter(cell_filter) -third_tally.add_filter(energy_filter) -third_tally.add_filter(energyout_filter) -scores = ['scatter', 'nu-scatter', 'nu-fission'] -for score in scores: - third_tally.add_score(score) +third_tally.filters = [cell_filter, energy_filter, energyout_filter] +third_tally.scores = ['scatter', 'nu-scatter', 'nu-fission'] # Instantiate a TalliesFile, register all Tallies, and export to XML tallies_file = openmc.TalliesFile() diff --git a/examples/python/boxes/build-xml.py b/examples/python/boxes/build-xml.py index 2ae3ee6129..ea3e81d172 100644 --- a/examples/python/boxes/build-xml.py +++ b/examples/python/boxes/build-xml.py @@ -1,8 +1,5 @@ import numpy as np - import openmc -from openmc.source import Source -from openmc.stats import Box ############################################################################### # Simulation Input File Parameters @@ -119,7 +116,11 @@ settings_file = openmc.SettingsFile() settings_file.batches = batches settings_file.inactive = inactive settings_file.particles = particles -settings_file.source = Source(space=Box(*outer_cube.bounding_box)) + +# Create an initial uniform spatial source distribution over fissionable zones +uniform_dist = openmc.stats.Box(*outer_cube.bounding_box, only_fissionable=True) +settings_file.source = openmc.source.Source(space=uniform_dist) + settings_file.export_to_xml() ############################################################################### diff --git a/examples/python/lattice/hexagonal/build-xml.py b/examples/python/lattice/hexagonal/build-xml.py index 1125e8ce04..7f92e66027 100644 --- a/examples/python/lattice/hexagonal/build-xml.py +++ b/examples/python/lattice/hexagonal/build-xml.py @@ -1,6 +1,4 @@ import openmc -from openmc.source import Source -from openmc.stats import Box ############################################################################### # Simulation Input File Parameters @@ -126,8 +124,12 @@ settings_file = openmc.SettingsFile() settings_file.batches = batches settings_file.inactive = inactive settings_file.particles = particles -settings_file.source = Source(space=Box( - [-1, -1, -1], [1, 1, 1])) + +# Create an initial uniform spatial source distribution over fissionable zones +bounds = [-1, -1, -1, 1, 1, 1] +uniform_dist = openmc.stats.Box(bounds[:3], bounds[3:], only_fissionable=True) +settings_file.source = openmc.source.Source(space=uniform_dist) + settings_file.keff_trigger = {'type' : 'std_dev', 'threshold' : 5E-4} settings_file.trigger_active = True settings_file.trigger_max_batches = 100 @@ -166,8 +168,8 @@ plot_file.export_to_xml() # Instantiate a distribcell Tally tally = openmc.Tally(tally_id=1) -tally.add_filter(openmc.Filter(type='distribcell', bins=[cell2.id])) -tally.add_score('total') +tally.filters = [openmc.Filter(type='distribcell', bins=[cell2.id])] +tally.scores = ['total'] # Instantiate a TalliesFile, register Tally/Mesh, and export to XML tallies_file = openmc.TalliesFile() diff --git a/examples/python/lattice/nested/build-xml.py b/examples/python/lattice/nested/build-xml.py index 389af8e9b7..f54f064530 100644 --- a/examples/python/lattice/nested/build-xml.py +++ b/examples/python/lattice/nested/build-xml.py @@ -1,6 +1,4 @@ import openmc -from openmc.source import Source -from openmc.stats import Box ############################################################################### # Simulation Input File Parameters @@ -137,8 +135,12 @@ settings_file = openmc.SettingsFile() settings_file.batches = batches settings_file.inactive = inactive settings_file.particles = particles -settings_file.source = Source(space=Box( - [-1, -1, -1], [1, 1, 1])) + +# Create an initial uniform spatial source distribution over fissionable zones +bounds = [-1, -1, -1, 1, 1, 1] +uniform_dist = openmc.stats.Box(bounds[:3], bounds[3:], only_fissionable=True) +settings_file.source = openmc.source.Source(space=uniform_dist) + settings_file.export_to_xml() @@ -175,8 +177,8 @@ mesh_filter.mesh = mesh # Instantiate the Tally tally = openmc.Tally(tally_id=1) -tally.add_filter(mesh_filter) -tally.add_score('total') +tally.filters = [mesh_filter] +tally.scores = ['total'] # Instantiate a TalliesFile, register Tally/Mesh, and export to XML tallies_file = openmc.TalliesFile() diff --git a/examples/python/lattice/simple/build-xml.py b/examples/python/lattice/simple/build-xml.py index e648c3d5b3..f633fa96f7 100644 --- a/examples/python/lattice/simple/build-xml.py +++ b/examples/python/lattice/simple/build-xml.py @@ -1,6 +1,4 @@ import openmc -from openmc.source import Source -from openmc.stats import Box ############################################################################### # Simulation Input File Parameters @@ -127,8 +125,12 @@ settings_file = openmc.SettingsFile() settings_file.batches = batches settings_file.inactive = inactive settings_file.particles = particles -settings_file.source = Source(space=Box( - [-1, -1, -1], [1, 1, 1])) + +# Create an initial uniform spatial source distribution over fissionable zones +bounds = [-1, -1, -1, 1, 1, 1] +uniform_dist = openmc.stats.Box(bounds[:3], bounds[3:], only_fissionable=True) +settings_file.source = openmc.source.Source(space=uniform_dist) + settings_file.trigger_active = True settings_file.trigger_max_batches = 100 settings_file.export_to_xml() @@ -167,13 +169,13 @@ mesh_filter.mesh = mesh # Instantiate tally Trigger trigger = openmc.Trigger(trigger_type='rel_err', threshold=1E-2) -trigger.add_score('all') +trigger.scores = ['all'] # Instantiate the Tally tally = openmc.Tally(tally_id=1) -tally.add_filter(mesh_filter) -tally.add_score('total') -tally.add_trigger(trigger) +tally.filters = [mesh_filter] +tally.scores = ['total'] +tally.triggers = [trigger] # Instantiate a TalliesFile, register Tally/Mesh, and export to XML tallies_file = openmc.TalliesFile() diff --git a/examples/python/pincell/build-xml.py b/examples/python/pincell/build-xml.py index ca71b04e5c..2e72d82ab4 100644 --- a/examples/python/pincell/build-xml.py +++ b/examples/python/pincell/build-xml.py @@ -1,6 +1,4 @@ import openmc -from openmc.source import Source -from openmc.stats import Box ############################################################################### # Simulation Input File Parameters @@ -170,8 +168,12 @@ settings_file = openmc.SettingsFile() settings_file.batches = batches settings_file.inactive = inactive settings_file.particles = particles -settings_file.source = Source(space=Box( - [-0.62992, -0.62992, -1], [0.62992, 0.62992, 1])) + +# Create an initial uniform spatial source distribution over fissionable zones +bounds = [-0.62992, -0.62992, -1, 0.62992, 0.62992, 1] +uniform_dist = openmc.stats.Box(bounds[:3], bounds[3:], only_fissionable=True) +settings_file.source = openmc.source.Source(space=uniform_dist) + settings_file.entropy_lower_left = [-0.39218, -0.39218, -1.e50] settings_file.entropy_upper_right = [0.39218, 0.39218, 1.e50] settings_file.entropy_dimension = [10, 10, 1] @@ -196,11 +198,8 @@ mesh_filter.mesh = mesh # Instantiate the Tally tally = openmc.Tally(tally_id=1, name='tally 1') -tally.add_filter(energy_filter) -tally.add_filter(mesh_filter) -tally.add_score('flux') -tally.add_score('fission') -tally.add_score('nu-fission') +tally.filters = [energy_filter, mesh_filter] +tally.scores = ['flux', 'fission', 'nu-fission'] # Instantiate a TalliesFile, register all Tallies, and export to XML tallies_file = openmc.TalliesFile() diff --git a/examples/python/pincell_multigroup/build-xml.py b/examples/python/pincell_multigroup/build-xml.py index ff75a64d93..60026c0892 100644 --- a/examples/python/pincell_multigroup/build-xml.py +++ b/examples/python/pincell_multigroup/build-xml.py @@ -1,8 +1,6 @@ +import numpy as np import openmc import openmc.mgxs -from openmc.source import Source -from openmc.stats import Box -import numpy as np ############################################################################### # Simulation Input File Parameters @@ -145,7 +143,13 @@ settings_file.cross_sections = "./mg_cross_sections.xml" settings_file.batches = batches settings_file.inactive = inactive settings_file.particles = particles -settings_file.source = Source(space=Box([-0.63, -0.63, -1.], [0.63, 0.63, 1.])) + +# Create an initial uniform spatial source distribution over fissionable zones +bounds = [-0.63, -0.63, -1, 0.63, 0.63, 1] +uniform_dist = openmc.stats.Box(bounds[:3], bounds[3:]) +settings_file.source = openmc.source.Source(space=uniform_dist) + +settings_file.export_to_xml() ############################################################################### # Exporting to OpenMC tallies.xml File diff --git a/examples/python/reflective/build-xml.py b/examples/python/reflective/build-xml.py index 7e4fd30be5..01a5c7815f 100644 --- a/examples/python/reflective/build-xml.py +++ b/examples/python/reflective/build-xml.py @@ -1,8 +1,5 @@ import numpy as np - import openmc -from openmc.stats import Box -from openmc.source import Source ############################################################################### # Simulation Input File Parameters @@ -86,5 +83,10 @@ settings_file = openmc.SettingsFile() settings_file.batches = batches settings_file.inactive = inactive settings_file.particles = particles -settings_file.source = Source(space=Box(*cell.region.bounding_box)) + +# Create an initial uniform spatial source distribution over fissionable zones +uniform_dist = openmc.stats.Box(*cell.region.bounding_box, + only_fissionable=True) +settings_file.source = openmc.source.Source(space=uniform_dist) + settings_file.export_to_xml() diff --git a/openmc/__init__.py b/openmc/__init__.py index da178d990d..02fd51dc74 100644 --- a/openmc/__init__.py +++ b/openmc/__init__.py @@ -1,3 +1,5 @@ +from openmc.cell import * +from openmc.lattice import * from openmc.element import * from openmc.geometry import * from openmc.nuclide import * @@ -17,6 +19,9 @@ from openmc.cmfd import * from openmc.executor import * from openmc.statepoint import * from openmc.summary import * +from openmc.region import * +from openmc.source import * +from openmc.particle_restart import * try: from openmc.opencg_compatible import * diff --git a/openmc/cell.py b/openmc/cell.py new file mode 100644 index 0000000000..ed1f3178bf --- /dev/null +++ b/openmc/cell.py @@ -0,0 +1,447 @@ +from collections import OrderedDict, Iterable +from numbers import Real, Integral +from xml.etree import ElementTree as ET +import sys +import warnings + +import openmc +import openmc.checkvalue as cv +from openmc.surface import Halfspace +from openmc.region import Region, Intersection, Complement + +if sys.version_info[0] >= 3: + basestring = str + + +# A static variable for auto-generated Cell IDs +AUTO_CELL_ID = 10000 + + +def reset_auto_cell_id(): + global AUTO_CELL_ID + AUTO_CELL_ID = 10000 + + +class Cell(object): + """A region of space defined as the intersection of half-space created by + quadric surfaces. + + Parameters + ---------- + cell_id : int, optional + Unique identifier for the cell. If not specified, an identifier will + automatically be assigned. + name : str, optional + Name of the cell. If not specified, the name is the empty string. + + Attributes + ---------- + id : int + Unique identifier for the cell + name : str + Name of the cell + fill : openmc.Material or openmc.Universe or openmc.Lattice or 'void' or iterable of openmc.Material + Indicates what the region of space is filled with + region : openmc.Region + Region of space that is assigned to the cell. + rotation : numpy.ndarray + If the cell is filled with a universe, this array specifies the angles + in degrees about the x, y, and z axes that the filled universe should be + rotated. + translation : numpy.ndarray + If the cell is filled with a universe, this array specifies a vector + that is used to translate (shift) the universe. + offsets : ndarray + Array of offsets used for distributed cell searches + distribcell_index : int + Index of this cell in distribcell arrays + + """ + + def __init__(self, cell_id=None, name=''): + # Initialize Cell class attributes + self.id = cell_id + self.name = name + self._fill = None + self._type = None + self._region = None + self._rotation = None + self._translation = None + self._offsets = None + self._distribcell_index = None + + def __eq__(self, other): + if not isinstance(other, Cell): + return False + elif self.id != other.id: + return False + elif self.name != other.name: + return False + elif self.fill != other.fill: + return False + elif self.region != other.region: + return False + elif self.rotation != other.rotation: + return False + elif self.translation != other.translation: + return False + else: + return True + + def __ne__(self, other): + return not self == other + + def __hash__(self): + return hash(repr(self)) + + def __repr__(self): + string = 'Cell\n' + string += '{0: <16}{1}{2}\n'.format('\tID', '=\t', self._id) + string += '{0: <16}{1}{2}\n'.format('\tName', '=\t', self._name) + + if isinstance(self._fill, openmc.Material): + string += '{0: <16}{1}{2}\n'.format('\tMaterial', '=\t', + self._fill._id) + elif isinstance(self._fill, Iterable): + string += '{0: <16}{1}'.format('\tMaterial', '=\t') + string += '[' + string += ', '.join(['void' if m == 'void' else str(m.id) + for m in self.fill]) + string += ']\n' + elif isinstance(self._fill, (openmc.Universe, openmc.Lattice)): + string += '{0: <16}{1}{2}\n'.format('\tFill', '=\t', + self._fill._id) + else: + string += '{0: <16}{1}{2}\n'.format('\tFill', '=\t', self._fill) + + string += '{0: <16}{1}{2}\n'.format('\tRegion', '=\t', self._region) + + string += '{0: <16}{1}{2}\n'.format('\tRotation', '=\t', + self._rotation) + string += '{0: <16}{1}{2}\n'.format('\tTranslation', '=\t', + self._translation) + string += '{0: <16}{1}{2}\n'.format('\tOffset', '=\t', self._offsets) + string += '{0: <16}{1}{2}\n'.format('\tDistribcell index', '=\t', + self._distribcell_index) + + return string + + @property + def id(self): + return self._id + + @property + def name(self): + return self._name + + @property + def fill(self): + return self._fill + + @property + def fill_type(self): + if isinstance(self.fill, openmc.Material): + return 'material' + elif isinstance(self.fill, openmc.Universe): + return 'universe' + elif isinstance(self.fill, openmc.Lattice): + return 'lattice' + else: + return None + + @property + def region(self): + return self._region + + @property + def rotation(self): + return self._rotation + + @property + def translation(self): + return self._translation + + @property + def offsets(self): + return self._offsets + + @property + def distribcell_index(self): + return self._distribcell_index + + @id.setter + def id(self, cell_id): + if cell_id is None: + global AUTO_CELL_ID + self._id = AUTO_CELL_ID + AUTO_CELL_ID += 1 + else: + cv.check_type('cell ID', cell_id, Integral) + cv.check_greater_than('cell ID', cell_id, 0, equality=True) + self._id = cell_id + + @name.setter + def name(self, name): + if name is not None: + cv.check_type('cell name', name, basestring) + self._name = name + else: + self._name = '' + + @fill.setter + def fill(self, fill): + if isinstance(fill, basestring): + if fill.strip().lower() == 'void': + self._type = 'void' + else: + msg = 'Unable to set Cell ID="{0}" to use a non-Material or ' \ + 'Universe fill "{1}"'.format(self._id, fill) + raise ValueError(msg) + + elif isinstance(fill, openmc.Material): + self._type = 'normal' + + elif isinstance(fill, Iterable): + cv.check_type('cell.fill', fill, Iterable, + (openmc.Material, basestring)) + self._type = 'normal' + + elif isinstance(fill, openmc.Universe): + self._type = 'fill' + + elif isinstance(fill, openmc.Lattice): + self._type = 'lattice' + + else: + msg = 'Unable to set Cell ID="{0}" to use a non-Material or ' \ + 'Universe fill "{1}"'.format(self._id, fill) + raise ValueError(msg) + + self._fill = fill + + @rotation.setter + def rotation(self, rotation): + cv.check_type('cell rotation', rotation, Iterable, Real) + cv.check_length('cell rotation', rotation, 3) + self._rotation = rotation + + @translation.setter + def translation(self, translation): + cv.check_type('cell translation', translation, Iterable, Real) + cv.check_length('cell translation', translation, 3) + self._translation = translation + + @offsets.setter + def offsets(self, offsets): + cv.check_type('cell offsets', offsets, Iterable) + self._offsets = offsets + + @region.setter + def region(self, region): + cv.check_type('cell region', region, Region) + self._region = region + + @distribcell_index.setter + def distribcell_index(self, ind): + cv.check_type('distribcell index', ind, Integral) + self._distribcell_index = ind + + def add_surface(self, surface, halfspace): + """Add a half-space to the list of half-spaces whose intersection defines the + cell. + + .. deprecated:: 0.7.1 + Use the :attr:`Cell.region` property to directly specify a Region + expression. + + Parameters + ---------- + surface : openmc.Surface + Quadric surface dividing space + halfspace : {-1, 1} + Indicate whether the negative or positive half-space is to be used + + """ + + warnings.warn("Cell.add_surface(...) has been deprecated and may be " + "removed in a future version. The region for a Cell " + "should be defined using the region property directly.", + DeprecationWarning) + + if not isinstance(surface, openmc.Surface): + msg = 'Unable to add Surface "{0}" to Cell ID="{1}" since it is ' \ + 'not a Surface object'.format(surface, self._id) + raise ValueError(msg) + + if halfspace not in [-1, +1]: + msg = 'Unable to add Surface "{0}" to Cell ID="{1}" with halfspace ' \ + '"{2}" since it is not +/-1'.format(surface, self._id, halfspace) + raise ValueError(msg) + + # If no region has been assigned, simply use the half-space. Otherwise, + # take the intersection of the current region and the half-space + # specified + region = +surface if halfspace == 1 else -surface + if self.region is None: + self.region = region + else: + if isinstance(self.region, Intersection): + self.region.nodes.append(region) + else: + self.region = Intersection(self.region, region) + + def get_cell_instance(self, path, distribcell_index): + + # If the Cell is filled by a Material + if self._type == 'normal' or self._type == 'void': + offset = 0 + + # If the Cell is filled by a Universe + elif self._type == 'fill': + offset = self.offsets[distribcell_index-1] + offset += self.fill.get_cell_instance(path, distribcell_index) + + # If the Cell is filled by a Lattice + else: + offset = self.fill.get_cell_instance(path, distribcell_index) + + return offset + + def get_all_nuclides(self): + """Return all nuclides contained in the cell + + Returns + ------- + nuclides : dict + Dictionary whose keys are nuclide names and values are 2-tuples of + (nuclide, density) + + """ + + nuclides = OrderedDict() + + if self._type != 'void': + nuclides.update(self._fill.get_all_nuclides()) + + return nuclides + + def get_all_cells(self): + """Return all cells that are contained within this one if it is filled with a + universe or lattice + + Returns + ------- + cells : dict + Dictionary whose keys are cell IDs and values are :class:`Cell` + instances + + """ + + cells = OrderedDict() + + if self._type == 'fill' or self._type == 'lattice': + cells.update(self._fill.get_all_cells()) + + return cells + + def get_all_materials(self): + """Return all materials that are contained within the cell + + Returns + ------- + materials : dict + Dictionary whose keys are material IDs and values are + :class:`Material` instances + + """ + + materials = OrderedDict() + if self.fill_type == 'material': + materials[self.fill.id] = self.fill + + # Append all Cells in each Cell in the Universe to the dictionary + cells = self.get_all_cells() + for cell_id, cell in cells.items(): + materials.update(cell.get_all_materials()) + + return materials + + def get_all_universes(self): + """Return all universes that are contained within this one if any of + its cells are filled with a universe or lattice. + + Returns + ------- + universes : dict + Dictionary whose keys are universe IDs and values are + :class:`Universe` instances + + """ + + universes = OrderedDict() + + if self._type == 'fill': + universes[self._fill._id] = self._fill + universes.update(self._fill.get_all_universes()) + elif self._type == 'lattice': + universes.update(self._fill.get_all_universes()) + + return universes + + def create_xml_subelement(self, xml_element): + element = ET.Element("cell") + element.set("id", str(self.id)) + + if len(self._name) > 0: + element.set("name", str(self.name)) + + if isinstance(self.fill, basestring): + element.set("material", "void") + + elif isinstance(self.fill, openmc.Material): + element.set("material", str(self.fill.id)) + + elif isinstance(self.fill, Iterable): + element.set("material", ' '.join([m if m == 'void' else str(m.id) + for m in self.fill])) + + elif isinstance(self.fill, (openmc.Universe, openmc.Lattice)): + element.set("fill", str(self.fill.id)) + self.fill.create_xml_subelement(xml_element) + + else: + element.set("fill", str(self.fill)) + self.fill.create_xml_subelement(xml_element) + + if self.region is not None: + # Set the region attribute with the region specification + element.set("region", str(self.region)) + + # Only surfaces that appear in a region are added to the geometry + # file, so the appropriate check is performed here. First we create + # a function which is called recursively to navigate through the CSG + # tree. When it reaches a leaf (a Halfspace), it creates a + # element for the corresponding surface if none has been created + # thus far. + def create_surface_elements(node, element): + if isinstance(node, Halfspace): + path = './surface[@id=\'{0}\']'.format(node.surface.id) + if xml_element.find(path) is None: + surface_subelement = node.surface.create_xml_subelement() + xml_element.append(surface_subelement) + elif isinstance(node, Complement): + create_surface_elements(node.node, element) + else: + for subnode in node.nodes: + create_surface_elements(subnode, element) + + # Call the recursive function from the top node + create_surface_elements(self.region, xml_element) + + if self.translation is not None: + element.set("translation", ' '.join(map(str, self.translation))) + + if self.rotation is not None: + element.set("rotation", ' '.join(map(str, self.rotation))) + + return element diff --git a/openmc/checkvalue.py b/openmc/checkvalue.py index 303f784078..53f4b83682 100644 --- a/openmc/checkvalue.py +++ b/openmc/checkvalue.py @@ -41,25 +41,36 @@ def check_type(name, value, expected_type, expected_iter_type=None): Description of value being checked value : object Object to check type of - expected_type : type + expected_type : type or Iterable of type type to check object against - expected_iter_type : type or None, optional + expected_iter_type : type or Iterable of type or None, optional Expected type of each element in value, assuming it is iterable. If None, no check will be performed. """ if not _isinstance(value, expected_type): - msg = 'Unable to set "{0}" to "{1}" which is not of type "{2}"'.format( - name, value, expected_type.__name__) + if isinstance(expected_type, Iterable): + msg = 'Unable to set "{0}" to "{1}" which is not one of the ' \ + 'following types: "{2}"'.format(name, value, ', '.join( + [t.__name__ for t in expected_type])) + else: + msg = 'Unable to set "{0}" to "{1}" which is not of type "{2}"'.format( + name, value, expected_type.__name__) raise ValueError(msg) if expected_iter_type: for item in value: if not _isinstance(item, expected_iter_type): - msg = 'Unable to set "{0}" to "{1}" since each item must be ' \ - 'of type "{2}"'.format(name, value, - expected_iter_type.__name__) + if isinstance(expected_iter_type, Iterable): + msg = 'Unable to set "{0}" to "{1}" since each item must be ' \ + 'one of the following types: "{2}"'.format( + name, value, ', '.join([t.__name__ for t in + expected_iter_type])) + else: + msg = 'Unable to set "{0}" to "{1}" since each item must be ' \ + 'of type "{2}"'.format(name, value, + expected_iter_type.__name__) raise ValueError(msg) @@ -245,3 +256,50 @@ def check_greater_than(name, value, minimum, equality=False): msg = 'Unable to set "{0}" to "{1}" since it is less than ' \ 'or equal to "{2}"'.format(name, value, minimum) raise ValueError(msg) + + +class CheckedList(list): + """A list for which each element is type-checked as it's added + + Parameters + ---------- + expected_type : type or Iterable of type + Type(s) which each element should be + name : str + Name of data being checked + items : Iterable, optional + Items to initialize the list with + + """ + + def __init__(self, expected_type, name, items=[]): + self.expected_type = expected_type + self.name = name + for item in items: + self.append(item) + + def append(self, item): + """Append item to list + + Parameters + ---------- + item : object + Item to append + + """ + check_type(self.name, item, self.expected_type) + super(CheckedList, self).append(item) + + def insert(self, index, item): + """Insert item before index + + Parameters + ---------- + index : int + Index in list + item : object + Item to insert + + """ + check_type(self.name, item, self.expected_type) + super(CheckedList, self).insert(index, item) diff --git a/openmc/cmfd.py b/openmc/cmfd.py index c247719c94..b9977a288d 100644 --- a/openmc/cmfd.py +++ b/openmc/cmfd.py @@ -69,7 +69,7 @@ class CMFDMesh(object): to any tallies far away from fission source neutron regions. A ``2`` must be used to identify any fission source region. -""" + """ def __init__(self): self._lower_left = None @@ -219,7 +219,7 @@ class CMFDFile(object): inner tolerance for Gauss-Seidel iterations when performing CMFD. ktol : float Tolerance on the eigenvalue when performing CMFD power iteration - cmfd_mesh : CMFDMesh + cmfd_mesh : openmc.CMFDMesh Structured mesh to be used for acceleration norm : float Normalization factor applied to the CMFD fission source distribution diff --git a/openmc/element.py b/openmc/element.py index dda110ea7a..219aafbdf6 100644 --- a/openmc/element.py +++ b/openmc/element.py @@ -24,7 +24,7 @@ class Element(object): Chemical symbol of the element, e.g. Pu xs : str Cross section identifier, e.g. 71c - scattering : 'data' or 'iso-in-lab' or None + scattering : {'data', 'iso-in-lab', None} The type of angular scattering distribution to use """ diff --git a/openmc/executor.py b/openmc/executor.py index 58cb912465..214517d6ed 100644 --- a/openmc/executor.py +++ b/openmc/executor.py @@ -27,7 +27,8 @@ class Executor(object): # Launch a subprocess to run OpenMC p = subprocess.Popen(command, shell=True, cwd=self._working_directory, - stdout=subprocess.PIPE) + stdout=subprocess.PIPE, + universal_newlines=True) # Capture and re-print OpenMC output in real-time while True: diff --git a/openmc/filter.py b/openmc/filter.py index 2ae8eeb626..249bdcc029 100644 --- a/openmc/filter.py +++ b/openmc/filter.py @@ -40,11 +40,14 @@ class Filter(object): The bins for the filter num_bins : Integral The number of filter bins - mesh : Mesh or None + mesh : openmc.Mesh or None A Mesh object for 'mesh' type filters. stride : Integral The number of filter, nuclide and score bins within each of this filter's bins. + distribcell_paths : list of str + The paths traversed through the CSG tree to reach each distribcell + instance (for 'distribcell' filters only) """ @@ -56,6 +59,7 @@ class Filter(object): self._bins = None self._mesh = None self._stride = None + self._distribcell_paths = None if type is not None: self.type = type @@ -110,6 +114,7 @@ class Filter(object): clone._num_bins = self.num_bins clone._mesh = copy.deepcopy(self.mesh, memo) clone._stride = self.stride + clone._distribcell_paths = copy.deepcopy(self.distribcell_paths) memo[id(self)] = clone @@ -152,6 +157,10 @@ class Filter(object): def stride(self): return self._stride + @property + def distribcell_paths(self): + return self._distribcell_paths + @type.setter def type(self, type): if type is None: @@ -246,12 +255,17 @@ class Filter(object): self._stride = stride + @distribcell_paths.setter + def distribcell_paths(self, distribcell_paths): + cv.check_iterable_type('distribcell_paths', distribcell_paths, str) + self._distribcell_paths = distribcell_paths + def can_merge(self, other): """Determine if filter can be merged with another. Parameters ---------- - other : Filter + other : openmc.Filter Filter to compare with Returns @@ -296,12 +310,12 @@ class Filter(object): Parameters ---------- - other : Filter + other : openmc.Filter Filter to merge with Returns ------- - merged_filter : Filter + merged_filter : openmc.Filter Filter resulting from the merge """ @@ -341,7 +355,7 @@ class Filter(object): Parameters ---------- - other : Filter + other : openmc.Filter The filter to query as a subset of this filter Returns @@ -505,8 +519,8 @@ class Filter(object): """Builds a Pandas DataFrame for the Filter's bins. This method constructs a Pandas DataFrame object for the filter with - columns annotated by filter bin information. This is a helper method - for the Tally.get_pandas_dataframe(...) method. + columns annotated by filter bin information. This is a helper method for + :meth:`Tally.get_pandas_dataframe`. This capability has been tested for Pandas >=0.13.1. However, it is recommended to use v0.16 or newer versions of Pandas since this method @@ -516,7 +530,7 @@ class Filter(object): ---------- data_size : Integral The total number of bins in the tally corresponding to this filter - summary : None or Summary + summary : None or openmc.Summary An optional Summary object to be used to construct columns for distribcell tally filters (default is None). The geometric information in the Summary object is embedded into a Multi-index @@ -632,18 +646,10 @@ class Filter(object): # offsets to OpenCG LocalCoords linked lists offsets_to_coords = {} - # Use OpenCG to compute LocalCoords linked list for - # each region and store in dictionary - for region in range(num_regions): + for offset, path in enumerate(self.distribcell_paths): + region = opencg_geometry.get_region_from_path(path) coords = opencg_geometry.find_region(region) - path = opencg.get_path(coords) - cell_id = path[-1] - - # If this region is in Cell corresponding to the - # distribcell filter bin, store it in dictionary - if cell_id == self.bins[0]: - offset = openmc_geometry.get_cell_instance(path) - offsets_to_coords[offset] = coords + offsets_to_coords[offset] = coords # Each distribcell offset is a DataFrame bin # Unravel the paths into DataFrame columns diff --git a/openmc/geometry.py b/openmc/geometry.py index dac0bd90f1..f5dfe97e4a 100644 --- a/openmc/geometry.py +++ b/openmc/geometry.py @@ -17,7 +17,7 @@ class Geometry(object): Attributes ---------- - root_universe : openmc.universe.Universe + root_universe : openmc.Universe Root universe which contains all others """ @@ -63,15 +63,19 @@ class Geometry(object): """ + # Extract the cell id from the path + last_index = path.rfind('>') + cell_id = int(path[last_index+1:]) + # Find the distribcell index of the cell. cells = self.get_all_cells() for cell in cells: - if cell.id == path[-1]: + if cell.id == cell_id: distribcell_index = cell.distribcell_index break else: raise RuntimeError('Could not find cell {} specified in a \ - distribcell filter'.format(path[-1])) + distribcell filter'.format(cell_id)) # Return memoize'd offset if possible if (path, distribcell_index) in self._offsets: @@ -91,7 +95,7 @@ class Geometry(object): Returns ------- - list of openmc.universe.Cell + list of openmc.Cell Cells in the geometry """ @@ -112,7 +116,7 @@ class Geometry(object): Returns ------- - list of openmc.universe.Universe + list of openmc.Universe Universes in the geometry """ @@ -132,7 +136,7 @@ class Geometry(object): Returns ------- - list of openmc.nuclide.Nuclide + list of openmc.Nuclide Nuclides in the geometry """ @@ -150,7 +154,7 @@ class Geometry(object): Returns ------- - list of openmc.material.Material + list of openmc.Material Materials in the geometry """ @@ -173,7 +177,7 @@ class Geometry(object): Returns ------- - list of openmc.universe.Cell + list of openmc.Cell Cells filled by Materials in the geometry """ @@ -194,7 +198,7 @@ class Geometry(object): Returns ------- - list of openmc.universe.Universe + list of openmc.Universe Universes with non-fill cells """ @@ -217,7 +221,7 @@ class Geometry(object): Returns ------- - list of openmc.universe.Lattice + list of openmc.Lattice Lattices in the geometry """ @@ -248,7 +252,7 @@ class Geometry(object): Returns ------- - list of openmc.material.Material + list of openmc.Material Materials matching the queried name """ @@ -288,7 +292,7 @@ class Geometry(object): Returns ------- - list of openmc.universe.Cell + list of openmc.Cell Cells matching the queried name """ @@ -328,7 +332,7 @@ class Geometry(object): Returns ------- - list of openmc.universe.Cell + list of openmc.Cell Cells with fills matching the queried name """ @@ -368,7 +372,7 @@ class Geometry(object): Returns ------- - list of openmc.universe.Universe + list of openmc.Universe Universes matching the queried name """ @@ -408,7 +412,7 @@ class Geometry(object): Returns ------- - list of openmc.universe.Lattice + list of openmc.Lattice Lattices matching the queried name """ @@ -440,7 +444,7 @@ class GeometryFile(object): Attributes ---------- - geometry : Geometry + geometry : openmc.Geometry The geometry to be used """ diff --git a/openmc/lattice.py b/openmc/lattice.py new file mode 100644 index 0000000000..7e78abf068 --- /dev/null +++ b/openmc/lattice.py @@ -0,0 +1,871 @@ +import abc +from collections import OrderedDict, Iterable +from numbers import Real, Integral +from xml.etree import ElementTree as ET +import sys + +import numpy as np + +import openmc.checkvalue as cv +from openmc.universe import Universe, AUTO_UNIVERSE_ID + +if sys.version_info[0] >= 3: + basestring = str + + +class Lattice(object): + """A repeating structure wherein each element is a universe. + + Parameters + ---------- + lattice_id : int, optional + Unique identifier for the lattice. If not specified, an identifier will + automatically be assigned. + name : str, optional + Name of the lattice. If not specified, the name is the empty string. + + Attributes + ---------- + id : int + Unique identifier for the lattice + name : str + Name of the lattice + pitch : float + Pitch of the lattice in cm + outer : int + The unique identifier of a universe to fill all space outside the + lattice + universes : numpy.ndarray of openmc.Universe + An array of universes filling each element of the lattice + + """ + + # This is an abstract class which cannot be instantiated + __metaclass__ = abc.ABCMeta + + def __init__(self, lattice_id=None, name=''): + # Initialize Lattice class attributes + self.id = lattice_id + self.name = name + self._pitch = None + self._outer = None + self._universes = None + + def __eq__(self, other): + if not isinstance(other, Lattice): + return False + elif self.id != other.id: + return False + elif self.name != other.name: + return False + elif self.pitch != other.pitch: + return False + elif self.outer != other.outer: + return False + elif self.universes != other.universes: + return False + else: + return True + + def __ne__(self, other): + return not self == other + + @property + def id(self): + return self._id + + @property + def name(self): + return self._name + + @property + def pitch(self): + return self._pitch + + @property + def outer(self): + return self._outer + + @property + def universes(self): + return self._universes + + @id.setter + def id(self, lattice_id): + if lattice_id is None: + global AUTO_UNIVERSE_ID + self._id = AUTO_UNIVERSE_ID + AUTO_UNIVERSE_ID += 1 + else: + cv.check_type('lattice ID', lattice_id, Integral) + cv.check_greater_than('lattice ID', lattice_id, 0, equality=True) + self._id = lattice_id + + @name.setter + def name(self, name): + if name is not None: + cv.check_type('lattice name', name, basestring) + self._name = name + else: + self._name = '' + + @outer.setter + def outer(self, outer): + cv.check_type('outer universe', outer, Universe) + self._outer = outer + + @universes.setter + def universes(self, universes): + cv.check_iterable_type('lattice universes', universes, Universe, + min_depth=2, max_depth=3) + self._universes = np.asarray(universes) + + def get_unique_universes(self): + """Determine all unique universes in the lattice + + Returns + ------- + universes : collections.OrderedDict + Dictionary whose keys are universe IDs and values are + :class:`Universe` instances + + """ + + univs = OrderedDict() + for k in range(len(self._universes)): + for j in range(len(self._universes[k])): + if isinstance(self._universes[k][j], Universe): + u = self._universes[k][j] + univs[u._id] = u + else: + for i in range(len(self._universes[k][j])): + u = self._universes[k][j][i] + assert isinstance(u, Universe) + univs[u._id] = u + + if self.outer is not None: + univs[self.outer._id] = self.outer + + return univs + + def get_all_nuclides(self): + """Return all nuclides contained in the lattice + + Returns + ------- + nuclides : collections.OrderedDict + Dictionary whose keys are nuclide names and values are 2-tuples of + (nuclide, density) + + """ + + nuclides = OrderedDict() + + # Get all unique Universes contained in each of the lattice cells + unique_universes = self.get_unique_universes() + + # Append all Universes containing each cell to the dictionary + for universe_id, universe in unique_universes.items(): + nuclides.update(universe.get_all_nuclides()) + + return nuclides + + def get_all_cells(self): + """Return all cells that are contained within the lattice + + Returns + ------- + cells : collections.OrderedDict + Dictionary whose keys are cell IDs and values are :class:`Cell` + instances + + """ + + cells = OrderedDict() + unique_universes = self.get_unique_universes() + + for universe_id, universe in unique_universes.items(): + cells.update(universe.get_all_cells()) + + return cells + + def get_all_materials(self): + """Return all materials that are contained within the lattice + + Returns + ------- + materials : collections.OrderedDict + Dictionary whose keys are material IDs and values are + :class:`Material` instances + + """ + + materials = OrderedDict() + + # Append all Cells in each Cell in the Universe to the dictionary + cells = self.get_all_cells() + for cell_id, cell in cells.items(): + materials.update(cell.get_all_materials()) + + return materials + + def get_all_universes(self): + """Return all universes that are contained within the lattice + + Returns + ------- + universes : collections.OrderedDict + Dictionary whose keys are universe IDs and values are + :class:`Universe` instances + + """ + + # Initialize a dictionary of all Universes contained by the Lattice + # in each nested Universe level + all_universes = OrderedDict() + + # Get all unique Universes contained in each of the lattice cells + unique_universes = self.get_unique_universes() + + # Add the unique Universes filling each Lattice cell + all_universes.update(unique_universes) + + # Append all Universes containing each cell to the dictionary + for universe_id, universe in unique_universes.items(): + all_universes.update(universe.get_all_universes()) + + return all_universes + + +class RectLattice(Lattice): + """A lattice consisting of rectangular prisms. + + Parameters + ---------- + lattice_id : int, optional + Unique identifier for the lattice. If not specified, an identifier will + automatically be assigned. + name : str, optional + Name of the lattice. If not specified, the name is the empty string. + + Attributes + ---------- + id : int + Unique identifier for the lattice + name : str + Name of the lattice + dimension : Iterable of int + An array of two or three integers representing the number of lattice + cells in the x- and y- (and z-) directions, respectively. + lower_left : Iterable of float + The coordinates of the lower-left corner of the lattice. If the lattice + is two-dimensional, only the x- and y-coordinates are specified. + + """ + + def __init__(self, lattice_id=None, name=''): + super(RectLattice, self).__init__(lattice_id, name) + + # Initialize Lattice class attributes + self._dimension = None + self._lower_left = None + self._offsets = None + + def __eq__(self, other): + if not isinstance(other, RectLattice): + return False + elif not super(RectLattice, self).__eq__(other): + return False + elif self.dimension != other.dimension: + return False + elif self.lower_left != other.lower_left: + return False + else: + return True + + def __ne__(self, other): + return not self == other + + def __hash__(self): + return hash(repr(self)) + + def __repr__(self): + string = 'RectLattice\n' + string += '{0: <16}{1}{2}\n'.format('\tID', '=\t', self._id) + string += '{0: <16}{1}{2}\n'.format('\tName', '=\t', self._name) + string += '{0: <16}{1}{2}\n'.format('\tDimension', '=\t', + self._dimension) + string += '{0: <16}{1}{2}\n'.format('\tLower Left', '=\t', + self._lower_left) + string += '{0: <16}{1}{2}\n'.format('\tPitch', '=\t', self._pitch) + + if self._outer is not None: + string += '{0: <16}{1}{2}\n'.format('\tOuter', '=\t', + self._outer._id) + else: + string += '{0: <16}{1}{2}\n'.format('\tOuter', '=\t', + self._outer) + + string += '{0: <16}\n'.format('\tUniverses') + + # Lattice nested Universe IDs - column major for Fortran + for i, universe in enumerate(np.ravel(self._universes)): + string += '{0} '.format(universe._id) + + # Add a newline character every time we reach end of row of cells + if (i+1) % self._dimension[-1] == 0: + string += '\n' + + string = string.rstrip('\n') + + if self._offsets is not None: + string += '{0: <16}\n'.format('\tOffsets') + + # Lattice cell offsets + for i, offset in enumerate(np.ravel(self._offsets)): + string += '{0} '.format(offset) + + # Add a newline character when we reach end of row of cells + if (i+1) % self._dimension[-1] == 0: + string += '\n' + + string = string.rstrip('\n') + + return string + + @property + def dimension(self): + return self._dimension + + @property + def lower_left(self): + return self._lower_left + + @property + def offsets(self): + return self._offsets + + @dimension.setter + def dimension(self, dimension): + cv.check_type('lattice dimension', dimension, Iterable, Integral) + cv.check_length('lattice dimension', dimension, 2, 3) + for dim in dimension: + cv.check_greater_than('lattice dimension', dim, 0) + self._dimension = dimension + + @lower_left.setter + def lower_left(self, lower_left): + cv.check_type('lattice lower left corner', lower_left, Iterable, Real) + cv.check_length('lattice lower left corner', lower_left, 2, 3) + self._lower_left = lower_left + + @offsets.setter + def offsets(self, offsets): + cv.check_type('lattice offsets', offsets, Iterable) + self._offsets = offsets + + @Lattice.pitch.setter + def pitch(self, pitch): + cv.check_type('lattice pitch', pitch, Iterable, Real) + cv.check_length('lattice pitch', pitch, 2, 3) + for dim in pitch: + cv.check_greater_than('lattice pitch', dim, 0.0) + self._pitch = pitch + + def get_cell_instance(self, path, distribcell_index): + + # Extract the lattice element from the path + next_index = path.index('-') + lat_id_indices = path[:next_index] + path = path[next_index+2:] + + # Extract the lattice cell indices from the path + i1 = lat_id_indices.index('(') + i2 = lat_id_indices.index(')') + i = lat_id_indices[i1+1:i2] + lat_x = int(i.split(',')[0]) - 1 + lat_y = int(i.split(',')[1]) - 1 + lat_z = int(i.split(',')[2]) - 1 + + # For 2D Lattices + if len(self._dimension) == 2: + offset = self._offsets[lat_z, lat_y, lat_x, distribcell_index-1] + offset += self._universes[lat_x][lat_y].get_cell_instance(path, + distribcell_index) + + # For 3D Lattices + else: + offset = self._offsets[lat_z, lat_y, lat_x, distribcell_index-1] + offset += self._universes[lat_z][lat_y][lat_x].get_cell_instance( + path, distribcell_index) + + return offset + + def create_xml_subelement(self, xml_element): + + # Determine if XML element already contains subelement for this Lattice + path = './lattice[@id=\'{0}\']'.format(self._id) + test = xml_element.find(path) + + # If the element does contain the Lattice subelement, then return + if test is not None: + return + + lattice_subelement = ET.Element("lattice") + lattice_subelement.set("id", str(self._id)) + + if len(self._name) > 0: + lattice_subelement.set("name", str(self._name)) + + # Export the Lattice cell pitch + pitch = ET.SubElement(lattice_subelement, "pitch") + pitch.text = ' '.join(map(str, self._pitch)) + + # Export the Lattice outer Universe (if specified) + if self._outer is not None: + outer = ET.SubElement(lattice_subelement, "outer") + outer.text = '{0}'.format(self._outer._id) + self._outer.create_xml_subelement(xml_element) + + # Export Lattice cell dimensions + dimension = ET.SubElement(lattice_subelement, "dimension") + dimension.text = ' '.join(map(str, self._dimension)) + + # Export Lattice lower left + lower_left = ET.SubElement(lattice_subelement, "lower_left") + lower_left.text = ' '.join(map(str, self._lower_left)) + + # Export the Lattice nested Universe IDs - column major for Fortran + universe_ids = '\n' + + # 3D Lattices + if len(self._dimension) == 3: + for z in range(self._dimension[2]): + for y in range(self._dimension[1]): + for x in range(self._dimension[0]): + universe = self._universes[z][y][x] + + # Append Universe ID to the Lattice XML subelement + universe_ids += '{0} '.format(universe._id) + + # Create XML subelement for this Universe + universe.create_xml_subelement(xml_element) + + # Add newline character when we reach end of row of cells + universe_ids += '\n' + + # Add newline character when we reach end of row of cells + universe_ids += '\n' + + # 2D Lattices + else: + for y in range(self._dimension[1]): + for x in range(self._dimension[0]): + universe = self._universes[y][x] + + # Append Universe ID to Lattice XML subelement + universe_ids += '{0} '.format(universe._id) + + # Create XML subelement for this Universe + universe.create_xml_subelement(xml_element) + + # Add newline character when we reach end of row of cells + universe_ids += '\n' + + # Remove trailing newline character from Universe IDs string + universe_ids = universe_ids.rstrip('\n') + + universes = ET.SubElement(lattice_subelement, "universes") + universes.text = universe_ids + + # Append the XML subelement for this Lattice to the XML element + xml_element.append(lattice_subelement) + + +class HexLattice(Lattice): + """A lattice consisting of hexagonal prisms. + + Parameters + ---------- + lattice_id : int, optional + Unique identifier for the lattice. If not specified, an identifier will + automatically be assigned. + name : str, optional + Name of the lattice. If not specified, the name is the empty string. + + Attributes + ---------- + id : int + Unique identifier for the lattice + name : str + Name of the lattice + num_rings : int + Number of radial ring positions in the xy-plane + num_axial : int + Number of positions along the z-axis. + center : Iterable of float + Coordinates of the center of the lattice. If the lattice does not have + axial sections then only the x- and y-coordinates are specified + + """ + + def __init__(self, lattice_id=None, name=''): + super(HexLattice, self).__init__(lattice_id, name) + + # Initialize Lattice class attributes + self._num_rings = None + self._num_axial = None + self._center = None + + def __eq__(self, other): + if not isinstance(other, HexLattice): + return False + elif not super(HexLattice, self).__eq__(other): + return False + elif self.num_rings != other.num_rings: + return False + elif self.num_axial != other.num_axial: + return False + elif self.center != other.center: + return False + else: + return True + + def __ne__(self, other): + return not self == other + + def __hash__(self): + return hash(repr(self)) + + def __repr__(self): + string = 'HexLattice\n' + string += '{0: <16}{1}{2}\n'.format('\tID', '=\t', self._id) + string += '{0: <16}{1}{2}\n'.format('\tName', '=\t', self._name) + string += '{0: <16}{1}{2}\n'.format('\t# Rings', '=\t', self._num_rings) + string += '{0: <16}{1}{2}\n'.format('\t# Axial', '=\t', self._num_axial) + string += '{0: <16}{1}{2}\n'.format('\tCenter', '=\t', + self._center) + string += '{0: <16}{1}{2}\n'.format('\tPitch', '=\t', self._pitch) + + if self._outer is not None: + string += '{0: <16}{1}{2}\n'.format('\tOuter', '=\t', + self._outer._id) + else: + string += '{0: <16}{1}{2}\n'.format('\tOuter', '=\t', + self._outer) + + string += '{0: <16}\n'.format('\tUniverses') + + if self._num_axial is not None: + slices = [self._repr_axial_slice(x) for x in self._universes] + string += '\n'.join(slices) + + else: + string += self._repr_axial_slice(self._universes) + + return string + + @property + def num_rings(self): + return self._num_rings + + @property + def num_axial(self): + return self._num_axial + + @property + def center(self): + return self._center + + @num_rings.setter + def num_rings(self, num_rings): + cv.check_type('number of rings', num_rings, Integral) + cv.check_greater_than('number of rings', num_rings, 0) + self._num_rings = num_rings + + @num_axial.setter + def num_axial(self, num_axial): + cv.check_type('number of axial', num_axial, Integral) + cv.check_greater_than('number of axial', num_axial, 0) + self._num_axial = num_axial + + @center.setter + def center(self, center): + cv.check_type('lattice center', center, Iterable, Real) + cv.check_length('lattice center', center, 2, 3) + self._center = center + + @Lattice.pitch.setter + def pitch(self, pitch): + cv.check_type('lattice pitch', pitch, Iterable, Real) + cv.check_length('lattice pitch', pitch, 1, 2) + for dim in pitch: + cv.check_greater_than('lattice pitch', dim, 0) + self._pitch = pitch + + @Lattice.universes.setter + def universes(self, universes): + # Call Lattice.universes parent class setter property + Lattice.universes.fset(self, universes) + + # NOTE: This routine assumes that the user creates a "ragged" list of + # lists, where each sub-list corresponds to one ring of Universes. + # The sub-lists are ordered from outermost ring to innermost ring. + # The Universes within each sub-list are ordered from the "top" in a + # clockwise fashion. + + # Check to see if the given universes look like a 2D or a 3D array. + if isinstance(self._universes[0][0], Universe): + n_dims = 2 + + elif isinstance(self._universes[0][0][0], Universe): + n_dims = 3 + + else: + msg = 'HexLattice ID={0:d} does not appear to be either 2D or ' \ + '3D. Make sure set_universes was given a two-deep or ' \ + 'three-deep iterable of universes.'.format(self._id) + raise RuntimeError(msg) + + # Set the number of axial positions. + if n_dims == 3: + self.num_axial = len(self._universes) + else: + self._num_axial = None + + # Set the number of rings and make sure this number is consistent for + # all axial positions. + if n_dims == 3: + self.num_rings = len(self._universes) + for rings in self._universes: + if len(rings) != self._num_rings: + msg = 'HexLattice ID={0:d} has an inconsistent number of ' \ + 'rings per axial positon'.format(self._id) + raise ValueError(msg) + + else: + self.num_rings = len(self._universes) + + # Make sure there are the correct number of elements in each ring. + if n_dims == 3: + for axial_slice in self._universes: + # Check the center ring. + if len(axial_slice[-1]) != 1: + msg = 'HexLattice ID={0:d} has the wrong number of ' \ + 'elements in the innermost ring. Only 1 element is ' \ + 'allowed in the innermost ring.'.format(self._id) + raise ValueError(msg) + + # Check the outer rings. + for r in range(self._num_rings-1): + if len(axial_slice[r]) != 6*(self._num_rings - 1 - r): + msg = 'HexLattice ID={0:d} has the wrong number of ' \ + 'elements in ring number {1:d} (counting from the '\ + 'outermost ring). This ring should have {2:d} ' \ + 'elements.'.format(self._id, r, + 6*(self._num_rings - 1 - r)) + raise ValueError(msg) + + else: + axial_slice = self._universes + # Check the center ring. + if len(axial_slice[-1]) != 1: + msg = 'HexLattice ID={0:d} has the wrong number of ' \ + 'elements in the innermost ring. Only 1 element is ' \ + 'allowed in the innermost ring.'.format(self._id) + raise ValueError(msg) + + # Check the outer rings. + for r in range(self._num_rings-1): + if len(axial_slice[r]) != 6*(self._num_rings - 1 - r): + msg = 'HexLattice ID={0:d} has the wrong number of ' \ + 'elements in ring number {1:d} (counting from the '\ + 'outermost ring). This ring should have {2:d} ' \ + 'elements.'.format(self._id, r, + 6*(self._num_rings - 1 - r)) + raise ValueError(msg) + + def create_xml_subelement(self, xml_element): + # Determine if XML element already contains subelement for this Lattice + path = './hex_lattice[@id=\'{0}\']'.format(self._id) + test = xml_element.find(path) + + # If the element does contain the Lattice subelement, then return + if test is not None: + return + + lattice_subelement = ET.Element("hex_lattice") + lattice_subelement.set("id", str(self._id)) + + if len(self._name) > 0: + lattice_subelement.set("name", str(self._name)) + + # Export the Lattice cell pitch + pitch = ET.SubElement(lattice_subelement, "pitch") + pitch.text = ' '.join(map(str, self._pitch)) + + # Export the Lattice outer Universe (if specified) + if self._outer is not None: + outer = ET.SubElement(lattice_subelement, "outer") + outer.text = '{0}'.format(self._outer._id) + self._outer.create_xml_subelement(xml_element) + + lattice_subelement.set("n_rings", str(self._num_rings)) + + if self._num_axial is not None: + lattice_subelement.set("n_axial", str(self._num_axial)) + + # Export Lattice cell center + dimension = ET.SubElement(lattice_subelement, "center") + dimension.text = ' '.join(map(str, self._center)) + + # Export the Lattice nested Universe IDs. + + # 3D Lattices + if self._num_axial is not None: + slices = [] + for z in range(self._num_axial): + # Initialize the center universe. + universe = self._universes[z][-1][0] + universe.create_xml_subelement(xml_element) + + # Initialize the remaining universes. + for r in range(self._num_rings-1): + for theta in range(6*(self._num_rings - 1 - r)): + universe = self._universes[z][r][theta] + universe.create_xml_subelement(xml_element) + + # Get a string representation of the universe IDs. + slices.append(self._repr_axial_slice(self._universes[z])) + + # Collapse the list of axial slices into a single string. + universe_ids = '\n'.join(slices) + + # 2D Lattices + else: + # Initialize the center universe. + universe = self._universes[-1][0] + universe.create_xml_subelement(xml_element) + + # Initialize the remaining universes. + for r in range(self._num_rings - 1): + for theta in range(6*(self._num_rings - 1 - r)): + universe = self._universes[r][theta] + universe.create_xml_subelement(xml_element) + + # Get a string representation of the universe IDs. + universe_ids = self._repr_axial_slice(self._universes) + + universes = ET.SubElement(lattice_subelement, "universes") + universes.text = '\n' + universe_ids + + # Append the XML subelement for this Lattice to the XML element + xml_element.append(lattice_subelement) + + def _repr_axial_slice(self, universes): + """Return string representation for the given 2D group of universes. + + The 'universes' argument should be a list of lists of universes where + each sub-list represents a single ring. The first list should be the + outer ring. + """ + + # Find the largest universe ID and count the number of digits so we can + # properly pad the output string later. + largest_id = max([max([univ._id for univ in ring]) + for ring in universes]) + n_digits = len(str(largest_id)) + pad = ' '*n_digits + id_form = '{: ^' + str(n_digits) + 'd}' + + # Initialize the list for each row. + rows = [[] for i in range(1 + 4 * (self._num_rings-1))] + middle = 2 * (self._num_rings - 1) + + # Start with the degenerate first ring. + universe = universes[-1][0] + rows[middle] = [id_form.format(universe._id)] + + # Add universes one ring at a time. + for r in range(1, self._num_rings): + # r_prime increments down while r increments up. + r_prime = self._num_rings - 1 - r + theta = 0 + y = middle + 2*r + + # Climb down the top-right. + for i in range(r): + # Add the universe. + universe = universes[r_prime][theta] + rows[y].append(id_form.format(universe._id)) + + # Translate the indices. + y -= 1 + theta += 1 + + # Climb down the right. + for i in range(r): + # Add the universe. + universe = universes[r_prime][theta] + rows[y].append(id_form.format(universe._id)) + + # Translate the indices. + y -= 2 + theta += 1 + + # Climb down the bottom-right. + for i in range(r): + # Add the universe. + universe = universes[r_prime][theta] + rows[y].append(id_form.format(universe._id)) + + # Translate the indices. + y -= 1 + theta += 1 + + # Climb up the bottom-left. + for i in range(r): + # Add the universe. + universe = universes[r_prime][theta] + rows[y].insert(0, id_form.format(universe._id)) + + # Translate the indices. + y += 1 + theta += 1 + + # Climb up the left. + for i in range(r): + # Add the universe. + universe = universes[r_prime][theta] + rows[y].insert(0, id_form.format(universe._id)) + + # Translate the indices. + y += 2 + theta += 1 + + # Climb up the top-left. + for i in range(r): + # Add the universe. + universe = universes[r_prime][theta] + rows[y].insert(0, id_form.format(universe._id)) + + # Translate the indices. + y += 1 + theta += 1 + + # Flip the rows and join each row into a single string. + rows = [pad.join(x) for x in rows[::-1]] + + # Pad the beginning of the rows so they line up properly. + for y in range(self._num_rings - 1): + rows[y] = (self._num_rings - 1 - y)*pad + rows[y] + rows[-1 - y] = (self._num_rings - 1 - y)*pad + rows[-1 - y] + + for y in range(self._num_rings % 2, self._num_rings, 2): + rows[middle + y] = pad + rows[middle + y] + if y != 0: + rows[middle - y] = pad + rows[middle - y] + + # Join the rows together and return the string. + universe_ids = '\n'.join(rows) + return universe_ids diff --git a/openmc/material.py b/openmc/material.py index e51586205d..2c04a9ecf2 100644 --- a/openmc/material.py +++ b/openmc/material.py @@ -270,7 +270,7 @@ class Material(object): Parameters ---------- - nuclide : str or openmc.nuclide.Nuclide + nuclide : str or openmc.Nuclide Nuclide to add percent : float Atom or weight percent @@ -313,7 +313,7 @@ class Material(object): Parameters ---------- - nuclide : openmc.nuclide.Nuclide + nuclide : openmc.Nuclide Nuclide to remove """ @@ -332,7 +332,7 @@ class Material(object): Parameters ---------- - macroscopic : str or Macroscopic + macroscopic : str or openmc.Macroscopic Macroscopic to add """ @@ -371,7 +371,7 @@ class Material(object): Parameters ---------- - macroscopic : Macroscopic + macroscopic : openmc.Macroscopic Macroscopic to remove """ @@ -390,7 +390,7 @@ class Material(object): Parameters ---------- - element : openmc.element.Element + element : openmc.Element Element to add percent : float Atom or weight percent @@ -429,7 +429,7 @@ class Material(object): Parameters ---------- - element : openmc.element.Element + element : openmc.Element Element to remove """ @@ -671,7 +671,7 @@ class MaterialsFile(object): Parameters ---------- - material : Material + material : openmc.Material Material to add """ @@ -688,7 +688,7 @@ class MaterialsFile(object): Parameters ---------- - materials : tuple or list of Material + materials : tuple or list of openmc.Material Materials to add """ @@ -706,7 +706,7 @@ class MaterialsFile(object): Parameters ---------- - material : Material + material : openmc.Material Material to remove """ @@ -723,9 +723,8 @@ class MaterialsFile(object): material.make_isotropic_in_lab() def _create_material_subelements(self): - subelement = ET.SubElement(self._materials_file, "default_xs") - if self._default_xs is not None: + subelement = ET.SubElement(self._materials_file, "default_xs") subelement.text = self._default_xs for material in self._materials: diff --git a/openmc/mgxs/groups.py b/openmc/mgxs/groups.py index a1e03c3371..068977d888 100644 --- a/openmc/mgxs/groups.py +++ b/openmc/mgxs/groups.py @@ -24,7 +24,7 @@ class EnergyGroups(object): ---------- group_edges : Iterable of Real The energy group boundaries [MeV] - num_groups : Integral + num_groups : int The number of energy groups """ @@ -86,7 +86,7 @@ class EnergyGroups(object): Parameters ---------- - energy : Real + energy : float The energy of interest in MeV Returns @@ -115,7 +115,7 @@ class EnergyGroups(object): Parameters ---------- - group : Integral + group : int The energy group index, starting at 1 for the highest energies Returns @@ -153,7 +153,7 @@ class EnergyGroups(object): Returns ------- - ndarray + numpy.ndarray The ndarray array indices for each energy group of interest Raises @@ -200,7 +200,7 @@ class EnergyGroups(object): Returns ------- - EnergyGroups + openmc.mgxs.EnergyGroups A coarsened version of this EnergyGroups object. Raises @@ -244,7 +244,7 @@ class EnergyGroups(object): Parameters ---------- - other : EnergyGroups + other : openmc.mgxs.EnergyGroups EnergyGroups to compare with Returns @@ -275,12 +275,12 @@ class EnergyGroups(object): Parameters ---------- - other : EnergyGroups + other : openmc.mgxs.EnergyGroups EnergyGroups to merge with Returns ------- - merged_groups : EnergyGroups + merged_groups : openmc.mgxs.EnergyGroups EnergyGroups resulting from the merge """ diff --git a/openmc/mgxs/library.py b/openmc/mgxs/library.py index a38e42d245..4de4bb48ac 100644 --- a/openmc/mgxs/library.py +++ b/openmc/mgxs/library.py @@ -53,22 +53,22 @@ class Library(object): The types of cross sections in the library (e.g., ['total', 'scatter']) domain_type : {'material', 'cell', 'distribcell', 'universe'} Domain type for spatial homogenization - domains : Iterable of Material, Cell or Universe + domains : Iterable of openmc.Material, openmc.Cell or openmc.Universe The spatial domain(s) for which MGXS in the Library are computed - correction : 'P0' or None + correction : {'P0', None} Apply the P0 correction to scattering matrices if set to 'P0' - energy_groups : EnergyGroups + energy_groups : openmc.mgxs.EnergyGroups Energy group structure for energy condensation - tally_trigger : Trigger + tally_trigger : openmc.Trigger An (optional) tally precision trigger given to each tally used to compute the cross section - all_mgxs : OrderedDict + all_mgxs : collections.OrderedDict MGXS objects keyed by domain ID and cross section type sp_filename : str The filename of the statepoint with tally data used to the compute cross sections keff : Real or None - The combined keff from the statepoint file with tally data used to + The combined keff from the statepoint file with tally data used to compute cross sections (for eigenvalue calculations only) name : str, optional Name of the multi-group cross section library. Used as a label to @@ -308,7 +308,7 @@ class Library(object): """ cv.check_type('sparse', sparse, bool) - + # Sparsify or densify each MGXS in the Library for domain in self.domains: for mgxs_type in self.mgxs_types: @@ -350,7 +350,7 @@ class Library(object): def add_to_tallies_file(self, tallies_file, merge=True): """Add all tallies from all MGXS objects to a tallies file. - NOTE: This assumes that build_library() has been called + NOTE: This assumes that :meth:`Library.build_library` has been called Parameters ---------- @@ -426,7 +426,7 @@ class Library(object): ---------- domain : Material or Cell or Universe or Integral The material, cell, or universe object of interest (or its ID) - mgxs_type : {'total', 'transport', 'absorption', 'capture', 'fission', 'nu-fission', 'scatter', 'nu-scatter', 'scatter matrix', 'nu-scatter matrix', 'chi'} + mgxs_type : {'total', 'transport', 'absorption', 'capture', 'fission', 'nu-fission', 'kappa-fission', 'scatter', 'nu-scatter', 'scatter matrix', 'nu-scatter matrix', 'chi'} The type of multi-group cross section object to return Returns @@ -457,7 +457,7 @@ class Library(object): break else: msg = 'Unable to find MGXS for {0} "{1}" in ' \ - 'library'.format(self.domain_type, domain) + 'library'.format(self.domain_type, domain_id) raise ValueError(msg) else: domain_id = domain.id @@ -537,7 +537,7 @@ class Library(object): Returns ------- - Library + openmc.mgxs.Library A new multi-group cross section library averaged across subdomains Raises diff --git a/openmc/mgxs/mgxs.py b/openmc/mgxs/mgxs.py index 6be8255f4a..0c3612e9f8 100644 --- a/openmc/mgxs/mgxs.py +++ b/openmc/mgxs/mgxs.py @@ -59,18 +59,14 @@ class MGXS(object): Parameters ---------- - domain : Material or Cell or Universe + domain : openmc.Material or openmc.Cell or openmc.Universe The domain for spatial homogenization domain_type : {'material', 'cell', 'distribcell', 'universe'} The domain type for spatial homogenization - energy_groups : EnergyGroups + energy_groups : openmc.mgxs.EnergyGroups The energy group structure for energy condensation by_nuclide : bool If true, computes cross sections for each nuclide in domain - nuclides : Iterable of basestring - The user-specified nuclides to compute cross sections. If by_nuclide - is True but nuclides are not specified by the user, all nuclides in the - spatial domain will be used. name : str, optional Name of the multi-group cross section. Used as a label to identify tallies in OpenMC 'tallies.xml' file. @@ -87,31 +83,33 @@ class MGXS(object): Domain for spatial homogenization domain_type : {'material', 'cell', 'distribcell', 'universe'} Domain type for spatial homogenization - energy_groups : EnergyGroups + energy_groups : openmc.mgxs.EnergyGroups Energy group structure for energy condensation - tally_trigger : Trigger + tally_trigger : openmc.Trigger An (optional) tally precision trigger given to each tally used to compute the cross section - tallies : OrderedDict + tallies : collections.OrderedDict OpenMC tallies needed to compute the multi-group cross section - rxn_rate_tally : Tally + rxn_rate_tally : openmc.Tally Derived tally for the reaction rate tally used in the numerator to compute the multi-group cross section. This attribute is None unless the multi-group cross section has been computed. - xs_tally : Tally + xs_tally : openmc.Tally Derived tally for the multi-group cross section. This attribute is None unless the multi-group cross section has been computed. - num_subdomains : Integral + num_subdomains : int The number of subdomains is unity for 'material', 'cell' and 'universe' domain types. When the This is equal to the number of cell instances for 'distribcell' domain types (it is equal to unity prior to loading tally data from a statepoint file). - num_nuclides : Integral + num_nuclides : int The number of nuclides for which the multi-group cross section is being tracked. This is unity if the by_nuclide attribute is False. - nuclides : list of str or 'sum' - A list of nuclide string names (e.g., 'U-238', 'O-16') when by_nuclide - is True and 'sum' when by_nuclide is False. + nuclides : Iterable of str or 'sum' + The optional user-specified nuclides for which to compute cross + sections (e.g., 'U-238', 'O-16'). If by_nuclide is True but nuclides + are not specified by the user, all nuclides in the spatial domain + are included. This attribute is 'sum' if by_nuclide is false. sparse : bool Whether or not the MGXS' tallies use SciPy's LIL sparse matrix format for compressed data storage @@ -336,11 +334,11 @@ class MGXS(object): ---------- mgxs_type : {'total', 'transport', 'absorption', 'capture', 'fission', 'nu-fission', 'kappa-fission', 'scatter', 'nu-scatter', 'scatter matrix', 'nu-scatter matrix', 'chi'} The type of multi-group cross section object to return - domain : Material or Cell or Universe + domain : openmc.Material or openmc.Cell or openmc.Universe The domain for spatial homogenization domain_type : {'material', 'cell', 'distribcell', 'universe'} The domain type for spatial homogenization - energy_groups : EnergyGroups + energy_groups : openmc.mgxs.EnergyGroups The energy group structure for energy condensation by_nuclide : bool If true, computes cross sections for each nuclide in domain. @@ -351,7 +349,7 @@ class MGXS(object): Returns ------- - MGXS + openmc.mgxs.MGXS A subclass of the abstract MGXS class for the multi-group cross section type requested by the user @@ -427,7 +425,7 @@ class MGXS(object): Returns ------- - Real + float The atomic number density (atom/b-cm) for the nuclide of interest Raises @@ -466,7 +464,7 @@ class MGXS(object): Returns ------- - ndarray of Real + numpy.ndarray of float An array of the atomic number densities (atom/b-cm) for each of the nuclides in the spatial domain @@ -514,11 +512,11 @@ class MGXS(object): ---------- scores : Iterable of str Scores for each tally - all_filters : Iterable of tuple of Filter + all_filters : Iterable of tuple of openmc.Filter Tuples of non-spatial domain filters for each tally keys : Iterable of str Key string used to store each tally in the tallies dictionary - estimator : {'analog' or 'tracklength'} + estimator : {'analog', 'tracklength'} Type of estimator to use for each tally """ @@ -537,27 +535,27 @@ class MGXS(object): # Create each Tally needed to compute the multi group cross section for score, key, filters in zip(scores, keys, all_filters): self.tallies[key] = openmc.Tally(name=self.name) - self.tallies[key].add_score(score) + self.tallies[key].scores = [score] self.tallies[key].estimator = estimator - self.tallies[key].add_filter(domain_filter) + self.tallies[key].filters = [domain_filter] # If a tally trigger was specified, add it to each tally if self.tally_trigger: trigger_clone = copy.deepcopy(self.tally_trigger) - trigger_clone.add_score(score) - self.tallies[key].add_trigger(trigger_clone) + trigger_clone.scores = [score] + self.tallies[key].triggers.append(trigger_clone) # Add all non-domain specific Filters (e.g., 'energy') to the Tally for add_filter in filters: - self.tallies[key].add_filter(add_filter) + self.tallies[key].filters.append(add_filter) # If this is a by-nuclide cross-section, add all nuclides to Tally if self.by_nuclide and score != 'flux': - all_nuclides = self.domain.get_all_nuclides() + all_nuclides = self.get_all_nuclides() for nuclide in all_nuclides: - self.tallies[key].add_nuclide(nuclide) + self.tallies[key].nuclides.append(nuclide) else: - self.tallies[key].add_nuclide('total') + self.tallies[key].nuclides.append('total') def _compute_xs(self): """Performs generic cleanup after a subclass' uses tally arithmetic to @@ -579,7 +577,7 @@ class MGXS(object): self.xs_tally._nuclides = [] nuclides = self.get_all_nuclides() for nuclide in nuclides: - self.xs_tally.add_nuclide(openmc.Nuclide(nuclide)) + self.xs_tally.nuclides.append(openmc.Nuclide(nuclide)) # Remove NaNs which may have resulted from divide-by-zero operations self.xs_tally._mean = np.nan_to_num(self.xs_tally.mean) @@ -686,7 +684,7 @@ class MGXS(object): Returns ------- - ndarray + numpy.ndarray A NumPy array of the multi-group cross section indexed in the order each group, subdomain and nuclide is listed in the parameters. @@ -761,10 +759,9 @@ class MGXS(object): # Reverse energies to align with increasing energy groups xs = xs[:, ::-1, :] - # Eliminate trivial dimensions - xs = np.squeeze(xs) - xs = np.atleast_1d(xs) - + # Eliminate trivial dimensions + xs = np.squeeze(xs) + xs = np.atleast_1d(xs) return xs def get_condensed_xs(self, coarse_groups): @@ -858,7 +855,7 @@ class MGXS(object): Returns ------- - MGXS + openmc.mgxs.MGXS A new MGXS averaged across the subdomains of interest Raises @@ -910,13 +907,13 @@ class MGXS(object): nuclides : list of str A list of nuclide name strings (e.g., ['U-235', 'U-238']; default is []) - groups : list of Integral + groups : list of int A list of energy group indices starting at 1 for the high energies (e.g., [1, 2, 3]; default is []) Returns ------- - MGXS + openmc.mgxs.MGXS A new tally which encapsulates the subset of data requested for the nuclide(s) and/or energy group(s) requested in the parameters. @@ -976,7 +973,7 @@ class MGXS(object): Parameters ---------- - other : MGXS + other : openmc.mgxs.MGXS MGXS to check for merging """ @@ -1013,12 +1010,12 @@ class MGXS(object): Parameters ---------- - other : MGXS + other : openmc.mgxs.MGXS MGXS to merge with this one Returns ------- - merged_mgxs : MGXS + merged_mgxs : openmc.mgxs.MGXS Merged MGXS """ @@ -1352,7 +1349,7 @@ class MGXS(object): xs_type='macro', summary=None): """Build a Pandas DataFrame for the MGXS data. - This method leverages the Tally.get_pandas_dataframe(...) method, but + This method leverages :meth:`openmc.Tally.get_pandas_dataframe`, but renames the columns with terminology appropriate for cross section data. Parameters @@ -1369,7 +1366,7 @@ class MGXS(object): xs_type: {'macro', 'micro'} Return macro or micro cross section in units of cm^-1 or barns. Defaults to 'macro'. - summary : None or Summary + summary : None or openmc.Summary An optional Summary object to be used to construct columns for distribcell tally filters (default is None). The geometric information in the Summary object is embedded into a multi-index @@ -1936,16 +1933,16 @@ class ScatterMatrixXS(MGXS): nuclides : list of str A list of nuclide name strings (e.g., ['U-235', 'U-238']; default is []) - in_groups : list of Integral + in_groups : list of int A list of incoming energy group indices starting at 1 for the high energies (e.g., [1, 2, 3]; default is []) - out_groups : list of Integral + out_groups : list of int A list of outgoing energy group indices starting at 1 for the high energies (e.g., [1, 2, 3]; default is []) Returns ------- - MGXS + openmc.mgxs.MGXS A new tally which encapsulates the subset of data requested for the nuclide(s) and/or energy group(s) requested in the parameters. @@ -2313,7 +2310,7 @@ class Chi(MGXS): super(Chi, self)._compute_xs() # Add the coarse energy filter back to the nu-fission tally - nu_fission_in.add_filter(energy_filter) + nu_fission_in.filters.append(energy_filter) return self._xs_tally @@ -2382,12 +2379,12 @@ class Chi(MGXS): Parameters ---------- - other : MGXS + other : openmc.mgxs.MGXS MGXS to merge with this one Returns ------- - merged_mgxs : MGXS + merged_mgxs : openmc.mgxs.MGXS Merged MGXS """ @@ -2455,7 +2452,7 @@ class Chi(MGXS): Returns ------- - ndarray + numpy.ndarray A NumPy array of the multi-group cross section indexed in the order each group, subdomain and nuclide is listed in the parameters. @@ -2512,7 +2509,7 @@ class Chi(MGXS): xs_tally = nu_fission_out / nu_fission_in # Add the coarse energy filter back to the nu-fission tally - nu_fission_in.add_filter(energy_filter) + nu_fission_in.filters.append(energy_filter) xs = xs_tally.get_values(filters=filters, filter_bins=filter_bins, value=value) @@ -2563,7 +2560,7 @@ class Chi(MGXS): xs_type='macro', summary=None): """Build a Pandas DataFrame for the MGXS data. - This method leverages the Tally.get_pandas_dataframe(...) method, but + This method leverages :meth:`openmc.Tally.get_pandas_dataframe`, but renames the columns with terminology appropriate for cross section data. Parameters @@ -2580,7 +2577,7 @@ class Chi(MGXS): xs_type: {'macro', 'micro'} Return macro or micro cross section in units of cm^-1 or barns. Defaults to 'macro'. - summary : None or Summary + summary : None or openmc.Summary An optional Summary object to be used to construct columns for distribcell tally filters (default is None). The geometric information in the Summary object is embedded into a multi-index diff --git a/openmc/mgxs_library.py b/openmc/mgxs_library.py index 06b369c68a..c0b04fed1e 100644 --- a/openmc/mgxs_library.py +++ b/openmc/mgxs_library.py @@ -24,7 +24,7 @@ def ndarray_to_string(arr): Parameters ---------- - arr : ndarray + arr : numpy.ndarray Array to combine in to a string Returns @@ -87,8 +87,9 @@ class XSdata(object): ---------- name : str, optional Name of the mgxs data set. - - representation : {'isotropic', 'angle'} + energy_groups : openmc.mgxs.EnergyGroups + Energygroup structure + representation : {'isotropic', 'angle'}, optional Method used in generating the MGXS (isotropic or angle-dependent flux weighting). Defaults to 'isotropic' @@ -99,10 +100,10 @@ class XSdata(object): alias : str Separate unique identifier for the xsdata object kT : float - Temperature (in units of MeV) of this data set. - energy_groups : EnergyGroups + Temperature (in units of MeV). + energy_groups : openmc.mgxs.EnergyGroups Energy group structure - fissionable : boolean + fissionable : bool Whether or not this is a fissionable data set. scatt_type : {'legendre', 'histogram', or 'tabular'} Angular distribution representation (legendre, histogram, or tabular) @@ -115,6 +116,85 @@ class XSdata(object): Legendre polynomial form). Dict contains two keys: 'enable' and 'num_points'. 'enable' is a boolean and 'num_points' is the number of points to use, if 'enable' is True. + num_azimuthal : int + Number of equal width angular bins that the azimuthal angular domain is + subdivided into. This only applies when ``representation`` is "angle". + num_polar : int + Number of equal width angular bins that the polar angular domain is + subdivided into. This only applies when ``representation`` is "angle". + total : numpy.ndarray + Group-wise total cross section ordered by increasing group index (i.e., + fast to thermal). If ``representation`` is "isotropic", then the length + of this list should equal the number of groups described in the + ``groups`` element. If ``representation`` is "angle", then the length + of this list should equal the number of groups times the number of + azimuthal angles times the number of polar angles, with the + inner-dimension being groups, intermediate-dimension being azimuthal + angles and outer-dimension being the polar angles. + absorption : numpy.ndarray + Group-wise absorption cross section ordered by increasing group index + (i.e., fast to thermal). If ``representation`` is "isotropic", then the + length of this list should equal the number of groups described in the + ``groups`` attribute. If ``representation`` is "angle", then the length + of this list should equal the number of groups times the number of + azimuthal angles times the number of polar angles, with the + inner-dimension being groups, intermediate-dimension being azimuthal + angles and outer-dimension being the polar angles. + scatter : numpy.ndarray + Scattering moment matrices presented with the columns representing + incoming group and rows representing the outgoing group. That is, + down-scatter will be above the diagonal of the resultant matrix. This + matrix is repeated for every Legendre order (in order of increasing + orders) if ``scatt_type`` is "legendre"; otherwise, this matrix is + repeated for every bin of the histogram or tabular representation. + Finally, if ``representation`` is "angle", the above is repeated for + every azimuthal angle and every polar angle, in that order. + multiplicity : numpy.ndarray + Ratio of neutrons produced in scattering collisions to the neutrons + which undergo scattering collisions; that is, the multiplicity provides + the code with a scaling factor to account for neutrons being produced in + (n,xn) reactions. This information is assumed isotropic and therefore + does not need to be repeated for every Legendre moment or + histogram/tabular bin. This matrix follows the same arrangement as + described for the ``scatter`` attribute, with the exception of the data + needed to provide the scattering type information. + fission : numpy.ndarray + Group-wise fission cross section ordered by increasing group index + (i.e., fast to thermal). If ``representation`` is "isotropic", then the + length of this list should equal the number of groups described in the + ``groups`` attribute. If ``representation`` is "angle", then the length + of this list should equal the number of groups times the number of + azimuthal angles times the number of polar angles, with the + inner-dimension being groups, intermediate-dimension being azimuthal + angles and outer-dimension being the polar angles. + k_fission : numpy.ndarray + Group-wise kappa-fission cross section ordered by increasing group index + (i.e., fast to thermal). If ``representation`` is "isotropic", then the + length of this list should equal the number of groups described in the + ``groups`` attribute. If ``representation`` is "angle", then the length + of this list should equal the number of groups times the number of + azimuthal angles times the number of polar angles, with the + inner-dimension being groups, intermediate-dimension being azimuthal + angles and outer-dimension being the polar angles. + chi : numpy.ndarray + Group-wise fission spectra ordered by increasing group index (i.e., fast + to thermal). This attribute should be used if making the common + approximation that the fission spectra does not depend on incoming + energy. If the user does not wish to make this approximation, then this + should not be provided and this information included in the + ``nu_fission`` element instead. If ``representation`` is "isotropic", + then the length of this list should equal the number of groups described + in the ``groups`` element. If ``representation`` is "angle", then the + length of this list should equal the number of groups times the number + of azimuthal angles times the number of polar angles, with the + inner-dimension being groups, intermediate-dimension being azimuthal + angles and outer-dimension being the polar angles. + nu_fission : numpy.ndarray + Group-wise fission production cross section vector (i.e., if ``chi`` is + provided), or is the group-wise fission production matrix. If providing + the vector, it should be ordered the same as the ``fission`` data. If + providing the matrix, it should be ordered the same as the + ``multiplicity`` matrix. """ def __init__(self, name, energy_groups, representation="isotropic"): @@ -577,9 +657,7 @@ class MGXSLibraryFile(object): Energy group structure. inverse_velocities : Iterable of Real Inverse of velocities, units of sec/cm - filename : str - XML file to write to. - xsdatas : Iterable of XSdata + xsdatas : Iterable of openmc.XSdata Iterable of multi-Group cross section data objects """ @@ -615,7 +693,7 @@ class MGXSLibraryFile(object): Parameters ---------- - xsdata : XSdata + xsdata : openmc.XSdata MGXS information to add """ @@ -638,7 +716,7 @@ class MGXSLibraryFile(object): Parameters ---------- - xsdatas : tuple or list of XSdata + xsdatas : tuple or list of openmc.XSdata XSdatas to add """ @@ -656,7 +734,7 @@ class MGXSLibraryFile(object): Parameters ---------- - xsdata : XSdata + xsdata : openmc.XSdata XSdata to remove """ @@ -717,6 +795,3 @@ class MGXSLibraryFile(object): tree = ET.ElementTree(self._cross_sections_file) tree.write(filename, xml_declaration=True, encoding='utf-8', method="xml") - - - diff --git a/openmc/opencg_compatible.py b/openmc/opencg_compatible.py index 0bda48c160..d690c2c6a9 100644 --- a/openmc/opencg_compatible.py +++ b/openmc/opencg_compatible.py @@ -11,6 +11,7 @@ except ImportError: import openmc from openmc.region import Intersection from openmc.surface import Halfspace +import openmc.checkvalue as cv # A dictionary of all OpenMC Materials created @@ -79,10 +80,7 @@ def get_opencg_material(openmc_material): """ - if not isinstance(openmc_material, openmc.Material): - msg = 'Unable to create an OpenCG Material from "{0}" ' \ - 'which is not an OpenMC Material'.format(openmc_material) - raise ValueError(msg) + cv.check_type('openmc_material', openmc_material, openmc.Material) global OPENCG_MATERIALS material_id = openmc_material.id @@ -119,10 +117,7 @@ def get_openmc_material(opencg_material): """ - if not isinstance(opencg_material, opencg.Material): - msg = 'Unable to create an OpenMC Material from "{0}" ' \ - 'which is not an OpenCG Material'.format(opencg_material) - raise ValueError(msg) + cv.check_type('opencg_material', opencg_material, opencg.Material) global OPENMC_MATERIALS material_id = opencg_material.id @@ -165,10 +160,7 @@ def is_opencg_surface_compatible(opencg_surface): """ - if not isinstance(opencg_surface, opencg.Surface): - msg = 'Unable to check if OpenCG Surface is compatible' \ - 'since "{0}" is not a Surface'.format(opencg_surface) - raise ValueError(msg) + cv.check_type('opencg_surface', opencg_surface, opencg.Surface) if opencg_surface.type in ['x-squareprism', 'y-squareprism', 'z-squareprism']: @@ -192,10 +184,7 @@ def get_opencg_surface(openmc_surface): """ - if not isinstance(openmc_surface, openmc.Surface): - msg = 'Unable to create an OpenCG Surface from "{0}" ' \ - 'which is not an OpenMC Surface'.format(openmc_surface) - raise ValueError(msg) + cv.check_type('openmc_surface', openmc_surface, openmc.Surface) global OPENCG_SURFACES surface_id = openmc_surface.id @@ -278,10 +267,7 @@ def get_openmc_surface(opencg_surface): """ - if not isinstance(opencg_surface, opencg.Surface): - msg = 'Unable to create an OpenMC Surface from "{0}" which ' \ - 'is not an OpenCG Surface'.format(opencg_surface) - raise ValueError(msg) + cv.check_type('opencg_surface', opencg_surface, opencg.Surface) global openmc_surface surface_id = opencg_surface.id @@ -369,10 +355,7 @@ def get_compatible_opencg_surfaces(opencg_surface): """ - if not isinstance(opencg_surface, opencg.Surface): - msg = 'Unable to create an OpenMC Surface from "{0}" which ' \ - 'is not an OpenCG Surface'.format(opencg_surface) - raise ValueError(msg) + cv.check_type('opencg_surface', opencg_surface, opencg.Surface) global OPENMC_SURFACES surface_id = opencg_surface.id @@ -451,10 +434,7 @@ def get_opencg_cell(openmc_cell): """ - if not isinstance(openmc_cell, openmc.Cell): - msg = 'Unable to create an OpenCG Cell from "{0}" which ' \ - 'is not an OpenMC Cell'.format(openmc_cell) - raise ValueError(msg) + cv.check_type('openmc_cell', openmc_cell, openmc.Cell) global OPENCG_CELLS cell_id = openmc_cell.id @@ -469,9 +449,9 @@ def get_opencg_cell(openmc_cell): fill = openmc_cell.fill - if (openmc_cell.fill_type == 'material'): + if openmc_cell.fill_type == 'material': opencg_cell.fill = get_opencg_material(fill) - elif (openmc_cell.fill_type == 'universe'): + elif openmc_cell.fill_type == 'universe': opencg_cell.fill = get_opencg_universe(fill) else: opencg_cell.fill = get_opencg_lattice(fill) @@ -533,20 +513,10 @@ def get_compatible_opencg_cells(opencg_cell, opencg_surface, halfspace): OpenMC """ - if not isinstance(opencg_cell, opencg.Cell): - msg = 'Unable to create compatible OpenMC Cell from "{0}" which ' \ - 'is not an OpenCG Cell'.format(opencg_cell) - raise ValueError(msg) - elif not isinstance(opencg_surface, opencg.Surface): - msg = 'Unable to create compatible OpenMC Cell since "{0}" is ' \ - 'not an OpenCG Surface'.format(opencg_surface) - raise ValueError(msg) - - elif halfspace not in [-1, +1]: - msg = 'Unable to create compatible Cell since "{0}"' \ - 'is not a +/-1 halfspace'.format(halfspace) - raise ValueError(msg) + cv.check_type('opencg_cell', opencg_cell, opencg.Cell) + cv.check_type('opencg_surface', opencg_surface, opencg.Surface) + cv.check_value('halfspace', halfspace, (-1, +1)) # Initialize an empty list for the new compatible cells compatible_cells = [] @@ -575,7 +545,7 @@ def get_compatible_opencg_cells(opencg_cell, opencg_surface, halfspace): num_clones = 8 for clone_id in range(num_clones): - # Create a cloned OpenCG Cell with Surfaces compatible with OpenMC + # Create cloned OpenCG Cell with Surfaces compatible with OpenMC clone = opencg_cell.clone() compatible_cells.append(clone) @@ -641,10 +611,7 @@ def make_opencg_cells_compatible(opencg_universe): """ - if not isinstance(opencg_universe, opencg.Universe): - msg = 'Unable to make compatible OpenCG Cells for "{0}" which ' \ - 'is not an OpenCG Universe'.format(opencg_universe) - raise ValueError(msg) + cv.check_type('opencg_universe', opencg_universe, opencg.Universe) # Check all OpenCG Cells in this Universe for compatibility with OpenMC opencg_cells = opencg_universe.cells @@ -700,10 +667,7 @@ def get_openmc_cell(opencg_cell): """ - if not isinstance(opencg_cell, opencg.Cell): - msg = 'Unable to create an OpenMC Cell from "{0}" which ' \ - 'is not an OpenCG Cell'.format(opencg_cell) - raise ValueError(msg) + cv.check_type('opencg_cell', opencg_cell, opencg.Cell) global OPENMC_CELLS cell_id = opencg_cell.id @@ -718,9 +682,9 @@ def get_openmc_cell(opencg_cell): fill = opencg_cell.fill - if (opencg_cell.type == 'universe'): + if opencg_cell.type == 'universe': openmc_cell.fill = get_openmc_universe(fill) - elif (opencg_cell.type == 'lattice'): + elif opencg_cell.type == 'lattice': openmc_cell.fill = get_openmc_lattice(fill) else: openmc_cell.fill = get_openmc_material(fill) @@ -764,10 +728,7 @@ def get_opencg_universe(openmc_universe): """ - if not isinstance(openmc_universe, openmc.Universe): - msg = 'Unable to create an OpenCG Universe from "{0}" which ' \ - 'is not an OpenMC Universe'.format(openmc_universe) - raise ValueError(msg) + cv.check_type('openmc_universe', openmc_universe, openmc.Universe) global OPENCG_UNIVERSES universe_id = openmc_universe.id @@ -811,10 +772,7 @@ def get_openmc_universe(opencg_universe): """ - if not isinstance(opencg_universe, opencg.Universe): - msg = 'Unable to create an OpenMC Universe from "{0}" which ' \ - 'is not an OpenCG Universe'.format(opencg_universe) - raise ValueError(msg) + cv.check_type('opencg_universe', opencg_universe, opencg.Universe) global OPENMC_UNIVERSES universe_id = opencg_universe.id @@ -861,10 +819,7 @@ def get_opencg_lattice(openmc_lattice): """ - if not isinstance(openmc_lattice, openmc.Lattice): - msg = 'Unable to create an OpenCG Lattice from "{0}" which ' \ - 'is not an OpenMC Lattice'.format(openmc_lattice) - raise ValueError(msg) + cv.check_type('openmc_lattice', openmc_lattice, openmc.Lattice) global OPENCG_LATTICES lattice_id = openmc_lattice.id @@ -958,10 +913,7 @@ def get_openmc_lattice(opencg_lattice): """ - if not isinstance(opencg_lattice, opencg.Lattice): - msg = 'Unable to create an OpenMC Lattice from "{0}" which ' \ - 'is not an OpenCG Lattice'.format(opencg_lattice) - raise ValueError(msg) + cv.check_type('opencg_lattice', opencg_lattice, opencg.Lattice) global OPENMC_LATTICES lattice_id = opencg_lattice.id @@ -1032,10 +984,7 @@ def get_opencg_geometry(openmc_geometry): """ - if not isinstance(openmc_geometry, openmc.Geometry): - msg = 'Unable to get OpenCG geometry from "{0}" which is ' \ - 'not an OpenMC Geometry object'.format(openmc_geometry) - raise ValueError(msg) + cv.check_type('openmc_geometry', openmc_geometry, openmc.Geometry) # Clear dictionaries and auto-generated IDs OPENMC_SURFACES.clear() @@ -1053,6 +1002,7 @@ def get_opencg_geometry(openmc_geometry): opencg_geometry = opencg.Geometry() opencg_geometry.root_universe = opencg_root_universe opencg_geometry.initialize_cell_offsets() + opencg_geometry.assign_auto_ids() return opencg_geometry @@ -1072,10 +1022,7 @@ def get_openmc_geometry(opencg_geometry): """ - if not isinstance(opencg_geometry, opencg.Geometry): - msg = 'Unable to get OpenMC geometry from "{0}" which is ' \ - 'not an OpenCG Geometry object'.format(opencg_geometry) - raise ValueError(msg) + cv.check_type('opencg_geometry', opencg_geometry, opencg.Geometry) # Deep copy the goemetry since it may be modified to make all Surfaces # compatible with OpenMC's specifications diff --git a/openmc/plots.py b/openmc/plots.py index 636ca225cb..6e78995f4d 100644 --- a/openmc/plots.py +++ b/openmc/plots.py @@ -275,7 +275,7 @@ class Plot(object): The random number seed used to generate the color scheme """ - + cv.check_type('geometry', geometry, openmc.Geometry) cv.check_type('seed', seed, Integral) cv.check_greater_than('seed', seed, 1, equality=True) @@ -417,7 +417,7 @@ class PlotsFile(object): Parameters ---------- - plot : Plot + plot : openmc.Plot Plot to add """ @@ -433,7 +433,7 @@ class PlotsFile(object): Parameters ---------- - plot : Plot + plot : openmc.Plot Plot to remove """ diff --git a/openmc/region.py b/openmc/region.py index 7589184aa5..a2edbeedd6 100644 --- a/openmc/region.py +++ b/openmc/region.py @@ -9,10 +9,11 @@ from openmc.checkvalue import check_type class Region(object): """Region of space that can be assigned to a cell. - Region is an abstract base class that is inherited by Halfspace, - Intersection, Union, and Complement. Each of those respective classes are - typically not instantiated directly but rather are created through operators - of the Surface and Region classes. + Region is an abstract base class that is inherited by + :class:`openmc.Halfspace`, :class:`openmc.Intersection`, + :class:`openmc.Union`, and :class:`openmc.Complement`. Each of those + respective classes are typically not instantiated directly but rather are + created through operators of the Surface and Region classes. """ @@ -201,11 +202,11 @@ class Intersection(Region): """Intersection of two or more regions. Instances of Intersection are generally created via the __and__ operator - applied to two instances of Region. This is illustrated in the following - example: + applied to two instances of :class:`openmc.Region`. This is illustrated in + the following example: - >>> equator = openmc.surface.ZPlane(z0=0.0) - >>> earth = openmc.surface.Sphere(R=637.1e6) + >>> equator = openmc.ZPlane(z0=0.0) + >>> earth = openmc.Sphere(R=637.1e6) >>> northern_hemisphere = -earth & +equator >>> southern_hemisphere = -earth & -equator >>> type(northern_hemisphere) @@ -213,12 +214,12 @@ class Intersection(Region): Parameters ---------- - *nodes + \*nodes Regions to take the intersection of Attributes ---------- - nodes : tuple of Region + nodes : tuple of openmc.Region Regions to take the intersection of bounding_box : tuple of numpy.array Lower-left and upper-right coordinates of an axis-aligned bounding box @@ -255,21 +256,22 @@ class Union(Region): """Union of two or more regions. Instances of Union are generally created via the __or__ operator applied to - two instances of Region. This is illustrated in the following example: + two instances of :class:`openmc.Region`. This is illustrated in the + following example: - >>> s1 = openmc.surface.ZPlane(z0=0.0) - >>> s2 = openmc.surface.Sphere(R=637.1e6) + >>> s1 = openmc.ZPlane(z0=0.0) + >>> s2 = openmc.Sphere(R=637.1e6) >>> type(-s2 | +s1) Parameters ---------- - *nodes + \*nodes Regions to take the union of Attributes ---------- - nodes : tuple of Region + nodes : tuple of openmc.Region Regions to take the union of bounding_box : tuple of numpy.array Lower-left and upper-right coordinates of an axis-aligned bounding box @@ -305,13 +307,13 @@ class Union(Region): class Complement(Region): """Complement of a region. - The Complement of an existing Region can be created by using the __invert__ - operator as the following example demonstrates: + The Complement of an existing :class:`openmc.Region` can be created by using + the __invert__ operator as the following example demonstrates: - >>> xl = openmc.surface.XPlane(x0=-10.0) - >>> xr = openmc.surface.XPlane(x0=10.0) - >>> yl = openmc.surface.YPlane(y0=-10.0) - >>> yr = openmc.surface.YPlane(y0=10.0) + >>> xl = openmc.XPlane(x0=-10.0) + >>> xr = openmc.XPlane(x0=10.0) + >>> yl = openmc.YPlane(y0=-10.0) + >>> yr = openmc.YPlane(y0=10.0) >>> inside_box = +xl & -xr & +yl & -yl >>> outside_box = ~inside_box >>> type(outside_box) @@ -319,12 +321,12 @@ class Complement(Region): Parameters ---------- - node : Region + node : openmc.Region Region to take the complement of Attributes ---------- - node : Region + node : openmc.Region Regions to take the complement of bounding_box : tuple of numpy.array Lower-left and upper-right coordinates of an axis-aligned bounding box diff --git a/openmc/settings.py b/openmc/settings.py index cb0207e71a..0be50bc563 100644 --- a/openmc/settings.py +++ b/openmc/settings.py @@ -9,6 +9,7 @@ import numpy as np from openmc.clean_xml import * from openmc.checkvalue import (check_type, check_length, check_value, check_greater_than, check_less_than) +from openmc import Nuclide from openmc.source import Source if sys.version_info[0] >= 3: @@ -37,7 +38,7 @@ class SettingsFile(object): type are 'variance', 'std_dev', and 'rel_err'. The threshold value should be a float indicating the variance, standard deviation, or relative error used. - source : Iterable of openmc.source.Source + source : Iterable of openmc.Source Distribution of source sites in space, angle, and energy output : dict Dictionary indicating what files to output. Valid keys are 'summary', @@ -125,6 +126,8 @@ class SettingsFile(object): Coordinates of the lower-left point of the UFS mesh ufs_upper_right : tuple or list Coordinates of the upper-right point of the UFS mesh + resonance_scattering : ResonanceScattering or iterable of ResonanceScattering + The elastic scattering model to use for resonant isotopes """ @@ -205,6 +208,8 @@ class SettingsFile(object): self._run_mode_subelement = None self._source_element = None + self._resonance_scattering = None + @property def run_mode(self): return self._run_mode @@ -393,9 +398,13 @@ class SettingsFile(object): def dd_count_interactions(self): return self._dd_count_interactions + @property + def resonance_scattering(self): + return self._resonance_scattering + @run_mode.setter def run_mode(self, run_mode): - if 'run_mode' not in ['eigenvalue', 'fixed source']: + if run_mode not in ['eigenvalue', 'fixed source']: msg = 'Unable to set run mode to "{0}". Only "eigenvalue" ' \ 'and "fixed source" are supported."'.format(run_mode) raise ValueError(msg) @@ -764,6 +773,16 @@ class SettingsFile(object): self._dd_count_interactions = interactions + @resonance_scattering.setter + def resonance_scattering(self, res): + if isinstance(res, Iterable): + check_type('resonance_scattering', res, Iterable, + ResonanceScattering) + self._resonance_scattering = res + else: + check_type('resonance_scattering', res, ResonanceScattering) + self._resonance_scattering = [res] + def _create_run_mode_subelement(self): if self.run_mode == 'eigenvalue': @@ -1043,6 +1062,17 @@ class SettingsFile(object): subelement = ET.SubElement(element, "count_interactions") subelement.text = str(self._dd_count_interactions).lower() + def _create_resonance_scattering_element(self): + if self.resonance_scattering is None: return + + element = ET.SubElement(self._settings_file, "resonance_scattering") + + for r in self.resonance_scattering: + if r.nuclide.name != r.nuclide_0K.name: + raise ValueError("The nuclide and nuclide_0K attributes of " + "a ResonantScattering object must have identical names.") + r.create_xml_subelement(element) + def export_to_xml(self): """Create a settings.xml file that can be used for a simulation. @@ -1079,6 +1109,7 @@ class SettingsFile(object): self._create_track_subelement() self._create_ufs_subelement() self._create_dd_subelement() + self._create_resonance_scattering_element() # Clean the indentation in the file to be user-readable clean_xml_indentation(self._settings_file) @@ -1087,3 +1118,104 @@ class SettingsFile(object): tree = ET.ElementTree(self._settings_file) tree.write("settings.xml", xml_declaration=True, encoding='utf-8', method="xml") + + +class ResonanceScattering(object): + """Specification of the elastic scattering model for resonant isotopes + + Attributes + ---------- + nuclide : openmc.Nuclide + The nuclide affected by this resonance scattering treatment. + nuclide_0K : openmc.Nuclide + This should be the same isotope as the nuclide attribute above, but it + should have an xs attribute that identifies 0 Kelvin data. + method : str + The method used to sample outgoing scattering energies. Valid options + are 'ARES', 'CXS' (constant cross section), 'DBRC' (Doppler broadening + rejection correction), and 'WCM' (weight correction method). + E_min : float + The minimum energy above which the specified method is applied. By + default, CXS will be used below E_min. + E_max : float + The maximum energy below which the specified method is applied. By + default, the asymptotic target-at-rest model is applied above E_max. + + """ + + def __init__(self): + self._nuclide = None + self._nuclide_0K = None + self._method = None + self._E_min = None + self._E_max = None + + @property + def nuclide(self): + return self._nuclide + + @property + def nuclide_0K(self): + return self._nuclide_0K + + @property + def method(self): + return self._method + + @property + def E_min(self): + return self._E_min + + @property + def E_max(self): + return self._E_max + + @nuclide.setter + def nuclide(self, nuc): + check_type('nuclide', nuc, Nuclide) + if nuc.zaid == None: raise ValueError("The nuclide must have an " + "explicitly defined zaid attribute.") + self._nuclide = nuc + + @nuclide_0K.setter + def nuclide_0K(self, nuc): + check_type('nuclide_0K', nuc, Nuclide) + if nuc.zaid == None: raise ValueError("The nuclide_0K must have an " + "explicitly defined zaid attribute.") + self._nuclide_0K = nuc + + @method.setter + def method(self, m): + check_value('method', m, ('ARES', 'CXS', 'DBRC', 'WCM')) + self._method = m + + @E_min.setter + def E_min(self, E): + check_type('E_min', E, Real) + check_greater_than('E_min', E, 0, True) + self._E_min = E + + @E_max.setter + def E_max(self, E): + check_type('E_max', E, Real) + check_greater_than('E_max', E, 0, True) + self._E_max = E + + def create_xml_subelement(self, xml_element): + scatterer = ET.SubElement(xml_element, "scatterer") + subelement = ET.SubElement(scatterer, 'nuclide') + subelement.text = self.nuclide.name + if self.method is not None: + subelement = ET.SubElement(scatterer, 'method') + subelement.text = self.method + subelement = ET.SubElement(scatterer, 'xs_label') + subelement.text = str(self.nuclide.zaid) + '.' + str(self.nuclide.xs) + subelement = ET.SubElement(scatterer, 'xs_label_0K') + subelement.text = str(self.nuclide_0K.zaid) + '.' \ + + str(self.nuclide_0K.xs) + if self.E_min is not None: + subelement = ET.SubElement(scatterer, 'E_min') + subelement.text = str(self.E_min) + if self.E_max is not None: + subelement = ET.SubElement(scatterer, 'E_max') + subelement.text = str(self.E_max) diff --git a/openmc/statepoint.py b/openmc/statepoint.py index 760c58ffb4..c2681ffa29 100644 --- a/openmc/statepoint.py +++ b/openmc/statepoint.py @@ -18,59 +18,62 @@ class StatePoint(object): ---------- cmfd_on : bool Indicate whether CMFD is active - cmfd_balance : ndarray + cmfd_balance : numpy.ndarray Residual neutron balance for each batch cmfd_dominance Dominance ratio for each batch - cmfd_entropy : ndarray + cmfd_entropy : numpy.ndarray Shannon entropy of CMFD fission source for each batch - cmfd_indices : ndarray + cmfd_indices : numpy.ndarray Number of CMFD mesh cells and energy groups. The first three indices correspond to the x-, y-, and z- spatial directions and the fourth index is the number of energy groups. - cmfd_srccmp : ndarray + cmfd_srccmp : numpy.ndarray Root-mean-square difference between OpenMC and CMFD fission source for each batch - cmfd_src : ndarray + cmfd_src : numpy.ndarray CMFD fission source distribution over all mesh cells and energy groups. - current_batch : Integral + current_batch : int Number of batches simulated date_and_time : str Date and time when simulation began - entropy : ndarray + entropy : numpy.ndarray Shannon entropy of fission source at each batch gen_per_batch : Integral Number of fission generations per batch - global_tallies : ndarray of compound datatype + global_tallies : numpy.ndarray of compound datatype Global tallies for k-effective estimates and leakage. The compound datatype has fields 'name', 'sum', 'sum_sq', 'mean', and 'std_dev'. k_combined : list Combined estimator for k-effective and its uncertainty - k_col_abs : Real + k_col_abs : float Cross-product of collision and absorption estimates of k-effective - k_col_tra : Real + k_col_tra : float Cross-product of collision and tracklength estimates of k-effective - k_abs_tra : Real + k_abs_tra : float Cross-product of absorption and tracklength estimates of k-effective - k_generation : ndarray + k_generation : numpy.ndarray Estimate of k-effective for each batch/generation meshes : dict Dictionary whose keys are mesh IDs and whose values are Mesh objects - n_batches : Integral + n_batches : int Number of batches - n_inactive : Integral + n_inactive : int Number of inactive batches - n_particles : Integral + n_particles : int Number of particles per generation - n_realizations : Integral + n_realizations : int Number of tally realizations path : str Working directory for simulation run_mode : str Simulation run mode, e.g. 'k-eigenvalue' - seed : Integral + runtime : dict + Dictionary whose keys are strings describing various runtime metrics + and whose values are time values in seconds. + seed : int Pseudorandom number generator seed - source : ndarray of compound datatype + source : numpy.ndarray of compound datatype Array of source sites. The compound datatype has fields 'wgt', 'xyz', 'uvw', and 'E' corresponding to the weight, position, direction, and energy of the source site. @@ -88,7 +91,7 @@ class StatePoint(object): TallyDerivative objects version: tuple of Integral Version of OpenMC - summary : None or openmc.summary.Summary + summary : None or openmc.Summary A summary object if the statepoint has been linked with a summary file """ @@ -104,8 +107,9 @@ class StatePoint(object): raise IOError('{} is not a statepoint file.'.format(filename)) except AttributeError: raise IOError('Could not read statepoint file. This most likely ' - 'means the statepoint file was produced by a different ' - 'version of OpenMC than the one you are using.') + 'means the statepoint file was produced by a ' + 'different version of OpenMC than the one you are ' + 'using.') if self._f['revision'].value != 15: raise IOError('Statepoint file has a file revision of {} ' 'which is not consistent with the revision this ' @@ -315,6 +319,11 @@ class StatePoint(object): def run_mode(self): return self._f['run_mode'].value.decode() + @property + def runtime(self): + return {name: dataset.value + for name, dataset in self._f['runtime'].items()} + @property def seed(self): return self._f['seed'].value @@ -399,7 +408,7 @@ class StatePoint(object): new_filter.mesh = self.meshes[key] # Add Filter to the Tally - tally.add_filter(new_filter) + tally.filters.append(new_filter) # Read Nuclide bins nuclide_names = \ @@ -408,7 +417,7 @@ class StatePoint(object): # Add all Nuclides to the Tally for name in nuclide_names: nuclide = openmc.Nuclide(name.decode().strip()) - tally.add_nuclide(nuclide) + tally.nuclides.append(nuclide) scores = self._f['{0}{1}/score_bins'.format( base, tally_key)].value @@ -435,7 +444,7 @@ class StatePoint(object): pattern = r'-n$|-pn$|-yn$' score = re.sub(pattern, '-' + moments[j].decode(), score) - tally.add_score(score) + tally.scores.append(score) # Add Tally to the global dictionary of all Tallies tally.sparse = self.sparse @@ -540,7 +549,7 @@ class StatePoint(object): Returns ------- - tally : Tally + tally : openmc.Tally A tally matching the specified criteria Raises @@ -637,7 +646,7 @@ class StatePoint(object): Parameters ---------- - summary : Summary + summary : openmc.Summary A Summary object. Raises @@ -654,11 +663,13 @@ class StatePoint(object): raise ValueError(msg) for tally_id, tally in self.tallies.items(): - # Get the Tally name from the summary file - tally.name = summary.tallies[tally_id].name + summary_tally = summary.tallies[tally_id] + tally.name = summary_tally.name tally.with_summary = True for tally_filter in tally.filters: + summary_filter = summary_tally.find_filter(tally_filter.type) + if tally_filter.type == 'surface': surface_ids = [] for bin in tally_filter.bins: @@ -671,6 +682,10 @@ class StatePoint(object): distribcell_ids.append(summary.cells[bin].id) tally_filter.bins = distribcell_ids + if tally_filter.type == 'distribcell': + tally_filter.distribcell_paths = \ + summary_filter.distribcell_paths + if tally_filter.type == 'universe': universe_ids = [] for bin in tally_filter.bins: diff --git a/openmc/stats/multivariate.py b/openmc/stats/multivariate.py index 29258ee8dd..4ce34a0712 100644 --- a/openmc/stats/multivariate.py +++ b/openmc/stats/multivariate.py @@ -22,12 +22,12 @@ class UnitSphere(object): Parameters ---------- - reference_uvw : Iterable of Real + reference_uvw : Iterable of float Direction from which polar angle is measured Attributes ---------- - reference_uvw : Iterable of Real + reference_uvw : Iterable of float Direction from which polar angle is measured """ @@ -62,19 +62,19 @@ class PolarAzimuthal(UnitSphere): Parameters ---------- - mu : Univariate + mu : openmc.stats.Univariate Distribution of the cosine of the polar angle - phi : Univariate + phi : openmc.stats.Univariate Distribution of the azimuthal angle in radians - reference_uvw : Iterable of Real + reference_uvw : Iterable of float Direction from which polar angle is measured. Defaults to the positive z-direction. Attributes ---------- - mu : Univariate + mu : openmc.stats.Univariate Distribution of the cosine of the polar angle - phi : Univariate + phi : openmc.stats.Univariate Distribution of the azimuthal angle in radians """ @@ -142,7 +142,7 @@ class Monodirectional(UnitSphere): Parameters ---------- - reference_uvw : Iterable of Real + reference_uvw : Iterable of float Direction from which polar angle is measured. Defaults to the positive x-direction. @@ -186,20 +186,20 @@ class CartesianIndependent(Spatial): Parameters ---------- - x : Univariate + x : openmc.stats.Univariate Distribution of x-coordinates - y : Univariate + y : openmc.stats.Univariate Distribution of y-coordinates - z : Univariate + z : openmc.stats.Univariate Distribution of z-coordinates Attributes ---------- - x : Univariate + x : openmc.stats.Univariate Distribution of x-coordinates - y : Univariate + y : openmc.stats.Univariate Distribution of y-coordinates - z : Univariate + z : openmc.stats.Univariate Distribution of z-coordinates """ @@ -252,9 +252,9 @@ class Box(Spatial): Parameters ---------- - lower_left : Iterable of Real + lower_left : Iterable of float Lower-left coordinates of cuboid - upper_right : Iterable of Real + upper_right : Iterable of float Upper-right coordinates of cuboid only_fissionable : bool, optional Whether spatial sites should only be accepted if they occur in @@ -262,9 +262,9 @@ class Box(Spatial): Attributes ---------- - lower_left : Iterable of Real + lower_left : Iterable of float Lower-left coordinates of cuboid - upper_right : Iterable of Real + upper_right : Iterable of float Upper-right coordinates of cuboid only_fissionable : bool, optional Whether spatial sites should only be accepted if they occur in @@ -328,12 +328,12 @@ class Point(Spatial): Parameters ---------- - xyz : Iterable of Real + xyz : Iterable of float Cartesian coordinates of location Attributes ---------- - xyz : Iterable of Real + xyz : Iterable of float Cartesian coordinates of location """ diff --git a/openmc/stats/univariate.py b/openmc/stats/univariate.py index 04e70bd004..0deeb600c4 100644 --- a/openmc/stats/univariate.py +++ b/openmc/stats/univariate.py @@ -37,16 +37,16 @@ class Discrete(Univariate): Parameters ---------- - x : Iterable of Real + x : Iterable of float Values of the random variable - p : Iterable of Real + p : Iterable of float Discrete probability for each value Attributes ---------- - x : Iterable of Real + x : Iterable of float Values of the random variable - p : Iterable of Real + p : Iterable of float Discrete probability for each value """ @@ -243,9 +243,9 @@ class Tabular(Univariate): Parameters ---------- - x : Iterable of Real + x : Iterable of float Tabulated values of the random variable - p : Iterable of Real + p : Iterable of float Tabulated probabilities interpolation : {'histogram', 'linear-linear'}, optional Indicate whether the density function is constant between tabulated @@ -253,9 +253,9 @@ class Tabular(Univariate): Attributes ---------- - x : Iterable of Real + x : Iterable of float Tabulated values of the random variable - p : Iterable of Real + p : Iterable of float Tabulated probabilities interpolation : {'histogram', 'linear-linear'}, optional Indicate whether the density function is constant between tabulated diff --git a/openmc/summary.py b/openmc/summary.py index 0d232fb079..9b1c451f39 100644 --- a/openmc/summary.py +++ b/openmc/summary.py @@ -542,7 +542,7 @@ class Summary(object): # If this is a moment, use generic moment order pattern = r'-n$|-pn$|-yn$' score = re.sub(pattern, '-' + moments[j].decode(), score) - tally.add_score(score) + tally.scores.append(score) # Read filter metadata num_filters = self._f['{0}/n_filters'.format(subbase)].value @@ -562,8 +562,14 @@ class Summary(object): new_filter = openmc.Filter(filter_type, bins) new_filter.num_bins = num_bins + # Read in distribcell paths + if filter_type == 'distribcell': + paths = self._f['{0}/paths'.format(subsubbase)][...] + paths = [str(path.decode()) for path in paths] + new_filter.distribcell_paths = paths + # Add Filter to the Tally - tally.add_filter(new_filter) + tally.filters.append(new_filter) # Add Tally to the global dictionary of all Tallies self.tallies[tally_id] = tally @@ -578,7 +584,7 @@ class Summary(object): Returns ------- - material : openmc.material.Material + material : openmc.Material Material with given id """ @@ -599,7 +605,7 @@ class Summary(object): Returns ------- - surface : openmc.surface.Surface + surface : openmc.Surface Surface with given id """ @@ -620,7 +626,7 @@ class Summary(object): Returns ------- - cell : openmc.universe.Cell + cell : openmc.Cell Cell with given id """ @@ -641,7 +647,7 @@ class Summary(object): Returns ------- - universe : openmc.universe.Universe + universe : openmc.Universe Universe with given id """ @@ -662,7 +668,7 @@ class Summary(object): Returns ------- - lattice : openmc.universe.Lattice + lattice : openmc.Lattice Lattice with given id """ diff --git a/openmc/surface.py b/openmc/surface.py index 8dc45209be..5c8b208564 100644 --- a/openmc/surface.py +++ b/openmc/surface.py @@ -153,10 +153,10 @@ class Surface(object): Returns ------- - numpy.array + numpy.ndarray Lower-left coordinates of the axis-aligned bounding box for the desired half-space - numpy.array + numpy.ndarray Upper-right coordinates of the axis-aligned bounding box for the desired half-space @@ -278,8 +278,7 @@ class Plane(Surface): class XPlane(Plane): - """A plane perpendicular to the x axis, i.e. a surface of the form :math:`x - - x_0 = 0` + """A plane perpendicular to the x axis of the form :math:`x - x_0 = 0` Parameters ---------- @@ -338,10 +337,10 @@ class XPlane(Plane): Returns ------- - numpy.array + numpy.ndarray Lower-left coordinates of the axis-aligned bounding box for the desired half-space - numpy.array + numpy.ndarray Upper-right coordinates of the axis-aligned bounding box for the desired half-space @@ -356,8 +355,7 @@ class XPlane(Plane): class YPlane(Plane): - """A plane perpendicular to the y axis, i.e. a surface of the form :math:`y - - y_0 = 0` + """A plane perpendicular to the y axis of the form :math:`y - y_0 = 0` Parameters ---------- @@ -416,10 +414,10 @@ class YPlane(Plane): Returns ------- - numpy.array + numpy.ndarray Lower-left coordinates of the axis-aligned bounding box for the desired half-space - numpy.array + numpy.ndarray Upper-right coordinates of the axis-aligned bounding box for the desired half-space @@ -434,8 +432,7 @@ class YPlane(Plane): class ZPlane(Plane): - """A plane perpendicular to the z axis, i.e. a surface of the form :math:`z - - z_0 = 0` + """A plane perpendicular to the z axis of the form :math:`z - z_0 = 0` Parameters ---------- @@ -494,10 +491,10 @@ class ZPlane(Plane): Returns ------- - numpy.array + numpy.ndarray Lower-left coordinates of the axis-aligned bounding box for the desired half-space - numpy.array + numpy.ndarray Upper-right coordinates of the axis-aligned bounding box for the desired half-space @@ -641,10 +638,10 @@ class XCylinder(Cylinder): Returns ------- - numpy.array + numpy.ndarray Lower-left coordinates of the axis-aligned bounding box for the desired half-space - numpy.array + numpy.ndarray Upper-right coordinates of the axis-aligned bounding box for the desired half-space @@ -740,10 +737,10 @@ class YCylinder(Cylinder): Returns ------- - numpy.array + numpy.ndarray Lower-left coordinates of the axis-aligned bounding box for the desired half-space - numpy.array + numpy.ndarray Upper-right coordinates of the axis-aligned bounding box for the desired half-space @@ -839,10 +836,10 @@ class ZCylinder(Cylinder): Returns ------- - numpy.array + numpy.ndarray Lower-left coordinates of the axis-aligned bounding box for the desired half-space - numpy.array + numpy.ndarray Upper-right coordinates of the axis-aligned bounding box for the desired half-space @@ -967,10 +964,10 @@ class Sphere(Surface): Returns ------- - numpy.array + numpy.ndarray Lower-left coordinates of the axis-aligned bounding box for the desired half-space - numpy.array + numpy.ndarray Upper-right coordinates of the axis-aligned bounding box for the desired half-space @@ -1383,7 +1380,7 @@ class Halfspace(Region): can be created from an existing Surface through the __neg__ and __pos__ operators, as the following example demonstrates: - >>> sphere = openmc.surface.Sphere(surface_id=1, R=10.0) + >>> sphere = openmc.Sphere(surface_id=1, R=10.0) >>> inside_sphere = -sphere >>> outside_sphere = +sphere >>> type(inside_sphere) @@ -1391,18 +1388,18 @@ class Halfspace(Region): Parameters ---------- - surface : Surface + surface : openmc.Surface Surface which divides Euclidean space. side : {'+', '-'} Indicates whether the positive or negative half-space is used. Attributes ---------- - surface : Surface + surface : openmc.Surface Surface which divides Euclidean space. side : {'+', '-'} Indicates whether the positive or negative half-space is used. - bounding_box : tuple of numpy.array + bounding_box : tuple of numpy.ndarray Lower-left and upper-right coordinates of an axis-aligned bounding box """ diff --git a/openmc/tallies.py b/openmc/tallies.py index 229b445e10..0ee83e2056 100644 --- a/openmc/tallies.py +++ b/openmc/tallies.py @@ -1,14 +1,15 @@ from __future__ import division -from collections import Iterable, defaultdict +from collections import Iterable, MutableSequence, defaultdict import copy from functools import partial import os import pickle import itertools from numbers import Integral, Real -from xml.etree import ElementTree as ET import sys +import warnings +from xml.etree import ElementTree as ET import numpy as np @@ -18,10 +19,10 @@ from openmc.filter import _FILTER_TYPES import openmc.checkvalue as cv from openmc.clean_xml import * - if sys.version_info[0] >= 3: basestring = str + # "Static" variable for auto-generated Tally IDs AUTO_TALLY_ID = 10000 @@ -32,6 +33,12 @@ AUTO_TALLY_ID = 10000 # specified axis. _PRODUCT_TYPES = ['tensor', 'entrywise'] +# The following indicate acceptable types when setting Tally.scores, +# Tally.nuclides, and Tally.filters +_SCORE_CLASSES = (basestring, CrossScore, AggregateScore) +_NUCLIDE_CLASSES = (basestring, Nuclide, CrossNuclide, AggregateNuclide) +_FILTER_CLASSES = (Filter, CrossFilter, AggregateFilter) + def reset_auto_tally_id(): global AUTO_TALLY_ID @@ -44,7 +51,7 @@ class Tally(object): Parameters ---------- - tally_id : Integral, optional + tally_id : int, optional Unique identifier for the tally. If none is specified, an identifier will automatically be assigned name : str, optional @@ -52,43 +59,43 @@ class Tally(object): Attributes ---------- - id : Integral + id : int Unique identifier for the tally name : str Name of the tally - filters : list of openmc.filter.Filter + filters : list of openmc.Filter List of specified filters for the tally - nuclides : list of openmc.nuclide.Nuclide + nuclides : list of openmc.Nuclide List of nuclides to score results for scores : list of str List of defined scores, e.g. 'flux', 'fission', etc. estimator : {'analog', 'tracklength', 'collision'} Type of estimator for the tally - triggers : list of openmc.trigger.Trigger + triggers : list of openmc.Trigger List of tally triggers - num_scores : Integral + num_scores : int Total number of scores, accounting for the fact that a single user-specified score, e.g. scatter-P3 or flux-Y2,2, might have multiple bins - num_filter_bins : Integral + num_filter_bins : int Total number of filter bins accounting for all filters - num_bins : Integral + num_bins : int Total number of bins for the tally - shape : 3-tuple of Integral - The shape of the tally data array ordered as the number of filter bins, + shape : 3-tuple of int + The shape of the tally data array ordered as the number of filter bins, nuclide bins and score bins - num_realizations : Integral + num_realizations : int Total number of realizations with_summary : bool Whether or not a Summary has been linked - sum : ndarray + sum : numpy.ndarray An array containing the sum of each independent realization for each bin - sum_sq : ndarray + sum_sq : numpy.ndarray An array containing the sum of each independent realization squared for each bin - mean : ndarray + mean : numpy.ndarray An array containing the sample mean for each bin - std_dev : ndarray + std_dev : numpy.ndarray An array containing the sample standard deviation for each bin derived : bool Whether or not the tally is derived from one or more other tallies @@ -104,12 +111,12 @@ class Tally(object): # Initialize Tally class attributes self.id = tally_id self.name = name - self._filters = [] - self._nuclides = [] - self._scores = [] + self._filters = cv.CheckedList(_FILTER_CLASSES, 'tally filters') + self._nuclides = cv.CheckedList(_NUCLIDE_CLASSES, 'tally nuclides') + self._scores = cv.CheckedList(_SCORE_CLASSES, 'tally scores') self._estimator = None - self._triggers = [] self._derivative = None + self._triggers = cv.CheckedList(Trigger, 'tally triggers') self._num_realizations = 0 self._with_summary = False @@ -149,19 +156,19 @@ class Tally(object): clone._filters = [] for self_filter in self.filters: - clone.add_filter(copy.deepcopy(self_filter, memo)) + clone.filters.append(copy.deepcopy(self_filter, memo)) clone._nuclides = [] for nuclide in self.nuclides: - clone.add_nuclide(copy.deepcopy(nuclide, memo)) + clone.nuclides.append(copy.deepcopy(nuclide, memo)) clone._scores = [] for score in self.scores: - clone.add_score(score) + clone.scores.append(score) clone._triggers = [] for trigger in self.triggers: - clone.add_trigger(trigger) + clone.triggers.append(trigger) memo[id(self)] = clone @@ -439,23 +446,30 @@ class Tally(object): ['analog', 'tracklength', 'collision']) self._estimator = estimator + @triggers.setter + def triggers(self, triggers): + cv.check_type('tally triggers', triggers, MutableSequence) + self._triggers = cv.CheckedList(Trigger, 'tally triggers', triggers) + def add_trigger(self, trigger): """Add a tally trigger to the tally + .. deprecated:: 0.8 + Use the Tally.triggers property directly, i.e., + Tally.triggers.append(...) + Parameters ---------- - trigger : openmc.trigger.Trigger + trigger : openmc.Trigger Trigger to add """ - if not isinstance(trigger, Trigger): - msg = 'Unable to add a tally trigger for Tally ID="{0}" to ' \ - 'since "{1}" is not a Trigger'.format(self.id, trigger) - raise ValueError(msg) - - if trigger not in self.triggers: - self.triggers.append(trigger) + warnings.warn('Tally.add_trigger(...) has been deprecated and may be ' + 'removed in a future version. Tally triggers should be ' + 'defined using the triggers property directly.', + DeprecationWarning) + self.triggers.append(trigger) @id.setter def id(self, tally_id): @@ -482,9 +496,60 @@ class Tally(object): cv.check_type('tally derivative', deriv, TallyDerivative) self._derivative = deriv + @filters.setter + def filters(self, filters): + cv.check_type('tally filters', filters, MutableSequence) + + # If the filter is already in the Tally, raise an error + for i, f in enumerate(filters[:-1]): + if f in filters[i+1:]: + msg = 'Unable to add a duplicate filter "{0}" to Tally ID="{1}" ' \ + 'since duplicate filters are not supported in the OpenMC ' \ + 'Python API'.format(f, self.id) + raise ValueError(msg) + + self._filters = cv.CheckedList(_FILTER_CLASSES, 'tally filters', filters) + + @nuclides.setter + def nuclides(self, nuclides): + cv.check_type('tally nuclides', nuclides, MutableSequence) + + # If the nuclide is already in the Tally, raise an error + for i, nuclide in enumerate(nuclides[:-1]): + if nuclide in nuclides[i+1:]: + msg = 'Unable to add a duplicate nuclide "{0}" to Tally ID="{1}" ' \ + 'since duplicate nuclides are not supported in the OpenMC ' \ + 'Python API'.format(nuclide, self.id) + raise ValueError(msg) + + self._nuclides = cv.CheckedList(_NUCLIDE_CLASSES, 'tally nuclides', + nuclides) + + @scores.setter + def scores(self, scores): + cv.check_type('tally scores', scores, MutableSequence) + + for i, score in enumerate(scores[:-1]): + # If the score is already in the Tally, raise an error + if score in scores[i+1:]: + msg = 'Unable to add a duplicate score "{0}" to Tally ID="{1}" ' \ + 'since duplicate scores are not supported in the OpenMC ' \ + 'Python API'.format(score, self.id) + raise ValueError(msg) + + # If score is a string, strip whitespace + if isinstance(score, basestring): + scores[i] = score.strip() + + self._scores = cv.CheckedList(_SCORE_CLASSES, 'tally scores', scores) + def add_filter(self, new_filter): """Add a filter to the tally + .. deprecated:: 0.8 + Use the Tally.filters property directly, i.e., + Tally.filters.append(...) + Parameters ---------- new_filter : Filter, CrossFilter or AggregateFilter @@ -497,23 +562,19 @@ class Tally(object): """ - if not isinstance(new_filter, (Filter, CrossFilter, AggregateFilter)): - msg = 'Unable to add Filter "{0}" to Tally ID="{1}" since it is ' \ - 'not a Filter object'.format(new_filter, self.id) - raise ValueError(msg) - - # If the filter is already in the Tally, raise an error - if new_filter in self.filters: - msg = 'Unable to add a duplicate filter "{0}" to Tally ID="{1}" ' \ - 'since duplicate filters are not supported in the OpenMC ' \ - 'Python API'.format(new_filter, self.id) - raise ValueError(msg) - - self._filters.append(new_filter) + warnings.warn('Tally.add_filter(...) has been deprecated and may be ' + 'removed in a future version. Tally filters should be ' + 'defined using the filters property directly.', + DeprecationWarning) + self.filters.append(new_filter) def add_nuclide(self, nuclide): """Specify that scores for a particular nuclide should be accumulated + .. deprecated:: 0.8 + Use the Tally.nuclides property directly, i.e., + Tally.nuclides.append(...) + Parameters ---------- nuclide : str, Nuclide, CrossNuclide or AggregateNuclide @@ -526,24 +587,19 @@ class Tally(object): """ - if not isinstance(nuclide, (basestring, Nuclide, - CrossNuclide, AggregateNuclide)): - msg = 'Unable to add nuclide "{0}" to Tally ID="{1}" since it is ' \ - 'not a Nuclide object'.format(nuclide) - raise ValueError(msg) - - # If the nuclide is already in the Tally, raise an error - if nuclide in self.nuclides: - msg = 'Unable to add a duplicate nuclide "{0}" to Tally ID="{1}" ' \ - 'since duplicate nuclides are not supported in the OpenMC ' \ - 'Python API'.format(nuclide, self.id) - raise ValueError(msg) - - self._nuclides.append(nuclide) + warnings.warn('Tally.add_nuclide(...) has been deprecated and may be ' + 'removed in a future version. Tally nuclides should be ' + 'defined using the nuclides property directly.', + DeprecationWarning) + self.nuclides.append(nuclide) def add_score(self, score): """Specify a quantity to be scored + .. deprecated:: 0.8 + Use the Tally.scores property directly, i.e., + Tally.scores.append(...) + Parameters ---------- score : str, CrossScore or AggregateScore @@ -555,24 +611,11 @@ class Tally(object): """ - if not isinstance(score, (basestring, CrossScore, AggregateScore)): - msg = 'Unable to add score "{0}" to Tally ID="{1}" since it is ' \ - 'not a string'.format(score, self.id) - raise ValueError(msg) - - # If the score is already in the Tally, raise an error - if score in self.scores: - msg = 'Unable to add a duplicate score "{0}" to Tally ID="{1}" ' \ - 'since duplicate scores are not supported in the OpenMC ' \ - 'Python API'.format(score, self.id) - raise ValueError(msg) - - # Normal score strings - if isinstance(score, basestring): - self._scores.append(score.strip()) - # CrossScores and AggrgateScore - else: - self._scores.append(score) + warnings.warn('Tally.add_score(...) has been deprecated and may be ' + 'removed in a future version. Tally scores should be ' + 'defined using the scores property directly.', + DeprecationWarning) + self.scores.append(score) @num_realizations.setter def num_realizations(self, num_realizations): @@ -667,7 +710,7 @@ class Tally(object): Parameters ---------- - old_filter : openmc.filter.Filter + old_filter : openmc.Filter Filter to remove """ @@ -684,7 +727,7 @@ class Tally(object): Parameters ---------- - nuclide : openmc.nuclide.Nuclide + nuclide : openmc.Nuclide Nuclide to remove """ @@ -706,7 +749,7 @@ class Tally(object): Parameters ---------- - other : Tally + other : openmc.Tally Tally to check for mergeable filters """ @@ -759,7 +802,7 @@ class Tally(object): Parameters ---------- - other : Tally + other : openmc.Tally Tally to check for mergeable nuclides """ @@ -796,7 +839,7 @@ class Tally(object): Parameters ---------- - other : Tally + other : openmc.Tally Tally to check for mergeable scores """ @@ -837,7 +880,7 @@ class Tally(object): Parameters ---------- - other : Tally + other : openmc.Tally Tally to check for merging """ @@ -882,12 +925,12 @@ class Tally(object): Parameters ---------- - other : Tally + other : openmc.Tally Tally to merge with this one Returns ------- - merged_tally : Tally + merged_tally : openmc.Tally Merged tallies """ @@ -939,7 +982,7 @@ class Tally(object): # Add unique nuclides from other tally to merged tally for nuclide in other.nuclides: if nuclide not in merged_tally.nuclides: - merged_tally.add_nuclide(nuclide) + merged_tally.nuclides.append(nuclide) # If two tallies can be merged along score bins if merge_scores and not equal_scores: @@ -949,11 +992,11 @@ class Tally(object): # Add unique scores from other tally to merged tally for score in other.scores: if score not in merged_tally.scores: - merged_tally.add_score(score) + merged_tally.scores.append(score) # Add triggers from other tally to merged tally for trigger in other.triggers: - merged_tally.add_trigger(trigger) + merged_tally.triggers.append(trigger) # If results have not been read, then return tally for input generation if self._results_read is None: @@ -1135,7 +1178,7 @@ class Tally(object): Returns ------- - filter_found : openmc.filter.Filter + filter_found : openmc.Filter Filter from this tally with matching type, or None if no matching Filter is found @@ -1169,7 +1212,7 @@ class Tally(object): ---------- filter_type : str The type of Filter (e.g., 'cell', 'energy', etc.) - filter_bin : Integral or tuple + filter_bin : int or tuple The bin is an integer ID for 'material', 'surface', 'cell', 'cellborn', and 'universe' Filters. The bin is an integer for the cell instance ID for 'distribcell' Filters. The bin is a 2-tuple of @@ -1295,7 +1338,7 @@ class Tally(object): Returns ------- - ndarray + numpy.ndarray A NumPy array of the filter indices """ @@ -1377,7 +1420,7 @@ class Tally(object): Returns ------- - ndarray + numpy.ndarray A NumPy array of the nuclide indices """ @@ -1411,7 +1454,7 @@ class Tally(object): Returns ------- - ndarray + numpy.ndarray A NumPy array of the score indices """ @@ -1473,7 +1516,7 @@ class Tally(object): Returns ------- - float or ndarray + float or numpy.ndarray A scalar or NumPy array of the Tally data indexed in the order each filter, nuclide and score is listed in the parameters. @@ -1544,13 +1587,13 @@ class Tally(object): Include columns with score bin information (default is True). derivative : bool Include columns with differential tally info (default is True). - summary : None or Summary + summary : None or openmc.Summary An optional Summary object to be used to construct columns for distribcell tally filters (default is None). The geometric information in the Summary object is embedded into a Multi-index column with a geometric "path" to each distribcell intance. NOTE: This option requires the OpenCG Python package. - float_format : string + float_format : str All floats in the DataFrame will be formatted using the given format string before printing. @@ -1678,8 +1721,8 @@ class Tally(object): The tally data in OpenMC is stored as a 3D array with the dimensions corresponding to filters, nuclides and scores. As a result, tally data - can be opaque for a user to directly index (i.e., without use of the - Tally.get_values(...) method) since one must know how to properly use + can be opaque for a user to directly index (i.e., without use of + :meth:`openmc.Tally.get_values`) since one must know how to properly use the number of bins and strides for each filter to index into the first (filter) dimension. @@ -1699,7 +1742,7 @@ class Tally(object): Returns ------- - ndarray + numpy.ndarray The tally data array indexed by filters, nuclides and scores. """ @@ -1877,7 +1920,7 @@ class Tally(object): Parameters ---------- - other : Tally + other : openmc.Tally The tally on the right hand side of the hybrid product binary_op : {'+', '-', '*', '/', '^'} The binary operation in the hybrid product @@ -1899,7 +1942,7 @@ class Tally(object): Returns ------- - Tally + openmc.Tally A new Tally that is the hybrid product with this one. Raises @@ -2019,33 +2062,33 @@ class Tally(object): # Add filters to the new tally if filter_product == 'entrywise': for self_filter in self_copy.filters: - new_tally.add_filter(self_filter) + new_tally.filters.append(self_filter) else: all_filters = [self_copy.filters, other_copy.filters] for self_filter, other_filter in itertools.product(*all_filters): new_filter = CrossFilter(self_filter, other_filter, binary_op) - new_tally.add_filter(new_filter) + new_tally.filters.append(new_filter) # Add nuclides to the new tally if nuclide_product == 'entrywise': for self_nuclide in self_copy.nuclides: - new_tally.add_nuclide(self_nuclide) + new_tally.nuclides.append(self_nuclide) else: all_nuclides = [self_copy.nuclides, other_copy.nuclides] for self_nuclide, other_nuclide in itertools.product(*all_nuclides): new_nuclide = \ CrossNuclide(self_nuclide, other_nuclide, binary_op) - new_tally.add_nuclide(new_nuclide) + new_tally.nuclides.append(new_nuclide) # Add scores to the new tally if score_product == 'entrywise': for self_score in self_copy.scores: - new_tally.add_score(self_score) + new_tally.scores.append(self_score) else: all_scores = [self_copy.scores, other_copy.scores] for self_score, other_score in itertools.product(*all_scores): new_score = CrossScore(self_score, other_score, binary_op) - new_tally.add_score(new_score) + new_tally.scores.append(new_score) # Update the new tally's filter strides new_tally._update_filter_strides() @@ -2077,7 +2120,7 @@ class Tally(object): Parameters ---------- - other : Tally + other : openmc.Tally The tally to outer product with this tally filter_product : {'entrywise'} The type of product to be performed between filter data. Currently, @@ -2108,14 +2151,14 @@ class Tally(object): filter_copy = copy.deepcopy(other_filter) other._mean = np.repeat(other.mean, filter_copy.num_bins, axis=0) other._std_dev = np.repeat(other.std_dev, filter_copy.num_bins, axis=0) - other.add_filter(filter_copy) + other.filters.append(filter_copy) # Add filters present in other but not in self to self for self_filter in self_missing_filters: filter_copy = copy.deepcopy(self_filter) self._mean = np.repeat(self.mean, filter_copy.num_bins, axis=0) self._std_dev = np.repeat(self.std_dev, filter_copy.num_bins, axis=0) - self.add_filter(filter_copy) + self.filters.append(filter_copy) # Align other filters with self filters for i, self_filter in enumerate(self.filters): @@ -2138,7 +2181,7 @@ class Tally(object): np.tile(other.std_dev, (1, self.num_nuclides, 1)) # Add nuclides to each tally such that each tally contains the complete - # set of nuclides necessary to perform an entrywise product. New + # set of nuclides necessary to perform an entrywise product. New # nuclides added to a tally will have all their scores set to zero. else: @@ -2154,7 +2197,7 @@ class Tally(object): np.insert(other.mean, other.num_nuclides, 0, axis=1) other._std_dev = \ np.insert(other.std_dev, other.num_nuclides, 0, axis=1) - other.add_nuclide(nuclide) + other.nuclides.append(nuclide) # Add nuclides present in other but not in self to self for nuclide in self_missing_nuclides: @@ -2162,7 +2205,7 @@ class Tally(object): np.insert(self.mean, self.num_nuclides, 0, axis=1) self._std_dev = \ np.insert(self.std_dev, self.num_nuclides, 0, axis=1) - self.add_nuclide(nuclide) + self.nuclides.append(nuclide) # Align other nuclides with self nuclides for i, nuclide in enumerate(self.nuclides): @@ -2195,13 +2238,13 @@ class Tally(object): for score in other_missing_scores: other._mean = np.insert(other.mean, other.num_scores, 0, axis=2) other._std_dev = np.insert(other.std_dev, other.num_scores, 0, axis=2) - other.add_score(score) + other.scores.append(score) # Add scores present in other but not in self to self for score in self_missing_scores: self._mean = np.insert(self.mean, self.num_scores, 0, axis=2) self._std_dev = np.insert(self.std_dev, self.num_scores, 0, axis=2) - self.add_score(score) + self.scores.append(score) # Align other scores with self scores for i, score in enumerate(self.scores): @@ -2459,12 +2502,12 @@ class Tally(object): Parameters ---------- - other : Tally or Real + other : openmc.Tally or float The tally or scalar value to add to this tally Returns ------- - Tally + openmc.Tally A new derived tally which is the sum of this tally and the other tally or scalar value in the addition. @@ -2499,12 +2542,9 @@ class Tally(object): new_tally.with_summary = self.with_summary new_tally.num_realization = self.num_realizations - for self_filter in self.filters: - new_tally.add_filter(self_filter) - for nuclide in self.nuclides: - new_tally.add_nuclide(nuclide) - for score in self.scores: - new_tally.add_score(score) + new_tally.filters = copy.deepcopy(self.filters) + new_tally.nuclides = copy.deepcopy(self.nuclides) + new_tally.scores = copy.deepcopy(self.scores) # If this tally operand is sparse, sparsify the new tally new_tally.sparse = self.sparse @@ -2534,12 +2574,12 @@ class Tally(object): Parameters ---------- - other : Tally or Real + other : openmc.Tally or float The tally or scalar value to subtract from this tally Returns ------- - Tally + openmc.Tally A new derived tally which is the difference of this tally and the other tally or scalar value in the subtraction. @@ -2573,12 +2613,9 @@ class Tally(object): new_tally.with_summary = self.with_summary new_tally.num_realization = self.num_realizations - for self_filter in self.filters: - new_tally.add_filter(self_filter) - for nuclide in self.nuclides: - new_tally.add_nuclide(nuclide) - for score in self.scores: - new_tally.add_score(score) + new_tally.filters = copy.deepcopy(self.filters) + new_tally.nuclides = copy.deepcopy(self.nuclides) + new_tally.scores = copy.deepcopy(self.scores) # If this tally operand is sparse, sparsify the new tally new_tally.sparse = self.sparse @@ -2609,12 +2646,12 @@ class Tally(object): Parameters ---------- - other : Tally or Real + other : openmc.Tally or float The tally or scalar value to multiply with this tally Returns ------- - Tally + openmc.Tally A new derived tally which is the product of this tally and the other tally or scalar value in the multiplication. @@ -2648,12 +2685,9 @@ class Tally(object): new_tally.with_summary = self.with_summary new_tally.num_realization = self.num_realizations - for self_filter in self.filters: - new_tally.add_filter(self_filter) - for nuclide in self.nuclides: - new_tally.add_nuclide(nuclide) - for score in self.scores: - new_tally.add_score(score) + new_tally.filters = copy.deepcopy(self.filters) + new_tally.nuclides = copy.deepcopy(self.nuclides) + new_tally.scores = copy.deepcopy(self.scores) # If this tally operand is sparse, sparsify the new tally new_tally.sparse = self.sparse @@ -2684,12 +2718,12 @@ class Tally(object): Parameters ---------- - other : Tally or Real + other : openmc.Tally or float The tally or scalar value to divide this tally by Returns ------- - Tally + openmc.Tally A new derived tally which is the dividend of this tally and the other tally or scalar value in the division. @@ -2723,12 +2757,9 @@ class Tally(object): new_tally.with_summary = self.with_summary new_tally.num_realization = self.num_realizations - for self_filter in self.filters: - new_tally.add_filter(self_filter) - for nuclide in self.nuclides: - new_tally.add_nuclide(nuclide) - for score in self.scores: - new_tally.add_score(score) + new_tally.filters = copy.deepcopy(self.filters) + new_tally.nuclides = copy.deepcopy(self.nuclides) + new_tally.scores = copy.deepcopy(self.scores) # If this tally operand is sparse, sparsify the new tally new_tally.sparse = self.sparse @@ -2762,12 +2793,12 @@ class Tally(object): Parameters ---------- - power : Tally or Real + power : openmc.Tally or float The tally or scalar value exponent Returns ------- - Tally + openmc.Tally A new derived tally which is this tally raised to the power of the other tally or scalar value in the exponentiation. @@ -2802,12 +2833,9 @@ class Tally(object): new_tally.with_summary = self.with_summary new_tally.num_realization = self.num_realizations - for self_filter in self.filters: - new_tally.add_filter(self_filter) - for nuclide in self.nuclides: - new_tally.add_nuclide(nuclide) - for score in self.scores: - new_tally.add_score(score) + new_tally.filters = copy.deepcopy(self.filters) + new_tally.nuclides = copy.deepcopy(self.nuclides) + new_tally.scores = copy.deepcopy(self.scores) # If original tally was sparse, sparsify the exponentiated tally new_tally.sparse = self.sparse @@ -2826,12 +2854,12 @@ class Tally(object): Parameters ---------- - other : Integer or Real + other : float The scalar value to add to this tally Returns ------- - Tally + openmc.Tally A new derived tally of this tally added with the scalar value. """ @@ -2845,12 +2873,12 @@ class Tally(object): Parameters ---------- - other : Integer or Real + other : float The scalar value to subtract this tally from Returns ------- - Tally + openmc.Tally A new derived tally of this tally subtracted from the scalar value. """ @@ -2864,12 +2892,12 @@ class Tally(object): Parameters ---------- - other : Integer or Real + other : float The scalar value to multiply with this tally Returns ------- - Tally + openmc.Tally A new derived tally of this tally multiplied by the scalar value. """ @@ -2883,12 +2911,12 @@ class Tally(object): Parameters ---------- - other : Integer or Real + other : float The scalar value to divide by this tally Returns ------- - Tally + openmc.Tally A new derived tally of the scalar value divided by this tally. """ @@ -2900,7 +2928,7 @@ class Tally(object): Returns ------- - Tally + openmc.Tally A new derived tally which is the absolute value of this tally. """ @@ -2914,7 +2942,7 @@ class Tally(object): Returns ------- - Tally + openmc.Tally A new derived tally which is the negated value of this tally. """ @@ -2956,7 +2984,7 @@ class Tally(object): Returns ------- - Tally + openmc.Tally A new tally which encapsulates the subset of data requested in the order each filter, nuclide and score is listed in the parameters. @@ -3079,7 +3107,7 @@ class Tally(object): filter_type : str A filter type string (e.g., 'cell', 'energy') corresponding to the filter bins to sum across - filter_bins : Iterable of Integral or tuple + filter_bins : Iterable of int or tuple A list of the filter bins corresponding to the filter_type parameter Each bin in the list is the integer ID for 'material', 'surface', 'cell', 'cellborn', and 'universe' Filters. Each bin is an integer @@ -3097,7 +3125,7 @@ class Tally(object): Returns ------- - Tally + openmc.Tally A new tally which encapsulates the sum of data requested. """ @@ -3148,11 +3176,11 @@ class Tally(object): if not remove_filter: filter_sum = \ AggregateFilter(self_filter, [tuple(filter_bins)], 'sum') - tally_sum.add_filter(filter_sum) + tally_sum.filters.append(filter_sum) # Add a copy of each filter not summed across to the tally sum else: - tally_sum.add_filter(copy.deepcopy(self_filter)) + tally_sum.filters.append(copy.deepcopy(self_filter)) # Add a copy of this tally's filters to the tally sum else: @@ -3170,7 +3198,7 @@ class Tally(object): # Add AggregateNuclide to the tally sum nuclide_sum = AggregateNuclide(nuclides, 'sum') - tally_sum.add_nuclide(nuclide_sum) + tally_sum.nuclides.append(nuclide_sum) # Add a copy of this tally's nuclides to the tally sum else: @@ -3188,7 +3216,7 @@ class Tally(object): # Add AggregateScore to the tally sum score_sum = AggregateScore(scores, 'sum') - tally_sum.add_score(score_sum) + tally_sum.scores.append(score_sum) # Add a copy of this tally's scores to the tally sum else: @@ -3227,7 +3255,7 @@ class Tally(object): filter_type : str A filter type string (e.g., 'cell', 'energy') corresponding to the filter bins to average across - filter_bins : Iterable of Integral or tuple + filter_bins : Iterable of int or tuple A list of the filter bins corresponding to the filter_type parameter Each bin in the list is the integer ID for 'material', 'surface', 'cell', 'cellborn', and 'universe' Filters. Each bin is an integer @@ -3245,7 +3273,7 @@ class Tally(object): Returns ------- - Tally + openmc.Tally A new tally which encapsulates the average of data requested. """ @@ -3297,11 +3325,11 @@ class Tally(object): if not remove_filter: filter_sum = \ AggregateFilter(self_filter, [tuple(filter_bins)], 'avg') - tally_avg.add_filter(filter_sum) + tally_avg.filters.append(filter_sum) # Add a copy of each filter not averaged across to the tally avg else: - tally_avg.add_filter(copy.deepcopy(self_filter)) + tally_avg.filters.append(copy.deepcopy(self_filter)) # Add a copy of this tally's filters to the tally avg else: @@ -3320,7 +3348,7 @@ class Tally(object): # Add AggregateNuclide to the tally avg nuclide_avg = AggregateNuclide(nuclides, 'avg') - tally_avg.add_nuclide(nuclide_avg) + tally_avg.nuclides.append(nuclide_avg) # Add a copy of this tally's nuclides to the tally avg else: @@ -3339,7 +3367,7 @@ class Tally(object): # Add AggregateScore to the tally avg score_sum = AggregateScore(scores, 'avg') - tally_avg.add_score(score_sum) + tally_avg.scores.append(score_sum) # Add a copy of this tally's scores to the tally avg else: @@ -3378,7 +3406,7 @@ class Tally(object): Returns ------- - Tally + openmc.Tally A new derived Tally with data diagaonalized along the new filter. """ @@ -3392,7 +3420,7 @@ class Tally(object): # Add the new filter to a copy of this Tally new_tally = copy.deepcopy(self) - new_tally.add_filter(new_filter) + new_tally.filters.append(new_filter) # Determine "base" indices along the new "diagonal", and the factor # by which the "base" indices should be repeated to account for all @@ -3454,9 +3482,8 @@ class TalliesFile(object): Parameters ---------- - tally : Tally + tally : openmc.Tally Tally to add to file - merge : bool Indicate whether the tally should be merged with an existing tally, if possible. Defaults to False. @@ -3493,7 +3520,7 @@ class TalliesFile(object): Parameters ---------- - tally : Tally + tally : openmc.Tally Tally to remove """ @@ -3529,7 +3556,7 @@ class TalliesFile(object): Parameters ---------- - mesh : openmc.mesh.Mesh + mesh : openmc.Mesh Mesh to add to the file """ @@ -3545,7 +3572,7 @@ class TalliesFile(object): Parameters ---------- - mesh : openmc.mesh.Mesh + mesh : openmc.Mesh Mesh to remove from the file """ diff --git a/openmc/trigger.py b/openmc/trigger.py index bcac8c31c6..b8383bd271 100644 --- a/openmc/trigger.py +++ b/openmc/trigger.py @@ -1,8 +1,10 @@ from numbers import Real from xml.etree import ElementTree as ET import sys +import warnings +from collections import Iterable -from openmc.checkvalue import check_type, check_value +import openmc.checkvalue as cv if sys.version_info[0] >= 3: basestring = str @@ -46,9 +48,7 @@ class Trigger(object): clone._trigger_type = self._trigger_type clone._threshold = self._threshold - clone._scores = [] - for score in self._scores: - clone.add_score(score) + clone.scores = self.scores memo[id(self)] = clone @@ -88,15 +88,26 @@ class Trigger(object): @trigger_type.setter def trigger_type(self, trigger_type): - check_value('tally trigger type', trigger_type, + cv.check_value('tally trigger type', trigger_type, ['variance', 'std_dev', 'rel_err']) self._trigger_type = trigger_type @threshold.setter def threshold(self, threshold): - check_type('tally trigger threshold', threshold, Real) + cv.check_type('tally trigger threshold', threshold, Real) self._threshold = threshold + @scores.setter + def scores(self, scores): + cv.check_type('trigger scores', scores, Iterable, basestring) + + # Set scores making sure not to have duplicates + self._scores = [] + for score in scores: + if score not in self._scores: + self._scores.append(score) + + def add_score(self, score): """Add a score to the list of scores to be checked against the trigger. @@ -107,16 +118,11 @@ class Trigger(object): """ - if not isinstance(score, basestring): - msg = 'Unable to add score "{0}" to tally trigger since ' \ - 'it is not a string'.format(score) - raise ValueError(msg) - - # If the score is already in the Tally, don't add it again - if score in self._scores: - return - else: - self._scores.append(score) + warnings.warn('Trigger.add_score(...) has been deprecated and may be ' + 'removed in a future version. Tally trigger scores should ' + 'be defined using the scores property directly.', + DeprecationWarning) + self.scores.append(score) def get_trigger_xml(self, element): """Return XML representation of the trigger diff --git a/openmc/universe.py b/openmc/universe.py index 74c438615c..eb6d13233a 100644 --- a/openmc/universe.py +++ b/openmc/universe.py @@ -1,6 +1,5 @@ -import abc from collections import OrderedDict, Iterable -from numbers import Real, Integral +from numbers import Integral from xml.etree import ElementTree as ET import sys import warnings @@ -9,451 +8,15 @@ import numpy as np import openmc import openmc.checkvalue as cv -from openmc.surface import Halfspace -from openmc.region import Region, Intersection, Complement if sys.version_info[0] >= 3: basestring = str -# DeprecationWarning filter for the Cell.add_surface(...) method -warnings.simplefilter('always', DeprecationWarning) - -# A static variable for auto-generated Cell IDs -AUTO_CELL_ID = 10000 - # A dictionary for storing IDs of cell elements that have already been written, # used to optimize the writing process WRITTEN_IDS = {} - -def reset_auto_cell_id(): - global AUTO_CELL_ID - AUTO_CELL_ID = 10000 - - -class Cell(object): - """A region of space defined as the intersection of half-space created by - quadric surfaces. - - Parameters - ---------- - cell_id : int, optional - Unique identifier for the cell. If not specified, an identifier will - automatically be assigned. - name : str, optional - Name of the cell. If not specified, the name is the empty string. - - Attributes - ---------- - id : int - Unique identifier for the cell - name : str - Name of the cell - fill : Material or Universe or Lattice or 'void' or iterable of Material - Indicates what the region of space is filled with - region : openmc.region.Region - Region of space that is assigned to the cell. - rotation : ndarray - If the cell is filled with a universe, this array specifies the angles - in degrees about the x, y, and z axes that the filled universe should be - rotated. - translation : ndarray - If the cell is filled with a universe, this array specifies a vector - that is used to translate (shift) the universe. - offsets : ndarray - Array of offsets used for distributed cell searches - distribcell_index : int - Index of this cell in distribcell arrays - - """ - - def __init__(self, cell_id=None, name=''): - # Initialize Cell class attributes - self.id = cell_id - self.name = name - self._fill = None - self._type = None - self._region = None - self._rotation = None - self._translation = None - self._offsets = None - self._distribcell_index = None - - def __eq__(self, other): - if not isinstance(other, Cell): - return False - elif self.id != other.id: - return False - elif self.name != other.name: - return False - elif self.fill != other.fill: - return False - elif self.region != other.region: - return False - elif self.rotation != other.rotation: - return False - elif self.translation != other.translation: - return False - else: - return True - - def __ne__(self, other): - return not self == other - - def __hash__(self): - return hash(repr(self)) - - def __repr__(self): - string = 'Cell\n' - string += '{0: <16}{1}{2}\n'.format('\tID', '=\t', self._id) - string += '{0: <16}{1}{2}\n'.format('\tName', '=\t', self._name) - - if isinstance(self._fill, openmc.Material): - string += '{0: <16}{1}{2}\n'.format('\tMaterial', '=\t', - self._fill._id) - elif isinstance(self._fill, Iterable): - string += '{0: <16}{1}'.format('\tMaterial', '=\t') - string += '[' - string += ', '.join(['void' if m == 'void' else str(m.id) - for m in self.fill]) - string += ']\n' - elif isinstance(self._fill, (Universe, Lattice)): - string += '{0: <16}{1}{2}\n'.format('\tFill', '=\t', - self._fill._id) - else: - string += '{0: <16}{1}{2}\n'.format('\tFill', '=\t', self._fill) - - string += '{0: <16}{1}{2}\n'.format('\tRegion', '=\t', self._region) - - string += '{0: <16}{1}{2}\n'.format('\tRotation', '=\t', - self._rotation) - string += '{0: <16}{1}{2}\n'.format('\tTranslation', '=\t', - self._translation) - string += '{0: <16}{1}{2}\n'.format('\tOffset', '=\t', self._offsets) - string += '{0: <16}{1}{2}\n'.format('\tDistribcell index', '=\t', - self._distribcell_index) - - return string - - @property - def id(self): - return self._id - - @property - def name(self): - return self._name - - @property - def fill(self): - return self._fill - - @property - def fill_type(self): - if isinstance(self.fill, openmc.Material): - return 'material' - elif isinstance(self.fill, openmc.Universe): - return 'universe' - elif isinstance(self.fill, openmc.Lattice): - return 'lattice' - else: - return None - - @property - def region(self): - return self._region - - @property - def rotation(self): - return self._rotation - - @property - def translation(self): - return self._translation - - @property - def offsets(self): - return self._offsets - - @property - def distribcell_index(self): - return self._distribcell_index - - @id.setter - def id(self, cell_id): - if cell_id is None: - global AUTO_CELL_ID - self._id = AUTO_CELL_ID - AUTO_CELL_ID += 1 - else: - cv.check_type('cell ID', cell_id, Integral) - cv.check_greater_than('cell ID', cell_id, 0, equality=True) - self._id = cell_id - - @name.setter - def name(self, name): - if name is not None: - cv.check_type('cell name', name, basestring) - self._name = name - else: - self._name = '' - - @fill.setter - def fill(self, fill): - if isinstance(fill, basestring): - if fill.strip().lower() == 'void': - self._type = 'void' - else: - msg = 'Unable to set Cell ID="{0}" to use a non-Material or ' \ - 'Universe fill "{1}"'.format(self._id, fill) - raise ValueError(msg) - - elif isinstance(fill, openmc.Material): - self._type = 'normal' - - elif isinstance(fill, Iterable): - cv.check_type('cell.fill', fill, Iterable, - (openmc.Material, basestring)) - self._type = 'normal' - - elif isinstance(fill, Universe): - self._type = 'fill' - - elif isinstance(fill, Lattice): - self._type = 'lattice' - - else: - msg = 'Unable to set Cell ID="{0}" to use a non-Material or ' \ - 'Universe fill "{1}"'.format(self._id, fill) - raise ValueError(msg) - - self._fill = fill - - @rotation.setter - def rotation(self, rotation): - cv.check_type('cell rotation', rotation, Iterable, Real) - cv.check_length('cell rotation', rotation, 3) - self._rotation = rotation - - @translation.setter - def translation(self, translation): - cv.check_type('cell translation', translation, Iterable, Real) - cv.check_length('cell translation', translation, 3) - self._translation = translation - - @offsets.setter - def offsets(self, offsets): - cv.check_type('cell offsets', offsets, Iterable) - self._offsets = offsets - - @region.setter - def region(self, region): - cv.check_type('cell region', region, Region) - self._region = region - - @distribcell_index.setter - def distribcell_index(self, ind): - cv.check_type('distribcell index', ind, Integral) - self._distribcell_index = ind - - def add_surface(self, surface, halfspace): - """Add a half-space to the list of half-spaces whose intersection defines the - cell. - - Parameters - ---------- - surface : openmc.surface.Surface - Quadric surface dividing space - halfspace : {-1, 1} - Indicate whether the negative or positive half-space is to be used - - """ - - warnings.warn("Cell.add_surface(...) has been deprecated and may be " - "removed in a future version. The region for a Cell " - "should be defined using the region property directly.", - DeprecationWarning) - - if not isinstance(surface, openmc.Surface): - msg = 'Unable to add Surface "{0}" to Cell ID="{1}" since it is ' \ - 'not a Surface object'.format(surface, self._id) - raise ValueError(msg) - - if halfspace not in [-1, +1]: - msg = 'Unable to add Surface "{0}" to Cell ID="{1}" with halfspace ' \ - '"{2}" since it is not +/-1'.format(surface, self._id, halfspace) - raise ValueError(msg) - - # If no region has been assigned, simply use the half-space. Otherwise, - # take the intersection of the current region and the half-space - # specified - region = +surface if halfspace == 1 else -surface - if self.region is None: - self.region = region - else: - if isinstance(self.region, Intersection): - self.region.nodes.append(region) - else: - self.region = Intersection(self.region, region) - - def get_cell_instance(self, path, distribcell_index): - # Get the current element and remove it from the list - cell_id = path[0] - path = path[1:] - - # If the Cell is filled by a Material - if self._type == 'normal' or self._type == 'void': - offset = 0 - - # If the Cell is filled by a Universe - elif self._type == 'fill': - offset = self.offsets[distribcell_index-1] - offset += self.fill.get_cell_instance(path, distribcell_index) - - # If the Cell is filled by a Lattice - else: - offset = self.fill.get_cell_instance(path, distribcell_index) - - return offset - - def get_all_nuclides(self): - """Return all nuclides contained in the cell - - Returns - ------- - nuclides : dict - Dictionary whose keys are nuclide names and values are 2-tuples of - (nuclide, density) - - """ - - nuclides = OrderedDict() - - if self._type != 'void': - nuclides.update(self._fill.get_all_nuclides()) - - return nuclides - - def get_all_cells(self): - """Return all cells that are contained within this one if it is filled with a - universe or lattice - - Returns - ------- - cells : dict - Dictionary whose keys are cell IDs and values are Cell instances - - """ - - cells = OrderedDict() - - if self._type == 'fill' or self._type == 'lattice': - cells.update(self._fill.get_all_cells()) - - return cells - - def get_all_materials(self): - """Return all materials that are contained within the cell - - Returns - ------- - materials : dict - Dictionary whose keys are material IDs and values are Material instances - - """ - - materials = OrderedDict() - if self.fill_type == 'material': - materials[self.fill.id] = self.fill - - # Append all Cells in each Cell in the Universe to the dictionary - cells = self.get_all_cells() - for cell_id, cell in cells.items(): - materials.update(cell.get_all_materials()) - - return materials - - def get_all_universes(self): - """Return all universes that are contained within this one if any of - its cells are filled with a universe or lattice. - - Returns - ------- - universes : dict - Dictionary whose keys are universe IDs and values are Universe - instances - - """ - - universes = OrderedDict() - - if self._type == 'fill': - universes[self._fill._id] = self._fill - universes.update(self._fill.get_all_universes()) - elif self._type == 'lattice': - universes.update(self._fill.get_all_universes()) - - return universes - - def create_xml_subelement(self, xml_element): - element = ET.Element("cell") - element.set("id", str(self.id)) - - if len(self._name) > 0: - element.set("name", str(self.name)) - - if isinstance(self.fill, basestring): - element.set("material", "void") - - elif isinstance(self.fill, openmc.Material): - element.set("material", str(self.fill.id)) - - elif isinstance(self.fill, Iterable): - element.set("material", ' '.join([m if m == 'void' else str(m.id) - for m in self.fill])) - - elif isinstance(self.fill, (Universe, Lattice)): - element.set("fill", str(self.fill.id)) - self.fill.create_xml_subelement(xml_element) - - else: - element.set("fill", str(self.fill)) - self.fill.create_xml_subelement(xml_element) - - if self.region is not None: - # Set the region attribute with the region specification - element.set("region", str(self.region)) - - # Only surfaces that appear in a region are added to the geometry - # file, so the appropriate check is performed here. First we create - # a function which is called recursively to navigate through the CSG - # tree. When it reaches a leaf (a Halfspace), it creates a - # element for the corresponding surface if none has been created - # thus far. - def create_surface_elements(node, element): - if isinstance(node, Halfspace): - path = './surface[@id=\'{0}\']'.format(node.surface.id) - if xml_element.find(path) is None: - surface_subelement = node.surface.create_xml_subelement() - xml_element.append(surface_subelement) - elif isinstance(node, Complement): - create_surface_elements(node.node, element) - else: - for subnode in node.nodes: - create_surface_elements(subnode, element) - - # Call the recursive function from the top node - create_surface_elements(self.region, xml_element) - - if self.translation is not None: - element.set("translation", ' '.join(map(str, self.translation))) - - if self.rotation is not None: - element.set("rotation", ' '.join(map(str, self.rotation))) - - return element - - # A static variable for auto-generated Lattice (Universe) IDs AUTO_UNIVERSE_ID = 10000 @@ -480,8 +43,9 @@ class Universe(object): Unique identifier of the universe name : str Name of the universe - cells : dict - Dictionary whose keys are cell IDs and values are Cell instances + cells : collections.OrderedDict + Dictionary whose keys are cell IDs and values are :class:`Cell` + instances """ @@ -563,12 +127,12 @@ class Universe(object): Parameters ---------- - cell : Cell + cell : openmc.Cell Cell to add """ - if not isinstance(cell, Cell): + if not isinstance(cell, openmc.Cell): msg = 'Unable to add a Cell to Universe ID="{0}" since "{1}" is not ' \ 'a Cell'.format(self._id, cell) raise ValueError(msg) @@ -583,7 +147,7 @@ class Universe(object): Parameters ---------- - cells : array-like of Cell + cells : Iterable of openmc.Cell Cells to add """ @@ -601,12 +165,12 @@ class Universe(object): Parameters ---------- - cell : Cell + cell : openmc.Cell Cell to remove """ - if not isinstance(cell, Cell): + if not isinstance(cell, openmc.Cell): msg = 'Unable to remove a Cell from Universe ID="{0}" since "{1}" is ' \ 'not a Cell'.format(self._id, cell) raise ValueError(msg) @@ -621,11 +185,19 @@ class Universe(object): self._cells.clear() def get_cell_instance(self, path, distribcell_index): - # Get the current element and remove it from the list - path = path[1:] - # Get the Cell ID - cell_id = path[0] + # Pop off the root Universe ID from the path + next_index = path.index('-') + path = path[next_index+2:] + + # Extract the Cell ID from the path + if '-' in path: + next_index = path.index('-') + cell_id = int(path[:next_index]) + path = path[next_index+2:] + else: + cell_id = int(path) + path = '' # Make a recursive call to the Cell within this Universe offset = self.cells[cell_id].get_cell_instance(path, distribcell_index) @@ -638,7 +210,7 @@ class Universe(object): Returns ------- - nuclides : dict + nuclides : collections.OrderedDict Dictionary whose keys are nuclide names and values are 2-tuples of (nuclide, density) @@ -657,8 +229,9 @@ class Universe(object): Returns ------- - cells : dict - Dictionary whose keys are cell IDs and values are Cell instances + cells : collections.OrderedDict + Dictionary whose keys are cell IDs and values are :class:`Cell` + instances """ @@ -678,8 +251,9 @@ class Universe(object): Returns ------- - materials : dict - Dictionary whose keys are material IDs and values are Material instances + materials : Collections.OrderedDict + Dictionary whose keys are material IDs and values are + :class:`Material` instances """ @@ -697,9 +271,9 @@ class Universe(object): Returns ------- - universes : dict - Dictionary whose keys are universe IDs and values are Universe - instances + universes : collections.OrderedDict + Dictionary whose keys are universe IDs and values are + :class:`Universe` instances """ @@ -729,849 +303,3 @@ class Universe(object): # Append the Universe ID to the subelement and add to Element cell_subelement.set("universe", str(self._id)) xml_element.append(cell_subelement) - - -class Lattice(object): - """A repeating structure wherein each element is a universe. - - Parameters - ---------- - lattice_id : int, optional - Unique identifier for the lattice. If not specified, an identifier will - automatically be assigned. - name : str, optional - Name of the lattice. If not specified, the name is the empty string. - - Attributes - ---------- - id : int - Unique identifier for the lattice - name : str - Name of the lattice - pitch : float - Pitch of the lattice in cm - outer : int - The unique identifier of a universe to fill all space outside the - lattice - universes : ndarray of Universe - An array of universes filling each element of the lattice - - """ - - # This is an abstract class which cannot be instantiated - __metaclass__ = abc.ABCMeta - - def __init__(self, lattice_id=None, name=''): - # Initialize Lattice class attributes - self.id = lattice_id - self.name = name - self._pitch = None - self._outer = None - self._universes = None - - def __eq__(self, other): - if not isinstance(other, Lattice): - return False - elif self.id != other.id: - return False - elif self.name != other.name: - return False - elif self.pitch != other.pitch: - return False - elif self.outer != other.outer: - return False - elif self.universes != other.universes: - return False - else: - return True - - def __ne__(self, other): - return not self == other - - @property - def id(self): - return self._id - - @property - def name(self): - return self._name - - @property - def pitch(self): - return self._pitch - - @property - def outer(self): - return self._outer - - @property - def universes(self): - return self._universes - - @id.setter - def id(self, lattice_id): - if lattice_id is None: - global AUTO_UNIVERSE_ID - self._id = AUTO_UNIVERSE_ID - AUTO_UNIVERSE_ID += 1 - else: - cv.check_type('lattice ID', lattice_id, Integral) - cv.check_greater_than('lattice ID', lattice_id, 0, equality=True) - self._id = lattice_id - - @name.setter - def name(self, name): - if name is not None: - cv.check_type('lattice name', name, basestring) - self._name = name - else: - self._name = '' - - @outer.setter - def outer(self, outer): - cv.check_type('outer universe', outer, Universe) - self._outer = outer - - @universes.setter - def universes(self, universes): - cv.check_iterable_type('lattice universes', universes, Universe, - min_depth=2, max_depth=3) - self._universes = np.asarray(universes) - - def get_unique_universes(self): - """Determine all unique universes in the lattice - - Returns - ------- - universes : dict - Dictionary whose keys are universe IDs and values are Universe - instances - - """ - - univs = OrderedDict() - for k in range(len(self._universes)): - for j in range(len(self._universes[k])): - if isinstance(self._universes[k][j], Universe): - u = self._universes[k][j] - univs[u._id] = u - else: - for i in range(len(self._universes[k][j])): - u = self._universes[k][j][i] - assert isinstance(u, Universe) - univs[u._id] = u - - if self.outer is not None: - univs[self.outer._id] = self.outer - - return univs - - def get_all_nuclides(self): - """Return all nuclides contained in the lattice - - Returns - ------- - nuclides : dict - Dictionary whose keys are nuclide names and values are 2-tuples of - (nuclide, density) - - """ - - nuclides = OrderedDict() - - # Get all unique Universes contained in each of the lattice cells - unique_universes = self.get_unique_universes() - - # Append all Universes containing each cell to the dictionary - for universe_id, universe in unique_universes.items(): - nuclides.update(universe.get_all_nuclides()) - - return nuclides - - def get_all_cells(self): - """Return all cells that are contained within the lattice - - Returns - ------- - cells : dict - Dictionary whose keys are cell IDs and values are Cell instances - - """ - - cells = OrderedDict() - unique_universes = self.get_unique_universes() - - for universe_id, universe in unique_universes.items(): - cells.update(universe.get_all_cells()) - - return cells - - def get_all_materials(self): - """Return all materials that are contained within the lattice - - Returns - ------- - materials : dict - Dictionary whose keys are material IDs and values are Material instances - - """ - - materials = OrderedDict() - - # Append all Cells in each Cell in the Universe to the dictionary - cells = self.get_all_cells() - for cell_id, cell in cells.items(): - materials.update(cell.get_all_materials()) - - return materials - - def get_all_universes(self): - """Return all universes that are contained within the lattice - - Returns - ------- - universes : dict - Dictionary whose keys are universe IDs and values are Universe - instances - - """ - - # Initialize a dictionary of all Universes contained by the Lattice - # in each nested Universe level - all_universes = OrderedDict() - - # Get all unique Universes contained in each of the lattice cells - unique_universes = self.get_unique_universes() - - # Add the unique Universes filling each Lattice cell - all_universes.update(unique_universes) - - # Append all Universes containing each cell to the dictionary - for universe_id, universe in unique_universes.items(): - all_universes.update(universe.get_all_universes()) - - return all_universes - - -class RectLattice(Lattice): - """A lattice consisting of rectangular prisms. - - Parameters - ---------- - lattice_id : int, optional - Unique identifier for the lattice. If not specified, an identifier will - automatically be assigned. - name : str, optional - Name of the lattice. If not specified, the name is the empty string. - - Attributes - ---------- - id : int - Unique identifier for the lattice - name : str - Name of the lattice - dimension : array-like of int - An array of two or three integers representing the number of lattice - cells in the x- and y- (and z-) directions, respectively. - lower_left : array-like of float - The coordinates of the lower-left corner of the lattice. If the lattice - is two-dimensional, only the x- and y-coordinates are specified. - - """ - - def __init__(self, lattice_id=None, name=''): - super(RectLattice, self).__init__(lattice_id, name) - - # Initialize Lattice class attributes - self._dimension = None - self._lower_left = None - self._offsets = None - - def __eq__(self, other): - if not isinstance(other, RectLattice): - return False - elif not super(RectLattice, self).__eq__(other): - return False - elif self.dimension != other.dimension: - return False - elif self.lower_left != other.lower_left: - return False - else: - return True - - def __ne__(self, other): - return not self == other - - def __hash__(self): - return hash(repr(self)) - - def __repr__(self): - string = 'RectLattice\n' - string += '{0: <16}{1}{2}\n'.format('\tID', '=\t', self._id) - string += '{0: <16}{1}{2}\n'.format('\tName', '=\t', self._name) - string += '{0: <16}{1}{2}\n'.format('\tDimension', '=\t', - self._dimension) - string += '{0: <16}{1}{2}\n'.format('\tLower Left', '=\t', - self._lower_left) - string += '{0: <16}{1}{2}\n'.format('\tPitch', '=\t', self._pitch) - - if self._outer is not None: - string += '{0: <16}{1}{2}\n'.format('\tOuter', '=\t', - self._outer._id) - else: - string += '{0: <16}{1}{2}\n'.format('\tOuter', '=\t', - self._outer) - - string += '{0: <16}\n'.format('\tUniverses') - - # Lattice nested Universe IDs - column major for Fortran - for i, universe in enumerate(np.ravel(self._universes)): - string += '{0} '.format(universe._id) - - # Add a newline character every time we reach end of row of cells - if (i+1) % self._dimension[-1] == 0: - string += '\n' - - string = string.rstrip('\n') - - if self._offsets is not None: - string += '{0: <16}\n'.format('\tOffsets') - - # Lattice cell offsets - for i, offset in enumerate(np.ravel(self._offsets)): - string += '{0} '.format(offset) - - # Add a newline character when we reach end of row of cells - if (i+1) % self._dimension[-1] == 0: - string += '\n' - - string = string.rstrip('\n') - - return string - - @property - def dimension(self): - return self._dimension - - @property - def lower_left(self): - return self._lower_left - - @property - def offsets(self): - return self._offsets - - @dimension.setter - def dimension(self, dimension): - cv.check_type('lattice dimension', dimension, Iterable, Integral) - cv.check_length('lattice dimension', dimension, 2, 3) - for dim in dimension: - cv.check_greater_than('lattice dimension', dim, 0) - self._dimension = dimension - - @lower_left.setter - def lower_left(self, lower_left): - cv.check_type('lattice lower left corner', lower_left, Iterable, Real) - cv.check_length('lattice lower left corner', lower_left, 2, 3) - self._lower_left = lower_left - - @offsets.setter - def offsets(self, offsets): - cv.check_type('lattice offsets', offsets, Iterable) - self._offsets = offsets - - @Lattice.pitch.setter - def pitch(self, pitch): - cv.check_type('lattice pitch', pitch, Iterable, Real) - cv.check_length('lattice pitch', pitch, 2, 3) - for dim in pitch: - cv.check_greater_than('lattice pitch', dim, 0.0) - self._pitch = pitch - - def get_cell_instance(self, path, distribcell_index): - # Get the current element and remove it from the list - i = path[0] - path = path[1:] - - # For 2D Lattices - if len(self._dimension) == 2: - offset = self._offsets[i[3]-1, i[2]-1, i[1]-1, distribcell_index-1] - offset += self._universes[i[1]-1][i[2]-1].get_cell_instance(path, - distribcell_index) - - # For 3D Lattices - else: - offset = self._offsets[i[3]-1, i[2]-1, i[1]-1, distribcell_index-1] - offset += self._universes[i[3]-1][i[2]-1][i[1]-1].get_cell_instance( - path, distribcell_index) - - return offset - - def create_xml_subelement(self, xml_element): - - # Determine if XML element already contains subelement for this Lattice - path = './lattice[@id=\'{0}\']'.format(self._id) - test = xml_element.find(path) - - # If the element does contain the Lattice subelement, then return - if test is not None: - return - - lattice_subelement = ET.Element("lattice") - lattice_subelement.set("id", str(self._id)) - - if len(self._name) > 0: - lattice_subelement.set("name", str(self._name)) - - # Export the Lattice cell pitch - pitch = ET.SubElement(lattice_subelement, "pitch") - pitch.text = ' '.join(map(str, self._pitch)) - - # Export the Lattice outer Universe (if specified) - if self._outer is not None: - outer = ET.SubElement(lattice_subelement, "outer") - outer.text = '{0}'.format(self._outer._id) - self._outer.create_xml_subelement(xml_element) - - # Export Lattice cell dimensions - dimension = ET.SubElement(lattice_subelement, "dimension") - dimension.text = ' '.join(map(str, self._dimension)) - - # Export Lattice lower left - lower_left = ET.SubElement(lattice_subelement, "lower_left") - lower_left.text = ' '.join(map(str, self._lower_left)) - - # Export the Lattice nested Universe IDs - column major for Fortran - universe_ids = '\n' - - # 3D Lattices - if len(self._dimension) == 3: - for z in range(self._dimension[2]): - for y in range(self._dimension[1]): - for x in range(self._dimension[0]): - universe = self._universes[z][y][x] - - # Append Universe ID to the Lattice XML subelement - universe_ids += '{0} '.format(universe._id) - - # Create XML subelement for this Universe - universe.create_xml_subelement(xml_element) - - # Add newline character when we reach end of row of cells - universe_ids += '\n' - - # Add newline character when we reach end of row of cells - universe_ids += '\n' - - # 2D Lattices - else: - for y in range(self._dimension[1]): - for x in range(self._dimension[0]): - universe = self._universes[y][x] - - # Append Universe ID to Lattice XML subelement - universe_ids += '{0} '.format(universe._id) - - # Create XML subelement for this Universe - universe.create_xml_subelement(xml_element) - - # Add newline character when we reach end of row of cells - universe_ids += '\n' - - # Remove trailing newline character from Universe IDs string - universe_ids = universe_ids.rstrip('\n') - - universes = ET.SubElement(lattice_subelement, "universes") - universes.text = universe_ids - - # Append the XML subelement for this Lattice to the XML element - xml_element.append(lattice_subelement) - - -class HexLattice(Lattice): - """A lattice consisting of hexagonal prisms. - - Parameters - ---------- - lattice_id : int, optional - Unique identifier for the lattice. If not specified, an identifier will - automatically be assigned. - name : str, optional - Name of the lattice. If not specified, the name is the empty string. - - Attributes - ---------- - id : int - Unique identifier for the lattice - name : str - Name of the lattice - num_rings : int - Number of radial ring positions in the xy-plane - num_axial : int - Number of positions along the z-axis. - center : array-like of float - Coordinates of the center of the lattice. If the lattice does not have - axial sections then only the x- and y-coordinates are specified - - """ - - def __init__(self, lattice_id=None, name=''): - super(HexLattice, self).__init__(lattice_id, name) - - # Initialize Lattice class attributes - self._num_rings = None - self._num_axial = None - self._center = None - - def __eq__(self, other): - if not isinstance(other, HexLattice): - return False - elif not super(HexLattice, self).__eq__(other): - return False - elif self.num_rings != other.num_rings: - return False - elif self.num_axial != other.num_axial: - return False - elif self.center != other.center: - return False - else: - return True - - def __ne__(self, other): - return not self == other - - def __hash__(self): - return hash(repr(self)) - - def __repr__(self): - string = 'HexLattice\n' - string += '{0: <16}{1}{2}\n'.format('\tID', '=\t', self._id) - string += '{0: <16}{1}{2}\n'.format('\tName', '=\t', self._name) - string += '{0: <16}{1}{2}\n'.format('\t# Rings', '=\t', self._num_rings) - string += '{0: <16}{1}{2}\n'.format('\t# Axial', '=\t', self._num_axial) - string += '{0: <16}{1}{2}\n'.format('\tCenter', '=\t', - self._center) - string += '{0: <16}{1}{2}\n'.format('\tPitch', '=\t', self._pitch) - - if self._outer is not None: - string += '{0: <16}{1}{2}\n'.format('\tOuter', '=\t', - self._outer._id) - else: - string += '{0: <16}{1}{2}\n'.format('\tOuter', '=\t', - self._outer) - - string += '{0: <16}\n'.format('\tUniverses') - - if self._num_axial is not None: - slices = [self._repr_axial_slice(x) for x in self._universes] - string += '\n'.join(slices) - - else: - string += self._repr_axial_slice(self._universes) - - return string - - @property - def num_rings(self): - return self._num_rings - - @property - def num_axial(self): - return self._num_axial - - @property - def center(self): - return self._center - - @num_rings.setter - def num_rings(self, num_rings): - cv.check_type('number of rings', num_rings, Integral) - cv.check_greater_than('number of rings', num_rings, 0) - self._num_rings = num_rings - - @num_axial.setter - def num_axial(self, num_axial): - cv.check_type('number of axial', num_axial, Integral) - cv.check_greater_than('number of axial', num_axial, 0) - self._num_axial = num_axial - - @center.setter - def center(self, center): - cv.check_type('lattice center', center, Iterable, Real) - cv.check_length('lattice center', center, 2, 3) - self._center = center - - @Lattice.pitch.setter - def pitch(self, pitch): - cv.check_type('lattice pitch', pitch, Iterable, Real) - cv.check_length('lattice pitch', pitch, 1, 2) - for dim in pitch: - cv.check_greater_than('lattice pitch', dim, 0) - self._pitch = pitch - - @Lattice.universes.setter - def universes(self, universes): - # Call Lattice.universes parent class setter property - Lattice.universes.fset(self, universes) - - # NOTE: This routine assumes that the user creates a "ragged" list of - # lists, where each sub-list corresponds to one ring of Universes. - # The sub-lists are ordered from outermost ring to innermost ring. - # The Universes within each sub-list are ordered from the "top" in a - # clockwise fashion. - - # Check to see if the given universes look like a 2D or a 3D array. - if isinstance(self._universes[0][0], Universe): - n_dims = 2 - - elif isinstance(self._universes[0][0][0], Universe): - n_dims = 3 - - else: - msg = 'HexLattice ID={0:d} does not appear to be either 2D or ' \ - '3D. Make sure set_universes was given a two-deep or ' \ - 'three-deep iterable of universes.'.format(self._id) - raise RuntimeError(msg) - - # Set the number of axial positions. - if n_dims == 3: - self.num_axial = len(self._universes) - else: - self._num_axial = None - - # Set the number of rings and make sure this number is consistent for - # all axial positions. - if n_dims == 3: - self.num_rings = len(self._universes) - for rings in self._universes: - if len(rings) != self._num_rings: - msg = 'HexLattice ID={0:d} has an inconsistent number of ' \ - 'rings per axial positon'.format(self._id) - raise ValueError(msg) - - else: - self.num_rings = len(self._universes) - - # Make sure there are the correct number of elements in each ring. - if n_dims == 3: - for axial_slice in self._universes: - # Check the center ring. - if len(axial_slice[-1]) != 1: - msg = 'HexLattice ID={0:d} has the wrong number of ' \ - 'elements in the innermost ring. Only 1 element is ' \ - 'allowed in the innermost ring.'.format(self._id) - raise ValueError(msg) - - # Check the outer rings. - for r in range(self._num_rings-1): - if len(axial_slice[r]) != 6*(self._num_rings - 1 - r): - msg = 'HexLattice ID={0:d} has the wrong number of ' \ - 'elements in ring number {1:d} (counting from the '\ - 'outermost ring). This ring should have {2:d} ' \ - 'elements.'.format(self._id, r, - 6*(self._num_rings - 1 - r)) - raise ValueError(msg) - - else: - axial_slice = self._universes - # Check the center ring. - if len(axial_slice[-1]) != 1: - msg = 'HexLattice ID={0:d} has the wrong number of ' \ - 'elements in the innermost ring. Only 1 element is ' \ - 'allowed in the innermost ring.'.format(self._id) - raise ValueError(msg) - - # Check the outer rings. - for r in range(self._num_rings-1): - if len(axial_slice[r]) != 6*(self._num_rings - 1 - r): - msg = 'HexLattice ID={0:d} has the wrong number of ' \ - 'elements in ring number {1:d} (counting from the '\ - 'outermost ring). This ring should have {2:d} ' \ - 'elements.'.format(self._id, r, - 6*(self._num_rings - 1 - r)) - raise ValueError(msg) - - def create_xml_subelement(self, xml_element): - # Determine if XML element already contains subelement for this Lattice - path = './hex_lattice[@id=\'{0}\']'.format(self._id) - test = xml_element.find(path) - - # If the element does contain the Lattice subelement, then return - if test is not None: - return - - lattice_subelement = ET.Element("hex_lattice") - lattice_subelement.set("id", str(self._id)) - - if len(self._name) > 0: - lattice_subelement.set("name", str(self._name)) - - # Export the Lattice cell pitch - pitch = ET.SubElement(lattice_subelement, "pitch") - pitch.text = ' '.join(map(str, self._pitch)) - - # Export the Lattice outer Universe (if specified) - if self._outer is not None: - outer = ET.SubElement(lattice_subelement, "outer") - outer.text = '{0}'.format(self._outer._id) - self._outer.create_xml_subelement(xml_element) - - lattice_subelement.set("n_rings", str(self._num_rings)) - - if self._num_axial is not None: - lattice_subelement.set("n_axial", str(self._num_axial)) - - # Export Lattice cell center - dimension = ET.SubElement(lattice_subelement, "center") - dimension.text = ' '.join(map(str, self._center)) - - # Export the Lattice nested Universe IDs. - - # 3D Lattices - if self._num_axial is not None: - slices = [] - for z in range(self._num_axial): - # Initialize the center universe. - universe = self._universes[z][-1][0] - universe.create_xml_subelement(xml_element) - - # Initialize the remaining universes. - for r in range(self._num_rings-1): - for theta in range(6*(self._num_rings - 1 - r)): - universe = self._universes[z][r][theta] - universe.create_xml_subelement(xml_element) - - # Get a string representation of the universe IDs. - slices.append(self._repr_axial_slice(self._universes[z])) - - # Collapse the list of axial slices into a single string. - universe_ids = '\n'.join(slices) - - # 2D Lattices - else: - # Initialize the center universe. - universe = self._universes[-1][0] - universe.create_xml_subelement(xml_element) - - # Initialize the remaining universes. - for r in range(self._num_rings - 1): - for theta in range(6*(self._num_rings - 1 - r)): - universe = self._universes[r][theta] - universe.create_xml_subelement(xml_element) - - # Get a string representation of the universe IDs. - universe_ids = self._repr_axial_slice(self._universes) - - universes = ET.SubElement(lattice_subelement, "universes") - universes.text = '\n' + universe_ids - - # Append the XML subelement for this Lattice to the XML element - xml_element.append(lattice_subelement) - - def _repr_axial_slice(self, universes): - """Return string representation for the given 2D group of universes. - - The 'universes' argument should be a list of lists of universes where - each sub-list represents a single ring. The first list should be the - outer ring. - """ - - # Find the largest universe ID and count the number of digits so we can - # properly pad the output string later. - largest_id = max([max([univ._id for univ in ring]) - for ring in universes]) - n_digits = len(str(largest_id)) - pad = ' '*n_digits - id_form = '{: ^' + str(n_digits) + 'd}' - - # Initialize the list for each row. - rows = [ [] for i in range(1 + 4 * (self._num_rings-1)) ] - middle = 2 * (self._num_rings - 1) - - # Start with the degenerate first ring. - universe = universes[-1][0] - rows[middle] = [id_form.format(universe._id)] - - # Add universes one ring at a time. - for r in range(1, self._num_rings): - # r_prime increments down while r increments up. - r_prime = self._num_rings - 1 - r - theta = 0 - y = middle + 2*r - - # Climb down the top-right. - for i in range(r): - # Add the universe. - universe = universes[r_prime][theta] - rows[y].append(id_form.format(universe._id)) - - # Translate the indices. - y -= 1 - theta += 1 - - # Climb down the right. - for i in range(r): - # Add the universe. - universe = universes[r_prime][theta] - rows[y].append(id_form.format(universe._id)) - - # Translate the indices. - y -= 2 - theta += 1 - - # Climb down the bottom-right. - for i in range(r): - # Add the universe. - universe = universes[r_prime][theta] - rows[y].append(id_form.format(universe._id)) - - # Translate the indices. - y -= 1 - theta += 1 - - # Climb up the bottom-left. - for i in range(r): - # Add the universe. - universe = universes[r_prime][theta] - rows[y].insert(0, id_form.format(universe._id)) - - # Translate the indices. - y += 1 - theta += 1 - - # Climb up the left. - for i in range(r): - # Add the universe. - universe = universes[r_prime][theta] - rows[y].insert(0, id_form.format(universe._id)) - - # Translate the indices. - y += 2 - theta += 1 - - # Climb up the top-left. - for i in range(r): - # Add the universe. - universe = universes[r_prime][theta] - rows[y].insert(0, id_form.format(universe._id)) - - # Translate the indices. - y += 1 - theta += 1 - - # Flip the rows and join each row into a single string. - rows = [pad.join(x) for x in rows[::-1]] - - # Pad the beginning of the rows so they line up properly. - for y in range(self._num_rings - 1): - rows[y] = (self._num_rings - 1 - y)*pad + rows[y] - rows[-1 - y] = (self._num_rings - 1 - y)*pad + rows[-1 - y] - - for y in range(self._num_rings % 2, self._num_rings, 2): - rows[middle + y] = pad + rows[middle + y] - if y != 0: - rows[middle - y] = pad + rows[middle - y] - - # Join the rows together and return the string. - universe_ids = '\n'.join(rows) - return universe_ids diff --git a/setup.py b/setup.py index 87fdff68cf..e66b0b7a0f 100644 --- a/setup.py +++ b/setup.py @@ -36,7 +36,7 @@ if have_setuptools: # Optional dependencies 'extras_require': { - 'pandas': ['pandas'], + 'pandas': ['pandas>=0.17.0'], 'sparse' : ['scipy'], 'vtk': ['vtk', 'silomesh'], 'validate': ['lxml'] diff --git a/src/ace.F90 b/src/ace.F90 index 5012c9b884..caa7c3aed0 100644 --- a/src/ace.F90 +++ b/src/ace.F90 @@ -1,23 +1,24 @@ module ace - use ace_header, only: Reaction + use angleenergy_header, only: AngleEnergy use constants use distribution_univariate, only: Uniform, Equiprobable, Tabular use endf, only: is_fission, is_disappearance + use endf_header, only: Constant1D, Tabulated1D, Polynomial use energy_distribution, only: TabularEquiprobable, LevelInelastic, & - ContinuousTabular, MaxwellEnergy, Evaporation, WattEnergy, NBodyPhaseSpace + ContinuousTabular, MaxwellEnergy, Evaporation, WattEnergy use error, only: fatal_error, warning - use fission, only: nu_total use global use list_header, only: ListInt use material_header, only: Material use nuclide_header use output, only: write_message + use product_header, only: ReactionProduct use sab_header use set_header, only: SetChar - use secondary_header, only: AngleEnergy use secondary_correlated, only: CorrelatedAngleEnergy use secondary_kalbach, only: KalbachMann + use secondary_nbody, only: NBodyPhaseSpace use secondary_uncorrelated, only: UncorrelatedAngleEnergy use string, only: to_str, to_lower @@ -225,10 +226,10 @@ contains ! Show which nuclide results in lowest energy for neutron transport do i = 1, n_nuclides_total - if (nuclides(i)%energy(nuclides(i)%n_grid) == energy_max_neutron) then + if (nuclides(i) % energy(nuclides(i) % n_grid) == energy_max_neutron) then call write_message("Maximum neutron transport energy: " // & trim(to_str(energy_max_neutron)) // " MeV for " // & - trim(adjustl(nuclides(i)%name)), 6) + trim(adjustl(nuclides(i) % name)), 6) exit end if end do @@ -368,7 +369,7 @@ contains nuc % name = name nuc % awr = awr nuc % kT = kT - nuc % zaid = NXS(2) + nuc % zaid = listing % zaid end if ! read all blocks @@ -378,8 +379,8 @@ contains if (data_0K) then continue else - call read_nu_data(nuc) call read_reactions(nuc) + call read_nu_data(nuc) call read_energy_dist(nuc) call read_angular_dist(nuc) call read_unr_res(nuc) @@ -512,198 +513,209 @@ contains subroutine read_nu_data(nuc) type(NuclideCE), intent(inout) :: nuc - integer :: i ! loop index - integer :: JXS2 ! location for fission nu data - integer :: JXS24 ! location for delayed neutron data + integer :: i, j ! loop index + integer :: idx ! index in XSS integer :: KNU ! location for nu data integer :: LNU ! type of nu data (polynomial or tabular) - integer :: NC ! number of polynomial coefficients integer :: NR ! number of interpolation regions integer :: NE ! number of energies integer :: NPCR ! number of delayed neutron precursor groups - integer :: LED ! location of energy distribution locators - integer :: LDIS ! location of all energy distributions integer :: LOCC ! location of energy distributions for given MT integer :: LAW integer :: IDAT - integer :: lc ! locator - integer :: length ! length of data to allocate + real(8) :: total_group_probability + type(Tabulated1D) :: yield_delayed + type(Tabulated1D) :: group_probability - JXS2 = JXS(2) - JXS24 = JXS(24) - - if (JXS2 == 0) then - ! ======================================================================= - ! NO PROMPT/TOTAL NU DATA - nuc % nu_t_type = NU_NONE - nuc % nu_p_type = NU_NONE - - elseif (XSS(JXS2) > 0) then - ! ======================================================================= - ! PROMPT OR TOTAL NU DATA - KNU = JXS2 - LNU = int(XSS(KNU)) - if (LNU == 1) then - ! Polynomial data - nuc % nu_t_type = NU_POLYNOMIAL - nuc % nu_p_type = NU_NONE - - ! allocate determine how many coefficients for polynomial - NC = int(XSS(KNU+1)) - length = NC + 1 - elseif (LNU == 2) then - ! Tabular data - nuc % nu_t_type = NU_TABULAR - nuc % nu_p_type = NU_NONE - - ! determine number of interpolation regions and number of energies - NR = int(XSS(KNU+1)) - NE = int(XSS(KNU+2+2*NR)) - length = 2 + 2*NR + 2*NE - end if - - ! allocate space for nu data storage - allocate(nuc % nu_t_data(length)) - - ! read data -- for polynomial, this is the number of coefficients and the - ! coefficients themselves, and for tabular, this is interpolation data - ! and tabular E/nu - XSS_index = KNU + 1 - nuc % nu_t_data = get_real(length) - - elseif (XSS(JXS2) < 0) then - ! ======================================================================= - ! PROMPT AND TOTAL NU DATA -- read prompt data first - KNU = JXS2 + 1 - LNU = int(XSS(KNU)) - if (LNU == 1) then - ! Polynomial data - nuc % nu_p_type = NU_POLYNOMIAL - - ! allocate determine how many coefficients for polynomial - NC = int(XSS(KNU+1)) - length = NC + 1 - elseif (LNU == 2) then - ! Tabular data - nuc % nu_p_type = NU_TABULAR - - ! determine number of interpolation regions and number of energies - NR = int(XSS(KNU+1)) - NE = int(XSS(KNU+2+2*NR)) - length = 2 + 2*NR + 2*NE - end if - - ! allocate space for nu data storage - allocate(nuc % nu_p_data(length)) - - ! read data - XSS_index = KNU + 1 - nuc % nu_p_data = get_real(length) - - ! Now read total nu data - KNU = JXS2 + int(abs(XSS(JXS2))) + 1 - LNU = int(XSS(KNU)) - if (LNU == 1) then - ! Polynomial data - nuc % nu_t_type = NU_POLYNOMIAL - - ! allocate determine how many coefficients for polynomial - NC = int(XSS(KNU+1)) - length = NC + 1 - elseif (LNU == 2) then - ! Tabular data - nuc % nu_t_type = NU_TABULAR - - ! determine number of interpolation regions and number of energies - NR = int(XSS(KNU+1)) - NE = int(XSS(KNU+2+2*NR)) - length = 2 + 2*NR + 2*NE - end if - - ! allocate space for nu data storage - allocate(nuc % nu_t_data(length)) - - ! read data - XSS_index = KNU + 1 - nuc % nu_t_data = get_real(length) + if (JXS(2) == 0) then + ! Nuclide is not fissionable + return end if - if (JXS24 > 0) then - ! ======================================================================= - ! DELAYED NU DATA - - nuc % nu_d_type = NU_TABULAR - KNU = JXS24 - - ! determine size of tabular delayed nu data - NR = int(XSS(KNU+1)) - NE = int(XSS(KNU+2+2*NR)) - length = 2 + 2*NR + 2*NE - - ! allocate space for delayed nu data - allocate(nuc % nu_d_data(length)) - - ! read delayed nu data - XSS_index = KNU + 1 - nuc % nu_d_data = get_real(length) - - ! ======================================================================= - ! DELAYED NEUTRON ENERGY DISTRIBUTION - - ! Allocate space for secondary energy distribution + ! Determine number of delayed neutron precursors + if (JXS(24) > 0) then NPCR = NXS(8) + else + NPCR = 0 + end if + nuc % n_precursor = NPCR - ! Check to make sure nuclide does not have more than the maximum number - ! of delayed groups - if (NPCR > MAX_DELAYED_GROUPS) then - call fatal_error("Encountered nuclide with " // trim(to_str(NPCR)) & - // " delayed groups while the maximum number of delayed groups & - &set in constants.F90 is " // trim(to_str(MAX_DELAYED_GROUPS))) + ! Check to make sure nuclide does not have more than the maximum number + ! of delayed groups + if (NPCR > MAX_DELAYED_GROUPS) then + call fatal_error("Encountered nuclide with " // trim(to_str(NPCR)) & + // " delayed groups while the maximum number of delayed groups is " & + // trim(to_str(MAX_DELAYED_GROUPS))) + end if + + associate (rx => nuc % reactions(nuc % index_fission(1))) + ! Allocate space for prompt/delayed neutron products + allocate(rx % products(1 + NPCR)) + rx % products(:) % particle = NEUTRON + + if (XSS(JXS(2)) > 0) then + ! ======================================================================= + ! PROMPT OR TOTAL NU DATA + + ! If delayed data is present, then prompt data must be present. Otherwise + ! the product represents 'total' neutron emission + if (JXS(24) > 0) then + rx % products(1) % emission_mode = EMISSION_PROMPT + else + rx % products(1) % emission_mode = EMISSION_TOTAL + end if + + KNU = JXS(2) + LNU = nint(XSS(KNU)) + if (LNU == 1) then + ! Polynomial data + allocate(Polynomial :: rx % products(1) % yield) + + ! determine order of polynomial and read coefficients + select type (yield => rx % products(1) % yield) + type is (Polynomial) + call yield % from_ace(XSS, KNU + 1) + end select + + elseif (LNU == 2) then + ! Tabulated data + allocate(Tabulated1D :: rx % products(1) % yield) + + select type(yield => rx % products(1) % yield) + type is (Tabulated1D) + call yield % from_ace(XSS, KNU + 1) + end select + + end if + + elseif (XSS(JXS(2)) < 0) then + ! ======================================================================= + ! PROMPT AND TOTAL NU DATA + + rx % products(1) % emission_mode = EMISSION_PROMPT + + KNU = JXS(2) + 1 + LNU = nint(XSS(KNU)) + if (LNU == 1) then + ! Polynomial data + allocate(Polynomial :: rx % products(1) % yield) + + ! determine order of polynomial and read coefficients + select type (yield => rx % products(1) % yield) + type is (Polynomial) + call yield % from_ace(XSS, KNU + 1) + end select + + elseif (LNU == 2) then + ! Tabulated data + allocate(Tabulated1D :: rx % products(1) % yield) + + select type(yield => rx % products(1) % yield) + type is (Tabulated1D) + call yield % from_ace(XSS, KNU + 1) + end select + end if + + KNU = JXS(2) + nint(abs(XSS(JXS(2)))) + 1 + LNU = nint(XSS(KNU)) + if (LNU == 1) then + ! Polynomial data + allocate(Polynomial :: nuc % total_nu) + + ! determine order of polynomial and read coefficients + select type (yield => nuc % total_nu) + type is (Polynomial) + call yield % from_ace(XSS, KNU + 1) + end select + + elseif (LNU == 2) then + ! Tabulated data + allocate(Tabulated1D :: nuc % total_nu) + + select type(yield => nuc % total_nu) + type is (Tabulated1D) + call yield % from_ace(XSS, KNU + 1) + end select + end if end if - nuc % n_precursor = NPCR - allocate(nuc % nu_d_edist(NPCR)) + if (JXS(24) > 0) then + ! ======================================================================= + ! DELAYED NU DATA - LED = JXS(26) - LDIS = JXS(27) + ! Read total yield of delayed neutrons + call yield_delayed % from_ace(XSS, JXS(24) + 1) - ! Loop over all delayed neutron precursor groups - do i = 1, NPCR - ! find location of energy distribution data - LOCC = nint(XSS(LED + i - 1)) + idx = JXS(25) + total_group_probability = ZERO + do i = 1, NPCR + ! Set emission mode and decay rate + rx % products(1 + i) % emission_mode = EMISSION_DELAYED + rx % products(1 + i) % decay_rate = XSS(idx) - ! Determine law and location of data - LAW = nint(XSS(LDIS + LOCC)) - IDAT = nint(XSS(LDIS + LOCC + 1)) + ! Read probability for this precursor group + call group_probability % from_ace(XSS, idx + 1) - ! read energy distribution data - call get_energy_dist(nuc%nu_d_edist(i)%obj, LAW, LDIS, IDAT, & - ZERO, ZERO) + ! Set yield based on product of group probability and delayed yield + if (all(group_probability % y == group_probability % y(1))) then + allocate(Tabulated1D :: rx % products(1 + i) % yield) + select type (yield => rx % products(1 + i) % yield) + type is (Tabulated1D) + yield = yield_delayed + yield % y(:) = yield % y(:) * group_probability % y(1) + total_group_probability = total_group_probability + group_probability % y(1) + end select + else + call fatal_error("Delayed neutron with energy-dependent group & + &probability not implemented") + end if + + ! Advance position + NR = nint(XSS(idx + 1)) + NE = nint(XSS(idx + 2 + 2*NR)) + idx = idx + 3 + 2*(NR + NE) + + ! ======================================================================= + ! DELAYED NEUTRON ENERGY DISTRIBUTION + + ! Read energy distribution + LOCC = nint(XSS(JXS(26) + i - 1)) + + ! Determine law and location of data + LAW = nint(XSS(JXS(27) + LOCC)) + IDAT = nint(XSS(JXS(27) + LOCC + 1)) + + ! read energy distribution data + associate(p => rx % products(1 + i)) + allocate(p % applicability(1)) + allocate(p % distribution(1)) + call get_energy_dist(p % distribution(1) % obj, LAW, JXS(27), IDAT, & + ZERO, ZERO) + + select type (aedist => p % distribution(1) % obj) + type is (UncorrelatedAngleEnergy) + aedist % fission = .true. + end select + end associate + end do + + ! Renormalize delayed neutron yields to reflect fact that in ACE file, the + ! sum of the group probabilities is not exactly one + do i = 1, NPCR + select type (yield => rx % products(1 + i) % yield) + type is (Tabulated1D) + yield % y(:) = yield % y(:) / total_group_probability + end select + end do + end if + + ! Assign products to other fission reactions + do i = 2, nuc % n_fission + j = nuc % index_fission(i) + allocate(nuc % reactions(j) % products(1 + NPCR)) + nuc % reactions(j) % products(:) = rx % products(:) end do - - ! ======================================================================= - ! DELAYED NEUTRON PRECUSOR YIELDS AND CONSTANTS - - ! determine length of all precursor constants/yields/interp data - length = 0 - lc = JXS(25) - do i = 1, NPCR - NR = int(XSS(lc + length + 1)) - NE = int(XSS(lc + length + 2 + 2*NR)) - length = length + 3 + 2*NR + 2*NE - end do - - ! allocate space for precusor data - allocate(nuc % nu_d_precursor_data(length)) - - ! read delayed neutron precursor data - XSS_index = lc - nuc % nu_d_precursor_data = get_real(length) - - else - nuc % nu_d_type = NU_NONE - nuc % n_precursor = 0 - end if + end associate end subroutine read_nu_data @@ -727,7 +739,7 @@ contains integer :: LOCA ! location of cross-section for given MT integer :: IE ! reaction's starting index on energy grid integer :: NE ! number of energies - integer :: NR ! number of interpolation regions + real(8) :: y type(ListInt) :: MTs LMT = JXS(3) @@ -746,13 +758,19 @@ contains ! sigma array is not allocated or stored for elastic scattering since it is ! already stored in nuc % elastic associate (rxn => nuc % reactions(1)) - rxn%MT = 2 - rxn%Q_value = ZERO - rxn%multiplicity = 1 - rxn%threshold = 1 - rxn%scatter_in_cm = .true. - allocate(rxn%secondary%distribution(1)) - allocate(UncorrelatedAngleEnergy :: rxn%secondary%distribution(1)%obj) + rxn % MT = 2 + rxn % Q_value = ZERO + allocate(rxn % products(1)) + rxn % products(1) % particle = NEUTRON + allocate(Constant1D :: rxn % products(1) % yield) + select type(yield => rxn % products(1) % yield) + type is (Constant1D) + yield % y = 1 + end select + rxn % threshold = 1 + rxn % scatter_in_cm = .true. + allocate(rxn % products(1) % distribution(1)) + allocate(UncorrelatedAngleEnergy :: rxn % products(1) % distribution(1) % obj) end associate ! Add contribution of elastic scattering to total cross section @@ -768,45 +786,35 @@ contains do i = 1, NMT associate (rxn => nuc % reactions(i+1)) ! read MT number, Q-value, and neutrons produced - rxn % MT = int(XSS(LMT + i - 1)) - rxn % Q_value = XSS(JXS4 + i - 1) - rxn % multiplicity = abs(nint(XSS(JXS5 + i - 1))) + rxn % MT = int(XSS(LMT + i - 1)) + rxn % Q_value = XSS(JXS4 + i - 1) rxn % scatter_in_cm = (nint(XSS(JXS5 + i - 1)) < 0) - ! Read energy-dependent multiplicities - if (rxn % multiplicity > 100) then - ! Set flag and allocate space for Tab1 to store yield - rxn % multiplicity_with_E = .true. - allocate(rxn % multiplicity_E) + if (.not. is_fission(rxn % MT)) then + allocate(rxn % products(1)) + rxn % products(1) % particle = NEUTRON - XSS_index = JXS(11) + rxn % multiplicity - 101 - NR = nint(XSS(XSS_index)) - rxn % multiplicity_E % n_regions = NR + y = abs(nint(XSS(JXS5 + i - 1))) + if (y > 100) then + ! Read energy-dependent multiplicities - ! allocate space for ENDF interpolation parameters - if (NR > 0) then - allocate(rxn % multiplicity_E % nbt(NR)) - allocate(rxn % multiplicity_E % int(NR)) + ! Set flag and allocate space for Tabulated1D to store yield + allocate(Tabulated1D :: rxn % products(1) % yield) + + ! Read yield function + select type (yield => rxn % products(1) % yield) + type is (Tabulated1D) + XSS_index = JXS(11) + int(y) - 101 + call yield % from_ace(XSS, XSS_index) + end select + else + ! Integral yield + allocate(Constant1D :: rxn % products(1) % yield) + select type (yield => rxn % products(1) % yield) + type is (Constant1D) + yield % y = y + end select end if - - ! read ENDF interpolation parameters - XSS_index = XSS_index + 1 - if (NR > 0) then - rxn % multiplicity_E % nbt = get_int(NR) - rxn % multiplicity_E % int = get_int(NR) - end if - - ! allocate space for yield data - XSS_index = XSS_index + 2*NR - NE = nint(XSS(XSS_index)) - rxn % multiplicity_E % n_pairs = NE - allocate(rxn % multiplicity_E % x(NE)) - allocate(rxn % multiplicity_E % y(NE)) - - ! read yield data - XSS_index = XSS_index + 1 - rxn % multiplicity_E % x = get_real(NE) - rxn % multiplicity_E % y = get_real(NE) end if ! read starting energy index @@ -923,42 +931,42 @@ contains ! "one" angular distribution, it is repeated as many times as there are ! energy distributions for this reaction since the ! UncorrelatedAngleEnergy type holds one angle and energy distribution. - do k = 1, size(rxn%secondary%distribution) - select type (aedist => rxn%secondary%distribution(k)%obj) + do k = 1, size(rxn % products(1) % distribution) + select type (aedist => rxn % products(1) % distribution(k) % obj) type is (UncorrelatedAngleEnergy) ! allocate space for incoming energies and locations NE = int(XSS(JXS(9) + LOCB - 1)) - allocate(aedist%angle%energy(NE)) - allocate(aedist%angle%distribution(NE)) + allocate(aedist % angle % energy(NE)) + allocate(aedist % angle % distribution(NE)) allocate(LC(NE)) ! read incoming energy grid and location of nucs XSS_index = JXS(9) + LOCB - aedist%angle%energy(:) = get_real(NE) + aedist % angle % energy(:) = get_real(NE) LC(:) = get_int(NE) ! determine dize of data block do j = 1, NE if (LC(j) == 0) then ! isotropic - allocate(Uniform :: aedist%angle%distribution(j)%obj) - select type (adist => aedist%angle%distribution(j)%obj) + allocate(Uniform :: aedist % angle % distribution(j) % obj) + select type (adist => aedist % angle % distribution(j) % obj) type is (Uniform) - adist%a = -ONE - adist%b = ONE + adist % a = -ONE + adist % b = ONE end select elseif (LC(j) > 0) then ! 32 equiprobable bins - allocate(Equiprobable :: aedist%angle%distribution(j)%obj) - select type (adist => aedist%angle%distribution(j)%obj) + allocate(Equiprobable :: aedist % angle % distribution(j) % obj) + select type (adist => aedist % angle % distribution(j) % obj) type is (Equiprobable) - allocate(adist%x(33)) + allocate(adist % x(33)) end select elseif (LC(j) < 0) then ! tabular distribution - allocate(Tabular :: aedist%angle%distribution(j)%obj) + allocate(Tabular :: aedist % angle % distribution(j) % obj) end if end do @@ -967,9 +975,9 @@ contains ! on-the-fly do j = 1, NE XSS_index = JXS(9) + abs(LC(j)) - 1 - select type(adist => aedist%angle%distribution(j)%obj) + select type(adist => aedist % angle % distribution(j) % obj) type is (Equiprobable) - adist%x(:) = get_real(33) + adist % x(:) = get_real(33) type is (Tabular) ! determine interpolation and number of points interp = nint(XSS(XSS_index)) @@ -977,10 +985,10 @@ contains ! Get probability density data XSS_index = XSS_index + 2 - allocate(adist%x(NP), adist%p(NP), adist%c(NP)) - adist%x(:) = get_real(NP) - adist%p(:) = get_real(NP) - adist%c(:) = get_real(NP) + allocate(adist % x(NP), adist % p(NP), adist % c(NP)) + adist % x(:) = get_real(NP) + adist % p(:) = get_real(NP) + adist % c(:) = get_real(NP) end select end do deallocate(LC) @@ -1017,9 +1025,9 @@ contains end do ! Allocate space for distributions and probability of validity - associate (secondary => nuc%reactions(i + 1)%secondary) - allocate(secondary%applicability(n)) - allocate(secondary%distribution(n)) + associate (p => nuc % reactions(i + 1) % products(1)) + allocate(p % applicability(n)) + allocate(p % distribution(n)) LNW = nint(XSS(JXS(10) + i - 1)) n = 0 @@ -1031,11 +1039,11 @@ contains IDAT = nint(XSS(JXS(11) + LNW + 1)) ! Read probability of law validity - call secondary%applicability(n)%from_ace(XSS, JXS(11) + LNW + 2) + call p % applicability(n) % from_ace(XSS, JXS(11) + LNW + 2) ! Read energy law data - call get_energy_dist(secondary%distribution(n)%obj, LAW, & - JXS(11), IDAT, nuc%awr, nuc%reactions(i + 1)%Q_value) + call get_energy_dist(p % distribution(n) % obj, LAW, & + JXS(11), IDAT, nuc % awr, nuc % reactions(i + 1) % Q_value) ! <<<<<<<<<<<<<<<<<<<<<<<<<<<< REMOVE THIS <<<<<<<<<<<<<<<<<<<<<<<<<<< ! Before the secondary distribution refactor, when the angle/energy @@ -1044,11 +1052,11 @@ contains ! distribution even when no angle distribution exists in the ACE file ! (isotropic is assumed). To preserve the RNG stream, we explicitly ! mark fission reactions so that we avoid the angle sampling. - if (any(nuc%reactions(i + 1)%MT == & + if (any(nuc % reactions(i + 1) % MT == & [N_FISSION, N_F, N_NF, N_2NF, N_3NF])) then - select type (aedist => secondary%distribution(n)%obj) + select type (aedist => p % distribution(n) % obj) type is (UncorrelatedAngleEnergy) - aedist%fission = .true. + aedist % fission = .true. end select end if ! <<<<<<<<<<<<<<<<<<<<<<<<<<<< REMOVE THIS <<<<<<<<<<<<<<<<<<<<<<<<<<< @@ -1089,6 +1097,8 @@ contains allocate(KalbachMann :: aedist) elseif (law == 61) then allocate(CorrelatedAngleEnergy :: aedist) + elseif (law == 66) then + allocate(NBodyPhaseSpace :: aedist) else allocate(UncorrelatedAngleEnergy :: aedist) end if @@ -1100,8 +1110,8 @@ contains select case (law) case (1) - allocate(TabularEquiprobable :: aedist%energy) - select type (edist => aedist%energy) + allocate(TabularEquiprobable :: aedist % energy) + select type (edist => aedist % energy) type is (TabularEquiprobable) NR = nint(XSS(XSS_index)) NE = nint(XSS(XSS_index + 1 + 2*NR)) @@ -1109,33 +1119,33 @@ contains call fatal_error("Multiple interpolation regions not yet supported & &for tabular equiprobable energy distributions.") end if - edist%n_region = NR + edist % n_region = NR ! Read incoming energies for which outgoing energies are tabulated - allocate(edist%energy_in(NE)) + allocate(edist % energy_in(NE)) XSS_index = XSS_index + 2 + 2*NR - edist%energy_in(:) = get_real(NE) + edist % energy_in(:) = get_real(NE) ! Read outgoing energy tables NP = nint(XSS(XSS_index)) - allocate(edist%energy_out(NP, NE)) + allocate(edist % energy_out(NP, NE)) XSS_index = XSS_index + 1 do i = 1, NE - edist%energy_out(:, i) = get_real(NP) + edist % energy_out(:, i) = get_real(NP) end do end select case (3) - allocate(LevelInelastic :: aedist%energy) - select type (edist => aedist%energy) + allocate(LevelInelastic :: aedist % energy) + select type (edist => aedist % energy) type is (LevelInelastic) - edist%threshold = XSS(XSS_index) - edist%mass_ratio = XSS(XSS_index + 1) + edist % threshold = XSS(XSS_index) + edist % mass_ratio = XSS(XSS_index + 1) end select case (4) - allocate(ContinuousTabular :: aedist%energy) - select type (edist => aedist%energy) + allocate(ContinuousTabular :: aedist % energy) + select type (edist => aedist % energy) type is (ContinuousTabular) NR = nint(XSS(XSS_index)) XSS_index = XSS_index + 1 @@ -1143,94 +1153,84 @@ contains call fatal_error("Multiple interpolation regions not yet supported & &for continuous tabular energy distributions.") end if - edist%n_region = NR + edist % n_region = NR ! Read breakpoints and interpolation parameters if (NR > 0) then - allocate(edist%breakpoints(NR)) - allocate(edist%interpolation(NR)) - edist%breakpoints(:) = get_int(NR) - edist%interpolation(:) = get_int(NR) + allocate(edist % breakpoints(NR)) + allocate(edist % interpolation(NR)) + edist % breakpoints(:) = get_int(NR) + edist % interpolation(:) = get_int(NR) end if ! Read incoming energies for which outgoing energies are tabulated and ! locators NE = nint(XSS(XSS_index)) XSS_index = XSS_index + 1 - allocate(edist%energy_in(NE)) + allocate(edist % energy(NE)) allocate(L(NE)) - edist%energy_in(:) = get_real(NE) + edist % energy(:) = get_real(NE) L(:) = get_int(NE) ! Read outgoing energy tables - allocate(edist%energy_out(NE)) + allocate(edist % distribution(NE)) do i = 1, NE ! Determine interpolation and number of discrete points XSS_index = LDIS + L(i) - 1 interp = nint(XSS(XSS_index)) - edist%energy_out(i)%interpolation = mod(interp, 10) - edist%energy_out(i)%n_discrete = (interp - & - edist%energy_out(i)%interpolation)/10 + edist % distribution(i) % interpolation = mod(interp, 10) + edist % distribution(i) % n_discrete = (interp - & + edist % distribution(i) % interpolation)/10 ! check for discrete lines present - if (edist%energy_out(i)%n_discrete > 0) then + if (edist % distribution(i) % n_discrete > 0) then call fatal_error("Discrete lines in continuous tabular & &distribution not yet supported") end if ! Determine number of points and allocate space NP = nint(XSS(XSS_index + 1)) - allocate(edist%energy_out(i)%e_out(NP)) - allocate(edist%energy_out(i)%p(NP)) - allocate(edist%energy_out(i)%c(NP)) + allocate(edist % distribution(i) % e_out(NP)) + allocate(edist % distribution(i) % p(NP)) + allocate(edist % distribution(i) % c(NP)) ! Read tabular PDF for outgoing energy XSS_index = XSS_index + 2 - edist%energy_out(i)%e_out(:) = get_real(NP) - edist%energy_out(i)%p(:) = get_real(NP) - edist%energy_out(i)%c(:) = get_real(NP) + edist % distribution(i) % e_out(:) = get_real(NP) + edist % distribution(i) % p(:) = get_real(NP) + edist % distribution(i) % c(:) = get_real(NP) end do deallocate(L) end select case (7) - allocate(MaxwellEnergy :: aedist%energy) - select type (edist => aedist%energy) + allocate(MaxwellEnergy :: aedist % energy) + select type (edist => aedist % energy) type is (MaxwellEnergy) - call edist%theta%from_ace(XSS, XSS_index) - edist%u = XSS(XSS_index + 2 + 2*edist%theta%n_regions + & - 2*edist%theta%n_pairs) + call edist % theta % from_ace(XSS, XSS_index) + edist % u = XSS(XSS_index + 2 + 2*edist % theta % n_regions + & + 2*edist % theta % n_pairs) end select case (9) - allocate(Evaporation :: aedist%energy) - select type(edist => aedist%energy) + allocate(Evaporation :: aedist % energy) + select type(edist => aedist % energy) type is (Evaporation) - call edist%theta%from_ace(XSS, XSS_index) - edist%u = XSS(XSS_index + 2 + 2*edist%theta%n_regions + & - 2*edist%theta%n_pairs) + call edist % theta % from_ace(XSS, XSS_index) + edist % u = XSS(XSS_index + 2 + 2*edist % theta % n_regions + & + 2*edist % theta % n_pairs) end select case (11) - allocate(WattEnergy :: aedist%energy) - select type(edist => aedist%energy) + allocate(WattEnergy :: aedist % energy) + select type(edist => aedist % energy) type is (WattEnergy) - call edist%a%from_ace(XSS, XSS_index) - XSS_index = XSS_index + 2 + 2*edist%a%n_regions + 2*edist%a%n_pairs - call edist%b%from_ace(XSS, XSS_index) - XSS_index = XSS_index + 2 + 2*edist%b%n_regions + 2*edist%b%n_pairs - edist%u = XSS(XSS_index) - end select - - case (66) - allocate(NBodyPhaseSpace :: aedist%energy) - select type(edist => aedist%energy) - type is (NBodyPhaseSpace) - edist%n_bodies = int(XSS(XSS_index)) - edist%mass_ratio = XSS(XSS_index + 1) - edist%A = awr - edist%Q = Q_value + call edist % a % from_ace(XSS, XSS_index) + XSS_index = XSS_index + 2 + 2*edist % a % n_regions + 2*edist % a % n_pairs + call edist % b % from_ace(XSS, XSS_index) + XSS_index = XSS_index + 2 + 2*edist % b % n_regions + 2*edist % b % n_pairs + edist % u = XSS(XSS_index) end select end select @@ -1245,45 +1245,45 @@ contains call fatal_error("Multiple interpolation regions not yet supported & &for Kalbach-Mann energy distributions.") end if - aedist%n_region = NR + aedist % n_region = NR ! Read incoming energies for which outgoing energies are tabulated and locators - allocate(aedist%energy_in(NE)) + allocate(aedist % energy(NE)) allocate(L(NE)) XSS_index = XSS_index + 2 + 2*NR - aedist%energy_in(:) = get_real(NE) + aedist % energy(:) = get_real(NE) L(:) = get_int(NE) ! Read outgoing energy tables - allocate(aedist%table(NE)) + allocate(aedist % distribution(NE)) do i = 1, NE ! Determine interpolation and number of discrete points XSS_index = LDIS + L(i) - 1 interp = nint(XSS(XSS_index)) - aedist%table(i)%interpolation = mod(interp, 10) - aedist%table(i)%n_discrete = (interp - aedist%table(i)%interpolation)/10 + aedist % distribution(i) % interpolation = mod(interp, 10) + aedist % distribution(i) % n_discrete = (interp - aedist % distribution(i) % interpolation)/10 ! check for discrete lines present - if (aedist%table(i)%n_discrete > 0) then + if (aedist % distribution(i) % n_discrete > 0) then call fatal_error("Discrete lines in Kalbach-Mann distribution not & &yet supported") end if ! Determine number of points and allocate space NP = nint(XSS(XSS_index + 1)) - allocate(aedist%table(i)%e_out(NP)) - allocate(aedist%table(i)%p(NP)) - allocate(aedist%table(i)%c(NP)) - allocate(aedist%table(i)%r(NP)) - allocate(aedist%table(i)%a(NP)) + allocate(aedist % distribution(i) % e_out(NP)) + allocate(aedist % distribution(i) % p(NP)) + allocate(aedist % distribution(i) % c(NP)) + allocate(aedist % distribution(i) % r(NP)) + allocate(aedist % distribution(i) % a(NP)) ! Read tabular PDF for outgoing energy XSS_index = XSS_index + 2 - aedist%table(i)%e_out(:) = get_real(NP) - aedist%table(i)%p(:) = get_real(NP) - aedist%table(i)%c(:) = get_real(NP) - aedist%table(i)%r(:) = get_real(NP) - aedist%table(i)%a(:) = get_real(NP) + aedist % distribution(i) % e_out(:) = get_real(NP) + aedist % distribution(i) % p(:) = get_real(NP) + aedist % distribution(i) % c(:) = get_real(NP) + aedist % distribution(i) % r(:) = get_real(NP) + aedist % distribution(i) % a(:) = get_real(NP) end do deallocate(L) @@ -1298,67 +1298,67 @@ contains call fatal_error("Multiple interpolation regions not yet supported & &for correlated angle-energy distributions.") end if - aedist%n_region = NR + aedist % n_region = NR ! Read incoming energies for which outgoing energies are tabulated and ! locators - allocate(aedist%energy_in(NE)) + allocate(aedist % energy(NE)) allocate(L(NE)) XSS_index = XSS_index + 2 + 2*NR - aedist%energy_in(:) = get_real(NE) + aedist % energy(:) = get_real(NE) L(:) = get_int(NE) ! Read outgoing energy tables - allocate(aedist%table(NE)) + allocate(aedist % distribution(NE)) do i = 1, NE ! Determine interpolation and number of discrete points XSS_index = LDIS + L(i) - 1 interp = nint(XSS(XSS_index)) - aedist%table(i)%interpolation = mod(interp, 10) - aedist%table(i)%n_discrete = (interp - aedist%table(i)%interpolation)/10 + aedist % distribution(i) % interpolation = mod(interp, 10) + aedist % distribution(i) % n_discrete = (interp - aedist % distribution(i) % interpolation)/10 ! check for discrete lines present - if (aedist%table(i)%n_discrete > 0) then + if (aedist % distribution(i) % n_discrete > 0) then call fatal_error("Discrete lines in correlated angle-energy & &distribution not yet supported") end if ! Determine number of points and allocate space NP = nint(XSS(XSS_index + 1)) - allocate(aedist%table(i)%e_out(NP)) - allocate(aedist%table(i)%p(NP)) - allocate(aedist%table(i)%c(NP)) + allocate(aedist % distribution(i) % e_out(NP)) + allocate(aedist % distribution(i) % p(NP)) + allocate(aedist % distribution(i) % c(NP)) allocate(LC(NP)) ! Read tabular PDF for outgoing energy XSS_index = XSS_index + 2 - aedist%table(i)%e_out(:) = get_real(NP) - aedist%table(i)%p(:) = get_real(NP) - aedist%table(i)%c(:) = get_real(NP) + aedist % distribution(i) % e_out(:) = get_real(NP) + aedist % distribution(i) % p(:) = get_real(NP) + aedist % distribution(i) % c(:) = get_real(NP) LC(:) = get_int(NP) ! allocate angular distributions for each incoming/outgoing energy - allocate(aedist%table(i)%angle(NP)) + allocate(aedist % distribution(i) % angle(NP)) do j = 1, NP if (LC(j) == 0) then ! isotropic - allocate(Uniform :: aedist%table(i)%angle(j)%obj) - select type (adist => aedist%table(i)%angle(j)%obj) + allocate(Uniform :: aedist % distribution(i) % angle(j) % obj) + select type (adist => aedist % distribution(i) % angle(j) % obj) type is (Uniform) - adist%a = -ONE - adist%b = ONE + adist % a = -ONE + adist % b = ONE end select elseif (LC(j) > 0) then ! tabular distribution - allocate(Tabular :: aedist%table(i)%angle(j)%obj) + allocate(Tabular :: aedist % distribution(i) % angle(j) % obj) end if end do ! read angular distributions do j = 1, NP XSS_index = LDIS + abs(LC(j)) - 1 - select type(adist => aedist%table(i)%angle(j)%obj) + select type(adist => aedist % distribution(i) % angle(j) % obj) type is (Tabular) ! determine interpolation and number of points interp = nint(XSS(XSS_index)) @@ -1366,10 +1366,10 @@ contains ! Get probability density data XSS_index = XSS_index + 2 - allocate(adist%x(NP), adist%p(NP), adist%c(NP)) - adist%x(:) = get_real(NP) - adist%p(:) = get_real(NP) - adist%c(:) = get_real(NP) + allocate(adist % x(NP), adist % p(NP), adist % c(NP)) + adist % x(:) = get_real(NP) + adist % p(:) = get_real(NP) + adist % c(:) = get_real(NP) end select end do deallocate(LC) @@ -1377,6 +1377,15 @@ contains end do deallocate(L) + + type is (NBodyPhaseSpace) + ! ======================================================================== + ! N-BODY PHASE SPACE DISTRIBUTION + + aedist % n_bodies = int(XSS(XSS_index)) + aedist % mass_ratio = XSS(XSS_index + 1) + aedist % A = awr + aedist % Q = Q_value end select end subroutine get_energy_dist @@ -1466,7 +1475,6 @@ contains end if end subroutine read_unr_res - !=============================================================================== ! GENERATE_NU_FISSION precalculates the microscopic nu-fission cross section for ! a given nuclide. This is done so that the nu_total function does not need to @@ -1477,20 +1485,11 @@ contains type(NuclideCE), intent(inout) :: nuc integer :: i ! index on nuclide energy grid - real(8) :: E ! energy - real(8) :: nu ! # of neutrons per fission - do i = 1, nuc % n_grid - ! determine energy - E = nuc % energy(i) - - ! determine total nu at given energy - nu = nu_total(nuc, E) - - ! determine nu-fission microscopic cross section - nuc % nu_fission(i) = nu * nuc % fission(i) + do i = 1, size(nuc % energy) + nuc % nu_fission(i) = nuc % nu(nuc % energy(i), EMISSION_TOTAL) * & + nuc % fission(i) end do - end subroutine generate_nu_fission !=============================================================================== @@ -1667,26 +1666,4 @@ contains end function get_real -!=============================================================================== -! SAME_NUCLIDE_LIST creates a linked list for each nuclide containing the -! indices in the nuclides array of all other instances of that nuclide. For -! example, the same nuclide may exist at multiple temperatures resulting -! in multiple entries in the nuclides array for a single zaid number. -!=============================================================================== - - subroutine same_nuclide_list() - - integer :: i ! index in nuclides array - integer :: j ! index in nuclides array - - do i = 1, n_nuclides_total - do j = 1, n_nuclides_total - if (nuclides(i) % zaid == nuclides(j) % zaid) then - call nuclides(i) % nuc_list % push_back(j) - end if - end do - end do - - end subroutine same_nuclide_list - end module ace diff --git a/src/ace_header.F90 b/src/ace_header.F90 deleted file mode 100644 index ae5000e5ab..0000000000 --- a/src/ace_header.F90 +++ /dev/null @@ -1,58 +0,0 @@ -module ace_header - - use constants, only: MAX_FILE_LEN, ZERO - use dict_header, only: DictIntInt - use endf_header, only: Tab1 - use secondary_header, only: SecondaryDistribution, AngleEnergyContainer - use stl_vector, only: VectorInt - - implicit none - -!=============================================================================== -! REACTION contains the cross-section and secondary energy and angle -! distributions for a single reaction in a continuous-energy ACE-format table -!=============================================================================== - - type Reaction - integer :: MT ! ENDF MT value - real(8) :: Q_value ! Reaction Q value - integer :: multiplicity ! Number of secondary particles released - type(Tab1), pointer :: multiplicity_E => null() ! Energy-dependent neutron yield - integer :: threshold ! Energy grid index of threshold - logical :: scatter_in_cm ! scattering system in center-of-mass? - logical :: multiplicity_with_E = .false. ! Flag to indicate E-dependent multiplicity - real(8), allocatable :: sigma(:) ! Cross section values - type(SecondaryDistribution) :: secondary - - contains - procedure :: clear => reaction_clear ! Deallocates Reaction - end type Reaction - -!=============================================================================== -! URRDATA contains probability tables for the unresolved resonance range. -!=============================================================================== - - type UrrData - integer :: n_energy ! # of incident neutron energies - integer :: n_prob ! # of probabilities - integer :: interp ! inteprolation (2=lin-lin, 5=log-log) - integer :: inelastic_flag ! inelastic competition flag - integer :: absorption_flag ! other absorption flag - logical :: multiply_smooth ! multiply by smooth cross section? - real(8), allocatable :: energy(:) ! incident energies - real(8), allocatable :: prob(:,:,:) ! actual probabibility tables - end type UrrData - - contains - -!=============================================================================== -! REACTION_CLEAR resets and deallocates data in Reaction. -!=============================================================================== - - subroutine reaction_clear(this) - class(Reaction), intent(inout) :: this ! The Reaction object to clear - - if (associated(this % multiplicity_E)) deallocate(this % multiplicity_E) - end subroutine reaction_clear - -end module ace_header diff --git a/src/angleenergy_header.F90 b/src/angleenergy_header.F90 new file mode 100644 index 0000000000..483bad856c --- /dev/null +++ b/src/angleenergy_header.F90 @@ -0,0 +1,29 @@ +module angleenergy_header + +!=============================================================================== +! ANGLEENERGY (abstract) defines a correlated or uncorrelated angle-energy +! distribution that is a function of incoming energy. Each derived type must +! implement a sample() subroutine that returns an outgoing energy and scattering +! cosine given an incoming energy. +!=============================================================================== + + type, abstract :: AngleEnergy + contains + procedure(angleenergy_sample_), deferred :: sample + end type AngleEnergy + + abstract interface + subroutine angleenergy_sample_(this, E_in, E_out, mu) + import AngleEnergy + class(AngleEnergy), intent(in) :: this + real(8), intent(in) :: E_in + real(8), intent(out) :: E_out + real(8), intent(out) :: mu + end subroutine angleenergy_sample_ + end interface + + type :: AngleEnergyContainer + class(AngleEnergy), allocatable :: obj + end type AngleEnergyContainer + +end module angleenergy_header diff --git a/src/cmfd_input.F90 b/src/cmfd_input.F90 index 2d9df4182c..f69c09fe1c 100644 --- a/src/cmfd_input.F90 +++ b/src/cmfd_input.F90 @@ -70,7 +70,7 @@ contains inquire(FILE=filename, EXIST=file_exists) if (.not. file_exists) then ! CMFD is optional unless it is in on from settings - if (cmfd_on) then + if (cmfd_run) then call fatal_error("No CMFD XML file, '" // trim(filename) // "' does not& & exist!") end if diff --git a/src/constants.F90 b/src/constants.F90 index e0247f5c25..c7da2e9b6e 100644 --- a/src/constants.F90 +++ b/src/constants.F90 @@ -223,6 +223,12 @@ module constants NU_POLYNOMIAL = 1, & ! Nu values given by polynomial NU_TABULAR = 2 ! Nu values given by tabular distribution + ! Secondary particle emission type + integer, parameter :: & + EMISSION_PROMPT = 1, & ! Prompt emission of secondary particle + EMISSION_DELAYED = 2, & ! Delayed emission of secondary particle + EMISSION_TOTAL = 3 ! Yield represents total emission (prompt + delayed) + ! Cross section filetypes integer, parameter :: & ASCII = 1, & ! ASCII cross section file @@ -370,10 +376,11 @@ module constants ! ============================================================================ ! RANDOM NUMBER STREAM CONSTANTS - integer, parameter :: N_STREAMS = 3 - integer, parameter :: STREAM_TRACKING = 1 - integer, parameter :: STREAM_TALLIES = 2 - integer, parameter :: STREAM_SOURCE = 3 + integer, parameter :: N_STREAMS = 4 + integer, parameter :: STREAM_TRACKING = 1 + integer, parameter :: STREAM_TALLIES = 2 + integer, parameter :: STREAM_SOURCE = 3 + integer, parameter :: STREAM_URR_PTABLE = 4 ! ============================================================================ ! MISCELLANEOUS CONSTANTS diff --git a/src/cross_section.F90 b/src/cross_section.F90 index 4f5d2252ce..b2813bef0c 100644 --- a/src/cross_section.F90 +++ b/src/cross_section.F90 @@ -1,16 +1,14 @@ module cross_section - use ace_header, only: Reaction, UrrData use constants use energy_grid, only: grid_method, log_spacing use error, only: fatal_error - use fission, only: nu_total use global use list_header, only: ListElemInt use material_header, only: Material use nuclide_header use particle_header, only: Particle - use random_lcg, only: prn + use random_lcg, only: prn, future_prn, prn_set_stream use sab_header, only: SAlphaBeta use search, only: binary_search @@ -354,154 +352,136 @@ contains integer, intent(in) :: i_nuclide ! index into nuclides array real(8), intent(in) :: E ! energy - integer :: i ! loop index integer :: i_energy ! index for energy integer :: i_low ! band index at lower bounding energy integer :: i_up ! band index at upper bounding energy - integer :: same_nuc_idx ! index of same nuclide real(8) :: f ! interpolation factor real(8) :: r ! pseudo-random number real(8) :: elastic ! elastic cross section real(8) :: capture ! (n,gamma) cross section real(8) :: fission ! fission cross section real(8) :: inelastic ! inelastic cross section - logical :: same_nuc ! do we know the xs for this nuclide at this energy? - type(UrrData), pointer :: urr - type(NuclideCE), pointer :: nuc micro_xs(i_nuclide) % use_ptable = .true. - ! get pointer to probability table - nuc => nuclides(i_nuclide) - urr => nuc % urr_data + associate (nuc => nuclides(i_nuclide), urr => nuclides(i_nuclide) % urr_data) + ! determine energy table + i_energy = 1 + do + if (E < urr % energy(i_energy + 1)) exit + i_energy = i_energy + 1 + end do - ! determine energy table - i_energy = 1 - do - if (E < urr % energy(i_energy + 1)) exit - i_energy = i_energy + 1 - end do + ! determine interpolation factor on table + f = (E - urr % energy(i_energy)) / & + (urr % energy(i_energy + 1) - urr % energy(i_energy)) - ! determine interpolation factor on table - f = (E - urr % energy(i_energy)) / & - (urr % energy(i_energy + 1) - urr % energy(i_energy)) + ! sample probability table using the cumulative distribution - ! sample probability table using the cumulative distribution + ! Random numbers for xs calculation are sampled from a separated stream. + ! This guarantees the randomness and, at the same time, makes sure we reuse + ! random number for the same nuclide at different temperatures, therefore + ! preserving correlation of temperature in probability tables. + call prn_set_stream(STREAM_URR_PTABLE) + r = future_prn(int(nuc_zaid_dict % get_key(nuc % zaid), 8)) + call prn_set_stream(STREAM_TRACKING) - ! if we're dealing with a nuclide that we've previously encountered at - ! this energy but a different temperature, use the original random number to - ! preserve correlation of temperature in probability tables - same_nuc = .false. - do i = 1, nuc % nuc_list % size() - if (E /= ZERO .and. E == micro_xs(nuc % nuc_list % data(i)) % last_E) then - same_nuc = .true. - same_nuc_idx = i - exit - end if - end do + i_low = 1 + do + if (urr % prob(i_energy, URR_CUM_PROB, i_low) > r) exit + i_low = i_low + 1 + end do + i_up = 1 + do + if (urr % prob(i_energy + 1, URR_CUM_PROB, i_up) > r) exit + i_up = i_up + 1 + end do - if (same_nuc) then - r = micro_xs(nuc % nuc_list % data(same_nuc_idx)) % last_prn - else - r = prn() - micro_xs(i_nuclide) % last_prn = r - end if + ! determine elastic, fission, and capture cross sections from probability + ! table + if (urr % interp == LINEAR_LINEAR) then + elastic = (ONE - f) * urr % prob(i_energy, URR_ELASTIC, i_low) + & + f * urr % prob(i_energy + 1, URR_ELASTIC, i_up) + fission = (ONE - f) * urr % prob(i_energy, URR_FISSION, i_low) + & + f * urr % prob(i_energy + 1, URR_FISSION, i_up) + capture = (ONE - f) * urr % prob(i_energy, URR_N_GAMMA, i_low) + & + f * urr % prob(i_energy + 1, URR_N_GAMMA, i_up) + elseif (urr % interp == LOG_LOG) then + ! Get logarithmic interpolation factor + f = log(E / urr % energy(i_energy)) / & + log(urr % energy(i_energy + 1) / urr % energy(i_energy)) - i_low = 1 - do - if (urr % prob(i_energy, URR_CUM_PROB, i_low) > r) exit - i_low = i_low + 1 - end do - i_up = 1 - do - if (urr % prob(i_energy + 1, URR_CUM_PROB, i_up) > r) exit - i_up = i_up + 1 - end do - - ! determine elastic, fission, and capture cross sections from probability - ! table - if (urr % interp == LINEAR_LINEAR) then - elastic = (ONE - f) * urr % prob(i_energy, URR_ELASTIC, i_low) + & - f * urr % prob(i_energy + 1, URR_ELASTIC, i_up) - fission = (ONE - f) * urr % prob(i_energy, URR_FISSION, i_low) + & - f * urr % prob(i_energy + 1, URR_FISSION, i_up) - capture = (ONE - f) * urr % prob(i_energy, URR_N_GAMMA, i_low) + & - f * urr % prob(i_energy + 1, URR_N_GAMMA, i_up) - elseif (urr % interp == LOG_LOG) then - ! Get logarithmic interpolation factor - f = log(E / urr % energy(i_energy)) / & - log(urr % energy(i_energy + 1) / urr % energy(i_energy)) - - ! Calculate elastic cross section/factor - elastic = ZERO - if (urr % prob(i_energy, URR_ELASTIC, i_low) > ZERO .and. & - urr % prob(i_energy + 1, URR_ELASTIC, i_up) > ZERO) then - elastic = exp((ONE - f) * log(urr % prob(i_energy, URR_ELASTIC, & - i_low)) + f * log(urr % prob(i_energy + 1, URR_ELASTIC, & - i_up))) - end if - - ! Calculate fission cross section/factor - fission = ZERO - if (urr % prob(i_energy, URR_FISSION, i_low) > ZERO .and. & - urr % prob(i_energy + 1, URR_FISSION, i_up) > ZERO) then - fission = exp((ONE - f) * log(urr % prob(i_energy, URR_FISSION, & - i_low)) + f * log(urr % prob(i_energy + 1, URR_FISSION, & - i_up))) - end if - - ! Calculate capture cross section/factor - capture = ZERO - if (urr % prob(i_energy, URR_N_GAMMA, i_low) > ZERO .and. & - urr % prob(i_energy + 1, URR_N_GAMMA, i_up) > ZERO) then - capture = exp((ONE - f) * log(urr % prob(i_energy, URR_N_GAMMA, & - i_low)) + f * log(urr % prob(i_energy + 1, URR_N_GAMMA, & - i_up))) - end if - end if - - ! Determine treatment of inelastic scattering - inelastic = ZERO - if (urr % inelastic_flag > 0) then - ! Get index on energy grid and interpolation factor - i_energy = micro_xs(i_nuclide) % index_grid - f = micro_xs(i_nuclide) % interp_factor - - ! Determine inelastic scattering cross section - associate (rxn => nuc % reactions(nuc % urr_inelastic)) - if (i_energy >= rxn % threshold) then - inelastic = (ONE - f) * rxn % sigma(i_energy - rxn%threshold + 1) + & - f * rxn % sigma(i_energy - rxn%threshold + 2) + ! Calculate elastic cross section/factor + elastic = ZERO + if (urr % prob(i_energy, URR_ELASTIC, i_low) > ZERO .and. & + urr % prob(i_energy + 1, URR_ELASTIC, i_up) > ZERO) then + elastic = exp((ONE - f) * log(urr % prob(i_energy, URR_ELASTIC, & + i_low)) + f * log(urr % prob(i_energy + 1, URR_ELASTIC, & + i_up))) end if - end associate - end if - ! Multiply by smooth cross-section if needed - if (urr % multiply_smooth) then - elastic = elastic * micro_xs(i_nuclide) % elastic - capture = capture * (micro_xs(i_nuclide) % absorption - & - micro_xs(i_nuclide) % fission) - fission = fission * micro_xs(i_nuclide) % fission - end if + ! Calculate fission cross section/factor + fission = ZERO + if (urr % prob(i_energy, URR_FISSION, i_low) > ZERO .and. & + urr % prob(i_energy + 1, URR_FISSION, i_up) > ZERO) then + fission = exp((ONE - f) * log(urr % prob(i_energy, URR_FISSION, & + i_low)) + f * log(urr % prob(i_energy + 1, URR_FISSION, & + i_up))) + end if - ! Check for negative values - if (elastic < ZERO) elastic = ZERO - if (fission < ZERO) fission = ZERO - if (capture < ZERO) capture = ZERO + ! Calculate capture cross section/factor + capture = ZERO + if (urr % prob(i_energy, URR_N_GAMMA, i_low) > ZERO .and. & + urr % prob(i_energy + 1, URR_N_GAMMA, i_up) > ZERO) then + capture = exp((ONE - f) * log(urr % prob(i_energy, URR_N_GAMMA, & + i_low)) + f * log(urr % prob(i_energy + 1, URR_N_GAMMA, & + i_up))) + end if + end if - ! Set elastic, absorption, fission, and total cross sections. Note that the - ! total cross section is calculated as sum of partials rather than using the - ! table-provided value - micro_xs(i_nuclide) % elastic = elastic - micro_xs(i_nuclide) % absorption = capture + fission - micro_xs(i_nuclide) % fission = fission - micro_xs(i_nuclide) % total = elastic + inelastic + capture + fission + ! Determine treatment of inelastic scattering + inelastic = ZERO + if (urr % inelastic_flag > 0) then + ! Get index on energy grid and interpolation factor + i_energy = micro_xs(i_nuclide) % index_grid + f = micro_xs(i_nuclide) % interp_factor - ! Determine nu-fission cross section - if (nuc % fissionable) then - micro_xs(i_nuclide) % nu_fission = nu_total(nuc, E) * & - micro_xs(i_nuclide) % fission - end if + ! Determine inelastic scattering cross section + associate (rxn => nuc % reactions(nuc % urr_inelastic)) + if (i_energy >= rxn % threshold) then + inelastic = (ONE - f) * rxn % sigma(i_energy - rxn%threshold + 1) + & + f * rxn % sigma(i_energy - rxn%threshold + 2) + end if + end associate + end if + + ! Multiply by smooth cross-section if needed + if (urr % multiply_smooth) then + elastic = elastic * micro_xs(i_nuclide) % elastic + capture = capture * (micro_xs(i_nuclide) % absorption - & + micro_xs(i_nuclide) % fission) + fission = fission * micro_xs(i_nuclide) % fission + end if + + ! Check for negative values + if (elastic < ZERO) elastic = ZERO + if (fission < ZERO) fission = ZERO + if (capture < ZERO) capture = ZERO + + ! Set elastic, absorption, fission, and total cross sections. Note that the + ! total cross section is calculated as sum of partials rather than using the + ! table-provided value + micro_xs(i_nuclide) % elastic = elastic + micro_xs(i_nuclide) % absorption = capture + fission + micro_xs(i_nuclide) % fission = fission + micro_xs(i_nuclide) % total = elastic + inelastic + capture + fission + + ! Determine nu-fission cross section + if (nuc % fissionable) then + micro_xs(i_nuclide) % nu_fission = nuc % nu(E, EMISSION_TOTAL) * & + micro_xs(i_nuclide) % fission + end if + end associate end subroutine calculate_urr_xs diff --git a/src/eigenvalue.F90 b/src/eigenvalue.F90 index e735bc8d8a..9befbe3c3d 100644 --- a/src/eigenvalue.F90 +++ b/src/eigenvalue.F90 @@ -10,7 +10,7 @@ module eigenvalue use math, only: t_percentile use mesh, only: count_bank_sites use mesh_header, only: RegularMesh - use random_lcg, only: prn, set_particle_seed, prn_skip + use random_lcg, only: prn, set_particle_seed, advance_prn_seed use search, only: binary_search use string, only: to_str @@ -99,7 +99,7 @@ contains call set_particle_seed(int((current_batch - 1)*gen_per_batch + & current_gen,8)) - call prn_skip(start) + call advance_prn_seed(start) ! Determine how many fission sites we need to sample from the source bank ! and the probability for selecting a site. diff --git a/src/endf_header.F90 b/src/endf_header.F90 index 7388ea2f54..e9a073f4e6 100644 --- a/src/endf_header.F90 +++ b/src/endf_header.F90 @@ -1,12 +1,51 @@ module endf_header - implicit none + use constants, only: ZERO, HISTOGRAM, LINEAR_LINEAR, LINEAR_LOG, & + LOG_LINEAR, LOG_LOG + use search, only: binary_search + +implicit none + + type, abstract :: Function1D + contains + procedure(function1d_evaluate_), deferred :: evaluate + end type Function1D + + abstract interface + pure function function1d_evaluate_(this, x) result(y) + import Function1D + class(Function1D), intent(in) :: this + real(8), intent(in) :: x + real(8) :: y + end function function1d_evaluate_ + end interface !=============================================================================== -! TAB1 represents a one-dimensional interpolable function +! CONSTANT1D represents a constant one-dimensional function !=============================================================================== - type Tab1 + type, extends(Function1D) :: Constant1D + real(8) :: y + contains + procedure :: evaluate => constant1d_evaluate + end type Constant1D + +!=============================================================================== +! POLYNOMIAL represents a one-dimensional function expressed as a polynomial +!=============================================================================== + + type, extends(Function1D) :: Polynomial + real(8), allocatable :: coef(:) ! coefficients + contains + procedure :: evaluate => polynomial_evaluate + procedure :: from_ace => polynomial_from_ace + end type Polynomial + +!=============================================================================== +! TABULATED1D represents a one-dimensional interpolable function +!=============================================================================== + + type, extends(Function1D) :: Tabulated1D integer :: n_regions = 0 ! # of interpolation regions integer, allocatable :: nbt(:) ! values separating interpolation regions integer, allocatable :: int(:) ! interpolation scheme @@ -14,18 +53,78 @@ module endf_header real(8), allocatable :: x(:) ! values of abscissa real(8), allocatable :: y(:) ! values of ordinate contains - procedure :: from_ace - end type Tab1 + procedure :: from_ace => tabulated1d_from_ace + procedure :: evaluate => tabulated1d_evaluate + end type Tabulated1D contains - subroutine from_ace(this, xss, idx) - class(Tab1), intent(inout) :: this +!=============================================================================== +! Constant1D implementation +!=============================================================================== + + pure function constant1d_evaluate(this, x) result(y) + class(Constant1D), intent(in) :: this + real(8), intent(in) :: x + real(8) :: y + + y = this % y + end function constant1d_evaluate + +!=============================================================================== +! Polynomial implementation +!=============================================================================== + + subroutine polynomial_from_ace(this, xss, idx) + class(Polynomial), intent(inout) :: this + real(8), intent(in) :: xss(:) + integer, intent(in) :: idx + + integer :: nc ! number of coefficients (order - 1) + + ! Clear space + if (allocated(this % coef)) deallocate(this % coef) + + ! Determine number of coefficients + nc = nint(xss(idx)) + + ! Allocate space for and read coefficients + allocate(this % coef(nc)) + this % coef(:) = xss(idx + 1 : idx + nc) + end subroutine polynomial_from_ace + + pure function polynomial_evaluate(this, x) result(y) + class(Polynomial), intent(in) :: this + real(8), intent(in) :: x + real(8) :: y + + integer :: i + + ! Use Horner's rule to evaluate polynomial. Note that coefficients are + ! ordered in increasing powers of x. + y = ZERO + do i = size(this % coef), 1, -1 + y = y*x + this % coef(i) + end do + end function polynomial_evaluate + +!=============================================================================== +! Tabulated1D implementation +!=============================================================================== + + subroutine tabulated1d_from_ace(this, xss, idx) + class(Tabulated1D), intent(inout) :: this real(8), intent(in) :: xss(:) integer, intent(in) :: idx integer :: nr, ne + ! Clear space + if (allocated(this % nbt)) deallocate(this % nbt) + if (allocated(this % int)) deallocate(this % int) + if (allocated(this % x)) deallocate(this % x) + if (allocated(this % y)) deallocate(this % y) + ! Determine number of regions nr = nint(xss(idx)) this%n_regions = nr @@ -47,6 +146,81 @@ contains allocate(this%y(ne)) this%x(:) = xss(idx + 2*nr + 2 : idx + 2*nr + 1 + ne) this%y(:) = xss(idx + 2*nr + 2 + ne : idx + 2*nr + 1 + 2*ne) - end subroutine from_ace + end subroutine tabulated1d_from_ace + + pure function tabulated1d_evaluate(this, x) result(y) + class(Tabulated1D), intent(in) :: this + real(8), intent(in) :: x ! x value to find y at + real(8) :: y ! y(x) + + integer :: i ! bin in which to interpolate + integer :: j ! index for interpolation region + integer :: n_regions ! number of interpolation regions + integer :: n_pairs ! number of tabulated values + integer :: interp ! ENDF interpolation scheme + real(8) :: r ! interpolation factor + real(8) :: x0, x1 ! bounding x values + real(8) :: y0, y1 ! bounding y values + + ! determine number of interpolation regions and pairs + n_regions = this % n_regions + n_pairs = this % n_pairs + + ! find which bin the abscissa is in -- if the abscissa is outside the + ! tabulated range, the first or last point is chosen, i.e. no interpolation + ! is done outside the energy range + if (x < this % x(1)) then + y = this % y(1) + return + elseif (x > this % x(n_pairs)) then + y = this % y(n_pairs) + return + else + i = binary_search(this % x, n_pairs, x) + end if + + ! determine interpolation scheme + if (n_regions == 0) then + interp = LINEAR_LINEAR + elseif (n_regions == 1) then + interp = this % int(1) + elseif (n_regions > 1) then + do j = 1, n_regions + if (i < this % nbt(j)) then + interp = this % int(j) + exit + end if + end do + end if + + ! handle special case of histogram interpolation + if (interp == HISTOGRAM) then + y = this % y(i) + return + end if + + ! determine bounding values + x0 = this % x(i) + x1 = this % x(i + 1) + y0 = this % y(i) + y1 = this % y(i + 1) + + ! determine interpolation factor and interpolated value + select case (interp) + case (LINEAR_LINEAR) + r = (x - x0)/(x1 - x0) + y = y0 + r*(y1 - y0) + case (LINEAR_LOG) + r = log(x/x0)/log(x1/x0) + y = y0 + r*(y1 - y0) + case (LOG_LINEAR) + r = (x - x0)/(x1 - x0) + y = y0*exp(r*log(y1/y0)) + case (LOG_LOG) + r = log(x/x0)/log(x1/x0) + y = y0*exp(r*log(y1/y0)) + end select + + end function tabulated1d_evaluate end module endf_header diff --git a/src/energy_distribution.F90 b/src/energy_distribution.F90 index 8b2cc10c9c..3a42bb73db 100644 --- a/src/energy_distribution.F90 +++ b/src/energy_distribution.F90 @@ -1,8 +1,7 @@ module energy_distribution use constants, only: ZERO, ONE, TWO, PI, HISTOGRAM, LINEAR_LINEAR - use endf_header, only: Tab1 - use interpolation, only: interpolate_tab1 + use endf_header, only: Tabulated1D use math, only: maxwell_spectrum, watt_spectrum use random_lcg, only: prn use search, only: binary_search @@ -83,8 +82,8 @@ module energy_distribution integer :: n_region integer, allocatable :: breakpoints(:) integer, allocatable :: interpolation(:) - real(8), allocatable :: energy_in(:) - type(CTTable), allocatable :: energy_out(:) + real(8), allocatable :: energy(:) + type(CTTable), allocatable :: distribution(:) contains procedure :: sample => continuous_sample end type ContinuousTabular @@ -95,7 +94,7 @@ module energy_distribution !=============================================================================== type, extends(EnergyDistribution) :: MaxwellEnergy - type(Tab1) :: theta ! incoming-energy-dependent parameter + type(Tabulated1D) :: theta ! incoming-energy-dependent parameter real(8) :: u ! restriction energy contains procedure :: sample => maxwellenergy_sample @@ -107,7 +106,7 @@ module energy_distribution !=============================================================================== type, extends(EnergyDistribution) :: Evaporation - type(Tab1) :: theta + type(Tabulated1D) :: theta real(8) :: u contains procedure :: sample => evaporation_sample @@ -119,28 +118,13 @@ module energy_distribution !=============================================================================== type, extends(EnergyDistribution) :: WattEnergy - type(Tab1) :: a - type(Tab1) :: b + type(Tabulated1D) :: a + type(Tabulated1D) :: b real(8) :: u contains procedure :: sample => watt_sample end type WattEnergy -!=============================================================================== -! NBODYPHASESPACE gives the energy distribution for particles emitted from -! neutron and charged-particle reactions. This corresponds to ACE law 66 and -! ENDF File 6, LAW=6. -!=============================================================================== - - type, extends(EnergyDistribution) :: NBodyPhaseSpace - integer :: n_bodies - real(8) :: mass_ratio - real(8) :: A - real(8) :: Q - contains - procedure :: sample => nbody_sample - end type NBodyPhaseSpace - contains function equiprobable_sample(this, E_in) result(E_out) @@ -202,6 +186,7 @@ contains end if end function equiprobable_sample + function level_inelastic_sample(this, E_in) result(E_out) class(LevelInelastic), intent(in) :: this real(8), intent(in) :: E_in @@ -210,6 +195,7 @@ contains E_out = this%mass_ratio*(E_in - this%threshold) end function level_inelastic_sample + function continuous_sample(this, E_in) result(E_out) class(ContinuousTabular), intent(in) :: this real(8), intent(in) :: E_in ! incoming energy @@ -238,17 +224,17 @@ contains ! Find energy bin and calculate interpolation factor -- if the energy is ! outside the range of the tabulated energies, choose the first or last bins - n_energy_in = size(this%energy_in) - if (E_in < this%energy_in(1)) then + n_energy_in = size(this%energy) + if (E_in < this%energy(1)) then i = 1 r = ZERO - elseif (E_in > this%energy_in(n_energy_in)) then + elseif (E_in > this%energy(n_energy_in)) then i = n_energy_in - 1 r = ONE else - i = binary_search(this%energy_in, n_energy_in, E_in) - r = (E_in - this%energy_in(i)) / & - (this%energy_in(i+1) - this%energy_in(i)) + i = binary_search(this%energy, n_energy_in, E_in) + r = (E_in - this%energy(i)) / & + (this%energy(i+1) - this%energy(i)) end if ! Sample between the ith and (i+1)th bin @@ -263,23 +249,23 @@ contains end if ! Interpolation for energy E1 and EK - n_energy_out = size(this%energy_out(i)%e_out) - E_i_1 = this%energy_out(i)%e_out(1) - E_i_K = this%energy_out(i)%e_out(n_energy_out) + n_energy_out = size(this%distribution(i)%e_out) + E_i_1 = this%distribution(i)%e_out(1) + E_i_K = this%distribution(i)%e_out(n_energy_out) - n_energy_out = size(this%energy_out(i+1)%e_out) - E_i1_1 = this%energy_out(i+1)%e_out(1) - E_i1_K = this%energy_out(i+1)%e_out(n_energy_out) + n_energy_out = size(this%distribution(i+1)%e_out) + E_i1_1 = this%distribution(i+1)%e_out(1) + E_i1_K = this%distribution(i+1)%e_out(n_energy_out) E_1 = E_i_1 + r*(E_i1_1 - E_i_1) E_K = E_i_K + r*(E_i1_K - E_i_K) ! Determine outgoing energy bin - n_energy_out = size(this%energy_out(l)%e_out) + n_energy_out = size(this%distribution(l)%e_out) r1 = prn() - c_k = this%energy_out(l)%c(1) + c_k = this%distribution(l)%c(1) do k = 1, n_energy_out - 1 - c_k1 = this%energy_out(l)%c(k+1) + c_k1 = this%distribution(l)%c(k+1) if (r1 < c_k1) exit c_k = c_k1 end do @@ -287,9 +273,9 @@ contains ! Check to make sure k is <= NP - 1 k = min(k, n_energy_out - 1) - E_l_k = this%energy_out(l)%e_out(k) - p_l_k = this%energy_out(l)%p(k) - if (this%energy_out(l)%interpolation == HISTOGRAM) then + E_l_k = this%distribution(l)%e_out(k) + p_l_k = this%distribution(l)%p(k) + if (this%distribution(l)%interpolation == HISTOGRAM) then ! Histogram interpolation if (p_l_k > ZERO) then E_out = E_l_k + (r1 - c_k)/p_l_k @@ -297,10 +283,10 @@ contains E_out = E_l_k end if - elseif (this%energy_out(l)%interpolation == LINEAR_LINEAR) then + elseif (this%distribution(l)%interpolation == LINEAR_LINEAR) then ! Linear-linear interpolation - E_l_k1 = this%energy_out(l)%e_out(k+1) - p_l_k1 = this%energy_out(l)%p(k+1) + E_l_k1 = this%distribution(l)%e_out(k+1) + p_l_k1 = this%distribution(l)%p(k+1) frac = (p_l_k1 - p_l_k)/(E_l_k1 - E_l_k) if (frac == ZERO) then @@ -321,6 +307,7 @@ contains end if end function continuous_sample + function maxwellenergy_sample(this, E_in) result(E_out) class(MaxwellEnergy), intent(in) :: this real(8), intent(in) :: E_in ! incoming energy @@ -329,7 +316,7 @@ contains real(8) :: theta ! Maxwell distribution parameter ! Get temperature corresponding to incoming energy - theta = interpolate_tab1(this%theta, E_in) + theta = this % theta % evaluate(E_in) do ! Sample maxwell fission spectrum @@ -349,9 +336,9 @@ contains real(8) :: x, y, v ! Get temperature corresponding to incoming energy - theta = interpolate_tab1(this%theta, E_in) + theta = this % theta % evaluate(E_in) - y = (E_in - this%U)/theta + y = (E_in - this%u)/theta v = 1 - exp(-y) ! Sample outgoing energy based on evaporation spectrum probability @@ -372,10 +359,10 @@ contains real(8) :: a, b ! Watt spectrum parameters ! Determine Watt parameter 'a' from tabulated function - a = interpolate_tab1(this%a, E_in) + a = this % a % evaluate(E_in) ! Determine Watt parameter 'b' from tabulated function - b = interpolate_tab1(this%b, E_in) + b = this % b % evaluate(E_in) do ! Sample energy-dependent Watt fission spectrum @@ -386,44 +373,4 @@ contains end do end function watt_sample - function nbody_sample(this, E_in) result(E_out) - class(NBodyPhaseSpace), intent(in) :: this - real(8), intent(in) :: E_in ! incoming energy - real(8) :: E_out ! sampled outgoing energy - - real(8) :: Ap ! total mass of particles in neutron masses - real(8) :: E_max ! maximum possible COM energy - real(8) :: x, y, v - real(8) :: r1, r2, r3, r4, r5, r6 - - ! Determine E_max parameter - Ap = this%mass_ratio - E_max = (Ap - ONE)/Ap * (this%A/(this%A + ONE)*E_in + this%Q) - - ! x is essentially a Maxwellian distribution - x = maxwell_spectrum(ONE) - - select case (this%n_bodies) - case (3) - y = maxwell_spectrum(ONE) - case (4) - r1 = prn() - r2 = prn() - r3 = prn() - y = -log(r1*r2*r3) - case (5) - r1 = prn() - r2 = prn() - r3 = prn() - r4 = prn() - r5 = prn() - r6 = prn() - y = -log(r1*r2*r3*r4) - log(r5) * cos(PI/TWO*r6)**2 - end select - - ! Now determine v and E_out - v = x/(x+y) - E_out = E_max * v - end function nbody_sample - end module energy_distribution diff --git a/src/fission.F90 b/src/fission.F90 deleted file mode 100644 index 77ee641787..0000000000 --- a/src/fission.F90 +++ /dev/null @@ -1,161 +0,0 @@ -module fission - - use nuclide_header, only: NuclideCE - use constants - use error, only: fatal_error - use interpolation, only: interpolate_tab1 - use search, only: binary_search - - implicit none - -contains - -!=============================================================================== -! NU_TOTAL calculates the total number of neutrons emitted per fission for a -! given nuclide and incoming neutron energy -!=============================================================================== - - pure function nu_total(nuc, E) result(nu) - type(NuclideCE), intent(in) :: nuc ! nuclide from which to find nu - real(8), intent(in) :: E ! energy of incoming neutron - real(8) :: nu ! number of total neutrons emitted per fission - - integer :: i ! loop index - integer :: NC ! number of polynomial coefficients - real(8) :: c ! polynomial coefficient - - if (nuc % nu_t_type == NU_NONE) then - nu = ERROR_REAL - elseif (nuc % nu_t_type == NU_POLYNOMIAL) then - ! determine number of coefficients - NC = int(nuc % nu_t_data(1)) - - ! sum up polynomial in energy - nu = ZERO - do i = 0, NC - 1 - c = nuc % nu_t_data(i+2) - nu = nu + c * E**i - end do - elseif (nuc % nu_t_type == NU_TABULAR) then - ! use ENDF interpolation laws to determine nu - nu = interpolate_tab1(nuc % nu_t_data, E) - end if - - end function nu_total - -!=============================================================================== -! NU_PROMPT calculates the total number of prompt neutrons emitted per fission -! for a given nuclide and incoming neutron energy -!=============================================================================== - - pure function nu_prompt(nuc, E) result(nu) - type(NuclideCE), intent(in) :: nuc ! nuclide from which to find nu - real(8), intent(in) :: E ! energy of incoming neutron - real(8) :: nu ! number of prompt neutrons emitted per fission - - integer :: i ! loop index - integer :: NC ! number of polynomial coefficients - real(8) :: c ! polynomial coefficient - - if (nuc % nu_p_type == NU_NONE) then - ! since no prompt or delayed data is present, this means all neutron - ! emission is prompt -- WARNING: This currently returns zero. The calling - ! routine needs to know this situation is occurring since we don't want - ! to call nu_total unnecessarily if it has already been called. - nu = ZERO - elseif (nuc % nu_p_type == NU_POLYNOMIAL) then - ! determine number of coefficients - NC = int(nuc % nu_p_data(1)) - - ! sum up polynomial in energy - nu = ZERO - do i = 0, NC - 1 - c = nuc % nu_p_data(i+2) - nu = nu + c * E**i - end do - elseif (nuc % nu_p_type == NU_TABULAR) then - ! use ENDF interpolation laws to determine nu - nu = interpolate_tab1(nuc % nu_p_data, E) - end if - - end function nu_prompt - -!=============================================================================== -! NU_DELAYED calculates the total number of delayed neutrons emitted per fission -! for a given nuclide and incoming neutron energy -!=============================================================================== - - pure function nu_delayed(nuc, E) result(nu) - type(NuclideCE), intent(in) :: nuc ! nuclide from which to find nu - real(8), intent(in) :: E ! energy of incoming neutron - real(8) :: nu ! number of delayed neutrons emitted per fission - - if (nuc % nu_d_type == NU_NONE) then - ! since no prompt or delayed data is present, this means all neutron - ! emission is prompt -- WARNING: This currently returns zero. The calling - ! routine needs to know this situation is occurring since we don't want - ! to call nu_delayed unnecessarily if it has already been called. - nu = ZERO - elseif (nuc % nu_d_type == NU_TABULAR) then - ! use ENDF interpolation laws to determine nu - nu = interpolate_tab1(nuc % nu_d_data, E) - end if - - end function nu_delayed - -!=============================================================================== -! YIELD_DELAYED calculates the fractional yield of delayed neutrons emitted for -! a given nuclide and incoming neutron energy in a given delayed group. -!=============================================================================== - - pure function yield_delayed(nuc, E, g) result(yield) - type(NuclideCE), intent(in) :: nuc ! nuclide from which to find nu - real(8), intent(in) :: E ! energy of incoming neutron - real(8) :: yield ! delayed neutron precursor yield - integer, intent(in) :: g ! the delayed neutron precursor group - integer :: d ! precursor group - integer :: lc ! index before start of energies/nu values - integer :: NR ! number of interpolation regions - integer :: NE ! number of energies tabulated - - yield = ZERO - - if (g > nuc % n_precursor .or. g < 1) then - ! if the precursor group is outside the range of precursor groups for - ! the input nuclide, return ZERO. - yield = ZERO - else if (nuc % nu_d_type == NU_NONE) then - ! since no prompt or delayed data is present, this means all neutron - ! emission is prompt -- WARNING: This currently returns zero. The calling - ! routine needs to know this situation is occurring since we don't want - ! to call yield_delayed unnecessarily if it has already been called. - yield = ZERO - else if (nuc % nu_d_type == NU_TABULAR) then - - lc = 1 - - ! loop over delayed groups and determine the yield for the desired group - do d = 1, nuc % n_precursor - - ! determine number of interpolation regions and energies - NR = int(nuc % nu_d_precursor_data(lc + 1)) - NE = int(nuc % nu_d_precursor_data(lc + 2 + 2*NR)) - - ! check if this is the desired group - if (d == g) then - - ! determine delayed neutron precursor yield for group g - yield = interpolate_tab1(nuc % nu_d_precursor_data( & - lc+1:lc+2+2*NR+2*NE), E) - - exit - end if - - ! advance pointer - lc = lc + 2 + 2*NR + 2*NE + 1 - end do - end if - - end function yield_delayed - -end module fission diff --git a/src/global.F90 b/src/global.F90 index 1f41d12f53..36570ae666 100644 --- a/src/global.F90 +++ b/src/global.F90 @@ -105,6 +105,10 @@ module global ! What to assume for expanding natural elements integer :: default_expand = ENDF_BVII1 + ! Total amount of nuclide ZAID and dictionary of nuclide ZAID and index + integer(8) :: n_nuc_zaid_total + type(DictIntInt) :: nuc_zaid_dict + ! ============================================================================ ! MULTI-GROUP CROSS SECTION RELATED VARIABLES diff --git a/src/initialize.F90 b/src/initialize.F90 index 74eaf638fa..da4c8f7339 100644 --- a/src/initialize.F90 +++ b/src/initialize.F90 @@ -1,6 +1,6 @@ module initialize - use ace, only: read_ace_xs, same_nuclide_list + use ace, only: read_ace_xs use bank_header, only: Bank use constants use dict_header, only: DictIntInt, ElemKeyValueII @@ -16,7 +16,7 @@ module initialize hdf5_tallyresult_t, hdf5_integer8_t use input_xml, only: read_input_xml, cells_in_univ_dict, read_plots_xml use material_header, only: Material - use mgxs_data, only: read_mgxs, same_NuclideMG_list, create_macro_xs + use mgxs_data, only: read_mgxs, create_macro_xs use output, only: title, header, print_version, write_message, & print_usage, write_xs_summary, print_plot use random_lcg, only: initialize_prng @@ -122,13 +122,6 @@ contains end if call time_read_xs%stop() - ! Create linked lists for multiple instances of the same nuclide - if (run_CE) then - call same_nuclide_list() - else - call same_nuclidemg_list() - end if - ! Construct information needed for nuclear data if (run_CE) then ! Construct unionized or log energy grid for cross-sections diff --git a/src/input_xml.F90 b/src/input_xml.F90 index 3cf88de544..4385a9228c 100644 --- a/src/input_xml.F90 +++ b/src/input_xml.F90 @@ -1891,21 +1891,23 @@ contains subroutine read_materials_xml() - integer :: i ! loop index for materials - integer :: j ! loop index for nuclides - integer :: k ! loop index for elements - integer :: n ! number of nuclides - integer :: n_sab ! number of sab tables for a material - integer :: n_nuc_ele ! number of nuclides in an element - integer :: index_list ! index in xs_listings array - integer :: index_nuclide ! index in nuclides - integer :: index_sab ! index in sab_tables - real(8) :: val ! value entered for density - real(8) :: temp_dble ! temporary double prec. real - logical :: file_exists ! does materials.xml exist? - logical :: sum_density ! density is taken to be sum of nuclide densities - character(12) :: name ! name of isotope, e.g. 92235.03c - character(12) :: alias ! alias of nuclide, e.g. U-235.03c + integer :: i ! loop index for materials + integer :: j ! loop index for nuclides + integer :: k ! loop index for elements + integer :: n ! number of nuclides + integer :: n_sab ! number of sab tables for a material + integer :: n_nuc_ele ! number of nuclides in an element + integer :: index_list ! index in xs_listings array + integer :: index_nuclide ! index in nuclides + integer :: index_nuc_zaid ! index in nuclide ZAID + integer :: index_sab ! index in sab_tables + real(8) :: val ! value entered for density + real(8) :: temp_dble ! temporary double prec. real + logical :: file_exists ! does materials.xml exist? + logical :: sum_density ! density is taken to be sum of nuclide densities + integer :: zaid ! ZAID of nuclide + character(12) :: name ! name of isotope, e.g. 92235.03c + character(12) :: alias ! alias of nuclide, e.g. U-235.03c character(MAX_WORD_LEN) :: units ! units on density character(MAX_LINE_LEN) :: filename ! absolute path to materials.xml character(MAX_LINE_LEN) :: temp_str ! temporary string when reading @@ -1955,6 +1957,7 @@ contains ! Initialize count for number of nuclides/S(a,b) tables index_nuclide = 0 + index_nuc_zaid = 0 index_sab = 0 do i = 1, n_materials @@ -2095,21 +2098,6 @@ contains end if end if - ! Check enforced isotropic lab scattering - if (check_for_node(node_nuc, "scattering")) then - call get_node_value(node_nuc, "scattering", temp_str) - if (adjustl(to_lower(temp_str)) == "iso-in-lab") then - call list_iso_lab % append(1) - else if (adjustl(to_lower(temp_str)) == "data") then - call list_iso_lab % append(0) - else - call fatal_error("Scattering must be isotropic in lab or follow& - & the ACE file data") - end if - else - call list_iso_lab % append(0) - end if - ! store full name call get_node_value(node_nuc, "name", temp_str) if (check_for_node(node_nuc, "xs")) & @@ -2154,6 +2142,23 @@ contains end if end if + ! Check enforced isotropic lab scattering + if (run_CE) then + if (check_for_node(node_nuc, "scattering")) then + call get_node_value(node_nuc, "scattering", temp_str) + if (adjustl(to_lower(temp_str)) == "iso-in-lab") then + call list_iso_lab % append(1) + else if (adjustl(to_lower(temp_str)) == "data") then + call list_iso_lab % append(0) + else + call fatal_error("Scattering must be isotropic in lab or follow& + & the ACE file data") + end if + else + call list_iso_lab % append(0) + end if + end if + ! store full name call get_node_value(node_nuc, "name", temp_str) if (check_for_node(node_nuc, "xs")) & @@ -2248,23 +2253,25 @@ contains n_nuc_ele = list_names % size() - n_nuc_ele ! Check enforced isotropic lab scattering - if (check_for_node(node_ele, "scattering")) then - call get_node_value(node_ele, "scattering", temp_str) - else - temp_str = "data" - end if - - ! Set ace or iso-in-lab scattering for each nuclide in element - do k = 1, n_nuc_ele - if (adjustl(to_lower(temp_str)) == "iso-in-lab") then - call list_iso_lab % append(1) - else if (adjustl(to_lower(temp_str)) == "data") then - call list_iso_lab % append(0) + if (run_CE) then + if (check_for_node(node_ele, "scattering")) then + call get_node_value(node_ele, "scattering", temp_str) else - call fatal_error("Scattering must be isotropic in lab or follow& - & the ACE file data") + temp_str = "data" end if - end do + + ! Set ace or iso-in-lab scattering for each nuclide in element + do k = 1, n_nuc_ele + if (adjustl(to_lower(temp_str)) == "iso-in-lab") then + call list_iso_lab % append(1) + else if (adjustl(to_lower(temp_str)) == "data") then + call list_iso_lab % append(0) + else + call fatal_error("Scattering must be isotropic in lab or follow& + & the ACE file data") + end if + end do + end if end do NATURAL_ELEMENTS @@ -2300,6 +2307,7 @@ contains index_list = xs_listing_dict % get_key(to_lower(name)) name = xs_listings(index_list) % name alias = xs_listings(index_list) % alias + zaid = xs_listings(index_list) % zaid ! If this nuclide hasn't been encountered yet, we need to add its name ! and alias to the nuclide_dict @@ -2313,6 +2321,12 @@ contains mat % nuclide(j) = nuclide_dict % get_key(to_lower(name)) end if + ! Construct dict of nuclide zaid + if (.not. nuc_zaid_dict % has_key(zaid)) then + index_nuc_zaid = index_nuc_zaid + 1 + call nuc_zaid_dict % add_key(zaid, index_nuc_zaid) + end if + ! Copy name and atom/weight percent mat % names(j) = name mat % atom_density(j) = list_density % get_item(j) @@ -2407,6 +2421,7 @@ contains ! Set total number of nuclides and S(a,b) tables n_nuclides_total = index_nuclide n_sab_tables = index_sab + n_nuc_zaid_total = index_nuc_zaid ! Close materials XML file call close_xmldoc(doc) diff --git a/src/interpolation.F90 b/src/interpolation.F90 deleted file mode 100644 index 5f87870677..0000000000 --- a/src/interpolation.F90 +++ /dev/null @@ -1,205 +0,0 @@ -module interpolation - - use constants - use endf_header, only: Tab1 - use search, only: binary_search - use string, only: to_str - - implicit none - - interface interpolate_tab1 - module procedure interpolate_tab1_array, interpolate_tab1_object - end interface interpolate_tab1 - -contains - -!=============================================================================== -! INTERPOLATE_TAB1_ARRAY interpolates a function between two points based on -! particular interpolation scheme. The data needs to be organized as a ENDF TAB1 -! type function containing the interpolation regions, break points, and -! tabulated x's and y's. -!=============================================================================== - - pure function interpolate_tab1_array(data, x, loc_start) result(y) - - real(8), intent(in) :: data(:) ! array of data - real(8), intent(in) :: x ! x value to find y at - integer, intent(in), optional :: loc_start ! starting location in data - real(8) :: y ! y(x) - - integer :: i ! bin in which to interpolate - integer :: j ! index for interpolation region - integer :: loc_0 ! starting location - integer :: n_regions ! number of interpolation regions - integer :: n_points ! number of tabulated values - integer :: interp ! ENDF interpolation scheme - integer :: loc_breakpoints ! location of breakpoints in data - integer :: loc_interp ! location of interpolation schemes in data - integer :: loc_x ! location of x's in data - integer :: loc_y ! location of y's in data - real(8) :: r ! interpolation factor - real(8) :: x0, x1 ! bounding x values - real(8) :: y0, y1 ! bounding y values - - ! determine starting location - if (present(loc_start)) then - loc_0 = loc_start - 1 - else - loc_0 = 0 - end if - - ! determine number of interpolation regions - n_regions = int(data(loc_0 + 1)) - - ! set locations for breakpoints and interpolation schemes - loc_breakpoints = loc_0 + 1 - loc_interp = loc_breakpoints + n_regions - - ! determine number of tabulated values - n_points = int(data(loc_interp + n_regions + 1)) - - ! set locations for x's and y's - loc_x = loc_interp + n_regions + 1 - loc_y = loc_x + n_points - - ! find which bin the abscissa is in -- if the abscissa is outside the - ! tabulated range, the first or last point is chosen, i.e. no interpolation - ! is done outside the energy range - if (x < data(loc_x + 1)) then - y = data(loc_y + 1) - return - elseif (x > data(loc_x + n_points)) then - y = data(loc_y + n_points) - return - else - i = binary_search(data(loc_x + 1:loc_x + n_points), n_points, x) - end if - - ! determine interpolation scheme - if (n_regions == 0) then - interp = LINEAR_LINEAR - elseif (n_regions == 1) then - interp = int(data(loc_interp + 1)) - elseif (n_regions > 1) then - do j = 1, n_regions - if (i < data(loc_breakpoints + j)) then - interp = int(data(loc_interp + j)) - exit - end if - end do - end if - - ! handle special case of histogram interpolation - if (interp == HISTOGRAM) then - y = data(loc_y + i) - return - end if - - ! determine bounding values - x0 = data(loc_x + i) - x1 = data(loc_x + i + 1) - y0 = data(loc_y + i) - y1 = data(loc_y + i + 1) - - ! determine interpolation factor and interpolated value - select case (interp) - case (LINEAR_LINEAR) - r = (x - x0)/(x1 - x0) - y = y0 + r*(y1 - y0) - case (LINEAR_LOG) - r = log(x/x0)/log(x1/x0) - y = y0 + r*(y1 - y0) - case (LOG_LINEAR) - r = (x - x0)/(x1 - x0) - y = y0*exp(r*log(y1/y0)) - case (LOG_LOG) - r = log(x/x0)/log(x1/x0) - y = y0*exp(r*log(y1/y0)) - end select - - end function interpolate_tab1_array - -!=============================================================================== -! INTERPOLATE_TAB1_OBJECT interpolates a function between two points based on -! particular interpolation scheme. The data needs to be organized as a ENDF TAB1 -! type function containing the interpolation regions, break points, and -! tabulated x's and y's. -!=============================================================================== - - pure function interpolate_tab1_object(obj, x) result(y) - - type(Tab1), intent(in) :: obj ! ENDF Tab1 interpolable function - real(8), intent(in) :: x ! x value to find y at - real(8) :: y ! y(x) - - integer :: i ! bin in which to interpolate - integer :: j ! index for interpolation region - integer :: n_regions ! number of interpolation regions - integer :: n_pairs ! number of tabulated values - integer :: interp ! ENDF interpolation scheme - real(8) :: r ! interpolation factor - real(8) :: x0, x1 ! bounding x values - real(8) :: y0, y1 ! bounding y values - - ! determine number of interpolation regions and pairs - n_regions = obj % n_regions - n_pairs = obj % n_pairs - - ! find which bin the abscissa is in -- if the abscissa is outside the - ! tabulated range, the first or last point is chosen, i.e. no interpolation - ! is done outside the energy range - if (x < obj % x(1)) then - y = obj % y(1) - return - elseif (x > obj % x(n_pairs)) then - y = obj % y(n_pairs) - return - else - i = binary_search(obj % x, n_pairs, x) - end if - - ! determine interpolation scheme - if (n_regions == 0) then - interp = LINEAR_LINEAR - elseif (n_regions == 1) then - interp = obj % int(1) - elseif (n_regions > 1) then - do j = 1, n_regions - if (i < obj % nbt(j)) then - interp = obj % int(j) - exit - end if - end do - end if - - ! handle special case of histogram interpolation - if (interp == HISTOGRAM) then - y = obj % y(i) - return - end if - - ! determine bounding values - x0 = obj % x(i) - x1 = obj % x(i + 1) - y0 = obj % y(i) - y1 = obj % y(i + 1) - - ! determine interpolation factor and interpolated value - select case (interp) - case (LINEAR_LINEAR) - r = (x - x0)/(x1 - x0) - y = y0 + r*(y1 - y0) - case (LINEAR_LOG) - r = log(x/x0)/log(x1/x0) - y = y0 + r*(y1 - y0) - case (LOG_LINEAR) - r = (x - x0)/(x1 - x0) - y = y0*exp(r*log(y1/y0)) - case (LOG_LOG) - r = log(x/x0)/log(x1/x0) - y = y0*exp(r*log(y1/y0)) - end select - - end function interpolate_tab1_object - -end module interpolation diff --git a/src/mgxs_data.F90 b/src/mgxs_data.F90 index 796269151c..08941870cd 100644 --- a/src/mgxs_data.F90 +++ b/src/mgxs_data.F90 @@ -161,28 +161,6 @@ contains end subroutine read_mgxs -!=============================================================================== -! SAME_NUCLIDEMG_LIST creates a linked list for each nuclide containing the -! indices in the nuclides array of all other instances of that nuclide. For -! example, the same nuclide may exist at multiple temperatures resulting -! in multiple entries in the nuclides array for a single zaid number. -!=============================================================================== - - subroutine same_nuclidemg_list() - - integer :: i ! index in nuclides array - integer :: j ! index in nuclides array - - do i = 1, n_nuclides_total - do j = 1, n_nuclides_total - if (nuclides_MG(i) % obj % zaid == nuclides_MG(j) % obj % zaid) then - call nuclides_MG(i) % obj % nuc_list % push_back(j) - end if - end do - end do - - end subroutine same_nuclidemg_list - !=============================================================================== ! CREATE_MACRO_XS generates the macroscopic x/s from the microscopic input data !=============================================================================== diff --git a/src/nuclide_header.F90 b/src/nuclide_header.F90 index 43fea77b65..6634bcc943 100644 --- a/src/nuclide_header.F90 +++ b/src/nuclide_header.F90 @@ -2,13 +2,18 @@ module nuclide_header use, intrinsic :: ISO_FORTRAN_ENV - use ace_header use constants - use endf, only: reaction_name - use error, only: fatal_error + use dict_header, only: DictIntInt + use endf, only: reaction_name, is_fission, is_disappearance + use endf_header, only: Function1D + use error, only: fatal_error, warning use list_header, only: ListInt use math, only: evaluate_legendre, find_angle + use product_header, only: AngleEnergyContainer + use reaction_header, only: Reaction + use stl_vector, only: VectorInt use string + use urr_header, only: UrrData use xml_interface implicit none @@ -26,9 +31,6 @@ module nuclide_header integer :: listing ! index in xs_listings real(8) :: kT ! temperature in MeV (k*T) - ! Linked list of indices in nuclides array of instances of this same nuclide - type(VectorInt) :: nuc_list - ! Fission information logical :: fissionable ! nuclide is fissionable? @@ -70,24 +72,11 @@ module nuclide_header real(8) :: E_max ! upper cutoff energy for res scattering ! Fission information - logical :: has_partial_fission ! nuclide has partial fission reactions? - integer :: n_fission ! # of fission reactions + logical :: has_partial_fission = .false. ! nuclide has partial fission reactions? + integer :: n_fission ! # of fission reactions + integer :: n_precursor = 0 ! # of delayed neutron precursors integer, allocatable :: index_fission(:) ! indices in reactions - - ! Total fission neutron emission - integer :: nu_t_type - real(8), allocatable :: nu_t_data(:) - - ! Prompt fission neutron emission - integer :: nu_p_type - real(8), allocatable :: nu_p_data(:) - - ! Delayed fission neutron emission - integer :: nu_d_type - integer :: n_precursor ! # of delayed neutron precursors - real(8), allocatable :: nu_d_data(:) - real(8), allocatable :: nu_d_precursor_data(:) - type(AngleEnergyContainer), allocatable :: nu_d_edist(:) + class(Function1D), allocatable :: total_nu ! Unresolved resonance data logical :: urr_present @@ -103,6 +92,7 @@ module nuclide_header contains procedure :: clear => nuclidece_clear procedure :: print => nuclidece_print + procedure :: nu => nuclidece_nu end type NuclideCE type, abstract, extends(Nuclide) :: NuclideMG @@ -257,7 +247,6 @@ module nuclide_header ! Information for URR probability table use logical :: use_ptable ! in URR range with probability tables? - real(8) :: last_prn end type NuclideMicroXS !=============================================================================== @@ -684,81 +673,133 @@ module nuclide_header ! or NuclideAngle !=============================================================================== - subroutine nuclidece_clear(this) + subroutine nuclidece_clear(this) - class(NuclideCE), intent(inout) :: this ! The Nuclide object to clear + class(NuclideCE), intent(inout) :: this ! The Nuclide object to clear - integer :: i ! Loop counter + if (associated(this % urr_data)) deallocate(this % urr_data) - if (associated(this % urr_data)) deallocate(this % urr_data) + call this % reaction_index % clear() - if (allocated(this % reactions)) then - do i = 1, size(this % reactions) - call this % reactions(i) % clear() - end do + end subroutine nuclidece_clear + + function nuclidece_nu(this, E, emission_mode, group) result(nu) + class(NuclideCE), intent(in) :: this + real(8), intent(in) :: E + integer, intent(in) :: emission_mode + integer, optional, intent(in) :: group + real(8) :: nu + + integer :: i + + if (.not. this % fissionable) then + nu = ZERO + return + end if + + select case (emission_mode) + case (EMISSION_PROMPT) + associate (product => this % reactions(this % index_fission(1)) % products(1)) + nu = product % yield % evaluate(E) + end associate + + case (EMISSION_DELAYED) + if (this % n_precursor > 0) then + if (present(group)) then + ! If delayed group specified, determine yield immediately + associate(p => this % reactions(this % index_fission(1)) % products(1 + group)) + nu = p % yield % evaluate(E) + end associate + + else + nu = ZERO + + associate (rx => this % reactions(this % index_fission(1))) + do i = 2, size(rx % products) + associate (product => rx % products(i)) + ! Skip any non-neutron products + if (product % particle /= NEUTRON) exit + + ! Evaluate yield + if (product % emission_mode == EMISSION_DELAYED) then + nu = nu + product % yield % evaluate(E) + end if + end associate + end do + end associate + end if + else + nu = ZERO end if - call this % reaction_index % clear() + case (EMISSION_TOTAL) + if (allocated(this % total_nu)) then + nu = this % total_nu % evaluate(E) + else + associate (rx => this % reactions(this % index_fission(1))) + nu = rx % products(1) % yield % evaluate(E) + end associate + end if + end select - end subroutine nuclidece_clear + end function nuclidece_nu !=============================================================================== ! NUCLIDE*_PRINT displays information about a continuous-energy neutron ! cross_section table and its reactions and secondary angle/energy distributions !=============================================================================== - subroutine nuclidece_print(this, unit) - class(NuclideCE), intent(in) :: this - integer, intent(in), optional :: unit + subroutine nuclidece_print(this, unit) + class(NuclideCE), intent(in) :: this + integer, intent(in), optional :: unit - integer :: i ! loop index over nuclides - integer :: unit_ ! unit to write to - integer :: size_xs ! memory used for cross-sections (bytes) - integer :: size_urr ! memory used for probability tables (bytes) - type(UrrData), pointer :: urr + integer :: i ! loop index over nuclides + integer :: unit_ ! unit to write to + integer :: size_xs ! memory used for cross-sections (bytes) + integer :: size_urr ! memory used for probability tables (bytes) - ! set default unit for writing information - if (present(unit)) then - unit_ = unit - else - unit_ = OUTPUT_UNIT - end if + ! set default unit for writing information + if (present(unit)) then + unit_ = unit + else + unit_ = OUTPUT_UNIT + end if - ! Initialize totals - size_urr = 0 - size_xs = 0 + ! Initialize totals + size_urr = 0 + size_xs = 0 - ! Basic nuclide information - write(unit_,*) 'Nuclide ' // trim(this % name) - write(unit_,*) ' zaid = ' // trim(to_str(this % zaid)) - write(unit_,*) ' awr = ' // trim(to_str(this % awr)) - write(unit_,*) ' kT = ' // trim(to_str(this % kT)) - write(unit_,*) ' # of grid points = ' // trim(to_str(this % n_grid)) - write(unit_,*) ' Fissionable = ', this % fissionable - write(unit_,*) ' # of fission reactions = ' // trim(to_str(this % n_fission)) - write(unit_,*) ' # of reactions = ' // trim(to_str(this % n_reaction)) + ! Basic nuclide information + write(unit_,*) 'Nuclide ' // trim(this % name) + write(unit_,*) ' zaid = ' // trim(to_str(this % zaid)) + write(unit_,*) ' awr = ' // trim(to_str(this % awr)) + write(unit_,*) ' kT = ' // trim(to_str(this % kT)) + write(unit_,*) ' # of grid points = ' // trim(to_str(this % n_grid)) + write(unit_,*) ' Fissionable = ', this % fissionable + write(unit_,*) ' # of fission reactions = ' // trim(to_str(this % n_fission)) + write(unit_,*) ' # of reactions = ' // trim(to_str(this % n_reaction)) - ! Information on each reaction - write(unit_,*) ' Reaction Q-value COM IE' - do i = 1, this % n_reaction - associate (rxn => this % reactions(i)) - write(unit_,'(3X,A11,1X,F8.3,3X,L1,3X,I6)') & - reaction_name(rxn % MT), rxn % Q_value, rxn % scatter_in_cm, & - rxn % threshold + ! Information on each reaction + write(unit_,*) ' Reaction Q-value COM IE' + do i = 1, this % n_reaction + associate (rxn => this % reactions(i)) + write(unit_,'(3X,A11,1X,F8.3,3X,L1,3X,I6)') & + reaction_name(rxn % MT), rxn % Q_value, rxn % scatter_in_cm, & + rxn % threshold - ! Accumulate data size - size_xs = size_xs + (this % n_grid - rxn%threshold + 1) * 8 - end associate - end do + ! Accumulate data size + size_xs = size_xs + (this % n_grid - rxn%threshold + 1) * 8 + end associate + end do - ! Add memory required for summary reactions (total, absorption, fission, - ! nu-fission) - size_xs = 8 * this % n_grid * 4 + ! Add memory required for summary reactions (total, absorption, fission, + ! nu-fission) + size_xs = 8 * this % n_grid * 4 - ! Write information about URR probability tables - size_urr = 0 - if (this % urr_present) then - urr => this % urr_data + ! Write information about URR probability tables + size_urr = 0 + if (this % urr_present) then + associate(urr => this % urr_data) write(unit_,*) ' Unresolved resonance probability table:' write(unit_,*) ' # of energies = ' // trim(to_str(urr % n_energy)) write(unit_,*) ' # of probabilities = ' // trim(to_str(urr % n_prob)) @@ -771,17 +812,18 @@ module nuclide_header ! Calculate memory used by probability tables and add to total size_urr = urr % n_energy * (urr % n_prob * 6 + 1) * 8 - end if + end associate + end if - ! Write memory used - write(unit_,*) ' Memory Requirements' - write(unit_,*) ' Cross sections = ' // trim(to_str(size_xs)) // ' bytes' - write(unit_,*) ' Probability Tables = ' // & - trim(to_str(size_urr)) // ' bytes' + ! Write memory used + write(unit_,*) ' Memory Requirements' + write(unit_,*) ' Cross sections = ' // trim(to_str(size_xs)) // ' bytes' + write(unit_,*) ' Probability Tables = ' // & + trim(to_str(size_urr)) // ' bytes' - ! Blank line at end of nuclide - write(unit_,*) - end subroutine nuclidece_print + ! Blank line at end of nuclide + write(unit_,*) + end subroutine nuclidece_print subroutine nuclidemg_print(this, unit_) class(NuclideMG), intent(in) :: this diff --git a/src/output.F90 b/src/output.F90 index 06cd5711a6..6e195968ad 100644 --- a/src/output.F90 +++ b/src/output.F90 @@ -2,7 +2,6 @@ module output use, intrinsic :: ISO_FORTRAN_ENV - use ace_header, only: Reaction, UrrData use constants use endf, only: reaction_name use error, only: fatal_error, warning @@ -1176,7 +1175,7 @@ contains function get_label(t, i_filter) result(label) type(TallyObject), intent(in) :: t ! tally object integer, intent(in) :: i_filter ! index in filters array - character(100) :: label ! user-specified identifier + character(MAX_LINE_LEN) :: label ! user-specified identifier integer :: i ! index in cells/surfaces/etc array integer :: bin diff --git a/src/physics.F90 b/src/physics.F90 index e41b3b4e9e..d6c4c45b05 100644 --- a/src/physics.F90 +++ b/src/physics.F90 @@ -1,13 +1,10 @@ module physics - use ace_header, only: Reaction use constants use cross_section, only: elastic_xs_0K use endf, only: reaction_name use error, only: fatal_error, warning - use fission, only: nu_total, nu_delayed use global - use interpolation, only: interpolate_tab1 use material_header, only: Material use math use mesh, only: get_mesh_indices @@ -16,7 +13,8 @@ module physics use particle_header, only: Particle use particle_restart_write, only: write_particle_restart use physics_common - use random_lcg, only: prn + use random_lcg, only: prn, advance_prn_seed, prn_set_stream + use reaction_header, only: Reaction use search, only: binary_search use secondary_uncorrelated, only: UncorrelatedAngleEnergy use string, only: to_str @@ -58,6 +56,13 @@ contains if (master) call warning("Killing neutron with extremely low energy") end if + ! Advance URR seed stream 'N' times after energy changes + if (p % E /= p % last_E) then + call prn_set_stream(STREAM_URR_PTABLE) + call advance_prn_seed(n_nuc_zaid_total) + call prn_set_stream(STREAM_TRACKING) + endif + end subroutine collision !=============================================================================== @@ -440,9 +445,9 @@ contains vel = sqrt(dot_product(v_n, v_n)) ! Sample scattering angle - select type (dist => rxn%secondary%distribution(1)%obj) + select type (dist => rxn % products(1) % distribution(1) % obj) type is (UncorrelatedAngleEnergy) - mu_cm = dist%angle%sample(E) + mu_cm = dist % angle % sample(E) end select ! Determine direction cosines in CM @@ -1066,8 +1071,6 @@ contains integer :: nu ! actual number of neutrons produced integer :: ijk(3) ! indices in ufs mesh real(8) :: nu_t ! total nu - real(8) :: mu ! fission neutron angular cosine - real(8) :: phi ! fission neutron azimuthal angle real(8) :: weight ! weight adjustment for ufs method logical :: in_mesh ! source site in ufs mesh? type(NuclideCE), pointer :: nuc @@ -1138,25 +1141,12 @@ contains ! Set weight of fission bank site bank_array(i) % wgt = ONE/weight - ! Sample cosine of angle -- fission neutrons are always emitted - ! isotropically. Sometimes in ACE data, fission reactions actually have - ! an angular distribution listed, but for those that do, it's simply just - ! a uniform distribution in mu - mu = TWO * prn() - ONE + ! Sample delayed group and angle/energy for fission reaction + call sample_fission_neutron(nuc, nuc % reactions(i_reaction), & + p % E, bank_array(i)) - ! Sample azimuthal angle uniformly in [0,2*pi) - phi = TWO*PI*prn() - bank_array(i) % uvw(1) = mu - bank_array(i) % uvw(2) = sqrt(ONE - mu*mu) * cos(phi) - bank_array(i) % uvw(3) = sqrt(ONE - mu*mu) * sin(phi) - - ! Sample secondary energy distribution for fission reaction and set energy - ! in fission bank - bank_array(i) % E = sample_fission_energy(nuc, & - nuc % reactions(i_reaction), p) - - ! Set the delayed group of the neutron - bank_array(i) % delayed_group = p % delayed_group + ! Set delayed group on particle too + p % delayed_group = bank_array(i) % delayed_group ! Increment the number of neutrons born delayed if (p % delayed_group > 0) then @@ -1175,35 +1165,41 @@ contains end subroutine create_fission_sites !=============================================================================== -! SAMPLE_FISSION_ENERGY +! SAMPLE_FISSION_NEUTRON !=============================================================================== - function sample_fission_energy(nuc, rxn, p) result(E_out) + subroutine sample_fission_neutron(nuc, rxn, E_in, site) + type(NuclideCE), intent(in) :: nuc + type(Reaction), intent(in) :: rxn + real(8), intent(in) :: E_in + type(Bank), intent(inout) :: site - type(NuclideCE), intent(in) :: nuc - type(Reaction), intent(in) :: rxn - type(Particle), intent(inout) :: p ! Particle causing fission - real(8) :: E_out ! outgoing energy of fission neutron - - integer :: j ! index on nu energy grid / precursor group - integer :: lc ! index before start of energies/nu values - integer :: NR ! number of interpolation regions - integer :: NE ! number of energies tabulated - integer :: n_sample ! number of times resampling + integer :: group ! index on nu energy grid / precursor group + integer :: n_sample ! number of resamples real(8) :: nu_t ! total nu real(8) :: nu_d ! delayed nu real(8) :: beta ! delayed neutron fraction real(8) :: xi ! random number real(8) :: yield ! delayed neutron precursor yield real(8) :: prob ! cumulative probability + real(8) :: mu ! cosine of scattering angle + real(8) :: phi ! azimuthal angle - ! Determine total nu - nu_t = nu_total(nuc, p % E) + ! Sample cosine of angle -- fission neutrons are always emitted + ! isotropically. Sometimes in ACE data, fission reactions actually have + ! an angular distribution listed, but for those that do, it's simply just + ! a uniform distribution in mu + mu = TWO * prn() - ONE - ! Determine delayed nu - nu_d = nu_delayed(nuc, p % E) + ! Sample azimuthal angle uniformly in [0,2*pi) + phi = TWO*PI*prn() + site % uvw(1) = mu + site % uvw(2) = sqrt(ONE - mu*mu) * cos(phi) + site % uvw(3) = sqrt(ONE - mu*mu) * sin(phi) - ! Determine delayed neutron fraction + ! Determine total nu, delayed nu, and delayed neutron fraction + nu_t = nuc % nu(E_in, EMISSION_TOTAL) + nu_d = nuc % nu(E_in, EMISSION_DELAYED) beta = nu_d / nu_t if (prn() < beta) then @@ -1211,51 +1207,41 @@ contains ! DELAYED NEUTRON SAMPLED ! sampled delayed precursor group - xi = prn() - lc = 1 + xi = prn()*nu_d prob = ZERO - do j = 1, nuc % n_precursor - ! determine number of interpolation regions and energies - NR = int(nuc % nu_d_precursor_data(lc + 1)) - NE = int(nuc % nu_d_precursor_data(lc + 2 + 2*NR)) + do group = 1, nuc % n_precursor ! determine delayed neutron precursor yield for group j - yield = interpolate_tab1(nuc % nu_d_precursor_data( & - lc+1:lc+2+2*NR+2*NE), p % E) + yield = rxn % products(1 + group) % yield % evaluate(E_in) ! Check if this group is sampled prob = prob + yield if (xi < prob) exit - - ! advance pointer - lc = lc + 2 + 2*NR + 2*NE + 1 end do ! if the sum of the probabilities is slightly less than one and the ! random number is greater, j will be greater than nuc % ! n_precursor -- check for this condition - j = min(j, nuc % n_precursor) + group = min(group, nuc % n_precursor) ! set the delayed group for the particle born from fission - p % delayed_group = j + site % delayed_group = group - ! sample from energy distribution n_sample = 0 do - select type (aedist => nuc%nu_d_edist(j)%obj) - type is (UncorrelatedAngleEnergy) - E_out = aedist%energy%sample(p%E) - end select + ! sample from energy/angle distribution -- note that mu has already been + ! sampled above and doesn't need to be resampled + call rxn % products(1 + group) % sample(E_in, site % E, mu) ! resample if energy is greater than maximum neutron energy - if (E_out < energy_max_neutron) exit + if (site % E < energy_max_neutron) exit ! check for large number of resamples n_sample = n_sample + 1 if (n_sample == MAX_SAMPLE) then ! call write_particle_restart(p) call fatal_error("Resampled energy distribution maximum number of " & - &// "times for nuclide " // nuc % name) + // "times for nuclide " // nuc % name) end if end do @@ -1264,28 +1250,27 @@ contains ! PROMPT NEUTRON SAMPLED ! set the delayed group for the particle born from fission to 0 - p % delayed_group = 0 + site % delayed_group = 0 ! sample from prompt neutron energy distribution n_sample = 0 do - call rxn%secondary%sample(p%E, E_out, prob) + call rxn % products(1) % sample(E_in, site % E, mu) ! resample if energy is greater than maximum neutron energy - if (E_out < energy_max_neutron) exit + if (site % E < energy_max_neutron) exit ! check for large number of resamples n_sample = n_sample + 1 if (n_sample == MAX_SAMPLE) then ! call write_particle_restart(p) call fatal_error("Resampled energy distribution maximum number of " & - &// "times for nuclide " // nuc % name) + // "times for nuclide " // nuc % name) end if end do - end if - end function sample_fission_energy + end subroutine sample_fission_neutron !=============================================================================== ! INELASTIC_SCATTER handles all reactions with a single secondary neutron (other @@ -1309,7 +1294,7 @@ contains E_in = p % E ! sample outgoing energy and scattering cosine - call rxn%secondary%sample(E_in, E, mu) + call rxn % products(1) % sample(E_in, E, mu) ! if scattering system is in center-of-mass, transfer cosine of scattering ! angle and outgoing energy from CM to LAB @@ -1337,14 +1322,16 @@ contains ! change direction of particle p % coord(1) % uvw = rotate_angle(p % coord(1) % uvw, mu) - ! change weight of particle based on yield - if (rxn % multiplicity_with_E) then - yield = interpolate_tab1(rxn % multiplicity_E, E_in) - p % wgt = yield * p % wgt - else - do i = 1, rxn % multiplicity - 1 - call p % create_secondary(p % coord(1) % uvw, NEUTRON, run_CE=.True.) + ! evaluate yield + yield = rxn % products(1) % yield % evaluate(E_in) + if (mod(yield, ONE) == ZERO) then + ! If yield is integral, create exactly that many secondary particles + do i = 1, nint(yield) - 1 + call p % create_secondary(p % coord(1) % uvw, NEUTRON, run_CE=.true.) end do + else + ! Otherwise, change weight of particle based on yield + p % wgt = yield * p % wgt end if end subroutine inelastic_scatter diff --git a/src/product_header.F90 b/src/product_header.F90 new file mode 100644 index 0000000000..e20c173b4c --- /dev/null +++ b/src/product_header.F90 @@ -0,0 +1,62 @@ +module product_header + + use angleenergy_header, only: AngleEnergyContainer + use constants, only: ZERO, MAX_WORD_LEN, EMISSION_PROMPT, EMISSION_DELAYED, & + EMISSION_TOTAL, NEUTRON, PHOTON + use endf_header, only: Tabulated1D, Function1D, Constant1D, Polynomial + use random_lcg, only: prn + +!=============================================================================== +! REACTIONPRODUCT stores a data for a reaction product including its yield and +! angle-energy distributions, each of which has a given probability of occurring +! for a given incoming energy. In general, most products only have one +! angle-energy distribution, but for some cases (e.g., (n,2n) in certain +! nuclides) multiple distinct distributions exist. +!=============================================================================== + + type :: ReactionProduct + integer :: particle + integer :: emission_mode ! prompt, delayed, or total emission + real(8) :: decay_rate ! Decay rate for delayed neutron precursors + class(Function1D), pointer :: yield => null() ! Energy-dependent neutron yield + type(Tabulated1D), allocatable :: applicability(:) + type(AngleEnergyContainer), allocatable :: distribution(:) + contains + procedure :: sample => reactionproduct_sample + end type ReactionProduct + +contains + + subroutine reactionproduct_sample(this, E_in, E_out, mu) + class(ReactionProduct), intent(in) :: this + real(8), intent(in) :: E_in ! incoming energy + real(8), intent(out) :: E_out ! sampled outgoing energy + real(8), intent(out) :: mu ! sampled scattering cosine + + integer :: i ! loop counter + integer :: n ! number of angle-energy distributions + real(8) :: prob ! cumulative probability + real(8) :: c ! sampled cumulative probability + + n = size(this%applicability) + if (n > 1) then + prob = ZERO + c = prn() + do i = 1, n + ! Determine probability that i-th energy distribution is sampled + prob = prob + this % applicability(i) % evaluate(E_in) + + ! If i-th distribution is sampled, sample energy from the distribution + if (c <= prob) then + call this%distribution(i)%obj%sample(E_in, E_out, mu) + exit + end if + end do + else + ! If only one distribution is present, go ahead and sample it + call this%distribution(1)%obj%sample(E_in, E_out, mu) + end if + + end subroutine reactionproduct_sample + +end module product_header diff --git a/src/random_lcg.F90 b/src/random_lcg.F90 index 8f50477c5b..08f1034ab7 100644 --- a/src/random_lcg.F90 +++ b/src/random_lcg.F90 @@ -24,9 +24,10 @@ module random_lcg !$omp threadprivate(prn_seed, stream) public :: prn + public :: future_prn public :: initialize_prng public :: set_particle_seed - public :: prn_skip + public :: advance_prn_seed public :: prn_set_stream public :: STREAM_TRACKING, STREAM_TALLIES @@ -52,6 +53,21 @@ contains end function prn +!=============================================================================== +! FUTURE_PRN generates a pseudo-random number which is 'n' times ahead from the +! current seed. +!=============================================================================== + + function future_prn(n) result(pseudo_rn) + + integer(8), intent(in) :: n ! number of prns to skip + + real(8) :: pseudo_rn + + pseudo_rn = future_seed(n, prn_seed(stream)) * prn_norm + + end function future_prn + !=============================================================================== ! INITIALIZE_PRNG sets up the random number generator, determining the seed and ! values for g, c, and m. @@ -90,31 +106,32 @@ contains integer :: i do i = 1, N_STREAMS - prn_seed(i) = prn_skip_ahead(id*prn_stride, prn_seed0 + i - 1) + prn_seed(i) = future_seed(id*prn_stride, prn_seed0 + i - 1) end do end subroutine set_particle_seed !=============================================================================== -! PRN_SKIP advances the random number seed 'n' times from the current seed +! ADVANCE_PRN_SEED advances the random number seed 'n' times from the current +! seed. !=============================================================================== - subroutine prn_skip(n) + subroutine advance_prn_seed(n) integer(8), intent(in) :: n ! number of seeds to skip - prn_seed(stream) = prn_skip_ahead(n, prn_seed(stream)) + prn_seed(stream) = future_seed(n, prn_seed(stream)) - end subroutine prn_skip + end subroutine advance_prn_seed !=============================================================================== -! PRN_SKIP_AHEAD advances the random number seed 'skip' times. This is usually +! FUTURE_SEED advances the random number seed 'skip' times. This is usually ! used to skip a fixed number of random numbers (the stride) so that a given ! particle always has the same starting seed regardless of how many processors ! are used !=============================================================================== - function prn_skip_ahead(n, seed) result(new_seed) + function future_seed(n, seed) result(new_seed) integer(8), intent(in) :: n ! number of seeds to skip integer(8), intent(in) :: seed ! original seed @@ -166,7 +183,7 @@ contains ! With G and C, we can now find the new seed new_seed = iand(g_new*seed + c_new, prn_mask) - end function prn_skip_ahead + end function future_seed !=============================================================================== ! PRN_SET_STREAM changes the random number stream. If random numbers are needed diff --git a/src/reaction_header.F90 b/src/reaction_header.F90 new file mode 100644 index 0000000000..160ad63239 --- /dev/null +++ b/src/reaction_header.F90 @@ -0,0 +1,21 @@ +module reaction_header + + use product_header, only: ReactionProduct + + implicit none + +!=============================================================================== +! REACTION contains the cross-section and secondary energy and angle +! distributions for a single reaction in a continuous-energy ACE-format table +!=============================================================================== + + type Reaction + integer :: MT ! ENDF MT value + real(8) :: Q_value ! Reaction Q value + integer :: threshold ! Energy grid index of threshold + logical :: scatter_in_cm ! scattering system in center-of-mass? + real(8), allocatable :: sigma(:) ! Cross section values + type(ReactionProduct), allocatable :: products(:) + end type Reaction + +end module reaction_header diff --git a/src/secondary_correlated.F90 b/src/secondary_correlated.F90 index c0289d55eb..b556d02dc5 100644 --- a/src/secondary_correlated.F90 +++ b/src/secondary_correlated.F90 @@ -1,8 +1,8 @@ module secondary_correlated + use angleenergy_header, only: AngleEnergy use constants, only: ZERO, ONE, TWO, HISTOGRAM, LINEAR_LINEAR use distribution_univariate, only: DistributionContainer - use secondary_header, only: AngleEnergy use random_lcg, only: prn use search, only: binary_search @@ -24,8 +24,8 @@ module secondary_correlated integer :: n_region ! number of interpolation regions integer, allocatable :: breakpoints(:) ! breakpoints of interpolation regions integer, allocatable :: interpolation(:) ! interpolation region codes - real(8), allocatable :: energy_in(:) ! incoming energies - type(AngleEnergyTable), allocatable :: table(:) ! outgoing E/mu distributions + real(8), allocatable :: energy(:) ! incoming energies + type(AngleEnergyTable), allocatable :: distribution(:) ! outgoing E/mu distributions contains procedure :: sample => correlated_sample end type CorrelatedAngleEnergy @@ -61,17 +61,17 @@ contains ! find energy bin and calculate interpolation factor -- if the energy is ! outside the range of the tabulated energies, choose the first or last bins - n_energy_in = size(this%energy_in) - if (E_in < this%energy_in(1)) then + n_energy_in = size(this%energy) + if (E_in < this%energy(1)) then i = 1 r = ZERO - elseif (E_in > this%energy_in(n_energy_in)) then + elseif (E_in > this%energy(n_energy_in)) then i = n_energy_in - 1 r = ONE else - i = binary_search(this%energy_in, n_energy_in, E_in) - r = (E_in - this%energy_in(i)) / & - (this%energy_in(i+1) - this%energy_in(i)) + i = binary_search(this%energy, n_energy_in, E_in) + r = (E_in - this%energy(i)) / & + (this%energy(i+1) - this%energy(i)) end if ! Sample between the ith and (i+1)th bin @@ -82,23 +82,23 @@ contains end if ! interpolation for energy E1 and EK - n_energy_out = size(this%table(i)%e_out) - E_i_1 = this%table(i)%e_out(1) - E_i_K = this%table(i)%e_out(n_energy_out) + n_energy_out = size(this%distribution(i)%e_out) + E_i_1 = this%distribution(i)%e_out(1) + E_i_K = this%distribution(i)%e_out(n_energy_out) - n_energy_out = size(this%table(i+1)%e_out) - E_i1_1 = this%table(i+1)%e_out(1) - E_i1_K = this%table(i+1)%e_out(n_energy_out) + n_energy_out = size(this%distribution(i+1)%e_out) + E_i1_1 = this%distribution(i+1)%e_out(1) + E_i1_K = this%distribution(i+1)%e_out(n_energy_out) E_1 = E_i_1 + r*(E_i1_1 - E_i_1) E_K = E_i_K + r*(E_i1_K - E_i_K) ! determine outgoing energy bin - n_energy_out = size(this%table(l)%e_out) + n_energy_out = size(this%distribution(l)%e_out) r1 = prn() - c_k = this%table(l)%c(1) + c_k = this%distribution(l)%c(1) do k = 1, n_energy_out - 1 - c_k1 = this%table(l)%c(k+1) + c_k1 = this%distribution(l)%c(k+1) if (r1 < c_k1) exit c_k = c_k1 end do @@ -106,9 +106,9 @@ contains ! check to make sure k is <= NP - 1 k = min(k, n_energy_out - 1) - E_l_k = this%table(l)%e_out(k) - p_l_k = this%table(l)%p(k) - if (this%table(l)%interpolation == HISTOGRAM) then + E_l_k = this%distribution(l)%e_out(k) + p_l_k = this%distribution(l)%p(k) + if (this%distribution(l)%interpolation == HISTOGRAM) then ! Histogram interpolation if (p_l_k > ZERO) then E_out = E_l_k + (r1 - c_k)/p_l_k @@ -116,10 +116,10 @@ contains E_out = E_l_k end if - elseif (this%table(l)%interpolation == LINEAR_LINEAR) then + elseif (this%distribution(l)%interpolation == LINEAR_LINEAR) then ! Linear-linear interpolation - E_l_k1 = this%table(l)%e_out(k+1) - p_l_k1 = this%table(l)%p(k+1) + E_l_k1 = this%distribution(l)%e_out(k+1) + p_l_k1 = this%distribution(l)%p(k+1) frac = (p_l_k1 - p_l_k)/(E_l_k1 - E_l_k) if (frac == ZERO) then @@ -139,9 +139,9 @@ contains ! Find correlated angular distribution for closest outgoing energy bin if (r1 - c_k < c_k1 - r1) then - mu = this%table(l)%angle(k)%obj%sample() + mu = this%distribution(l)%angle(k)%obj%sample() else - mu = this%table(l)%angle(k + 1)%obj%sample() + mu = this%distribution(l)%angle(k + 1)%obj%sample() end if end subroutine correlated_sample diff --git a/src/secondary_header.F90 b/src/secondary_header.F90 deleted file mode 100644 index d9a18b6b15..0000000000 --- a/src/secondary_header.F90 +++ /dev/null @@ -1,83 +0,0 @@ -module secondary_header - - use constants, only: ZERO - use endf_header, only: Tab1 - use interpolation, only: interpolate_tab1 - use random_lcg, only: prn - -!=============================================================================== -! ANGLEENERGY (abstract) defines a correlated or uncorrelated angle-energy -! distribution that is a function of incoming energy. Each derived type must -! implement a sample() subroutine that returns an outgoing energy and scattering -! cosine given an incoming energy. -!=============================================================================== - - type, abstract :: AngleEnergy - contains - procedure(angleenergy_sample_), deferred :: sample - end type AngleEnergy - - abstract interface - subroutine angleenergy_sample_(this, E_in, E_out, mu) - import AngleEnergy - class(AngleEnergy), intent(in) :: this - real(8), intent(in) :: E_in - real(8), intent(out) :: E_out - real(8), intent(out) :: mu - end subroutine angleenergy_sample_ - end interface - - type :: AngleEnergyContainer - class(AngleEnergy), allocatable :: obj - end type AngleEnergyContainer - -!=============================================================================== -! SECONDARYDISTRIBUTION stores multiple angle-energy distributions, each of -! which has a given probability of occurring for a given incoming energy. In -! general, most secondary distributions only have one angle-energy distribution, -! but for some cases (e.g., (n,2n) in certain nuclides) multiple distinct -! distributions exist. -!=============================================================================== - - type :: SecondaryDistribution - type(Tab1), allocatable :: applicability(:) - type(AngleEnergyContainer), allocatable :: distribution(:) - contains - procedure :: sample => secondary_sample - end type SecondaryDistribution - -contains - - subroutine secondary_sample(this, E_in, E_out, mu) - class(SecondaryDistribution), intent(in) :: this - real(8), intent(in) :: E_in ! incoming energy - real(8), intent(out) :: E_out ! sampled outgoing energy - real(8), intent(out) :: mu ! sampled scattering cosine - - integer :: i ! loop counter - integer :: n ! number of angle-energy distributions - real(8) :: prob ! cumulative probability - real(8) :: c ! sampled cumulative probability - - n = size(this%applicability) - if (n > 1) then - prob = ZERO - c = prn() - do i = 1, n - ! Determine probability that i-th energy distribution is sampled - prob = prob + interpolate_tab1(this%applicability(i), E_in) - - ! If i-th distribution is sampled, sample energy from the distribution - if (c <= prob) then - call this%distribution(i)%obj%sample(E_in, E_out, mu) - exit - end if - end do - else - ! If only one distribution is present, go ahead and sample it - call this%distribution(1)%obj%sample(E_in, E_out, mu) - end if - - end subroutine secondary_sample - -end module secondary_header diff --git a/src/secondary_kalbach.F90 b/src/secondary_kalbach.F90 index 5e6949206e..668917d62a 100644 --- a/src/secondary_kalbach.F90 +++ b/src/secondary_kalbach.F90 @@ -1,7 +1,7 @@ module secondary_kalbach + use angleenergy_header, only: AngleEnergy use constants, only: ZERO, ONE, TWO, HISTOGRAM, LINEAR_LINEAR - use secondary_header, only: AngleEnergy use random_lcg, only: prn use search, only: binary_search @@ -25,8 +25,8 @@ module secondary_kalbach integer :: n_region ! number of interpolation regions integer, allocatable :: breakpoints(:) ! breakpoints of interpolation regions integer, allocatable :: interpolation(:) ! interpolation region codes - real(8), allocatable :: energy_in(:) ! incoming energies - type(KalbachMannTable), allocatable :: table(:) ! outgoing E/mu parameters + real(8), allocatable :: energy(:) ! incoming energies + type(KalbachMannTable), allocatable :: distribution(:) ! outgoing E/mu parameters contains procedure :: sample => kalbachmann_sample end type KalbachMann @@ -64,17 +64,17 @@ contains ! find energy bin and calculate interpolation factor -- if the energy is ! outside the range of the tabulated energies, choose the first or last bins - n_energy_in = size(this%energy_in) - if (E_in < this%energy_in(1)) then + n_energy_in = size(this%energy) + if (E_in < this%energy(1)) then i = 1 r = ZERO - elseif (E_in > this%energy_in(n_energy_in)) then + elseif (E_in > this%energy(n_energy_in)) then i = n_energy_in - 1 r = ONE else - i = binary_search(this%energy_in, n_energy_in, E_in) - r = (E_in - this%energy_in(i)) / & - (this%energy_in(i+1) - this%energy_in(i)) + i = binary_search(this%energy, n_energy_in, E_in) + r = (E_in - this%energy(i)) / & + (this%energy(i+1) - this%energy(i)) end if ! Sample between the ith and (i+1)th bin @@ -85,23 +85,23 @@ contains end if ! interpolation for energy E1 and EK - n_energy_out = size(this%table(i)%e_out) - E_i_1 = this%table(i)%e_out(1) - E_i_K = this%table(i)%e_out(n_energy_out) + n_energy_out = size(this%distribution(i)%e_out) + E_i_1 = this%distribution(i)%e_out(1) + E_i_K = this%distribution(i)%e_out(n_energy_out) - n_energy_out = size(this%table(i+1)%e_out) - E_i1_1 = this%table(i+1)%e_out(1) - E_i1_K = this%table(i+1)%e_out(n_energy_out) + n_energy_out = size(this%distribution(i+1)%e_out) + E_i1_1 = this%distribution(i+1)%e_out(1) + E_i1_K = this%distribution(i+1)%e_out(n_energy_out) E_1 = E_i_1 + r*(E_i1_1 - E_i_1) E_K = E_i_K + r*(E_i1_K - E_i_K) ! determine outgoing energy bin - n_energy_out = size(this%table(l)%e_out) + n_energy_out = size(this%distribution(l)%e_out) r1 = prn() - c_k = this%table(l)%c(1) + c_k = this%distribution(l)%c(1) do k = 1, n_energy_out - 1 - c_k1 = this%table(l)%c(k+1) + c_k1 = this%distribution(l)%c(k+1) if (r1 < c_k1) exit c_k = c_k1 end do @@ -109,9 +109,9 @@ contains ! check to make sure k is <= NP - 1 k = min(k, n_energy_out - 1) - E_l_k = this%table(l)%e_out(k) - p_l_k = this%table(l)%p(k) - if (this%table(l)%interpolation == HISTOGRAM) then + E_l_k = this%distribution(l)%e_out(k) + p_l_k = this%distribution(l)%p(k) + if (this%distribution(l)%interpolation == HISTOGRAM) then ! Histogram interpolation if (p_l_k > ZERO) then E_out = E_l_k + (r1 - c_k)/p_l_k @@ -120,13 +120,13 @@ contains end if ! Determine Kalbach-Mann parameters - km_r = this%table(l)%r(k) - km_a = this%table(l)%a(k) + km_r = this%distribution(l)%r(k) + km_a = this%distribution(l)%a(k) - elseif (this%table(l)%interpolation == LINEAR_LINEAR) then + elseif (this%distribution(l)%interpolation == LINEAR_LINEAR) then ! Linear-linear interpolation - E_l_k1 = this%table(l)%e_out(k+1) - p_l_k1 = this%table(l)%p(k+1) + E_l_k1 = this%distribution(l)%e_out(k+1) + p_l_k1 = this%distribution(l)%p(k+1) frac = (p_l_k1 - p_l_k)/(E_l_k1 - E_l_k) if (frac == ZERO) then @@ -137,10 +137,10 @@ contains end if ! Determine Kalbach-Mann parameters - km_r = this%table(l)%r(k) + (E_out - E_l_k)/(E_l_k1 - E_l_k) * & - (this%table(l)%r(k+1) - this%table(l)%r(k)) - km_a = this%table(l)%a(k) + (E_out - E_l_k)/(E_l_k1 - E_l_k) * & - (this%table(l)%a(k+1) - this%table(l)%a(k)) + km_r = this%distribution(l)%r(k) + (E_out - E_l_k)/(E_l_k1 - E_l_k) * & + (this%distribution(l)%r(k+1) - this%distribution(l)%r(k)) + km_a = this%distribution(l)%a(k) + (E_out - E_l_k)/(E_l_k1 - E_l_k) * & + (this%distribution(l)%a(k+1) - this%distribution(l)%a(k)) end if ! Now interpolate between incident energy bins i and i + 1 diff --git a/src/secondary_nbody.F90 b/src/secondary_nbody.F90 new file mode 100644 index 0000000000..71cae6fa2a --- /dev/null +++ b/src/secondary_nbody.F90 @@ -0,0 +1,70 @@ +module secondary_nbody + + use angleenergy_header, only: AngleEnergy + use constants, only: ONE, TWO, PI + use math, only: maxwell_spectrum + use random_lcg, only: prn + +!=============================================================================== +! NBODYPHASESPACE gives the energy distribution for particles emitted from +! neutron and charged-particle reactions. This corresponds to ACE law 66 and +! ENDF File 6, LAW=6. +!=============================================================================== + + type, extends(AngleEnergy) :: NBodyPhaseSpace + integer :: n_bodies + real(8) :: mass_ratio + real(8) :: A + real(8) :: Q + contains + procedure :: sample => nbody_sample + end type NBodyPhaseSpace + +contains + + subroutine nbody_sample(this, E_in, E_out, mu) + class(NBodyPhaseSpace), intent(in) :: this + real(8), intent(in) :: E_in ! incoming energy + real(8), intent(out) :: E_out ! sampled outgoing energy + real(8), intent(out) :: mu ! sampled outgoing energy + + real(8) :: Ap ! total mass of particles in neutron masses + real(8) :: E_max ! maximum possible COM energy + real(8) :: x, y, v + real(8) :: r1, r2, r3, r4, r5, r6 + + ! By definition, the distribution of the angle is isotropic for an N-body + ! phase space distribution + mu = TWO*prn() - ONE + + ! Determine E_max parameter + Ap = this%mass_ratio + E_max = (Ap - ONE)/Ap * (this%A/(this%A + ONE)*E_in + this%Q) + + ! x is essentially a Maxwellian distribution + x = maxwell_spectrum(ONE) + + select case (this%n_bodies) + case (3) + y = maxwell_spectrum(ONE) + case (4) + r1 = prn() + r2 = prn() + r3 = prn() + y = -log(r1*r2*r3) + case (5) + r1 = prn() + r2 = prn() + r3 = prn() + r4 = prn() + r5 = prn() + r6 = prn() + y = -log(r1*r2*r3*r4) - log(r5) * cos(PI/TWO*r6)**2 + end select + + ! Now determine v and E_out + v = x/(x+y) + E_out = E_max * v + end subroutine nbody_sample + +end module secondary_nbody diff --git a/src/secondary_uncorrelated.F90 b/src/secondary_uncorrelated.F90 index 22a56aa127..7bc8fa13d9 100644 --- a/src/secondary_uncorrelated.F90 +++ b/src/secondary_uncorrelated.F90 @@ -1,9 +1,9 @@ module secondary_uncorrelated use angle_distribution, only: AngleDistribution + use angleenergy_header, only: AngleEnergy use constants, only: ONE, TWO use energy_distribution, only: EnergyDistribution - use secondary_header, only: AngleEnergy use random_lcg, only: prn !=============================================================================== diff --git a/src/state_point.F90 b/src/state_point.F90 index 8151270606..0e214037be 100644 --- a/src/state_point.F90 +++ b/src/state_point.F90 @@ -49,10 +49,9 @@ contains integer, allocatable :: id_array(:) integer, allocatable :: key_array(:) integer(HID_T) :: file_id - integer(HID_T) :: cmfd_group - integer(HID_T) :: tallies_group, tally_group - integer(HID_T) :: meshes_group, mesh_group - integer(HID_T) :: filter_group, derivs_group, deriv_group + integer(HID_T) :: cmfd_group, tallies_group, tally_group, meshes_group, & + mesh_group, filter_group, derivs_group, deriv_group, & + runtime_group character(20), allocatable :: str_array(:) character(MAX_FILE_LEN) :: filename type(RegularMesh), pointer :: meshp @@ -133,13 +132,13 @@ contains call write_dataset(file_id, "cmfd_on", 1) cmfd_group = create_group(file_id, "cmfd") - call write_dataset(cmfd_group, "indices", cmfd%indices) - call write_dataset(cmfd_group, "k_cmfd", cmfd%k_cmfd) - call write_dataset(cmfd_group, "cmfd_src", cmfd%cmfd_src) - call write_dataset(cmfd_group, "cmfd_entropy", cmfd%entropy) - call write_dataset(cmfd_group, "cmfd_balance", cmfd%balance) - call write_dataset(cmfd_group, "cmfd_dominance", cmfd%dom) - call write_dataset(cmfd_group, "cmfd_srccmp", cmfd%src_cmp) + call write_dataset(cmfd_group, "indices", cmfd % indices) + call write_dataset(cmfd_group, "k_cmfd", cmfd % k_cmfd) + call write_dataset(cmfd_group, "cmfd_src", cmfd % cmfd_src) + call write_dataset(cmfd_group, "cmfd_entropy", cmfd % entropy) + call write_dataset(cmfd_group, "cmfd_balance", cmfd % balance) + call write_dataset(cmfd_group, "cmfd_dominance", cmfd % dom) + call write_dataset(cmfd_group, "cmfd_srccmp", cmfd % src_cmp) call close_group(cmfd_group) else call write_dataset(file_id, "cmfd_on", 0) @@ -155,18 +154,18 @@ contains if (n_meshes > 0) then ! Print list of mesh IDs - current => mesh_dict%keys() + current => mesh_dict % keys() allocate(id_array(n_meshes)) allocate(key_array(n_meshes)) i = 1 do while (associated(current)) - key_array(i) = current%key - id_array(i) = current%value + key_array(i) = current % key + id_array(i) = current % value ! Move to next mesh - next => current%next + next => current % next deallocate(current) current => next i = i + 1 @@ -180,16 +179,17 @@ contains ! Write information for meshes MESH_LOOP: do i = 1, n_meshes meshp => meshes(id_array(i)) - mesh_group = create_group(meshes_group, "mesh " // trim(to_str(meshp%id))) + mesh_group = create_group(meshes_group, "mesh " & + // trim(to_str(meshp % id))) - select case (meshp%type) + select case (meshp % type) case (MESH_REGULAR) call write_dataset(mesh_group, "type", "regular") end select - call write_dataset(mesh_group, "dimension", meshp%dimension) - call write_dataset(mesh_group, "lower_left", meshp%lower_left) - call write_dataset(mesh_group, "upper_right", meshp%upper_right) - call write_dataset(mesh_group, "width", meshp%width) + call write_dataset(mesh_group, "dimension", meshp % dimension) + call write_dataset(mesh_group, "lower_left", meshp % lower_left) + call write_dataset(mesh_group, "upper_right", meshp % upper_right) + call write_dataset(mesh_group, "width", meshp % width) call close_group(mesh_group) end do MESH_LOOP @@ -240,7 +240,7 @@ contains ! Write all tally information except results do i = 1, n_tallies tally => tallies(i) - key_array(i) = tally%id + key_array(i) = tally % id id_array(i) = i end do @@ -255,9 +255,9 @@ contains ! Get pointer to tally tally => tallies(i) tally_group = create_group(tallies_group, "tally " // & - trim(to_str(tally%id))) + trim(to_str(tally % id))) - select case(tally%estimator) + select case(tally % estimator) case (ESTIMATOR_ANALOG) call write_dataset(tally_group, "estimator", "analog") case (ESTIMATOR_TRACKLENGTH) @@ -265,16 +265,17 @@ contains case (ESTIMATOR_COLLISION) call write_dataset(tally_group, "estimator", "collision") end select - call write_dataset(tally_group, "n_realizations", tally%n_realizations) - call write_dataset(tally_group, "n_filters", tally%n_filters) + call write_dataset(tally_group, "n_realizations", & + tally % n_realizations) + call write_dataset(tally_group, "n_filters", tally % n_filters) ! Write filter information - FILTER_LOOP: do j = 1, tally%n_filters + FILTER_LOOP: do j = 1, tally % n_filters filter_group = create_group(tally_group, "filter " // & trim(to_str(j))) ! Write name of type - select case (tally%filters(j)%type) + select case (tally % filters(j) % type) case(FILTER_UNIVERSE) call write_dataset(filter_group, "type", "universe") case(FILTER_MATERIAL) @@ -303,36 +304,37 @@ contains call write_dataset(filter_group, "type", "delayedgroup") end select - call write_dataset(filter_group, "n_bins", tally%filters(j)%n_bins) + call write_dataset(filter_group, "n_bins", & + tally % filters(j) % n_bins) if (tally % filters(j) % type == FILTER_ENERGYIN .or. & tally % filters(j) % type == FILTER_ENERGYOUT .or. & tally % filters(j) % type == FILTER_MU .or. & tally % filters(j) % type == FILTER_POLAR .or. & tally % filters(j) % type == FILTER_AZIMUTHAL) then call write_dataset(filter_group, "bins", & - tally%filters(j)%real_bins) + tally % filters(j) % real_bins) else call write_dataset(filter_group, "bins", & - tally%filters(j)%int_bins) + tally % filters(j) % int_bins) end if call close_group(filter_group) end do FILTER_LOOP ! Set up nuclide bin array and then write - allocate(str_array(tally%n_nuclide_bins)) - NUCLIDE_LOOP: do j = 1, tally%n_nuclide_bins - if (tally%nuclide_bins(j) > 0) then + allocate(str_array(tally % n_nuclide_bins)) + NUCLIDE_LOOP: do j = 1, tally % n_nuclide_bins + if (tally % nuclide_bins(j) > 0) then ! Get index in cross section listings for this nuclide - i_list = nuclides(tally%nuclide_bins(j))%listing + i_list = nuclides(tally % nuclide_bins(j)) % listing ! Determine position of . in alias string (e.g. "U-235.71c"). If ! no . is found, just use the entire string. - i_xs = index(xs_listings(i_list)%alias, '.') + i_xs = index(xs_listings(i_list) % alias, '.') if (i_xs > 0) then - str_array(j) = xs_listings(i_list)%alias(1:i_xs - 1) + str_array(j) = xs_listings(i_list) % alias(1:i_xs - 1) else - str_array(j) = xs_listings(i_list)%alias + str_array(j) = xs_listings(i_list) % alias end if else str_array(j) = 'total' @@ -348,32 +350,33 @@ contains end if ! Write scores. - call write_dataset(tally_group, "n_score_bins", tally%n_score_bins) - allocate(str_array(size(tally%score_bins))) - do j = 1, size(tally%score_bins) - str_array(j) = reaction_name(tally%score_bins(j)) + call write_dataset(tally_group, "n_score_bins", tally % n_score_bins) + allocate(str_array(size(tally % score_bins))) + do j = 1, size(tally % score_bins) + str_array(j) = reaction_name(tally % score_bins(j)) end do call write_dataset(tally_group, "score_bins", str_array) - call write_dataset(tally_group, "n_user_score_bins", tally%n_user_score_bins) + call write_dataset(tally_group, "n_user_score_bins", & + tally % n_user_score_bins) deallocate(str_array) ! Write explicit moment order strings for each score bin k = 1 - allocate(str_array(tally%n_score_bins)) - MOMENT_LOOP: do j = 1, tally%n_user_score_bins - select case(tally%score_bins(k)) + allocate(str_array(tally % n_score_bins)) + MOMENT_LOOP: do j = 1, tally % n_user_score_bins + select case(tally % score_bins(k)) case (SCORE_SCATTER_N, SCORE_NU_SCATTER_N) - str_array(k) = 'P' // trim(to_str(tally%moment_order(k))) + str_array(k) = 'P' // trim(to_str(tally % moment_order(k))) k = k + 1 case (SCORE_SCATTER_PN, SCORE_NU_SCATTER_PN) - do n_order = 0, tally%moment_order(k) + do n_order = 0, tally % moment_order(k) str_array(k) = 'P' // trim(to_str(n_order)) k = k + 1 end do case (SCORE_SCATTER_YN, SCORE_NU_SCATTER_YN, SCORE_FLUX_YN, & SCORE_TOTAL_YN) - do n_order = 0, tally%moment_order(k) + do n_order = 0, tally % moment_order(k) do nm_order = -n_order, n_order str_array(k) = 'Y' // trim(to_str(n_order)) // ',' // & trim(to_str(nm_order)) @@ -425,8 +428,9 @@ contains tally => tallies(i) ! Write sum and sum_sq for each bin - tally_group = open_group(tallies_group, "tally " // to_str(tally%id)) - call write_dataset(tally_group, "results", tally%results) + tally_group = open_group(tallies_group, "tally " & + // to_str(tally % id)) + call write_dataset(tally_group, "results", tally % results) call close_group(tally_group) end do TALLY_RESULTS @@ -436,13 +440,45 @@ contains end if call close_group(tallies_group) + + ! Write out the runtime metrics. + runtime_group = create_group(file_id, "runtime") + call write_dataset(runtime_group, "total initialization", & + time_initialize % get_value()) + call write_dataset(runtime_group, "reading cross sections", & + time_read_xs % get_value()) + call write_dataset(runtime_group, "simulation", & + time_inactive % get_value() + time_active % get_value()) + call write_dataset(runtime_group, "transport", & + time_transport % get_value()) + if (run_mode == MODE_EIGENVALUE) then + call write_dataset(runtime_group, "inactive batches", & + time_inactive % get_value()) + end if + call write_dataset(runtime_group, "active batches", & + time_active % get_value()) + if (run_mode == MODE_EIGENVALUE) then + call write_dataset(runtime_group, "synchronizing fission bank", & + time_bank % get_value()) + call write_dataset(runtime_group, "sampling source sites", & + time_bank_sample % get_value()) + call write_dataset(runtime_group, "SEND-RECV source sites", & + time_bank_sendrecv % get_value()) + end if + call write_dataset(runtime_group, "accumulating tallies", & + time_tallies % get_value()) + if (cmfd_run) then + call write_dataset(runtime_group, "CMFD", time_cmfd % get_value()) + call write_dataset(runtime_group, "CMFD building matrices", & + time_cmfdbuild % get_value()) + call write_dataset(runtime_group, "CMFD solving matrices", & + time_cmfdsolve % get_value()) + end if + call write_dataset(runtime_group, "total", time_total % get_value()) + call close_group(runtime_group) + call file_close(file_id) end if - - if (master .and. n_tallies > 0) then - deallocate(id_array) - end if - end subroutine write_state_point !=============================================================================== diff --git a/src/summary.F90 b/src/summary.F90 index e662aa473b..35c62ae039 100644 --- a/src/summary.F90 +++ b/src/summary.F90 @@ -1,10 +1,9 @@ module summary - use ace_header, only: Reaction, UrrData use constants use endf, only: reaction_name use geometry_header, only: Cell, Universe, Lattice, RectLattice, & - &HexLattice + &HexLattice, BASE_UNIVERSE use global use hdf5_interface use material_header, only: Material @@ -14,6 +13,7 @@ module summary use surface_header use string, only: to_str use tally_header, only: TallyObject + use output, only: find_offset use hdf5 @@ -534,6 +534,10 @@ contains type(RegularMesh), pointer :: m type(TallyObject), pointer :: t + integer :: offset ! distibcell offset + character(MAX_LINE_LEN), allocatable :: paths(:) ! distribcell paths array + character(MAX_LINE_LEN) :: path ! distribcell path + tallies_group = create_group(file_id, "tallies") ! Write total number of meshes @@ -576,21 +580,40 @@ contains ! Write number of filters call write_dataset(tally_group, "n_filters", t%n_filters) - FILTER_LOOP: do j = 1, t%n_filters + FILTER_LOOP: do j = 1, t % n_filters filter_group = create_group(tally_group, "filter " // trim(to_str(j))) ! Write number of bins for this filter - call write_dataset(filter_group, "n_bins", t%filters(j)%n_bins) + call write_dataset(filter_group, "n_bins", t % filters(j) % n_bins) ! Write filter bins - if (t%filters(j)%type == FILTER_ENERGYIN .or. & - t%filters(j)%type == FILTER_ENERGYOUT .or. & - t%filters(j)%type == FILTER_MU .or. & - t%filters(j)%type == FILTER_POLAR .or. & - t%filters(j)%type == FILTER_AZIMUTHAL) then - call write_dataset(filter_group, "bins", t%filters(j)%real_bins) + if (t % filters(j) % type == FILTER_ENERGYIN .or. & + t % filters(j)% type == FILTER_ENERGYOUT .or. & + t % filters(j) % type == FILTER_MU .or. & + t % filters(j) % type == FILTER_POLAR .or. & + t % filters(j) % type == FILTER_AZIMUTHAL) then + call write_dataset(filter_group, "bins", t % filters(j) % real_bins) else - call write_dataset(filter_group, "bins", t%filters(j)%int_bins) + call write_dataset(filter_group, "bins", t % filters(j) % int_bins) + end if + + ! Write paths to reach each distribcell instance + if (t % filters(j) % type == FILTER_DISTRIBCELL) then + ! Allocate array of strings for each distribcell path + allocate(paths(t % filters(j) % n_bins)) + + ! Store path for each distribcell instance + do k = 1, t % filters(j) % n_bins + path = '' + offset = 1 + call find_offset(t % filters(j) % int_bins(1), & + universes(BASE_UNIVERSE), k, offset, path) + paths(k) = path + end do + + ! Write array of distribcell paths to summary file + call write_dataset(filter_group, "paths", paths) + deallocate(paths) end if ! Write name of type @@ -694,63 +717,4 @@ contains end subroutine write_tallies -!=============================================================================== -! WRITE_TIMING -!=============================================================================== - - subroutine write_timing(file_id) - integer(HID_T), intent(in) :: file_id - - integer(8) :: total_particles - integer(HID_T) :: time_group - real(8) :: speed - - time_group = create_group(file_id, "timing") - - ! Write timing data - call write_dataset(time_group, "time_initialize", time_initialize%elapsed) - call write_dataset(time_group, "time_read_xs", time_read_xs%elapsed) - call write_dataset(time_group, "time_transport", time_transport%elapsed) - call write_dataset(time_group, "time_bank", time_bank%elapsed) - call write_dataset(time_group, "time_bank_sample", time_bank_sample%elapsed) - call write_dataset(time_group, "time_bank_sendrecv", time_bank_sendrecv%elapsed) - call write_dataset(time_group, "time_tallies", time_tallies%elapsed) - call write_dataset(time_group, "time_inactive", time_inactive%elapsed) - call write_dataset(time_group, "time_active", time_active%elapsed) - call write_dataset(time_group, "time_finalize", time_finalize%elapsed) - call write_dataset(time_group, "time_total", time_total%elapsed) - - ! Add descriptions to timing data - call write_attribute_string(time_group, "time_initialize", "description", & - "Total time elapsed for initialization (s)") - call write_attribute_string(time_group, "time_read_xs", "description", & - "Time reading cross-section libraries (s)") - call write_attribute_string(time_group, "time_transport", "description", & - "Time in transport only (s)") - call write_attribute_string(time_group, "time_bank", "description", & - "Total time synchronizing fission bank (s)") - call write_attribute_string(time_group, "time_bank_sample", "description", & - "Time between generations sampling source sites (s)") - call write_attribute_string(time_group, "time_bank_sendrecv", "description", & - "Time between generations SEND/RECVing source sites (s)") - call write_attribute_string(time_group, "time_tallies", "description", & - "Time between batches accumulating tallies (s)") - call write_attribute_string(time_group, "time_inactive", "description", & - "Total time in inactive batches (s)") - call write_attribute_string(time_group, "time_active", "description", & - "Total time in active batches (s)") - call write_attribute_string(time_group, "time_finalize", "description", & - "Total time for finalization (s)") - call write_attribute_string(time_group, "time_total", "description", & - "Total time elapsed (s)") - - ! Write calculation rate - total_particles = n_particles * n_batches * gen_per_batch - speed = real(total_particles) / (time_inactive%elapsed + & - time_active%elapsed) - call write_dataset(time_group, "neutrons_per_second", speed) - - call close_group(time_group) - end subroutine write_timing - end module summary diff --git a/src/tally.F90 b/src/tally.F90 index 0a6603f39b..3c3eb267bc 100644 --- a/src/tally.F90 +++ b/src/tally.F90 @@ -1,7 +1,7 @@ module tally - use ace_header, only: Reaction use constants + use endf_header, only: Constant1D use error, only: fatal_error use geometry_header use global @@ -15,8 +15,6 @@ module tally use search, only: binary_search use string, only: to_str use tally_header, only: TallyResult, TallyMapItem, TallyMapElement - use fission, only: nu_total, nu_delayed, yield_delayed - use interpolation, only: interpolate_tab1 #ifdef MPI use message_passing @@ -245,9 +243,9 @@ contains ! Only analog estimators are available. ! Skip any event where the particle didn't scatter if (p % event /= EVENT_SCATTER) cycle SCORE_LOOP - ! For scattering production, we need to use the pre-collision - ! weight times the multiplicity as the estimate for the number of - ! neutrons exiting a reaction with neutrons in the exit channel + ! For scattering production, we need to use the pre-collision weight + ! times the yield as the estimate for the number of neutrons exiting a + ! reaction with neutrons in the exit channel if (p % event_MT == ELASTIC .or. p % event_MT == N_LEVEL .or. & (p % event_MT >= N_N1 .and. p % event_MT <= N_NC)) then ! Don't waste time on very common reactions we know have multiplicities @@ -257,16 +255,17 @@ contains m = nuclides(p%event_nuclide)%reaction_index% & get_key(p % event_MT) - ! Get multiplicity and apply to score + ! Get yield and apply to score associate (rxn => nuclides(p%event_nuclide)%reactions(m)) - if (rxn % multiplicity_with_E) then - ! Then the multiplicity was already incorporated in to p % wgt - ! per the scattering routine, + select type (yield => rxn % products(1) % yield) + type is (Constant1D) + ! Grab the yield from the reaction + score = p % last_wgt * yield % y + class default + ! the yield was already incorporated in to p % wgt per the + ! scattering routine score = p % wgt - else - ! Grab the multiplicity from the rxn - score = p % last_wgt * rxn % multiplicity - end if + end select end associate end if @@ -279,7 +278,7 @@ contains cycle SCORE_LOOP end if ! For scattering production, we need to use the pre-collision - ! weight times the multiplicity as the estimate for the number of + ! weight times the yield as the estimate for the number of ! neutrons exiting a reaction with neutrons in the exit channel if (p % event_MT == ELASTIC .or. p % event_MT == N_LEVEL .or. & (p % event_MT >= N_N1 .and. p % event_MT <= N_NC)) then @@ -290,16 +289,17 @@ contains m = nuclides(p%event_nuclide)%reaction_index% & get_key(p % event_MT) - ! Get multiplicity and apply to score + ! Get yield and apply to score associate (rxn => nuclides(p%event_nuclide)%reactions(m)) - if (rxn % multiplicity_with_E) then - ! Then the multiplicity was already incorporated in to p % wgt - ! per the scattering routine, + select type (yield => rxn % products(1) % yield) + type is (Constant1D) + ! Grab the yield from the reaction + score = p % last_wgt * yield % y + class default + ! the yield was already incorporated in to p % wgt per the + ! scattering routine score = p % wgt - else - ! Grab the multiplicity from the rxn - score = p % last_wgt * rxn % multiplicity - end if + end select end associate end if @@ -312,7 +312,7 @@ contains cycle SCORE_LOOP end if ! For scattering production, we need to use the pre-collision - ! weight times the multiplicity as the estimate for the number of + ! weight times the yield as the estimate for the number of ! neutrons exiting a reaction with neutrons in the exit channel if (p % event_MT == ELASTIC .or. p % event_MT == N_LEVEL .or. & (p % event_MT >= N_N1 .and. p % event_MT <= N_NC)) then @@ -323,16 +323,17 @@ contains m = nuclides(p%event_nuclide)%reaction_index% & get_key(p % event_MT) - ! Get multiplicity and apply to score + ! Get yield and apply to score associate (rxn => nuclides(p%event_nuclide)%reactions(m)) - if (rxn % multiplicity_with_E) then - ! Then the multiplicity was already incorporated in to p % wgt - ! per the scattering routine, + select type (yield => rxn % products(1) % yield) + type is (Constant1D) + ! Grab the yield from the reaction + score = p % last_wgt * yield % y + class default + ! the yield was already incorporated in to p % wgt per the + ! scattering routine score = p % wgt - else - ! Grab the multiplicity from the rxn - score = p % last_wgt * rxn % multiplicity - end if + end select end associate end if @@ -499,12 +500,11 @@ contains d = t % filters(dg_filter) % int_bins(d_bin) ! Compute the yield for this delayed group - yield = yield_delayed(nuclides(p % event_nuclide), E, d) + yield = nuclides(p % event_nuclide) % nu(E, EMISSION_DELAYED, d) ! Compute the score and tally to bin score = p % absorb_wgt * yield * micro_xs(p % event_nuclide) & - % fission * nu_delayed(nuclides(p % event_nuclide), E) / & - micro_xs(p % event_nuclide) % absorption + % fission / micro_xs(p % event_nuclide) % absorption call score_fission_delayed_dg(t, d_bin, score, score_index) end do cycle SCORE_LOOP @@ -512,9 +512,9 @@ contains ! If the delayed group filter is not present, compute the score ! by multiplying the absorbed weight by the fraction of the ! delayed-nu-fission xs to the absorption xs - score = p % absorb_wgt * micro_xs(p % event_nuclide) & - % fission * nu_delayed(nuclides(p % event_nuclide), E) / & - micro_xs(p % event_nuclide) % absorption + score = p % absorb_wgt * micro_xs(p % event_nuclide) % fission & + * nuclides(p % event_nuclide) % nu(E, EMISSION_DELAYED) & + / micro_xs(p % event_nuclide) % absorption end if end if else @@ -564,11 +564,11 @@ contains d = t % filters(dg_filter) % int_bins(d_bin) ! Compute the yield for this delayed group - yield = yield_delayed(nuclides(i_nuclide), E, d) + yield = nuclides(i_nuclide) % nu(E, EMISSION_DELAYED, d) ! Compute the score and tally to bin - score = micro_xs(i_nuclide) % fission * yield & - * nu_delayed(nuclides(i_nuclide), E) * atom_density * flux + score = micro_xs(i_nuclide) % fission * yield * & + atom_density * flux call score_fission_delayed_dg(t, d_bin, score, score_index) end do cycle SCORE_LOOP @@ -576,8 +576,8 @@ contains ! If the delayed group filter is not present, compute the score ! by multiplying the delayed-nu-fission macro xs by the flux - score = micro_xs(i_nuclide) % fission * & - nu_delayed(nuclides(i_nuclide), E) * atom_density * flux + score = micro_xs(i_nuclide) % fission * nuclides(i_nuclide) % & + nu(E, EMISSION_DELAYED) * atom_density * flux end if ! Tally is on total nuclides @@ -602,11 +602,10 @@ contains d = t % filters(dg_filter) % int_bins(d_bin) ! Get the yield for the desired nuclide and delayed group - yield = yield_delayed(nuclides(i_nuc), E, d) + yield = nuclides(i_nuc) % nu(E, EMISSION_DELAYED, d) ! Compute the score and tally to bin - score = micro_xs(i_nuc) % fission * yield & - * nu_delayed(nuclides(i_nuc), E) * atom_density_ * flux + score = micro_xs(i_nuc) % fission * yield * atom_density_ * flux call score_fission_delayed_dg(t, d_bin, score, score_index) end do end do @@ -625,8 +624,8 @@ contains i_nuc = materials(p % material) % nuclide(l) ! Accumulate the contribution from each nuclide - score = score + micro_xs(i_nuc) % fission & - * nu_delayed(nuclides(i_nuc), E) * atom_density_ * flux + score = score + micro_xs(i_nuc) % fission * nuclides(i_nuc) % & + nu(E, EMISSION_DELAYED) * atom_density_ * flux end do end if end if diff --git a/src/urr_header.F90 b/src/urr_header.F90 new file mode 100644 index 0000000000..96e182d2e3 --- /dev/null +++ b/src/urr_header.F90 @@ -0,0 +1,20 @@ +module urr_header + + implicit none + +!=============================================================================== +! URRDATA contains probability tables for the unresolved resonance range. +!=============================================================================== + + type UrrData + integer :: n_energy ! # of incident neutron energies + integer :: n_prob ! # of probabilities + integer :: interp ! inteprolation (2=lin-lin, 5=log-log) + integer :: inelastic_flag ! inelastic competition flag + integer :: absorption_flag ! other absorption flag + logical :: multiply_smooth ! multiply by smooth cross section? + real(8), allocatable :: energy(:) ! incident energies + real(8), allocatable :: prob(:,:,:) ! actual probabibility tables + end type UrrData + +end module urr_header diff --git a/tests/run_tests.py b/tests/run_tests.py index 48fc23d4af..5a04f340a8 100755 --- a/tests/run_tests.py +++ b/tests/run_tests.py @@ -300,9 +300,12 @@ if options.list_build_configs: # Delete items of dictionary that don't match regular expression if options.build_config is not None: + to_delete = [] for key in tests: if not re.search(options.build_config, key): - del tests[key] + to_delete.append(key) + for key in to_delete: + del tests[key] # Check for dashboard and determine whether to push results to server # Note that there are only 3 basic dashboards: @@ -363,10 +366,14 @@ sourcepoint_batch|statepoint_interval|survival_biasing|\ tally_assumesep|translation|uniform_fs|universe|void" # Delete items of dictionary if valgrind or coverage and not in script mode +to_delete = [] if not script_mode: for key in tests: if re.search('valgrind|coverage', key): - del tests[key] + to_delete.append(key) + +for key in to_delete: + del tests[key] # Check if tests empty if len(list(tests.keys())) == 0: diff --git a/tests/test_asymmetric_lattice/results_true.dat b/tests/test_asymmetric_lattice/results_true.dat index ec4b883886..a33b9c9e59 100644 --- a/tests/test_asymmetric_lattice/results_true.dat +++ b/tests/test_asymmetric_lattice/results_true.dat @@ -1 +1 @@ -b5f96919ca474cd1c9c9d0acde3b8aac4a1cf636443c72a38b6c5a4221a8ce3e90182aaef2f664e44b9175ca257a89db2328b63e19388ee0e5006de4b3d92ce6 \ No newline at end of file +bc8bef8121f9b6470e4fea817a4e48eabb1ecba1f42761a4cbd77d71181bf9e1612df4a3d6ddfbcd08a3086ac873e5f3c3e560bf96b2b7c959a2f7aad7e4e08d \ No newline at end of file diff --git a/tests/test_cmfd_feed/results_true.dat b/tests/test_cmfd_feed/results_true.dat index 9c109db6ab..4579fa5459 100644 --- a/tests/test_cmfd_feed/results_true.dat +++ b/tests/test_cmfd_feed/results_true.dat @@ -1,128 +1,128 @@ k-combined: -1.168349E+00 1.145333E-02 +1.169891E+00 6.289481E-03 tally 1: -1.167844E+01 -1.366808E+01 -2.141846E+01 -4.598143E+01 -2.928738E+01 -8.615095E+01 -3.513015E+01 -1.241914E+02 -3.715164E+01 -1.384553E+02 -3.639309E+01 -1.327919E+02 -3.370872E+01 -1.138391E+02 -2.875251E+01 -8.292323E+01 -2.117740E+01 -4.512961E+01 -1.130554E+01 -1.289872E+01 +1.173921E+01 +1.385460E+01 +2.164076E+01 +4.699369E+01 +2.906462E+01 +8.464935E+01 +3.382312E+01 +1.147095E+02 +3.632006E+01 +1.323878E+02 +3.655412E+01 +1.341064E+02 +3.347756E+01 +1.124264E+02 +2.931337E+01 +8.607243E+01 +2.182947E+01 +4.789563E+01 +1.147668E+01 +1.325716E+01 tally 2: -2.339531E+01 -2.755922E+01 -1.646762E+01 -1.365289E+01 -2.146174E+00 -2.369613E-01 -4.309769E+01 -9.312913E+01 -3.054873E+01 -4.681242E+01 -4.076365E+00 -8.462370E-01 -5.840647E+01 -1.715260E+02 -4.161366E+01 -8.713062E+01 -5.382541E+00 -1.473814E+00 -6.927641E+01 -2.411359E+02 -4.943841E+01 -1.228850E+02 -6.282202E+00 -1.990021E+00 -7.308593E+01 -2.678848E+02 -5.202069E+01 -1.357621E+02 -6.826145E+00 -2.353974E+00 -7.117026E+01 -2.543546E+02 -5.068896E+01 -1.290261E+02 -6.342979E+00 -2.033850E+00 -6.615720E+01 -2.193712E+02 -4.725156E+01 -1.119514E+02 -6.024815E+00 -1.833752E+00 -5.738164E+01 -1.651944E+02 -4.081217E+01 -8.360122E+01 -5.326191E+00 -1.435896E+00 -4.208669E+01 -8.911740E+01 -2.994944E+01 -4.517409E+01 -3.905846E+00 -7.855247E-01 -2.273578E+01 -2.615080E+01 -1.603853E+01 -1.303560E+01 -2.160924E+00 -2.473278E-01 +2.298190E+01 +2.667071E+01 +1.600292E+01 +1.293670E+01 +2.252427E+00 +2.605738E-01 +4.268506E+01 +9.161215E+01 +3.022909E+01 +4.598915E+01 +3.873926E+00 +7.615035E-01 +5.680399E+01 +1.623878E+02 +4.033805E+01 +8.196263E+01 +5.280610E+00 +1.414008E+00 +6.814741E+01 +2.331778E+02 +4.851618E+01 +1.182330E+02 +6.261805E+00 +1.983205E+00 +7.392922E+01 +2.740255E+02 +5.253586E+01 +1.384152E+02 +6.733810E+00 +2.278242E+00 +7.332860E+01 +2.698608E+02 +5.227405E+01 +1.371810E+02 +6.714658E+00 +2.273652E+00 +6.830172E+01 +2.340687E+02 +4.867159E+01 +1.188724E+02 +6.215002E+00 +1.956978E+00 +5.885634E+01 +1.736180E+02 +4.170434E+01 +8.719622E+01 +5.253064E+00 +1.396224E+00 +4.372001E+01 +9.593570E+01 +3.106511E+01 +4.844647E+01 +3.817991E+00 +7.509063E-01 +2.338260E+01 +2.752103E+01 +1.636606E+01 +1.347591E+01 +2.220013E+00 +2.515671E-01 tally 3: -1.584939E+01 -1.265206E+01 -1.096930E+00 -6.173135E-02 -2.940258E+01 -4.337818E+01 -1.932931E+00 -1.884749E-01 -4.008186E+01 -8.086427E+01 -2.512704E+00 -3.189987E-01 -4.759648E+01 -1.139252E+02 -3.041630E+00 -4.683237E-01 -5.006181E+01 -1.257467E+02 -3.137042E+00 -4.981005E-01 -4.883211E+01 -1.197646E+02 -3.130686E+00 -4.987337E-01 -4.550029E+01 -1.038199E+02 -2.853740E+00 -4.127265E-01 -3.937822E+01 -7.785807E+01 -2.488983E+00 -3.156421E-01 -2.884912E+01 -4.192640E+01 -1.855316E+00 -1.745109E-01 -1.543635E+01 -1.208459E+01 -1.025635E+00 -5.351565E-02 +1.538752E+01 +1.196478E+01 +1.079685E+00 +6.010786E-02 +2.911906E+01 +4.269070E+01 +1.822657E+00 +1.671851E-01 +3.885421E+01 +7.608218E+01 +2.541517E+00 +3.262452E-01 +4.673300E+01 +1.097036E+02 +2.885308E+00 +4.214444E-01 +5.059247E+01 +1.283984E+02 +3.222797E+00 +5.237329E-01 +5.034856E+01 +1.272538E+02 +3.230225E+00 +5.273425E-01 +4.688476E+01 +1.103152E+02 +2.941287E+00 +4.363750E-01 +4.013746E+01 +8.077506E+01 +2.634234E+00 +3.520271E-01 +2.996995E+01 +4.510282E+01 +1.946504E+00 +1.919104E-01 +1.575153E+01 +1.248536E+01 +1.020705E+00 +5.413570E-02 tally 4: 0.000000E+00 0.000000E+00 @@ -160,8 +160,8 @@ tally 4: 0.000000E+00 0.000000E+00 0.000000E+00 -3.119914E+00 -4.908283E-01 +3.049469E+00 +4.677325E-01 0.000000E+00 0.000000E+00 0.000000E+00 @@ -208,10 +208,10 @@ tally 4: 0.000000E+00 0.000000E+00 0.000000E+00 -5.567786E+00 -1.556825E+00 -2.766088E+00 -3.864023E-01 +5.514939E+00 +1.528899E+00 +2.770358E+00 +3.879191E-01 0.000000E+00 0.000000E+00 0.000000E+00 @@ -256,10 +256,10 @@ tally 4: 0.000000E+00 0.000000E+00 0.000000E+00 -7.491891E+00 -2.819491E+00 -5.235154E+00 -1.377898E+00 +7.294002E+00 +2.675589E+00 +5.032131E+00 +1.275040E+00 0.000000E+00 0.000000E+00 0.000000E+00 @@ -304,10 +304,10 @@ tally 4: 0.000000E+00 0.000000E+00 0.000000E+00 -8.810357E+00 -3.898704E+00 -7.233068E+00 -2.630659E+00 +8.668860E+00 +3.776102E+00 +7.036008E+00 +2.490719E+00 0.000000E+00 0.000000E+00 0.000000E+00 @@ -352,10 +352,10 @@ tally 4: 0.000000E+00 0.000000E+00 0.000000E+00 -9.374583E+00 -4.414420E+00 -8.565683E+00 -3.687428E+00 +9.345868E+00 +4.380719E+00 +8.352414E+00 +3.501945E+00 0.000000E+00 0.000000E+00 0.000000E+00 @@ -400,10 +400,10 @@ tally 4: 0.000000E+00 0.000000E+00 0.000000E+00 -9.001252E+00 -4.073267E+00 -8.974821E+00 -4.050120E+00 +9.223771E+00 +4.270119E+00 +9.093766E+00 +4.158282E+00 0.000000E+00 0.000000E+00 0.000000E+00 @@ -448,10 +448,10 @@ tally 4: 0.000000E+00 0.000000E+00 0.000000E+00 -8.236452E+00 -3.401934E+00 -9.042286E+00 -4.102906E+00 +8.530966E+00 +3.651778E+00 +9.219150E+00 +4.264346E+00 0.000000E+00 0.000000E+00 0.000000E+00 @@ -496,10 +496,10 @@ tally 4: 0.000000E+00 0.000000E+00 0.000000E+00 -7.028546E+00 -2.482380E+00 -8.577643E+00 -3.691947E+00 +7.204424E+00 +2.604203E+00 +8.690373E+00 +3.785262E+00 0.000000E+00 0.000000E+00 0.000000E+00 @@ -544,10 +544,10 @@ tally 4: 0.000000E+00 0.000000E+00 0.000000E+00 -5.159585E+00 -1.342512E+00 -7.389236E+00 -2.745028E+00 +5.326721E+00 +1.426975E+00 +7.513640E+00 +2.833028E+00 0.000000E+00 0.000000E+00 0.000000E+00 @@ -592,10 +592,10 @@ tally 4: 0.000000E+00 0.000000E+00 0.000000E+00 -2.762685E+00 -3.914181E-01 -5.471849E+00 -1.509910E+00 +2.847310E+00 +4.090440E-01 +5.661144E+00 +1.607138E+00 0.000000E+00 0.000000E+00 0.000000E+00 @@ -642,8 +642,8 @@ tally 4: 0.000000E+00 0.000000E+00 0.000000E+00 -3.038522E+00 -4.643520E-01 +3.025812E+00 +4.597241E-01 0.000000E+00 0.000000E+00 0.000000E+00 @@ -662,114 +662,114 @@ k cmfd 0.000000E+00 0.000000E+00 0.000000E+00 -1.180802E+00 -1.162698E+00 -1.162794E+00 -1.159752E+00 -1.152596E+00 -1.151652E+00 -1.148131E+00 -1.151875E+00 -1.151434E+00 -1.158833E+00 -1.160751E+00 -1.155305E+00 -1.155356E+00 -1.158866E+00 -1.161574E+00 -1.154691E+00 +1.170416E+00 +1.172966E+00 +1.165537E+00 +1.170979E+00 +1.161922E+00 +1.157523E+00 +1.158873E+00 +1.162877E+00 +1.167102E+00 +1.168130E+00 +1.170570E+00 +1.168115E+00 +1.174081E+00 +1.169458E+00 +1.167848E+00 +1.165116E+00 cmfd entropy 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 -3.214195E+00 -3.225164E+00 -3.227316E+00 -3.225663E+00 -3.226390E+00 -3.225832E+00 -3.226707E+00 -3.227866E+00 -3.229948E+00 -3.229269E+00 -3.230044E+00 -3.231568E+00 -3.234694E+00 -3.234771E+00 -3.234915E+00 -3.235876E+00 +3.203643E+00 +3.207943E+00 +3.213367E+00 +3.214360E+00 +3.219634E+00 +3.222232E+00 +3.221744E+00 +3.224544E+00 +3.225990E+00 +3.227769E+00 +3.227417E+00 +3.230728E+00 +3.231662E+00 +3.233316E+00 +3.233193E+00 +3.232564E+00 cmfd balance 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 -4.742525E-03 -2.646417E-03 -1.981783E-03 -1.856593E-03 -1.797685E-03 -2.122587E-03 -1.200823E-03 -2.177249E-03 -1.442840E-03 -1.477754E-03 -1.236325E-03 -1.048988E-03 -8.395164E-04 -7.380254E-04 -7.742837E-04 -8.235911E-04 +4.009063E-03 +4.431773E-03 +3.152698E-03 +3.510424E-03 +2.052087E-03 +2.068633E-03 +1.502416E-03 +1.589822E-03 +1.566016E-03 +1.219159E-03 +1.017888E-03 +9.771569E-04 +1.010126E-03 +1.073397E-03 +1.172784E-03 +9.827488E-04 cmfd dominance ratio 0.000E+00 0.000E+00 0.000E+00 0.000E+00 - 5.467E-01 - 5.518E-01 - 5.535E-01 - 5.500E-01 + 5.397E-01 + 5.425E-01 5.481E-01 - 5.478E-01 - 5.467E-01 - 5.465E-01 - 5.493E-01 - 5.488E-01 - 5.491E-01 + 5.473E-01 5.503E-01 - 5.529E-01 - 5.531E-01 - 5.534E-01 - 5.552E-01 + 5.502E-01 + 5.483E-01 + 5.520E-01 + 5.505E-01 + 3.216E-01 + 5.373E-01 + 5.517E-01 + 5.508E-01 + 5.524E-01 + 5.524E-01 + 5.523E-01 cmfd openmc source comparison 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 -9.168094E-03 -5.978693E-03 -4.369223E-03 -4.546309E-03 -4.222522E-03 -4.221686E-03 -4.604208E-03 -3.950286E-03 -2.939283E-03 -3.667020E-03 -2.592899E-03 -2.272158E-03 -1.229170E-03 -1.114150E-03 -1.060490E-03 -1.714222E-03 +6.959835E-03 +5.655657E-03 +3.886178E-03 +4.035110E-03 +3.043277E-03 +5.455479E-03 +4.515313E-03 +2.439842E-03 +2.114036E-03 +2.673135E-03 +2.431753E-03 +4.330931E-03 +3.404650E-03 +3.680302E-03 +3.309625E-03 +3.705544E-03 cmfd source -4.724285E-02 -8.305825E-02 -1.081058E-01 -1.314542E-01 -1.357299E-01 -1.359417E-01 -1.240918E-01 -1.087580E-01 -8.111239E-02 -4.450518E-02 +4.697085E-02 +7.920706E-02 +1.107968E-01 +1.250932E-01 +1.383930E-01 +1.380648E-01 +1.246874E-01 +1.113705E-01 +8.203754E-02 +4.337882E-02 diff --git a/tests/test_cmfd_nofeed/results_true.dat b/tests/test_cmfd_nofeed/results_true.dat index 308dd7d827..d8a17d676b 100644 --- a/tests/test_cmfd_nofeed/results_true.dat +++ b/tests/test_cmfd_nofeed/results_true.dat @@ -1,128 +1,128 @@ k-combined: -1.171115E+00 6.173328E-03 +1.167381E+00 9.433736E-03 tally 1: -1.151618E+01 -1.331859E+01 -2.120660E+01 -4.514836E+01 -2.759616E+01 -7.639131E+01 -3.216668E+01 -1.036501E+02 -3.664720E+01 -1.345450E+02 -3.771246E+01 -1.424209E+02 -3.523750E+01 -1.245225E+02 -2.973298E+01 -8.860064E+01 -2.152108E+01 -4.647187E+01 -1.169538E+01 -1.375047E+01 +1.196136E+01 +1.442468E+01 +2.133857E+01 +4.600706E+01 +2.874353E+01 +8.287538E+01 +3.400779E+01 +1.158949E+02 +3.736443E+01 +1.398466E+02 +3.705095E+01 +1.376767E+02 +3.486173E+01 +1.220362E+02 +2.910935E+01 +8.507181E+01 +2.034762E+01 +4.156717E+01 +1.074970E+01 +1.160733E+01 tally 2: -2.274639E+01 -2.606952E+01 -1.588200E+01 -1.270445E+01 -2.140989E+00 -2.357207E-01 -4.205792E+01 -8.880940E+01 -2.970000E+01 -4.427086E+01 -3.919645E+00 -7.773724E-01 -5.560960E+01 -1.559764E+02 -3.947900E+01 -7.872700E+01 -5.238942E+00 -1.400918E+00 -6.492259E+01 -2.117369E+02 -4.612200E+01 -1.069035E+02 -5.989449E+00 -1.813201E+00 -7.217377E+01 -2.608499E+02 -5.148500E+01 -1.327923E+02 -6.607336E+00 -2.205529E+00 -7.305896E+01 -2.681514E+02 -5.187500E+01 -1.352457E+02 -6.722921E+00 -2.290262E+00 -6.884269E+01 -2.380550E+02 -4.904800E+01 -1.208314E+02 -6.177320E+00 -1.927173E+00 -5.902100E+01 -1.748370E+02 -4.201000E+01 -8.858460E+01 -5.542381E+00 -1.549108E+00 -4.268091E+01 -9.151405E+01 -3.029500E+01 -4.614050E+01 -3.822093E+00 -7.420139E-01 -2.362279E+01 -2.812041E+01 -1.653100E+01 -1.377737E+01 -2.336090E+00 -2.851840E-01 +2.321994E+01 +2.726751E+01 +1.624000E+01 +1.334217E+01 +2.239367E+00 +2.607315E-01 +4.184801E+01 +8.813953E+01 +2.955600E+01 +4.401685E+01 +3.937924E+00 +7.877545E-01 +5.620223E+01 +1.589242E+02 +3.981400E+01 +7.983679E+01 +5.183337E+00 +1.367303E+00 +6.834724E+01 +2.342244E+02 +4.869600E+01 +1.189597E+02 +6.288549E+00 +1.997858E+00 +7.481522E+01 +2.802998E+02 +5.346500E+01 +1.431835E+02 +6.691123E+00 +2.252645E+00 +7.381412E+01 +2.733775E+02 +5.269700E+01 +1.393729E+02 +6.846095E+00 +2.360683E+00 +6.907775E+01 +2.396751E+02 +4.918500E+01 +1.215909E+02 +6.400076E+00 +2.073871E+00 +5.783260E+01 +1.680814E+02 +4.107800E+01 +8.480751E+01 +5.269220E+00 +1.404986E+00 +4.120212E+01 +8.516646E+01 +2.930300E+01 +4.310295E+01 +3.730803E+00 +7.015777E-01 +2.228419E+01 +2.504033E+01 +1.554100E+01 +1.217931E+01 +2.126451E+00 +2.315275E-01 tally 3: -1.524100E+01 -1.171023E+01 -1.071050E+00 -5.839198E-02 -2.862800E+01 -4.113148E+01 -1.892774E+00 -1.812712E-01 -3.804600E+01 -7.316097E+01 -2.423654E+00 -2.968521E-01 -4.434600E+01 -9.882906E+01 -2.823929E+00 -4.033633E-01 -4.955300E+01 -1.230293E+02 -3.226029E+00 -5.265680E-01 -4.999400E+01 -1.256474E+02 -3.232464E+00 -5.286388E-01 -4.724300E+01 -1.121029E+02 -3.015553E+00 -4.606928E-01 -4.051300E+01 -8.239672E+01 -2.592073E+00 -3.412174E-01 -2.912700E+01 -4.265700E+01 -1.875109E+00 -1.785438E-01 -1.593500E+01 -1.280638E+01 -1.038638E+00 -5.538157E-02 +1.561100E+01 +1.233967E+01 +1.095984E+00 +6.181387E-02 +2.847800E+01 +4.088161E+01 +1.815210E+00 +1.669969E-01 +3.834200E+01 +7.408022E+01 +2.446117E+00 +3.017834E-01 +4.687600E+01 +1.102381E+02 +2.954924E+00 +4.412809E-01 +5.155100E+01 +1.331461E+02 +3.204714E+00 +5.178544E-01 +5.067700E+01 +1.289238E+02 +3.246710E+00 +5.326374E-01 +4.738600E+01 +1.128834E+02 +3.035962E+00 +4.640211E-01 +3.953600E+01 +7.858196E+01 +2.507574E+00 +3.186456E-01 +2.819300E+01 +3.991455E+01 +1.846612E+00 +1.725570E-01 +1.497500E+01 +1.131312E+01 +9.213728E-01 +4.422001E-02 tally 4: 0.000000E+00 0.000000E+00 @@ -160,8 +160,8 @@ tally 4: 0.000000E+00 0.000000E+00 0.000000E+00 -3.065000E+00 -4.742170E-01 +3.090000E+00 +4.810640E-01 0.000000E+00 0.000000E+00 0.000000E+00 @@ -208,10 +208,10 @@ tally 4: 0.000000E+00 0.000000E+00 0.000000E+00 -5.420000E+00 -1.474674E+00 -2.693000E+00 -3.667090E-01 +5.555000E+00 +1.551579E+00 +2.833000E+00 +4.078910E-01 0.000000E+00 0.000000E+00 0.000000E+00 @@ -256,10 +256,10 @@ tally 4: 0.000000E+00 0.000000E+00 0.000000E+00 -7.243000E+00 -2.637431E+00 -5.092000E+00 -1.305200E+00 +7.271000E+00 +2.659755E+00 +5.095000E+00 +1.310819E+00 0.000000E+00 0.000000E+00 0.000000E+00 @@ -304,10 +304,10 @@ tally 4: 0.000000E+00 0.000000E+00 0.000000E+00 -8.280000E+00 -3.445670E+00 -6.765000E+00 -2.307253E+00 +8.577000E+00 +3.703215E+00 +7.026000E+00 +2.486552E+00 0.000000E+00 0.000000E+00 0.000000E+00 @@ -352,10 +352,10 @@ tally 4: 0.000000E+00 0.000000E+00 0.000000E+00 -8.980000E+00 -4.046484E+00 -8.108000E+00 -3.299338E+00 +9.393000E+00 +4.422429E+00 +8.572000E+00 +3.680852E+00 0.000000E+00 0.000000E+00 0.000000E+00 @@ -400,10 +400,10 @@ tally 4: 0.000000E+00 0.000000E+00 0.000000E+00 -9.016000E+00 -4.079320E+00 -8.962000E+00 -4.034032E+00 +9.265000E+00 +4.305625E+00 +9.261000E+00 +4.304411E+00 0.000000E+00 0.000000E+00 0.000000E+00 @@ -448,10 +448,10 @@ tally 4: 0.000000E+00 0.000000E+00 0.000000E+00 -8.465000E+00 -3.595665E+00 -9.296000E+00 -4.340524E+00 +8.535000E+00 +3.659395E+00 +9.303000E+00 +4.350791E+00 0.000000E+00 0.000000E+00 0.000000E+00 @@ -496,10 +496,10 @@ tally 4: 0.000000E+00 0.000000E+00 0.000000E+00 -7.247000E+00 -2.638527E+00 -8.865000E+00 -3.946315E+00 +7.104000E+00 +2.544182E+00 +8.693000E+00 +3.799545E+00 0.000000E+00 0.000000E+00 0.000000E+00 @@ -544,10 +544,10 @@ tally 4: 0.000000E+00 0.000000E+00 0.000000E+00 -5.179000E+00 -1.353661E+00 -7.492000E+00 -2.817588E+00 +5.168000E+00 +1.344390E+00 +7.334000E+00 +2.700052E+00 0.000000E+00 0.000000E+00 0.000000E+00 @@ -592,10 +592,10 @@ tally 4: 0.000000E+00 0.000000E+00 0.000000E+00 -2.821000E+00 -4.067990E-01 -5.617000E+00 -1.587757E+00 +2.724000E+00 +3.745680E-01 +5.416000E+00 +1.471086E+00 0.000000E+00 0.000000E+00 0.000000E+00 @@ -642,8 +642,8 @@ tally 4: 0.000000E+00 0.000000E+00 0.000000E+00 -3.134000E+00 -4.937920E-01 +2.960000E+00 +4.397840E-01 0.000000E+00 0.000000E+00 0.000000E+00 @@ -662,114 +662,114 @@ k cmfd 0.000000E+00 0.000000E+00 0.000000E+00 -1.180802E+00 -1.163440E+00 -1.148572E+00 -1.151423E+00 -1.143374E+00 -1.144091E+00 -1.146212E+00 -1.144900E+00 -1.153511E+00 -1.158766E+00 -1.159179E+00 -1.156627E+00 -1.160647E+00 -1.162860E+00 -1.164312E+00 -1.164928E+00 +1.170416E+00 +1.172572E+00 +1.171159E+00 +1.170281E+00 +1.159698E+00 +1.151967E+00 +1.146706E+00 +1.147137E+00 +1.152154E+00 +1.156980E+00 +1.156370E+00 +1.155975E+00 +1.155295E+00 +1.154881E+00 +1.153714E+00 +1.159485E+00 cmfd entropy 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 -3.214195E+00 -3.222259E+00 -3.225989E+00 -3.230436E+00 -3.228875E+00 -3.229003E+00 -3.228502E+00 -3.230397E+00 -3.231417E+00 -3.231192E+00 -3.229995E+00 -3.229396E+00 -3.228730E+00 -3.228091E+00 -3.227600E+00 -3.229723E+00 +3.203643E+00 +3.204555E+00 +3.210935E+00 +3.213980E+00 +3.219204E+00 +3.222234E+00 +3.226210E+00 +3.226808E+00 +3.224445E+00 +3.222460E+00 +3.222458E+00 +3.222447E+00 +3.220832E+00 +3.220841E+00 +3.221580E+00 +3.220523E+00 cmfd balance 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 -4.742525E-03 -3.110598E-03 -2.490108E-03 -2.114137E-03 -2.190200E-03 -3.281877E-03 -2.219193E-03 -2.458372E-03 -2.200863E-03 -2.181858E-03 -2.064212E-03 -1.961178E-03 -1.713250E-03 -1.665361E-03 -1.436016E-03 -1.193462E-03 +4.009063E-03 +4.869662E-03 +2.997290E-03 +2.711191E-03 +1.688329E-03 +1.855396E-03 +1.403977E-03 +1.398430E-03 +1.818402E-03 +1.761252E-03 +1.646650E-03 +1.480120E-03 +1.399560E-03 +1.400162E-03 +1.178362E-03 +1.292279E-03 cmfd dominance ratio 0.000E+00 0.000E+00 0.000E+00 0.000E+00 - 5.467E-01 - 5.505E-01 - 5.514E-01 + 5.397E-01 + 5.405E-01 + 5.412E-01 + 5.428E-01 + 5.460E-01 + 4.531E-01 + 5.528E-01 5.531E-01 - 5.529E-01 - 5.501E-01 - 5.484E-01 - 5.500E-01 - 5.506E-01 - 5.508E-01 - 5.504E-01 - 5.500E-01 - 5.480E-01 - 5.482E-01 - 5.475E-01 5.493E-01 + 5.468E-01 + 5.482E-01 + 5.487E-01 + 5.471E-01 + 5.465E-01 + 5.461E-01 + 5.443E-01 cmfd openmc source comparison 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 -9.168094E-03 -5.976241E-03 -4.426550E-03 -4.107499E-03 -4.957716E-03 -4.026213E-03 -3.986000E-03 -2.702714E-03 -3.619345E-03 -4.909616E-03 -3.355042E-03 -2.945724E-03 -3.010811E-03 -2.965662E-03 -2.673073E-03 -1.669634E-03 +6.959835E-03 +5.494668E-03 +4.076255E-03 +4.451120E-03 +3.035589E-03 +3.391773E-03 +1.907995E-03 +2.482495E-03 +2.994917E-03 +3.104683E-03 +2.309343E-03 +2.151358E-03 +2.348850E-03 +1.976731E-03 +2.080638E-03 +2.301327E-03 cmfd source -4.539734E-02 -8.104913E-02 -1.045143E-01 -1.221516E-01 -1.398002E-01 -1.400323E-01 -1.304628E-01 -1.120006E-01 -8.038230E-02 -4.420934E-02 +4.638920E-02 +7.751172E-02 +1.056089E-01 +1.282509E-01 +1.396713E-01 +1.415740E-01 +1.323405E-01 +1.092839E-01 +7.981779E-02 +3.955174E-02 diff --git a/tests/test_complex_cell/results_true.dat b/tests/test_complex_cell/results_true.dat index 97f228e3ee..da3acd2aa3 100644 --- a/tests/test_complex_cell/results_true.dat +++ b/tests/test_complex_cell/results_true.dat @@ -1,11 +1,11 @@ k-combined: -2.565769E-01 8.980879E-04 +2.531110E-01 3.041974E-03 tally 1: -2.584080E+00 -1.335682E+00 -2.763580E+00 -1.528633E+00 -1.007148E+00 -2.031543E-01 -1.113696E-01 -2.485351E-03 +2.594626E+00 +1.346701E+00 +2.683653E+00 +1.440725E+00 +9.933862E-01 +1.977011E-01 +1.112289E-01 +2.476655E-03 diff --git a/tests/test_confidence_intervals/results_true.dat b/tests/test_confidence_intervals/results_true.dat index fb13bdad29..e519180c83 100644 --- a/tests/test_confidence_intervals/results_true.dat +++ b/tests/test_confidence_intervals/results_true.dat @@ -1,5 +1,5 @@ k-combined: -2.913599E-01 6.738749E-03 +2.955487E-01 7.001017E-03 tally 1: -6.420923E+01 -5.190738E+02 +6.492201E+01 +5.290724E+02 diff --git a/tests/test_density/results_true.dat b/tests/test_density/results_true.dat index 1dbadc039d..65135bbc95 100644 --- a/tests/test_density/results_true.dat +++ b/tests/test_density/results_true.dat @@ -1,2 +1,2 @@ k-combined: -1.088237E+00 1.999252E-02 +1.102244E+00 1.114944E-02 diff --git a/tests/test_diff_tally/results_true.dat b/tests/test_diff_tally/results_true.dat index 3071af772b..9d4af32e7f 100644 --- a/tests/test_diff_tally/results_true.dat +++ b/tests/test_diff_tally/results_true.dat @@ -1,97 +1,97 @@ d_material,d_nuclide,d_variable,score,mean,std. dev. -3,,density,flux,-5.12e+00,8.94e-01 -3,,density,flux,-1.07e+01,8.84e-01 -1,,density,flux,-3.14e-01,4.48e-02 -1,,density,flux,-2.73e-01,8.51e-02 -1,O-16.71c,nuclide_density,flux,-3.58e+00,7.77e+00 -1,O-16.71c,nuclide_density,flux,-7.64e+00,1.09e+01 -1,U-235.71c,nuclide_density,flux,-1.19e+03,1.18e+02 -1,U-235.71c,nuclide_density,flux,-1.25e+03,1.63e+02 -3,,density,total,-1.92e+00,4.49e-01 -3,,density,absorption,5.89e-02,6.68e-02 -3,,density,fission,8.55e-02,3.33e-02 -3,,density,nu-fission,2.20e-01,8.60e-02 -3,,density,total,4.49e-02,3.15e-02 -3,,density,absorption,6.66e-02,2.74e-02 -3,,density,fission,6.12e-02,2.24e-02 -3,,density,nu-fission,1.49e-01,5.45e-02 -3,,density,total,7.72e+00,9.45e-01 -3,,density,absorption,1.26e-01,2.24e-02 +3,,density,flux,-5.53e+00,8.45e-01 +3,,density,flux,-9.96e+00,1.01e+00 +1,,density,flux,-2.97e-01,5.83e-02 +1,,density,flux,-3.05e-01,7.69e-02 +1,O-16.71c,nuclide_density,flux,-1.10e+01,9.63e+00 +1,O-16.71c,nuclide_density,flux,-8.07e+00,7.78e+00 +1,U-235.71c,nuclide_density,flux,-1.06e+03,1.30e+02 +1,U-235.71c,nuclide_density,flux,-9.28e+02,9.72e+01 +3,,density,total,-2.21e+00,4.04e-01 +3,,density,absorption,6.24e-03,1.37e-01 +3,,density,fission,5.89e-02,7.93e-02 +3,,density,nu-fission,1.47e-01,2.06e-01 +3,,density,total,3.36e-02,6.32e-02 +3,,density,absorption,5.67e-02,6.01e-02 +3,,density,fission,5.46e-02,5.03e-02 +3,,density,nu-fission,1.33e-01,1.23e-01 +3,,density,total,8.38e+00,1.33e+00 +3,,density,absorption,1.30e-01,1.97e-02 3,,density,fission,0.00e+00,0.00e+00 3,,density,nu-fission,0.00e+00,0.00e+00 3,,density,total,0.00e+00,0.00e+00 3,,density,absorption,0.00e+00,0.00e+00 3,,density,fission,0.00e+00,0.00e+00 3,,density,nu-fission,0.00e+00,0.00e+00 -1,,density,total,3.79e-01,1.14e-02 -1,,density,absorption,1.27e-02,4.48e-03 -1,,density,fission,1.88e-03,1.96e-03 -1,,density,nu-fission,5.22e-03,5.08e-03 -1,,density,total,5.43e-03,1.67e-03 -1,,density,absorption,1.29e-03,1.64e-03 -1,,density,fission,3.13e-05,1.30e-03 -1,,density,nu-fission,1.12e-04,3.17e-03 -1,,density,total,-2.91e-01,9.67e-02 -1,,density,absorption,-5.40e-03,1.29e-03 +1,,density,total,3.84e-01,4.09e-02 +1,,density,absorption,1.77e-02,9.66e-03 +1,,density,fission,2.95e-03,4.95e-03 +1,,density,nu-fission,8.23e-03,1.30e-02 +1,,density,total,5.44e-03,4.18e-03 +1,,density,absorption,1.29e-03,3.79e-03 +1,,density,fission,2.91e-04,3.01e-03 +1,,density,nu-fission,7.52e-04,7.35e-03 +1,,density,total,-3.59e-01,8.82e-02 +1,,density,absorption,-7.04e-03,1.23e-03 1,,density,fission,0.00e+00,0.00e+00 1,,density,nu-fission,0.00e+00,0.00e+00 1,,density,total,0.00e+00,0.00e+00 1,,density,absorption,0.00e+00,0.00e+00 1,,density,fission,0.00e+00,0.00e+00 1,,density,nu-fission,0.00e+00,0.00e+00 -1,O-16.71c,nuclide_density,total,4.33e+01,3.24e+00 -1,O-16.71c,nuclide_density,absorption,6.59e-01,5.83e-01 -1,O-16.71c,nuclide_density,fission,4.31e-01,1.26e-01 -1,O-16.71c,nuclide_density,nu-fission,1.08e+00,3.25e-01 -1,O-16.71c,nuclide_density,total,4.52e-01,1.50e-01 -1,O-16.71c,nuclide_density,absorption,4.58e-01,1.12e-01 -1,O-16.71c,nuclide_density,fission,3.54e-01,9.55e-02 -1,O-16.71c,nuclide_density,nu-fission,8.62e-01,2.33e-01 -1,O-16.71c,nuclide_density,total,-4.58e-01,1.17e+01 -1,O-16.71c,nuclide_density,absorption,1.23e-01,1.75e-01 +1,O-16.71c,nuclide_density,total,3.94e+01,5.38e+00 +1,O-16.71c,nuclide_density,absorption,9.23e-02,8.39e-01 +1,O-16.71c,nuclide_density,fission,-1.87e-01,4.17e-01 +1,O-16.71c,nuclide_density,nu-fission,-5.04e-01,1.09e+00 +1,O-16.71c,nuclide_density,total,-1.54e-01,3.77e-01 +1,O-16.71c,nuclide_density,absorption,-1.13e-01,3.27e-01 +1,O-16.71c,nuclide_density,fission,-8.48e-02,2.51e-01 +1,O-16.71c,nuclide_density,nu-fission,-2.07e-01,6.11e-01 +1,O-16.71c,nuclide_density,total,-5.63e+00,9.03e+00 +1,O-16.71c,nuclide_density,absorption,-1.65e-01,1.27e-01 1,O-16.71c,nuclide_density,fission,0.00e+00,0.00e+00 1,O-16.71c,nuclide_density,nu-fission,0.00e+00,0.00e+00 1,O-16.71c,nuclide_density,total,0.00e+00,0.00e+00 1,O-16.71c,nuclide_density,absorption,0.00e+00,0.00e+00 1,O-16.71c,nuclide_density,fission,0.00e+00,0.00e+00 1,O-16.71c,nuclide_density,nu-fission,0.00e+00,0.00e+00 -1,U-235.71c,nuclide_density,total,-2.41e+02,5.64e+01 -1,U-235.71c,nuclide_density,absorption,1.11e+02,1.40e+01 -1,U-235.71c,nuclide_density,fission,1.79e+02,9.60e+00 -1,U-235.71c,nuclide_density,nu-fission,3.97e+02,2.44e+01 -1,U-235.71c,nuclide_density,total,4.56e+02,1.09e+01 -1,U-235.71c,nuclide_density,absorption,3.45e+02,1.09e+01 -1,U-235.71c,nuclide_density,fission,2.70e+02,8.42e+00 -1,U-235.71c,nuclide_density,nu-fission,6.59e+02,2.05e+01 -1,U-235.71c,nuclide_density,total,-2.29e+03,2.59e+02 -1,U-235.71c,nuclide_density,absorption,-5.31e+01,5.44e+00 +1,U-235.71c,nuclide_density,total,-1.95e+02,6.93e+01 +1,U-235.71c,nuclide_density,absorption,1.06e+02,2.33e+01 +1,U-235.71c,nuclide_density,fission,1.74e+02,1.67e+01 +1,U-235.71c,nuclide_density,nu-fission,3.84e+02,4.28e+01 +1,U-235.71c,nuclide_density,total,4.48e+02,1.64e+01 +1,U-235.71c,nuclide_density,absorption,3.37e+02,1.47e+01 +1,U-235.71c,nuclide_density,fission,2.66e+02,1.24e+01 +1,U-235.71c,nuclide_density,nu-fission,6.49e+02,3.02e+01 +1,U-235.71c,nuclide_density,total,-2.06e+03,2.21e+02 +1,U-235.71c,nuclide_density,absorption,-5.23e+01,6.36e+00 1,U-235.71c,nuclide_density,fission,0.00e+00,0.00e+00 1,U-235.71c,nuclide_density,nu-fission,0.00e+00,0.00e+00 1,U-235.71c,nuclide_density,total,0.00e+00,0.00e+00 1,U-235.71c,nuclide_density,absorption,0.00e+00,0.00e+00 1,U-235.71c,nuclide_density,fission,0.00e+00,0.00e+00 1,U-235.71c,nuclide_density,nu-fission,0.00e+00,0.00e+00 -3,,density,absorption,-3.29e-02,8.34e-02 -3,,density,absorption,1.21e-01,4.42e-02 -1,,density,absorption,1.51e-02,2.89e-03 -1,,density,absorption,-4.61e-03,2.30e-03 -1,O-16.71c,nuclide_density,absorption,2.87e-01,5.33e-01 -1,O-16.71c,nuclide_density,absorption,2.86e-01,3.59e-01 -1,U-235.71c,nuclide_density,absorption,1.14e+02,1.15e+01 -1,U-235.71c,nuclide_density,absorption,-5.10e+01,4.74e+00 -3,,density,nu-fission,4.24e-04,6.13e-02 -3,,density,nu-fission,2.40e-02,6.37e-02 +3,,density,absorption,-7.86e-03,9.22e-02 +3,,density,absorption,1.51e-01,2.10e-02 +1,,density,absorption,2.12e-02,6.60e-03 +1,,density,absorption,-4.94e-03,8.88e-04 +1,O-16.71c,nuclide_density,absorption,3.51e-01,6.90e-01 +1,O-16.71c,nuclide_density,absorption,1.74e-02,7.71e-02 +1,U-235.71c,nuclide_density,absorption,9.98e+01,2.40e+01 +1,U-235.71c,nuclide_density,absorption,-4.39e+01,7.07e+00 +3,,density,nu-fission,2.64e-02,7.36e-02 +3,,density,nu-fission,7.70e-02,1.28e-01 3,,density,nu-fission,0.00e+00,0.00e+00 3,,density,nu-fission,0.00e+00,0.00e+00 -1,,density,nu-fission,3.45e-03,8.06e-04 -1,,density,nu-fission,7.16e-03,3.66e-03 +1,,density,nu-fission,2.29e-03,4.63e-03 +1,,density,nu-fission,1.33e-02,1.06e-02 1,,density,nu-fission,0.00e+00,0.00e+00 1,,density,nu-fission,0.00e+00,0.00e+00 -1,O-16.71c,nuclide_density,nu-fission,1.70e-01,2.18e-01 -1,O-16.71c,nuclide_density,nu-fission,6.30e-01,5.11e-01 +1,O-16.71c,nuclide_density,nu-fission,-9.08e-02,5.90e-01 +1,O-16.71c,nuclide_density,nu-fission,1.48e-01,1.07e+00 1,O-16.71c,nuclide_density,nu-fission,0.00e+00,0.00e+00 1,O-16.71c,nuclide_density,nu-fission,0.00e+00,0.00e+00 -1,U-235.71c,nuclide_density,nu-fission,1.35e+02,7.94e+00 -1,U-235.71c,nuclide_density,nu-fission,2.47e+02,1.29e+01 +1,U-235.71c,nuclide_density,nu-fission,9.91e+01,2.80e+01 +1,U-235.71c,nuclide_density,nu-fission,2.64e+02,2.71e+01 1,U-235.71c,nuclide_density,nu-fission,0.00e+00,0.00e+00 1,U-235.71c,nuclide_density,nu-fission,0.00e+00,0.00e+00 diff --git a/tests/test_distribmat/results_true.dat b/tests/test_distribmat/results_true.dat index 70464fbc6c..15a00ee7d0 100644 --- a/tests/test_distribmat/results_true.dat +++ b/tests/test_distribmat/results_true.dat @@ -1,5 +1,5 @@ k-combined: -1.309285E+00 1.263629E-02 +1.291341E+00 1.269369E-02 Cell ID = 11 Name = diff --git a/tests/test_eigenvalue_genperbatch/results_true.dat b/tests/test_eigenvalue_genperbatch/results_true.dat index 9e87c901d9..846a17e082 100644 --- a/tests/test_eigenvalue_genperbatch/results_true.dat +++ b/tests/test_eigenvalue_genperbatch/results_true.dat @@ -1,2 +1,2 @@ k-combined: -3.015627E-01 5.978844E-03 +3.001412E-01 2.669737E-03 diff --git a/tests/test_eigenvalue_no_inactive/results_true.dat b/tests/test_eigenvalue_no_inactive/results_true.dat index fbbe84cc37..2b4373e7e5 100644 --- a/tests/test_eigenvalue_no_inactive/results_true.dat +++ b/tests/test_eigenvalue_no_inactive/results_true.dat @@ -1,2 +1,2 @@ k-combined: -3.130246E-01 6.960311E-03 +3.080574E-01 6.889659E-03 diff --git a/tests/test_energy_grid/results_true.dat b/tests/test_energy_grid/results_true.dat index 9556a981bc..0a607592c8 100644 --- a/tests/test_energy_grid/results_true.dat +++ b/tests/test_energy_grid/results_true.dat @@ -1,2 +1,2 @@ k-combined: -3.155788E-01 7.559348E-03 +3.330789E-01 2.216495E-03 diff --git a/tests/test_energy_laws/results_true.dat b/tests/test_energy_laws/results_true.dat index 48eb6bc81b..02465fa798 100644 --- a/tests/test_energy_laws/results_true.dat +++ b/tests/test_energy_laws/results_true.dat @@ -1,2 +1,2 @@ k-combined: -2.130076E+00 1.938907E-03 +2.122164E+00 1.946222E-02 diff --git a/tests/test_entropy/results_true.dat b/tests/test_entropy/results_true.dat index 8b37789c32..e3e0daea0b 100644 --- a/tests/test_entropy/results_true.dat +++ b/tests/test_entropy/results_true.dat @@ -1,13 +1,13 @@ k-combined: -3.021779E-01 3.813358E-03 +2.943619E-01 3.309635E-03 entropy: -7.608094E+00 -8.167702E+00 -8.273634E+00 -8.239452E+00 -8.234598E+00 -8.278421E+00 -8.260773E+00 -8.351860E+00 -8.303719E+00 -8.271058E+00 +7.601626E+00 +8.085658E+00 +8.263983E+00 +8.284792E+00 +8.420379E+00 +8.302840E+00 +8.316079E+00 +8.299781E+00 +8.329297E+00 +8.361325E+00 diff --git a/tests/test_filter_distribcell/case-1/results_true.dat b/tests/test_filter_distribcell/case-1/results_true.dat index 49bf3ed4ee..a1f062e1ba 100644 --- a/tests/test_filter_distribcell/case-1/results_true.dat +++ b/tests/test_filter_distribcell/case-1/results_true.dat @@ -1,14 +1,14 @@ k-combined: 0.000000E+00 0.000000E+00 tally 1: -1.440759E-02 -2.075788E-04 -1.222930E-02 -1.495558E-04 -1.407292E-02 -1.980471E-04 -1.034365E-02 -1.069911E-04 +1.548980E-02 +2.399339E-04 +1.278780E-02 +1.635279E-04 +1.426319E-02 +2.034385E-04 +1.018927E-02 +1.038213E-04 tally 2: -5.105347E-02 -2.606457E-03 +5.273007E-02 +2.780460E-03 diff --git a/tests/test_filter_distribcell/case-2/results_true.dat b/tests/test_filter_distribcell/case-2/results_true.dat index bb2f498cbf..4e2583f3ef 100644 --- a/tests/test_filter_distribcell/case-2/results_true.dat +++ b/tests/test_filter_distribcell/case-2/results_true.dat @@ -1,11 +1,11 @@ k-combined: 0.000000E+00 0.000000E+00 tally 1: -7.326285E-03 -5.367445E-05 -8.565980E-03 -7.337601E-05 -9.027116E-03 -8.148882E-05 -8.045879E-03 -6.473617E-05 +7.588170E-03 +5.758032E-05 +8.402486E-03 +7.060177E-05 +8.682518E-03 +7.538613E-05 +8.119997E-03 +6.593435E-05 diff --git a/tests/test_filter_distribcell/case-3/results_true.dat b/tests/test_filter_distribcell/case-3/results_true.dat index f5f85d29f5..32c1fced16 100644 --- a/tests/test_filter_distribcell/case-3/results_true.dat +++ b/tests/test_filter_distribcell/case-3/results_true.dat @@ -1 +1 @@ -6008cf2ba8eecaaa5a600fa337cf54cef018e98bdba8e3bd26c6f44587376a838d5bc5e86301b2e308f9eb248e3efafd45a5336f4023d962d7921d158a621e0c \ No newline at end of file +7bef4810e3bba5df56fef96d9a946dc8dc8ac136ba5282d2975456f3de8fc47ea4ba557d6c83d0938579e11e2a0da5e8e4d03b3cd1f0c0d969d25c218b2ec0bc \ No newline at end of file diff --git a/tests/test_filter_distribcell/case-4/results_true.dat b/tests/test_filter_distribcell/case-4/results_true.dat index b8bd2b3390..88e78d7575 100644 --- a/tests/test_filter_distribcell/case-4/results_true.dat +++ b/tests/test_filter_distribcell/case-4/results_true.dat @@ -1,17 +1,17 @@ k-combined: 0.000000E+00 0.000000E+00 tally 1: -2.166056E-02 -4.691799E-04 -2.281665E-02 -5.205994E-04 -1.938848E-02 -3.759132E-04 -3.055366E-02 -9.335264E-04 -2.338209E-02 -5.467222E-04 -2.719869E-02 -7.397689E-04 -1.895698E-02 -3.593670E-04 +2.265319E-02 +5.131669E-04 +2.026852E-02 +4.108129E-04 +2.051718E-02 +4.209546E-04 +3.015130E-02 +9.091009E-04 +2.356397E-02 +5.552606E-04 +2.558974E-02 +6.548348E-04 +2.012046E-02 +4.048330E-04 diff --git a/tests/test_filter_mesh_2d/results_true.dat b/tests/test_filter_mesh_2d/results_true.dat index 21946086b9..f4c5979526 100644 --- a/tests/test_filter_mesh_2d/results_true.dat +++ b/tests/test_filter_mesh_2d/results_true.dat @@ -1,5 +1,5 @@ k-combined: -1.005983E+00 2.248579E-02 +9.581522E-01 4.261830E-02 tally 1: 0.000000E+00 0.000000E+00 @@ -45,10 +45,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -3.228098E-02 -1.042062E-03 -3.222708E-01 -1.038585E-01 0.000000E+00 0.000000E+00 0.000000E+00 @@ -57,8 +53,16 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +1.474078E-01 +2.172907E-02 +6.386562E-02 +4.078817E-03 0.000000E+00 0.000000E+00 +2.905797E-02 +8.443654E-04 +7.532560E-03 +5.673946E-05 0.000000E+00 0.000000E+00 0.000000E+00 @@ -67,6 +71,10 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +1.149324E-01 +1.320945E-02 +2.465048E-02 +3.049063E-04 0.000000E+00 0.000000E+00 0.000000E+00 @@ -75,14 +83,20 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -8.182335E-01 -3.748630E-01 -2.711997E-01 -5.338821E-02 -3.359680E-01 -5.168399E-02 0.000000E+00 0.000000E+00 +7.002118E-02 +4.902965E-03 +5.128548E-01 +1.258296E-01 +1.379070E+00 +4.300261E-01 +1.040956E+00 +3.089102E-01 +1.237157E+00 +6.284409E-01 +9.539296E-01 +5.206980E-01 0.000000E+00 0.000000E+00 0.000000E+00 @@ -91,12 +105,30 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +2.001407E+00 +1.600000E+00 +7.159080E-01 +2.988090E-01 0.000000E+00 0.000000E+00 -3.706070E-01 -1.373496E-01 0.000000E+00 0.000000E+00 +3.473499E-01 +1.206520E-01 +1.597805E-01 +1.297695E-02 +1.438568E-01 +1.597365E-02 +8.612279E-02 +5.910825E-03 +9.004671E-01 +2.791173E-01 +6.485841E+00 +1.046238E+01 +6.743595E+00 +1.135216E+01 +7.681046E-01 +1.896252E-01 0.000000E+00 0.000000E+00 0.000000E+00 @@ -107,143 +139,40 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +9.572791E-01 +8.942065E-01 0.000000E+00 0.000000E+00 -3.931419E-01 -9.002841E-02 -1.092722E+00 -3.733055E-01 -2.384227E+00 -1.926937E+00 -9.101131E-01 -3.634496E-01 -3.284661E-01 -1.078900E-01 0.000000E+00 0.000000E+00 -6.885295E-02 -4.740728E-03 0.000000E+00 0.000000E+00 -2.419633E-02 -5.854622E-04 -9.286912E-02 -7.247209E-03 -5.629729E-01 -9.281109E-02 -7.345786E-01 -1.755550E-01 -1.219449E-01 -1.487057E-02 +5.299733E-01 +2.205463E-01 +1.349846E+00 +6.808561E-01 +6.874433E-01 +2.287801E-01 +5.651386E-01 +1.286874E-01 +5.729905E-01 +2.680764E-01 +5.509254E-01 +1.200498E-01 +1.494910E+00 +6.327940E-01 +2.444256E-01 +2.804968E-02 +6.927475E-01 +2.317744E-01 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 -1.983303E-01 -3.797884E-02 -4.840974E-02 -1.266547E-03 -1.183485E+00 -4.184814E-01 -3.027254E-01 -8.598449E-02 -9.889868E-01 -4.608531E-01 -8.698103E-01 -4.598559E-01 -1.332831E+00 -4.809984E-01 -1.564949E+00 -5.782651E-01 -1.143572E+00 -4.399439E-01 -1.326651E+00 -6.376565E-01 -1.716813E+00 -1.314280E+00 -7.673229E-01 -2.364966E-01 -2.539284E+00 -1.945563E+00 -1.263219E+00 -4.919339E-01 -5.430042E-01 -1.300266E-01 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 -7.553587E-01 -1.738170E-01 -2.048487E+00 -1.239856E+00 -3.761862E-01 -8.452912E-02 -0.000000E+00 -0.000000E+00 -9.675232E-02 -9.361012E-03 -2.319594E-01 -2.331698E-02 -1.573495E+00 -6.394722E-01 -4.432570E-01 -1.005943E-01 -9.353148E-01 -3.125416E-01 -8.359366E-01 -2.985072E-01 -1.657665E+00 -9.207020E-01 -3.737550E+00 -3.558505E+00 -1.742376E+00 -8.732217E-01 -5.153816E+00 -6.543973E+00 -1.653035E+00 -1.061068E+00 -9.963191E-01 -3.716347E-01 -2.282805E-01 -2.383414E-02 -8.749983E-01 -2.714666E-01 -1.728411E-01 -1.190218E-02 -9.250054E-02 -4.341922E-03 -6.353807E-02 -4.037086E-03 -1.811729E-01 -1.711154E-02 -3.218800E-01 -7.906855E-02 -1.057036E+00 -3.778638E-01 -9.231639E-01 -2.991795E-01 -3.375678E-01 -1.041383E-01 -1.181686E-01 -8.023920E-03 -4.912969E-01 -2.073894E-01 -9.395786E-01 -4.653730E-01 -6.998437E-01 -2.917085E-01 -3.074214E+00 -2.819088E+00 -2.570673E+00 -1.358321E+00 -1.108912E+00 -3.843307E-01 -4.950896E-02 -2.451137E-03 -0.000000E+00 -0.000000E+00 -0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 @@ -251,28 +180,26 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -8.757958E-02 -7.670183E-03 0.000000E+00 +4.425042E-01 +5.854257E-02 +2.237774E+00 +1.109643E+00 +7.495196E-01 +1.939234E-01 +3.804197E-01 +1.225870E-01 +1.009880E-01 +9.392497E-03 +2.424177E+00 +1.613025E+00 +2.226123E+00 +1.203763E+00 +1.939766E+00 +1.132042E+00 +3.953753E-01 +1.420303E-01 0.000000E+00 -6.469411E-01 -1.789549E-01 -7.829878E-01 -2.033989E-01 -8.994770E-01 -2.351438E-01 -4.712797E-01 -7.213659E-02 -2.133532E+00 -9.765422E-01 -4.533607E-01 -1.511497E-01 -1.878729E+00 -2.099266E+00 -4.287190E+00 -4.748691E+00 -1.961229E+00 -1.085868E+00 0.000000E+00 0.000000E+00 0.000000E+00 @@ -280,185 +207,235 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +2.501129E-02 +6.255649E-04 +3.984785E-01 +1.486414E-01 +1.251028E-01 +1.306358E-02 0.000000E+00 0.000000E+00 +9.831996E-01 +4.846833E-01 +4.237107E-01 +6.002592E-02 +8.922533E-01 +2.835397E-01 0.000000E+00 0.000000E+00 +3.174349E-01 +1.007649E-01 +1.260449E+00 +5.881747E-01 +3.147407E+00 +3.333589E+00 +2.021896E+00 +1.425606E+00 +1.377786E-01 +1.716503E-02 +3.011069E-02 +9.066538E-04 0.000000E+00 -1.061692E-01 -1.127190E-02 -1.912282E-01 -3.656822E-02 -3.289827E-01 -1.075283E-01 -1.750908E+00 -8.092384E-01 -2.156426E+00 -9.498067E-01 -1.480596E+00 -6.002164E-01 -3.249216E-01 -1.005106E-01 -8.875810E-02 -7.878000E-03 -2.458176E-01 -4.377921E-02 -2.766784E+00 -2.677426E+00 -2.703501E+00 -2.548083E+00 0.000000E+00 +5.118696E-02 +2.620104E-03 +0.000000E+00 +0.000000E+00 +1.484996E-01 +2.205214E-02 +9.889831E-01 +3.657975E-01 +2.850134E+00 +2.250972E+00 +4.131352E-01 +6.756111E-02 +8.393183E-03 +7.044551E-05 +0.000000E+00 +0.000000E+00 +7.462571E-02 +5.568996E-03 +0.000000E+00 +0.000000E+00 +2.560771E-01 +6.557550E-02 +9.262861E-03 +8.580060E-05 +2.505905E-01 +6.279558E-02 +5.136552E-01 +2.638417E-01 +1.441275E+00 +5.086865E-01 +2.913901E+00 +1.841912E+00 +6.978650E-01 +2.584000E-01 +1.451562E-02 +2.107031E-04 +0.000000E+00 +0.000000E+00 +3.079994E-03 +9.486363E-06 +1.492571E+00 +6.318792E-01 +2.083542E+00 +1.599782E+00 +2.677440E+00 +2.382024E+00 +4.457483E-01 +5.194318E-02 +5.424180E-02 +2.942173E-03 +0.000000E+00 +0.000000E+00 +2.355899E-02 +5.550260E-04 +3.571813E-02 +1.275785E-03 +6.588191E-01 +2.543824E-01 +4.171440E-01 +8.701395E-02 +7.735493E-01 +1.575534E-01 +4.033076E-01 +5.492660E-02 +4.513270E+00 +5.611449E+00 +1.653243E+00 +8.369762E-01 +1.045336E-01 +1.092727E-02 +2.486634E-01 +2.561523E-02 +1.090478E+00 +5.381842E-01 +6.314497E-01 +1.552199E-01 +3.417016E+00 +2.972256E+00 +5.709899E+00 +7.095076E+00 +1.194169E+00 +4.790398E-01 +1.420269E-01 +2.017163E-02 +0.000000E+00 +0.000000E+00 +3.214464E-01 +1.033278E-01 +2.222160E-02 +4.937996E-04 +2.028040E-01 +4.112944E-02 +1.417427E+00 +9.671327E-01 +1.453489E+00 +6.697189E-01 +8.534416E-01 +2.290345E-01 +5.367404E+00 +6.853344E+00 +1.237276E+00 +4.961691E-01 +5.835684E-02 +3.405521E-03 +5.574899E-01 +1.049542E-01 +4.235354E+00 +5.638989E+00 +2.034493E+00 +1.162774E+00 +1.533605E+00 +8.644495E-01 +4.663027E+00 +5.641430E+00 +1.261505E+00 +7.705206E-01 +1.954689E+00 +9.874394E-01 +1.449729E-01 +2.101714E-02 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 +1.398153E-01 +1.954832E-02 +5.089636E-01 +8.836228E-02 +1.422521E+00 +6.953668E-01 +1.137705E+00 +5.670907E-01 +3.521780E-01 +6.575561E-02 0.000000E+00 0.000000E+00 +7.713789E-01 +2.948263E-01 +3.267703E-01 +4.763836E-02 +1.252153E+00 +4.563949E-01 +1.962807E-01 +2.410165E-02 +1.357567E+00 +4.362757E-01 +2.356462E-01 +3.082678E-02 +1.380025E+00 +4.289689E-01 +1.876891E-01 +1.675278E-02 0.000000E+00 0.000000E+00 0.000000E+00 -1.981880E-01 -3.927848E-02 -2.789456E-01 -5.304261E-02 -3.897689E-01 -9.413685E-02 -9.140885E-01 -2.822974E-01 -1.887726E+00 -7.592780E-01 -1.841624E+00 -1.680236E+00 -4.059938E-01 -1.562853E-01 -2.897077E-01 -8.393057E-02 0.000000E+00 0.000000E+00 -2.445051E-01 -5.978276E-02 -2.234657E-01 -2.716625E-02 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 +1.940736E-01 +2.763730E-02 +6.059470E-02 +3.671718E-03 +3.479381E-01 +1.210609E-01 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 -4.783335E-02 -2.288029E-03 -5.606011E-01 -1.607491E-01 -1.908325E+00 -1.505641E+00 -1.255795E-01 -1.541635E-02 -7.395548E-01 -2.274416E-01 -5.986733E-01 -9.576988E-02 -1.095026E+00 -4.872910E-01 -1.043470E+00 -3.153965E-01 -1.004973E+00 -6.046910E-01 -1.724071E-01 -2.775427E-02 0.000000E+00 +3.452042E-02 +1.191659E-03 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 +3.679762E-01 +1.354065E-01 +5.043842E-02 +2.544034E-03 0.000000E+00 -1.244277E-01 -1.548225E-02 -1.222119E-01 -1.493575E-02 0.000000E+00 0.000000E+00 -5.470039E-01 -2.992133E-01 -4.313918E-01 -1.128703E-01 -1.088037E+00 -6.007745E-01 -1.013469E+00 -5.646900E-01 -4.738741E-01 -2.245567E-01 -6.086518E-02 -3.704570E-03 -1.126662E+00 -4.675322E-01 -1.008459E+00 -4.616352E-01 -1.309592E+00 -5.665211E-01 -1.334050E+00 -5.264819E-01 -7.324996E-01 -2.577124E-01 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 -3.227736E-01 -1.041828E-01 -9.218244E-01 -2.000301E-01 -2.119900E+00 -1.123846E+00 -4.366404E-02 -1.015133E-03 0.000000E+00 0.000000E+00 -2.309730E-01 -2.570742E-02 -1.270911E+00 -4.617932E-01 -1.107069E+00 -4.574496E-01 -1.269137E-01 -1.610709E-02 -2.207099E-01 -4.871286E-02 -9.075694E-02 -8.236821E-03 -1.046380E-01 -7.875036E-03 -2.836364E-01 -3.508209E-02 -4.509177E-01 -7.393615E-02 -1.077505E+00 -3.209541E-01 -1.204982E-02 -1.451982E-04 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 -2.502937E-01 -5.035125E-02 -1.367234E+00 -5.128884E-01 -5.563575E-01 -2.510519E-01 -3.174809E-01 -1.007941E-01 -9.152129E-01 -2.609325E-01 -9.040668E-01 -2.263595E-01 -7.868812E-01 -2.436310E-01 0.000000E+00 0.000000E+00 0.000000E+00 @@ -467,60 +444,22 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -3.390904E-01 -4.907887E-02 -6.577001E-01 -2.346964E-01 -1.023735E-01 -8.287220E-03 -1.499600E-02 -2.248801E-04 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 -1.395650E-01 -1.947839E-02 -1.040555E+00 -3.043523E-01 -1.426976E+00 -6.218295E-01 -8.342758E-01 -2.539692E-01 -3.101170E-01 -9.617255E-02 -6.319919E-02 -3.629541E-03 -1.292774E-01 -8.674372E-03 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 -9.056616E-01 -4.198926E-01 -7.349640E-02 -5.401721E-03 -5.146331E-01 -1.555789E-01 -2.464783E-01 -5.430051E-02 -7.263842E-02 -5.276340E-03 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 -9.587357E-01 -4.992769E-01 -1.756477E+00 -7.884472E-01 -2.541705E-01 -4.325743E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -528,19 +467,17 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +1.678278E-01 +2.097037E-02 +5.312751E-02 +1.423243E-03 +3.374418E-01 +1.138670E-01 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 -9.496519E-02 -4.948061E-03 -1.596404E-01 -2.548506E-02 -2.454011E-02 -6.022168E-04 -1.235276E-01 -1.525907E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -551,8 +488,71 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -2.422913E-01 -5.870510E-02 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +5.208007E-01 +2.057626E-01 +1.050464E+00 +5.524605E-01 +7.171591E-02 +5.143172E-03 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +5.214580E-02 +2.719184E-03 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 diff --git a/tests/test_filter_mesh_3d/results_true.dat b/tests/test_filter_mesh_3d/results_true.dat index 239a9f01a6..88a5228278 100644 --- a/tests/test_filter_mesh_3d/results_true.dat +++ b/tests/test_filter_mesh_3d/results_true.dat @@ -1,5 +1,5 @@ k-combined: -1.005983E+00 2.248579E-02 +9.581522E-01 4.261830E-02 tally 1: 0.000000E+00 0.000000E+00 @@ -753,8 +753,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -3.228098E-02 -1.042062E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -787,8 +785,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -3.222708E-01 -1.038585E-01 0.000000E+00 0.000000E+00 0.000000E+00 @@ -901,6 +897,10 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +1.083669E-01 +1.174340E-02 +3.904088E-02 +1.524190E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -931,6 +931,8 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +6.386562E-02 +4.078817E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -997,6 +999,8 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +2.905797E-02 +8.443654E-04 0.000000E+00 0.000000E+00 0.000000E+00 @@ -1029,6 +1033,8 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +7.532560E-03 +5.673946E-05 0.000000E+00 0.000000E+00 0.000000E+00 @@ -1251,6 +1257,8 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +1.306116E-02 +1.705939E-04 0.000000E+00 0.000000E+00 0.000000E+00 @@ -1261,12 +1269,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -2.009463E-01 -4.037943E-02 -1.741795E-01 -3.033850E-02 -4.431077E-01 -1.023945E-01 0.000000E+00 0.000000E+00 0.000000E+00 @@ -1299,10 +1301,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -1.699856E-01 -1.749182E-02 -1.012141E-01 -1.024430E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -1329,12 +1327,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -2.427282E-01 -4.346756E-02 -8.576175E-02 -6.594648E-03 -7.478060E-03 -5.592138E-05 0.000000E+00 0.000000E+00 0.000000E+00 @@ -1451,6 +1443,8 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +7.002118E-02 +4.902965E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -1475,10 +1469,16 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +2.465169E-02 +6.077057E-04 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 +2.623543E-01 +4.112454E-02 +2.258489E-01 +5.100771E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -1501,6 +1501,18 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +1.729718E-01 +2.991925E-02 +2.994456E-02 +8.966764E-04 +9.977770E-03 +9.955590E-05 +4.396029E-01 +6.352573E-02 +5.669837E-01 +1.209384E-01 +1.423672E-01 +1.771243E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -1515,6 +1527,8 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +1.722215E-02 +2.966024E-04 0.000000E+00 0.000000E+00 0.000000E+00 @@ -1525,6 +1539,12 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +1.565669E-02 +2.451318E-04 +8.200689E-01 +2.392978E-01 +1.748649E-01 +1.584562E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -1541,6 +1561,8 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +3.036511E-02 +9.220402E-04 0.000000E+00 0.000000E+00 0.000000E+00 @@ -1553,6 +1575,12 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +9.998387E-02 +7.936690E-03 +1.089115E+00 +5.614559E-01 +4.805840E-02 +2.309610E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -1579,12 +1607,12 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -6.645869E-02 -4.416757E-03 -3.041483E-01 -9.250621E-02 0.000000E+00 0.000000E+00 +2.742414E-01 +7.520835E-02 +6.796882E-01 +2.348838E-01 0.000000E+00 0.000000E+00 0.000000E+00 @@ -1773,6 +1801,8 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +3.448095E-01 +5.774877E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -1805,6 +1835,8 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +6.033873E-01 +2.672168E-01 0.000000E+00 0.000000E+00 0.000000E+00 @@ -1843,8 +1875,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -3.931419E-01 -9.002841E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -1875,12 +1905,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -1.775906E-01 -3.153842E-02 -8.691809E-01 -2.255229E-01 -4.595089E-02 -2.111485E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -1907,16 +1931,12 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -1.073032E-01 -5.796376E-03 -6.104378E-01 -1.438907E-01 -1.357192E+00 -7.800106E-01 -3.092946E-01 -4.828943E-02 0.000000E+00 0.000000E+00 +5.319541E-03 +2.829752E-05 +3.420304E-01 +1.169848E-01 0.000000E+00 0.000000E+00 0.000000E+00 @@ -1943,12 +1963,14 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -5.051275E-01 -9.608655E-02 -4.049856E-01 -1.640133E-01 +6.315614E-02 +2.242266E-03 +6.974266E-02 +4.864039E-03 0.000000E+00 0.000000E+00 +2.688171E-02 +7.226262E-04 0.000000E+00 0.000000E+00 0.000000E+00 @@ -1977,6 +1999,10 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +3.896367E-02 +1.518168E-03 +1.048931E-01 +7.753447E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -2001,16 +2027,16 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -1.816781E-02 -3.300694E-04 -3.102983E-01 -9.628505E-02 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 +2.396759E-03 +5.744454E-06 +8.372603E-02 +5.869219E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -2019,8 +2045,18 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +4.409446E-02 +1.944321E-03 +2.812104E-01 +7.907926E-02 0.000000E+00 0.000000E+00 +1.125733E-01 +1.267274E-02 +3.364085E-01 +6.085429E-02 +8.236284E-02 +4.869311E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -2037,28 +2073,56 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +4.381770E-02 +1.919990E-03 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 +8.563908E-02 +4.712912E-03 +9.597166E-01 +3.206571E-01 +3.164476E-01 +5.280988E-02 +2.073790E+00 +1.188596E+00 +9.609431E-01 +2.621642E-01 +4.350509E-01 +1.399885E-01 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 -6.885295E-02 -4.740728E-03 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 +5.411503E-04 +2.928436E-07 +1.480967E+00 +5.223269E-01 +1.727443E-01 +1.798769E-02 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 +4.254527E-01 +1.810100E-01 +2.391190E-01 +2.413267E-02 +3.823223E-01 +4.488260E-02 +4.156041E+00 +4.315163E+00 +1.009424E+00 +3.060875E-01 0.000000E+00 0.000000E+00 0.000000E+00 @@ -2075,6 +2139,10 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +3.308084E-01 +5.110266E-02 +2.004281E-01 +2.595071E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -2083,6 +2151,12 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +9.052674E-02 +8.195092E-03 +3.050953E-01 +3.658881E-02 +1.622477E-01 +1.848987E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -2097,6 +2171,10 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +1.164981E-01 +1.357181E-02 +9.373673E-02 +4.377147E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -2119,8 +2197,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -2.419633E-02 -5.854622E-04 0.000000E+00 0.000000E+00 0.000000E+00 @@ -2157,18 +2233,10 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -1.098236E-02 -1.206123E-04 -5.047052E-02 -2.547273E-03 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 -1.065577E-02 -7.244766E-05 -2.076046E-02 -4.309969E-04 0.000000E+00 0.000000E+00 0.000000E+00 @@ -2191,18 +2259,10 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -1.209931E-01 -7.784762E-03 -1.059137E-01 -1.121770E-02 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 -1.883880E-01 -1.626283E-02 -1.476781E-01 -2.180883E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -2225,16 +2285,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -5.464783E-03 -2.986386E-05 -4.827060E-01 -1.236578E-01 -2.938269E-02 -8.633425E-04 -1.103939E-01 -1.218681E-02 -1.066312E-01 -7.137023E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -2265,10 +2315,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -6.448951E-03 -4.158897E-05 -1.154960E-01 -1.333932E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -2333,6 +2379,8 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +1.370265E-01 +1.583751E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -2353,10 +2401,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -1.230857E-01 -1.515010E-02 -7.524451E-02 -5.162294E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -2387,12 +2431,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -5.738188E-03 -3.292680E-05 -1.158207E-02 -1.341443E-04 -3.108948E-02 -9.665557E-04 0.000000E+00 0.000000E+00 0.000000E+00 @@ -2421,12 +2459,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -8.670560E-01 -3.010896E-01 -2.777708E-01 -4.851013E-02 -3.865801E-02 -1.326182E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -2455,10 +2487,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -9.205825E-02 -8.474722E-03 -2.106671E-01 -4.049979E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -2477,6 +2505,14 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +3.602120E-02 +1.297527E-03 +2.054694E-02 +4.221768E-04 +3.699789E-01 +1.099867E-01 +1.034262E-01 +6.886191E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -2487,14 +2523,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -2.518202E-01 -6.341342E-02 -3.500938E-01 -5.019217E-02 -1.285282E-01 -1.588441E-02 -2.585446E-01 -6.684532E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -2513,6 +2541,12 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +9.974406E-01 +3.947626E-01 +3.006400E-01 +3.566201E-02 +5.176521E-02 +2.679637E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -2523,10 +2557,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -3.653135E-01 -1.287514E-01 -2.216045E-03 -4.910856E-06 0.000000E+00 0.000000E+00 0.000000E+00 @@ -2545,8 +2575,12 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -5.022807E-01 -1.147015E-01 +1.613314E-01 +2.177882E-02 +4.750135E-01 +1.508282E-01 +5.109842E-02 +1.598239E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -2577,18 +2611,22 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +3.936907E-01 +7.202022E-02 +1.714479E-01 +1.505049E-02 0.000000E+00 0.000000E+00 -1.172250E+00 -3.690965E-01 -1.605816E-01 -1.294116E-02 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 +4.226996E-01 +1.360325E-01 +7.317899E-02 +5.355165E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -2611,30 +2649,24 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -5.892971E-02 -3.472710E-03 -1.338644E+00 -4.668912E-01 -1.673747E-01 -1.423295E-02 0.000000E+00 0.000000E+00 +7.711190E-02 +5.946245E-03 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 -1.452260E-01 -2.109060E-02 -5.921989E-01 -1.326829E-01 -3.816328E-02 -1.456436E-03 -9.153520E-02 -8.378692E-03 +2.946064E-02 +8.679293E-04 +1.124256E-01 +1.263950E-02 0.000000E+00 0.000000E+00 +8.878742E-02 +7.053770E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -2645,32 +2677,30 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -1.905792E-01 -3.632041E-02 -8.586907E-02 -7.373497E-03 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 +1.561576E-01 +2.112454E-02 +1.640942E-01 +2.692690E-02 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 -2.474985E-02 -6.125553E-04 -7.610286E-01 -2.001560E-01 -4.516947E-01 -1.062402E-01 -8.917764E-02 -4.968510E-03 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 +1.508419E-01 +2.275329E-02 +2.887905E-01 +4.216084E-02 +4.015408E-01 +7.884715E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -2687,6 +2717,10 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +5.595964E-02 +2.146289E-03 +3.159701E-01 +3.538768E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -2695,16 +2729,10 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -1.101299E+00 -7.922298E-01 -4.529165E-02 -2.051333E-03 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 -5.702227E-01 -1.629185E-01 0.000000E+00 0.000000E+00 0.000000E+00 @@ -2723,8 +2751,16 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +7.403983E-02 +3.220776E-03 +1.220497E-01 +1.051103E-02 0.000000E+00 0.000000E+00 +4.308558E-02 +1.856368E-03 +1.206585E-01 +1.455847E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -2735,16 +2771,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -2.749741E-01 -3.841679E-02 -1.876567E-01 -2.180115E-02 -4.802267E-02 -2.306177E-03 -2.219757E-01 -2.083367E-02 -3.469381E-02 -1.203661E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -2761,6 +2787,8 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +5.069737E-01 +1.407934E-01 0.000000E+00 0.000000E+00 0.000000E+00 @@ -2769,16 +2797,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -9.220451E-03 -8.501673E-05 -2.421186E-01 -2.296140E-02 -5.301518E-01 -1.266721E-01 -1.676517E+00 -1.032348E+00 -8.127651E-02 -4.329985E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -2805,14 +2823,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -3.516265E-01 -6.305270E-02 -3.999873E-02 -1.599899E-03 -5.487047E-01 -1.292105E-01 -3.228887E-01 -1.042571E-01 0.000000E+00 0.000000E+00 0.000000E+00 @@ -2843,10 +2853,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -3.407100E-01 -4.223910E-02 -2.022942E-01 -4.092294E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -2933,8 +2939,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -7.553587E-01 -1.738170E-01 0.000000E+00 0.000000E+00 0.000000E+00 @@ -2965,14 +2969,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -6.145563E-02 -3.776795E-03 -2.005189E-01 -2.429212E-02 -5.673596E-01 -1.649938E-01 -4.875014E-01 -2.376576E-01 0.000000E+00 0.000000E+00 0.000000E+00 @@ -2981,10 +2977,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -7.157679E-01 -3.770273E-01 -1.588325E-02 -2.522777E-04 0.000000E+00 0.000000E+00 0.000000E+00 @@ -3015,10 +3007,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -2.592065E-01 -4.120974E-02 -1.169797E-01 -8.650603E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -3085,8 +3073,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -9.675232E-02 -9.361012E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -3097,6 +3083,14 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +1.614711E-02 +2.607292E-04 +9.531928E-02 +6.215764E-03 +2.906510E-01 +2.666266E-02 +4.038686E-02 +1.631098E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -3123,10 +3117,14 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -9.767592E-02 -5.284927E-03 -1.342835E-01 -1.803205E-02 +1.367392E-03 +1.869762E-06 +6.997755E-01 +1.672455E-01 +9.975381E-01 +3.048346E-01 +5.390926E-01 +9.312562E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -3137,10 +3135,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -1.408666E-01 -1.984341E-02 -2.912093E-02 -8.480284E-04 0.000000E+00 0.000000E+00 0.000000E+00 @@ -3155,26 +3149,22 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -6.575074E-02 -4.323159E-03 -1.123042E+00 -4.745625E-01 -2.147144E-01 -2.841768E-02 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 +6.670089E-01 +1.688817E-01 +8.251077E-02 +3.717992E-03 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 -1.138141E-01 -1.295364E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -3191,26 +3181,18 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -2.478967E-01 -2.397512E-02 -8.154628E-02 -5.533841E-03 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 +9.683052E-03 +9.376150E-05 +3.707367E-01 +1.159281E-01 0.000000E+00 0.000000E+00 -1.673829E-01 -2.801704E-02 -6.238670E-01 -1.323614E-01 -1.087831E-01 -8.027300E-03 -3.528173E-02 -1.244801E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -3237,14 +3219,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -3.125593E-03 -9.769332E-06 -5.982046E-01 -2.380250E-01 -1.595969E-01 -1.273945E-02 -7.500945E-02 -5.626417E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -3255,6 +3229,8 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +1.009880E-01 +9.392497E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -3263,8 +3239,16 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +1.739446E-01 +3.025673E-02 0.000000E+00 0.000000E+00 +2.075806E-02 +4.308970E-04 +8.573314E-01 +2.242082E-01 +2.267546E-01 +2.900091E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -3277,18 +3261,28 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +3.978837E-01 +1.583114E-01 +7.475045E-01 +2.090484E-01 0.000000E+00 0.000000E+00 -2.004455E-02 -4.017842E-04 -1.241994E+00 -5.276343E-01 -3.956269E-01 -6.857794E-02 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 +3.630182E-02 +1.317822E-03 +6.960539E-02 +4.844911E-03 +3.721224E-03 +1.384751E-05 +7.406533E-02 +5.485672E-03 +1.330296E+00 +6.633075E-01 +1.862835E-02 +3.470153E-04 0.000000E+00 0.000000E+00 0.000000E+00 @@ -3303,28 +3297,24 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +5.329778E-01 +1.118275E-01 0.000000E+00 0.000000E+00 -1.420493E-01 -2.017799E-02 -1.139866E-02 -1.299295E-04 0.000000E+00 0.000000E+00 +1.162108E+00 +5.854785E-01 +5.640780E-01 +1.059726E-01 0.000000E+00 0.000000E+00 -2.517820E-01 -4.088147E-02 -5.984204E-01 -1.119676E-01 -1.600304E+00 -1.060307E+00 -6.251595E-01 -1.631053E-01 -5.084364E-01 -8.750385E-02 +1.426667E-01 +2.035380E-02 0.000000E+00 0.000000E+00 +7.091381E-02 +5.028768E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -3347,22 +3337,10 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +5.987372E-02 +2.032332E-03 0.000000E+00 0.000000E+00 -1.482851E-01 -2.198847E-02 -8.661057E-02 -3.979426E-03 -5.328694E-01 -1.185445E-01 -9.819716E-02 -6.261752E-03 -1.971175E-01 -3.885531E-02 -5.055466E-01 -1.332461E-01 -1.737497E-01 -3.018896E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -3383,26 +3361,12 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -2.448612E-01 -3.179981E-02 -1.336292E+00 -6.509631E-01 -1.788953E+00 -9.402141E-01 -6.484030E-01 -1.952075E-01 -1.239995E-01 -9.457065E-03 -5.379761E-01 -9.948097E-02 -3.422476E-01 -3.688467E-02 -1.310833E-01 -9.116867E-03 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 +7.471872E-02 +5.582887E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -3419,20 +3383,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -1.452794E-01 -7.962998E-03 -4.950124E-01 -1.019817E-01 -5.154252E-01 -1.349222E-01 -2.369650E-01 -5.615241E-02 -3.458235E-02 -1.195939E-03 -1.129905E-02 -1.276685E-04 -2.144713E-01 -2.715780E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -3463,10 +3413,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -6.439196E-02 -4.146324E-03 -9.319271E-01 -3.289332E-01 0.000000E+00 0.000000E+00 0.000000E+00 @@ -3475,10 +3421,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -8.887911E-02 -4.077886E-03 -1.394014E-01 -1.214028E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -3509,10 +3451,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -3.093347E-01 -4.640925E-02 -5.656636E-01 -1.123158E-01 0.000000E+00 0.000000E+00 0.000000E+00 @@ -3559,8 +3497,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -1.728411E-01 -1.190218E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -3593,14 +3529,12 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -1.275913E-02 -8.900081E-05 -7.974141E-02 -3.206666E-03 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 +2.501129E-02 +6.255649E-04 0.000000E+00 0.000000E+00 0.000000E+00 @@ -3629,12 +3563,14 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -6.353807E-02 -4.037086E-03 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 +8.907152E-02 +7.933735E-03 +3.094070E-01 +8.793386E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -3663,14 +3599,12 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -1.092912E-01 -1.194458E-02 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 -7.188161E-02 -5.166966E-03 +1.251028E-01 +1.306358E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -3701,10 +3635,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -2.224855E-01 -3.374440E-02 -9.939443E-02 -9.879253E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -3715,8 +3645,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -1.008926E-02 -1.017932E-04 0.000000E+00 0.000000E+00 0.000000E+00 @@ -3733,28 +3661,20 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -1.203590E-02 -1.448628E-04 -8.166865E-01 -2.864876E-01 -2.182247E-01 -3.276791E-02 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 +4.420414E-02 +1.954006E-03 +9.389954E-01 +4.408852E-01 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 -1.286761E-01 -1.655753E-02 -1.350478E-01 -8.850865E-03 -3.262324E-01 -5.081260E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -3769,10 +3689,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -3.880416E-02 -7.940924E-04 -2.944035E-01 -5.470290E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -3783,12 +3699,14 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +1.525008E-01 +1.765369E-02 +2.712099E-01 +3.687123E-02 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 -3.375678E-01 -1.041383E-01 0.000000E+00 0.000000E+00 0.000000E+00 @@ -3813,12 +3731,12 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +9.028974E-02 +4.229429E-03 +8.019636E-01 +2.406005E-01 0.000000E+00 0.000000E+00 -1.443462E-02 -2.083582E-04 -6.747523E-02 -4.552907E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -3831,8 +3749,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -3.625873E-02 -1.314696E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -3849,8 +3765,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -3.743814E-02 -1.401614E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -3859,18 +3773,14 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -1.282000E-01 -1.643523E-02 -8.992357E-04 -8.086249E-07 -4.549792E-02 -2.070061E-03 -2.792616E-01 -7.798705E-02 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 +1.849679E-01 +3.421312E-02 +1.324670E-01 +1.754750E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -3883,12 +3793,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -2.561753E-01 -3.750508E-02 -4.494863E-01 -2.020380E-01 -1.524811E-02 -2.325049E-04 0.000000E+00 0.000000E+00 0.000000E+00 @@ -3897,8 +3801,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -2.186688E-01 -4.781605E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -3909,18 +3811,24 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +4.562052E-01 +1.041492E-01 +6.039507E-02 +3.647564E-03 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 +4.751513E-01 +1.205013E-01 +2.686970E-01 +3.401364E-02 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 -1.756295E-01 -3.084572E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -3933,24 +3841,26 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -2.799587E-02 -7.837689E-04 0.000000E+00 0.000000E+00 -2.165781E-01 -4.136640E-02 -1.206583E-01 -1.455843E-02 -3.350979E-02 -1.122906E-03 -1.254721E-01 -1.574324E-02 0.000000E+00 0.000000E+00 +3.680080E-01 +7.239472E-02 +9.309308E-01 +5.812760E-01 +7.945599E-03 +6.313254E-05 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 +8.567983E-02 +7.341033E-03 +1.754088E+00 +8.632560E-01 +7.547884E-04 +5.697055E-07 0.000000E+00 0.000000E+00 0.000000E+00 @@ -3961,24 +3871,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -1.255610E-02 -1.576557E-04 -2.059029E-01 -2.931063E-02 -9.625207E-02 -9.264462E-03 -4.926052E-01 -1.231087E-01 -3.607423E-01 -6.495313E-02 -2.101048E-01 -2.385810E-02 -7.843494E-01 -1.955825E-01 -9.077784E-01 -3.297447E-01 -3.922359E-03 -1.538490E-05 0.000000E+00 0.000000E+00 0.000000E+00 @@ -3987,6 +3879,12 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +1.211417E-01 +1.467532E-02 +1.144903E+00 +4.944036E-01 +7.558522E-01 +3.387696E-01 0.000000E+00 0.000000E+00 0.000000E+00 @@ -3997,20 +3895,8 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -6.913074E-02 -1.799353E-03 -1.249107E-02 -1.560268E-04 0.000000E+00 0.000000E+00 -1.115404E+00 -4.366528E-01 -3.732357E-01 -4.158215E-02 -3.846227E-01 -8.126419E-02 -6.157885E-01 -1.590298E-01 0.000000E+00 0.000000E+00 0.000000E+00 @@ -4029,22 +3915,20 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +1.257462E-01 +1.456033E-02 +1.755790E-03 +3.082798E-06 0.000000E+00 0.000000E+00 +1.027660E-02 +1.056086E-04 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 -5.663121E-01 -1.953137E-01 -4.644811E-01 -1.590726E-01 -5.000400E-02 -1.273713E-03 -2.811483E-02 -7.904436E-04 0.000000E+00 0.000000E+00 0.000000E+00 @@ -4053,8 +3937,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -4.950896E-02 -2.451137E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -4073,6 +3955,8 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +3.011069E-02 +9.066538E-04 0.000000E+00 0.000000E+00 0.000000E+00 @@ -4153,6 +4037,8 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +5.118696E-02 +2.620104E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -4225,6 +4111,8 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +1.484996E-01 +2.205214E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -4241,16 +4129,26 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +3.508012E-02 +1.230615E-03 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 +1.522719E-01 +2.318672E-02 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 +2.071904E-01 +2.889953E-02 +1.077088E-01 +1.160118E-02 +4.867319E-01 +8.396510E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -4265,24 +4163,32 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +1.491740E-02 +2.225288E-04 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 +4.099509E-01 +6.290302E-02 +3.631683E-01 +1.318912E-01 0.000000E+00 0.000000E+00 +1.023202E+00 +7.786623E-01 +7.978887E-01 +2.156289E-01 +2.410067E-01 +5.808423E-02 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 -3.933218E-02 -1.547021E-03 -4.824739E-02 -2.327811E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -4293,6 +4199,10 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +8.728851E-03 +7.619284E-05 +1.582575E-01 +2.504545E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -4301,6 +4211,10 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +1.698392E-01 +1.770322E-02 +7.630962E-02 +2.320465E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -4329,28 +4243,22 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -2.675416E-01 -4.683926E-02 -2.020206E-01 -3.139390E-02 0.000000E+00 0.000000E+00 +8.393183E-03 +7.044551E-05 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 -1.281618E-01 -1.642545E-02 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 -4.921707E-02 -2.422320E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -4363,22 +4271,12 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -3.451622E-02 -1.191369E-03 -2.791548E-02 -7.007752E-04 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 -1.429077E-02 -2.042262E-04 -5.105813E-01 -9.939542E-02 -1.956841E-01 -3.829226E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -4407,16 +4305,12 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -2.524256E-01 -3.390159E-02 -5.341258E-01 -7.612387E-02 -1.129256E-01 -5.367542E-03 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 +7.462571E-02 +5.568996E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -4427,10 +4321,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -2.208683E-02 -4.878280E-04 -2.729156E-02 -7.448293E-04 0.000000E+00 0.000000E+00 0.000000E+00 @@ -4439,16 +4329,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -1.789538E-02 -3.202447E-04 -1.070161E-01 -1.145246E-02 -2.004171E-01 -4.016700E-02 -9.277615E-02 -4.350522E-03 -3.796585E-03 -1.441406E-05 0.000000E+00 0.000000E+00 0.000000E+00 @@ -4459,14 +4339,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -1.717932E-01 -2.951289E-02 -3.342321E-01 -6.344565E-02 -4.457955E-01 -9.943168E-02 -4.346780E-03 -1.889450E-05 0.000000E+00 0.000000E+00 0.000000E+00 @@ -4475,14 +4347,8 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -2.812701E-02 -7.911289E-04 0.000000E+00 0.000000E+00 -7.255598E-01 -2.637695E-01 -4.236781E-01 -1.206021E-01 0.000000E+00 0.000000E+00 0.000000E+00 @@ -4513,16 +4379,18 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -3.455666E-01 -1.088929E-01 -1.077941E-01 -5.813092E-03 +2.524618E-01 +6.373694E-02 +3.615369E-03 +1.307089E-05 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 +9.262861E-03 +8.580060E-05 0.000000E+00 0.000000E+00 0.000000E+00 @@ -4541,22 +4409,8 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -8.759532E-03 -7.672939E-05 -3.873698E-01 -1.500554E-01 -3.320720E-02 -5.664804E-04 -9.751133E-01 -4.762440E-01 -3.549373E-01 -1.259805E-01 0.000000E+00 0.000000E+00 -4.558589E-03 -2.078073E-05 -1.147837E-01 -1.317530E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -4575,26 +4429,16 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -1.491942E-01 -1.942842E-02 -1.215608E-02 -7.465030E-05 -9.749153E-01 -3.525441E-01 -1.238276E+00 -4.724746E-01 -7.559328E-01 -1.539006E-01 -7.550630E-01 -2.671451E-01 -4.016529E-01 -1.049033E-01 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 +1.701984E-01 +2.896749E-02 +8.039207E-02 +6.462885E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -4615,14 +4459,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -1.915923E-01 -1.106962E-02 -1.039274E+00 -3.820648E-01 -6.748249E-01 -1.513006E-01 -5.553735E-02 -3.084397E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -4631,6 +4467,10 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +6.715405E-02 +4.509666E-03 +4.465012E-01 +1.993633E-01 0.000000E+00 0.000000E+00 0.000000E+00 @@ -4653,6 +4493,18 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +2.157774E-03 +4.655990E-06 +6.310707E-02 +2.175394E-03 +8.322470E-02 +3.984732E-03 +8.945207E-02 +4.272339E-03 +7.510694E-01 +2.592974E-01 +1.811100E-01 +3.280084E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -4663,6 +4515,10 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +2.927144E-03 +8.568173E-06 +2.682268E-01 +7.194562E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -4673,6 +4529,16 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +3.678545E-02 +1.353169E-03 +3.580128E-01 +9.575996E-02 +4.871561E-01 +9.900028E-02 +1.399012E+00 +6.326649E-01 +4.954942E-01 +1.916582E-01 0.000000E+00 0.000000E+00 0.000000E+00 @@ -4681,6 +4547,8 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +1.374400E-01 +1.888975E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -4701,6 +4569,8 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +4.262772E-01 +9.802530E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -4711,6 +4581,10 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +2.699969E-01 +4.178442E-02 +1.590867E-03 +2.530859E-06 0.000000E+00 0.000000E+00 0.000000E+00 @@ -4741,6 +4615,8 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +1.451562E-02 +2.107031E-04 0.000000E+00 0.000000E+00 0.000000E+00 @@ -4805,6 +4681,8 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +3.079994E-03 +9.486363E-06 0.000000E+00 0.000000E+00 0.000000E+00 @@ -4829,14 +4707,22 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +1.429072E-01 +2.042247E-02 +4.016991E-02 +1.613622E-03 0.000000E+00 0.000000E+00 +3.890902E-02 +1.513911E-03 +1.234218E+00 +4.999181E-01 0.000000E+00 0.000000E+00 -1.061692E-01 -1.127190E-02 0.000000E+00 0.000000E+00 +3.636704E-02 +1.322562E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -4855,8 +4741,26 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +2.985580E-01 +4.742470E-02 +3.209188E-02 +1.029889E-03 +1.385333E-02 +1.919148E-04 +2.009713E-01 +3.766430E-02 +5.245828E-01 +7.576335E-02 0.000000E+00 0.000000E+00 +4.241176E-01 +9.055699E-02 +3.230798E-01 +3.896399E-02 +2.621971E-01 +4.860489E-02 +4.089938E-03 +9.542099E-06 0.000000E+00 0.000000E+00 0.000000E+00 @@ -4867,16 +4771,28 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -1.912282E-01 -3.656822E-02 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 +1.046129E-01 +1.094386E-02 +1.524559E+00 +7.117855E-01 +7.244018E-01 +2.009724E-01 +1.834594E-02 +3.365736E-04 0.000000E+00 0.000000E+00 +1.021145E-01 +1.042738E-02 0.000000E+00 0.000000E+00 +1.047304E-01 +5.484511E-03 +9.867531E-02 +9.736817E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -4895,6 +4811,8 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +4.457483E-01 +5.194318E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -4919,8 +4837,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -3.289827E-01 -1.075283E-01 0.000000E+00 0.000000E+00 0.000000E+00 @@ -4929,6 +4845,8 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +5.424180E-02 +2.942173E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -4953,10 +4871,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -1.320797E+00 -4.972727E-01 -4.301105E-01 -6.331514E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -4983,14 +4897,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -4.915487E-02 -2.416202E-03 -9.120705E-02 -8.318727E-03 -1.320105E+00 -4.411682E-01 -6.959590E-01 -2.389648E-01 0.000000E+00 0.000000E+00 0.000000E+00 @@ -5003,8 +4909,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -5.662623E-02 -3.206529E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -5017,16 +4921,10 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -1.166586E-02 -1.360923E-04 -1.891160E-02 -3.576487E-04 -1.256901E+00 -4.792247E-01 -1.364915E-01 -1.696517E-02 0.000000E+00 0.000000E+00 +2.355899E-02 +5.550260E-04 0.000000E+00 0.000000E+00 0.000000E+00 @@ -5037,10 +4935,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -2.940292E-01 -8.336788E-02 -3.089242E-02 -8.049394E-04 0.000000E+00 0.000000E+00 0.000000E+00 @@ -5063,6 +4957,10 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +1.453317E-02 +2.112130E-04 +2.118496E-02 +4.488027E-04 0.000000E+00 0.000000E+00 0.000000E+00 @@ -5073,8 +4971,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -8.875810E-02 -7.878000E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -5095,6 +4991,12 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +5.015914E-02 +2.515940E-03 +5.972802E-01 +2.058844E-01 +1.137979E-02 +1.294997E-04 0.000000E+00 0.000000E+00 0.000000E+00 @@ -5117,16 +5019,22 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +1.075776E-01 +1.157294E-02 +1.876735E-02 +3.142665E-04 0.000000E+00 0.000000E+00 +8.266086E-02 +6.832818E-03 +8.619416E-02 +6.961721E-03 +1.219441E-01 +1.487035E-02 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 -6.925951E-02 -4.796880E-03 -1.765581E-01 -2.014257E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -5135,12 +5043,20 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +5.137535E-02 +2.639427E-03 +1.001959E-01 +1.003923E-02 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 +1.324866E-01 +1.755269E-02 +4.894914E-01 +7.732641E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -5157,20 +5073,14 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -1.007236E-01 -1.014525E-02 -3.069376E-01 -6.982061E-02 -1.339942E+00 -5.632235E-01 -8.027545E-01 -2.263816E-01 -1.881835E-01 -3.541303E-02 -2.824222E-02 -7.976228E-04 0.000000E+00 0.000000E+00 +1.034037E-01 +3.976885E-03 +4.274862E-02 +1.827445E-03 +1.074496E-01 +1.154542E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -5179,6 +5089,12 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +2.693310E-02 +6.692041E-04 +3.591875E-02 +1.290157E-03 +8.685372E-02 +7.543569E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -5189,24 +5105,30 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +2.358169E-02 +5.560962E-04 +4.196949E-01 +8.821556E-02 +9.766238E-01 +3.187064E-01 +2.263564E+00 +1.440716E+00 +6.206466E-01 +1.107636E-01 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 -6.475515E-01 -1.949499E-01 -8.916929E-01 -2.187649E-01 -9.737449E-01 -4.547148E-01 -1.905118E-01 -3.629474E-02 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 +1.770925E-01 +1.577698E-02 +3.206602E-02 +8.744271E-04 0.000000E+00 0.000000E+00 0.000000E+00 @@ -5217,6 +5139,16 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +1.668276E-01 +2.783144E-02 +9.642655E-02 +9.273189E-03 +5.348043E-02 +2.860156E-03 +4.290530E-02 +1.295592E-03 +8.510644E-02 +4.903433E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -5227,6 +5159,10 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +7.084057E-01 +1.536166E-01 +5.000909E-01 +1.141659E-01 0.000000E+00 0.000000E+00 0.000000E+00 @@ -5257,12 +5193,20 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +5.751275E-02 +3.307717E-03 +4.702083E-02 +2.210958E-03 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 +3.784067E-02 +1.431916E-03 +2.013954E-02 +4.056009E-04 0.000000E+00 0.000000E+00 0.000000E+00 @@ -5285,12 +5229,20 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +2.397100E-02 +5.746090E-04 +1.667122E-01 +1.609363E-02 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 +3.919075E-02 +1.535915E-03 +7.785033E-03 +6.060673E-05 0.000000E+00 0.000000E+00 0.000000E+00 @@ -5307,12 +5259,22 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +2.573597E-01 +5.360516E-02 +1.067391E-01 +1.139323E-02 +5.230381E-02 +2.735689E-03 +5.802912E-01 +1.787062E-01 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 +7.532992E-02 +5.674596E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -5329,8 +5291,18 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +1.333296E-03 +1.777678E-06 +6.053656E-02 +3.664676E-03 0.000000E+00 0.000000E+00 +1.526715E-02 +2.330858E-04 +4.636650E-02 +2.149852E-03 +1.962851E-01 +3.852783E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -5347,6 +5319,16 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +2.715682E-01 +6.930003E-02 +1.711788E+00 +1.416936E+00 +4.750552E-01 +9.493583E-02 +4.064749E-01 +9.731066E-02 +5.521306E-01 +1.121121E-01 0.000000E+00 0.000000E+00 0.000000E+00 @@ -5363,12 +5345,28 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +5.089221E-02 +2.590017E-03 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 +3.355127E-01 +7.824603E-02 +2.225245E+00 +1.498774E+00 +1.675068E+00 +7.021248E-01 +5.221919E-01 +2.558641E-01 +1.298371E-01 +1.330104E-02 +5.996351E-01 +1.076802E-01 +1.715160E-01 +1.827795E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -5381,14 +5379,26 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +1.032011E-01 +1.065047E-02 +2.415665E-01 +2.918471E-02 +4.165841E-02 +1.735423E-03 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 +4.628619E-01 +9.960982E-02 +3.325684E-01 +5.701948E-02 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 +1.231222E-02 +9.616114E-05 0.000000E+00 0.000000E+00 0.000000E+00 @@ -5411,12 +5421,10 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -2.851330E-02 -8.130086E-04 -1.696747E-01 -2.878950E-02 0.000000E+00 0.000000E+00 +1.420269E-01 +2.017163E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -5445,10 +5453,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -2.753509E-02 -7.581810E-04 -2.514105E-01 -5.075004E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -5485,8 +5489,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -3.198658E-01 -8.925041E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -5497,10 +5499,12 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -6.990313E-02 -4.886448E-03 0.000000E+00 0.000000E+00 +2.878871E-01 +8.287897E-02 +3.355929E-02 +1.126226E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -5519,34 +5523,24 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -5.642875E-02 -3.184204E-03 -1.235957E-01 -1.527591E-02 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 -6.620581E-01 -1.938858E-01 -4.607570E-02 -1.247203E-03 0.000000E+00 0.000000E+00 -2.593018E-02 -6.723742E-04 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 +2.222160E-02 +4.937996E-04 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 -3.904410E-02 -1.524442E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -5561,14 +5555,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -3.389223E-01 -5.464846E-02 -1.061647E-01 -1.127094E-02 -1.313508E+00 -4.346493E-01 -4.161910E-02 -1.732150E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -5577,16 +5563,10 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -4.016283E-01 -1.613053E-01 -5.599819E-01 -9.812234E-02 -5.139185E-01 -1.322866E-01 -2.373992E-01 -5.635838E-02 0.000000E+00 0.000000E+00 +2.028040E-01 +4.112944E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -5611,22 +5591,20 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -2.913120E-03 -8.486266E-06 -9.098084E-02 -8.277514E-03 0.000000E+00 0.000000E+00 -2.641663E-01 -6.553611E-02 -4.793354E-02 -2.069463E-03 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 +1.408841E-01 +9.930494E-03 +1.266345E+00 +7.682954E-01 0.000000E+00 0.000000E+00 +1.019759E-02 +1.039909E-04 0.000000E+00 0.000000E+00 0.000000E+00 @@ -5639,22 +5617,28 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +1.753697E-01 +3.075454E-02 +1.022426E-01 +9.085949E-03 0.000000E+00 0.000000E+00 +2.054517E-01 +4.221041E-02 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 +2.157489E-01 +2.724501E-02 +7.546765E-01 +2.070654E-01 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 -6.430714E-02 -4.135408E-03 -2.254006E-01 -5.080543E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -5669,6 +5653,12 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +5.731061E-01 +1.428980E-01 +2.729010E-01 +4.130164E-02 +7.434457E-03 +5.527115E-05 0.000000E+00 0.000000E+00 0.000000E+00 @@ -5693,6 +5683,16 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +1.892565E-01 +3.581801E-02 +6.573174E-01 +3.473163E-01 +1.641852E+00 +9.021844E-01 +2.844653E+00 +1.857026E+00 +3.432563E-02 +1.076561E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -5717,6 +5717,16 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +1.382909E-01 +1.912437E-02 +5.463078E-01 +1.319680E-01 +2.874488E-01 +4.930982E-02 +2.593320E-01 +3.729386E-02 +5.896045E-03 +3.476335E-05 0.000000E+00 0.000000E+00 0.000000E+00 @@ -5735,16 +5745,8 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -1.532915E-01 -2.349830E-02 0.000000E+00 0.000000E+00 -2.637807E-03 -6.958026E-06 -9.521605E-03 -9.066095E-05 -7.905417E-02 -6.249562E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -5757,6 +5759,8 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +5.835684E-02 +3.405521E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -5773,14 +5777,14 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -5.147382E-02 -2.649554E-03 -1.719918E-01 -1.490049E-02 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 +5.718522E-03 +3.270150E-05 +1.244176E-01 +1.547973E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -5803,8 +5807,20 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +1.165202E-01 +6.930471E-03 +2.882401E-01 +4.938325E-02 +1.786607E-02 +3.191964E-04 0.000000E+00 0.000000E+00 +7.373020E-01 +2.296999E-01 +1.076125E+00 +3.620665E-01 +2.958840E-01 +7.992999E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -5819,10 +5835,26 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +2.215622E-02 +4.908983E-04 +7.663116E-02 +5.274654E-03 +2.330690E-01 +5.432115E-02 +4.899885E-02 +2.400887E-03 +2.509994E-01 +3.312022E-02 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 +2.646162E-01 +2.722494E-02 +2.779035E-01 +3.159893E-02 +2.470259E-01 +3.094098E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -5837,6 +5869,10 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +5.545269E-01 +1.316670E-01 +3.866882E-01 +1.202701E-01 0.000000E+00 0.000000E+00 0.000000E+00 @@ -5847,8 +5883,14 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +1.327761E-01 +1.698166E-02 0.000000E+00 0.000000E+00 +8.606674E-02 +7.407483E-03 +1.553405E-01 +1.453017E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -5857,6 +5899,16 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +1.685770E-02 +2.841820E-04 +4.475531E-02 +2.003038E-03 +7.510889E-01 +3.262838E-01 +1.518297E-01 +1.402100E-02 +1.948898E-01 +3.798204E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -5869,12 +5921,32 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +3.650200E-01 +7.121133E-02 +2.384503E+00 +1.209500E+00 +2.214217E-01 +2.168033E-02 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 +1.375452E-01 +1.835673E-02 +1.548403E-01 +2.397552E-02 +6.058351E-02 +1.850615E-03 +1.431856E-01 +2.050213E-02 +7.003137E-01 +2.735252E-01 +3.979721E-01 +1.307262E-01 +9.764118E-02 +9.533800E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -5885,6 +5957,12 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +2.762615E-01 +3.559292E-02 +8.969160E-01 +4.355459E-01 +8.832720E-02 +7.801694E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -5915,6 +5993,10 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +1.149703E+00 +3.989107E-01 +8.049861E-01 +1.599684E-01 0.000000E+00 0.000000E+00 0.000000E+00 @@ -5945,6 +6027,8 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +1.449729E-01 +2.101714E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -5957,10 +6041,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -1.771011E-02 -3.136480E-04 -3.012324E-02 -9.074096E-04 0.000000E+00 0.000000E+00 0.000000E+00 @@ -5989,12 +6069,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -1.305564E-01 -1.704497E-02 -3.518664E-01 -6.212556E-02 -7.817833E-02 -6.111852E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -6019,20 +6093,10 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -5.114916E-02 -2.616236E-03 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 -4.740424E-01 -8.028915E-02 -8.000570E-01 -3.176809E-01 -5.666391E-01 -2.831913E-01 -1.643713E-02 -2.701791E-04 0.000000E+00 0.000000E+00 0.000000E+00 @@ -6053,8 +6117,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -1.425066E-03 -2.030813E-06 0.000000E+00 0.000000E+00 0.000000E+00 @@ -6063,10 +6125,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -6.314479E-02 -3.987265E-03 -6.100963E-02 -3.722175E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -6091,24 +6149,16 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -9.873816E-02 -9.749225E-03 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 -6.179053E-03 -3.818070E-05 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 -1.154173E-01 -1.332115E-02 -5.192203E-01 -1.359491E-01 0.000000E+00 0.000000E+00 0.000000E+00 @@ -6123,14 +6173,14 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -3.643669E-01 -3.773661E-02 -1.333650E-01 -1.778623E-02 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 +1.355863E-01 +1.838365E-02 +4.228981E-03 +1.788428E-05 0.000000E+00 0.000000E+00 0.000000E+00 @@ -6139,16 +6189,16 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -3.057922E-02 -4.821714E-04 -2.611439E-02 -4.539126E-04 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 +9.929647E-02 +9.859789E-03 +2.615062E-01 +3.533945E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -6157,18 +6207,12 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -4.328371E-01 -6.083581E-02 -3.822069E-02 -1.398374E-03 -1.903328E-01 -2.231214E-02 -3.952764E-01 -1.486302E-01 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 +1.481609E-01 +2.195167E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -6185,20 +6229,16 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +3.071175E-01 +5.415795E-02 +1.115403E+00 +3.834871E-01 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 -1.256222E-02 -1.578095E-04 -9.794148E-02 -9.592534E-03 -1.849303E-01 -1.553794E-02 -7.480357E-01 -1.929178E-01 0.000000E+00 0.000000E+00 0.000000E+00 @@ -6223,18 +6263,18 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +1.432122E-01 +1.520012E-02 +5.073845E-01 +9.507188E-02 +4.871086E-01 +1.359461E-01 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 -1.330682E-01 -1.770714E-02 -8.228934E-01 -3.735503E-01 -4.901155E-02 -2.402132E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -6259,6 +6299,10 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +1.164369E-01 +1.355756E-02 +2.357411E-01 +2.637254E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -6267,8 +6311,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -1.664911E-01 -2.771927E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -6319,6 +6361,8 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +6.200444E-02 +3.844551E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -6343,8 +6387,16 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +1.186127E-01 +1.335481E-02 +2.870320E-01 +4.518339E-02 0.000000E+00 0.000000E+00 +1.235293E-01 +1.096341E-02 +1.895015E-01 +3.591083E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -6375,6 +6427,8 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +3.297202E-01 +5.369813E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -6393,6 +6447,10 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +9.183632E-01 +2.857440E-01 +4.069831E-03 +1.656352E-05 0.000000E+00 0.000000E+00 0.000000E+00 @@ -6403,6 +6461,8 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +4.895403E-02 +2.396497E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -6417,10 +6477,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -4.486338E-02 -2.012723E-03 -7.956432E-02 -6.330481E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -6429,6 +6485,8 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +1.473267E-01 +2.170516E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -6441,6 +6499,12 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +1.853335E-01 +3.434852E-02 +4.612134E-01 +1.063957E-01 +1.223027E-01 +1.495794E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -6451,14 +6515,14 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -1.194798E-01 -1.427541E-02 -2.732161E-03 -7.464701E-06 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 +3.750187E-01 +1.153951E-01 +2.136983E-01 +4.566698E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -6471,6 +6535,12 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +1.771223E-02 +3.137232E-04 +1.358408E-01 +1.019608E-02 +8.209316E-02 +3.505893E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -6501,10 +6571,12 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +8.078002E-01 +1.757558E-01 +5.722246E-01 +9.204135E-02 0.000000E+00 0.000000E+00 -5.470039E-01 -2.992133E-01 0.000000E+00 0.000000E+00 0.000000E+00 @@ -6533,12 +6605,12 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +1.354717E-01 +9.718740E-03 +5.221740E-02 +2.726657E-03 0.000000E+00 0.000000E+00 -1.748612E-02 -3.057643E-04 -4.139057E-01 -1.021512E-01 0.000000E+00 0.000000E+00 0.000000E+00 @@ -6567,12 +6639,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -1.334625E-01 -1.130142E-02 -5.401229E-01 -1.621043E-01 -4.144518E-01 -1.156846E-01 0.000000E+00 0.000000E+00 0.000000E+00 @@ -6597,20 +6663,10 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -9.643310E-02 -9.299344E-03 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 -2.362808E-01 -5.091357E-02 -7.208810E-03 -5.196695E-05 -5.757630E-01 -2.687941E-01 -9.778317E-02 -4.820693E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -6631,10 +6687,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -3.732678E-01 -1.393289E-01 -1.006063E-01 -1.012163E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -6671,8 +6723,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -6.086518E-02 -3.704570E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -6703,12 +6753,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -4.249148E-02 -1.805526E-03 -1.045383E+00 -4.214718E-01 -3.878770E-02 -1.504486E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -6737,12 +6781,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -2.784801E-02 -7.755114E-04 -6.779315E-01 -3.352682E-01 -3.026790E-01 -9.161460E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -6767,16 +6805,14 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -1.879990E-01 -2.203070E-02 0.000000E+00 0.000000E+00 +3.663834E-02 +8.107316E-04 +1.574353E-01 +2.355445E-02 0.000000E+00 0.000000E+00 -9.811002E-01 -4.685901E-01 -1.404927E-01 -1.080893E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -6801,22 +6837,18 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -7.572692E-01 -2.087347E-01 -2.362405E-01 -4.910426E-02 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 -1.965530E-01 -1.979508E-02 -3.230928E-02 -1.043889E-03 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 +3.788668E-02 +1.435401E-03 +2.270802E-02 +5.156541E-04 0.000000E+00 0.000000E+00 0.000000E+00 @@ -6835,16 +6867,8 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -1.751268E-03 -3.066940E-06 -1.553462E-01 -2.413243E-02 -1.672350E-01 -2.796753E-02 0.000000E+00 0.000000E+00 -1.836178E-02 -3.371549E-04 0.000000E+00 0.000000E+00 0.000000E+00 @@ -6855,6 +6879,12 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +8.896790E-03 +7.915287E-05 +4.847729E-02 +2.350047E-03 +2.905640E-01 +8.442745E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -6941,10 +6971,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -3.696487E-02 -1.366401E-03 -2.858087E-01 -8.168661E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -6973,10 +6999,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -1.258698E-01 -1.150919E-02 -6.798857E-01 -1.661025E-01 0.000000E+00 0.000000E+00 0.000000E+00 @@ -6995,10 +7017,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -8.503760E-02 -7.231393E-03 -3.103135E-02 -9.629449E-04 0.000000E+00 0.000000E+00 0.000000E+00 @@ -7007,12 +7025,8 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -1.008727E+00 -3.651038E-01 -9.120679E-01 -2.558101E-01 -8.721740E-03 -7.606874E-05 +3.452042E-02 +1.191659E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -7029,10 +7043,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -1.649741E-01 -2.721647E-02 -2.540880E-02 -6.456072E-04 0.000000E+00 0.000000E+00 0.000000E+00 @@ -7041,10 +7051,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -2.739345E-02 -7.504010E-04 -1.627060E-02 -2.647323E-04 0.000000E+00 0.000000E+00 0.000000E+00 @@ -7107,12 +7113,12 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -2.309730E-01 -2.570742E-02 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 +3.679762E-01 +1.354065E-01 0.000000E+00 0.000000E+00 0.000000E+00 @@ -7141,16 +7147,14 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -1.115905E+00 -4.082126E-01 -2.502204E-02 -6.261023E-04 0.000000E+00 0.000000E+00 -3.825879E-03 -1.463735E-05 0.000000E+00 0.000000E+00 +3.727350E-02 +1.389314E-03 +1.316492E-02 +1.733152E-04 0.000000E+00 0.000000E+00 0.000000E+00 @@ -7175,8 +7179,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -1.975077E-01 -1.600492E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -7209,8 +7211,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -1.269137E-01 -1.610709E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -7249,8 +7249,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -2.207099E-01 -4.871286E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -7283,8 +7281,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -9.075694E-02 -8.236821E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -7315,10 +7311,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -1.767451E-02 -3.123882E-04 -8.696348E-02 -7.562648E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -7349,10 +7341,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -1.690390E-01 -2.753878E-02 -1.145975E-01 -7.543314E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -7379,12 +7367,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -2.712297E-01 -3.081804E-02 -1.728614E-01 -2.076746E-02 -6.826625E-03 -4.660281E-05 0.000000E+00 0.000000E+00 0.000000E+00 @@ -7413,12 +7395,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -2.649622E-02 -7.020499E-04 -4.161446E-01 -8.806248E-02 -6.348647E-01 -9.989011E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -7451,8 +7427,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -1.204982E-02 -1.451982E-04 0.000000E+00 0.000000E+00 0.000000E+00 @@ -7553,10 +7527,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -2.282300E-01 -4.986445E-02 -2.206365E-02 -4.868048E-04 0.000000E+00 0.000000E+00 0.000000E+00 @@ -7585,12 +7555,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -1.875562E-01 -3.517735E-02 -7.738485E-01 -2.045432E-01 -4.058292E-01 -8.243188E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -7621,18 +7585,12 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -4.994213E-01 -2.494217E-01 -2.744213E-02 -7.530707E-04 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 -2.949405E-02 -7.018464E-04 0.000000E+00 0.000000E+00 0.000000E+00 @@ -7661,10 +7619,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -8.459022E-03 -7.155505E-05 -3.090219E-01 -9.549453E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -7685,8 +7639,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -7.226097E-01 -1.395661E-01 0.000000E+00 0.000000E+00 0.000000E+00 @@ -7719,10 +7671,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -2.316493E-01 -1.591047E-02 -6.576990E-01 -1.877309E-01 0.000000E+00 0.000000E+00 0.000000E+00 @@ -7753,10 +7701,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -4.546941E-01 -7.107193E-02 -3.321871E-01 -6.515778E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -7927,12 +7871,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -8.249399E-02 -4.667888E-03 -1.814462E-01 -3.292273E-02 -7.515014E-02 -5.647544E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -7959,12 +7897,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -3.109046E-01 -8.622176E-02 -2.380422E-01 -3.181133E-02 -1.087532E-01 -6.035666E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -7993,12 +7925,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -5.246408E-03 -2.752480E-05 -3.760855E-02 -1.251291E-03 -5.951856E-02 -3.037461E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -8019,6 +7945,10 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +1.589438E-01 +2.060098E-02 +8.883980E-03 +7.892509E-05 0.000000E+00 0.000000E+00 0.000000E+00 @@ -8027,8 +7957,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -1.499600E-02 -2.248801E-04 0.000000E+00 0.000000E+00 0.000000E+00 @@ -8045,8 +7973,14 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +1.085624E-02 +1.178580E-04 +1.326035E-02 +1.758368E-04 0.000000E+00 0.000000E+00 +2.901092E-02 +8.416334E-04 0.000000E+00 0.000000E+00 0.000000E+00 @@ -8071,6 +8005,12 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +1.582984E-01 +2.505838E-02 +1.460448E-01 +2.132907E-02 +3.309870E-02 +1.095524E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -8141,8 +8081,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -1.395650E-01 -1.947839E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -8165,20 +8103,8 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -2.822292E-01 -4.829456E-02 -6.080756E-02 -3.418907E-03 0.000000E+00 0.000000E+00 -1.804108E-01 -2.405851E-02 -5.413665E-02 -2.930777E-03 -4.041026E-01 -8.374291E-02 -5.886833E-02 -3.465481E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -8201,16 +8127,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -7.093664E-02 -5.032006E-03 -5.703113E-02 -3.252549E-03 -7.402747E-01 -2.678271E-01 -2.389658E-02 -5.209213E-04 -5.348373E-01 -8.455667E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -8239,12 +8155,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -5.453284E-01 -1.497004E-01 -1.851055E-01 -1.721223E-02 -1.038418E-01 -1.078313E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -8263,8 +8173,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -6.010211E-02 -3.612264E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -8297,8 +8205,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -6.319919E-02 -3.629541E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -8331,8 +8237,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -1.292774E-01 -8.674372E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -8475,8 +8379,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -9.056616E-01 -4.198926E-01 0.000000E+00 0.000000E+00 0.000000E+00 @@ -8509,8 +8411,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -7.349640E-02 -5.401721E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -8537,14 +8437,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -1.494349E-01 -2.233077E-02 -2.761806E-01 -7.611993E-02 -6.289098E-02 -3.955276E-03 -2.612667E-02 -6.826026E-04 0.000000E+00 0.000000E+00 0.000000E+00 @@ -8571,12 +8463,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -2.326118E-01 -5.410823E-02 -9.912199E-03 -9.825168E-05 -3.954397E-03 -1.563725E-05 0.000000E+00 0.000000E+00 0.000000E+00 @@ -8605,8 +8491,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -7.263842E-02 -5.276340E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -8639,6 +8523,10 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +4.924729E-01 +2.024222E-01 +2.832772E-02 +8.024597E-04 0.000000E+00 0.000000E+00 0.000000E+00 @@ -8665,6 +8553,14 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +1.155931E-01 +1.336177E-02 +2.362142E-01 +5.579715E-02 +6.926635E-01 +2.428256E-01 +5.993460E-03 +3.592156E-05 0.000000E+00 0.000000E+00 0.000000E+00 @@ -8693,6 +8589,8 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +7.171591E-02 +5.143172E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -8749,12 +8647,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -4.601224E-01 -1.283387E-01 -4.851011E-01 -1.238875E-01 -1.351214E-02 -1.825779E-04 0.000000E+00 0.000000E+00 0.000000E+00 @@ -8781,12 +8673,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -7.746478E-03 -6.000792E-05 -1.551243E+00 -5.797918E-01 -1.974875E-01 -1.837196E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -8817,8 +8703,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -2.541705E-01 -4.325743E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -9053,8 +8937,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -9.496519E-02 -4.948061E-03 0.000000E+00 0.000000E+00 0.000000E+00 @@ -9087,8 +8969,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -1.596404E-01 -2.548506E-02 0.000000E+00 0.000000E+00 0.000000E+00 @@ -9115,8 +8995,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -2.454011E-02 -6.022168E-04 0.000000E+00 0.000000E+00 0.000000E+00 @@ -9149,8 +9027,134 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -1.235276E-01 -1.525907E-02 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +5.214580E-02 +2.719184E-03 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 @@ -9359,10 +9363,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -1.668786E-02 -2.784846E-04 -2.256035E-01 -5.089693E-02 0.000000E+00 0.000000E+00 0.000000E+00 diff --git a/tests/test_fixed_source/results_true.dat b/tests/test_fixed_source/results_true.dat index b3def050e8..c7ddf3c0b5 100644 --- a/tests/test_fixed_source/results_true.dat +++ b/tests/test_fixed_source/results_true.dat @@ -1,6 +1,6 @@ tally 1: -4.563929E+02 -2.091711E+04 +4.518784E+02 +2.056386E+04 leakage: -9.780000E+00 -9.566400E+00 +9.750000E+00 +9.508100E+00 diff --git a/tests/test_infinite_cell/results_true.dat b/tests/test_infinite_cell/results_true.dat index 0b8d929518..b909c92bbf 100644 --- a/tests/test_infinite_cell/results_true.dat +++ b/tests/test_infinite_cell/results_true.dat @@ -1,2 +1,2 @@ k-combined: -9.788797E-02 1.378250E-03 +9.893460E-02 1.178316E-03 diff --git a/tests/test_iso_in_lab/inputs_true.dat b/tests/test_iso_in_lab/inputs_true.dat new file mode 100644 index 0000000000..9a21b06f1f --- /dev/null +++ b/tests/test_iso_in_lab/inputs_true.dat @@ -0,0 +1 @@ +e0409e0660d58857a6a96ff5cb539ccc41c82f0e443e8081ee00bbee7b6c81b0ad43c870950ae37d4a18c329067b09479a27aa171c3a3f5771f53b384496fe61 \ No newline at end of file diff --git a/tests/test_iso_in_lab/results_true.dat b/tests/test_iso_in_lab/results_true.dat new file mode 100644 index 0000000000..354ccb0f8c --- /dev/null +++ b/tests/test_iso_in_lab/results_true.dat @@ -0,0 +1,2 @@ +k-combined: +9.638450E-01 1.237705E-02 diff --git a/tests/test_iso_in_lab/test_iso_in_lab.py b/tests/test_iso_in_lab/test_iso_in_lab.py new file mode 100644 index 0000000000..b60daea117 --- /dev/null +++ b/tests/test_iso_in_lab/test_iso_in_lab.py @@ -0,0 +1,26 @@ +#!/usr/bin/env python + +import os +import sys +import glob +import hashlib +sys.path.insert(0, os.pardir) +from testing_harness import PyAPITestHarness +import openmc +import openmc.mgxs + + +class IsoInLabTestHarness(PyAPITestHarness): + + def _build_inputs(self): + """Write input XML files with iso-in-lab scattering.""" + + self._input_set.build_default_materials_and_geometry() + self._input_set.build_default_settings() + self._input_set.materials.make_isotropic_in_lab() + self._input_set.export() + + +if __name__ == '__main__': + harness = IsoInLabTestHarness('statepoint.10.*') + harness.main() diff --git a/tests/test_lattice/results_true.dat b/tests/test_lattice/results_true.dat index cf51dd5d73..1d3d47fc45 100644 --- a/tests/test_lattice/results_true.dat +++ b/tests/test_lattice/results_true.dat @@ -1,2 +1,2 @@ k-combined: -1.042388E+00 1.575316E-01 +9.413559E-01 6.157522E-02 diff --git a/tests/test_lattice_hex/results_true.dat b/tests/test_lattice_hex/results_true.dat index b88285ff2e..4ba727dbfe 100644 --- a/tests/test_lattice_hex/results_true.dat +++ b/tests/test_lattice_hex/results_true.dat @@ -1,2 +1,2 @@ k-combined: -2.831014E-01 2.269849E-02 +2.496460E-01 1.257055E-02 diff --git a/tests/test_lattice_mixed/results_true.dat b/tests/test_lattice_mixed/results_true.dat index 7cea76ba00..d3c19b11a5 100644 --- a/tests/test_lattice_mixed/results_true.dat +++ b/tests/test_lattice_mixed/results_true.dat @@ -1,2 +1,2 @@ k-combined: -9.922449E-01 1.281824E-02 +9.790311E-01 9.660522E-03 diff --git a/tests/test_lattice_multiple/results_true.dat b/tests/test_lattice_multiple/results_true.dat index 6caffdd953..5c00c4486a 100644 --- a/tests/test_lattice_multiple/results_true.dat +++ b/tests/test_lattice_multiple/results_true.dat @@ -1,2 +1,2 @@ k-combined: -1.005983E+00 2.248579E-02 +9.581522E-01 4.261830E-02 diff --git a/tests/test_mgxs_library_condense/results_true.dat b/tests/test_mgxs_library_condense/results_true.dat index 45891fc300..4382153729 100644 --- a/tests/test_mgxs_library_condense/results_true.dat +++ b/tests/test_mgxs_library_condense/results_true.dat @@ -1,49 +1,49 @@ material group in nuclide mean std. dev. -0 1 1 total 0.419289 0.01638 material group in nuclide mean std. dev. -0 1 1 total 0.07774 0.003273 material group in group out nuclide mean std. dev. -0 1 1 1 total 0.352665 0.015654 material group out nuclide mean std. dev. -0 1 1 total 1 0.119622 material group in nuclide mean std. dev. -0 2 1 total 0.247316 0.009562 material group in nuclide mean std. dev. -0 2 1 total 0 0 material group in group out nuclide mean std. dev. -0 2 1 1 total 0.244838 0.009996 material group out nuclide mean std. dev. -0 2 1 total 0 0 material group in nuclide mean std. dev. -0 3 1 total 0.409938 0.042262 material group in nuclide mean std. dev. -0 3 1 total 0 0 material group in group out nuclide mean std. dev. -0 3 1 1 total 0.403354 0.041386 material group out nuclide mean std. dev. -0 3 1 total 0 0 material group in nuclide mean std. dev. -0 4 1 total 0.344007 0.05352 material group in nuclide mean std. dev. -0 4 1 total 0 0 material group in group out nuclide mean std. dev. -0 4 1 1 total 0.340438 0.052067 material group out nuclide mean std. dev. -0 4 1 total 0 0 material group in nuclide mean std. dev. -0 5 1 total 0 0 material group in nuclide mean std. dev. -0 5 1 total 0 0 material group in group out nuclide mean std. dev. -0 5 1 1 total 0 0 material group out nuclide mean std. dev. -0 5 1 total 0 0 material group in nuclide mean std. dev. -0 6 1 total 0 0 material group in nuclide mean std. dev. -0 6 1 total 0 0 material group in group out nuclide mean std. dev. -0 6 1 1 total 0 0 material group out nuclide mean std. dev. -0 6 1 total 0 0 material group in nuclide mean std. dev. -0 7 1 total 0 0 material group in nuclide mean std. dev. -0 7 1 total 0 0 material group in group out nuclide mean std. dev. -0 7 1 1 total 0 0 material group out nuclide mean std. dev. -0 7 1 total 0 0 material group in nuclide mean std. dev. -0 8 1 total 0 0 material group in nuclide mean std. dev. -0 8 1 total 0 0 material group in group out nuclide mean std. dev. -0 8 1 1 total 0 0 material group out nuclide mean std. dev. -0 8 1 total 0 0 material group in nuclide mean std. dev. -0 9 1 total 0.751873 0.559701 material group in nuclide mean std. dev. -0 9 1 total 0 0 material group in group out nuclide mean std. dev. -0 9 1 1 total 0.695491 0.50757 material group out nuclide mean std. dev. -0 9 1 total 0 0 material group in nuclide mean std. dev. -0 10 1 total 0 0 material group in nuclide mean std. dev. -0 10 1 total 0 0 material group in group out nuclide mean std. dev. -0 10 1 1 total 0 0 material group out nuclide mean std. dev. -0 10 1 total 0 0 material group in nuclide mean std. dev. -0 11 1 total 0.457329 0.403578 material group in nuclide mean std. dev. -0 11 1 total 0 0 material group in group out nuclide mean std. dev. -0 11 1 1 total 0.446737 0.392775 material group out nuclide mean std. dev. -0 11 1 total 0 0 material group in nuclide mean std. dev. -0 12 1 total 0.574978 0.38864 material group in nuclide mean std. dev. -0 12 1 total 0 0 material group in group out nuclide mean std. dev. -0 12 1 1 total 0.559478 0.377512 material group out nuclide mean std. dev. -0 12 1 total 0 0 \ No newline at end of file +0 1 1 total 0.412084 0.02359 material group in nuclide mean std. dev. +0 1 1 total 0.076425 0.003691 material group in group out nuclide mean std. dev. +0 1 1 1 total 0.345643 0.021487 material group out nuclide mean std. dev. +0 1 1 total 1.0 0.055333 material group in nuclide mean std. dev. +0 2 1 total 0.241262 0.00841 material group in nuclide mean std. dev. +0 2 1 total 0.0 0.0 material group in group out nuclide mean std. dev. +0 2 1 1 total 0.241262 0.00841 material group out nuclide mean std. dev. +0 2 1 total 0.0 0.0 material group in nuclide mean std. dev. +0 3 1 total 0.400028 0.034667 material group in nuclide mean std. dev. +0 3 1 total 0.0 0.0 material group in group out nuclide mean std. dev. +0 3 1 1 total 0.393462 0.033646 material group out nuclide mean std. dev. +0 3 1 total 0.0 0.0 material group in nuclide mean std. dev. +0 4 1 total 0.377402 0.072937 material group in nuclide mean std. dev. +0 4 1 total 0.0 0.0 material group in group out nuclide mean std. dev. +0 4 1 1 total 0.371473 0.071226 material group out nuclide mean std. dev. +0 4 1 total 0.0 0.0 material group in nuclide mean std. dev. +0 5 1 total 0.0 0.0 material group in nuclide mean std. dev. +0 5 1 total 0.0 0.0 material group in group out nuclide mean std. dev. +0 5 1 1 total 0.0 0.0 material group out nuclide mean std. dev. +0 5 1 total 0.0 0.0 material group in nuclide mean std. dev. +0 6 1 total 0.0 0.0 material group in nuclide mean std. dev. +0 6 1 total 0.0 0.0 material group in group out nuclide mean std. dev. +0 6 1 1 total 0.0 0.0 material group out nuclide mean std. dev. +0 6 1 total 0.0 0.0 material group in nuclide mean std. dev. +0 7 1 total 0.0 0.0 material group in nuclide mean std. dev. +0 7 1 total 0.0 0.0 material group in group out nuclide mean std. dev. +0 7 1 1 total 0.0 0.0 material group out nuclide mean std. dev. +0 7 1 total 0.0 0.0 material group in nuclide mean std. dev. +0 8 1 total 0.0 0.0 material group in nuclide mean std. dev. +0 8 1 total 0.0 0.0 material group in group out nuclide mean std. dev. +0 8 1 1 total 0.0 0.0 material group out nuclide mean std. dev. +0 8 1 total 0.0 0.0 material group in nuclide mean std. dev. +0 9 1 total 0.600536 0.748875 material group in nuclide mean std. dev. +0 9 1 total 0.0 0.0 material group in group out nuclide mean std. dev. +0 9 1 1 total 0.600536 0.748875 material group out nuclide mean std. dev. +0 9 1 total 0.0 0.0 material group in nuclide mean std. dev. +0 10 1 total 0.235515 0.613974 material group in nuclide mean std. dev. +0 10 1 total 0.0 0.0 material group in group out nuclide mean std. dev. +0 10 1 1 total 0.235515 0.613974 material group out nuclide mean std. dev. +0 10 1 total 0.0 0.0 material group in nuclide mean std. dev. +0 11 1 total 0.510145 0.741941 material group in nuclide mean std. dev. +0 11 1 total 0.0 0.0 material group in group out nuclide mean std. dev. +0 11 1 1 total 0.491857 0.715554 material group out nuclide mean std. dev. +0 11 1 total 0.0 0.0 material group in nuclide mean std. dev. +0 12 1 total 0.73836 0.825631 material group in nuclide mean std. dev. +0 12 1 total 0.0 0.0 material group in group out nuclide mean std. dev. +0 12 1 1 total 0.723265 0.808231 material group out nuclide mean std. dev. +0 12 1 total 0.0 0.0 \ No newline at end of file diff --git a/tests/test_mgxs_library_distribcell/results_true.dat b/tests/test_mgxs_library_distribcell/results_true.dat index ad9b949de9..0d5c7c7b44 100644 --- a/tests/test_mgxs_library_distribcell/results_true.dat +++ b/tests/test_mgxs_library_distribcell/results_true.dat @@ -1,5 +1,5 @@ avg(distribcell) group in nuclide mean std. dev. -0 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... 1 total 0.720213 1.424323 avg(distribcell) group in nuclide mean std. dev. -0 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... 1 total 0 0 avg(distribcell) group in group out nuclide mean std. dev. -0 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... 1 1 total 0.70466 1.403916 avg(distribcell) group out nuclide mean std. dev. -0 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... 1 total 0 0 \ No newline at end of file +0 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... 1 total 0.718919 0.520644 avg(distribcell) group in nuclide mean std. dev. +0 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... 1 total 0.0 0.0 avg(distribcell) group in group out nuclide mean std. dev. +0 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... 1 1 total 0.695166 0.510606 avg(distribcell) group out nuclide mean std. dev. +0 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... 1 total 0.0 0.0 \ No newline at end of file diff --git a/tests/test_mgxs_library_hdf5/results_true.dat b/tests/test_mgxs_library_hdf5/results_true.dat index eec581046d..e19b9ffa52 100644 --- a/tests/test_mgxs_library_hdf5/results_true.dat +++ b/tests/test_mgxs_library_hdf5/results_true.dat @@ -1,56 +1,56 @@ domain=1 type=transport -[ 0.38437891 0.81208747] -[ 0.01648997 0.07418959] +[ 0.37274472 0.86160691] +[ 0.02426918 0.03234902] domain=1 type=nu-fission -[ 0.02127008 0.69604034] -[ 0.0008939 0.05345764] +[ 0.02178897 0.71407658] +[ 0.00118187 0.04055185] domain=1 type=nu-scatter matrix -[[ 3.49923892e-01 1.73140769e-04] - [ 1.94810926e-03 3.79607212e-01]] -[[ 0.01664928 0.0001732 ] - [ 0.00195193 0.04007819]] +[[ 0.3373971 0.00155945] + [ 0. 0.42205129]] +[[ 0.02303884 0.00051015] + [ 0. 0.02161702]] domain=1 type=chi [ 1. 0.] -[ 0.11962178 0. ] +[ 0.05533329 0. ] domain=2 type=transport -[ 0.24504295 0.26645769] -[ 0.00882749 0.05220872] +[ 0.23725441 0.28593027] +[ 0.00818357 0.04879593] domain=2 type=nu-fission [ 0. 0.] [ 0. 0.] domain=2 type=nu-scatter matrix -[[ 0.24365718 0. ] - [ 0. 0.25478661]] -[[ 0.00908307 0. ] - [ 0. 0.05556256]] +[[ 0.23725441 0. ] + [ 0. 0.28593027]] +[[ 0.00818357 0. ] + [ 0. 0.04879593]] domain=2 type=chi [ 0. 0.] [ 0. 0.] domain=3 type=transport -[ 0.28227749 1.42731974] -[ 0.03724175 0.24712746] +[ 0.28690578 1.41815062] +[ 0.02740142 0.26530756] domain=3 type=nu-fission [ 0. 0.] [ 0. 0.] domain=3 type=nu-scatter matrix -[[ 0.25396726 0.02727268] - [ 0. 1.37652669]] -[[ 0.03617307 0.00180698] - [ 0. 0.2402569 ]] +[[ 0.25993686 0.02618721] + [ 0. 1.35952132]] +[[ 0.02611466 0.00166461] + [ 0. 0.2585046 ]] domain=3 type=chi [ 0. 0.] [ 0. 0.] domain=4 type=transport -[ 0.25572316 1.17976682] -[ 0.05191655 0.22938034] +[ 0.24244686 1.25395921] +[ 0.06103082 0.38836257] domain=4 type=nu-fission [ 0. 0.] [ 0. 0.] domain=4 type=nu-scatter matrix -[[ 0.23297756 0.02228141] - [ 0. 1.14680862]] -[[ 0.04977114 0.00262525] - [ 0. 0.22219839]] +[[ 0.2179296 0.023662 ] + [ 0. 1.21507398]] +[[ 0.0585649 0.00308328] + [ 0. 0.3810251 ]] domain=4 type=chi [ 0. 0.] [ 0. 0.] @@ -111,58 +111,58 @@ domain=8 type=chi [ 0. 0.] [ 0. 0.] domain=9 type=transport -[ 0.50403601 1.68709544] -[ 0.37962374 2.53662237] +[ 0.60053598 0. ] +[ 0.74887543 0. ] domain=9 type=nu-fission [ 0. 0.] [ 0. 0.] domain=9 type=nu-scatter matrix -[[ 0.50403601 0. ] - [ 0. 1.41795483]] -[[ 0.37962374 0. ] - [ 0. 2.15802716]] +[[ 0.60053598 0. ] + [ 0. 0. ]] +[[ 0.74887543 0. ] + [ 0. 0. ]] domain=9 type=chi [ 0. 0.] [ 0. 0.] domain=10 type=transport -[ 0. 0.] -[ 0. 0.] +[ 0.23551495 0. ] +[ 0.61397415 0. ] domain=10 type=nu-fission [ 0. 0.] [ 0. 0.] domain=10 type=nu-scatter matrix -[[ 0. 0.] - [ 0. 0.]] -[[ 0. 0.] - [ 0. 0.]] +[[ 0.23551495 0. ] + [ 0. 0. ]] +[[ 0.61397415 0. ] + [ 0. 0. ]] domain=10 type=chi [ 0. 0.] [ 0. 0.] domain=11 type=transport -[ 0.30282618 1.00614519] -[ 0.40131081 1.09163785] +[ 0.18632392 0.94598628] +[ 0.63212919 1.59113341] domain=11 type=nu-fission [ 0. 0.] [ 0. 0.] domain=11 type=nu-scatter matrix -[[ 0.27567871 0.02714747] - [ 0. 0.95792921]] -[[ 0.38567601 0.02000859] - [ 0. 1.05195936]] +[[ 0.15444875 0.03187517] + [ 0. 0.90308451]] +[[ 0.59768579 0.0450783 ] + [ 0. 1.53214394]] domain=11 type=chi [ 0. 0.] [ 0. 0.] domain=12 type=transport -[ 0.25593293 1.11334475] -[ 0.26842571 0.98867569] +[ 0.21329208 1.3909745 ] +[ 0.27144387 2.13734565] domain=12 type=nu-fission [ 0. 0.] [ 0. 0.] domain=12 type=nu-scatter matrix -[[ 0.22631045 0.02962248] - [ 0. 1.07168976]] -[[ 0.25487194 0.0177599 ] - [ 0. 0.95829029]] +[[ 0.18605249 0.02723959] + [ 0. 1.35711799]] +[[ 0.25763254 0.02955488] + [ 0. 2.08984614]] domain=12 type=chi [ 0. 0.] [ 0. 0.] diff --git a/tests/test_mgxs_library_no_nuclides/results_true.dat b/tests/test_mgxs_library_no_nuclides/results_true.dat index 7618512689..442b8ac7be 100644 --- a/tests/test_mgxs_library_no_nuclides/results_true.dat +++ b/tests/test_mgxs_library_no_nuclides/results_true.dat @@ -1,121 +1,121 @@ material group in nuclide mean std. dev. -1 1 1 total 0.384379 0.01649 -0 1 2 total 0.812087 0.07419 material group in nuclide mean std. dev. -1 1 1 total 0.02127 0.000894 -0 1 2 total 0.69604 0.053458 material group in group out nuclide mean std. dev. -3 1 1 1 total 0.349924 0.016649 -2 1 1 2 total 0.000173 0.000173 -1 1 2 1 total 0.001948 0.001952 -0 1 2 2 total 0.379607 0.040078 material group out nuclide mean std. dev. -1 1 1 total 1 0.119622 -0 1 2 total 0 0.000000 material group in nuclide mean std. dev. -1 2 1 total 0.245043 0.008827 -0 2 2 total 0.266458 0.052209 material group in nuclide mean std. dev. -1 2 1 total 0 0 -0 2 2 total 0 0 material group in group out nuclide mean std. dev. -3 2 1 1 total 0.243657 0.009083 +1 1 1 total 0.372745 0.024269 +0 1 2 total 0.861607 0.032349 material group in nuclide mean std. dev. +1 1 1 total 0.021789 0.001182 +0 1 2 total 0.714077 0.040552 material group in group out nuclide mean std. dev. +3 1 1 1 total 0.337397 0.023039 +2 1 1 2 total 0.001559 0.000510 +1 1 2 1 total 0.000000 0.000000 +0 1 2 2 total 0.422051 0.021617 material group out nuclide mean std. dev. +1 1 1 total 1.0 0.055333 +0 1 2 total 0.0 0.000000 material group in nuclide mean std. dev. +1 2 1 total 0.237254 0.008184 +0 2 2 total 0.285930 0.048796 material group in nuclide mean std. dev. +1 2 1 total 0.0 0.0 +0 2 2 total 0.0 0.0 material group in group out nuclide mean std. dev. +3 2 1 1 total 0.237254 0.008184 2 2 1 2 total 0.000000 0.000000 1 2 2 1 total 0.000000 0.000000 -0 2 2 2 total 0.254787 0.055563 material group out nuclide mean std. dev. -1 2 1 total 0 0 -0 2 2 total 0 0 material group in nuclide mean std. dev. -1 3 1 total 0.282277 0.037242 -0 3 2 total 1.427320 0.247127 material group in nuclide mean std. dev. -1 3 1 total 0 0 -0 3 2 total 0 0 material group in group out nuclide mean std. dev. -3 3 1 1 total 0.253967 0.036173 -2 3 1 2 total 0.027273 0.001807 +0 2 2 2 total 0.285930 0.048796 material group out nuclide mean std. dev. +1 2 1 total 0.0 0.0 +0 2 2 total 0.0 0.0 material group in nuclide mean std. dev. +1 3 1 total 0.286906 0.027401 +0 3 2 total 1.418151 0.265308 material group in nuclide mean std. dev. +1 3 1 total 0.0 0.0 +0 3 2 total 0.0 0.0 material group in group out nuclide mean std. dev. +3 3 1 1 total 0.259937 0.026115 +2 3 1 2 total 0.026187 0.001665 1 3 2 1 total 0.000000 0.000000 -0 3 2 2 total 1.376527 0.240257 material group out nuclide mean std. dev. -1 3 1 total 0 0 -0 3 2 total 0 0 material group in nuclide mean std. dev. -1 4 1 total 0.255723 0.051917 -0 4 2 total 1.179767 0.229380 material group in nuclide mean std. dev. -1 4 1 total 0 0 -0 4 2 total 0 0 material group in group out nuclide mean std. dev. -3 4 1 1 total 0.232978 0.049771 -2 4 1 2 total 0.022281 0.002625 +0 3 2 2 total 1.359521 0.258505 material group out nuclide mean std. dev. +1 3 1 total 0.0 0.0 +0 3 2 total 0.0 0.0 material group in nuclide mean std. dev. +1 4 1 total 0.242447 0.061031 +0 4 2 total 1.253959 0.388363 material group in nuclide mean std. dev. +1 4 1 total 0.0 0.0 +0 4 2 total 0.0 0.0 material group in group out nuclide mean std. dev. +3 4 1 1 total 0.217930 0.058565 +2 4 1 2 total 0.023662 0.003083 1 4 2 1 total 0.000000 0.000000 -0 4 2 2 total 1.146809 0.222198 material group out nuclide mean std. dev. -1 4 1 total 0 0 -0 4 2 total 0 0 material group in nuclide mean std. dev. -1 5 1 total 0 0 -0 5 2 total 0 0 material group in nuclide mean std. dev. -1 5 1 total 0 0 -0 5 2 total 0 0 material group in group out nuclide mean std. dev. -3 5 1 1 total 0 0 -2 5 1 2 total 0 0 -1 5 2 1 total 0 0 -0 5 2 2 total 0 0 material group out nuclide mean std. dev. -1 5 1 total 0 0 -0 5 2 total 0 0 material group in nuclide mean std. dev. -1 6 1 total 0 0 -0 6 2 total 0 0 material group in nuclide mean std. dev. -1 6 1 total 0 0 -0 6 2 total 0 0 material group in group out nuclide mean std. dev. -3 6 1 1 total 0 0 -2 6 1 2 total 0 0 -1 6 2 1 total 0 0 -0 6 2 2 total 0 0 material group out nuclide mean std. dev. -1 6 1 total 0 0 -0 6 2 total 0 0 material group in nuclide mean std. dev. -1 7 1 total 0 0 -0 7 2 total 0 0 material group in nuclide mean std. dev. -1 7 1 total 0 0 -0 7 2 total 0 0 material group in group out nuclide mean std. dev. -3 7 1 1 total 0 0 -2 7 1 2 total 0 0 -1 7 2 1 total 0 0 -0 7 2 2 total 0 0 material group out nuclide mean std. dev. -1 7 1 total 0 0 -0 7 2 total 0 0 material group in nuclide mean std. dev. -1 8 1 total 0 0 -0 8 2 total 0 0 material group in nuclide mean std. dev. -1 8 1 total 0 0 -0 8 2 total 0 0 material group in group out nuclide mean std. dev. -3 8 1 1 total 0 0 -2 8 1 2 total 0 0 -1 8 2 1 total 0 0 -0 8 2 2 total 0 0 material group out nuclide mean std. dev. -1 8 1 total 0 0 -0 8 2 total 0 0 material group in nuclide mean std. dev. -1 9 1 total 0.504036 0.379624 -0 9 2 total 1.687095 2.536622 material group in nuclide mean std. dev. -1 9 1 total 0 0 -0 9 2 total 0 0 material group in group out nuclide mean std. dev. -3 9 1 1 total 0.504036 0.379624 +0 4 2 2 total 1.215074 0.381025 material group out nuclide mean std. dev. +1 4 1 total 0.0 0.0 +0 4 2 total 0.0 0.0 material group in nuclide mean std. dev. +1 5 1 total 0.0 0.0 +0 5 2 total 0.0 0.0 material group in nuclide mean std. dev. +1 5 1 total 0.0 0.0 +0 5 2 total 0.0 0.0 material group in group out nuclide mean std. dev. +3 5 1 1 total 0.0 0.0 +2 5 1 2 total 0.0 0.0 +1 5 2 1 total 0.0 0.0 +0 5 2 2 total 0.0 0.0 material group out nuclide mean std. dev. +1 5 1 total 0.0 0.0 +0 5 2 total 0.0 0.0 material group in nuclide mean std. dev. +1 6 1 total 0.0 0.0 +0 6 2 total 0.0 0.0 material group in nuclide mean std. dev. +1 6 1 total 0.0 0.0 +0 6 2 total 0.0 0.0 material group in group out nuclide mean std. dev. +3 6 1 1 total 0.0 0.0 +2 6 1 2 total 0.0 0.0 +1 6 2 1 total 0.0 0.0 +0 6 2 2 total 0.0 0.0 material group out nuclide mean std. dev. +1 6 1 total 0.0 0.0 +0 6 2 total 0.0 0.0 material group in nuclide mean std. dev. +1 7 1 total 0.0 0.0 +0 7 2 total 0.0 0.0 material group in nuclide mean std. dev. +1 7 1 total 0.0 0.0 +0 7 2 total 0.0 0.0 material group in group out nuclide mean std. dev. +3 7 1 1 total 0.0 0.0 +2 7 1 2 total 0.0 0.0 +1 7 2 1 total 0.0 0.0 +0 7 2 2 total 0.0 0.0 material group out nuclide mean std. dev. +1 7 1 total 0.0 0.0 +0 7 2 total 0.0 0.0 material group in nuclide mean std. dev. +1 8 1 total 0.0 0.0 +0 8 2 total 0.0 0.0 material group in nuclide mean std. dev. +1 8 1 total 0.0 0.0 +0 8 2 total 0.0 0.0 material group in group out nuclide mean std. dev. +3 8 1 1 total 0.0 0.0 +2 8 1 2 total 0.0 0.0 +1 8 2 1 total 0.0 0.0 +0 8 2 2 total 0.0 0.0 material group out nuclide mean std. dev. +1 8 1 total 0.0 0.0 +0 8 2 total 0.0 0.0 material group in nuclide mean std. dev. +1 9 1 total 0.600536 0.748875 +0 9 2 total 0.000000 0.000000 material group in nuclide mean std. dev. +1 9 1 total 0.0 0.0 +0 9 2 total 0.0 0.0 material group in group out nuclide mean std. dev. +3 9 1 1 total 0.600536 0.748875 2 9 1 2 total 0.000000 0.000000 1 9 2 1 total 0.000000 0.000000 -0 9 2 2 total 1.417955 2.158027 material group out nuclide mean std. dev. -1 9 1 total 0 0 -0 9 2 total 0 0 material group in nuclide mean std. dev. -1 10 1 total 0 0 -0 10 2 total 0 0 material group in nuclide mean std. dev. -1 10 1 total 0 0 -0 10 2 total 0 0 material group in group out nuclide mean std. dev. -3 10 1 1 total 0 0 -2 10 1 2 total 0 0 -1 10 2 1 total 0 0 -0 10 2 2 total 0 0 material group out nuclide mean std. dev. -1 10 1 total 0 0 -0 10 2 total 0 0 material group in nuclide mean std. dev. -1 11 1 total 0.302826 0.401311 -0 11 2 total 1.006145 1.091638 material group in nuclide mean std. dev. -1 11 1 total 0 0 -0 11 2 total 0 0 material group in group out nuclide mean std. dev. -3 11 1 1 total 0.275679 0.385676 -2 11 1 2 total 0.027147 0.020009 +0 9 2 2 total 0.000000 0.000000 material group out nuclide mean std. dev. +1 9 1 total 0.0 0.0 +0 9 2 total 0.0 0.0 material group in nuclide mean std. dev. +1 10 1 total 0.235515 0.613974 +0 10 2 total 0.000000 0.000000 material group in nuclide mean std. dev. +1 10 1 total 0.0 0.0 +0 10 2 total 0.0 0.0 material group in group out nuclide mean std. dev. +3 10 1 1 total 0.235515 0.613974 +2 10 1 2 total 0.000000 0.000000 +1 10 2 1 total 0.000000 0.000000 +0 10 2 2 total 0.000000 0.000000 material group out nuclide mean std. dev. +1 10 1 total 0.0 0.0 +0 10 2 total 0.0 0.0 material group in nuclide mean std. dev. +1 11 1 total 0.186324 0.632129 +0 11 2 total 0.945986 1.591133 material group in nuclide mean std. dev. +1 11 1 total 0.0 0.0 +0 11 2 total 0.0 0.0 material group in group out nuclide mean std. dev. +3 11 1 1 total 0.154449 0.597686 +2 11 1 2 total 0.031875 0.045078 1 11 2 1 total 0.000000 0.000000 -0 11 2 2 total 0.957929 1.051959 material group out nuclide mean std. dev. -1 11 1 total 0 0 -0 11 2 total 0 0 material group in nuclide mean std. dev. -1 12 1 total 0.255933 0.268426 -0 12 2 total 1.113345 0.988676 material group in nuclide mean std. dev. -1 12 1 total 0 0 -0 12 2 total 0 0 material group in group out nuclide mean std. dev. -3 12 1 1 total 0.226310 0.254872 -2 12 1 2 total 0.029622 0.017760 +0 11 2 2 total 0.903085 1.532144 material group out nuclide mean std. dev. +1 11 1 total 0.0 0.0 +0 11 2 total 0.0 0.0 material group in nuclide mean std. dev. +1 12 1 total 0.213292 0.271444 +0 12 2 total 1.390975 2.137346 material group in nuclide mean std. dev. +1 12 1 total 0.0 0.0 +0 12 2 total 0.0 0.0 material group in group out nuclide mean std. dev. +3 12 1 1 total 0.186052 0.257633 +2 12 1 2 total 0.027240 0.029555 1 12 2 1 total 0.000000 0.000000 -0 12 2 2 total 1.071690 0.958290 material group out nuclide mean std. dev. -1 12 1 total 0 0 -0 12 2 total 0 0 \ No newline at end of file +0 12 2 2 total 1.357118 2.089846 material group out nuclide mean std. dev. +1 12 1 total 0.0 0.0 +0 12 2 total 0.0 0.0 \ No newline at end of file diff --git a/tests/test_mgxs_library_nuclides/results_true.dat b/tests/test_mgxs_library_nuclides/results_true.dat index 23ac0e423d..1455219645 100644 --- a/tests/test_mgxs_library_nuclides/results_true.dat +++ b/tests/test_mgxs_library_nuclides/results_true.dat @@ -1,47 +1,47 @@ material group in nuclide mean std. dev. -34 1 1 U-234 0.000000 0.000000 -35 1 1 U-235 0.008559 0.001742 -36 1 1 U-236 0.002643 0.000794 -37 1 1 U-238 0.213622 0.010911 +34 1 1 U-234 0.000173 0.000173 +35 1 1 U-235 0.010677 0.001889 +36 1 1 U-236 0.002390 0.001055 +37 1 1 U-238 0.213680 0.013272 38 1 1 Np-237 0.000000 0.000000 39 1 1 Pu-238 0.000000 0.000000 -40 1 1 Pu-239 0.005787 0.001050 -41 1 1 Pu-240 0.005702 0.000850 -42 1 1 Pu-241 0.000869 0.000366 -43 1 1 Pu-242 0.000655 0.000537 -44 1 1 Am-241 0.000000 0.000000 +40 1 1 Pu-239 0.002911 0.000639 +41 1 1 Pu-240 0.004426 0.000806 +42 1 1 Pu-241 0.000690 0.000387 +43 1 1 Pu-242 0.000000 0.000000 +44 1 1 Am-241 0.000173 0.000173 45 1 1 Am-242m 0.000000 0.000000 46 1 1 Am-243 0.000000 0.000000 47 1 1 Cm-242 0.000000 0.000000 48 1 1 Cm-243 0.000000 0.000000 49 1 1 Cm-244 0.000000 0.000000 50 1 1 Cm-245 0.000000 0.000000 -51 1 1 Mo-95 0.000302 0.000216 -52 1 1 Tc-99 0.000782 0.000434 -53 1 1 Ru-101 0.000346 0.000212 -54 1 1 Ru-103 0.000000 0.000000 +51 1 1 Mo-95 0.000000 0.000000 +52 1 1 Tc-99 0.000173 0.000173 +53 1 1 Ru-101 0.000238 0.000254 +54 1 1 Ru-103 0.000002 0.000243 55 1 1 Ag-109 0.000000 0.000000 56 1 1 Xe-135 0.000000 0.000000 -57 1 1 Cs-133 0.000189 0.000264 -58 1 1 Nd-143 0.000721 0.000364 -59 1 1 Nd-145 0.000637 0.000253 -60 1 1 Sm-147 0.000009 0.000238 +57 1 1 Cs-133 0.000347 0.000213 +58 1 1 Nd-143 0.000447 0.000292 +59 1 1 Nd-145 0.000564 0.000294 +60 1 1 Sm-147 0.000000 0.000000 61 1 1 Sm-149 0.000000 0.000000 -62 1 1 Sm-150 0.000003 0.000243 +62 1 1 Sm-150 0.000472 0.000239 63 1 1 Sm-151 0.000000 0.000000 -64 1 1 Sm-152 0.000874 0.000388 +64 1 1 Sm-152 0.000492 0.000352 65 1 1 Eu-153 0.000173 0.000173 66 1 1 Gd-155 0.000000 0.000000 -67 1 1 O-16 0.142506 0.008222 -0 1 2 U-234 0.001948 0.001952 -1 1 2 U-235 0.179956 0.028209 -2 1 2 U-236 0.000000 0.000000 -3 1 2 U-238 0.239279 0.039048 +67 1 1 O-16 0.134715 0.009801 +0 1 2 U-234 0.000000 0.000000 +1 1 2 U-235 0.199907 0.007776 +2 1 2 U-236 0.001501 0.002037 +3 1 2 U-238 0.255355 0.029743 4 1 2 Np-237 0.000000 0.000000 5 1 2 Pu-238 0.000000 0.000000 -6 1 2 Pu-239 0.159745 0.015751 -7 1 2 Pu-240 0.007792 0.003677 -8 1 2 Pu-241 0.017533 0.003806 +6 1 2 Pu-239 0.160378 0.011366 +7 1 2 Pu-240 0.007920 0.003710 +8 1 2 Pu-241 0.017820 0.003733 9 1 2 Pu-242 0.000000 0.000000 10 1 2 Am-241 0.000000 0.000000 11 1 2 Am-242m 0.000000 0.000000 @@ -50,40 +50,40 @@ 14 1 2 Cm-243 0.000000 0.000000 15 1 2 Cm-244 0.000000 0.000000 16 1 2 Cm-245 0.000000 0.000000 -17 1 2 Mo-95 0.002250 0.004232 -18 1 2 Tc-99 0.003544 0.002528 +17 1 2 Mo-95 0.000000 0.000000 +18 1 2 Tc-99 0.000000 0.000000 19 1 2 Ru-101 0.000000 0.000000 20 1 2 Ru-103 0.000000 0.000000 21 1 2 Ag-109 0.000000 0.000000 -22 1 2 Xe-135 0.027274 0.004025 +22 1 2 Xe-135 0.013860 0.003976 23 1 2 Cs-133 0.000000 0.000000 -24 1 2 Nd-143 0.006532 0.002517 -25 1 2 Nd-145 0.001948 0.001952 +24 1 2 Nd-143 0.003960 0.002427 +25 1 2 Nd-145 0.000000 0.000000 26 1 2 Sm-147 0.000000 0.000000 -27 1 2 Sm-149 0.007792 0.005701 +27 1 2 Sm-149 0.001980 0.001981 28 1 2 Sm-150 0.000000 0.000000 -29 1 2 Sm-151 0.000000 0.000000 +29 1 2 Sm-151 0.001980 0.001981 30 1 2 Sm-152 0.000000 0.000000 -31 1 2 Eu-153 0.001686 0.001968 +31 1 2 Eu-153 0.000000 0.000000 32 1 2 Gd-155 0.000000 0.000000 -33 1 2 O-16 0.154807 0.023798 material group in nuclide mean std. dev. -34 1 1 U-234 6.771527e-06 2.982583e-07 -35 1 1 U-235 9.687933e-03 4.305720e-04 -36 1 1 U-236 6.279974e-05 3.653120e-06 -37 1 1 U-238 6.335930e-03 4.715525e-04 -38 1 1 Np-237 1.237030e-05 6.333955e-07 -39 1 1 Pu-238 7.369063e-06 5.017525e-07 -40 1 1 Pu-239 4.007893e-03 2.607619e-04 -41 1 1 Pu-240 6.479096e-05 3.728060e-06 -42 1 1 Pu-241 1.074454e-03 4.688479e-05 -43 1 1 Pu-242 5.512610e-06 2.976651e-07 -44 1 1 Am-241 1.088373e-06 8.489934e-08 -45 1 1 Am-242m 1.143307e-06 9.912400e-08 -46 1 1 Am-243 7.745526e-07 5.413923e-08 -47 1 1 Cm-242 4.311566e-07 1.922427e-08 -48 1 1 Cm-243 2.363328e-07 2.235666e-08 -49 1 1 Cm-244 2.840125e-07 2.412051e-08 -50 1 1 Cm-245 3.017505e-07 1.594090e-08 +33 1 2 O-16 0.196946 0.014729 material group in nuclide mean std. dev. +34 1 1 U-234 7.274440e-06 4.419477e-07 +35 1 1 U-235 9.587803e-03 5.936922e-04 +36 1 1 U-236 7.566099e-05 7.523935e-06 +37 1 1 U-238 7.178367e-03 6.505680e-04 +38 1 1 Np-237 1.315682e-05 8.036501e-07 +39 1 1 Pu-238 7.746151e-06 3.992835e-07 +40 1 1 Pu-239 3.805294e-03 3.637600e-04 +41 1 1 Pu-240 6.941319e-05 4.729737e-06 +42 1 1 Pu-241 1.033844e-03 9.083913e-05 +43 1 1 Pu-242 5.995332e-06 3.821721e-07 +44 1 1 Am-241 1.148585e-06 8.271648e-08 +45 1 1 Am-242m 1.100215e-06 6.159956e-08 +46 1 1 Am-243 8.323826e-07 5.841792e-08 +47 1 1 Cm-242 5.088970e-07 5.258007e-08 +48 1 1 Cm-243 2.245435e-07 1.459025e-08 +49 1 1 Cm-244 2.993206e-07 2.746129e-08 +50 1 1 Cm-245 3.063611e-07 3.057751e-08 51 1 1 Mo-95 0.000000e+00 0.000000e+00 52 1 1 Tc-99 0.000000e+00 0.000000e+00 53 1 1 Ru-101 0.000000e+00 0.000000e+00 @@ -101,23 +101,23 @@ 65 1 1 Eu-153 0.000000e+00 0.000000e+00 66 1 1 Gd-155 0.000000e+00 0.000000e+00 67 1 1 O-16 0.000000e+00 0.000000e+00 -0 1 2 U-234 4.267300e-07 3.529845e-08 -1 1 2 U-235 3.629246e-01 2.964548e-02 -2 1 2 U-236 5.921657e-06 4.881464e-07 -3 1 2 U-238 5.196256e-07 4.286610e-08 -4 1 2 Np-237 2.424211e-07 1.741823e-08 -5 1 2 Pu-238 3.255627e-05 2.692686e-06 -6 1 2 Pu-239 2.868384e-01 2.056896e-02 -7 1 2 Pu-240 4.398266e-06 3.658267e-07 -8 1 2 Pu-241 4.607239e-02 3.797176e-03 -9 1 2 Pu-242 8.451967e-08 6.979002e-09 -10 1 2 Am-241 4.678607e-06 3.253889e-07 -11 1 2 Am-242m 1.417675e-04 1.218350e-05 -12 1 2 Am-243 7.648834e-08 6.303843e-09 -13 1 2 Cm-242 9.433314e-07 7.794362e-08 -14 1 2 Cm-243 1.767995e-06 1.454123e-07 -15 1 2 Cm-244 1.533962e-07 1.266951e-08 -16 1 2 Cm-245 1.145063e-05 9.419051e-07 +0 1 2 U-234 4.408576e-07 2.828309e-08 +1 1 2 U-235 3.768094e-01 2.445671e-02 +2 1 2 U-236 6.097538e-06 3.733038e-07 +3 1 2 U-238 5.353074e-07 3.310544e-08 +4 1 2 Np-237 2.702971e-07 2.098939e-08 +5 1 2 Pu-238 3.463109e-05 2.638394e-06 +6 1 2 Pu-239 2.889643e-01 1.376004e-02 +7 1 2 Pu-240 4.533642e-06 2.544289e-07 +8 1 2 Pu-241 4.809366e-02 2.778345e-03 +9 1 2 Pu-242 8.715325e-08 5.460893e-09 +10 1 2 Am-241 4.611736e-06 2.155039e-07 +11 1 2 Am-242m 1.428047e-04 8.436437e-06 +12 1 2 Am-243 7.883895e-08 4.734503e-09 +13 1 2 Cm-242 9.731025e-07 6.143750e-08 +14 1 2 Cm-243 1.825830e-06 1.074849e-07 +15 1 2 Cm-244 1.581823e-07 9.938064e-09 +16 1 2 Cm-245 1.213386e-05 8.812019e-07 17 1 2 Mo-95 0.000000e+00 0.000000e+00 18 1 2 Tc-99 0.000000e+00 0.000000e+00 19 1 2 Ru-101 0.000000e+00 0.000000e+00 @@ -136,15 +136,15 @@ 32 1 2 Gd-155 0.000000e+00 0.000000e+00 33 1 2 O-16 0.000000e+00 0.000000e+00 material group in group out nuclide mean std. dev. 102 1 1 1 U-234 0.000000 0.000000 -103 1 1 1 U-235 0.002846 0.001185 -104 1 1 1 U-236 0.001951 0.000829 -105 1 1 1 U-238 0.197520 0.011618 +103 1 1 1 U-235 0.003226 0.001139 +104 1 1 1 U-236 0.001697 0.000923 +105 1 1 1 U-238 0.194620 0.013297 106 1 1 1 Np-237 0.000000 0.000000 107 1 1 1 Pu-238 0.000000 0.000000 -108 1 1 1 Pu-239 0.001285 0.000461 -109 1 1 1 Pu-240 0.001027 0.000635 -110 1 1 1 Pu-241 0.000004 0.000242 -111 1 1 1 Pu-242 0.000481 0.000372 +108 1 1 1 Pu-239 0.001005 0.000477 +109 1 1 1 Pu-240 0.001307 0.000295 +110 1 1 1 Pu-241 0.000344 0.000244 +111 1 1 1 Pu-242 0.000000 0.000000 112 1 1 1 Am-241 0.000000 0.000000 113 1 1 1 Am-242m 0.000000 0.000000 114 1 1 1 Am-243 0.000000 0.000000 @@ -152,27 +152,27 @@ 116 1 1 1 Cm-243 0.000000 0.000000 117 1 1 1 Cm-244 0.000000 0.000000 118 1 1 1 Cm-245 0.000000 0.000000 -119 1 1 1 Mo-95 0.000302 0.000216 -120 1 1 1 Tc-99 0.000262 0.000195 -121 1 1 1 Ru-101 0.000000 0.000000 -122 1 1 1 Ru-103 0.000000 0.000000 +119 1 1 1 Mo-95 0.000000 0.000000 +120 1 1 1 Tc-99 0.000000 0.000000 +121 1 1 1 Ru-101 0.000238 0.000254 +122 1 1 1 Ru-103 0.000002 0.000243 123 1 1 1 Ag-109 0.000000 0.000000 124 1 1 1 Xe-135 0.000000 0.000000 -125 1 1 1 Cs-133 0.000016 0.000234 -126 1 1 1 Nd-143 0.000721 0.000364 -127 1 1 1 Nd-145 0.000463 0.000281 -128 1 1 1 Sm-147 0.000009 0.000238 +125 1 1 1 Cs-133 0.000000 0.000000 +126 1 1 1 Nd-143 0.000447 0.000292 +127 1 1 1 Nd-145 0.000564 0.000294 +128 1 1 1 Sm-147 0.000000 0.000000 129 1 1 1 Sm-149 0.000000 0.000000 -130 1 1 1 Sm-150 0.000003 0.000243 +130 1 1 1 Sm-150 0.000299 0.000238 131 1 1 1 Sm-151 0.000000 0.000000 -132 1 1 1 Sm-152 0.000700 0.000424 +132 1 1 1 Sm-152 0.000492 0.000352 133 1 1 1 Eu-153 0.000000 0.000000 134 1 1 1 Gd-155 0.000000 0.000000 -135 1 1 1 O-16 0.142333 0.008156 +135 1 1 1 O-16 0.133156 0.009821 68 1 1 2 U-234 0.000000 0.000000 69 1 1 2 U-235 0.000000 0.000000 70 1 1 2 U-236 0.000000 0.000000 -71 1 1 2 U-238 0.000000 0.000000 +71 1 1 2 U-238 0.000173 0.000173 72 1 1 2 Np-237 0.000000 0.000000 73 1 1 2 Pu-238 0.000000 0.000000 74 1 1 2 Pu-239 0.000000 0.000000 @@ -202,7 +202,7 @@ 98 1 1 2 Sm-152 0.000000 0.000000 99 1 1 2 Eu-153 0.000000 0.000000 100 1 1 2 Gd-155 0.000000 0.000000 -101 1 1 2 O-16 0.000173 0.000173 +101 1 1 2 O-16 0.001386 0.000446 34 1 2 1 U-234 0.000000 0.000000 35 1 2 1 U-235 0.000000 0.000000 36 1 2 1 U-236 0.000000 0.000000 @@ -236,11 +236,11 @@ 64 1 2 1 Sm-152 0.000000 0.000000 65 1 2 1 Eu-153 0.000000 0.000000 66 1 2 1 Gd-155 0.000000 0.000000 -67 1 2 1 O-16 0.001948 0.001952 +67 1 2 1 O-16 0.000000 0.000000 0 1 2 2 U-234 0.000000 0.000000 -1 1 2 2 U-235 0.010470 0.006106 -2 1 2 2 U-236 0.000000 0.000000 -3 1 2 2 U-238 0.208109 0.039197 +1 1 2 2 U-235 0.003889 0.003962 +2 1 2 2 U-236 0.001501 0.002037 +3 1 2 2 U-238 0.219715 0.025984 4 1 2 2 Np-237 0.000000 0.000000 5 1 2 2 Pu-238 0.000000 0.000000 6 1 2 2 Pu-239 0.000000 0.000000 @@ -254,116 +254,116 @@ 14 1 2 2 Cm-243 0.000000 0.000000 15 1 2 2 Cm-244 0.000000 0.000000 16 1 2 2 Cm-245 0.000000 0.000000 -17 1 2 2 Mo-95 0.000302 0.002551 -18 1 2 2 Tc-99 0.003544 0.002528 +17 1 2 2 Mo-95 0.000000 0.000000 +18 1 2 2 Tc-99 0.000000 0.000000 19 1 2 2 Ru-101 0.000000 0.000000 20 1 2 2 Ru-103 0.000000 0.000000 21 1 2 2 Ag-109 0.000000 0.000000 22 1 2 2 Xe-135 0.000000 0.000000 23 1 2 2 Cs-133 0.000000 0.000000 -24 1 2 2 Nd-143 0.002636 0.002073 +24 1 2 2 Nd-143 0.000000 0.000000 25 1 2 2 Nd-145 0.000000 0.000000 26 1 2 2 Sm-147 0.000000 0.000000 27 1 2 2 Sm-149 0.000000 0.000000 28 1 2 2 Sm-150 0.000000 0.000000 29 1 2 2 Sm-151 0.000000 0.000000 30 1 2 2 Sm-152 0.000000 0.000000 -31 1 2 2 Eu-153 0.001686 0.001968 +31 1 2 2 Eu-153 0.000000 0.000000 32 1 2 2 Gd-155 0.000000 0.000000 -33 1 2 2 O-16 0.152859 0.022894 material group out nuclide mean std. dev. -34 1 1 U-234 0 0.000000 -35 1 1 U-235 1 0.127079 -36 1 1 U-236 0 0.000000 -37 1 1 U-238 1 0.153215 -38 1 1 Np-237 0 0.000000 -39 1 1 Pu-238 0 0.000000 -40 1 1 Pu-239 1 0.150979 -41 1 1 Pu-240 0 0.000000 -42 1 1 Pu-241 1 0.203534 -43 1 1 Pu-242 0 0.000000 -44 1 1 Am-241 0 0.000000 -45 1 1 Am-242m 0 0.000000 -46 1 1 Am-243 0 0.000000 -47 1 1 Cm-242 0 0.000000 -48 1 1 Cm-243 0 0.000000 -49 1 1 Cm-244 0 0.000000 -50 1 1 Cm-245 0 0.000000 -51 1 1 Mo-95 0 0.000000 -52 1 1 Tc-99 0 0.000000 -53 1 1 Ru-101 0 0.000000 -54 1 1 Ru-103 0 0.000000 -55 1 1 Ag-109 0 0.000000 -56 1 1 Xe-135 0 0.000000 -57 1 1 Cs-133 0 0.000000 -58 1 1 Nd-143 0 0.000000 -59 1 1 Nd-145 0 0.000000 -60 1 1 Sm-147 0 0.000000 -61 1 1 Sm-149 0 0.000000 -62 1 1 Sm-150 0 0.000000 -63 1 1 Sm-151 0 0.000000 -64 1 1 Sm-152 0 0.000000 -65 1 1 Eu-153 0 0.000000 -66 1 1 Gd-155 0 0.000000 -67 1 1 O-16 0 0.000000 -0 1 2 U-234 0 0.000000 -1 1 2 U-235 0 0.000000 -2 1 2 U-236 0 0.000000 -3 1 2 U-238 0 0.000000 -4 1 2 Np-237 0 0.000000 -5 1 2 Pu-238 0 0.000000 -6 1 2 Pu-239 0 0.000000 -7 1 2 Pu-240 0 0.000000 -8 1 2 Pu-241 0 0.000000 -9 1 2 Pu-242 0 0.000000 -10 1 2 Am-241 0 0.000000 -11 1 2 Am-242m 0 0.000000 -12 1 2 Am-243 0 0.000000 -13 1 2 Cm-242 0 0.000000 -14 1 2 Cm-243 0 0.000000 -15 1 2 Cm-244 0 0.000000 -16 1 2 Cm-245 0 0.000000 -17 1 2 Mo-95 0 0.000000 -18 1 2 Tc-99 0 0.000000 -19 1 2 Ru-101 0 0.000000 -20 1 2 Ru-103 0 0.000000 -21 1 2 Ag-109 0 0.000000 -22 1 2 Xe-135 0 0.000000 -23 1 2 Cs-133 0 0.000000 -24 1 2 Nd-143 0 0.000000 -25 1 2 Nd-145 0 0.000000 -26 1 2 Sm-147 0 0.000000 -27 1 2 Sm-149 0 0.000000 -28 1 2 Sm-150 0 0.000000 -29 1 2 Sm-151 0 0.000000 -30 1 2 Sm-152 0 0.000000 -31 1 2 Eu-153 0 0.000000 -32 1 2 Gd-155 0 0.000000 -33 1 2 O-16 0 0.000000 material group in nuclide mean std. dev. -5 2 1 Zr-90 0.118578 0.008347 -6 2 1 Zr-91 0.040887 0.002988 -7 2 1 Zr-92 0.033882 0.004365 -8 2 1 Zr-94 0.046281 0.005422 -9 2 1 Zr-96 0.005415 0.002113 -0 2 2 Zr-90 0.122479 0.032627 -1 2 2 Zr-91 0.035669 0.009683 -2 2 2 Zr-92 0.049331 0.021936 -3 2 2 Zr-94 0.058978 0.020081 +33 1 2 2 O-16 0.196946 0.014729 material group out nuclide mean std. dev. +34 1 1 U-234 0.0 0.000000 +35 1 1 U-235 1.0 0.066362 +36 1 1 U-236 0.0 0.000000 +37 1 1 U-238 1.0 0.093082 +38 1 1 Np-237 0.0 0.000000 +39 1 1 Pu-238 0.0 0.000000 +40 1 1 Pu-239 1.0 0.104567 +41 1 1 Pu-240 0.0 0.000000 +42 1 1 Pu-241 1.0 0.263696 +43 1 1 Pu-242 0.0 0.000000 +44 1 1 Am-241 0.0 0.000000 +45 1 1 Am-242m 0.0 0.000000 +46 1 1 Am-243 0.0 0.000000 +47 1 1 Cm-242 0.0 0.000000 +48 1 1 Cm-243 0.0 0.000000 +49 1 1 Cm-244 0.0 0.000000 +50 1 1 Cm-245 0.0 0.000000 +51 1 1 Mo-95 0.0 0.000000 +52 1 1 Tc-99 0.0 0.000000 +53 1 1 Ru-101 0.0 0.000000 +54 1 1 Ru-103 0.0 0.000000 +55 1 1 Ag-109 0.0 0.000000 +56 1 1 Xe-135 0.0 0.000000 +57 1 1 Cs-133 0.0 0.000000 +58 1 1 Nd-143 0.0 0.000000 +59 1 1 Nd-145 0.0 0.000000 +60 1 1 Sm-147 0.0 0.000000 +61 1 1 Sm-149 0.0 0.000000 +62 1 1 Sm-150 0.0 0.000000 +63 1 1 Sm-151 0.0 0.000000 +64 1 1 Sm-152 0.0 0.000000 +65 1 1 Eu-153 0.0 0.000000 +66 1 1 Gd-155 0.0 0.000000 +67 1 1 O-16 0.0 0.000000 +0 1 2 U-234 0.0 0.000000 +1 1 2 U-235 0.0 0.000000 +2 1 2 U-236 0.0 0.000000 +3 1 2 U-238 0.0 0.000000 +4 1 2 Np-237 0.0 0.000000 +5 1 2 Pu-238 0.0 0.000000 +6 1 2 Pu-239 0.0 0.000000 +7 1 2 Pu-240 0.0 0.000000 +8 1 2 Pu-241 0.0 0.000000 +9 1 2 Pu-242 0.0 0.000000 +10 1 2 Am-241 0.0 0.000000 +11 1 2 Am-242m 0.0 0.000000 +12 1 2 Am-243 0.0 0.000000 +13 1 2 Cm-242 0.0 0.000000 +14 1 2 Cm-243 0.0 0.000000 +15 1 2 Cm-244 0.0 0.000000 +16 1 2 Cm-245 0.0 0.000000 +17 1 2 Mo-95 0.0 0.000000 +18 1 2 Tc-99 0.0 0.000000 +19 1 2 Ru-101 0.0 0.000000 +20 1 2 Ru-103 0.0 0.000000 +21 1 2 Ag-109 0.0 0.000000 +22 1 2 Xe-135 0.0 0.000000 +23 1 2 Cs-133 0.0 0.000000 +24 1 2 Nd-143 0.0 0.000000 +25 1 2 Nd-145 0.0 0.000000 +26 1 2 Sm-147 0.0 0.000000 +27 1 2 Sm-149 0.0 0.000000 +28 1 2 Sm-150 0.0 0.000000 +29 1 2 Sm-151 0.0 0.000000 +30 1 2 Sm-152 0.0 0.000000 +31 1 2 Eu-153 0.0 0.000000 +32 1 2 Gd-155 0.0 0.000000 +33 1 2 O-16 0.0 0.000000 material group in nuclide mean std. dev. +5 2 1 Zr-90 0.104734 0.008915 +6 2 1 Zr-91 0.036155 0.003735 +7 2 1 Zr-92 0.042422 0.003029 +8 2 1 Zr-94 0.046148 0.006251 +9 2 1 Zr-96 0.007794 0.001536 +0 2 2 Zr-90 0.121688 0.034934 +1 2 2 Zr-91 0.061792 0.024317 +2 2 2 Zr-92 0.041633 0.016323 +3 2 2 Zr-94 0.060818 0.021483 4 2 2 Zr-96 0.000000 0.000000 material group in nuclide mean std. dev. -5 2 1 Zr-90 0 0 -6 2 1 Zr-91 0 0 -7 2 1 Zr-92 0 0 -8 2 1 Zr-94 0 0 -9 2 1 Zr-96 0 0 -0 2 2 Zr-90 0 0 -1 2 2 Zr-91 0 0 -2 2 2 Zr-92 0 0 -3 2 2 Zr-94 0 0 -4 2 2 Zr-96 0 0 material group in group out nuclide mean std. dev. -15 2 1 1 Zr-90 0.118578 0.008347 -16 2 1 1 Zr-91 0.039963 0.003053 -17 2 1 1 Zr-92 0.033882 0.004365 -18 2 1 1 Zr-94 0.046281 0.005422 -19 2 1 1 Zr-96 0.004953 0.002087 +5 2 1 Zr-90 0.0 0.0 +6 2 1 Zr-91 0.0 0.0 +7 2 1 Zr-92 0.0 0.0 +8 2 1 Zr-94 0.0 0.0 +9 2 1 Zr-96 0.0 0.0 +0 2 2 Zr-90 0.0 0.0 +1 2 2 Zr-91 0.0 0.0 +2 2 2 Zr-92 0.0 0.0 +3 2 2 Zr-94 0.0 0.0 +4 2 2 Zr-96 0.0 0.0 material group in group out nuclide mean std. dev. +15 2 1 1 Zr-90 0.104734 0.008915 +16 2 1 1 Zr-91 0.036155 0.003735 +17 2 1 1 Zr-92 0.042422 0.003029 +18 2 1 1 Zr-94 0.046148 0.006251 +19 2 1 1 Zr-96 0.007794 0.001536 10 2 1 2 Zr-90 0.000000 0.000000 11 2 1 2 Zr-91 0.000000 0.000000 12 2 1 2 Zr-92 0.000000 0.000000 @@ -374,1007 +374,1007 @@ 7 2 2 1 Zr-92 0.000000 0.000000 8 2 2 1 Zr-94 0.000000 0.000000 9 2 2 1 Zr-96 0.000000 0.000000 -0 2 2 2 Zr-90 0.122479 0.032627 -1 2 2 2 Zr-91 0.023998 0.011915 -2 2 2 2 Zr-92 0.049331 0.021936 -3 2 2 2 Zr-94 0.058978 0.020081 +0 2 2 2 Zr-90 0.121688 0.034934 +1 2 2 2 Zr-91 0.061792 0.024317 +2 2 2 2 Zr-92 0.041633 0.016323 +3 2 2 2 Zr-94 0.060818 0.021483 4 2 2 2 Zr-96 0.000000 0.000000 material group out nuclide mean std. dev. -5 2 1 Zr-90 0 0 -6 2 1 Zr-91 0 0 -7 2 1 Zr-92 0 0 -8 2 1 Zr-94 0 0 -9 2 1 Zr-96 0 0 -0 2 2 Zr-90 0 0 -1 2 2 Zr-91 0 0 -2 2 2 Zr-92 0 0 -3 2 2 Zr-94 0 0 -4 2 2 Zr-96 0 0 material group in nuclide mean std. dev. -4 3 1 H-1 0.206179 0.034791 -5 3 1 O-16 0.075190 0.004750 -6 3 1 B-10 0.000741 0.000470 -7 3 1 B-11 0.000167 0.000208 -0 3 2 H-1 1.323003 0.239067 -1 3 2 O-16 0.071243 0.013291 -2 3 2 B-10 0.033075 0.004283 -3 3 2 B-11 0.000000 0.000000 material group in nuclide mean std. dev. -4 3 1 H-1 0 0 -5 3 1 O-16 0 0 -6 3 1 B-10 0 0 -7 3 1 B-11 0 0 -0 3 2 H-1 0 0 -1 3 2 O-16 0 0 -2 3 2 B-10 0 0 -3 3 2 B-11 0 0 material group in group out nuclide mean std. dev. -12 3 1 1 H-1 0.178758 0.033618 -13 3 1 1 O-16 0.075042 0.004782 +5 2 1 Zr-90 0.0 0.0 +6 2 1 Zr-91 0.0 0.0 +7 2 1 Zr-92 0.0 0.0 +8 2 1 Zr-94 0.0 0.0 +9 2 1 Zr-96 0.0 0.0 +0 2 2 Zr-90 0.0 0.0 +1 2 2 Zr-91 0.0 0.0 +2 2 2 Zr-92 0.0 0.0 +3 2 2 Zr-94 0.0 0.0 +4 2 2 Zr-96 0.0 0.0 material group in nuclide mean std. dev. +4 3 1 H-1 0.207103 0.023028 +5 3 1 O-16 0.079282 0.005197 +6 3 1 B-10 0.000521 0.000244 +7 3 1 B-11 0.000000 0.000000 +0 3 2 H-1 1.283344 0.250946 +1 3 2 O-16 0.085363 0.014001 +2 3 2 B-10 0.049249 0.008232 +3 3 2 B-11 0.000195 0.001527 material group in nuclide mean std. dev. +4 3 1 H-1 0.0 0.0 +5 3 1 O-16 0.0 0.0 +6 3 1 B-10 0.0 0.0 +7 3 1 B-11 0.0 0.0 +0 3 2 H-1 0.0 0.0 +1 3 2 O-16 0.0 0.0 +2 3 2 B-10 0.0 0.0 +3 3 2 B-11 0.0 0.0 material group in group out nuclide mean std. dev. +12 3 1 1 H-1 0.181306 0.022102 +13 3 1 1 O-16 0.078631 0.005044 14 3 1 1 B-10 0.000000 0.000000 -15 3 1 1 B-11 0.000167 0.000208 -8 3 1 2 H-1 0.027124 0.001806 -9 3 1 2 O-16 0.000148 0.000148 +15 3 1 1 B-11 0.000000 0.000000 +8 3 1 2 H-1 0.025666 0.001582 +9 3 1 2 O-16 0.000521 0.000131 10 3 1 2 B-10 0.000000 0.000000 11 3 1 2 B-11 0.000000 0.000000 4 3 2 1 H-1 0.000000 0.000000 5 3 2 1 O-16 0.000000 0.000000 6 3 2 1 B-10 0.000000 0.000000 7 3 2 1 B-11 0.000000 0.000000 -0 3 2 2 H-1 1.305284 0.235145 -1 3 2 2 O-16 0.071243 0.013291 +0 3 2 2 H-1 1.273963 0.250623 +1 3 2 2 O-16 0.085363 0.014001 2 3 2 2 B-10 0.000000 0.000000 -3 3 2 2 B-11 0.000000 0.000000 material group out nuclide mean std. dev. -4 3 1 H-1 0 0 -5 3 1 O-16 0 0 -6 3 1 B-10 0 0 -7 3 1 B-11 0 0 -0 3 2 H-1 0 0 -1 3 2 O-16 0 0 -2 3 2 B-10 0 0 -3 3 2 B-11 0 0 material group in nuclide mean std. dev. -4 4 1 H-1 0.188813 0.045599 -5 4 1 O-16 0.066636 0.008217 -6 4 1 B-10 0.000232 0.000233 -7 4 1 B-11 0.000042 0.000300 -0 4 2 H-1 1.088920 0.221595 -1 4 2 O-16 0.064481 0.014318 -2 4 2 B-10 0.026367 0.010478 +3 3 2 2 B-11 0.000195 0.001527 material group out nuclide mean std. dev. +4 3 1 H-1 0.0 0.0 +5 3 1 O-16 0.0 0.0 +6 3 1 B-10 0.0 0.0 +7 3 1 B-11 0.0 0.0 +0 3 2 H-1 0.0 0.0 +1 3 2 O-16 0.0 0.0 +2 3 2 B-10 0.0 0.0 +3 3 2 B-11 0.0 0.0 material group in nuclide mean std. dev. +4 4 1 H-1 0.175242 0.053715 +5 4 1 O-16 0.066545 0.010083 +6 4 1 B-10 0.000570 0.000352 +7 4 1 B-11 0.000089 0.000346 +0 4 2 H-1 1.142895 0.365140 +1 4 2 O-16 0.085141 0.028073 +2 4 2 B-10 0.025923 0.007276 3 4 2 B-11 0.000000 0.000000 material group in nuclide mean std. dev. -4 4 1 H-1 0 0 -5 4 1 O-16 0 0 -6 4 1 B-10 0 0 -7 4 1 B-11 0 0 -0 4 2 H-1 0 0 -1 4 2 O-16 0 0 -2 4 2 B-10 0 0 -3 4 2 B-11 0 0 material group in group out nuclide mean std. dev. -12 4 1 1 H-1 0.166764 0.043861 -13 4 1 1 O-16 0.066172 0.007943 +4 4 1 H-1 0.0 0.0 +5 4 1 O-16 0.0 0.0 +6 4 1 B-10 0.0 0.0 +7 4 1 B-11 0.0 0.0 +0 4 2 H-1 0.0 0.0 +1 4 2 O-16 0.0 0.0 +2 4 2 B-10 0.0 0.0 +3 4 2 B-11 0.0 0.0 material group in group out nuclide mean std. dev. +12 4 1 1 H-1 0.151295 0.051491 +13 4 1 1 O-16 0.066545 0.010083 14 4 1 1 B-10 0.000000 0.000000 -15 4 1 1 B-11 0.000042 0.000300 -8 4 1 2 H-1 0.021817 0.002327 -9 4 1 2 O-16 0.000464 0.000466 +15 4 1 1 B-11 0.000089 0.000346 +8 4 1 2 H-1 0.023662 0.003083 +9 4 1 2 O-16 0.000000 0.000000 10 4 1 2 B-10 0.000000 0.000000 11 4 1 2 B-11 0.000000 0.000000 4 4 2 1 H-1 0.000000 0.000000 5 4 2 1 O-16 0.000000 0.000000 6 4 2 1 B-10 0.000000 0.000000 7 4 2 1 B-11 0.000000 0.000000 -0 4 2 2 H-1 1.082328 0.222438 -1 4 2 2 O-16 0.064481 0.014318 +0 4 2 2 H-1 1.129933 0.361681 +1 4 2 2 O-16 0.085141 0.028073 2 4 2 2 B-10 0.000000 0.000000 3 4 2 2 B-11 0.000000 0.000000 material group out nuclide mean std. dev. -4 4 1 H-1 0 0 -5 4 1 O-16 0 0 -6 4 1 B-10 0 0 -7 4 1 B-11 0 0 -0 4 2 H-1 0 0 -1 4 2 O-16 0 0 -2 4 2 B-10 0 0 -3 4 2 B-11 0 0 material group in nuclide mean std. dev. -27 5 1 Fe-54 0 0 -28 5 1 Fe-56 0 0 -29 5 1 Fe-57 0 0 -30 5 1 Fe-58 0 0 -31 5 1 Ni-58 0 0 -32 5 1 Ni-60 0 0 -33 5 1 Ni-61 0 0 -34 5 1 Ni-62 0 0 -35 5 1 Ni-64 0 0 -36 5 1 Mn-55 0 0 -37 5 1 Mo-92 0 0 -38 5 1 Mo-94 0 0 -39 5 1 Mo-95 0 0 -40 5 1 Mo-96 0 0 -41 5 1 Mo-97 0 0 -42 5 1 Mo-98 0 0 -43 5 1 Mo-100 0 0 -44 5 1 Si-28 0 0 -45 5 1 Si-29 0 0 -46 5 1 Si-30 0 0 -47 5 1 Cr-50 0 0 -48 5 1 Cr-52 0 0 -49 5 1 Cr-53 0 0 -50 5 1 Cr-54 0 0 -51 5 1 C-Nat 0 0 -52 5 1 Cu-63 0 0 -53 5 1 Cu-65 0 0 -0 5 2 Fe-54 0 0 -1 5 2 Fe-56 0 0 -2 5 2 Fe-57 0 0 -3 5 2 Fe-58 0 0 -4 5 2 Ni-58 0 0 -5 5 2 Ni-60 0 0 -6 5 2 Ni-61 0 0 -7 5 2 Ni-62 0 0 -8 5 2 Ni-64 0 0 -9 5 2 Mn-55 0 0 -10 5 2 Mo-92 0 0 -11 5 2 Mo-94 0 0 -12 5 2 Mo-95 0 0 -13 5 2 Mo-96 0 0 -14 5 2 Mo-97 0 0 -15 5 2 Mo-98 0 0 -16 5 2 Mo-100 0 0 -17 5 2 Si-28 0 0 -18 5 2 Si-29 0 0 -19 5 2 Si-30 0 0 -20 5 2 Cr-50 0 0 -21 5 2 Cr-52 0 0 -22 5 2 Cr-53 0 0 -23 5 2 Cr-54 0 0 -24 5 2 C-Nat 0 0 -25 5 2 Cu-63 0 0 -26 5 2 Cu-65 0 0 material group in nuclide mean std. dev. -27 5 1 Fe-54 0 0 -28 5 1 Fe-56 0 0 -29 5 1 Fe-57 0 0 -30 5 1 Fe-58 0 0 -31 5 1 Ni-58 0 0 -32 5 1 Ni-60 0 0 -33 5 1 Ni-61 0 0 -34 5 1 Ni-62 0 0 -35 5 1 Ni-64 0 0 -36 5 1 Mn-55 0 0 -37 5 1 Mo-92 0 0 -38 5 1 Mo-94 0 0 -39 5 1 Mo-95 0 0 -40 5 1 Mo-96 0 0 -41 5 1 Mo-97 0 0 -42 5 1 Mo-98 0 0 -43 5 1 Mo-100 0 0 -44 5 1 Si-28 0 0 -45 5 1 Si-29 0 0 -46 5 1 Si-30 0 0 -47 5 1 Cr-50 0 0 -48 5 1 Cr-52 0 0 -49 5 1 Cr-53 0 0 -50 5 1 Cr-54 0 0 -51 5 1 C-Nat 0 0 -52 5 1 Cu-63 0 0 -53 5 1 Cu-65 0 0 -0 5 2 Fe-54 0 0 -1 5 2 Fe-56 0 0 -2 5 2 Fe-57 0 0 -3 5 2 Fe-58 0 0 -4 5 2 Ni-58 0 0 -5 5 2 Ni-60 0 0 -6 5 2 Ni-61 0 0 -7 5 2 Ni-62 0 0 -8 5 2 Ni-64 0 0 -9 5 2 Mn-55 0 0 -10 5 2 Mo-92 0 0 -11 5 2 Mo-94 0 0 -12 5 2 Mo-95 0 0 -13 5 2 Mo-96 0 0 -14 5 2 Mo-97 0 0 -15 5 2 Mo-98 0 0 -16 5 2 Mo-100 0 0 -17 5 2 Si-28 0 0 -18 5 2 Si-29 0 0 -19 5 2 Si-30 0 0 -20 5 2 Cr-50 0 0 -21 5 2 Cr-52 0 0 -22 5 2 Cr-53 0 0 -23 5 2 Cr-54 0 0 -24 5 2 C-Nat 0 0 -25 5 2 Cu-63 0 0 -26 5 2 Cu-65 0 0 material group in group out nuclide mean std. dev. -81 5 1 1 Fe-54 0 0 -82 5 1 1 Fe-56 0 0 -83 5 1 1 Fe-57 0 0 -84 5 1 1 Fe-58 0 0 -85 5 1 1 Ni-58 0 0 -86 5 1 1 Ni-60 0 0 -87 5 1 1 Ni-61 0 0 -88 5 1 1 Ni-62 0 0 -89 5 1 1 Ni-64 0 0 -90 5 1 1 Mn-55 0 0 -91 5 1 1 Mo-92 0 0 -92 5 1 1 Mo-94 0 0 -93 5 1 1 Mo-95 0 0 -94 5 1 1 Mo-96 0 0 -95 5 1 1 Mo-97 0 0 -96 5 1 1 Mo-98 0 0 -97 5 1 1 Mo-100 0 0 -98 5 1 1 Si-28 0 0 -99 5 1 1 Si-29 0 0 -100 5 1 1 Si-30 0 0 -101 5 1 1 Cr-50 0 0 -102 5 1 1 Cr-52 0 0 -103 5 1 1 Cr-53 0 0 -104 5 1 1 Cr-54 0 0 -105 5 1 1 C-Nat 0 0 -106 5 1 1 Cu-63 0 0 -107 5 1 1 Cu-65 0 0 -54 5 1 2 Fe-54 0 0 -55 5 1 2 Fe-56 0 0 -56 5 1 2 Fe-57 0 0 -57 5 1 2 Fe-58 0 0 -58 5 1 2 Ni-58 0 0 -59 5 1 2 Ni-60 0 0 -60 5 1 2 Ni-61 0 0 -61 5 1 2 Ni-62 0 0 -62 5 1 2 Ni-64 0 0 -63 5 1 2 Mn-55 0 0 -64 5 1 2 Mo-92 0 0 -65 5 1 2 Mo-94 0 0 -66 5 1 2 Mo-95 0 0 -67 5 1 2 Mo-96 0 0 -68 5 1 2 Mo-97 0 0 -69 5 1 2 Mo-98 0 0 -70 5 1 2 Mo-100 0 0 -71 5 1 2 Si-28 0 0 -72 5 1 2 Si-29 0 0 -73 5 1 2 Si-30 0 0 -74 5 1 2 Cr-50 0 0 -75 5 1 2 Cr-52 0 0 -76 5 1 2 Cr-53 0 0 -77 5 1 2 Cr-54 0 0 -78 5 1 2 C-Nat 0 0 -79 5 1 2 Cu-63 0 0 -80 5 1 2 Cu-65 0 0 -27 5 2 1 Fe-54 0 0 -28 5 2 1 Fe-56 0 0 -29 5 2 1 Fe-57 0 0 -30 5 2 1 Fe-58 0 0 -31 5 2 1 Ni-58 0 0 -32 5 2 1 Ni-60 0 0 -33 5 2 1 Ni-61 0 0 -34 5 2 1 Ni-62 0 0 -35 5 2 1 Ni-64 0 0 -36 5 2 1 Mn-55 0 0 -37 5 2 1 Mo-92 0 0 -38 5 2 1 Mo-94 0 0 -39 5 2 1 Mo-95 0 0 -40 5 2 1 Mo-96 0 0 -41 5 2 1 Mo-97 0 0 -42 5 2 1 Mo-98 0 0 -43 5 2 1 Mo-100 0 0 -44 5 2 1 Si-28 0 0 -45 5 2 1 Si-29 0 0 -46 5 2 1 Si-30 0 0 -47 5 2 1 Cr-50 0 0 -48 5 2 1 Cr-52 0 0 -49 5 2 1 Cr-53 0 0 -50 5 2 1 Cr-54 0 0 -51 5 2 1 C-Nat 0 0 -52 5 2 1 Cu-63 0 0 -53 5 2 1 Cu-65 0 0 -0 5 2 2 Fe-54 0 0 -1 5 2 2 Fe-56 0 0 -2 5 2 2 Fe-57 0 0 -3 5 2 2 Fe-58 0 0 -4 5 2 2 Ni-58 0 0 -5 5 2 2 Ni-60 0 0 -6 5 2 2 Ni-61 0 0 -7 5 2 2 Ni-62 0 0 -8 5 2 2 Ni-64 0 0 -9 5 2 2 Mn-55 0 0 -10 5 2 2 Mo-92 0 0 -11 5 2 2 Mo-94 0 0 -12 5 2 2 Mo-95 0 0 -13 5 2 2 Mo-96 0 0 -14 5 2 2 Mo-97 0 0 -15 5 2 2 Mo-98 0 0 -16 5 2 2 Mo-100 0 0 -17 5 2 2 Si-28 0 0 -18 5 2 2 Si-29 0 0 -19 5 2 2 Si-30 0 0 -20 5 2 2 Cr-50 0 0 -21 5 2 2 Cr-52 0 0 -22 5 2 2 Cr-53 0 0 -23 5 2 2 Cr-54 0 0 -24 5 2 2 C-Nat 0 0 -25 5 2 2 Cu-63 0 0 -26 5 2 2 Cu-65 0 0 material group out nuclide mean std. dev. -27 5 1 Fe-54 0 0 -28 5 1 Fe-56 0 0 -29 5 1 Fe-57 0 0 -30 5 1 Fe-58 0 0 -31 5 1 Ni-58 0 0 -32 5 1 Ni-60 0 0 -33 5 1 Ni-61 0 0 -34 5 1 Ni-62 0 0 -35 5 1 Ni-64 0 0 -36 5 1 Mn-55 0 0 -37 5 1 Mo-92 0 0 -38 5 1 Mo-94 0 0 -39 5 1 Mo-95 0 0 -40 5 1 Mo-96 0 0 -41 5 1 Mo-97 0 0 -42 5 1 Mo-98 0 0 -43 5 1 Mo-100 0 0 -44 5 1 Si-28 0 0 -45 5 1 Si-29 0 0 -46 5 1 Si-30 0 0 -47 5 1 Cr-50 0 0 -48 5 1 Cr-52 0 0 -49 5 1 Cr-53 0 0 -50 5 1 Cr-54 0 0 -51 5 1 C-Nat 0 0 -52 5 1 Cu-63 0 0 -53 5 1 Cu-65 0 0 -0 5 2 Fe-54 0 0 -1 5 2 Fe-56 0 0 -2 5 2 Fe-57 0 0 -3 5 2 Fe-58 0 0 -4 5 2 Ni-58 0 0 -5 5 2 Ni-60 0 0 -6 5 2 Ni-61 0 0 -7 5 2 Ni-62 0 0 -8 5 2 Ni-64 0 0 -9 5 2 Mn-55 0 0 -10 5 2 Mo-92 0 0 -11 5 2 Mo-94 0 0 -12 5 2 Mo-95 0 0 -13 5 2 Mo-96 0 0 -14 5 2 Mo-97 0 0 -15 5 2 Mo-98 0 0 -16 5 2 Mo-100 0 0 -17 5 2 Si-28 0 0 -18 5 2 Si-29 0 0 -19 5 2 Si-30 0 0 -20 5 2 Cr-50 0 0 -21 5 2 Cr-52 0 0 -22 5 2 Cr-53 0 0 -23 5 2 Cr-54 0 0 -24 5 2 C-Nat 0 0 -25 5 2 Cu-63 0 0 -26 5 2 Cu-65 0 0 material group in nuclide mean std. dev. -21 6 1 H-1 0 0 -22 6 1 O-16 0 0 -23 6 1 B-10 0 0 -24 6 1 B-11 0 0 -25 6 1 Fe-54 0 0 -26 6 1 Fe-56 0 0 -27 6 1 Fe-57 0 0 -28 6 1 Fe-58 0 0 -29 6 1 Ni-58 0 0 -30 6 1 Ni-60 0 0 -31 6 1 Ni-61 0 0 -32 6 1 Ni-62 0 0 -33 6 1 Ni-64 0 0 -34 6 1 Mn-55 0 0 -35 6 1 Si-28 0 0 -36 6 1 Si-29 0 0 -37 6 1 Si-30 0 0 -38 6 1 Cr-50 0 0 -39 6 1 Cr-52 0 0 -40 6 1 Cr-53 0 0 -41 6 1 Cr-54 0 0 -0 6 2 H-1 0 0 -1 6 2 O-16 0 0 -2 6 2 B-10 0 0 -3 6 2 B-11 0 0 -4 6 2 Fe-54 0 0 -5 6 2 Fe-56 0 0 -6 6 2 Fe-57 0 0 -7 6 2 Fe-58 0 0 -8 6 2 Ni-58 0 0 -9 6 2 Ni-60 0 0 -10 6 2 Ni-61 0 0 -11 6 2 Ni-62 0 0 -12 6 2 Ni-64 0 0 -13 6 2 Mn-55 0 0 -14 6 2 Si-28 0 0 -15 6 2 Si-29 0 0 -16 6 2 Si-30 0 0 -17 6 2 Cr-50 0 0 -18 6 2 Cr-52 0 0 -19 6 2 Cr-53 0 0 -20 6 2 Cr-54 0 0 material group in nuclide mean std. dev. -21 6 1 H-1 0 0 -22 6 1 O-16 0 0 -23 6 1 B-10 0 0 -24 6 1 B-11 0 0 -25 6 1 Fe-54 0 0 -26 6 1 Fe-56 0 0 -27 6 1 Fe-57 0 0 -28 6 1 Fe-58 0 0 -29 6 1 Ni-58 0 0 -30 6 1 Ni-60 0 0 -31 6 1 Ni-61 0 0 -32 6 1 Ni-62 0 0 -33 6 1 Ni-64 0 0 -34 6 1 Mn-55 0 0 -35 6 1 Si-28 0 0 -36 6 1 Si-29 0 0 -37 6 1 Si-30 0 0 -38 6 1 Cr-50 0 0 -39 6 1 Cr-52 0 0 -40 6 1 Cr-53 0 0 -41 6 1 Cr-54 0 0 -0 6 2 H-1 0 0 -1 6 2 O-16 0 0 -2 6 2 B-10 0 0 -3 6 2 B-11 0 0 -4 6 2 Fe-54 0 0 -5 6 2 Fe-56 0 0 -6 6 2 Fe-57 0 0 -7 6 2 Fe-58 0 0 -8 6 2 Ni-58 0 0 -9 6 2 Ni-60 0 0 -10 6 2 Ni-61 0 0 -11 6 2 Ni-62 0 0 -12 6 2 Ni-64 0 0 -13 6 2 Mn-55 0 0 -14 6 2 Si-28 0 0 -15 6 2 Si-29 0 0 -16 6 2 Si-30 0 0 -17 6 2 Cr-50 0 0 -18 6 2 Cr-52 0 0 -19 6 2 Cr-53 0 0 -20 6 2 Cr-54 0 0 material group in group out nuclide mean std. dev. -63 6 1 1 H-1 0 0 -64 6 1 1 O-16 0 0 -65 6 1 1 B-10 0 0 -66 6 1 1 B-11 0 0 -67 6 1 1 Fe-54 0 0 -68 6 1 1 Fe-56 0 0 -69 6 1 1 Fe-57 0 0 -70 6 1 1 Fe-58 0 0 -71 6 1 1 Ni-58 0 0 -72 6 1 1 Ni-60 0 0 -73 6 1 1 Ni-61 0 0 -74 6 1 1 Ni-62 0 0 -75 6 1 1 Ni-64 0 0 -76 6 1 1 Mn-55 0 0 -77 6 1 1 Si-28 0 0 -78 6 1 1 Si-29 0 0 -79 6 1 1 Si-30 0 0 -80 6 1 1 Cr-50 0 0 -81 6 1 1 Cr-52 0 0 -82 6 1 1 Cr-53 0 0 -83 6 1 1 Cr-54 0 0 -42 6 1 2 H-1 0 0 -43 6 1 2 O-16 0 0 -44 6 1 2 B-10 0 0 -45 6 1 2 B-11 0 0 -46 6 1 2 Fe-54 0 0 -47 6 1 2 Fe-56 0 0 -48 6 1 2 Fe-57 0 0 -49 6 1 2 Fe-58 0 0 -50 6 1 2 Ni-58 0 0 -51 6 1 2 Ni-60 0 0 -52 6 1 2 Ni-61 0 0 -53 6 1 2 Ni-62 0 0 -54 6 1 2 Ni-64 0 0 -55 6 1 2 Mn-55 0 0 -56 6 1 2 Si-28 0 0 -57 6 1 2 Si-29 0 0 -58 6 1 2 Si-30 0 0 -59 6 1 2 Cr-50 0 0 -60 6 1 2 Cr-52 0 0 -61 6 1 2 Cr-53 0 0 -62 6 1 2 Cr-54 0 0 -21 6 2 1 H-1 0 0 -22 6 2 1 O-16 0 0 -23 6 2 1 B-10 0 0 -24 6 2 1 B-11 0 0 -25 6 2 1 Fe-54 0 0 -26 6 2 1 Fe-56 0 0 -27 6 2 1 Fe-57 0 0 -28 6 2 1 Fe-58 0 0 -29 6 2 1 Ni-58 0 0 -30 6 2 1 Ni-60 0 0 -31 6 2 1 Ni-61 0 0 -32 6 2 1 Ni-62 0 0 -33 6 2 1 Ni-64 0 0 -34 6 2 1 Mn-55 0 0 -35 6 2 1 Si-28 0 0 -36 6 2 1 Si-29 0 0 -37 6 2 1 Si-30 0 0 -38 6 2 1 Cr-50 0 0 -39 6 2 1 Cr-52 0 0 -40 6 2 1 Cr-53 0 0 -41 6 2 1 Cr-54 0 0 -0 6 2 2 H-1 0 0 -1 6 2 2 O-16 0 0 -2 6 2 2 B-10 0 0 -3 6 2 2 B-11 0 0 -4 6 2 2 Fe-54 0 0 -5 6 2 2 Fe-56 0 0 -6 6 2 2 Fe-57 0 0 -7 6 2 2 Fe-58 0 0 -8 6 2 2 Ni-58 0 0 -9 6 2 2 Ni-60 0 0 -10 6 2 2 Ni-61 0 0 -11 6 2 2 Ni-62 0 0 -12 6 2 2 Ni-64 0 0 -13 6 2 2 Mn-55 0 0 -14 6 2 2 Si-28 0 0 -15 6 2 2 Si-29 0 0 -16 6 2 2 Si-30 0 0 -17 6 2 2 Cr-50 0 0 -18 6 2 2 Cr-52 0 0 -19 6 2 2 Cr-53 0 0 -20 6 2 2 Cr-54 0 0 material group out nuclide mean std. dev. -21 6 1 H-1 0 0 -22 6 1 O-16 0 0 -23 6 1 B-10 0 0 -24 6 1 B-11 0 0 -25 6 1 Fe-54 0 0 -26 6 1 Fe-56 0 0 -27 6 1 Fe-57 0 0 -28 6 1 Fe-58 0 0 -29 6 1 Ni-58 0 0 -30 6 1 Ni-60 0 0 -31 6 1 Ni-61 0 0 -32 6 1 Ni-62 0 0 -33 6 1 Ni-64 0 0 -34 6 1 Mn-55 0 0 -35 6 1 Si-28 0 0 -36 6 1 Si-29 0 0 -37 6 1 Si-30 0 0 -38 6 1 Cr-50 0 0 -39 6 1 Cr-52 0 0 -40 6 1 Cr-53 0 0 -41 6 1 Cr-54 0 0 -0 6 2 H-1 0 0 -1 6 2 O-16 0 0 -2 6 2 B-10 0 0 -3 6 2 B-11 0 0 -4 6 2 Fe-54 0 0 -5 6 2 Fe-56 0 0 -6 6 2 Fe-57 0 0 -7 6 2 Fe-58 0 0 -8 6 2 Ni-58 0 0 -9 6 2 Ni-60 0 0 -10 6 2 Ni-61 0 0 -11 6 2 Ni-62 0 0 -12 6 2 Ni-64 0 0 -13 6 2 Mn-55 0 0 -14 6 2 Si-28 0 0 -15 6 2 Si-29 0 0 -16 6 2 Si-30 0 0 -17 6 2 Cr-50 0 0 -18 6 2 Cr-52 0 0 -19 6 2 Cr-53 0 0 -20 6 2 Cr-54 0 0 material group in nuclide mean std. dev. -21 7 1 H-1 0 0 -22 7 1 O-16 0 0 -23 7 1 B-10 0 0 -24 7 1 B-11 0 0 -25 7 1 Fe-54 0 0 -26 7 1 Fe-56 0 0 -27 7 1 Fe-57 0 0 -28 7 1 Fe-58 0 0 -29 7 1 Ni-58 0 0 -30 7 1 Ni-60 0 0 -31 7 1 Ni-61 0 0 -32 7 1 Ni-62 0 0 -33 7 1 Ni-64 0 0 -34 7 1 Mn-55 0 0 -35 7 1 Si-28 0 0 -36 7 1 Si-29 0 0 -37 7 1 Si-30 0 0 -38 7 1 Cr-50 0 0 -39 7 1 Cr-52 0 0 -40 7 1 Cr-53 0 0 -41 7 1 Cr-54 0 0 -0 7 2 H-1 0 0 -1 7 2 O-16 0 0 -2 7 2 B-10 0 0 -3 7 2 B-11 0 0 -4 7 2 Fe-54 0 0 -5 7 2 Fe-56 0 0 -6 7 2 Fe-57 0 0 -7 7 2 Fe-58 0 0 -8 7 2 Ni-58 0 0 -9 7 2 Ni-60 0 0 -10 7 2 Ni-61 0 0 -11 7 2 Ni-62 0 0 -12 7 2 Ni-64 0 0 -13 7 2 Mn-55 0 0 -14 7 2 Si-28 0 0 -15 7 2 Si-29 0 0 -16 7 2 Si-30 0 0 -17 7 2 Cr-50 0 0 -18 7 2 Cr-52 0 0 -19 7 2 Cr-53 0 0 -20 7 2 Cr-54 0 0 material group in nuclide mean std. dev. -21 7 1 H-1 0 0 -22 7 1 O-16 0 0 -23 7 1 B-10 0 0 -24 7 1 B-11 0 0 -25 7 1 Fe-54 0 0 -26 7 1 Fe-56 0 0 -27 7 1 Fe-57 0 0 -28 7 1 Fe-58 0 0 -29 7 1 Ni-58 0 0 -30 7 1 Ni-60 0 0 -31 7 1 Ni-61 0 0 -32 7 1 Ni-62 0 0 -33 7 1 Ni-64 0 0 -34 7 1 Mn-55 0 0 -35 7 1 Si-28 0 0 -36 7 1 Si-29 0 0 -37 7 1 Si-30 0 0 -38 7 1 Cr-50 0 0 -39 7 1 Cr-52 0 0 -40 7 1 Cr-53 0 0 -41 7 1 Cr-54 0 0 -0 7 2 H-1 0 0 -1 7 2 O-16 0 0 -2 7 2 B-10 0 0 -3 7 2 B-11 0 0 -4 7 2 Fe-54 0 0 -5 7 2 Fe-56 0 0 -6 7 2 Fe-57 0 0 -7 7 2 Fe-58 0 0 -8 7 2 Ni-58 0 0 -9 7 2 Ni-60 0 0 -10 7 2 Ni-61 0 0 -11 7 2 Ni-62 0 0 -12 7 2 Ni-64 0 0 -13 7 2 Mn-55 0 0 -14 7 2 Si-28 0 0 -15 7 2 Si-29 0 0 -16 7 2 Si-30 0 0 -17 7 2 Cr-50 0 0 -18 7 2 Cr-52 0 0 -19 7 2 Cr-53 0 0 -20 7 2 Cr-54 0 0 material group in group out nuclide mean std. dev. -63 7 1 1 H-1 0 0 -64 7 1 1 O-16 0 0 -65 7 1 1 B-10 0 0 -66 7 1 1 B-11 0 0 -67 7 1 1 Fe-54 0 0 -68 7 1 1 Fe-56 0 0 -69 7 1 1 Fe-57 0 0 -70 7 1 1 Fe-58 0 0 -71 7 1 1 Ni-58 0 0 -72 7 1 1 Ni-60 0 0 -73 7 1 1 Ni-61 0 0 -74 7 1 1 Ni-62 0 0 -75 7 1 1 Ni-64 0 0 -76 7 1 1 Mn-55 0 0 -77 7 1 1 Si-28 0 0 -78 7 1 1 Si-29 0 0 -79 7 1 1 Si-30 0 0 -80 7 1 1 Cr-50 0 0 -81 7 1 1 Cr-52 0 0 -82 7 1 1 Cr-53 0 0 -83 7 1 1 Cr-54 0 0 -42 7 1 2 H-1 0 0 -43 7 1 2 O-16 0 0 -44 7 1 2 B-10 0 0 -45 7 1 2 B-11 0 0 -46 7 1 2 Fe-54 0 0 -47 7 1 2 Fe-56 0 0 -48 7 1 2 Fe-57 0 0 -49 7 1 2 Fe-58 0 0 -50 7 1 2 Ni-58 0 0 -51 7 1 2 Ni-60 0 0 -52 7 1 2 Ni-61 0 0 -53 7 1 2 Ni-62 0 0 -54 7 1 2 Ni-64 0 0 -55 7 1 2 Mn-55 0 0 -56 7 1 2 Si-28 0 0 -57 7 1 2 Si-29 0 0 -58 7 1 2 Si-30 0 0 -59 7 1 2 Cr-50 0 0 -60 7 1 2 Cr-52 0 0 -61 7 1 2 Cr-53 0 0 -62 7 1 2 Cr-54 0 0 -21 7 2 1 H-1 0 0 -22 7 2 1 O-16 0 0 -23 7 2 1 B-10 0 0 -24 7 2 1 B-11 0 0 -25 7 2 1 Fe-54 0 0 -26 7 2 1 Fe-56 0 0 -27 7 2 1 Fe-57 0 0 -28 7 2 1 Fe-58 0 0 -29 7 2 1 Ni-58 0 0 -30 7 2 1 Ni-60 0 0 -31 7 2 1 Ni-61 0 0 -32 7 2 1 Ni-62 0 0 -33 7 2 1 Ni-64 0 0 -34 7 2 1 Mn-55 0 0 -35 7 2 1 Si-28 0 0 -36 7 2 1 Si-29 0 0 -37 7 2 1 Si-30 0 0 -38 7 2 1 Cr-50 0 0 -39 7 2 1 Cr-52 0 0 -40 7 2 1 Cr-53 0 0 -41 7 2 1 Cr-54 0 0 -0 7 2 2 H-1 0 0 -1 7 2 2 O-16 0 0 -2 7 2 2 B-10 0 0 -3 7 2 2 B-11 0 0 -4 7 2 2 Fe-54 0 0 -5 7 2 2 Fe-56 0 0 -6 7 2 2 Fe-57 0 0 -7 7 2 2 Fe-58 0 0 -8 7 2 2 Ni-58 0 0 -9 7 2 2 Ni-60 0 0 -10 7 2 2 Ni-61 0 0 -11 7 2 2 Ni-62 0 0 -12 7 2 2 Ni-64 0 0 -13 7 2 2 Mn-55 0 0 -14 7 2 2 Si-28 0 0 -15 7 2 2 Si-29 0 0 -16 7 2 2 Si-30 0 0 -17 7 2 2 Cr-50 0 0 -18 7 2 2 Cr-52 0 0 -19 7 2 2 Cr-53 0 0 -20 7 2 2 Cr-54 0 0 material group out nuclide mean std. dev. -21 7 1 H-1 0 0 -22 7 1 O-16 0 0 -23 7 1 B-10 0 0 -24 7 1 B-11 0 0 -25 7 1 Fe-54 0 0 -26 7 1 Fe-56 0 0 -27 7 1 Fe-57 0 0 -28 7 1 Fe-58 0 0 -29 7 1 Ni-58 0 0 -30 7 1 Ni-60 0 0 -31 7 1 Ni-61 0 0 -32 7 1 Ni-62 0 0 -33 7 1 Ni-64 0 0 -34 7 1 Mn-55 0 0 -35 7 1 Si-28 0 0 -36 7 1 Si-29 0 0 -37 7 1 Si-30 0 0 -38 7 1 Cr-50 0 0 -39 7 1 Cr-52 0 0 -40 7 1 Cr-53 0 0 -41 7 1 Cr-54 0 0 -0 7 2 H-1 0 0 -1 7 2 O-16 0 0 -2 7 2 B-10 0 0 -3 7 2 B-11 0 0 -4 7 2 Fe-54 0 0 -5 7 2 Fe-56 0 0 -6 7 2 Fe-57 0 0 -7 7 2 Fe-58 0 0 -8 7 2 Ni-58 0 0 -9 7 2 Ni-60 0 0 -10 7 2 Ni-61 0 0 -11 7 2 Ni-62 0 0 -12 7 2 Ni-64 0 0 -13 7 2 Mn-55 0 0 -14 7 2 Si-28 0 0 -15 7 2 Si-29 0 0 -16 7 2 Si-30 0 0 -17 7 2 Cr-50 0 0 -18 7 2 Cr-52 0 0 -19 7 2 Cr-53 0 0 -20 7 2 Cr-54 0 0 material group in nuclide mean std. dev. -21 8 1 H-1 0 0 -22 8 1 O-16 0 0 -23 8 1 B-10 0 0 -24 8 1 B-11 0 0 -25 8 1 Fe-54 0 0 -26 8 1 Fe-56 0 0 -27 8 1 Fe-57 0 0 -28 8 1 Fe-58 0 0 -29 8 1 Ni-58 0 0 -30 8 1 Ni-60 0 0 -31 8 1 Ni-61 0 0 -32 8 1 Ni-62 0 0 -33 8 1 Ni-64 0 0 -34 8 1 Mn-55 0 0 -35 8 1 Si-28 0 0 -36 8 1 Si-29 0 0 -37 8 1 Si-30 0 0 -38 8 1 Cr-50 0 0 -39 8 1 Cr-52 0 0 -40 8 1 Cr-53 0 0 -41 8 1 Cr-54 0 0 -0 8 2 H-1 0 0 -1 8 2 O-16 0 0 -2 8 2 B-10 0 0 -3 8 2 B-11 0 0 -4 8 2 Fe-54 0 0 -5 8 2 Fe-56 0 0 -6 8 2 Fe-57 0 0 -7 8 2 Fe-58 0 0 -8 8 2 Ni-58 0 0 -9 8 2 Ni-60 0 0 -10 8 2 Ni-61 0 0 -11 8 2 Ni-62 0 0 -12 8 2 Ni-64 0 0 -13 8 2 Mn-55 0 0 -14 8 2 Si-28 0 0 -15 8 2 Si-29 0 0 -16 8 2 Si-30 0 0 -17 8 2 Cr-50 0 0 -18 8 2 Cr-52 0 0 -19 8 2 Cr-53 0 0 -20 8 2 Cr-54 0 0 material group in nuclide mean std. dev. -21 8 1 H-1 0 0 -22 8 1 O-16 0 0 -23 8 1 B-10 0 0 -24 8 1 B-11 0 0 -25 8 1 Fe-54 0 0 -26 8 1 Fe-56 0 0 -27 8 1 Fe-57 0 0 -28 8 1 Fe-58 0 0 -29 8 1 Ni-58 0 0 -30 8 1 Ni-60 0 0 -31 8 1 Ni-61 0 0 -32 8 1 Ni-62 0 0 -33 8 1 Ni-64 0 0 -34 8 1 Mn-55 0 0 -35 8 1 Si-28 0 0 -36 8 1 Si-29 0 0 -37 8 1 Si-30 0 0 -38 8 1 Cr-50 0 0 -39 8 1 Cr-52 0 0 -40 8 1 Cr-53 0 0 -41 8 1 Cr-54 0 0 -0 8 2 H-1 0 0 -1 8 2 O-16 0 0 -2 8 2 B-10 0 0 -3 8 2 B-11 0 0 -4 8 2 Fe-54 0 0 -5 8 2 Fe-56 0 0 -6 8 2 Fe-57 0 0 -7 8 2 Fe-58 0 0 -8 8 2 Ni-58 0 0 -9 8 2 Ni-60 0 0 -10 8 2 Ni-61 0 0 -11 8 2 Ni-62 0 0 -12 8 2 Ni-64 0 0 -13 8 2 Mn-55 0 0 -14 8 2 Si-28 0 0 -15 8 2 Si-29 0 0 -16 8 2 Si-30 0 0 -17 8 2 Cr-50 0 0 -18 8 2 Cr-52 0 0 -19 8 2 Cr-53 0 0 -20 8 2 Cr-54 0 0 material group in group out nuclide mean std. dev. -63 8 1 1 H-1 0 0 -64 8 1 1 O-16 0 0 -65 8 1 1 B-10 0 0 -66 8 1 1 B-11 0 0 -67 8 1 1 Fe-54 0 0 -68 8 1 1 Fe-56 0 0 -69 8 1 1 Fe-57 0 0 -70 8 1 1 Fe-58 0 0 -71 8 1 1 Ni-58 0 0 -72 8 1 1 Ni-60 0 0 -73 8 1 1 Ni-61 0 0 -74 8 1 1 Ni-62 0 0 -75 8 1 1 Ni-64 0 0 -76 8 1 1 Mn-55 0 0 -77 8 1 1 Si-28 0 0 -78 8 1 1 Si-29 0 0 -79 8 1 1 Si-30 0 0 -80 8 1 1 Cr-50 0 0 -81 8 1 1 Cr-52 0 0 -82 8 1 1 Cr-53 0 0 -83 8 1 1 Cr-54 0 0 -42 8 1 2 H-1 0 0 -43 8 1 2 O-16 0 0 -44 8 1 2 B-10 0 0 -45 8 1 2 B-11 0 0 -46 8 1 2 Fe-54 0 0 -47 8 1 2 Fe-56 0 0 -48 8 1 2 Fe-57 0 0 -49 8 1 2 Fe-58 0 0 -50 8 1 2 Ni-58 0 0 -51 8 1 2 Ni-60 0 0 -52 8 1 2 Ni-61 0 0 -53 8 1 2 Ni-62 0 0 -54 8 1 2 Ni-64 0 0 -55 8 1 2 Mn-55 0 0 -56 8 1 2 Si-28 0 0 -57 8 1 2 Si-29 0 0 -58 8 1 2 Si-30 0 0 -59 8 1 2 Cr-50 0 0 -60 8 1 2 Cr-52 0 0 -61 8 1 2 Cr-53 0 0 -62 8 1 2 Cr-54 0 0 -21 8 2 1 H-1 0 0 -22 8 2 1 O-16 0 0 -23 8 2 1 B-10 0 0 -24 8 2 1 B-11 0 0 -25 8 2 1 Fe-54 0 0 -26 8 2 1 Fe-56 0 0 -27 8 2 1 Fe-57 0 0 -28 8 2 1 Fe-58 0 0 -29 8 2 1 Ni-58 0 0 -30 8 2 1 Ni-60 0 0 -31 8 2 1 Ni-61 0 0 -32 8 2 1 Ni-62 0 0 -33 8 2 1 Ni-64 0 0 -34 8 2 1 Mn-55 0 0 -35 8 2 1 Si-28 0 0 -36 8 2 1 Si-29 0 0 -37 8 2 1 Si-30 0 0 -38 8 2 1 Cr-50 0 0 -39 8 2 1 Cr-52 0 0 -40 8 2 1 Cr-53 0 0 -41 8 2 1 Cr-54 0 0 -0 8 2 2 H-1 0 0 -1 8 2 2 O-16 0 0 -2 8 2 2 B-10 0 0 -3 8 2 2 B-11 0 0 -4 8 2 2 Fe-54 0 0 -5 8 2 2 Fe-56 0 0 -6 8 2 2 Fe-57 0 0 -7 8 2 2 Fe-58 0 0 -8 8 2 2 Ni-58 0 0 -9 8 2 2 Ni-60 0 0 -10 8 2 2 Ni-61 0 0 -11 8 2 2 Ni-62 0 0 -12 8 2 2 Ni-64 0 0 -13 8 2 2 Mn-55 0 0 -14 8 2 2 Si-28 0 0 -15 8 2 2 Si-29 0 0 -16 8 2 2 Si-30 0 0 -17 8 2 2 Cr-50 0 0 -18 8 2 2 Cr-52 0 0 -19 8 2 2 Cr-53 0 0 -20 8 2 2 Cr-54 0 0 material group out nuclide mean std. dev. -21 8 1 H-1 0 0 -22 8 1 O-16 0 0 -23 8 1 B-10 0 0 -24 8 1 B-11 0 0 -25 8 1 Fe-54 0 0 -26 8 1 Fe-56 0 0 -27 8 1 Fe-57 0 0 -28 8 1 Fe-58 0 0 -29 8 1 Ni-58 0 0 -30 8 1 Ni-60 0 0 -31 8 1 Ni-61 0 0 -32 8 1 Ni-62 0 0 -33 8 1 Ni-64 0 0 -34 8 1 Mn-55 0 0 -35 8 1 Si-28 0 0 -36 8 1 Si-29 0 0 -37 8 1 Si-30 0 0 -38 8 1 Cr-50 0 0 -39 8 1 Cr-52 0 0 -40 8 1 Cr-53 0 0 -41 8 1 Cr-54 0 0 -0 8 2 H-1 0 0 -1 8 2 O-16 0 0 -2 8 2 B-10 0 0 -3 8 2 B-11 0 0 -4 8 2 Fe-54 0 0 -5 8 2 Fe-56 0 0 -6 8 2 Fe-57 0 0 -7 8 2 Fe-58 0 0 -8 8 2 Ni-58 0 0 -9 8 2 Ni-60 0 0 -10 8 2 Ni-61 0 0 -11 8 2 Ni-62 0 0 -12 8 2 Ni-64 0 0 -13 8 2 Mn-55 0 0 -14 8 2 Si-28 0 0 -15 8 2 Si-29 0 0 -16 8 2 Si-30 0 0 -17 8 2 Cr-50 0 0 -18 8 2 Cr-52 0 0 -19 8 2 Cr-53 0 0 -20 8 2 Cr-54 0 0 material group in nuclide mean std. dev. -21 9 1 H-1 0.106160 0.179178 -22 9 1 O-16 0.272020 0.171699 +4 4 1 H-1 0.0 0.0 +5 4 1 O-16 0.0 0.0 +6 4 1 B-10 0.0 0.0 +7 4 1 B-11 0.0 0.0 +0 4 2 H-1 0.0 0.0 +1 4 2 O-16 0.0 0.0 +2 4 2 B-10 0.0 0.0 +3 4 2 B-11 0.0 0.0 material group in nuclide mean std. dev. +27 5 1 Fe-54 0.0 0.0 +28 5 1 Fe-56 0.0 0.0 +29 5 1 Fe-57 0.0 0.0 +30 5 1 Fe-58 0.0 0.0 +31 5 1 Ni-58 0.0 0.0 +32 5 1 Ni-60 0.0 0.0 +33 5 1 Ni-61 0.0 0.0 +34 5 1 Ni-62 0.0 0.0 +35 5 1 Ni-64 0.0 0.0 +36 5 1 Mn-55 0.0 0.0 +37 5 1 Mo-92 0.0 0.0 +38 5 1 Mo-94 0.0 0.0 +39 5 1 Mo-95 0.0 0.0 +40 5 1 Mo-96 0.0 0.0 +41 5 1 Mo-97 0.0 0.0 +42 5 1 Mo-98 0.0 0.0 +43 5 1 Mo-100 0.0 0.0 +44 5 1 Si-28 0.0 0.0 +45 5 1 Si-29 0.0 0.0 +46 5 1 Si-30 0.0 0.0 +47 5 1 Cr-50 0.0 0.0 +48 5 1 Cr-52 0.0 0.0 +49 5 1 Cr-53 0.0 0.0 +50 5 1 Cr-54 0.0 0.0 +51 5 1 C-Nat 0.0 0.0 +52 5 1 Cu-63 0.0 0.0 +53 5 1 Cu-65 0.0 0.0 +0 5 2 Fe-54 0.0 0.0 +1 5 2 Fe-56 0.0 0.0 +2 5 2 Fe-57 0.0 0.0 +3 5 2 Fe-58 0.0 0.0 +4 5 2 Ni-58 0.0 0.0 +5 5 2 Ni-60 0.0 0.0 +6 5 2 Ni-61 0.0 0.0 +7 5 2 Ni-62 0.0 0.0 +8 5 2 Ni-64 0.0 0.0 +9 5 2 Mn-55 0.0 0.0 +10 5 2 Mo-92 0.0 0.0 +11 5 2 Mo-94 0.0 0.0 +12 5 2 Mo-95 0.0 0.0 +13 5 2 Mo-96 0.0 0.0 +14 5 2 Mo-97 0.0 0.0 +15 5 2 Mo-98 0.0 0.0 +16 5 2 Mo-100 0.0 0.0 +17 5 2 Si-28 0.0 0.0 +18 5 2 Si-29 0.0 0.0 +19 5 2 Si-30 0.0 0.0 +20 5 2 Cr-50 0.0 0.0 +21 5 2 Cr-52 0.0 0.0 +22 5 2 Cr-53 0.0 0.0 +23 5 2 Cr-54 0.0 0.0 +24 5 2 C-Nat 0.0 0.0 +25 5 2 Cu-63 0.0 0.0 +26 5 2 Cu-65 0.0 0.0 material group in nuclide mean std. dev. +27 5 1 Fe-54 0.0 0.0 +28 5 1 Fe-56 0.0 0.0 +29 5 1 Fe-57 0.0 0.0 +30 5 1 Fe-58 0.0 0.0 +31 5 1 Ni-58 0.0 0.0 +32 5 1 Ni-60 0.0 0.0 +33 5 1 Ni-61 0.0 0.0 +34 5 1 Ni-62 0.0 0.0 +35 5 1 Ni-64 0.0 0.0 +36 5 1 Mn-55 0.0 0.0 +37 5 1 Mo-92 0.0 0.0 +38 5 1 Mo-94 0.0 0.0 +39 5 1 Mo-95 0.0 0.0 +40 5 1 Mo-96 0.0 0.0 +41 5 1 Mo-97 0.0 0.0 +42 5 1 Mo-98 0.0 0.0 +43 5 1 Mo-100 0.0 0.0 +44 5 1 Si-28 0.0 0.0 +45 5 1 Si-29 0.0 0.0 +46 5 1 Si-30 0.0 0.0 +47 5 1 Cr-50 0.0 0.0 +48 5 1 Cr-52 0.0 0.0 +49 5 1 Cr-53 0.0 0.0 +50 5 1 Cr-54 0.0 0.0 +51 5 1 C-Nat 0.0 0.0 +52 5 1 Cu-63 0.0 0.0 +53 5 1 Cu-65 0.0 0.0 +0 5 2 Fe-54 0.0 0.0 +1 5 2 Fe-56 0.0 0.0 +2 5 2 Fe-57 0.0 0.0 +3 5 2 Fe-58 0.0 0.0 +4 5 2 Ni-58 0.0 0.0 +5 5 2 Ni-60 0.0 0.0 +6 5 2 Ni-61 0.0 0.0 +7 5 2 Ni-62 0.0 0.0 +8 5 2 Ni-64 0.0 0.0 +9 5 2 Mn-55 0.0 0.0 +10 5 2 Mo-92 0.0 0.0 +11 5 2 Mo-94 0.0 0.0 +12 5 2 Mo-95 0.0 0.0 +13 5 2 Mo-96 0.0 0.0 +14 5 2 Mo-97 0.0 0.0 +15 5 2 Mo-98 0.0 0.0 +16 5 2 Mo-100 0.0 0.0 +17 5 2 Si-28 0.0 0.0 +18 5 2 Si-29 0.0 0.0 +19 5 2 Si-30 0.0 0.0 +20 5 2 Cr-50 0.0 0.0 +21 5 2 Cr-52 0.0 0.0 +22 5 2 Cr-53 0.0 0.0 +23 5 2 Cr-54 0.0 0.0 +24 5 2 C-Nat 0.0 0.0 +25 5 2 Cu-63 0.0 0.0 +26 5 2 Cu-65 0.0 0.0 material group in group out nuclide mean std. dev. +81 5 1 1 Fe-54 0.0 0.0 +82 5 1 1 Fe-56 0.0 0.0 +83 5 1 1 Fe-57 0.0 0.0 +84 5 1 1 Fe-58 0.0 0.0 +85 5 1 1 Ni-58 0.0 0.0 +86 5 1 1 Ni-60 0.0 0.0 +87 5 1 1 Ni-61 0.0 0.0 +88 5 1 1 Ni-62 0.0 0.0 +89 5 1 1 Ni-64 0.0 0.0 +90 5 1 1 Mn-55 0.0 0.0 +91 5 1 1 Mo-92 0.0 0.0 +92 5 1 1 Mo-94 0.0 0.0 +93 5 1 1 Mo-95 0.0 0.0 +94 5 1 1 Mo-96 0.0 0.0 +95 5 1 1 Mo-97 0.0 0.0 +96 5 1 1 Mo-98 0.0 0.0 +97 5 1 1 Mo-100 0.0 0.0 +98 5 1 1 Si-28 0.0 0.0 +99 5 1 1 Si-29 0.0 0.0 +100 5 1 1 Si-30 0.0 0.0 +101 5 1 1 Cr-50 0.0 0.0 +102 5 1 1 Cr-52 0.0 0.0 +103 5 1 1 Cr-53 0.0 0.0 +104 5 1 1 Cr-54 0.0 0.0 +105 5 1 1 C-Nat 0.0 0.0 +106 5 1 1 Cu-63 0.0 0.0 +107 5 1 1 Cu-65 0.0 0.0 +54 5 1 2 Fe-54 0.0 0.0 +55 5 1 2 Fe-56 0.0 0.0 +56 5 1 2 Fe-57 0.0 0.0 +57 5 1 2 Fe-58 0.0 0.0 +58 5 1 2 Ni-58 0.0 0.0 +59 5 1 2 Ni-60 0.0 0.0 +60 5 1 2 Ni-61 0.0 0.0 +61 5 1 2 Ni-62 0.0 0.0 +62 5 1 2 Ni-64 0.0 0.0 +63 5 1 2 Mn-55 0.0 0.0 +64 5 1 2 Mo-92 0.0 0.0 +65 5 1 2 Mo-94 0.0 0.0 +66 5 1 2 Mo-95 0.0 0.0 +67 5 1 2 Mo-96 0.0 0.0 +68 5 1 2 Mo-97 0.0 0.0 +69 5 1 2 Mo-98 0.0 0.0 +70 5 1 2 Mo-100 0.0 0.0 +71 5 1 2 Si-28 0.0 0.0 +72 5 1 2 Si-29 0.0 0.0 +73 5 1 2 Si-30 0.0 0.0 +74 5 1 2 Cr-50 0.0 0.0 +75 5 1 2 Cr-52 0.0 0.0 +76 5 1 2 Cr-53 0.0 0.0 +77 5 1 2 Cr-54 0.0 0.0 +78 5 1 2 C-Nat 0.0 0.0 +79 5 1 2 Cu-63 0.0 0.0 +80 5 1 2 Cu-65 0.0 0.0 +27 5 2 1 Fe-54 0.0 0.0 +28 5 2 1 Fe-56 0.0 0.0 +29 5 2 1 Fe-57 0.0 0.0 +30 5 2 1 Fe-58 0.0 0.0 +31 5 2 1 Ni-58 0.0 0.0 +32 5 2 1 Ni-60 0.0 0.0 +33 5 2 1 Ni-61 0.0 0.0 +34 5 2 1 Ni-62 0.0 0.0 +35 5 2 1 Ni-64 0.0 0.0 +36 5 2 1 Mn-55 0.0 0.0 +37 5 2 1 Mo-92 0.0 0.0 +38 5 2 1 Mo-94 0.0 0.0 +39 5 2 1 Mo-95 0.0 0.0 +40 5 2 1 Mo-96 0.0 0.0 +41 5 2 1 Mo-97 0.0 0.0 +42 5 2 1 Mo-98 0.0 0.0 +43 5 2 1 Mo-100 0.0 0.0 +44 5 2 1 Si-28 0.0 0.0 +45 5 2 1 Si-29 0.0 0.0 +46 5 2 1 Si-30 0.0 0.0 +47 5 2 1 Cr-50 0.0 0.0 +48 5 2 1 Cr-52 0.0 0.0 +49 5 2 1 Cr-53 0.0 0.0 +50 5 2 1 Cr-54 0.0 0.0 +51 5 2 1 C-Nat 0.0 0.0 +52 5 2 1 Cu-63 0.0 0.0 +53 5 2 1 Cu-65 0.0 0.0 +0 5 2 2 Fe-54 0.0 0.0 +1 5 2 2 Fe-56 0.0 0.0 +2 5 2 2 Fe-57 0.0 0.0 +3 5 2 2 Fe-58 0.0 0.0 +4 5 2 2 Ni-58 0.0 0.0 +5 5 2 2 Ni-60 0.0 0.0 +6 5 2 2 Ni-61 0.0 0.0 +7 5 2 2 Ni-62 0.0 0.0 +8 5 2 2 Ni-64 0.0 0.0 +9 5 2 2 Mn-55 0.0 0.0 +10 5 2 2 Mo-92 0.0 0.0 +11 5 2 2 Mo-94 0.0 0.0 +12 5 2 2 Mo-95 0.0 0.0 +13 5 2 2 Mo-96 0.0 0.0 +14 5 2 2 Mo-97 0.0 0.0 +15 5 2 2 Mo-98 0.0 0.0 +16 5 2 2 Mo-100 0.0 0.0 +17 5 2 2 Si-28 0.0 0.0 +18 5 2 2 Si-29 0.0 0.0 +19 5 2 2 Si-30 0.0 0.0 +20 5 2 2 Cr-50 0.0 0.0 +21 5 2 2 Cr-52 0.0 0.0 +22 5 2 2 Cr-53 0.0 0.0 +23 5 2 2 Cr-54 0.0 0.0 +24 5 2 2 C-Nat 0.0 0.0 +25 5 2 2 Cu-63 0.0 0.0 +26 5 2 2 Cu-65 0.0 0.0 material group out nuclide mean std. dev. +27 5 1 Fe-54 0.0 0.0 +28 5 1 Fe-56 0.0 0.0 +29 5 1 Fe-57 0.0 0.0 +30 5 1 Fe-58 0.0 0.0 +31 5 1 Ni-58 0.0 0.0 +32 5 1 Ni-60 0.0 0.0 +33 5 1 Ni-61 0.0 0.0 +34 5 1 Ni-62 0.0 0.0 +35 5 1 Ni-64 0.0 0.0 +36 5 1 Mn-55 0.0 0.0 +37 5 1 Mo-92 0.0 0.0 +38 5 1 Mo-94 0.0 0.0 +39 5 1 Mo-95 0.0 0.0 +40 5 1 Mo-96 0.0 0.0 +41 5 1 Mo-97 0.0 0.0 +42 5 1 Mo-98 0.0 0.0 +43 5 1 Mo-100 0.0 0.0 +44 5 1 Si-28 0.0 0.0 +45 5 1 Si-29 0.0 0.0 +46 5 1 Si-30 0.0 0.0 +47 5 1 Cr-50 0.0 0.0 +48 5 1 Cr-52 0.0 0.0 +49 5 1 Cr-53 0.0 0.0 +50 5 1 Cr-54 0.0 0.0 +51 5 1 C-Nat 0.0 0.0 +52 5 1 Cu-63 0.0 0.0 +53 5 1 Cu-65 0.0 0.0 +0 5 2 Fe-54 0.0 0.0 +1 5 2 Fe-56 0.0 0.0 +2 5 2 Fe-57 0.0 0.0 +3 5 2 Fe-58 0.0 0.0 +4 5 2 Ni-58 0.0 0.0 +5 5 2 Ni-60 0.0 0.0 +6 5 2 Ni-61 0.0 0.0 +7 5 2 Ni-62 0.0 0.0 +8 5 2 Ni-64 0.0 0.0 +9 5 2 Mn-55 0.0 0.0 +10 5 2 Mo-92 0.0 0.0 +11 5 2 Mo-94 0.0 0.0 +12 5 2 Mo-95 0.0 0.0 +13 5 2 Mo-96 0.0 0.0 +14 5 2 Mo-97 0.0 0.0 +15 5 2 Mo-98 0.0 0.0 +16 5 2 Mo-100 0.0 0.0 +17 5 2 Si-28 0.0 0.0 +18 5 2 Si-29 0.0 0.0 +19 5 2 Si-30 0.0 0.0 +20 5 2 Cr-50 0.0 0.0 +21 5 2 Cr-52 0.0 0.0 +22 5 2 Cr-53 0.0 0.0 +23 5 2 Cr-54 0.0 0.0 +24 5 2 C-Nat 0.0 0.0 +25 5 2 Cu-63 0.0 0.0 +26 5 2 Cu-65 0.0 0.0 material group in nuclide mean std. dev. +21 6 1 H-1 0.0 0.0 +22 6 1 O-16 0.0 0.0 +23 6 1 B-10 0.0 0.0 +24 6 1 B-11 0.0 0.0 +25 6 1 Fe-54 0.0 0.0 +26 6 1 Fe-56 0.0 0.0 +27 6 1 Fe-57 0.0 0.0 +28 6 1 Fe-58 0.0 0.0 +29 6 1 Ni-58 0.0 0.0 +30 6 1 Ni-60 0.0 0.0 +31 6 1 Ni-61 0.0 0.0 +32 6 1 Ni-62 0.0 0.0 +33 6 1 Ni-64 0.0 0.0 +34 6 1 Mn-55 0.0 0.0 +35 6 1 Si-28 0.0 0.0 +36 6 1 Si-29 0.0 0.0 +37 6 1 Si-30 0.0 0.0 +38 6 1 Cr-50 0.0 0.0 +39 6 1 Cr-52 0.0 0.0 +40 6 1 Cr-53 0.0 0.0 +41 6 1 Cr-54 0.0 0.0 +0 6 2 H-1 0.0 0.0 +1 6 2 O-16 0.0 0.0 +2 6 2 B-10 0.0 0.0 +3 6 2 B-11 0.0 0.0 +4 6 2 Fe-54 0.0 0.0 +5 6 2 Fe-56 0.0 0.0 +6 6 2 Fe-57 0.0 0.0 +7 6 2 Fe-58 0.0 0.0 +8 6 2 Ni-58 0.0 0.0 +9 6 2 Ni-60 0.0 0.0 +10 6 2 Ni-61 0.0 0.0 +11 6 2 Ni-62 0.0 0.0 +12 6 2 Ni-64 0.0 0.0 +13 6 2 Mn-55 0.0 0.0 +14 6 2 Si-28 0.0 0.0 +15 6 2 Si-29 0.0 0.0 +16 6 2 Si-30 0.0 0.0 +17 6 2 Cr-50 0.0 0.0 +18 6 2 Cr-52 0.0 0.0 +19 6 2 Cr-53 0.0 0.0 +20 6 2 Cr-54 0.0 0.0 material group in nuclide mean std. dev. +21 6 1 H-1 0.0 0.0 +22 6 1 O-16 0.0 0.0 +23 6 1 B-10 0.0 0.0 +24 6 1 B-11 0.0 0.0 +25 6 1 Fe-54 0.0 0.0 +26 6 1 Fe-56 0.0 0.0 +27 6 1 Fe-57 0.0 0.0 +28 6 1 Fe-58 0.0 0.0 +29 6 1 Ni-58 0.0 0.0 +30 6 1 Ni-60 0.0 0.0 +31 6 1 Ni-61 0.0 0.0 +32 6 1 Ni-62 0.0 0.0 +33 6 1 Ni-64 0.0 0.0 +34 6 1 Mn-55 0.0 0.0 +35 6 1 Si-28 0.0 0.0 +36 6 1 Si-29 0.0 0.0 +37 6 1 Si-30 0.0 0.0 +38 6 1 Cr-50 0.0 0.0 +39 6 1 Cr-52 0.0 0.0 +40 6 1 Cr-53 0.0 0.0 +41 6 1 Cr-54 0.0 0.0 +0 6 2 H-1 0.0 0.0 +1 6 2 O-16 0.0 0.0 +2 6 2 B-10 0.0 0.0 +3 6 2 B-11 0.0 0.0 +4 6 2 Fe-54 0.0 0.0 +5 6 2 Fe-56 0.0 0.0 +6 6 2 Fe-57 0.0 0.0 +7 6 2 Fe-58 0.0 0.0 +8 6 2 Ni-58 0.0 0.0 +9 6 2 Ni-60 0.0 0.0 +10 6 2 Ni-61 0.0 0.0 +11 6 2 Ni-62 0.0 0.0 +12 6 2 Ni-64 0.0 0.0 +13 6 2 Mn-55 0.0 0.0 +14 6 2 Si-28 0.0 0.0 +15 6 2 Si-29 0.0 0.0 +16 6 2 Si-30 0.0 0.0 +17 6 2 Cr-50 0.0 0.0 +18 6 2 Cr-52 0.0 0.0 +19 6 2 Cr-53 0.0 0.0 +20 6 2 Cr-54 0.0 0.0 material group in group out nuclide mean std. dev. +63 6 1 1 H-1 0.0 0.0 +64 6 1 1 O-16 0.0 0.0 +65 6 1 1 B-10 0.0 0.0 +66 6 1 1 B-11 0.0 0.0 +67 6 1 1 Fe-54 0.0 0.0 +68 6 1 1 Fe-56 0.0 0.0 +69 6 1 1 Fe-57 0.0 0.0 +70 6 1 1 Fe-58 0.0 0.0 +71 6 1 1 Ni-58 0.0 0.0 +72 6 1 1 Ni-60 0.0 0.0 +73 6 1 1 Ni-61 0.0 0.0 +74 6 1 1 Ni-62 0.0 0.0 +75 6 1 1 Ni-64 0.0 0.0 +76 6 1 1 Mn-55 0.0 0.0 +77 6 1 1 Si-28 0.0 0.0 +78 6 1 1 Si-29 0.0 0.0 +79 6 1 1 Si-30 0.0 0.0 +80 6 1 1 Cr-50 0.0 0.0 +81 6 1 1 Cr-52 0.0 0.0 +82 6 1 1 Cr-53 0.0 0.0 +83 6 1 1 Cr-54 0.0 0.0 +42 6 1 2 H-1 0.0 0.0 +43 6 1 2 O-16 0.0 0.0 +44 6 1 2 B-10 0.0 0.0 +45 6 1 2 B-11 0.0 0.0 +46 6 1 2 Fe-54 0.0 0.0 +47 6 1 2 Fe-56 0.0 0.0 +48 6 1 2 Fe-57 0.0 0.0 +49 6 1 2 Fe-58 0.0 0.0 +50 6 1 2 Ni-58 0.0 0.0 +51 6 1 2 Ni-60 0.0 0.0 +52 6 1 2 Ni-61 0.0 0.0 +53 6 1 2 Ni-62 0.0 0.0 +54 6 1 2 Ni-64 0.0 0.0 +55 6 1 2 Mn-55 0.0 0.0 +56 6 1 2 Si-28 0.0 0.0 +57 6 1 2 Si-29 0.0 0.0 +58 6 1 2 Si-30 0.0 0.0 +59 6 1 2 Cr-50 0.0 0.0 +60 6 1 2 Cr-52 0.0 0.0 +61 6 1 2 Cr-53 0.0 0.0 +62 6 1 2 Cr-54 0.0 0.0 +21 6 2 1 H-1 0.0 0.0 +22 6 2 1 O-16 0.0 0.0 +23 6 2 1 B-10 0.0 0.0 +24 6 2 1 B-11 0.0 0.0 +25 6 2 1 Fe-54 0.0 0.0 +26 6 2 1 Fe-56 0.0 0.0 +27 6 2 1 Fe-57 0.0 0.0 +28 6 2 1 Fe-58 0.0 0.0 +29 6 2 1 Ni-58 0.0 0.0 +30 6 2 1 Ni-60 0.0 0.0 +31 6 2 1 Ni-61 0.0 0.0 +32 6 2 1 Ni-62 0.0 0.0 +33 6 2 1 Ni-64 0.0 0.0 +34 6 2 1 Mn-55 0.0 0.0 +35 6 2 1 Si-28 0.0 0.0 +36 6 2 1 Si-29 0.0 0.0 +37 6 2 1 Si-30 0.0 0.0 +38 6 2 1 Cr-50 0.0 0.0 +39 6 2 1 Cr-52 0.0 0.0 +40 6 2 1 Cr-53 0.0 0.0 +41 6 2 1 Cr-54 0.0 0.0 +0 6 2 2 H-1 0.0 0.0 +1 6 2 2 O-16 0.0 0.0 +2 6 2 2 B-10 0.0 0.0 +3 6 2 2 B-11 0.0 0.0 +4 6 2 2 Fe-54 0.0 0.0 +5 6 2 2 Fe-56 0.0 0.0 +6 6 2 2 Fe-57 0.0 0.0 +7 6 2 2 Fe-58 0.0 0.0 +8 6 2 2 Ni-58 0.0 0.0 +9 6 2 2 Ni-60 0.0 0.0 +10 6 2 2 Ni-61 0.0 0.0 +11 6 2 2 Ni-62 0.0 0.0 +12 6 2 2 Ni-64 0.0 0.0 +13 6 2 2 Mn-55 0.0 0.0 +14 6 2 2 Si-28 0.0 0.0 +15 6 2 2 Si-29 0.0 0.0 +16 6 2 2 Si-30 0.0 0.0 +17 6 2 2 Cr-50 0.0 0.0 +18 6 2 2 Cr-52 0.0 0.0 +19 6 2 2 Cr-53 0.0 0.0 +20 6 2 2 Cr-54 0.0 0.0 material group out nuclide mean std. dev. +21 6 1 H-1 0.0 0.0 +22 6 1 O-16 0.0 0.0 +23 6 1 B-10 0.0 0.0 +24 6 1 B-11 0.0 0.0 +25 6 1 Fe-54 0.0 0.0 +26 6 1 Fe-56 0.0 0.0 +27 6 1 Fe-57 0.0 0.0 +28 6 1 Fe-58 0.0 0.0 +29 6 1 Ni-58 0.0 0.0 +30 6 1 Ni-60 0.0 0.0 +31 6 1 Ni-61 0.0 0.0 +32 6 1 Ni-62 0.0 0.0 +33 6 1 Ni-64 0.0 0.0 +34 6 1 Mn-55 0.0 0.0 +35 6 1 Si-28 0.0 0.0 +36 6 1 Si-29 0.0 0.0 +37 6 1 Si-30 0.0 0.0 +38 6 1 Cr-50 0.0 0.0 +39 6 1 Cr-52 0.0 0.0 +40 6 1 Cr-53 0.0 0.0 +41 6 1 Cr-54 0.0 0.0 +0 6 2 H-1 0.0 0.0 +1 6 2 O-16 0.0 0.0 +2 6 2 B-10 0.0 0.0 +3 6 2 B-11 0.0 0.0 +4 6 2 Fe-54 0.0 0.0 +5 6 2 Fe-56 0.0 0.0 +6 6 2 Fe-57 0.0 0.0 +7 6 2 Fe-58 0.0 0.0 +8 6 2 Ni-58 0.0 0.0 +9 6 2 Ni-60 0.0 0.0 +10 6 2 Ni-61 0.0 0.0 +11 6 2 Ni-62 0.0 0.0 +12 6 2 Ni-64 0.0 0.0 +13 6 2 Mn-55 0.0 0.0 +14 6 2 Si-28 0.0 0.0 +15 6 2 Si-29 0.0 0.0 +16 6 2 Si-30 0.0 0.0 +17 6 2 Cr-50 0.0 0.0 +18 6 2 Cr-52 0.0 0.0 +19 6 2 Cr-53 0.0 0.0 +20 6 2 Cr-54 0.0 0.0 material group in nuclide mean std. dev. +21 7 1 H-1 0.0 0.0 +22 7 1 O-16 0.0 0.0 +23 7 1 B-10 0.0 0.0 +24 7 1 B-11 0.0 0.0 +25 7 1 Fe-54 0.0 0.0 +26 7 1 Fe-56 0.0 0.0 +27 7 1 Fe-57 0.0 0.0 +28 7 1 Fe-58 0.0 0.0 +29 7 1 Ni-58 0.0 0.0 +30 7 1 Ni-60 0.0 0.0 +31 7 1 Ni-61 0.0 0.0 +32 7 1 Ni-62 0.0 0.0 +33 7 1 Ni-64 0.0 0.0 +34 7 1 Mn-55 0.0 0.0 +35 7 1 Si-28 0.0 0.0 +36 7 1 Si-29 0.0 0.0 +37 7 1 Si-30 0.0 0.0 +38 7 1 Cr-50 0.0 0.0 +39 7 1 Cr-52 0.0 0.0 +40 7 1 Cr-53 0.0 0.0 +41 7 1 Cr-54 0.0 0.0 +0 7 2 H-1 0.0 0.0 +1 7 2 O-16 0.0 0.0 +2 7 2 B-10 0.0 0.0 +3 7 2 B-11 0.0 0.0 +4 7 2 Fe-54 0.0 0.0 +5 7 2 Fe-56 0.0 0.0 +6 7 2 Fe-57 0.0 0.0 +7 7 2 Fe-58 0.0 0.0 +8 7 2 Ni-58 0.0 0.0 +9 7 2 Ni-60 0.0 0.0 +10 7 2 Ni-61 0.0 0.0 +11 7 2 Ni-62 0.0 0.0 +12 7 2 Ni-64 0.0 0.0 +13 7 2 Mn-55 0.0 0.0 +14 7 2 Si-28 0.0 0.0 +15 7 2 Si-29 0.0 0.0 +16 7 2 Si-30 0.0 0.0 +17 7 2 Cr-50 0.0 0.0 +18 7 2 Cr-52 0.0 0.0 +19 7 2 Cr-53 0.0 0.0 +20 7 2 Cr-54 0.0 0.0 material group in nuclide mean std. dev. +21 7 1 H-1 0.0 0.0 +22 7 1 O-16 0.0 0.0 +23 7 1 B-10 0.0 0.0 +24 7 1 B-11 0.0 0.0 +25 7 1 Fe-54 0.0 0.0 +26 7 1 Fe-56 0.0 0.0 +27 7 1 Fe-57 0.0 0.0 +28 7 1 Fe-58 0.0 0.0 +29 7 1 Ni-58 0.0 0.0 +30 7 1 Ni-60 0.0 0.0 +31 7 1 Ni-61 0.0 0.0 +32 7 1 Ni-62 0.0 0.0 +33 7 1 Ni-64 0.0 0.0 +34 7 1 Mn-55 0.0 0.0 +35 7 1 Si-28 0.0 0.0 +36 7 1 Si-29 0.0 0.0 +37 7 1 Si-30 0.0 0.0 +38 7 1 Cr-50 0.0 0.0 +39 7 1 Cr-52 0.0 0.0 +40 7 1 Cr-53 0.0 0.0 +41 7 1 Cr-54 0.0 0.0 +0 7 2 H-1 0.0 0.0 +1 7 2 O-16 0.0 0.0 +2 7 2 B-10 0.0 0.0 +3 7 2 B-11 0.0 0.0 +4 7 2 Fe-54 0.0 0.0 +5 7 2 Fe-56 0.0 0.0 +6 7 2 Fe-57 0.0 0.0 +7 7 2 Fe-58 0.0 0.0 +8 7 2 Ni-58 0.0 0.0 +9 7 2 Ni-60 0.0 0.0 +10 7 2 Ni-61 0.0 0.0 +11 7 2 Ni-62 0.0 0.0 +12 7 2 Ni-64 0.0 0.0 +13 7 2 Mn-55 0.0 0.0 +14 7 2 Si-28 0.0 0.0 +15 7 2 Si-29 0.0 0.0 +16 7 2 Si-30 0.0 0.0 +17 7 2 Cr-50 0.0 0.0 +18 7 2 Cr-52 0.0 0.0 +19 7 2 Cr-53 0.0 0.0 +20 7 2 Cr-54 0.0 0.0 material group in group out nuclide mean std. dev. +63 7 1 1 H-1 0.0 0.0 +64 7 1 1 O-16 0.0 0.0 +65 7 1 1 B-10 0.0 0.0 +66 7 1 1 B-11 0.0 0.0 +67 7 1 1 Fe-54 0.0 0.0 +68 7 1 1 Fe-56 0.0 0.0 +69 7 1 1 Fe-57 0.0 0.0 +70 7 1 1 Fe-58 0.0 0.0 +71 7 1 1 Ni-58 0.0 0.0 +72 7 1 1 Ni-60 0.0 0.0 +73 7 1 1 Ni-61 0.0 0.0 +74 7 1 1 Ni-62 0.0 0.0 +75 7 1 1 Ni-64 0.0 0.0 +76 7 1 1 Mn-55 0.0 0.0 +77 7 1 1 Si-28 0.0 0.0 +78 7 1 1 Si-29 0.0 0.0 +79 7 1 1 Si-30 0.0 0.0 +80 7 1 1 Cr-50 0.0 0.0 +81 7 1 1 Cr-52 0.0 0.0 +82 7 1 1 Cr-53 0.0 0.0 +83 7 1 1 Cr-54 0.0 0.0 +42 7 1 2 H-1 0.0 0.0 +43 7 1 2 O-16 0.0 0.0 +44 7 1 2 B-10 0.0 0.0 +45 7 1 2 B-11 0.0 0.0 +46 7 1 2 Fe-54 0.0 0.0 +47 7 1 2 Fe-56 0.0 0.0 +48 7 1 2 Fe-57 0.0 0.0 +49 7 1 2 Fe-58 0.0 0.0 +50 7 1 2 Ni-58 0.0 0.0 +51 7 1 2 Ni-60 0.0 0.0 +52 7 1 2 Ni-61 0.0 0.0 +53 7 1 2 Ni-62 0.0 0.0 +54 7 1 2 Ni-64 0.0 0.0 +55 7 1 2 Mn-55 0.0 0.0 +56 7 1 2 Si-28 0.0 0.0 +57 7 1 2 Si-29 0.0 0.0 +58 7 1 2 Si-30 0.0 0.0 +59 7 1 2 Cr-50 0.0 0.0 +60 7 1 2 Cr-52 0.0 0.0 +61 7 1 2 Cr-53 0.0 0.0 +62 7 1 2 Cr-54 0.0 0.0 +21 7 2 1 H-1 0.0 0.0 +22 7 2 1 O-16 0.0 0.0 +23 7 2 1 B-10 0.0 0.0 +24 7 2 1 B-11 0.0 0.0 +25 7 2 1 Fe-54 0.0 0.0 +26 7 2 1 Fe-56 0.0 0.0 +27 7 2 1 Fe-57 0.0 0.0 +28 7 2 1 Fe-58 0.0 0.0 +29 7 2 1 Ni-58 0.0 0.0 +30 7 2 1 Ni-60 0.0 0.0 +31 7 2 1 Ni-61 0.0 0.0 +32 7 2 1 Ni-62 0.0 0.0 +33 7 2 1 Ni-64 0.0 0.0 +34 7 2 1 Mn-55 0.0 0.0 +35 7 2 1 Si-28 0.0 0.0 +36 7 2 1 Si-29 0.0 0.0 +37 7 2 1 Si-30 0.0 0.0 +38 7 2 1 Cr-50 0.0 0.0 +39 7 2 1 Cr-52 0.0 0.0 +40 7 2 1 Cr-53 0.0 0.0 +41 7 2 1 Cr-54 0.0 0.0 +0 7 2 2 H-1 0.0 0.0 +1 7 2 2 O-16 0.0 0.0 +2 7 2 2 B-10 0.0 0.0 +3 7 2 2 B-11 0.0 0.0 +4 7 2 2 Fe-54 0.0 0.0 +5 7 2 2 Fe-56 0.0 0.0 +6 7 2 2 Fe-57 0.0 0.0 +7 7 2 2 Fe-58 0.0 0.0 +8 7 2 2 Ni-58 0.0 0.0 +9 7 2 2 Ni-60 0.0 0.0 +10 7 2 2 Ni-61 0.0 0.0 +11 7 2 2 Ni-62 0.0 0.0 +12 7 2 2 Ni-64 0.0 0.0 +13 7 2 2 Mn-55 0.0 0.0 +14 7 2 2 Si-28 0.0 0.0 +15 7 2 2 Si-29 0.0 0.0 +16 7 2 2 Si-30 0.0 0.0 +17 7 2 2 Cr-50 0.0 0.0 +18 7 2 2 Cr-52 0.0 0.0 +19 7 2 2 Cr-53 0.0 0.0 +20 7 2 2 Cr-54 0.0 0.0 material group out nuclide mean std. dev. +21 7 1 H-1 0.0 0.0 +22 7 1 O-16 0.0 0.0 +23 7 1 B-10 0.0 0.0 +24 7 1 B-11 0.0 0.0 +25 7 1 Fe-54 0.0 0.0 +26 7 1 Fe-56 0.0 0.0 +27 7 1 Fe-57 0.0 0.0 +28 7 1 Fe-58 0.0 0.0 +29 7 1 Ni-58 0.0 0.0 +30 7 1 Ni-60 0.0 0.0 +31 7 1 Ni-61 0.0 0.0 +32 7 1 Ni-62 0.0 0.0 +33 7 1 Ni-64 0.0 0.0 +34 7 1 Mn-55 0.0 0.0 +35 7 1 Si-28 0.0 0.0 +36 7 1 Si-29 0.0 0.0 +37 7 1 Si-30 0.0 0.0 +38 7 1 Cr-50 0.0 0.0 +39 7 1 Cr-52 0.0 0.0 +40 7 1 Cr-53 0.0 0.0 +41 7 1 Cr-54 0.0 0.0 +0 7 2 H-1 0.0 0.0 +1 7 2 O-16 0.0 0.0 +2 7 2 B-10 0.0 0.0 +3 7 2 B-11 0.0 0.0 +4 7 2 Fe-54 0.0 0.0 +5 7 2 Fe-56 0.0 0.0 +6 7 2 Fe-57 0.0 0.0 +7 7 2 Fe-58 0.0 0.0 +8 7 2 Ni-58 0.0 0.0 +9 7 2 Ni-60 0.0 0.0 +10 7 2 Ni-61 0.0 0.0 +11 7 2 Ni-62 0.0 0.0 +12 7 2 Ni-64 0.0 0.0 +13 7 2 Mn-55 0.0 0.0 +14 7 2 Si-28 0.0 0.0 +15 7 2 Si-29 0.0 0.0 +16 7 2 Si-30 0.0 0.0 +17 7 2 Cr-50 0.0 0.0 +18 7 2 Cr-52 0.0 0.0 +19 7 2 Cr-53 0.0 0.0 +20 7 2 Cr-54 0.0 0.0 material group in nuclide mean std. dev. +21 8 1 H-1 0.0 0.0 +22 8 1 O-16 0.0 0.0 +23 8 1 B-10 0.0 0.0 +24 8 1 B-11 0.0 0.0 +25 8 1 Fe-54 0.0 0.0 +26 8 1 Fe-56 0.0 0.0 +27 8 1 Fe-57 0.0 0.0 +28 8 1 Fe-58 0.0 0.0 +29 8 1 Ni-58 0.0 0.0 +30 8 1 Ni-60 0.0 0.0 +31 8 1 Ni-61 0.0 0.0 +32 8 1 Ni-62 0.0 0.0 +33 8 1 Ni-64 0.0 0.0 +34 8 1 Mn-55 0.0 0.0 +35 8 1 Si-28 0.0 0.0 +36 8 1 Si-29 0.0 0.0 +37 8 1 Si-30 0.0 0.0 +38 8 1 Cr-50 0.0 0.0 +39 8 1 Cr-52 0.0 0.0 +40 8 1 Cr-53 0.0 0.0 +41 8 1 Cr-54 0.0 0.0 +0 8 2 H-1 0.0 0.0 +1 8 2 O-16 0.0 0.0 +2 8 2 B-10 0.0 0.0 +3 8 2 B-11 0.0 0.0 +4 8 2 Fe-54 0.0 0.0 +5 8 2 Fe-56 0.0 0.0 +6 8 2 Fe-57 0.0 0.0 +7 8 2 Fe-58 0.0 0.0 +8 8 2 Ni-58 0.0 0.0 +9 8 2 Ni-60 0.0 0.0 +10 8 2 Ni-61 0.0 0.0 +11 8 2 Ni-62 0.0 0.0 +12 8 2 Ni-64 0.0 0.0 +13 8 2 Mn-55 0.0 0.0 +14 8 2 Si-28 0.0 0.0 +15 8 2 Si-29 0.0 0.0 +16 8 2 Si-30 0.0 0.0 +17 8 2 Cr-50 0.0 0.0 +18 8 2 Cr-52 0.0 0.0 +19 8 2 Cr-53 0.0 0.0 +20 8 2 Cr-54 0.0 0.0 material group in nuclide mean std. dev. +21 8 1 H-1 0.0 0.0 +22 8 1 O-16 0.0 0.0 +23 8 1 B-10 0.0 0.0 +24 8 1 B-11 0.0 0.0 +25 8 1 Fe-54 0.0 0.0 +26 8 1 Fe-56 0.0 0.0 +27 8 1 Fe-57 0.0 0.0 +28 8 1 Fe-58 0.0 0.0 +29 8 1 Ni-58 0.0 0.0 +30 8 1 Ni-60 0.0 0.0 +31 8 1 Ni-61 0.0 0.0 +32 8 1 Ni-62 0.0 0.0 +33 8 1 Ni-64 0.0 0.0 +34 8 1 Mn-55 0.0 0.0 +35 8 1 Si-28 0.0 0.0 +36 8 1 Si-29 0.0 0.0 +37 8 1 Si-30 0.0 0.0 +38 8 1 Cr-50 0.0 0.0 +39 8 1 Cr-52 0.0 0.0 +40 8 1 Cr-53 0.0 0.0 +41 8 1 Cr-54 0.0 0.0 +0 8 2 H-1 0.0 0.0 +1 8 2 O-16 0.0 0.0 +2 8 2 B-10 0.0 0.0 +3 8 2 B-11 0.0 0.0 +4 8 2 Fe-54 0.0 0.0 +5 8 2 Fe-56 0.0 0.0 +6 8 2 Fe-57 0.0 0.0 +7 8 2 Fe-58 0.0 0.0 +8 8 2 Ni-58 0.0 0.0 +9 8 2 Ni-60 0.0 0.0 +10 8 2 Ni-61 0.0 0.0 +11 8 2 Ni-62 0.0 0.0 +12 8 2 Ni-64 0.0 0.0 +13 8 2 Mn-55 0.0 0.0 +14 8 2 Si-28 0.0 0.0 +15 8 2 Si-29 0.0 0.0 +16 8 2 Si-30 0.0 0.0 +17 8 2 Cr-50 0.0 0.0 +18 8 2 Cr-52 0.0 0.0 +19 8 2 Cr-53 0.0 0.0 +20 8 2 Cr-54 0.0 0.0 material group in group out nuclide mean std. dev. +63 8 1 1 H-1 0.0 0.0 +64 8 1 1 O-16 0.0 0.0 +65 8 1 1 B-10 0.0 0.0 +66 8 1 1 B-11 0.0 0.0 +67 8 1 1 Fe-54 0.0 0.0 +68 8 1 1 Fe-56 0.0 0.0 +69 8 1 1 Fe-57 0.0 0.0 +70 8 1 1 Fe-58 0.0 0.0 +71 8 1 1 Ni-58 0.0 0.0 +72 8 1 1 Ni-60 0.0 0.0 +73 8 1 1 Ni-61 0.0 0.0 +74 8 1 1 Ni-62 0.0 0.0 +75 8 1 1 Ni-64 0.0 0.0 +76 8 1 1 Mn-55 0.0 0.0 +77 8 1 1 Si-28 0.0 0.0 +78 8 1 1 Si-29 0.0 0.0 +79 8 1 1 Si-30 0.0 0.0 +80 8 1 1 Cr-50 0.0 0.0 +81 8 1 1 Cr-52 0.0 0.0 +82 8 1 1 Cr-53 0.0 0.0 +83 8 1 1 Cr-54 0.0 0.0 +42 8 1 2 H-1 0.0 0.0 +43 8 1 2 O-16 0.0 0.0 +44 8 1 2 B-10 0.0 0.0 +45 8 1 2 B-11 0.0 0.0 +46 8 1 2 Fe-54 0.0 0.0 +47 8 1 2 Fe-56 0.0 0.0 +48 8 1 2 Fe-57 0.0 0.0 +49 8 1 2 Fe-58 0.0 0.0 +50 8 1 2 Ni-58 0.0 0.0 +51 8 1 2 Ni-60 0.0 0.0 +52 8 1 2 Ni-61 0.0 0.0 +53 8 1 2 Ni-62 0.0 0.0 +54 8 1 2 Ni-64 0.0 0.0 +55 8 1 2 Mn-55 0.0 0.0 +56 8 1 2 Si-28 0.0 0.0 +57 8 1 2 Si-29 0.0 0.0 +58 8 1 2 Si-30 0.0 0.0 +59 8 1 2 Cr-50 0.0 0.0 +60 8 1 2 Cr-52 0.0 0.0 +61 8 1 2 Cr-53 0.0 0.0 +62 8 1 2 Cr-54 0.0 0.0 +21 8 2 1 H-1 0.0 0.0 +22 8 2 1 O-16 0.0 0.0 +23 8 2 1 B-10 0.0 0.0 +24 8 2 1 B-11 0.0 0.0 +25 8 2 1 Fe-54 0.0 0.0 +26 8 2 1 Fe-56 0.0 0.0 +27 8 2 1 Fe-57 0.0 0.0 +28 8 2 1 Fe-58 0.0 0.0 +29 8 2 1 Ni-58 0.0 0.0 +30 8 2 1 Ni-60 0.0 0.0 +31 8 2 1 Ni-61 0.0 0.0 +32 8 2 1 Ni-62 0.0 0.0 +33 8 2 1 Ni-64 0.0 0.0 +34 8 2 1 Mn-55 0.0 0.0 +35 8 2 1 Si-28 0.0 0.0 +36 8 2 1 Si-29 0.0 0.0 +37 8 2 1 Si-30 0.0 0.0 +38 8 2 1 Cr-50 0.0 0.0 +39 8 2 1 Cr-52 0.0 0.0 +40 8 2 1 Cr-53 0.0 0.0 +41 8 2 1 Cr-54 0.0 0.0 +0 8 2 2 H-1 0.0 0.0 +1 8 2 2 O-16 0.0 0.0 +2 8 2 2 B-10 0.0 0.0 +3 8 2 2 B-11 0.0 0.0 +4 8 2 2 Fe-54 0.0 0.0 +5 8 2 2 Fe-56 0.0 0.0 +6 8 2 2 Fe-57 0.0 0.0 +7 8 2 2 Fe-58 0.0 0.0 +8 8 2 2 Ni-58 0.0 0.0 +9 8 2 2 Ni-60 0.0 0.0 +10 8 2 2 Ni-61 0.0 0.0 +11 8 2 2 Ni-62 0.0 0.0 +12 8 2 2 Ni-64 0.0 0.0 +13 8 2 2 Mn-55 0.0 0.0 +14 8 2 2 Si-28 0.0 0.0 +15 8 2 2 Si-29 0.0 0.0 +16 8 2 2 Si-30 0.0 0.0 +17 8 2 2 Cr-50 0.0 0.0 +18 8 2 2 Cr-52 0.0 0.0 +19 8 2 2 Cr-53 0.0 0.0 +20 8 2 2 Cr-54 0.0 0.0 material group out nuclide mean std. dev. +21 8 1 H-1 0.0 0.0 +22 8 1 O-16 0.0 0.0 +23 8 1 B-10 0.0 0.0 +24 8 1 B-11 0.0 0.0 +25 8 1 Fe-54 0.0 0.0 +26 8 1 Fe-56 0.0 0.0 +27 8 1 Fe-57 0.0 0.0 +28 8 1 Fe-58 0.0 0.0 +29 8 1 Ni-58 0.0 0.0 +30 8 1 Ni-60 0.0 0.0 +31 8 1 Ni-61 0.0 0.0 +32 8 1 Ni-62 0.0 0.0 +33 8 1 Ni-64 0.0 0.0 +34 8 1 Mn-55 0.0 0.0 +35 8 1 Si-28 0.0 0.0 +36 8 1 Si-29 0.0 0.0 +37 8 1 Si-30 0.0 0.0 +38 8 1 Cr-50 0.0 0.0 +39 8 1 Cr-52 0.0 0.0 +40 8 1 Cr-53 0.0 0.0 +41 8 1 Cr-54 0.0 0.0 +0 8 2 H-1 0.0 0.0 +1 8 2 O-16 0.0 0.0 +2 8 2 B-10 0.0 0.0 +3 8 2 B-11 0.0 0.0 +4 8 2 Fe-54 0.0 0.0 +5 8 2 Fe-56 0.0 0.0 +6 8 2 Fe-57 0.0 0.0 +7 8 2 Fe-58 0.0 0.0 +8 8 2 Ni-58 0.0 0.0 +9 8 2 Ni-60 0.0 0.0 +10 8 2 Ni-61 0.0 0.0 +11 8 2 Ni-62 0.0 0.0 +12 8 2 Ni-64 0.0 0.0 +13 8 2 Mn-55 0.0 0.0 +14 8 2 Si-28 0.0 0.0 +15 8 2 Si-29 0.0 0.0 +16 8 2 Si-30 0.0 0.0 +17 8 2 Cr-50 0.0 0.0 +18 8 2 Cr-52 0.0 0.0 +19 8 2 Cr-53 0.0 0.0 +20 8 2 Cr-54 0.0 0.0 material group in nuclide mean std. dev. +21 9 1 H-1 0.150655 0.480993 +22 9 1 O-16 0.116221 0.114089 23 9 1 B-10 0.000000 0.000000 24 9 1 B-11 0.000000 0.000000 25 9 1 Fe-54 0.000000 0.000000 -26 9 1 Fe-56 0.000000 0.000000 +26 9 1 Fe-56 0.186217 0.199795 27 9 1 Fe-57 0.000000 0.000000 28 9 1 Fe-58 0.000000 0.000000 29 9 1 Ni-58 0.000000 0.000000 @@ -1382,17 +1382,17 @@ 31 9 1 Ni-61 0.000000 0.000000 32 9 1 Ni-62 0.000000 0.000000 33 9 1 Ni-64 0.000000 0.000000 -34 9 1 Mn-55 0.085133 0.082479 +34 9 1 Mn-55 0.000000 0.000000 35 9 1 Si-28 0.000000 0.000000 36 9 1 Si-29 0.000000 0.000000 37 9 1 Si-30 0.000000 0.000000 38 9 1 Cr-50 0.000000 0.000000 39 9 1 Cr-52 0.000000 0.000000 -40 9 1 Cr-53 0.040723 0.079827 +40 9 1 Cr-53 0.147443 0.139574 41 9 1 Cr-54 0.000000 0.000000 -0 9 2 H-1 1.417955 2.158027 +0 9 2 H-1 0.000000 0.000000 1 9 2 O-16 0.000000 0.000000 -2 9 2 B-10 0.269141 0.380622 +2 9 2 B-10 0.000000 0.000000 3 9 2 B-11 0.000000 0.000000 4 9 2 Fe-54 0.000000 0.000000 5 9 2 Fe-56 0.000000 0.000000 @@ -1411,54 +1411,54 @@ 18 9 2 Cr-52 0.000000 0.000000 19 9 2 Cr-53 0.000000 0.000000 20 9 2 Cr-54 0.000000 0.000000 material group in nuclide mean std. dev. -21 9 1 H-1 0 0 -22 9 1 O-16 0 0 -23 9 1 B-10 0 0 -24 9 1 B-11 0 0 -25 9 1 Fe-54 0 0 -26 9 1 Fe-56 0 0 -27 9 1 Fe-57 0 0 -28 9 1 Fe-58 0 0 -29 9 1 Ni-58 0 0 -30 9 1 Ni-60 0 0 -31 9 1 Ni-61 0 0 -32 9 1 Ni-62 0 0 -33 9 1 Ni-64 0 0 -34 9 1 Mn-55 0 0 -35 9 1 Si-28 0 0 -36 9 1 Si-29 0 0 -37 9 1 Si-30 0 0 -38 9 1 Cr-50 0 0 -39 9 1 Cr-52 0 0 -40 9 1 Cr-53 0 0 -41 9 1 Cr-54 0 0 -0 9 2 H-1 0 0 -1 9 2 O-16 0 0 -2 9 2 B-10 0 0 -3 9 2 B-11 0 0 -4 9 2 Fe-54 0 0 -5 9 2 Fe-56 0 0 -6 9 2 Fe-57 0 0 -7 9 2 Fe-58 0 0 -8 9 2 Ni-58 0 0 -9 9 2 Ni-60 0 0 -10 9 2 Ni-61 0 0 -11 9 2 Ni-62 0 0 -12 9 2 Ni-64 0 0 -13 9 2 Mn-55 0 0 -14 9 2 Si-28 0 0 -15 9 2 Si-29 0 0 -16 9 2 Si-30 0 0 -17 9 2 Cr-50 0 0 -18 9 2 Cr-52 0 0 -19 9 2 Cr-53 0 0 -20 9 2 Cr-54 0 0 material group in group out nuclide mean std. dev. -63 9 1 1 H-1 0.106160 0.179178 -64 9 1 1 O-16 0.272020 0.171699 +21 9 1 H-1 0.0 0.0 +22 9 1 O-16 0.0 0.0 +23 9 1 B-10 0.0 0.0 +24 9 1 B-11 0.0 0.0 +25 9 1 Fe-54 0.0 0.0 +26 9 1 Fe-56 0.0 0.0 +27 9 1 Fe-57 0.0 0.0 +28 9 1 Fe-58 0.0 0.0 +29 9 1 Ni-58 0.0 0.0 +30 9 1 Ni-60 0.0 0.0 +31 9 1 Ni-61 0.0 0.0 +32 9 1 Ni-62 0.0 0.0 +33 9 1 Ni-64 0.0 0.0 +34 9 1 Mn-55 0.0 0.0 +35 9 1 Si-28 0.0 0.0 +36 9 1 Si-29 0.0 0.0 +37 9 1 Si-30 0.0 0.0 +38 9 1 Cr-50 0.0 0.0 +39 9 1 Cr-52 0.0 0.0 +40 9 1 Cr-53 0.0 0.0 +41 9 1 Cr-54 0.0 0.0 +0 9 2 H-1 0.0 0.0 +1 9 2 O-16 0.0 0.0 +2 9 2 B-10 0.0 0.0 +3 9 2 B-11 0.0 0.0 +4 9 2 Fe-54 0.0 0.0 +5 9 2 Fe-56 0.0 0.0 +6 9 2 Fe-57 0.0 0.0 +7 9 2 Fe-58 0.0 0.0 +8 9 2 Ni-58 0.0 0.0 +9 9 2 Ni-60 0.0 0.0 +10 9 2 Ni-61 0.0 0.0 +11 9 2 Ni-62 0.0 0.0 +12 9 2 Ni-64 0.0 0.0 +13 9 2 Mn-55 0.0 0.0 +14 9 2 Si-28 0.0 0.0 +15 9 2 Si-29 0.0 0.0 +16 9 2 Si-30 0.0 0.0 +17 9 2 Cr-50 0.0 0.0 +18 9 2 Cr-52 0.0 0.0 +19 9 2 Cr-53 0.0 0.0 +20 9 2 Cr-54 0.0 0.0 material group in group out nuclide mean std. dev. +63 9 1 1 H-1 0.150655 0.480993 +64 9 1 1 O-16 0.116221 0.114089 65 9 1 1 B-10 0.000000 0.000000 66 9 1 1 B-11 0.000000 0.000000 67 9 1 1 Fe-54 0.000000 0.000000 -68 9 1 1 Fe-56 0.000000 0.000000 +68 9 1 1 Fe-56 0.186217 0.199795 69 9 1 1 Fe-57 0.000000 0.000000 70 9 1 1 Fe-58 0.000000 0.000000 71 9 1 1 Ni-58 0.000000 0.000000 @@ -1466,13 +1466,13 @@ 73 9 1 1 Ni-61 0.000000 0.000000 74 9 1 1 Ni-62 0.000000 0.000000 75 9 1 1 Ni-64 0.000000 0.000000 -76 9 1 1 Mn-55 0.085133 0.082479 +76 9 1 1 Mn-55 0.000000 0.000000 77 9 1 1 Si-28 0.000000 0.000000 78 9 1 1 Si-29 0.000000 0.000000 79 9 1 1 Si-30 0.000000 0.000000 80 9 1 1 Cr-50 0.000000 0.000000 81 9 1 1 Cr-52 0.000000 0.000000 -82 9 1 1 Cr-53 0.040723 0.079827 +82 9 1 1 Cr-53 0.147443 0.139574 83 9 1 1 Cr-54 0.000000 0.000000 42 9 1 2 H-1 0.000000 0.000000 43 9 1 2 O-16 0.000000 0.000000 @@ -1516,7 +1516,7 @@ 39 9 2 1 Cr-52 0.000000 0.000000 40 9 2 1 Cr-53 0.000000 0.000000 41 9 2 1 Cr-54 0.000000 0.000000 -0 9 2 2 H-1 1.417955 2.158027 +0 9 2 2 H-1 0.000000 0.000000 1 9 2 2 O-16 0.000000 0.000000 2 9 2 2 B-10 0.000000 0.000000 3 9 2 2 B-11 0.000000 0.000000 @@ -1537,304 +1537,304 @@ 18 9 2 2 Cr-52 0.000000 0.000000 19 9 2 2 Cr-53 0.000000 0.000000 20 9 2 2 Cr-54 0.000000 0.000000 material group out nuclide mean std. dev. -21 9 1 H-1 0 0 -22 9 1 O-16 0 0 -23 9 1 B-10 0 0 -24 9 1 B-11 0 0 -25 9 1 Fe-54 0 0 -26 9 1 Fe-56 0 0 -27 9 1 Fe-57 0 0 -28 9 1 Fe-58 0 0 -29 9 1 Ni-58 0 0 -30 9 1 Ni-60 0 0 -31 9 1 Ni-61 0 0 -32 9 1 Ni-62 0 0 -33 9 1 Ni-64 0 0 -34 9 1 Mn-55 0 0 -35 9 1 Si-28 0 0 -36 9 1 Si-29 0 0 -37 9 1 Si-30 0 0 -38 9 1 Cr-50 0 0 -39 9 1 Cr-52 0 0 -40 9 1 Cr-53 0 0 -41 9 1 Cr-54 0 0 -0 9 2 H-1 0 0 -1 9 2 O-16 0 0 -2 9 2 B-10 0 0 -3 9 2 B-11 0 0 -4 9 2 Fe-54 0 0 -5 9 2 Fe-56 0 0 -6 9 2 Fe-57 0 0 -7 9 2 Fe-58 0 0 -8 9 2 Ni-58 0 0 -9 9 2 Ni-60 0 0 -10 9 2 Ni-61 0 0 -11 9 2 Ni-62 0 0 -12 9 2 Ni-64 0 0 -13 9 2 Mn-55 0 0 -14 9 2 Si-28 0 0 -15 9 2 Si-29 0 0 -16 9 2 Si-30 0 0 -17 9 2 Cr-50 0 0 -18 9 2 Cr-52 0 0 -19 9 2 Cr-53 0 0 -20 9 2 Cr-54 0 0 material group in nuclide mean std. dev. -21 10 1 H-1 0 0 -22 10 1 O-16 0 0 -23 10 1 B-10 0 0 -24 10 1 B-11 0 0 -25 10 1 Fe-54 0 0 -26 10 1 Fe-56 0 0 -27 10 1 Fe-57 0 0 -28 10 1 Fe-58 0 0 -29 10 1 Ni-58 0 0 -30 10 1 Ni-60 0 0 -31 10 1 Ni-61 0 0 -32 10 1 Ni-62 0 0 -33 10 1 Ni-64 0 0 -34 10 1 Mn-55 0 0 -35 10 1 Si-28 0 0 -36 10 1 Si-29 0 0 -37 10 1 Si-30 0 0 -38 10 1 Cr-50 0 0 -39 10 1 Cr-52 0 0 -40 10 1 Cr-53 0 0 -41 10 1 Cr-54 0 0 -0 10 2 H-1 0 0 -1 10 2 O-16 0 0 -2 10 2 B-10 0 0 -3 10 2 B-11 0 0 -4 10 2 Fe-54 0 0 -5 10 2 Fe-56 0 0 -6 10 2 Fe-57 0 0 -7 10 2 Fe-58 0 0 -8 10 2 Ni-58 0 0 -9 10 2 Ni-60 0 0 -10 10 2 Ni-61 0 0 -11 10 2 Ni-62 0 0 -12 10 2 Ni-64 0 0 -13 10 2 Mn-55 0 0 -14 10 2 Si-28 0 0 -15 10 2 Si-29 0 0 -16 10 2 Si-30 0 0 -17 10 2 Cr-50 0 0 -18 10 2 Cr-52 0 0 -19 10 2 Cr-53 0 0 -20 10 2 Cr-54 0 0 material group in nuclide mean std. dev. -21 10 1 H-1 0 0 -22 10 1 O-16 0 0 -23 10 1 B-10 0 0 -24 10 1 B-11 0 0 -25 10 1 Fe-54 0 0 -26 10 1 Fe-56 0 0 -27 10 1 Fe-57 0 0 -28 10 1 Fe-58 0 0 -29 10 1 Ni-58 0 0 -30 10 1 Ni-60 0 0 -31 10 1 Ni-61 0 0 -32 10 1 Ni-62 0 0 -33 10 1 Ni-64 0 0 -34 10 1 Mn-55 0 0 -35 10 1 Si-28 0 0 -36 10 1 Si-29 0 0 -37 10 1 Si-30 0 0 -38 10 1 Cr-50 0 0 -39 10 1 Cr-52 0 0 -40 10 1 Cr-53 0 0 -41 10 1 Cr-54 0 0 -0 10 2 H-1 0 0 -1 10 2 O-16 0 0 -2 10 2 B-10 0 0 -3 10 2 B-11 0 0 -4 10 2 Fe-54 0 0 -5 10 2 Fe-56 0 0 -6 10 2 Fe-57 0 0 -7 10 2 Fe-58 0 0 -8 10 2 Ni-58 0 0 -9 10 2 Ni-60 0 0 -10 10 2 Ni-61 0 0 -11 10 2 Ni-62 0 0 -12 10 2 Ni-64 0 0 -13 10 2 Mn-55 0 0 -14 10 2 Si-28 0 0 -15 10 2 Si-29 0 0 -16 10 2 Si-30 0 0 -17 10 2 Cr-50 0 0 -18 10 2 Cr-52 0 0 -19 10 2 Cr-53 0 0 -20 10 2 Cr-54 0 0 material group in group out nuclide mean std. dev. -63 10 1 1 H-1 0 0 -64 10 1 1 O-16 0 0 -65 10 1 1 B-10 0 0 -66 10 1 1 B-11 0 0 -67 10 1 1 Fe-54 0 0 -68 10 1 1 Fe-56 0 0 -69 10 1 1 Fe-57 0 0 -70 10 1 1 Fe-58 0 0 -71 10 1 1 Ni-58 0 0 -72 10 1 1 Ni-60 0 0 -73 10 1 1 Ni-61 0 0 -74 10 1 1 Ni-62 0 0 -75 10 1 1 Ni-64 0 0 -76 10 1 1 Mn-55 0 0 -77 10 1 1 Si-28 0 0 -78 10 1 1 Si-29 0 0 -79 10 1 1 Si-30 0 0 -80 10 1 1 Cr-50 0 0 -81 10 1 1 Cr-52 0 0 -82 10 1 1 Cr-53 0 0 -83 10 1 1 Cr-54 0 0 -42 10 1 2 H-1 0 0 -43 10 1 2 O-16 0 0 -44 10 1 2 B-10 0 0 -45 10 1 2 B-11 0 0 -46 10 1 2 Fe-54 0 0 -47 10 1 2 Fe-56 0 0 -48 10 1 2 Fe-57 0 0 -49 10 1 2 Fe-58 0 0 -50 10 1 2 Ni-58 0 0 -51 10 1 2 Ni-60 0 0 -52 10 1 2 Ni-61 0 0 -53 10 1 2 Ni-62 0 0 -54 10 1 2 Ni-64 0 0 -55 10 1 2 Mn-55 0 0 -56 10 1 2 Si-28 0 0 -57 10 1 2 Si-29 0 0 -58 10 1 2 Si-30 0 0 -59 10 1 2 Cr-50 0 0 -60 10 1 2 Cr-52 0 0 -61 10 1 2 Cr-53 0 0 -62 10 1 2 Cr-54 0 0 -21 10 2 1 H-1 0 0 -22 10 2 1 O-16 0 0 -23 10 2 1 B-10 0 0 -24 10 2 1 B-11 0 0 -25 10 2 1 Fe-54 0 0 -26 10 2 1 Fe-56 0 0 -27 10 2 1 Fe-57 0 0 -28 10 2 1 Fe-58 0 0 -29 10 2 1 Ni-58 0 0 -30 10 2 1 Ni-60 0 0 -31 10 2 1 Ni-61 0 0 -32 10 2 1 Ni-62 0 0 -33 10 2 1 Ni-64 0 0 -34 10 2 1 Mn-55 0 0 -35 10 2 1 Si-28 0 0 -36 10 2 1 Si-29 0 0 -37 10 2 1 Si-30 0 0 -38 10 2 1 Cr-50 0 0 -39 10 2 1 Cr-52 0 0 -40 10 2 1 Cr-53 0 0 -41 10 2 1 Cr-54 0 0 -0 10 2 2 H-1 0 0 -1 10 2 2 O-16 0 0 -2 10 2 2 B-10 0 0 -3 10 2 2 B-11 0 0 -4 10 2 2 Fe-54 0 0 -5 10 2 2 Fe-56 0 0 -6 10 2 2 Fe-57 0 0 -7 10 2 2 Fe-58 0 0 -8 10 2 2 Ni-58 0 0 -9 10 2 2 Ni-60 0 0 -10 10 2 2 Ni-61 0 0 -11 10 2 2 Ni-62 0 0 -12 10 2 2 Ni-64 0 0 -13 10 2 2 Mn-55 0 0 -14 10 2 2 Si-28 0 0 -15 10 2 2 Si-29 0 0 -16 10 2 2 Si-30 0 0 -17 10 2 2 Cr-50 0 0 -18 10 2 2 Cr-52 0 0 -19 10 2 2 Cr-53 0 0 -20 10 2 2 Cr-54 0 0 material group out nuclide mean std. dev. -21 10 1 H-1 0 0 -22 10 1 O-16 0 0 -23 10 1 B-10 0 0 -24 10 1 B-11 0 0 -25 10 1 Fe-54 0 0 -26 10 1 Fe-56 0 0 -27 10 1 Fe-57 0 0 -28 10 1 Fe-58 0 0 -29 10 1 Ni-58 0 0 -30 10 1 Ni-60 0 0 -31 10 1 Ni-61 0 0 -32 10 1 Ni-62 0 0 -33 10 1 Ni-64 0 0 -34 10 1 Mn-55 0 0 -35 10 1 Si-28 0 0 -36 10 1 Si-29 0 0 -37 10 1 Si-30 0 0 -38 10 1 Cr-50 0 0 -39 10 1 Cr-52 0 0 -40 10 1 Cr-53 0 0 -41 10 1 Cr-54 0 0 -0 10 2 H-1 0 0 -1 10 2 O-16 0 0 -2 10 2 B-10 0 0 -3 10 2 B-11 0 0 -4 10 2 Fe-54 0 0 -5 10 2 Fe-56 0 0 -6 10 2 Fe-57 0 0 -7 10 2 Fe-58 0 0 -8 10 2 Ni-58 0 0 -9 10 2 Ni-60 0 0 -10 10 2 Ni-61 0 0 -11 10 2 Ni-62 0 0 -12 10 2 Ni-64 0 0 -13 10 2 Mn-55 0 0 -14 10 2 Si-28 0 0 -15 10 2 Si-29 0 0 -16 10 2 Si-30 0 0 -17 10 2 Cr-50 0 0 -18 10 2 Cr-52 0 0 -19 10 2 Cr-53 0 0 -20 10 2 Cr-54 0 0 material group in nuclide mean std. dev. -9 11 1 H-1 0.138558 0.260695 -10 11 1 O-16 0.042575 0.049271 +21 9 1 H-1 0.0 0.0 +22 9 1 O-16 0.0 0.0 +23 9 1 B-10 0.0 0.0 +24 9 1 B-11 0.0 0.0 +25 9 1 Fe-54 0.0 0.0 +26 9 1 Fe-56 0.0 0.0 +27 9 1 Fe-57 0.0 0.0 +28 9 1 Fe-58 0.0 0.0 +29 9 1 Ni-58 0.0 0.0 +30 9 1 Ni-60 0.0 0.0 +31 9 1 Ni-61 0.0 0.0 +32 9 1 Ni-62 0.0 0.0 +33 9 1 Ni-64 0.0 0.0 +34 9 1 Mn-55 0.0 0.0 +35 9 1 Si-28 0.0 0.0 +36 9 1 Si-29 0.0 0.0 +37 9 1 Si-30 0.0 0.0 +38 9 1 Cr-50 0.0 0.0 +39 9 1 Cr-52 0.0 0.0 +40 9 1 Cr-53 0.0 0.0 +41 9 1 Cr-54 0.0 0.0 +0 9 2 H-1 0.0 0.0 +1 9 2 O-16 0.0 0.0 +2 9 2 B-10 0.0 0.0 +3 9 2 B-11 0.0 0.0 +4 9 2 Fe-54 0.0 0.0 +5 9 2 Fe-56 0.0 0.0 +6 9 2 Fe-57 0.0 0.0 +7 9 2 Fe-58 0.0 0.0 +8 9 2 Ni-58 0.0 0.0 +9 9 2 Ni-60 0.0 0.0 +10 9 2 Ni-61 0.0 0.0 +11 9 2 Ni-62 0.0 0.0 +12 9 2 Ni-64 0.0 0.0 +13 9 2 Mn-55 0.0 0.0 +14 9 2 Si-28 0.0 0.0 +15 9 2 Si-29 0.0 0.0 +16 9 2 Si-30 0.0 0.0 +17 9 2 Cr-50 0.0 0.0 +18 9 2 Cr-52 0.0 0.0 +19 9 2 Cr-53 0.0 0.0 +20 9 2 Cr-54 0.0 0.0 material group in nuclide mean std. dev. +21 10 1 H-1 0.123944 0.541390 +22 10 1 O-16 0.000000 0.000000 +23 10 1 B-10 0.000000 0.000000 +24 10 1 B-11 0.000000 0.000000 +25 10 1 Fe-54 0.000000 0.000000 +26 10 1 Fe-56 0.000000 0.000000 +27 10 1 Fe-57 0.000000 0.000000 +28 10 1 Fe-58 0.000000 0.000000 +29 10 1 Ni-58 0.000000 0.000000 +30 10 1 Ni-60 0.000000 0.000000 +31 10 1 Ni-61 0.000000 0.000000 +32 10 1 Ni-62 0.000000 0.000000 +33 10 1 Ni-64 0.000000 0.000000 +34 10 1 Mn-55 0.000000 0.000000 +35 10 1 Si-28 0.000000 0.000000 +36 10 1 Si-29 0.000000 0.000000 +37 10 1 Si-30 0.000000 0.000000 +38 10 1 Cr-50 0.111571 0.138458 +39 10 1 Cr-52 0.000000 0.000000 +40 10 1 Cr-53 0.000000 0.000000 +41 10 1 Cr-54 0.000000 0.000000 +0 10 2 H-1 0.000000 0.000000 +1 10 2 O-16 0.000000 0.000000 +2 10 2 B-10 0.000000 0.000000 +3 10 2 B-11 0.000000 0.000000 +4 10 2 Fe-54 0.000000 0.000000 +5 10 2 Fe-56 0.000000 0.000000 +6 10 2 Fe-57 0.000000 0.000000 +7 10 2 Fe-58 0.000000 0.000000 +8 10 2 Ni-58 0.000000 0.000000 +9 10 2 Ni-60 0.000000 0.000000 +10 10 2 Ni-61 0.000000 0.000000 +11 10 2 Ni-62 0.000000 0.000000 +12 10 2 Ni-64 0.000000 0.000000 +13 10 2 Mn-55 0.000000 0.000000 +14 10 2 Si-28 0.000000 0.000000 +15 10 2 Si-29 0.000000 0.000000 +16 10 2 Si-30 0.000000 0.000000 +17 10 2 Cr-50 0.000000 0.000000 +18 10 2 Cr-52 0.000000 0.000000 +19 10 2 Cr-53 0.000000 0.000000 +20 10 2 Cr-54 0.000000 0.000000 material group in nuclide mean std. dev. +21 10 1 H-1 0.0 0.0 +22 10 1 O-16 0.0 0.0 +23 10 1 B-10 0.0 0.0 +24 10 1 B-11 0.0 0.0 +25 10 1 Fe-54 0.0 0.0 +26 10 1 Fe-56 0.0 0.0 +27 10 1 Fe-57 0.0 0.0 +28 10 1 Fe-58 0.0 0.0 +29 10 1 Ni-58 0.0 0.0 +30 10 1 Ni-60 0.0 0.0 +31 10 1 Ni-61 0.0 0.0 +32 10 1 Ni-62 0.0 0.0 +33 10 1 Ni-64 0.0 0.0 +34 10 1 Mn-55 0.0 0.0 +35 10 1 Si-28 0.0 0.0 +36 10 1 Si-29 0.0 0.0 +37 10 1 Si-30 0.0 0.0 +38 10 1 Cr-50 0.0 0.0 +39 10 1 Cr-52 0.0 0.0 +40 10 1 Cr-53 0.0 0.0 +41 10 1 Cr-54 0.0 0.0 +0 10 2 H-1 0.0 0.0 +1 10 2 O-16 0.0 0.0 +2 10 2 B-10 0.0 0.0 +3 10 2 B-11 0.0 0.0 +4 10 2 Fe-54 0.0 0.0 +5 10 2 Fe-56 0.0 0.0 +6 10 2 Fe-57 0.0 0.0 +7 10 2 Fe-58 0.0 0.0 +8 10 2 Ni-58 0.0 0.0 +9 10 2 Ni-60 0.0 0.0 +10 10 2 Ni-61 0.0 0.0 +11 10 2 Ni-62 0.0 0.0 +12 10 2 Ni-64 0.0 0.0 +13 10 2 Mn-55 0.0 0.0 +14 10 2 Si-28 0.0 0.0 +15 10 2 Si-29 0.0 0.0 +16 10 2 Si-30 0.0 0.0 +17 10 2 Cr-50 0.0 0.0 +18 10 2 Cr-52 0.0 0.0 +19 10 2 Cr-53 0.0 0.0 +20 10 2 Cr-54 0.0 0.0 material group in group out nuclide mean std. dev. +63 10 1 1 H-1 0.123944 0.541390 +64 10 1 1 O-16 0.000000 0.000000 +65 10 1 1 B-10 0.000000 0.000000 +66 10 1 1 B-11 0.000000 0.000000 +67 10 1 1 Fe-54 0.000000 0.000000 +68 10 1 1 Fe-56 0.000000 0.000000 +69 10 1 1 Fe-57 0.000000 0.000000 +70 10 1 1 Fe-58 0.000000 0.000000 +71 10 1 1 Ni-58 0.000000 0.000000 +72 10 1 1 Ni-60 0.000000 0.000000 +73 10 1 1 Ni-61 0.000000 0.000000 +74 10 1 1 Ni-62 0.000000 0.000000 +75 10 1 1 Ni-64 0.000000 0.000000 +76 10 1 1 Mn-55 0.000000 0.000000 +77 10 1 1 Si-28 0.000000 0.000000 +78 10 1 1 Si-29 0.000000 0.000000 +79 10 1 1 Si-30 0.000000 0.000000 +80 10 1 1 Cr-50 0.111571 0.138458 +81 10 1 1 Cr-52 0.000000 0.000000 +82 10 1 1 Cr-53 0.000000 0.000000 +83 10 1 1 Cr-54 0.000000 0.000000 +42 10 1 2 H-1 0.000000 0.000000 +43 10 1 2 O-16 0.000000 0.000000 +44 10 1 2 B-10 0.000000 0.000000 +45 10 1 2 B-11 0.000000 0.000000 +46 10 1 2 Fe-54 0.000000 0.000000 +47 10 1 2 Fe-56 0.000000 0.000000 +48 10 1 2 Fe-57 0.000000 0.000000 +49 10 1 2 Fe-58 0.000000 0.000000 +50 10 1 2 Ni-58 0.000000 0.000000 +51 10 1 2 Ni-60 0.000000 0.000000 +52 10 1 2 Ni-61 0.000000 0.000000 +53 10 1 2 Ni-62 0.000000 0.000000 +54 10 1 2 Ni-64 0.000000 0.000000 +55 10 1 2 Mn-55 0.000000 0.000000 +56 10 1 2 Si-28 0.000000 0.000000 +57 10 1 2 Si-29 0.000000 0.000000 +58 10 1 2 Si-30 0.000000 0.000000 +59 10 1 2 Cr-50 0.000000 0.000000 +60 10 1 2 Cr-52 0.000000 0.000000 +61 10 1 2 Cr-53 0.000000 0.000000 +62 10 1 2 Cr-54 0.000000 0.000000 +21 10 2 1 H-1 0.000000 0.000000 +22 10 2 1 O-16 0.000000 0.000000 +23 10 2 1 B-10 0.000000 0.000000 +24 10 2 1 B-11 0.000000 0.000000 +25 10 2 1 Fe-54 0.000000 0.000000 +26 10 2 1 Fe-56 0.000000 0.000000 +27 10 2 1 Fe-57 0.000000 0.000000 +28 10 2 1 Fe-58 0.000000 0.000000 +29 10 2 1 Ni-58 0.000000 0.000000 +30 10 2 1 Ni-60 0.000000 0.000000 +31 10 2 1 Ni-61 0.000000 0.000000 +32 10 2 1 Ni-62 0.000000 0.000000 +33 10 2 1 Ni-64 0.000000 0.000000 +34 10 2 1 Mn-55 0.000000 0.000000 +35 10 2 1 Si-28 0.000000 0.000000 +36 10 2 1 Si-29 0.000000 0.000000 +37 10 2 1 Si-30 0.000000 0.000000 +38 10 2 1 Cr-50 0.000000 0.000000 +39 10 2 1 Cr-52 0.000000 0.000000 +40 10 2 1 Cr-53 0.000000 0.000000 +41 10 2 1 Cr-54 0.000000 0.000000 +0 10 2 2 H-1 0.000000 0.000000 +1 10 2 2 O-16 0.000000 0.000000 +2 10 2 2 B-10 0.000000 0.000000 +3 10 2 2 B-11 0.000000 0.000000 +4 10 2 2 Fe-54 0.000000 0.000000 +5 10 2 2 Fe-56 0.000000 0.000000 +6 10 2 2 Fe-57 0.000000 0.000000 +7 10 2 2 Fe-58 0.000000 0.000000 +8 10 2 2 Ni-58 0.000000 0.000000 +9 10 2 2 Ni-60 0.000000 0.000000 +10 10 2 2 Ni-61 0.000000 0.000000 +11 10 2 2 Ni-62 0.000000 0.000000 +12 10 2 2 Ni-64 0.000000 0.000000 +13 10 2 2 Mn-55 0.000000 0.000000 +14 10 2 2 Si-28 0.000000 0.000000 +15 10 2 2 Si-29 0.000000 0.000000 +16 10 2 2 Si-30 0.000000 0.000000 +17 10 2 2 Cr-50 0.000000 0.000000 +18 10 2 2 Cr-52 0.000000 0.000000 +19 10 2 2 Cr-53 0.000000 0.000000 +20 10 2 2 Cr-54 0.000000 0.000000 material group out nuclide mean std. dev. +21 10 1 H-1 0.0 0.0 +22 10 1 O-16 0.0 0.0 +23 10 1 B-10 0.0 0.0 +24 10 1 B-11 0.0 0.0 +25 10 1 Fe-54 0.0 0.0 +26 10 1 Fe-56 0.0 0.0 +27 10 1 Fe-57 0.0 0.0 +28 10 1 Fe-58 0.0 0.0 +29 10 1 Ni-58 0.0 0.0 +30 10 1 Ni-60 0.0 0.0 +31 10 1 Ni-61 0.0 0.0 +32 10 1 Ni-62 0.0 0.0 +33 10 1 Ni-64 0.0 0.0 +34 10 1 Mn-55 0.0 0.0 +35 10 1 Si-28 0.0 0.0 +36 10 1 Si-29 0.0 0.0 +37 10 1 Si-30 0.0 0.0 +38 10 1 Cr-50 0.0 0.0 +39 10 1 Cr-52 0.0 0.0 +40 10 1 Cr-53 0.0 0.0 +41 10 1 Cr-54 0.0 0.0 +0 10 2 H-1 0.0 0.0 +1 10 2 O-16 0.0 0.0 +2 10 2 B-10 0.0 0.0 +3 10 2 B-11 0.0 0.0 +4 10 2 Fe-54 0.0 0.0 +5 10 2 Fe-56 0.0 0.0 +6 10 2 Fe-57 0.0 0.0 +7 10 2 Fe-58 0.0 0.0 +8 10 2 Ni-58 0.0 0.0 +9 10 2 Ni-60 0.0 0.0 +10 10 2 Ni-61 0.0 0.0 +11 10 2 Ni-62 0.0 0.0 +12 10 2 Ni-64 0.0 0.0 +13 10 2 Mn-55 0.0 0.0 +14 10 2 Si-28 0.0 0.0 +15 10 2 Si-29 0.0 0.0 +16 10 2 Si-30 0.0 0.0 +17 10 2 Cr-50 0.0 0.0 +18 10 2 Cr-52 0.0 0.0 +19 10 2 Cr-53 0.0 0.0 +20 10 2 Cr-54 0.0 0.0 material group in nuclide mean std. dev. +9 11 1 H-1 0.131470 0.476035 +10 11 1 O-16 0.028684 0.043000 11 11 1 B-10 0.000000 0.000000 12 11 1 B-11 0.000000 0.000000 -13 11 1 Zr-90 0.041034 0.049102 -14 11 1 Zr-91 0.027328 0.021092 -15 11 1 Zr-92 0.009788 0.009282 -16 11 1 Zr-94 0.043543 0.036697 +13 11 1 Zr-90 0.021980 0.039963 +14 11 1 Zr-91 0.000000 0.000000 +15 11 1 Zr-92 0.000000 0.000000 +16 11 1 Zr-94 0.004191 0.087344 17 11 1 Zr-96 0.000000 0.000000 -0 11 2 H-1 0.824153 0.917955 -1 11 2 O-16 0.041986 0.060727 -2 11 2 B-10 0.048216 0.042726 +0 11 2 H-1 0.687243 1.239217 +1 11 2 O-16 0.000000 0.000000 +2 11 2 B-10 0.042902 0.060672 3 11 2 B-11 0.000000 0.000000 -4 11 2 Zr-90 0.048596 0.067712 +4 11 2 Zr-90 0.039576 0.105193 5 11 2 Zr-91 0.000000 0.000000 -6 11 2 Zr-92 0.000000 0.000000 -7 11 2 Zr-94 0.043195 0.041363 +6 11 2 Zr-92 0.084226 0.103161 +7 11 2 Zr-94 0.092039 0.125985 8 11 2 Zr-96 0.000000 0.000000 material group in nuclide mean std. dev. -9 11 1 H-1 0 0 -10 11 1 O-16 0 0 -11 11 1 B-10 0 0 -12 11 1 B-11 0 0 -13 11 1 Zr-90 0 0 -14 11 1 Zr-91 0 0 -15 11 1 Zr-92 0 0 -16 11 1 Zr-94 0 0 -17 11 1 Zr-96 0 0 -0 11 2 H-1 0 0 -1 11 2 O-16 0 0 -2 11 2 B-10 0 0 -3 11 2 B-11 0 0 -4 11 2 Zr-90 0 0 -5 11 2 Zr-91 0 0 -6 11 2 Zr-92 0 0 -7 11 2 Zr-94 0 0 -8 11 2 Zr-96 0 0 material group in group out nuclide mean std. dev. -27 11 1 1 H-1 0.111411 0.247294 -28 11 1 1 O-16 0.042575 0.049271 +9 11 1 H-1 0.0 0.0 +10 11 1 O-16 0.0 0.0 +11 11 1 B-10 0.0 0.0 +12 11 1 B-11 0.0 0.0 +13 11 1 Zr-90 0.0 0.0 +14 11 1 Zr-91 0.0 0.0 +15 11 1 Zr-92 0.0 0.0 +16 11 1 Zr-94 0.0 0.0 +17 11 1 Zr-96 0.0 0.0 +0 11 2 H-1 0.0 0.0 +1 11 2 O-16 0.0 0.0 +2 11 2 B-10 0.0 0.0 +3 11 2 B-11 0.0 0.0 +4 11 2 Zr-90 0.0 0.0 +5 11 2 Zr-91 0.0 0.0 +6 11 2 Zr-92 0.0 0.0 +7 11 2 Zr-94 0.0 0.0 +8 11 2 Zr-96 0.0 0.0 material group in group out nuclide mean std. dev. +27 11 1 1 H-1 0.099594 0.442578 +28 11 1 1 O-16 0.028684 0.043000 29 11 1 1 B-10 0.000000 0.000000 30 11 1 1 B-11 0.000000 0.000000 -31 11 1 1 Zr-90 0.041034 0.049102 -32 11 1 1 Zr-91 0.027328 0.021092 -33 11 1 1 Zr-92 0.009788 0.009282 -34 11 1 1 Zr-94 0.043543 0.036697 +31 11 1 1 Zr-90 0.021980 0.039963 +32 11 1 1 Zr-91 0.000000 0.000000 +33 11 1 1 Zr-92 0.000000 0.000000 +34 11 1 1 Zr-94 0.004191 0.087344 35 11 1 1 Zr-96 0.000000 0.000000 -18 11 1 2 H-1 0.027147 0.020009 +18 11 1 2 H-1 0.031875 0.045078 19 11 1 2 O-16 0.000000 0.000000 20 11 1 2 B-10 0.000000 0.000000 21 11 1 2 B-11 0.000000 0.000000 @@ -1852,79 +1852,79 @@ 15 11 2 1 Zr-92 0.000000 0.000000 16 11 2 1 Zr-94 0.000000 0.000000 17 11 2 1 Zr-96 0.000000 0.000000 -0 11 2 2 H-1 0.824153 0.917955 -1 11 2 2 O-16 0.041986 0.060727 +0 11 2 2 H-1 0.687243 1.239217 +1 11 2 2 O-16 0.000000 0.000000 2 11 2 2 B-10 0.000000 0.000000 3 11 2 2 B-11 0.000000 0.000000 -4 11 2 2 Zr-90 0.048596 0.067712 +4 11 2 2 Zr-90 0.039576 0.105193 5 11 2 2 Zr-91 0.000000 0.000000 -6 11 2 2 Zr-92 0.000000 0.000000 -7 11 2 2 Zr-94 0.043195 0.041363 +6 11 2 2 Zr-92 0.084226 0.103161 +7 11 2 2 Zr-94 0.092039 0.125985 8 11 2 2 Zr-96 0.000000 0.000000 material group out nuclide mean std. dev. -9 11 1 H-1 0 0 -10 11 1 O-16 0 0 -11 11 1 B-10 0 0 -12 11 1 B-11 0 0 -13 11 1 Zr-90 0 0 -14 11 1 Zr-91 0 0 -15 11 1 Zr-92 0 0 -16 11 1 Zr-94 0 0 -17 11 1 Zr-96 0 0 -0 11 2 H-1 0 0 -1 11 2 O-16 0 0 -2 11 2 B-10 0 0 -3 11 2 B-11 0 0 -4 11 2 Zr-90 0 0 -5 11 2 Zr-91 0 0 -6 11 2 Zr-92 0 0 -7 11 2 Zr-94 0 0 -8 11 2 Zr-96 0 0 material group in nuclide mean std. dev. -9 12 1 H-1 0.151924 0.200147 -10 12 1 O-16 0.039280 0.026086 +9 11 1 H-1 0.0 0.0 +10 11 1 O-16 0.0 0.0 +11 11 1 B-10 0.0 0.0 +12 11 1 B-11 0.0 0.0 +13 11 1 Zr-90 0.0 0.0 +14 11 1 Zr-91 0.0 0.0 +15 11 1 Zr-92 0.0 0.0 +16 11 1 Zr-94 0.0 0.0 +17 11 1 Zr-96 0.0 0.0 +0 11 2 H-1 0.0 0.0 +1 11 2 O-16 0.0 0.0 +2 11 2 B-10 0.0 0.0 +3 11 2 B-11 0.0 0.0 +4 11 2 Zr-90 0.0 0.0 +5 11 2 Zr-91 0.0 0.0 +6 11 2 Zr-92 0.0 0.0 +7 11 2 Zr-94 0.0 0.0 +8 11 2 Zr-96 0.0 0.0 material group in nuclide mean std. dev. +9 12 1 H-1 0.098944 0.178543 +10 12 1 O-16 0.013270 0.020403 11 12 1 B-10 0.000000 0.000000 12 12 1 B-11 0.000000 0.000000 -13 12 1 Zr-90 0.017578 0.022079 -14 12 1 Zr-91 0.039984 0.025285 -15 12 1 Zr-92 0.001172 0.006230 -16 12 1 Zr-94 0.001668 0.005966 -17 12 1 Zr-96 0.004328 0.005325 -0 12 2 H-1 0.942412 0.866849 -1 12 2 O-16 0.047438 0.048161 -2 12 2 B-10 0.041655 0.031202 +13 12 1 Zr-90 0.089997 0.075538 +14 12 1 Zr-91 0.000000 0.000000 +15 12 1 Zr-92 0.003501 0.017031 +16 12 1 Zr-94 0.004850 0.016327 +17 12 1 Zr-96 0.002730 0.017476 +0 12 2 H-1 1.261686 1.980336 +1 12 2 O-16 0.079159 0.104796 +2 12 2 B-10 0.016928 0.023940 3 12 2 B-11 0.000000 0.000000 -4 12 2 Zr-90 0.021193 0.017456 -5 12 2 Zr-91 0.007901 0.009268 -6 12 2 Zr-92 0.009422 0.012802 -7 12 2 Zr-94 0.043324 0.027551 +4 12 2 Zr-90 0.000000 0.000000 +5 12 2 Zr-91 0.033201 0.040665 +6 12 2 Zr-92 0.000000 0.000000 +7 12 2 Zr-94 0.000000 0.000000 8 12 2 Zr-96 0.000000 0.000000 material group in nuclide mean std. dev. -9 12 1 H-1 0 0 -10 12 1 O-16 0 0 -11 12 1 B-10 0 0 -12 12 1 B-11 0 0 -13 12 1 Zr-90 0 0 -14 12 1 Zr-91 0 0 -15 12 1 Zr-92 0 0 -16 12 1 Zr-94 0 0 -17 12 1 Zr-96 0 0 -0 12 2 H-1 0 0 -1 12 2 O-16 0 0 -2 12 2 B-10 0 0 -3 12 2 B-11 0 0 -4 12 2 Zr-90 0 0 -5 12 2 Zr-91 0 0 -6 12 2 Zr-92 0 0 -7 12 2 Zr-94 0 0 -8 12 2 Zr-96 0 0 material group in group out nuclide mean std. dev. -27 12 1 1 H-1 0.122301 0.187298 -28 12 1 1 O-16 0.039280 0.026086 +9 12 1 H-1 0.0 0.0 +10 12 1 O-16 0.0 0.0 +11 12 1 B-10 0.0 0.0 +12 12 1 B-11 0.0 0.0 +13 12 1 Zr-90 0.0 0.0 +14 12 1 Zr-91 0.0 0.0 +15 12 1 Zr-92 0.0 0.0 +16 12 1 Zr-94 0.0 0.0 +17 12 1 Zr-96 0.0 0.0 +0 12 2 H-1 0.0 0.0 +1 12 2 O-16 0.0 0.0 +2 12 2 B-10 0.0 0.0 +3 12 2 B-11 0.0 0.0 +4 12 2 Zr-90 0.0 0.0 +5 12 2 Zr-91 0.0 0.0 +6 12 2 Zr-92 0.0 0.0 +7 12 2 Zr-94 0.0 0.0 +8 12 2 Zr-96 0.0 0.0 material group in group out nuclide mean std. dev. +27 12 1 1 H-1 0.071704 0.167588 +28 12 1 1 O-16 0.013270 0.020403 29 12 1 1 B-10 0.000000 0.000000 30 12 1 1 B-11 0.000000 0.000000 -31 12 1 1 Zr-90 0.017578 0.022079 -32 12 1 1 Zr-91 0.039984 0.025285 -33 12 1 1 Zr-92 0.001172 0.006230 -34 12 1 1 Zr-94 0.001668 0.005966 -35 12 1 1 Zr-96 0.004328 0.005325 -18 12 1 2 H-1 0.029622 0.017760 +31 12 1 1 Zr-90 0.089997 0.075538 +32 12 1 1 Zr-91 0.000000 0.000000 +33 12 1 1 Zr-92 0.003501 0.017031 +34 12 1 1 Zr-94 0.004850 0.016327 +35 12 1 1 Zr-96 0.002730 0.017476 +18 12 1 2 H-1 0.027240 0.029555 19 12 1 2 O-16 0.000000 0.000000 20 12 1 2 B-10 0.000000 0.000000 21 12 1 2 B-11 0.000000 0.000000 @@ -1942,30 +1942,30 @@ 15 12 2 1 Zr-92 0.000000 0.000000 16 12 2 1 Zr-94 0.000000 0.000000 17 12 2 1 Zr-96 0.000000 0.000000 -0 12 2 2 H-1 0.942412 0.866849 -1 12 2 2 O-16 0.047438 0.048161 +0 12 2 2 H-1 1.244758 1.956675 +1 12 2 2 O-16 0.079159 0.104796 2 12 2 2 B-10 0.000000 0.000000 3 12 2 2 B-11 0.000000 0.000000 -4 12 2 2 Zr-90 0.021193 0.017456 -5 12 2 2 Zr-91 0.007901 0.009268 -6 12 2 2 Zr-92 0.009422 0.012802 -7 12 2 2 Zr-94 0.043324 0.027551 +4 12 2 2 Zr-90 0.000000 0.000000 +5 12 2 2 Zr-91 0.033201 0.040665 +6 12 2 2 Zr-92 0.000000 0.000000 +7 12 2 2 Zr-94 0.000000 0.000000 8 12 2 2 Zr-96 0.000000 0.000000 material group out nuclide mean std. dev. -9 12 1 H-1 0 0 -10 12 1 O-16 0 0 -11 12 1 B-10 0 0 -12 12 1 B-11 0 0 -13 12 1 Zr-90 0 0 -14 12 1 Zr-91 0 0 -15 12 1 Zr-92 0 0 -16 12 1 Zr-94 0 0 -17 12 1 Zr-96 0 0 -0 12 2 H-1 0 0 -1 12 2 O-16 0 0 -2 12 2 B-10 0 0 -3 12 2 B-11 0 0 -4 12 2 Zr-90 0 0 -5 12 2 Zr-91 0 0 -6 12 2 Zr-92 0 0 -7 12 2 Zr-94 0 0 -8 12 2 Zr-96 0 0 \ No newline at end of file +9 12 1 H-1 0.0 0.0 +10 12 1 O-16 0.0 0.0 +11 12 1 B-10 0.0 0.0 +12 12 1 B-11 0.0 0.0 +13 12 1 Zr-90 0.0 0.0 +14 12 1 Zr-91 0.0 0.0 +15 12 1 Zr-92 0.0 0.0 +16 12 1 Zr-94 0.0 0.0 +17 12 1 Zr-96 0.0 0.0 +0 12 2 H-1 0.0 0.0 +1 12 2 O-16 0.0 0.0 +2 12 2 B-10 0.0 0.0 +3 12 2 B-11 0.0 0.0 +4 12 2 Zr-90 0.0 0.0 +5 12 2 Zr-91 0.0 0.0 +6 12 2 Zr-92 0.0 0.0 +7 12 2 Zr-94 0.0 0.0 +8 12 2 Zr-96 0.0 0.0 \ No newline at end of file diff --git a/tests/test_natural_element/results_true.dat b/tests/test_natural_element/results_true.dat index 1c8668e128..cc4a12f749 100644 --- a/tests/test_natural_element/results_true.dat +++ b/tests/test_natural_element/results_true.dat @@ -1,2 +1,2 @@ k-combined: -1.013112E+00 2.551515E-02 +1.034427E+00 1.583807E-02 diff --git a/tests/test_output/results_true.dat b/tests/test_output/results_true.dat index 5263a6b7fd..7b2fbf37f5 100644 --- a/tests/test_output/results_true.dat +++ b/tests/test_output/results_true.dat @@ -1,2 +1,2 @@ k-combined: -3.021779E-01 3.813358E-03 +2.943619E-01 3.309635E-03 diff --git a/tests/test_particle_restart_eigval/results_true.dat b/tests/test_particle_restart_eigval/results_true.dat index f343978533..2bc4632935 100644 --- a/tests/test_particle_restart_eigval/results_true.dat +++ b/tests/test_particle_restart_eigval/results_true.dat @@ -1,16 +1,16 @@ current batch: -9.000000E+00 +1.000000E+01 current gen: 1.000000E+00 particle id: -5.550000E+02 +1.030000E+03 run mode: k-eigenvalue particle weight: 1.000000E+00 particle energy: -2.831611E-01 +3.158576E+00 particle xyz: -4.973847E+01 6.971699E+00 -5.201827E+01 +5.846530E+01 -3.717881E+01 -3.787515E+00 particle uvw: -6.945105E-01 6.295355E-01 -3.483393E-01 +6.197114E-01 -2.450461E-01 -7.455939E-01 diff --git a/tests/test_particle_restart_eigval/test_particle_restart_eigval.py b/tests/test_particle_restart_eigval/test_particle_restart_eigval.py index 139cb2b9f5..59f76d93b8 100644 --- a/tests/test_particle_restart_eigval/test_particle_restart_eigval.py +++ b/tests/test_particle_restart_eigval/test_particle_restart_eigval.py @@ -7,5 +7,5 @@ from testing_harness import ParticleRestartTestHarness if __name__ == '__main__': - harness = ParticleRestartTestHarness('particle_9_555.*') + harness = ParticleRestartTestHarness('particle_10_1030.*') harness.main() diff --git a/tests/test_quadric_surfaces/results_true.dat b/tests/test_quadric_surfaces/results_true.dat index b2e02fdbb7..1f0dd54262 100644 --- a/tests/test_quadric_surfaces/results_true.dat +++ b/tests/test_quadric_surfaces/results_true.dat @@ -1,2 +1,2 @@ k-combined: -9.706301E-01 4.351374E-02 +9.570770E-01 2.513234E-02 diff --git a/tests/test_reflective_plane/results_true.dat b/tests/test_reflective_plane/results_true.dat index c5ba8e63fb..4860c1ed90 100644 --- a/tests/test_reflective_plane/results_true.dat +++ b/tests/test_reflective_plane/results_true.dat @@ -1,2 +1,2 @@ k-combined: -2.276127E+00 4.678320E-03 +2.271202E+00 3.876146E-03 diff --git a/tests/test_resonance_scattering/geometry.xml b/tests/test_resonance_scattering/geometry.xml deleted file mode 100644 index bc56030e18..0000000000 --- a/tests/test_resonance_scattering/geometry.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/tests/test_resonance_scattering/inputs_true.dat b/tests/test_resonance_scattering/inputs_true.dat new file mode 100644 index 0000000000..f2a875c7eb --- /dev/null +++ b/tests/test_resonance_scattering/inputs_true.dat @@ -0,0 +1 @@ +ece83bb075ed8144af89ce7cebf1577dcb2489d2e9ce4afbe61a3e4398837e7a9aaa2ae0cea0a6542f51ca5e0d119b570c675ed1dca0d74237cd5fdce0b606a3 \ No newline at end of file diff --git a/tests/test_resonance_scattering/materials.xml b/tests/test_resonance_scattering/materials.xml deleted file mode 100644 index 52a8c04be2..0000000000 --- a/tests/test_resonance_scattering/materials.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/tests/test_resonance_scattering/results_true.dat b/tests/test_resonance_scattering/results_true.dat index 0dda991cac..e7056e4fab 100644 --- a/tests/test_resonance_scattering/results_true.dat +++ b/tests/test_resonance_scattering/results_true.dat @@ -1,2 +1,2 @@ k-combined: -6.842112E-02 8.480934E-04 +1.440556E+00 6.383274E-02 diff --git a/tests/test_resonance_scattering/settings.xml b/tests/test_resonance_scattering/settings.xml deleted file mode 100644 index 7ce4f23ac7..0000000000 --- a/tests/test_resonance_scattering/settings.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - U-238 - cxs - 92238.71c - 92238.71c - 5.0e-6 - 40.0e-6 - - - - - 10 - 5 - 1000 - - - - - -4 -4 -4 4 4 4 - - - - diff --git a/tests/test_resonance_scattering/test_resonance_scattering.py b/tests/test_resonance_scattering/test_resonance_scattering.py index 2a595f3e66..d977488bfe 100644 --- a/tests/test_resonance_scattering/test_resonance_scattering.py +++ b/tests/test_resonance_scattering/test_resonance_scattering.py @@ -3,9 +3,81 @@ import os import sys sys.path.insert(0, os.pardir) -from testing_harness import TestHarness +from testing_harness import PyAPITestHarness +import openmc + + +class ResonanceScatteringTestHarness(PyAPITestHarness): + def _build_inputs(self): + # Materials + mat = openmc.Material(material_id=1) + mat.set_density('g/cc', 1.0) + mat.add_nuclide('U-238', 1.0) + mat.add_nuclide('U-235', 0.02) + mat.add_nuclide('Pu-239', 0.02) + mat.add_nuclide('H-1', 20.0) + + mats_file = openmc.MaterialsFile() + mats_file.default_xs = '71c' + mats_file.add_material(mat) + mats_file.export_to_xml() + + # Geometry + dumb_surface = openmc.XPlane(x0=100) + dumb_surface.boundary_type = 'reflective' + + c1 = openmc.Cell(cell_id=1) + c1.fill = mat + c1.region = -dumb_surface + + root_univ = openmc.Universe(universe_id=0) + root_univ.add_cell(c1) + + geometry = openmc.Geometry() + geometry.root_universe = root_univ + geo_file = openmc.GeometryFile() + geo_file.geometry = geometry + geo_file.export_to_xml() + + # Settings + nuclide = openmc.Nuclide('U-238', '71c') + nuclide.zaid = 92238 + res_scatt_dbrc = openmc.ResonanceScattering() + res_scatt_dbrc.nuclide = nuclide + res_scatt_dbrc.nuclide_0K = nuclide # This is a bad idea! Just for tests + res_scatt_dbrc.method = 'DBRC' + res_scatt_dbrc.E_min = 1e-6 + res_scatt_dbrc.E_max = 210e-6 + + nuclide = openmc.Nuclide('U-235', '71c') + nuclide.zaid = 92235 + res_scatt_wcm = openmc.ResonanceScattering() + res_scatt_wcm.nuclide = nuclide + res_scatt_wcm.nuclide_0K = nuclide + res_scatt_wcm.method = 'WCM' + res_scatt_wcm.E_min = 1e-6 + res_scatt_wcm.E_max = 210e-6 + + nuclide = openmc.Nuclide('Pu-239', '71c') + nuclide.zaid = 94239 + res_scatt_ares = openmc.ResonanceScattering() + res_scatt_ares.nuclide = nuclide + res_scatt_ares.nuclide_0K = nuclide + res_scatt_ares.method = 'ARES' + res_scatt_ares.E_min = 1e-6 + res_scatt_ares.E_max = 210e-6 + + sets_file = openmc.SettingsFile() + sets_file.batches = 10 + sets_file.inactive = 5 + sets_file.particles = 1000 + sets_file.source = openmc.source.Source( + space=openmc.stats.Box([-4, -4, -4], [4, 4, 4])) + sets_file.resonance_scattering = [res_scatt_dbrc, res_scatt_wcm, + res_scatt_ares] + sets_file.export_to_xml() if __name__ == '__main__': - harness = TestHarness('statepoint.10.*') + harness = ResonanceScatteringTestHarness('statepoint.10.*') harness.main() diff --git a/tests/test_rotation/results_true.dat b/tests/test_rotation/results_true.dat index 5263a6b7fd..7b2fbf37f5 100644 --- a/tests/test_rotation/results_true.dat +++ b/tests/test_rotation/results_true.dat @@ -1,2 +1,2 @@ k-combined: -3.021779E-01 3.813358E-03 +2.943619E-01 3.309635E-03 diff --git a/tests/test_salphabeta/results_true.dat b/tests/test_salphabeta/results_true.dat index 926af89bca..fb691f1686 100644 --- a/tests/test_salphabeta/results_true.dat +++ b/tests/test_salphabeta/results_true.dat @@ -1,2 +1,2 @@ k-combined: -8.350634E-01 6.010639E-02 +8.331430E-01 3.074913E-03 diff --git a/tests/test_score_current/results_true.dat b/tests/test_score_current/results_true.dat index 936e2d04bc..d3ac03a709 100644 --- a/tests/test_score_current/results_true.dat +++ b/tests/test_score_current/results_true.dat @@ -1 +1 @@ -1e6945632c55491d4584f4976cc6f5c7340874703cfaf739dd956b7124b4260955efb5b6ba041b32536f9a74572d071e0293dced55a41ea305223f698b734c2a \ No newline at end of file +a9310752363eb059ff40f16ac9716b41ccab6ec6607d29f498069318745e485d18d784264304cc2586865bd58cef7587203cc22a1d485c58ddd63c14c0defdb9 \ No newline at end of file diff --git a/tests/test_seed/results_true.dat b/tests/test_seed/results_true.dat index df79ce1ced..35e9c968b0 100644 --- a/tests/test_seed/results_true.dat +++ b/tests/test_seed/results_true.dat @@ -1,2 +1,2 @@ k-combined: -2.951164E-01 2.504580E-03 +3.131925E-01 7.639726E-03 diff --git a/tests/test_source/inputs_true.dat b/tests/test_source/inputs_true.dat index 01130ed2e5..69a1e2ea84 100644 --- a/tests/test_source/inputs_true.dat +++ b/tests/test_source/inputs_true.dat @@ -1 +1 @@ -5c2fdde85affcd44c1b02c07c300acb8e5c189c1adbf7aa079e37a68e8b8313678fc292bd7f6e0d0957f723e05b8146bd165cf3315dde5f6b2f88ebc954cd65e \ No newline at end of file +526c91551d9a80dc01216e5cb04162253f12ec684cc2b4912ca18cfc510f1ea2e5303029f1c1607882082b0c2c8a47f25dd5be14678f449a1579e3601d1bdec5 \ No newline at end of file diff --git a/tests/test_source/results_true.dat b/tests/test_source/results_true.dat index 18fb895f77..e7ef218ad2 100644 --- a/tests/test_source/results_true.dat +++ b/tests/test_source/results_true.dat @@ -1,2 +1,2 @@ k-combined: -3.014392E-01 7.185055E-03 +3.026614E-01 3.952004E-03 diff --git a/tests/test_source_file/results_true.dat b/tests/test_source_file/results_true.dat index fee61dda26..782e471766 100644 --- a/tests/test_source_file/results_true.dat +++ b/tests/test_source_file/results_true.dat @@ -1,2 +1,2 @@ k-combined: -2.962911E-01 4.073420E-03 +2.939526E-01 6.311736E-03 diff --git a/tests/test_sourcepoint_latest/results_true.dat b/tests/test_sourcepoint_latest/results_true.dat index 5263a6b7fd..7b2fbf37f5 100644 --- a/tests/test_sourcepoint_latest/results_true.dat +++ b/tests/test_sourcepoint_latest/results_true.dat @@ -1,2 +1,2 @@ k-combined: -3.021779E-01 3.813358E-03 +2.943619E-01 3.309635E-03 diff --git a/tests/test_sourcepoint_restart/results_true.dat b/tests/test_sourcepoint_restart/results_true.dat index 0e4eef9a9d..49afeb1d52 100644 --- a/tests/test_sourcepoint_restart/results_true.dat +++ b/tests/test_sourcepoint_restart/results_true.dat @@ -1,16 +1,16 @@ k-combined: -3.021779E-01 3.813358E-03 +2.943619E-01 3.309635E-03 tally 1: -7.000000E-03 -2.100000E-05 -1.127639E-03 -7.464355E-07 --1.264355E-03 -1.192757E-06 -8.769846E-04 -1.117508E-06 -3.359153E-03 -4.366438E-06 +1.100000E-02 +3.700000E-05 +1.307570E-03 +2.851451E-06 +1.564980E-03 +2.368303E-06 +3.138136E-03 +5.769887E-06 +7.719235E-03 +2.632583E-05 0.000000E+00 0.000000E+00 0.000000E+00 @@ -19,50 +19,38 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -6.107648E-04 -3.730336E-07 +2.976389E-04 +8.858892E-08 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +8.816169E-04 +7.772484E-07 1.000000E-03 1.000000E-06 -6.713061E-04 -4.506518E-07 -1.759778E-04 -3.096817E-08 --2.506458E-04 -6.282332E-08 -6.069794E-04 -3.684240E-07 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 +8.782909E-04 +7.713950E-07 +6.570925E-04 +4.317705E-07 +3.763366E-04 +1.416293E-07 0.000000E+00 0.000000E+00 7.000000E-03 1.500000E-05 -4.398928E-03 -8.198908E-06 -1.784486E-03 -3.422315E-06 -8.494423E-04 -9.262242E-07 -4.566637E-03 -5.646039E-06 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -6.069794E-04 -3.684240E-07 -0.000000E+00 -0.000000E+00 +3.445754E-03 +3.819507E-06 +2.124056E-03 +1.976201E-06 +1.542203E-03 +1.531669E-06 +4.135720E-03 +4.532612E-06 0.000000E+00 0.000000E+00 0.000000E+00 @@ -71,6 +59,8 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +5.874391E-04 +1.725424E-07 0.000000E+00 0.000000E+00 0.000000E+00 @@ -79,18 +69,28 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +3.079655E-04 +9.484274E-08 +1.000000E-03 +1.000000E-06 +9.451745E-04 +8.933548E-07 +8.400323E-04 +7.056542E-07 +6.931788E-04 +4.804969E-07 0.000000E+00 0.000000E+00 3.000000E-03 3.000000E-06 --1.419189E-03 -9.791601E-07 --3.125982E-05 -5.086129E-07 -3.291570E-04 -1.943609E-07 -1.525426E-03 -8.346311E-07 +1.134842E-03 +1.040850E-06 +6.127525E-05 +3.988312E-07 +4.938488E-05 +2.738492E-07 +1.484493E-03 +9.722888E-07 0.000000E+00 0.000000E+00 0.000000E+00 @@ -121,18 +121,136 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +1.700000E-02 +7.100000E-05 +5.492922E-03 +1.013834E-05 +5.773309E-04 +3.561549E-06 +2.550048E-03 +3.841061E-06 +8.048523E-03 +1.583844E-05 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +5.915762E-04 +1.749886E-07 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +1.200000E-02 +4.600000E-05 +9.302157E-04 +3.853850E-06 +1.874541E-03 +3.092623E-06 +-1.511552E-03 +4.053466E-06 +5.941986E-03 +9.853873E-06 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +1.186549E-03 +5.291648E-07 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +2.935668E-04 +8.618149E-08 1.000000E-03 1.000000E-06 --1.542107E-05 -2.378095E-10 --4.996433E-04 -2.496434E-07 -2.312244E-05 -5.346472E-10 -3.053824E-04 -9.325841E-08 +9.893707E-04 +9.788543E-07 +9.682814E-04 +9.375689E-07 +9.370683E-04 +8.780970E-07 0.000000E+00 0.000000E+00 +8.000000E-03 +2.000000E-05 +3.721382E-03 +4.736982E-06 +-1.037031E-04 +6.648392E-07 +-5.996856E-04 +9.642316E-07 +3.248622E-03 +4.063214E-06 0.000000E+00 0.000000E+00 0.000000E+00 @@ -141,6 +259,8 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +2.938723E-04 +8.636093E-08 0.000000E+00 0.000000E+00 0.000000E+00 @@ -161,16 +281,16 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -2.000000E-02 -8.600000E-05 -3.995253E-03 -1.648172E-05 -3.349403E-03 -1.166653E-05 -4.208940E-03 -7.077664E-06 -1.033905E-02 -2.197265E-05 +2.000000E-03 +2.000000E-06 +1.502634E-03 +1.146555E-06 +7.198331E-04 +3.484978E-07 +-3.426513E-05 +1.342349E-07 +1.511030E-03 +1.198311E-06 0.000000E+00 0.000000E+00 0.000000E+00 @@ -179,8 +299,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -6.029991E-04 -1.818050E-07 0.000000E+00 0.000000E+00 0.000000E+00 @@ -201,416 +319,18 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -2.600000E-02 -1.620000E-04 -7.996640E-03 -1.882484E-05 -3.921034E-03 -1.157453E-05 -1.644629E-03 -3.217857E-06 -1.159182E-02 -3.534975E-05 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -1.100000E-02 -2.500000E-05 -4.691861E-03 -7.999548E-06 -1.771537E-03 -3.385525E-06 -7.888659E-04 -1.911759E-06 -4.561602E-03 -4.337486E-06 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -6.107648E-04 -3.730336E-07 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -1.000000E-03 -1.000000E-06 --3.878617E-04 -1.504367E-07 --2.743449E-04 -7.526515E-08 -4.359210E-04 -1.900271E-07 -3.034897E-04 -9.210600E-08 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -1.600000E-02 -5.600000E-05 -4.563082E-03 -6.119552E-06 -1.839038E-03 -1.089339E-06 -1.944879E-03 -2.372975E-06 -8.524215E-03 -1.874218E-05 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -6.015373E-04 -3.618471E-07 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 0.000000E+00 0.000000E+00 1.300000E-02 -5.300000E-05 -6.763364E-03 -1.445064E-05 -2.970216E-03 -3.071874E-06 -2.622002E-03 -3.547897E-06 -5.177618E-03 -8.040228E-06 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -3.007686E-04 -9.046177E-08 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -3.102008E-04 -9.622454E-08 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -8.000000E-03 -1.400000E-05 -1.172941E-04 -1.212454E-06 -4.110442E-04 -5.740547E-06 -1.788140E-03 -9.775061E-07 -3.946448E-03 -3.956113E-06 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -6.109694E-04 -1.866863E-07 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -1.000000E-03 -1.000000E-06 -9.168648E-04 -8.406410E-07 -7.609615E-04 -5.790624E-07 -5.515881E-04 -3.042494E-07 -3.102008E-04 -9.622454E-08 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -3.102008E-04 -9.622454E-08 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -3.000000E-02 -2.020000E-04 -1.305502E-02 -4.343057E-05 -8.214305E-03 -2.001202E-05 -3.511762E-03 -1.412559E-05 -1.401995E-02 -4.269615E-05 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -2.400000E-02 -1.320000E-04 -5.207205E-03 -9.311400E-06 -3.232372E-03 -3.475980E-06 -2.062884E-03 -4.773104E-06 -1.039066E-02 -2.611825E-05 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -9.171802E-04 -4.646485E-07 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -1.221939E-03 -7.467452E-07 -1.000000E-03 -1.000000E-06 -9.910929E-04 -9.822652E-07 -9.733978E-04 -9.475032E-07 -9.471508E-04 -8.970946E-07 -0.000000E+00 -0.000000E+00 -1.200000E-02 -5.000000E-05 -2.602864E-03 -4.471106E-06 -4.677566E-03 -1.033338E-05 -3.640584E-03 -3.605122E-06 -4.845169E-03 -8.244364E-06 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -1.100000E-02 3.700000E-05 -3.786358E-03 -5.908272E-06 -3.416266E-03 -7.032934E-06 -3.353945E-03 -5.140933E-06 -4.261660E-03 -4.981501E-06 +3.121167E-03 +2.465327E-06 +4.474559E-04 +1.522316E-06 +9.193982E-04 +3.247292E-06 +5.365660E-03 +6.567981E-06 0.000000E+00 0.000000E+00 0.000000E+00 @@ -619,8 +339,288 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -6.136905E-04 -1.883305E-07 +6.056044E-04 +1.834317E-07 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +2.977039E-04 +8.862764E-08 +1.000000E-03 +1.000000E-06 +2.390376E-04 +5.713899E-08 +-4.142915E-04 +1.716375E-07 +-3.244105E-04 +1.052422E-07 +0.000000E+00 +0.000000E+00 +1.500000E-02 +5.500000E-05 +2.209492E-03 +2.545503E-06 +5.991182E-03 +1.290780E-05 +1.772063E-03 +2.006265E-06 +5.944487E-03 +1.042417E-05 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +3.079655E-04 +9.484274E-08 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +1.190621E-03 +8.859279E-07 +2.000000E-03 +2.000000E-06 +1.908405E-03 +1.821879E-06 +1.732819E-03 +1.508498E-06 +1.487670E-03 +1.131430E-06 +0.000000E+00 +0.000000E+00 +4.000000E-03 +4.000000E-06 +3.379122E-03 +2.880429E-06 +2.320644E-03 +1.498759E-06 +1.119131E-03 +6.212863E-07 +1.494579E-03 +6.241237E-07 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +2.976389E-04 +8.858892E-08 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +2.100000E-02 +1.150000E-04 +5.280651E-03 +1.222273E-05 +5.235520E-03 +1.202448E-05 +5.064093E-03 +1.787892E-05 +1.071093E-02 +2.748613E-05 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +8.954046E-04 +2.673852E-07 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +2.600000E-02 +1.560000E-04 +6.314886E-03 +1.168542E-05 +6.676680E-04 +9.930437E-06 +-2.103247E-04 +2.815945E-07 +1.249410E-02 +3.501590E-05 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +6.159310E-04 +3.793709E-07 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +2.976389E-04 +8.858892E-08 +1.000000E-03 +1.000000E-06 +9.514029E-04 +9.051675E-07 +8.577513E-04 +7.357373E-07 +7.258432E-04 +5.268483E-07 +0.000000E+00 +0.000000E+00 +2.300000E-02 +1.650000E-04 +9.507197E-03 +3.773476E-05 +6.295609E-03 +2.127696E-05 +6.339840E-03 +1.601206E-05 +1.065253E-02 +3.447908E-05 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +1.000000E-03 +1.000000E-06 +-1.117213E-04 +1.248165E-08 +-4.812775E-04 +2.316281E-07 +1.640958E-04 +2.692743E-08 +5.871337E-04 +3.447260E-07 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +1.500000E-02 +6.300000E-05 +5.790211E-03 +1.210465E-05 +8.591246E-04 +1.950998E-06 +1.987991E-03 +4.703397E-06 +6.572185E-03 +9.479067E-06 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +5.954079E-04 +3.545105E-07 0.000000E+00 0.000000E+00 0.000000E+00 @@ -642,15 +642,15 @@ tally 1: 0.000000E+00 0.000000E+00 2.700000E-02 -2.090000E-04 -7.046302E-03 -1.594429E-05 -6.489218E-03 -1.057182E-05 -5.057204E-03 -8.269888E-06 -1.274541E-02 -3.591083E-05 +1.670000E-04 +1.789444E-02 +8.260005E-05 +1.049872E-02 +2.774537E-05 +5.665111E-03 +8.560197E-06 +1.100708E-02 +2.835296E-05 0.000000E+00 0.000000E+00 0.000000E+00 @@ -659,358 +659,38 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -1.503843E-03 -2.261544E-06 -3.000000E-03 -5.000000E-06 -3.434984E-04 -2.731822E-07 --1.911976E-04 -2.018778E-08 --5.635206E-04 -2.075189E-07 -2.764973E-03 -3.917274E-06 -2.000000E-03 -2.000000E-06 -1.802029E-03 -1.623906E-06 -1.435858E-03 -1.032682E-06 -9.559957E-04 -4.622600E-07 -0.000000E+00 -0.000000E+00 -2.600000E-02 -1.540000E-04 -1.210267E-02 -4.180540E-05 -5.431699E-03 -2.284317E-05 -6.108638E-03 -1.136078E-05 -1.309420E-02 -3.810504E-05 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -6.124312E-04 -1.875678E-07 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -6.044609E-04 -3.653729E-07 +3.079655E-04 +9.484274E-08 1.000000E-03 1.000000E-06 -9.341546E-04 -8.726448E-07 -8.089673E-04 -6.544280E-07 -6.367311E-04 -4.054265E-07 -3.022304E-04 -9.134324E-08 -2.100000E-02 -9.900000E-05 -1.206996E-02 -4.033646E-05 -6.345510E-03 -1.603169E-05 -1.976558E-03 -4.386164E-06 -1.001209E-02 -2.316074E-05 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -3.007686E-04 -9.046177E-08 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -1.815901E-03 -1.829916E-06 -2.000000E-03 -2.000000E-06 -1.977802E-03 -1.955858E-06 -1.933788E-03 -1.869841E-06 -1.868714E-03 -1.746332E-06 -0.000000E+00 -0.000000E+00 -1.100000E-02 -3.900000E-05 -2.604154E-03 -9.668124E-06 -1.503936E-04 -1.170450E-06 -5.645599E-04 -1.841604E-06 -5.455481E-03 -1.116233E-05 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -6.015373E-04 -3.618471E-07 +-2.856031E-04 +8.156913E-08 +-3.776463E-04 +1.426167E-07 +3.701637E-04 +1.370211E-07 +1.203065E-03 +7.240969E-07 1.000000E-03 1.000000E-06 -9.936377E-04 -9.873159E-07 -9.809739E-04 -9.623097E-07 -9.621293E-04 -9.256927E-07 -0.000000E+00 -0.000000E+00 -4.100000E-02 -3.610000E-04 -1.275568E-02 -3.756672E-05 -7.436840E-03 -1.784918E-05 -6.238119E-03 -1.114039E-05 -1.706095E-02 -6.393171E-05 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -1.510747E-03 -8.216143E-07 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -2.500000E-02 -1.570000E-04 -4.743361E-03 -1.500512E-05 -2.243747E-03 -1.216909E-05 -6.504387E-04 -5.012686E-06 -1.369930E-02 -4.220232E-05 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -6.124312E-04 -1.875678E-07 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -1.205998E-03 -7.272200E-07 -2.000000E-03 -2.000000E-06 -1.935082E-03 -1.872342E-06 -1.808514E-03 -1.635965E-06 -1.626644E-03 -1.325172E-06 -0.000000E+00 -0.000000E+00 -1.800000E-02 -1.180000E-04 -6.144587E-03 -1.810176E-05 -3.517233E-03 -7.894223E-06 -5.434668E-03 -1.689927E-05 -7.002945E-03 -1.633731E-05 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -9.111025E-04 -2.767076E-07 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -6.000000E-03 -1.400000E-05 -2.937841E-03 -3.083257E-06 -1.316488E-03 -1.378720E-06 -1.917209E-03 -1.388887E-06 -2.434865E-03 -1.665821E-06 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -3.102008E-04 -9.622454E-08 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -4.100000E-02 -4.290000E-04 -1.555575E-02 -6.845536E-05 -1.492622E-02 -7.523417E-05 -4.779064E-03 -1.568962E-05 -1.858109E-02 -9.770216E-05 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -3.007686E-04 -9.046177E-08 -1.000000E-03 -1.000000E-06 --7.961895E-04 -6.339178E-07 -4.508767E-04 -2.032898E-07 --6.751245E-05 -4.557931E-09 -2.105380E-03 -4.432627E-06 -1.000000E-03 -1.000000E-06 -7.706275E-04 -5.938667E-07 -3.908001E-04 -1.527247E-07 --1.181620E-05 -1.396226E-10 +9.705482E-04 +9.419638E-07 +9.129457E-04 +8.334699E-07 +8.297310E-04 +6.884535E-07 0.000000E+00 0.000000E+00 2.300000E-02 -1.870000E-04 -8.530317E-03 -2.513821E-05 -2.769866E-03 -1.832987E-06 -3.367000E-03 -3.408158E-06 -1.029151E-02 -3.475479E-05 +1.230000E-04 +5.099566E-03 +9.143616E-06 +4.738751E-03 +7.819254E-06 +3.929250E-03 +6.884420E-06 +1.015650E-02 +2.236950E-05 0.000000E+00 0.000000E+00 0.000000E+00 @@ -1019,8 +699,8 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -3.007686E-04 -9.046177E-08 +2.977039E-04 +8.862764E-08 0.000000E+00 0.000000E+00 0.000000E+00 @@ -1029,308 +709,48 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -2.300000E-02 -1.110000E-04 -1.493458E-02 -4.520237E-05 -8.130453E-03 -1.434362E-05 -5.917132E-03 -7.829616E-06 -1.005025E-02 -2.033292E-05 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -3.007686E-04 -9.046177E-08 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -7.000000E-03 -1.100000E-05 -2.102923E-03 -3.237003E-06 -5.338761E-04 -1.665334E-06 -2.177563E-03 -1.210407E-06 -3.049393E-03 -2.236660E-06 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -3.300000E-02 -2.470000E-04 -1.392809E-02 -4.644694E-05 -6.658849E-03 -2.448402E-05 -2.971606E-03 -4.596585E-06 -1.583003E-02 -5.281056E-05 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -9.146617E-04 -4.615975E-07 -1.000000E-03 -1.000000E-06 -5.742336E-04 -3.297442E-07 --5.383652E-06 -2.898371E-11 --3.879749E-04 -1.505245E-07 -1.213130E-03 -5.521442E-07 +5.912708E-04 +1.748091E-07 2.000000E-03 2.000000E-06 -1.895662E-03 -1.796999E-06 -1.695499E-03 -1.439233E-06 -1.415735E-03 -1.008516E-06 -3.007686E-04 -9.046177E-08 -4.000000E-02 -3.460000E-04 -1.325054E-02 -4.611581E-05 -4.279513E-03 -1.445432E-05 -5.681074E-03 -8.701686E-06 -1.883326E-02 -7.820565E-05 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -9.052295E-04 -4.558347E-07 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -1.525429E-03 -8.388512E-07 -3.000000E-03 -3.000000E-06 -2.694249E-03 -2.442268E-06 -2.163402E-03 -1.718872E-06 -1.541834E-03 -1.227757E-06 -0.000000E+00 -0.000000E+00 -2.000000E-02 -1.000000E-04 -5.928221E-03 -9.217060E-06 -5.152240E-03 -1.183310E-05 -2.057268E-03 -2.929338E-06 -9.478909E-03 -2.313196E-05 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -6.057201E-04 -1.834492E-07 -1.000000E-03 -1.000000E-06 -9.405199E-04 -8.845778E-07 -8.268666E-04 -6.837084E-07 -6.691277E-04 -4.477318E-07 -6.124312E-04 -1.875678E-07 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -6.124312E-04 -1.875678E-07 -1.400000E-02 -5.200000E-05 -6.537971E-03 -1.724690E-05 -3.839523E-03 -8.693753E-06 -4.048043E-03 -5.450370E-06 -7.581656E-03 -1.459334E-05 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -6.069794E-04 -3.684240E-07 -1.000000E-03 -1.000000E-06 -5.703488E-04 -3.252978E-07 --1.205336E-05 -1.452836E-10 --3.916902E-04 -1.534212E-07 -0.000000E+00 -0.000000E+00 -3.200000E-02 -2.340000E-04 -1.368605E-02 -4.005184E-05 -6.894848E-03 -1.073483E-05 -5.553663E-03 -7.001843E-06 -1.492310E-02 -4.851599E-05 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -1.224455E-03 -5.613642E-07 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 +1.762035E-03 +1.552542E-06 +1.328812E-03 +8.839688E-07 +7.771806E-04 +3.049398E-07 0.000000E+00 0.000000E+00 2.800000E-02 -1.860000E-04 -1.044511E-02 -6.915901E-05 -6.444951E-03 -3.586496E-05 -5.196826E-03 -1.312451E-05 -1.156517E-02 -3.164422E-05 +1.780000E-04 +1.190615E-02 +4.434442E-05 +7.332993E-03 +2.337416E-05 +6.867008E-03 +1.321552E-05 +1.283876E-02 +3.527488E-05 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +5.954079E-04 +3.545105E-07 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 @@ -1339,38 +759,18 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -6.057201E-04 -1.834492E-07 -1.000000E-03 -1.000000E-06 --6.535773E-04 -4.271632E-07 -1.407448E-04 -1.980911E-08 -2.824055E-04 -7.975284E-08 -1.822205E-03 -1.106831E-06 -2.000000E-03 -2.000000E-06 -1.954998E-03 -1.911525E-06 -1.867287E-03 -1.747820E-06 -1.741309E-03 -1.532659E-06 0.000000E+00 0.000000E+00 1.900000E-02 -1.010000E-04 -1.062788E-02 -3.182295E-05 -6.707513E-03 -1.259151E-05 -6.889024E-03 -1.429877E-05 -8.202036E-03 -2.430378E-05 +1.030000E-04 +3.892013E-03 +8.267134E-06 +3.385502E-03 +6.457947E-06 +4.380506E-03 +1.060881E-05 +7.130795E-03 +1.485135E-05 0.000000E+00 0.000000E+00 0.000000E+00 @@ -1379,8 +779,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -9.306024E-04 -8.660208E-07 0.000000E+00 0.000000E+00 0.000000E+00 @@ -1389,68 +787,30 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -9.306024E-04 -8.660208E-07 0.000000E+00 0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -3.102008E-04 -9.622454E-08 -1.500000E-02 -4.500000E-05 -3.192578E-03 -7.201112E-06 -4.457942E-03 -6.346144E-06 -3.572536E-03 -4.921318E-06 -7.292620E-03 -1.123722E-05 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -9.111025E-04 -2.767076E-07 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -6.069794E-04 -3.684240E-07 +8.816169E-04 +7.772484E-07 1.000000E-03 1.000000E-06 -9.537549E-04 -9.096483E-07 -8.644725E-04 -7.473127E-07 -7.383215E-04 -5.451186E-07 +9.951010E-04 +9.902260E-07 +9.853389E-04 +9.708928E-07 +9.707856E-04 +9.424246E-07 0.000000E+00 0.000000E+00 -2.300000E-02 -1.310000E-04 -7.696543E-03 -2.602323E-05 -5.553275E-03 -1.677303E-05 -3.110421E-03 -1.605284E-05 -1.157943E-02 -3.065139E-05 +2.900000E-02 +2.230000E-04 +6.260565E-03 +1.544092E-05 +7.061757E-03 +2.562385E-05 +3.982541E-03 +7.962565E-06 +1.486928E-02 +5.763902E-05 0.000000E+00 0.000000E+00 0.000000E+00 @@ -1459,38 +819,38 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -3.102008E-04 -9.622454E-08 +5.915762E-04 +1.749886E-07 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +5.954079E-04 +3.545105E-07 1.000000E-03 1.000000E-06 --1.849356E-05 -3.420117E-10 --4.994870E-04 -2.494872E-07 -2.772452E-05 -7.686492E-10 -9.104691E-04 -8.289540E-07 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 +9.938157E-04 +9.876697E-07 +9.815046E-04 +9.633512E-07 +9.631807E-04 +9.277170E-07 0.000000E+00 0.000000E+00 2.600000E-02 1.460000E-04 -1.097600E-02 -2.696995E-05 -8.425033E-03 -2.480653E-05 -3.259803E-03 -4.519527E-06 -1.278442E-02 -3.571130E-05 +7.818547E-03 +3.176773E-05 +5.200193E-03 +1.419001E-05 +3.947828E-03 +8.417104E-06 +9.232714E-03 +1.900222E-05 0.000000E+00 0.000000E+00 0.000000E+00 @@ -1499,8 +859,8 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -3.102008E-04 -9.622454E-08 +1.186919E-03 +5.294604E-07 0.000000E+00 0.000000E+00 0.000000E+00 @@ -1521,16 +881,16 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -1.600000E-02 -6.000000E-05 -2.471171E-03 -8.220215E-06 -2.563821E-04 -8.785791E-07 -1.300883E-03 -3.079168E-06 -7.314002E-03 -1.134821E-05 +3.100000E-02 +1.950000E-04 +1.338410E-02 +5.097757E-05 +6.794436E-03 +1.428226E-05 +3.939298E-03 +9.052046E-06 +1.250316E-02 +3.147176E-05 0.000000E+00 0.000000E+00 0.000000E+00 @@ -1539,18 +899,38 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -3.022304E-04 -9.134324E-08 +5.953428E-04 +1.772166E-07 1.000000E-03 1.000000E-06 --5.657444E-04 -3.200667E-07 --1.989995E-05 -3.960081E-10 -3.959267E-04 -1.567580E-07 -3.007686E-04 -9.046177E-08 +-5.747626E-05 +3.303520E-09 +-4.950447E-04 +2.450693E-07 +8.573970E-05 +7.351297E-09 +5.954079E-04 +3.545105E-07 +1.000000E-03 +1.000000E-06 +9.748367E-04 +9.503066E-07 +9.254598E-04 +8.564759E-07 +8.537292E-04 +7.288535E-07 +0.000000E+00 +0.000000E+00 +1.000000E-02 +2.600000E-05 +5.875085E-04 +4.563904E-07 +-9.207198E-05 +5.154496E-07 +3.674257E-05 +1.178281E-06 +5.048984E-03 +5.880390E-06 0.000000E+00 0.000000E+00 0.000000E+00 @@ -1559,18 +939,8 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -0.000000E+00 -0.000000E+00 -8.000000E-03 -1.800000E-05 -5.436075E-03 -7.868978E-06 -2.425522E-03 -1.963607E-06 -7.168734E-04 -1.273978E-06 -4.589694E-03 -5.548791E-06 +3.079655E-04 +9.484274E-08 0.000000E+00 0.000000E+00 0.000000E+00 @@ -1579,6 +949,28 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +5.952778E-04 +3.543557E-07 +1.000000E-03 +1.000000E-06 +9.362621E-04 +8.765867E-07 +8.148801E-04 +6.640295E-07 +6.473941E-04 +4.191191E-07 +0.000000E+00 +0.000000E+00 +3.100000E-02 +2.130000E-04 +1.472240E-02 +5.500913E-05 +1.077445E-02 +2.987369E-05 +6.729425E-03 +1.249089E-05 +1.363637E-02 +4.345511E-05 0.000000E+00 0.000000E+00 0.000000E+00 @@ -1587,150 +979,38 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -2.100000E-02 -1.070000E-04 -7.539735E-03 -2.068189E-05 -3.936810E-03 -7.972494E-06 -2.420366E-04 -1.148364E-06 -9.428594E-03 -2.131421E-05 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -3.053824E-04 -9.325841E-08 +1.182717E-03 +5.268981E-07 2.000000E-03 2.000000E-06 -1.606787E-04 -1.589809E-06 -1.384713E-03 -1.050316E-06 -7.117279E-04 -6.789060E-07 -9.257840E-04 -4.781566E-07 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -4.600000E-02 -5.100000E-04 -1.468472E-02 -4.705766E-05 -8.285657E-03 -2.501121E-05 -5.066048E-03 -7.892505E-06 -1.769628E-02 -7.226941E-05 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -1.216485E-03 -5.564829E-07 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -2.300000E-02 -1.130000E-04 -9.030313E-03 -2.036594E-05 -5.561323E-03 -2.088769E-05 -3.949070E-03 -5.399490E-06 -1.065996E-02 -2.405722E-05 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -6.124312E-04 -1.875678E-07 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -6.044609E-04 -3.653729E-07 +-1.367978E-03 +9.381191E-07 +4.071787E-04 +9.316064E-08 +4.394728E-04 +1.064342E-07 +2.110881E-03 +1.737594E-06 1.000000E-03 1.000000E-06 -9.969425E-04 -9.938944E-07 -9.908416E-04 -9.817670E-07 -9.817251E-04 -9.637842E-07 -0.000000E+00 -0.000000E+00 -1.300000E-02 -4.300000E-05 -1.119189E-03 -4.668647E-06 --1.976393E-04 -4.632517E-06 -2.358914E-03 -3.047107E-06 -6.688330E-03 -1.125860E-05 +9.347357E-04 +8.737309E-07 +8.105963E-04 +6.570664E-07 +6.396651E-04 +4.091714E-07 +2.938723E-04 +8.636093E-08 +2.900000E-02 +1.950000E-04 +8.928267E-03 +2.594547E-05 +4.752762E-03 +1.522378E-05 +5.376579E-03 +1.088620E-05 +1.461149E-02 +4.367386E-05 0.000000E+00 0.000000E+00 0.000000E+00 @@ -1739,58 +1019,58 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -3.102008E-04 -9.622454E-08 +5.912057E-04 +1.747704E-07 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +3.100000E-02 +2.030000E-04 +1.194795E-02 +4.198084E-05 +8.484089E-03 +1.631808E-05 +5.880364E-03 +1.308096E-05 +1.342551E-02 +3.842917E-05 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +5.915762E-04 +1.749886E-07 1.000000E-03 1.000000E-06 --3.353539E-04 -1.124622E-07 --3.313067E-04 -1.097641E-07 -4.087442E-04 -1.670718E-07 -9.161472E-04 -8.393257E-07 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -2.600000E-02 -1.980000E-04 -1.024848E-02 -3.100622E-05 --1.145555E-04 -2.521646E-06 -1.453177E-03 -1.505423E-06 -1.124135E-02 -3.412415E-05 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -6.029991E-04 -1.818050E-07 -1.000000E-03 -1.000000E-06 --2.499079E-04 -6.245395E-08 --4.063191E-04 -1.650952E-07 -3.358425E-04 -1.127902E-07 -6.044609E-04 -3.653729E-07 +-5.881991E-05 +3.459782E-09 +-4.948103E-04 +2.448373E-07 +8.772111E-05 +7.694993E-09 +5.871337E-04 +3.447260E-07 0.000000E+00 0.000000E+00 0.000000E+00 @@ -1802,15 +1082,15 @@ tally 1: 0.000000E+00 0.000000E+00 1.900000E-02 -8.700000E-05 -6.743817E-03 -2.313239E-05 -1.353852E-03 -7.358462E-06 -3.054381E-03 -5.051576E-06 -7.932519E-03 -1.438883E-05 +1.030000E-04 +3.010784E-03 +6.984061E-06 +5.243839E-03 +8.093978E-06 +-2.502286E-04 +2.564795E-06 +7.760559E-03 +1.654842E-05 0.000000E+00 0.000000E+00 0.000000E+00 @@ -1819,8 +1099,288 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -3.102008E-04 -9.622454E-08 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +2.935668E-04 +8.618149E-08 +1.000000E-03 +1.000000E-06 +9.333938E-04 +8.712239E-07 +8.068359E-04 +6.509841E-07 +6.328968E-04 +4.005583E-07 +0.000000E+00 +0.000000E+00 +4.400000E-02 +4.320000E-04 +1.141886E-02 +4.208707E-05 +9.213446E-03 +2.259305E-05 +9.177440E-03 +2.088782E-05 +2.116869E-02 +9.629049E-05 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +1.501009E-03 +6.405023E-07 +1.000000E-03 +1.000000E-06 +5.882614E-04 +3.460515E-07 +1.907719E-05 +3.639390E-10 +-3.734703E-04 +1.394801E-07 +1.472277E-03 +9.506220E-07 +2.000000E-03 +2.000000E-06 +1.830192E-03 +1.679505E-06 +1.519257E-03 +1.189525E-06 +1.118506E-03 +7.332971E-07 +2.977039E-04 +8.862764E-08 +3.100000E-02 +2.250000E-04 +1.389831E-02 +5.927254E-05 +9.999959E-03 +3.379365E-05 +4.584291E-03 +1.665226E-05 +1.729188E-02 +6.078654E-05 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +1.792523E-03 +8.900699E-07 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +4.000000E-02 +3.880000E-04 +6.620484E-03 +3.751545E-05 +9.255367E-03 +1.963463E-05 +7.761524E-03 +1.694944E-05 +1.659048E-02 +7.200875E-05 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +2.976389E-04 +8.858892E-08 +1.000000E-03 +1.000000E-06 +-5.273064E-04 +2.780520E-07 +-8.292201E-05 +6.876059E-09 +4.244131E-04 +1.801265E-07 +8.891501E-04 +4.407166E-07 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +2.900000E-02 +1.970000E-04 +4.944370E-03 +2.340271E-05 +3.891346E-03 +1.137205E-05 +5.738303E-03 +9.169816E-06 +1.046961E-02 +2.353871E-05 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +6.056694E-04 +1.834704E-07 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +1.203065E-03 +7.240969E-07 +2.000000E-03 +2.000000E-06 +1.696621E-03 +1.449397E-06 +1.174096E-03 +7.548933E-07 +5.719051E-04 +3.184788E-07 +0.000000E+00 +0.000000E+00 +2.900000E-02 +1.990000E-04 +1.237546E-02 +3.198261E-05 +8.287792E-03 +2.747313E-05 +3.254969E-03 +8.653294E-06 +1.189702E-02 +3.303341E-05 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +9.033083E-04 +2.720593E-07 +3.000000E-03 +3.000000E-06 +3.649225E-04 +1.756075E-06 +1.134112E-03 +8.940601E-07 +-9.392028E-04 +5.872882E-07 +1.484188E-03 +9.721094E-07 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +3.600000E-02 +2.740000E-04 +9.407788E-03 +2.403566E-05 +4.480017E-03 +6.102099E-06 +5.941113E-03 +1.265337E-05 +1.462273E-02 +4.551799E-05 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +6.056694E-04 +1.834704E-07 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +8.807005E-04 +7.756334E-07 +1.000000E-03 +1.000000E-06 +8.905295E-04 +7.930427E-07 +6.895641E-04 +4.754986E-07 +4.297756E-04 +1.847070E-07 +0.000000E+00 +0.000000E+00 +2.600000E-02 +1.800000E-04 +1.225587E-02 +3.757196E-05 +7.670283E-03 +2.316758E-05 +5.282346E-03 +1.407031E-05 +1.162837E-02 +3.241151E-05 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +5.874391E-04 +1.725424E-07 0.000000E+00 0.000000E+00 0.000000E+00 @@ -1843,14 +1403,14 @@ tally 1: 0.000000E+00 2.000000E-02 9.000000E-05 -4.678519E-03 -8.162854E-06 -2.588181E-03 -7.958110E-06 -2.322176E-03 -3.426024E-06 -8.534070E-03 -1.767419E-05 +5.358616E-03 +1.697599E-05 +3.060277E-03 +7.132281E-06 +2.485730E-03 +7.247489E-06 +9.248313E-03 +1.738407E-05 0.000000E+00 0.000000E+00 0.000000E+00 @@ -1859,8 +1419,8 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -6.029991E-04 -1.818050E-07 +8.991712E-04 +2.696131E-07 0.000000E+00 0.000000E+00 0.000000E+00 @@ -1869,68 +1429,508 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -1.100000E-02 -3.300000E-05 -7.244624E-03 -1.778235E-05 -2.926133E-03 -9.287629E-06 -9.851866E-04 -6.097573E-06 -3.660351E-03 -3.716102E-06 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -3.034897E-04 -9.210600E-08 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -3.053824E-04 -9.325841E-08 +5.954079E-04 +3.545105E-07 1.000000E-03 1.000000E-06 -1.744930E-04 -3.044781E-08 --4.543283E-04 -2.064142E-07 --2.484572E-04 -6.173098E-08 +9.816220E-04 +9.635817E-07 +9.453726E-04 +8.937294E-07 +8.922496E-04 +7.961093E-07 +0.000000E+00 +0.000000E+00 +2.300000E-02 +1.330000E-04 +1.081756E-02 +3.675127E-05 +2.530156E-03 +6.960955E-06 +-1.930911E-03 +4.910249E-06 +1.162826E-02 +3.490280E-05 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +8.957101E-04 +4.402865E-07 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +1.900000E-02 +9.700000E-05 +1.046968E-02 +3.828445E-05 +6.704767E-03 +2.668260E-05 +2.659611E-03 +1.143518E-05 +1.099391E-02 +2.847330E-05 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +2.935668E-04 +8.618149E-08 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +2.655540E-03 +2.523801E-06 +3.000000E-03 +5.000000E-06 +2.960960E-03 +4.866206E-06 +2.884206E-03 +4.608867E-06 +2.772329E-03 +4.247272E-06 +2.976389E-04 +8.858892E-08 +1.900000E-02 +8.700000E-05 +5.469796E-03 +1.029265E-05 +4.923561E-04 +2.403244E-06 +2.579361E-03 +5.814745E-06 +8.693503E-03 +1.682274E-05 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +2.976389E-04 +8.858892E-08 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +1.800000E-02 +1.220000E-04 +6.860987E-03 +2.966806E-05 +4.229750E-03 +1.617998E-05 +1.295452E-03 +8.613003E-07 +7.815193E-03 +2.039363E-05 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +2.935668E-04 +8.618149E-08 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +2.000000E-02 +1.080000E-04 +8.640372E-03 +1.765553E-05 +5.688468E-03 +1.038555E-05 +2.447898E-03 +4.466055E-06 +8.949668E-03 +1.935056E-05 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +2.977039E-04 +8.862764E-08 +1.000000E-03 +1.000000E-06 +-3.805163E-04 +1.447926E-07 +-2.828111E-04 +7.998210E-08 +4.330345E-04 +1.875189E-07 +2.121142E-03 +1.958355E-06 +1.000000E-03 +1.000000E-06 +9.260022E-04 +8.574800E-07 +7.862200E-04 +6.181419E-07 +5.960676E-04 +3.552966E-07 +2.938723E-04 +8.636093E-08 +1.700000E-02 +7.100000E-05 +3.566805E-03 +2.049908E-05 +5.418617E-03 +7.496014E-06 +2.451897E-03 +2.115374E-06 +7.760001E-03 +1.634548E-05 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +2.977039E-04 +8.862764E-08 +1.000000E-03 +1.000000E-06 +-7.119580E-04 +5.068842E-07 +2.603263E-04 +6.776977E-08 +1.657364E-04 +2.746855E-08 +8.807005E-04 +7.756334E-07 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +1.200000E-02 +3.400000E-05 +5.905081E-03 +1.535048E-05 +3.856089E-03 +8.589511E-06 +3.244585E-03 +5.882222E-06 +5.074321E-03 +5.793166E-06 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +1.600000E-02 +5.400000E-05 +7.937805E-03 +1.353584E-05 +4.065443E-03 +5.658333E-06 +3.432476E-03 +3.530320E-06 +6.546903E-03 +9.343145E-06 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +2.500000E-02 +1.390000E-04 +1.511834E-02 +5.459835E-05 +7.753447E-03 +2.291820E-05 +6.142979E-03 +1.359405E-05 +1.043467E-02 +2.526769E-05 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +5.912057E-04 +1.747704E-07 +1.000000E-03 +1.000000E-06 +-1.098110E-04 +1.205846E-08 +-4.819123E-04 +2.322395E-07 +1.614061E-04 +2.605194E-08 +8.813115E-04 +4.316252E-07 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +2.935668E-04 +8.618149E-08 +1.200000E-02 +3.000000E-05 +4.798420E-03 +7.171924E-06 +1.417651E-03 +4.997963E-06 +2.131704E-03 +3.253030E-06 +7.754475E-03 +1.333333E-05 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +2.938723E-04 +8.636093E-08 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +1.484383E-03 +1.504224E-06 +3.000000E-03 +5.000000E-06 +2.760812E-03 +4.139104E-06 +2.336063E-03 +2.844690E-06 +1.817042E-03 +1.656152E-06 +0.000000E+00 +0.000000E+00 +1.900000E-02 +9.900000E-05 +7.244455E-03 +2.708286E-05 +4.601657E-03 +5.366244E-06 +-1.675270E-03 +3.867377E-06 +9.216755E-03 +2.272207E-05 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +3.079655E-04 +9.484274E-08 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +6.159310E-04 +3.793709E-07 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +8.000000E-03 +1.800000E-05 +4.925975E-03 +6.260377E-06 +3.176938E-03 +2.631319E-06 +2.008278E-03 +1.484516E-06 +3.844641E-03 +4.075869E-06 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +2.977039E-04 +8.862764E-08 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +9.238964E-04 +8.535846E-07 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 0.000000E+00 0.000000E+00 1.000000E-02 -2.600000E-05 -3.641369E-03 -6.818931E-06 -2.110606E-03 -2.176630E-06 -1.892973E-03 -1.812944E-06 -5.777456E-03 -9.494012E-06 +3.400000E-05 +4.086838E-03 +5.900874E-06 +1.812330E-03 +3.716159E-06 +2.138941E-03 +3.006748E-06 +5.414129E-03 +8.079335E-06 0.000000E+00 0.000000E+00 0.000000E+00 @@ -1939,8 +1939,8 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -3.034897E-04 -9.210600E-08 +3.079655E-04 +9.484274E-08 0.000000E+00 0.000000E+00 0.000000E+00 @@ -1961,16 +1961,16 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -1.300000E-02 -3.900000E-05 -1.682557E-03 -1.846926E-06 -4.172846E-04 -1.892148E-06 -7.276646E-04 -1.085417E-06 -6.092709E-03 -8.907893E-06 +6.000000E-03 +8.000000E-06 +2.104495E-03 +2.749678E-06 +8.451272E-04 +9.362821E-07 +5.355137E-04 +3.419837E-07 +2.683856E-03 +1.512640E-06 0.000000E+00 0.000000E+00 0.000000E+00 @@ -1979,8 +1979,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -3.053824E-04 -9.325841E-08 0.000000E+00 0.000000E+00 0.000000E+00 @@ -1991,6 +1989,28 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +2.976389E-04 +8.858892E-08 +1.000000E-03 +1.000000E-06 +9.374310E-04 +8.787769E-07 +8.181653E-04 +6.693944E-07 +6.533352E-04 +4.268468E-07 +2.976389E-04 +8.858892E-08 +8.000000E-03 +1.600000E-05 +5.411154E-03 +8.076329E-06 +3.145940E-03 +4.212660E-06 +2.637510E-03 +3.210372E-06 +3.866944E-03 +3.257876E-06 0.000000E+00 0.000000E+00 0.000000E+00 @@ -2001,16 +2021,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -5.000000E-03 -7.000000E-06 -1.580450E-03 -1.753085E-06 -3.349602E-04 -3.639488E-07 -2.690006E-04 -2.374932E-07 -1.830811E-03 -9.321096E-07 0.000000E+00 0.000000E+00 0.000000E+00 @@ -2019,8 +2029,16 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -3.102008E-04 -9.622454E-08 +1.175489E-03 +1.381775E-06 +1.000000E-03 +1.000000E-06 +7.809681E-04 +6.099112E-07 +4.148668E-04 +1.721145E-07 +1.935089E-05 +3.744570E-10 0.000000E+00 0.000000E+00 0.000000E+00 @@ -2049,8 +2067,150 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -3.034897E-04 -9.210600E-08 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +1.000000E-02 +3.400000E-05 +4.840884E-03 +1.080853E-05 +3.402096E-03 +4.113972E-06 +1.374077E-03 +2.333511E-06 +4.754696E-03 +7.172310E-06 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +3.079655E-04 +9.484274E-08 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +2.900000E-02 +2.030000E-04 +6.527719E-03 +1.422798E-05 +1.560049E-03 +2.934829E-06 +1.548553E-03 +8.929308E-06 +1.108618E-02 +3.019578E-05 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +1.174573E-03 +8.619943E-07 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +4.000000E-03 +8.000000E-06 +1.520286E-03 +4.076900E-06 +2.191143E-03 +3.717004E-06 +1.161623E-03 +3.726099E-06 +3.570376E-03 +5.251427E-06 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +2.000000E-03 +2.000000E-06 +1.447007E-04 +7.721849E-07 +1.582773E-04 +4.841114E-08 +1.981705E-04 +2.166687E-07 +9.135699E-04 +4.679599E-07 0.000000E+00 0.000000E+00 0.000000E+00 @@ -2082,15 +2242,15 @@ tally 1: 0.000000E+00 0.000000E+00 1.900000E-02 -1.250000E-04 -2.138118E-03 -8.791773E-06 -2.868574E-03 -9.339641E-06 -5.807501E-04 -1.660344E-06 -8.165982E-03 -2.226036E-05 +1.030000E-04 +1.035735E-02 +3.119381E-05 +6.483551E-03 +1.164471E-05 +3.924334E-03 +6.047577E-06 +9.748673E-03 +2.956634E-05 0.000000E+00 0.000000E+00 0.000000E+00 @@ -2099,8 +2259,8 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -3.102008E-04 -9.622454E-08 +3.079655E-04 +9.484274E-08 0.000000E+00 0.000000E+00 0.000000E+00 @@ -2109,28 +2269,48 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -6.044609E-04 -3.653729E-07 +2.935668E-04 +8.618149E-08 1.000000E-03 1.000000E-06 -2.312419E-04 -5.347280E-08 --4.197908E-04 -1.762243E-07 --3.159499E-04 -9.982435E-08 +8.623139E-04 +7.435852E-07 +6.153778E-04 +3.786899E-07 +3.095388E-04 +9.581428E-08 +0.000000E+00 +0.000000E+00 +1.900000E-02 +9.900000E-05 +7.385212E-03 +2.033270E-05 +6.336514E-03 +2.028060E-05 +3.967026E-03 +1.027239E-05 +1.066281E-02 +2.937591E-05 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +2.976389E-04 +8.858892E-08 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 0.000000E+00 0.000000E+00 -2.100000E-02 -1.070000E-04 -2.216472E-03 -6.388960E-06 -4.896969E-03 -6.428816E-06 -2.155707E-03 -2.884510E-06 -1.038058E-02 -2.477423E-05 0.000000E+00 0.000000E+00 0.000000E+00 @@ -2139,198 +2319,18 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -3.007686E-04 -9.046177E-08 -1.000000E-03 -1.000000E-06 -7.019813E-04 -4.927778E-07 -2.391667E-04 -5.720072E-08 --1.881699E-04 -3.540793E-08 -2.131373E-03 -2.696833E-06 -1.000000E-03 -1.000000E-06 -9.937981E-04 -9.876347E-07 -9.814521E-04 -9.632483E-07 -9.630767E-04 -9.275168E-07 0.000000E+00 0.000000E+00 6.000000E-03 1.000000E-05 -2.774441E-03 -2.455060E-06 --4.125360E-04 -1.557128E-06 --9.369606E-04 -2.349382E-06 -3.666415E-03 -4.871762E-06 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -6.057201E-04 -1.834492E-07 -1.000000E-03 -1.000000E-06 -8.429685E-04 -7.105959E-07 -5.658938E-04 -3.202358E-07 -2.330721E-04 -5.432261E-08 -6.015373E-04 -3.618471E-07 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -3.000000E-03 -5.000000E-06 -1.596397E-03 -1.275630E-06 -4.822532E-04 -1.627925E-07 -2.983020E-04 -9.401537E-08 -1.221939E-03 -7.467452E-07 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -8.000000E-03 -4.000000E-05 --7.915490E-05 -1.150292E-07 -2.293529E-03 -2.932682E-06 -1.356149E-03 -9.471925E-07 -4.579650E-03 -7.918475E-06 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -3.022304E-04 -9.134324E-08 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -1.100000E-02 -3.300000E-05 -5.093647E-03 -1.217545E-05 -1.852586E-03 -4.478970E-06 -9.768799E-04 -1.395189E-06 -4.578572E-03 -5.491453E-06 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -3.102008E-04 -9.622454E-08 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -3.053824E-04 -9.325841E-08 -1.000000E-03 -1.000000E-06 -9.817451E-04 -9.638234E-07 -9.457351E-04 -8.944149E-07 -8.929546E-04 -7.973680E-07 -0.000000E+00 -0.000000E+00 -4.000000E-03 -4.000000E-06 --1.284380E-03 -9.356368E-07 --5.965448E-04 -6.643272E-07 -3.352677E-04 -2.956621E-07 -1.526686E-03 -6.527074E-07 +1.316884E-03 +2.894217E-06 +2.095957E-03 +1.439521E-06 +1.013831E-04 +8.405300E-07 +2.404012E-03 +1.641294E-06 0.000000E+00 0.000000E+00 0.000000E+00 @@ -2363,14 +2363,14 @@ tally 1: 0.000000E+00 1.000000E-03 1.000000E-06 --3.965739E-04 -1.572709E-07 --2.640937E-04 -6.974547E-08 -4.389371E-04 -1.926657E-07 -3.053824E-04 -9.325841E-08 +-3.865739E-04 +1.494394E-07 +-2.758409E-04 +7.608820E-08 +4.354374E-04 +1.896058E-07 +5.871337E-04 +3.447260E-07 0.000000E+00 0.000000E+00 0.000000E+00 @@ -2402,11 +2402,11 @@ tally 1: 0.000000E+00 0.000000E+00 tally 2: -5.720364E-01 -6.548043E-02 -6.217988E-01 -7.736906E-02 -3.624477E+00 -2.628737E+00 -4.047526E+01 -3.278231E+02 +5.656887E-01 +6.401442E-02 +6.158976E-01 +7.588371E-02 +3.588479E+00 +2.575762E+00 +4.003041E+01 +3.205440E+02 diff --git a/tests/test_statepoint_batch/results_true.dat b/tests/test_statepoint_batch/results_true.dat index 95b536997e..dd5195ef0d 100644 --- a/tests/test_statepoint_batch/results_true.dat +++ b/tests/test_statepoint_batch/results_true.dat @@ -1,2 +1,2 @@ k-combined: -3.051173E-01 6.930168E-04 +3.003258E-01 3.388059E-03 diff --git a/tests/test_statepoint_interval/results_true.dat b/tests/test_statepoint_interval/results_true.dat index 5263a6b7fd..7b2fbf37f5 100644 --- a/tests/test_statepoint_interval/results_true.dat +++ b/tests/test_statepoint_interval/results_true.dat @@ -1,2 +1,2 @@ k-combined: -3.021779E-01 3.813358E-03 +2.943619E-01 3.309635E-03 diff --git a/tests/test_statepoint_restart/results_true.dat b/tests/test_statepoint_restart/results_true.dat index 0e4eef9a9d..49afeb1d52 100644 --- a/tests/test_statepoint_restart/results_true.dat +++ b/tests/test_statepoint_restart/results_true.dat @@ -1,16 +1,16 @@ k-combined: -3.021779E-01 3.813358E-03 +2.943619E-01 3.309635E-03 tally 1: -7.000000E-03 -2.100000E-05 -1.127639E-03 -7.464355E-07 --1.264355E-03 -1.192757E-06 -8.769846E-04 -1.117508E-06 -3.359153E-03 -4.366438E-06 +1.100000E-02 +3.700000E-05 +1.307570E-03 +2.851451E-06 +1.564980E-03 +2.368303E-06 +3.138136E-03 +5.769887E-06 +7.719235E-03 +2.632583E-05 0.000000E+00 0.000000E+00 0.000000E+00 @@ -19,50 +19,38 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -6.107648E-04 -3.730336E-07 +2.976389E-04 +8.858892E-08 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +8.816169E-04 +7.772484E-07 1.000000E-03 1.000000E-06 -6.713061E-04 -4.506518E-07 -1.759778E-04 -3.096817E-08 --2.506458E-04 -6.282332E-08 -6.069794E-04 -3.684240E-07 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 +8.782909E-04 +7.713950E-07 +6.570925E-04 +4.317705E-07 +3.763366E-04 +1.416293E-07 0.000000E+00 0.000000E+00 7.000000E-03 1.500000E-05 -4.398928E-03 -8.198908E-06 -1.784486E-03 -3.422315E-06 -8.494423E-04 -9.262242E-07 -4.566637E-03 -5.646039E-06 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -6.069794E-04 -3.684240E-07 -0.000000E+00 -0.000000E+00 +3.445754E-03 +3.819507E-06 +2.124056E-03 +1.976201E-06 +1.542203E-03 +1.531669E-06 +4.135720E-03 +4.532612E-06 0.000000E+00 0.000000E+00 0.000000E+00 @@ -71,6 +59,8 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +5.874391E-04 +1.725424E-07 0.000000E+00 0.000000E+00 0.000000E+00 @@ -79,18 +69,28 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +3.079655E-04 +9.484274E-08 +1.000000E-03 +1.000000E-06 +9.451745E-04 +8.933548E-07 +8.400323E-04 +7.056542E-07 +6.931788E-04 +4.804969E-07 0.000000E+00 0.000000E+00 3.000000E-03 3.000000E-06 --1.419189E-03 -9.791601E-07 --3.125982E-05 -5.086129E-07 -3.291570E-04 -1.943609E-07 -1.525426E-03 -8.346311E-07 +1.134842E-03 +1.040850E-06 +6.127525E-05 +3.988312E-07 +4.938488E-05 +2.738492E-07 +1.484493E-03 +9.722888E-07 0.000000E+00 0.000000E+00 0.000000E+00 @@ -121,18 +121,136 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +1.700000E-02 +7.100000E-05 +5.492922E-03 +1.013834E-05 +5.773309E-04 +3.561549E-06 +2.550048E-03 +3.841061E-06 +8.048523E-03 +1.583844E-05 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +5.915762E-04 +1.749886E-07 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +1.200000E-02 +4.600000E-05 +9.302157E-04 +3.853850E-06 +1.874541E-03 +3.092623E-06 +-1.511552E-03 +4.053466E-06 +5.941986E-03 +9.853873E-06 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +1.186549E-03 +5.291648E-07 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +2.935668E-04 +8.618149E-08 1.000000E-03 1.000000E-06 --1.542107E-05 -2.378095E-10 --4.996433E-04 -2.496434E-07 -2.312244E-05 -5.346472E-10 -3.053824E-04 -9.325841E-08 +9.893707E-04 +9.788543E-07 +9.682814E-04 +9.375689E-07 +9.370683E-04 +8.780970E-07 0.000000E+00 0.000000E+00 +8.000000E-03 +2.000000E-05 +3.721382E-03 +4.736982E-06 +-1.037031E-04 +6.648392E-07 +-5.996856E-04 +9.642316E-07 +3.248622E-03 +4.063214E-06 0.000000E+00 0.000000E+00 0.000000E+00 @@ -141,6 +259,8 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +2.938723E-04 +8.636093E-08 0.000000E+00 0.000000E+00 0.000000E+00 @@ -161,16 +281,16 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -2.000000E-02 -8.600000E-05 -3.995253E-03 -1.648172E-05 -3.349403E-03 -1.166653E-05 -4.208940E-03 -7.077664E-06 -1.033905E-02 -2.197265E-05 +2.000000E-03 +2.000000E-06 +1.502634E-03 +1.146555E-06 +7.198331E-04 +3.484978E-07 +-3.426513E-05 +1.342349E-07 +1.511030E-03 +1.198311E-06 0.000000E+00 0.000000E+00 0.000000E+00 @@ -179,8 +299,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -6.029991E-04 -1.818050E-07 0.000000E+00 0.000000E+00 0.000000E+00 @@ -201,416 +319,18 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -2.600000E-02 -1.620000E-04 -7.996640E-03 -1.882484E-05 -3.921034E-03 -1.157453E-05 -1.644629E-03 -3.217857E-06 -1.159182E-02 -3.534975E-05 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -1.100000E-02 -2.500000E-05 -4.691861E-03 -7.999548E-06 -1.771537E-03 -3.385525E-06 -7.888659E-04 -1.911759E-06 -4.561602E-03 -4.337486E-06 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -6.107648E-04 -3.730336E-07 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -1.000000E-03 -1.000000E-06 --3.878617E-04 -1.504367E-07 --2.743449E-04 -7.526515E-08 -4.359210E-04 -1.900271E-07 -3.034897E-04 -9.210600E-08 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -1.600000E-02 -5.600000E-05 -4.563082E-03 -6.119552E-06 -1.839038E-03 -1.089339E-06 -1.944879E-03 -2.372975E-06 -8.524215E-03 -1.874218E-05 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -6.015373E-04 -3.618471E-07 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 0.000000E+00 0.000000E+00 1.300000E-02 -5.300000E-05 -6.763364E-03 -1.445064E-05 -2.970216E-03 -3.071874E-06 -2.622002E-03 -3.547897E-06 -5.177618E-03 -8.040228E-06 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -3.007686E-04 -9.046177E-08 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -3.102008E-04 -9.622454E-08 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -8.000000E-03 -1.400000E-05 -1.172941E-04 -1.212454E-06 -4.110442E-04 -5.740547E-06 -1.788140E-03 -9.775061E-07 -3.946448E-03 -3.956113E-06 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -6.109694E-04 -1.866863E-07 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -1.000000E-03 -1.000000E-06 -9.168648E-04 -8.406410E-07 -7.609615E-04 -5.790624E-07 -5.515881E-04 -3.042494E-07 -3.102008E-04 -9.622454E-08 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -3.102008E-04 -9.622454E-08 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -3.000000E-02 -2.020000E-04 -1.305502E-02 -4.343057E-05 -8.214305E-03 -2.001202E-05 -3.511762E-03 -1.412559E-05 -1.401995E-02 -4.269615E-05 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -2.400000E-02 -1.320000E-04 -5.207205E-03 -9.311400E-06 -3.232372E-03 -3.475980E-06 -2.062884E-03 -4.773104E-06 -1.039066E-02 -2.611825E-05 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -9.171802E-04 -4.646485E-07 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -1.221939E-03 -7.467452E-07 -1.000000E-03 -1.000000E-06 -9.910929E-04 -9.822652E-07 -9.733978E-04 -9.475032E-07 -9.471508E-04 -8.970946E-07 -0.000000E+00 -0.000000E+00 -1.200000E-02 -5.000000E-05 -2.602864E-03 -4.471106E-06 -4.677566E-03 -1.033338E-05 -3.640584E-03 -3.605122E-06 -4.845169E-03 -8.244364E-06 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -1.100000E-02 3.700000E-05 -3.786358E-03 -5.908272E-06 -3.416266E-03 -7.032934E-06 -3.353945E-03 -5.140933E-06 -4.261660E-03 -4.981501E-06 +3.121167E-03 +2.465327E-06 +4.474559E-04 +1.522316E-06 +9.193982E-04 +3.247292E-06 +5.365660E-03 +6.567981E-06 0.000000E+00 0.000000E+00 0.000000E+00 @@ -619,8 +339,288 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -6.136905E-04 -1.883305E-07 +6.056044E-04 +1.834317E-07 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +2.977039E-04 +8.862764E-08 +1.000000E-03 +1.000000E-06 +2.390376E-04 +5.713899E-08 +-4.142915E-04 +1.716375E-07 +-3.244105E-04 +1.052422E-07 +0.000000E+00 +0.000000E+00 +1.500000E-02 +5.500000E-05 +2.209492E-03 +2.545503E-06 +5.991182E-03 +1.290780E-05 +1.772063E-03 +2.006265E-06 +5.944487E-03 +1.042417E-05 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +3.079655E-04 +9.484274E-08 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +1.190621E-03 +8.859279E-07 +2.000000E-03 +2.000000E-06 +1.908405E-03 +1.821879E-06 +1.732819E-03 +1.508498E-06 +1.487670E-03 +1.131430E-06 +0.000000E+00 +0.000000E+00 +4.000000E-03 +4.000000E-06 +3.379122E-03 +2.880429E-06 +2.320644E-03 +1.498759E-06 +1.119131E-03 +6.212863E-07 +1.494579E-03 +6.241237E-07 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +2.976389E-04 +8.858892E-08 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +2.100000E-02 +1.150000E-04 +5.280651E-03 +1.222273E-05 +5.235520E-03 +1.202448E-05 +5.064093E-03 +1.787892E-05 +1.071093E-02 +2.748613E-05 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +8.954046E-04 +2.673852E-07 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +2.600000E-02 +1.560000E-04 +6.314886E-03 +1.168542E-05 +6.676680E-04 +9.930437E-06 +-2.103247E-04 +2.815945E-07 +1.249410E-02 +3.501590E-05 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +6.159310E-04 +3.793709E-07 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +2.976389E-04 +8.858892E-08 +1.000000E-03 +1.000000E-06 +9.514029E-04 +9.051675E-07 +8.577513E-04 +7.357373E-07 +7.258432E-04 +5.268483E-07 +0.000000E+00 +0.000000E+00 +2.300000E-02 +1.650000E-04 +9.507197E-03 +3.773476E-05 +6.295609E-03 +2.127696E-05 +6.339840E-03 +1.601206E-05 +1.065253E-02 +3.447908E-05 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +1.000000E-03 +1.000000E-06 +-1.117213E-04 +1.248165E-08 +-4.812775E-04 +2.316281E-07 +1.640958E-04 +2.692743E-08 +5.871337E-04 +3.447260E-07 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +1.500000E-02 +6.300000E-05 +5.790211E-03 +1.210465E-05 +8.591246E-04 +1.950998E-06 +1.987991E-03 +4.703397E-06 +6.572185E-03 +9.479067E-06 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +5.954079E-04 +3.545105E-07 0.000000E+00 0.000000E+00 0.000000E+00 @@ -642,15 +642,15 @@ tally 1: 0.000000E+00 0.000000E+00 2.700000E-02 -2.090000E-04 -7.046302E-03 -1.594429E-05 -6.489218E-03 -1.057182E-05 -5.057204E-03 -8.269888E-06 -1.274541E-02 -3.591083E-05 +1.670000E-04 +1.789444E-02 +8.260005E-05 +1.049872E-02 +2.774537E-05 +5.665111E-03 +8.560197E-06 +1.100708E-02 +2.835296E-05 0.000000E+00 0.000000E+00 0.000000E+00 @@ -659,358 +659,38 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -1.503843E-03 -2.261544E-06 -3.000000E-03 -5.000000E-06 -3.434984E-04 -2.731822E-07 --1.911976E-04 -2.018778E-08 --5.635206E-04 -2.075189E-07 -2.764973E-03 -3.917274E-06 -2.000000E-03 -2.000000E-06 -1.802029E-03 -1.623906E-06 -1.435858E-03 -1.032682E-06 -9.559957E-04 -4.622600E-07 -0.000000E+00 -0.000000E+00 -2.600000E-02 -1.540000E-04 -1.210267E-02 -4.180540E-05 -5.431699E-03 -2.284317E-05 -6.108638E-03 -1.136078E-05 -1.309420E-02 -3.810504E-05 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -6.124312E-04 -1.875678E-07 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -6.044609E-04 -3.653729E-07 +3.079655E-04 +9.484274E-08 1.000000E-03 1.000000E-06 -9.341546E-04 -8.726448E-07 -8.089673E-04 -6.544280E-07 -6.367311E-04 -4.054265E-07 -3.022304E-04 -9.134324E-08 -2.100000E-02 -9.900000E-05 -1.206996E-02 -4.033646E-05 -6.345510E-03 -1.603169E-05 -1.976558E-03 -4.386164E-06 -1.001209E-02 -2.316074E-05 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -3.007686E-04 -9.046177E-08 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -1.815901E-03 -1.829916E-06 -2.000000E-03 -2.000000E-06 -1.977802E-03 -1.955858E-06 -1.933788E-03 -1.869841E-06 -1.868714E-03 -1.746332E-06 -0.000000E+00 -0.000000E+00 -1.100000E-02 -3.900000E-05 -2.604154E-03 -9.668124E-06 -1.503936E-04 -1.170450E-06 -5.645599E-04 -1.841604E-06 -5.455481E-03 -1.116233E-05 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -6.015373E-04 -3.618471E-07 +-2.856031E-04 +8.156913E-08 +-3.776463E-04 +1.426167E-07 +3.701637E-04 +1.370211E-07 +1.203065E-03 +7.240969E-07 1.000000E-03 1.000000E-06 -9.936377E-04 -9.873159E-07 -9.809739E-04 -9.623097E-07 -9.621293E-04 -9.256927E-07 -0.000000E+00 -0.000000E+00 -4.100000E-02 -3.610000E-04 -1.275568E-02 -3.756672E-05 -7.436840E-03 -1.784918E-05 -6.238119E-03 -1.114039E-05 -1.706095E-02 -6.393171E-05 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -1.510747E-03 -8.216143E-07 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -2.500000E-02 -1.570000E-04 -4.743361E-03 -1.500512E-05 -2.243747E-03 -1.216909E-05 -6.504387E-04 -5.012686E-06 -1.369930E-02 -4.220232E-05 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -6.124312E-04 -1.875678E-07 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -1.205998E-03 -7.272200E-07 -2.000000E-03 -2.000000E-06 -1.935082E-03 -1.872342E-06 -1.808514E-03 -1.635965E-06 -1.626644E-03 -1.325172E-06 -0.000000E+00 -0.000000E+00 -1.800000E-02 -1.180000E-04 -6.144587E-03 -1.810176E-05 -3.517233E-03 -7.894223E-06 -5.434668E-03 -1.689927E-05 -7.002945E-03 -1.633731E-05 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -9.111025E-04 -2.767076E-07 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -6.000000E-03 -1.400000E-05 -2.937841E-03 -3.083257E-06 -1.316488E-03 -1.378720E-06 -1.917209E-03 -1.388887E-06 -2.434865E-03 -1.665821E-06 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -3.102008E-04 -9.622454E-08 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -4.100000E-02 -4.290000E-04 -1.555575E-02 -6.845536E-05 -1.492622E-02 -7.523417E-05 -4.779064E-03 -1.568962E-05 -1.858109E-02 -9.770216E-05 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -3.007686E-04 -9.046177E-08 -1.000000E-03 -1.000000E-06 --7.961895E-04 -6.339178E-07 -4.508767E-04 -2.032898E-07 --6.751245E-05 -4.557931E-09 -2.105380E-03 -4.432627E-06 -1.000000E-03 -1.000000E-06 -7.706275E-04 -5.938667E-07 -3.908001E-04 -1.527247E-07 --1.181620E-05 -1.396226E-10 +9.705482E-04 +9.419638E-07 +9.129457E-04 +8.334699E-07 +8.297310E-04 +6.884535E-07 0.000000E+00 0.000000E+00 2.300000E-02 -1.870000E-04 -8.530317E-03 -2.513821E-05 -2.769866E-03 -1.832987E-06 -3.367000E-03 -3.408158E-06 -1.029151E-02 -3.475479E-05 +1.230000E-04 +5.099566E-03 +9.143616E-06 +4.738751E-03 +7.819254E-06 +3.929250E-03 +6.884420E-06 +1.015650E-02 +2.236950E-05 0.000000E+00 0.000000E+00 0.000000E+00 @@ -1019,8 +699,8 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -3.007686E-04 -9.046177E-08 +2.977039E-04 +8.862764E-08 0.000000E+00 0.000000E+00 0.000000E+00 @@ -1029,308 +709,48 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -2.300000E-02 -1.110000E-04 -1.493458E-02 -4.520237E-05 -8.130453E-03 -1.434362E-05 -5.917132E-03 -7.829616E-06 -1.005025E-02 -2.033292E-05 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -3.007686E-04 -9.046177E-08 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -7.000000E-03 -1.100000E-05 -2.102923E-03 -3.237003E-06 -5.338761E-04 -1.665334E-06 -2.177563E-03 -1.210407E-06 -3.049393E-03 -2.236660E-06 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -3.300000E-02 -2.470000E-04 -1.392809E-02 -4.644694E-05 -6.658849E-03 -2.448402E-05 -2.971606E-03 -4.596585E-06 -1.583003E-02 -5.281056E-05 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -9.146617E-04 -4.615975E-07 -1.000000E-03 -1.000000E-06 -5.742336E-04 -3.297442E-07 --5.383652E-06 -2.898371E-11 --3.879749E-04 -1.505245E-07 -1.213130E-03 -5.521442E-07 +5.912708E-04 +1.748091E-07 2.000000E-03 2.000000E-06 -1.895662E-03 -1.796999E-06 -1.695499E-03 -1.439233E-06 -1.415735E-03 -1.008516E-06 -3.007686E-04 -9.046177E-08 -4.000000E-02 -3.460000E-04 -1.325054E-02 -4.611581E-05 -4.279513E-03 -1.445432E-05 -5.681074E-03 -8.701686E-06 -1.883326E-02 -7.820565E-05 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -9.052295E-04 -4.558347E-07 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -1.525429E-03 -8.388512E-07 -3.000000E-03 -3.000000E-06 -2.694249E-03 -2.442268E-06 -2.163402E-03 -1.718872E-06 -1.541834E-03 -1.227757E-06 -0.000000E+00 -0.000000E+00 -2.000000E-02 -1.000000E-04 -5.928221E-03 -9.217060E-06 -5.152240E-03 -1.183310E-05 -2.057268E-03 -2.929338E-06 -9.478909E-03 -2.313196E-05 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -6.057201E-04 -1.834492E-07 -1.000000E-03 -1.000000E-06 -9.405199E-04 -8.845778E-07 -8.268666E-04 -6.837084E-07 -6.691277E-04 -4.477318E-07 -6.124312E-04 -1.875678E-07 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -6.124312E-04 -1.875678E-07 -1.400000E-02 -5.200000E-05 -6.537971E-03 -1.724690E-05 -3.839523E-03 -8.693753E-06 -4.048043E-03 -5.450370E-06 -7.581656E-03 -1.459334E-05 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -6.069794E-04 -3.684240E-07 -1.000000E-03 -1.000000E-06 -5.703488E-04 -3.252978E-07 --1.205336E-05 -1.452836E-10 --3.916902E-04 -1.534212E-07 -0.000000E+00 -0.000000E+00 -3.200000E-02 -2.340000E-04 -1.368605E-02 -4.005184E-05 -6.894848E-03 -1.073483E-05 -5.553663E-03 -7.001843E-06 -1.492310E-02 -4.851599E-05 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -1.224455E-03 -5.613642E-07 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 +1.762035E-03 +1.552542E-06 +1.328812E-03 +8.839688E-07 +7.771806E-04 +3.049398E-07 0.000000E+00 0.000000E+00 2.800000E-02 -1.860000E-04 -1.044511E-02 -6.915901E-05 -6.444951E-03 -3.586496E-05 -5.196826E-03 -1.312451E-05 -1.156517E-02 -3.164422E-05 +1.780000E-04 +1.190615E-02 +4.434442E-05 +7.332993E-03 +2.337416E-05 +6.867008E-03 +1.321552E-05 +1.283876E-02 +3.527488E-05 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +5.954079E-04 +3.545105E-07 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 @@ -1339,38 +759,18 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -6.057201E-04 -1.834492E-07 -1.000000E-03 -1.000000E-06 --6.535773E-04 -4.271632E-07 -1.407448E-04 -1.980911E-08 -2.824055E-04 -7.975284E-08 -1.822205E-03 -1.106831E-06 -2.000000E-03 -2.000000E-06 -1.954998E-03 -1.911525E-06 -1.867287E-03 -1.747820E-06 -1.741309E-03 -1.532659E-06 0.000000E+00 0.000000E+00 1.900000E-02 -1.010000E-04 -1.062788E-02 -3.182295E-05 -6.707513E-03 -1.259151E-05 -6.889024E-03 -1.429877E-05 -8.202036E-03 -2.430378E-05 +1.030000E-04 +3.892013E-03 +8.267134E-06 +3.385502E-03 +6.457947E-06 +4.380506E-03 +1.060881E-05 +7.130795E-03 +1.485135E-05 0.000000E+00 0.000000E+00 0.000000E+00 @@ -1379,8 +779,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -9.306024E-04 -8.660208E-07 0.000000E+00 0.000000E+00 0.000000E+00 @@ -1389,68 +787,30 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -9.306024E-04 -8.660208E-07 0.000000E+00 0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -3.102008E-04 -9.622454E-08 -1.500000E-02 -4.500000E-05 -3.192578E-03 -7.201112E-06 -4.457942E-03 -6.346144E-06 -3.572536E-03 -4.921318E-06 -7.292620E-03 -1.123722E-05 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -9.111025E-04 -2.767076E-07 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -6.069794E-04 -3.684240E-07 +8.816169E-04 +7.772484E-07 1.000000E-03 1.000000E-06 -9.537549E-04 -9.096483E-07 -8.644725E-04 -7.473127E-07 -7.383215E-04 -5.451186E-07 +9.951010E-04 +9.902260E-07 +9.853389E-04 +9.708928E-07 +9.707856E-04 +9.424246E-07 0.000000E+00 0.000000E+00 -2.300000E-02 -1.310000E-04 -7.696543E-03 -2.602323E-05 -5.553275E-03 -1.677303E-05 -3.110421E-03 -1.605284E-05 -1.157943E-02 -3.065139E-05 +2.900000E-02 +2.230000E-04 +6.260565E-03 +1.544092E-05 +7.061757E-03 +2.562385E-05 +3.982541E-03 +7.962565E-06 +1.486928E-02 +5.763902E-05 0.000000E+00 0.000000E+00 0.000000E+00 @@ -1459,38 +819,38 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -3.102008E-04 -9.622454E-08 +5.915762E-04 +1.749886E-07 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +5.954079E-04 +3.545105E-07 1.000000E-03 1.000000E-06 --1.849356E-05 -3.420117E-10 --4.994870E-04 -2.494872E-07 -2.772452E-05 -7.686492E-10 -9.104691E-04 -8.289540E-07 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 +9.938157E-04 +9.876697E-07 +9.815046E-04 +9.633512E-07 +9.631807E-04 +9.277170E-07 0.000000E+00 0.000000E+00 2.600000E-02 1.460000E-04 -1.097600E-02 -2.696995E-05 -8.425033E-03 -2.480653E-05 -3.259803E-03 -4.519527E-06 -1.278442E-02 -3.571130E-05 +7.818547E-03 +3.176773E-05 +5.200193E-03 +1.419001E-05 +3.947828E-03 +8.417104E-06 +9.232714E-03 +1.900222E-05 0.000000E+00 0.000000E+00 0.000000E+00 @@ -1499,8 +859,8 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -3.102008E-04 -9.622454E-08 +1.186919E-03 +5.294604E-07 0.000000E+00 0.000000E+00 0.000000E+00 @@ -1521,16 +881,16 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -1.600000E-02 -6.000000E-05 -2.471171E-03 -8.220215E-06 -2.563821E-04 -8.785791E-07 -1.300883E-03 -3.079168E-06 -7.314002E-03 -1.134821E-05 +3.100000E-02 +1.950000E-04 +1.338410E-02 +5.097757E-05 +6.794436E-03 +1.428226E-05 +3.939298E-03 +9.052046E-06 +1.250316E-02 +3.147176E-05 0.000000E+00 0.000000E+00 0.000000E+00 @@ -1539,18 +899,38 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -3.022304E-04 -9.134324E-08 +5.953428E-04 +1.772166E-07 1.000000E-03 1.000000E-06 --5.657444E-04 -3.200667E-07 --1.989995E-05 -3.960081E-10 -3.959267E-04 -1.567580E-07 -3.007686E-04 -9.046177E-08 +-5.747626E-05 +3.303520E-09 +-4.950447E-04 +2.450693E-07 +8.573970E-05 +7.351297E-09 +5.954079E-04 +3.545105E-07 +1.000000E-03 +1.000000E-06 +9.748367E-04 +9.503066E-07 +9.254598E-04 +8.564759E-07 +8.537292E-04 +7.288535E-07 +0.000000E+00 +0.000000E+00 +1.000000E-02 +2.600000E-05 +5.875085E-04 +4.563904E-07 +-9.207198E-05 +5.154496E-07 +3.674257E-05 +1.178281E-06 +5.048984E-03 +5.880390E-06 0.000000E+00 0.000000E+00 0.000000E+00 @@ -1559,18 +939,8 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -0.000000E+00 -0.000000E+00 -8.000000E-03 -1.800000E-05 -5.436075E-03 -7.868978E-06 -2.425522E-03 -1.963607E-06 -7.168734E-04 -1.273978E-06 -4.589694E-03 -5.548791E-06 +3.079655E-04 +9.484274E-08 0.000000E+00 0.000000E+00 0.000000E+00 @@ -1579,6 +949,28 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +5.952778E-04 +3.543557E-07 +1.000000E-03 +1.000000E-06 +9.362621E-04 +8.765867E-07 +8.148801E-04 +6.640295E-07 +6.473941E-04 +4.191191E-07 +0.000000E+00 +0.000000E+00 +3.100000E-02 +2.130000E-04 +1.472240E-02 +5.500913E-05 +1.077445E-02 +2.987369E-05 +6.729425E-03 +1.249089E-05 +1.363637E-02 +4.345511E-05 0.000000E+00 0.000000E+00 0.000000E+00 @@ -1587,150 +979,38 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -2.100000E-02 -1.070000E-04 -7.539735E-03 -2.068189E-05 -3.936810E-03 -7.972494E-06 -2.420366E-04 -1.148364E-06 -9.428594E-03 -2.131421E-05 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -3.053824E-04 -9.325841E-08 +1.182717E-03 +5.268981E-07 2.000000E-03 2.000000E-06 -1.606787E-04 -1.589809E-06 -1.384713E-03 -1.050316E-06 -7.117279E-04 -6.789060E-07 -9.257840E-04 -4.781566E-07 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -4.600000E-02 -5.100000E-04 -1.468472E-02 -4.705766E-05 -8.285657E-03 -2.501121E-05 -5.066048E-03 -7.892505E-06 -1.769628E-02 -7.226941E-05 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -1.216485E-03 -5.564829E-07 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -2.300000E-02 -1.130000E-04 -9.030313E-03 -2.036594E-05 -5.561323E-03 -2.088769E-05 -3.949070E-03 -5.399490E-06 -1.065996E-02 -2.405722E-05 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -6.124312E-04 -1.875678E-07 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -6.044609E-04 -3.653729E-07 +-1.367978E-03 +9.381191E-07 +4.071787E-04 +9.316064E-08 +4.394728E-04 +1.064342E-07 +2.110881E-03 +1.737594E-06 1.000000E-03 1.000000E-06 -9.969425E-04 -9.938944E-07 -9.908416E-04 -9.817670E-07 -9.817251E-04 -9.637842E-07 -0.000000E+00 -0.000000E+00 -1.300000E-02 -4.300000E-05 -1.119189E-03 -4.668647E-06 --1.976393E-04 -4.632517E-06 -2.358914E-03 -3.047107E-06 -6.688330E-03 -1.125860E-05 +9.347357E-04 +8.737309E-07 +8.105963E-04 +6.570664E-07 +6.396651E-04 +4.091714E-07 +2.938723E-04 +8.636093E-08 +2.900000E-02 +1.950000E-04 +8.928267E-03 +2.594547E-05 +4.752762E-03 +1.522378E-05 +5.376579E-03 +1.088620E-05 +1.461149E-02 +4.367386E-05 0.000000E+00 0.000000E+00 0.000000E+00 @@ -1739,58 +1019,58 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -3.102008E-04 -9.622454E-08 +5.912057E-04 +1.747704E-07 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +3.100000E-02 +2.030000E-04 +1.194795E-02 +4.198084E-05 +8.484089E-03 +1.631808E-05 +5.880364E-03 +1.308096E-05 +1.342551E-02 +3.842917E-05 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +5.915762E-04 +1.749886E-07 1.000000E-03 1.000000E-06 --3.353539E-04 -1.124622E-07 --3.313067E-04 -1.097641E-07 -4.087442E-04 -1.670718E-07 -9.161472E-04 -8.393257E-07 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -2.600000E-02 -1.980000E-04 -1.024848E-02 -3.100622E-05 --1.145555E-04 -2.521646E-06 -1.453177E-03 -1.505423E-06 -1.124135E-02 -3.412415E-05 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -6.029991E-04 -1.818050E-07 -1.000000E-03 -1.000000E-06 --2.499079E-04 -6.245395E-08 --4.063191E-04 -1.650952E-07 -3.358425E-04 -1.127902E-07 -6.044609E-04 -3.653729E-07 +-5.881991E-05 +3.459782E-09 +-4.948103E-04 +2.448373E-07 +8.772111E-05 +7.694993E-09 +5.871337E-04 +3.447260E-07 0.000000E+00 0.000000E+00 0.000000E+00 @@ -1802,15 +1082,15 @@ tally 1: 0.000000E+00 0.000000E+00 1.900000E-02 -8.700000E-05 -6.743817E-03 -2.313239E-05 -1.353852E-03 -7.358462E-06 -3.054381E-03 -5.051576E-06 -7.932519E-03 -1.438883E-05 +1.030000E-04 +3.010784E-03 +6.984061E-06 +5.243839E-03 +8.093978E-06 +-2.502286E-04 +2.564795E-06 +7.760559E-03 +1.654842E-05 0.000000E+00 0.000000E+00 0.000000E+00 @@ -1819,8 +1099,288 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -3.102008E-04 -9.622454E-08 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +2.935668E-04 +8.618149E-08 +1.000000E-03 +1.000000E-06 +9.333938E-04 +8.712239E-07 +8.068359E-04 +6.509841E-07 +6.328968E-04 +4.005583E-07 +0.000000E+00 +0.000000E+00 +4.400000E-02 +4.320000E-04 +1.141886E-02 +4.208707E-05 +9.213446E-03 +2.259305E-05 +9.177440E-03 +2.088782E-05 +2.116869E-02 +9.629049E-05 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +1.501009E-03 +6.405023E-07 +1.000000E-03 +1.000000E-06 +5.882614E-04 +3.460515E-07 +1.907719E-05 +3.639390E-10 +-3.734703E-04 +1.394801E-07 +1.472277E-03 +9.506220E-07 +2.000000E-03 +2.000000E-06 +1.830192E-03 +1.679505E-06 +1.519257E-03 +1.189525E-06 +1.118506E-03 +7.332971E-07 +2.977039E-04 +8.862764E-08 +3.100000E-02 +2.250000E-04 +1.389831E-02 +5.927254E-05 +9.999959E-03 +3.379365E-05 +4.584291E-03 +1.665226E-05 +1.729188E-02 +6.078654E-05 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +1.792523E-03 +8.900699E-07 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +4.000000E-02 +3.880000E-04 +6.620484E-03 +3.751545E-05 +9.255367E-03 +1.963463E-05 +7.761524E-03 +1.694944E-05 +1.659048E-02 +7.200875E-05 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +2.976389E-04 +8.858892E-08 +1.000000E-03 +1.000000E-06 +-5.273064E-04 +2.780520E-07 +-8.292201E-05 +6.876059E-09 +4.244131E-04 +1.801265E-07 +8.891501E-04 +4.407166E-07 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +2.900000E-02 +1.970000E-04 +4.944370E-03 +2.340271E-05 +3.891346E-03 +1.137205E-05 +5.738303E-03 +9.169816E-06 +1.046961E-02 +2.353871E-05 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +6.056694E-04 +1.834704E-07 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +1.203065E-03 +7.240969E-07 +2.000000E-03 +2.000000E-06 +1.696621E-03 +1.449397E-06 +1.174096E-03 +7.548933E-07 +5.719051E-04 +3.184788E-07 +0.000000E+00 +0.000000E+00 +2.900000E-02 +1.990000E-04 +1.237546E-02 +3.198261E-05 +8.287792E-03 +2.747313E-05 +3.254969E-03 +8.653294E-06 +1.189702E-02 +3.303341E-05 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +9.033083E-04 +2.720593E-07 +3.000000E-03 +3.000000E-06 +3.649225E-04 +1.756075E-06 +1.134112E-03 +8.940601E-07 +-9.392028E-04 +5.872882E-07 +1.484188E-03 +9.721094E-07 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +3.600000E-02 +2.740000E-04 +9.407788E-03 +2.403566E-05 +4.480017E-03 +6.102099E-06 +5.941113E-03 +1.265337E-05 +1.462273E-02 +4.551799E-05 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +6.056694E-04 +1.834704E-07 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +8.807005E-04 +7.756334E-07 +1.000000E-03 +1.000000E-06 +8.905295E-04 +7.930427E-07 +6.895641E-04 +4.754986E-07 +4.297756E-04 +1.847070E-07 +0.000000E+00 +0.000000E+00 +2.600000E-02 +1.800000E-04 +1.225587E-02 +3.757196E-05 +7.670283E-03 +2.316758E-05 +5.282346E-03 +1.407031E-05 +1.162837E-02 +3.241151E-05 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +5.874391E-04 +1.725424E-07 0.000000E+00 0.000000E+00 0.000000E+00 @@ -1843,14 +1403,14 @@ tally 1: 0.000000E+00 2.000000E-02 9.000000E-05 -4.678519E-03 -8.162854E-06 -2.588181E-03 -7.958110E-06 -2.322176E-03 -3.426024E-06 -8.534070E-03 -1.767419E-05 +5.358616E-03 +1.697599E-05 +3.060277E-03 +7.132281E-06 +2.485730E-03 +7.247489E-06 +9.248313E-03 +1.738407E-05 0.000000E+00 0.000000E+00 0.000000E+00 @@ -1859,8 +1419,8 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -6.029991E-04 -1.818050E-07 +8.991712E-04 +2.696131E-07 0.000000E+00 0.000000E+00 0.000000E+00 @@ -1869,68 +1429,508 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -1.100000E-02 -3.300000E-05 -7.244624E-03 -1.778235E-05 -2.926133E-03 -9.287629E-06 -9.851866E-04 -6.097573E-06 -3.660351E-03 -3.716102E-06 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -3.034897E-04 -9.210600E-08 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -3.053824E-04 -9.325841E-08 +5.954079E-04 +3.545105E-07 1.000000E-03 1.000000E-06 -1.744930E-04 -3.044781E-08 --4.543283E-04 -2.064142E-07 --2.484572E-04 -6.173098E-08 +9.816220E-04 +9.635817E-07 +9.453726E-04 +8.937294E-07 +8.922496E-04 +7.961093E-07 +0.000000E+00 +0.000000E+00 +2.300000E-02 +1.330000E-04 +1.081756E-02 +3.675127E-05 +2.530156E-03 +6.960955E-06 +-1.930911E-03 +4.910249E-06 +1.162826E-02 +3.490280E-05 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +8.957101E-04 +4.402865E-07 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +1.900000E-02 +9.700000E-05 +1.046968E-02 +3.828445E-05 +6.704767E-03 +2.668260E-05 +2.659611E-03 +1.143518E-05 +1.099391E-02 +2.847330E-05 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +2.935668E-04 +8.618149E-08 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +2.655540E-03 +2.523801E-06 +3.000000E-03 +5.000000E-06 +2.960960E-03 +4.866206E-06 +2.884206E-03 +4.608867E-06 +2.772329E-03 +4.247272E-06 +2.976389E-04 +8.858892E-08 +1.900000E-02 +8.700000E-05 +5.469796E-03 +1.029265E-05 +4.923561E-04 +2.403244E-06 +2.579361E-03 +5.814745E-06 +8.693503E-03 +1.682274E-05 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +2.976389E-04 +8.858892E-08 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +1.800000E-02 +1.220000E-04 +6.860987E-03 +2.966806E-05 +4.229750E-03 +1.617998E-05 +1.295452E-03 +8.613003E-07 +7.815193E-03 +2.039363E-05 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +2.935668E-04 +8.618149E-08 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +2.000000E-02 +1.080000E-04 +8.640372E-03 +1.765553E-05 +5.688468E-03 +1.038555E-05 +2.447898E-03 +4.466055E-06 +8.949668E-03 +1.935056E-05 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +2.977039E-04 +8.862764E-08 +1.000000E-03 +1.000000E-06 +-3.805163E-04 +1.447926E-07 +-2.828111E-04 +7.998210E-08 +4.330345E-04 +1.875189E-07 +2.121142E-03 +1.958355E-06 +1.000000E-03 +1.000000E-06 +9.260022E-04 +8.574800E-07 +7.862200E-04 +6.181419E-07 +5.960676E-04 +3.552966E-07 +2.938723E-04 +8.636093E-08 +1.700000E-02 +7.100000E-05 +3.566805E-03 +2.049908E-05 +5.418617E-03 +7.496014E-06 +2.451897E-03 +2.115374E-06 +7.760001E-03 +1.634548E-05 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +2.977039E-04 +8.862764E-08 +1.000000E-03 +1.000000E-06 +-7.119580E-04 +5.068842E-07 +2.603263E-04 +6.776977E-08 +1.657364E-04 +2.746855E-08 +8.807005E-04 +7.756334E-07 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +1.200000E-02 +3.400000E-05 +5.905081E-03 +1.535048E-05 +3.856089E-03 +8.589511E-06 +3.244585E-03 +5.882222E-06 +5.074321E-03 +5.793166E-06 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +1.600000E-02 +5.400000E-05 +7.937805E-03 +1.353584E-05 +4.065443E-03 +5.658333E-06 +3.432476E-03 +3.530320E-06 +6.546903E-03 +9.343145E-06 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +2.500000E-02 +1.390000E-04 +1.511834E-02 +5.459835E-05 +7.753447E-03 +2.291820E-05 +6.142979E-03 +1.359405E-05 +1.043467E-02 +2.526769E-05 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +5.912057E-04 +1.747704E-07 +1.000000E-03 +1.000000E-06 +-1.098110E-04 +1.205846E-08 +-4.819123E-04 +2.322395E-07 +1.614061E-04 +2.605194E-08 +8.813115E-04 +4.316252E-07 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +2.935668E-04 +8.618149E-08 +1.200000E-02 +3.000000E-05 +4.798420E-03 +7.171924E-06 +1.417651E-03 +4.997963E-06 +2.131704E-03 +3.253030E-06 +7.754475E-03 +1.333333E-05 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +2.938723E-04 +8.636093E-08 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +1.484383E-03 +1.504224E-06 +3.000000E-03 +5.000000E-06 +2.760812E-03 +4.139104E-06 +2.336063E-03 +2.844690E-06 +1.817042E-03 +1.656152E-06 +0.000000E+00 +0.000000E+00 +1.900000E-02 +9.900000E-05 +7.244455E-03 +2.708286E-05 +4.601657E-03 +5.366244E-06 +-1.675270E-03 +3.867377E-06 +9.216755E-03 +2.272207E-05 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +3.079655E-04 +9.484274E-08 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +6.159310E-04 +3.793709E-07 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +8.000000E-03 +1.800000E-05 +4.925975E-03 +6.260377E-06 +3.176938E-03 +2.631319E-06 +2.008278E-03 +1.484516E-06 +3.844641E-03 +4.075869E-06 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +2.977039E-04 +8.862764E-08 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +9.238964E-04 +8.535846E-07 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 0.000000E+00 0.000000E+00 1.000000E-02 -2.600000E-05 -3.641369E-03 -6.818931E-06 -2.110606E-03 -2.176630E-06 -1.892973E-03 -1.812944E-06 -5.777456E-03 -9.494012E-06 +3.400000E-05 +4.086838E-03 +5.900874E-06 +1.812330E-03 +3.716159E-06 +2.138941E-03 +3.006748E-06 +5.414129E-03 +8.079335E-06 0.000000E+00 0.000000E+00 0.000000E+00 @@ -1939,8 +1939,8 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -3.034897E-04 -9.210600E-08 +3.079655E-04 +9.484274E-08 0.000000E+00 0.000000E+00 0.000000E+00 @@ -1961,16 +1961,16 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -1.300000E-02 -3.900000E-05 -1.682557E-03 -1.846926E-06 -4.172846E-04 -1.892148E-06 -7.276646E-04 -1.085417E-06 -6.092709E-03 -8.907893E-06 +6.000000E-03 +8.000000E-06 +2.104495E-03 +2.749678E-06 +8.451272E-04 +9.362821E-07 +5.355137E-04 +3.419837E-07 +2.683856E-03 +1.512640E-06 0.000000E+00 0.000000E+00 0.000000E+00 @@ -1979,8 +1979,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -3.053824E-04 -9.325841E-08 0.000000E+00 0.000000E+00 0.000000E+00 @@ -1991,6 +1989,28 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 +2.976389E-04 +8.858892E-08 +1.000000E-03 +1.000000E-06 +9.374310E-04 +8.787769E-07 +8.181653E-04 +6.693944E-07 +6.533352E-04 +4.268468E-07 +2.976389E-04 +8.858892E-08 +8.000000E-03 +1.600000E-05 +5.411154E-03 +8.076329E-06 +3.145940E-03 +4.212660E-06 +2.637510E-03 +3.210372E-06 +3.866944E-03 +3.257876E-06 0.000000E+00 0.000000E+00 0.000000E+00 @@ -2001,16 +2021,6 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -5.000000E-03 -7.000000E-06 -1.580450E-03 -1.753085E-06 -3.349602E-04 -3.639488E-07 -2.690006E-04 -2.374932E-07 -1.830811E-03 -9.321096E-07 0.000000E+00 0.000000E+00 0.000000E+00 @@ -2019,8 +2029,16 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -3.102008E-04 -9.622454E-08 +1.175489E-03 +1.381775E-06 +1.000000E-03 +1.000000E-06 +7.809681E-04 +6.099112E-07 +4.148668E-04 +1.721145E-07 +1.935089E-05 +3.744570E-10 0.000000E+00 0.000000E+00 0.000000E+00 @@ -2049,8 +2067,150 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -3.034897E-04 -9.210600E-08 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +1.000000E-02 +3.400000E-05 +4.840884E-03 +1.080853E-05 +3.402096E-03 +4.113972E-06 +1.374077E-03 +2.333511E-06 +4.754696E-03 +7.172310E-06 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +3.079655E-04 +9.484274E-08 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +2.900000E-02 +2.030000E-04 +6.527719E-03 +1.422798E-05 +1.560049E-03 +2.934829E-06 +1.548553E-03 +8.929308E-06 +1.108618E-02 +3.019578E-05 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +1.174573E-03 +8.619943E-07 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +4.000000E-03 +8.000000E-06 +1.520286E-03 +4.076900E-06 +2.191143E-03 +3.717004E-06 +1.161623E-03 +3.726099E-06 +3.570376E-03 +5.251427E-06 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +2.000000E-03 +2.000000E-06 +1.447007E-04 +7.721849E-07 +1.582773E-04 +4.841114E-08 +1.981705E-04 +2.166687E-07 +9.135699E-04 +4.679599E-07 0.000000E+00 0.000000E+00 0.000000E+00 @@ -2082,15 +2242,15 @@ tally 1: 0.000000E+00 0.000000E+00 1.900000E-02 -1.250000E-04 -2.138118E-03 -8.791773E-06 -2.868574E-03 -9.339641E-06 -5.807501E-04 -1.660344E-06 -8.165982E-03 -2.226036E-05 +1.030000E-04 +1.035735E-02 +3.119381E-05 +6.483551E-03 +1.164471E-05 +3.924334E-03 +6.047577E-06 +9.748673E-03 +2.956634E-05 0.000000E+00 0.000000E+00 0.000000E+00 @@ -2099,8 +2259,8 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -3.102008E-04 -9.622454E-08 +3.079655E-04 +9.484274E-08 0.000000E+00 0.000000E+00 0.000000E+00 @@ -2109,28 +2269,48 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -6.044609E-04 -3.653729E-07 +2.935668E-04 +8.618149E-08 1.000000E-03 1.000000E-06 -2.312419E-04 -5.347280E-08 --4.197908E-04 -1.762243E-07 --3.159499E-04 -9.982435E-08 +8.623139E-04 +7.435852E-07 +6.153778E-04 +3.786899E-07 +3.095388E-04 +9.581428E-08 +0.000000E+00 +0.000000E+00 +1.900000E-02 +9.900000E-05 +7.385212E-03 +2.033270E-05 +6.336514E-03 +2.028060E-05 +3.967026E-03 +1.027239E-05 +1.066281E-02 +2.937591E-05 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +2.976389E-04 +8.858892E-08 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 0.000000E+00 0.000000E+00 -2.100000E-02 -1.070000E-04 -2.216472E-03 -6.388960E-06 -4.896969E-03 -6.428816E-06 -2.155707E-03 -2.884510E-06 -1.038058E-02 -2.477423E-05 0.000000E+00 0.000000E+00 0.000000E+00 @@ -2139,198 +2319,18 @@ tally 1: 0.000000E+00 0.000000E+00 0.000000E+00 -3.007686E-04 -9.046177E-08 -1.000000E-03 -1.000000E-06 -7.019813E-04 -4.927778E-07 -2.391667E-04 -5.720072E-08 --1.881699E-04 -3.540793E-08 -2.131373E-03 -2.696833E-06 -1.000000E-03 -1.000000E-06 -9.937981E-04 -9.876347E-07 -9.814521E-04 -9.632483E-07 -9.630767E-04 -9.275168E-07 0.000000E+00 0.000000E+00 6.000000E-03 1.000000E-05 -2.774441E-03 -2.455060E-06 --4.125360E-04 -1.557128E-06 --9.369606E-04 -2.349382E-06 -3.666415E-03 -4.871762E-06 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -6.057201E-04 -1.834492E-07 -1.000000E-03 -1.000000E-06 -8.429685E-04 -7.105959E-07 -5.658938E-04 -3.202358E-07 -2.330721E-04 -5.432261E-08 -6.015373E-04 -3.618471E-07 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -3.000000E-03 -5.000000E-06 -1.596397E-03 -1.275630E-06 -4.822532E-04 -1.627925E-07 -2.983020E-04 -9.401537E-08 -1.221939E-03 -7.467452E-07 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -8.000000E-03 -4.000000E-05 --7.915490E-05 -1.150292E-07 -2.293529E-03 -2.932682E-06 -1.356149E-03 -9.471925E-07 -4.579650E-03 -7.918475E-06 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -3.022304E-04 -9.134324E-08 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -1.100000E-02 -3.300000E-05 -5.093647E-03 -1.217545E-05 -1.852586E-03 -4.478970E-06 -9.768799E-04 -1.395189E-06 -4.578572E-03 -5.491453E-06 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -3.102008E-04 -9.622454E-08 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -0.000000E+00 -3.053824E-04 -9.325841E-08 -1.000000E-03 -1.000000E-06 -9.817451E-04 -9.638234E-07 -9.457351E-04 -8.944149E-07 -8.929546E-04 -7.973680E-07 -0.000000E+00 -0.000000E+00 -4.000000E-03 -4.000000E-06 --1.284380E-03 -9.356368E-07 --5.965448E-04 -6.643272E-07 -3.352677E-04 -2.956621E-07 -1.526686E-03 -6.527074E-07 +1.316884E-03 +2.894217E-06 +2.095957E-03 +1.439521E-06 +1.013831E-04 +8.405300E-07 +2.404012E-03 +1.641294E-06 0.000000E+00 0.000000E+00 0.000000E+00 @@ -2363,14 +2363,14 @@ tally 1: 0.000000E+00 1.000000E-03 1.000000E-06 --3.965739E-04 -1.572709E-07 --2.640937E-04 -6.974547E-08 -4.389371E-04 -1.926657E-07 -3.053824E-04 -9.325841E-08 +-3.865739E-04 +1.494394E-07 +-2.758409E-04 +7.608820E-08 +4.354374E-04 +1.896058E-07 +5.871337E-04 +3.447260E-07 0.000000E+00 0.000000E+00 0.000000E+00 @@ -2402,11 +2402,11 @@ tally 1: 0.000000E+00 0.000000E+00 tally 2: -5.720364E-01 -6.548043E-02 -6.217988E-01 -7.736906E-02 -3.624477E+00 -2.628737E+00 -4.047526E+01 -3.278231E+02 +5.656887E-01 +6.401442E-02 +6.158976E-01 +7.588371E-02 +3.588479E+00 +2.575762E+00 +4.003041E+01 +3.205440E+02 diff --git a/tests/test_statepoint_sourcesep/results_true.dat b/tests/test_statepoint_sourcesep/results_true.dat index 5263a6b7fd..7b2fbf37f5 100644 --- a/tests/test_statepoint_sourcesep/results_true.dat +++ b/tests/test_statepoint_sourcesep/results_true.dat @@ -1,2 +1,2 @@ k-combined: -3.021779E-01 3.813358E-03 +2.943619E-01 3.309635E-03 diff --git a/tests/test_survival_biasing/results_true.dat b/tests/test_survival_biasing/results_true.dat index 3e327841aa..e44ec289a7 100644 --- a/tests/test_survival_biasing/results_true.dat +++ b/tests/test_survival_biasing/results_true.dat @@ -1,20 +1,20 @@ k-combined: -9.997733E-01 2.995572E-02 +9.686215E-01 1.511499E-02 tally 1: -4.354055E+01 -3.793645E+02 -1.808636E+01 -6.546005E+01 -2.234465E+00 -9.989832E-01 -1.937431E+00 -7.510380E-01 -5.021671E+00 -5.045425E+00 -3.506791E-02 -2.460654E-04 -3.752351E+02 -2.817188E+04 +4.243782E+01 +3.604528E+02 +1.770205E+01 +6.273029E+01 +2.176094E+00 +9.477949E-01 +1.881775E+00 +7.087350E-01 +4.868971E+00 +4.744828E+00 +3.400887E-02 +2.314715E-04 +3.644408E+02 +2.658287E+04 tally 2: -1.808636E+01 -6.546005E+01 +1.770205E+01 +6.273029E+01 diff --git a/tests/test_tallies/results_true.dat b/tests/test_tallies/results_true.dat index 4f8b3956b7..fd5eb91a1a 100644 --- a/tests/test_tallies/results_true.dat +++ b/tests/test_tallies/results_true.dat @@ -1 +1 @@ -5be9b80ecc189d4ee3a6a228d97b0c76b6b47e5204a86ecf03b8faa65c499f6861ffd85c153084bafd0835d10dfacc14f28802901ce966c8a803d60d0c2f42e5 \ No newline at end of file +9f14aaa1694489032b3ce193ad29ecf6ac8976c88c2dd6b26d4c30ae88348e249a9b702b1d39c22204350b8f3bd689800c1b6a6003f19c7bdaf64084a209a2cc \ No newline at end of file diff --git a/tests/test_tallies/test_tallies.py b/tests/test_tallies/test_tallies.py index 9fca93bcab..81e8641dec 100644 --- a/tests/test_tallies/test_tallies.py +++ b/tests/test_tallies/test_tallies.py @@ -23,19 +23,19 @@ class TalliesTestHarness(PyAPITestHarness): azimuthal_bins = (-3.1416, -1.8850, -0.6283, 0.6283, 1.8850, 3.1416) azimuthal_filter1 = Filter(type='azimuthal', bins=azimuthal_bins) azimuthal_tally1 = Tally() - azimuthal_tally1.add_filter(azimuthal_filter1) - azimuthal_tally1.add_score('flux') + azimuthal_tally1.filters = [azimuthal_filter1] + azimuthal_tally1.scores = ['flux'] azimuthal_tally1.estimator = 'tracklength' azimuthal_tally2 = Tally() - azimuthal_tally2.add_filter(azimuthal_filter1) - azimuthal_tally2.add_score('flux') + azimuthal_tally2.filters = [azimuthal_filter1] + azimuthal_tally2.scores = ['flux'] azimuthal_tally2.estimator = 'analog' azimuthal_filter2 = Filter(type='azimuthal', bins=(5,)) azimuthal_tally3 = Tally() - azimuthal_tally3.add_filter(azimuthal_filter2) - azimuthal_tally3.add_score('flux') + azimuthal_tally3.filters = [azimuthal_filter2] + azimuthal_tally3.scores = ['flux'] azimuthal_tally3.estimator = 'tracklength' mesh_2x2 = Mesh(mesh_id=1) @@ -44,154 +44,129 @@ class TalliesTestHarness(PyAPITestHarness): mesh_2x2.dimension = [2, 2] mesh_filter = Filter(type='mesh', bins=(1,)) azimuthal_tally4 = Tally() - azimuthal_tally4.add_filter(azimuthal_filter2) - azimuthal_tally4.add_filter(mesh_filter) - azimuthal_tally4.add_score('flux') + azimuthal_tally4.filters = [azimuthal_filter2, mesh_filter] + azimuthal_tally4.scores = ['flux'] azimuthal_tally4.estimator = 'tracklength' cellborn_tally = Tally() - cellborn_tally.add_filter(Filter(type='cellborn', bins=(10, 21, 22, 23))) - cellborn_tally.add_score('total') + cellborn_tally.filters = [Filter(type='cellborn', bins=(10, 21, 22, 23))] + cellborn_tally.scores = ['total'] dg_tally = Tally() - dg_tally.add_filter(Filter(type='delayedgroup', bins=(1, 2, 3, 4, 5, 6))) - dg_tally.add_score('delayed-nu-fission') + dg_tally.filters = [Filter(type='delayedgroup', bins=(1, 2, 3, 4, 5, 6))] + dg_tally.scores = ['delayed-nu-fission'] four_groups = (0.0, 0.253e-6, 1.0e-3, 1.0, 20.0) energy_filter = Filter(type='energy', bins=four_groups) energy_tally = Tally() - energy_tally.add_filter(energy_filter) - energy_tally.add_score('total') + energy_tally.filters = [energy_filter] + energy_tally.scores = ['total'] energyout_filter = Filter(type='energyout', bins=four_groups) energyout_tally = Tally() - energyout_tally.add_filter(energyout_filter) - energyout_tally.add_score('scatter') + energyout_tally.filters = [energyout_filter] + energyout_tally.scores = ['scatter'] transfer_tally = Tally() - transfer_tally.add_filter(energy_filter) - transfer_tally.add_filter(energyout_filter) - transfer_tally.add_score('scatter') - transfer_tally.add_score('nu-fission') + transfer_tally.filters = [energy_filter, energyout_filter] + transfer_tally.scores = ['scatter', 'nu-fission'] material_tally = Tally() - material_tally.add_filter(Filter(type='material', bins=(1, 2, 3, 4))) - material_tally.add_score('total') + material_tally.filters = [Filter(type='material', bins=(1, 2, 3, 4))] + material_tally.scores = ['total'] mu_tally1 = Tally() - mu_tally1.add_filter(Filter(type='mu', bins=(-1.0, -0.5, 0.0, 0.5, 1.0))) - mu_tally1.add_score('scatter') - mu_tally1.add_score('nu-scatter') + mu_tally1.filters = [Filter(type='mu', bins=(-1.0, -0.5, 0.0, 0.5, 1.0))] + mu_tally1.scores = ['scatter', 'nu-scatter'] mu_filter = Filter(type='mu', bins=(5,)) mu_tally2 = Tally() - mu_tally2.add_filter(mu_filter) - mu_tally2.add_score('scatter') - mu_tally2.add_score('nu-scatter') + mu_tally2.filters = [mu_filter] + mu_tally2.scores = ['scatter', 'nu-scatter'] mu_tally3 = Tally() - mu_tally3.add_filter(mu_filter) - mu_tally3.add_filter(mesh_filter) - mu_tally3.add_score('scatter') - mu_tally3.add_score('nu-scatter') + mu_tally3.filters = [mu_filter, mesh_filter] + mu_tally3.scores = ['scatter', 'nu-scatter'] polar_bins = (0.0, 0.6283, 1.2566, 1.8850, 2.5132, 3.1416) polar_filter = Filter(type='polar', bins=polar_bins) polar_tally1 = Tally() - polar_tally1.add_filter(polar_filter) - polar_tally1.add_score('flux') + polar_tally1.filters = [polar_filter] + polar_tally1.scores = ['flux'] polar_tally1.estimator = 'tracklength' polar_tally2 = Tally() - polar_tally2.add_filter(polar_filter) - polar_tally2.add_score('flux') + polar_tally2.filters = [polar_filter] + polar_tally2.scores = ['flux'] polar_tally2.estimator = 'analog' polar_filter2 = Filter(type='polar', bins=(5,)) polar_tally3 = Tally() - polar_tally3.add_filter(polar_filter2) - polar_tally3.add_score('flux') + polar_tally3.filters = [polar_filter2] + polar_tally3.scores = ['flux'] polar_tally3.estimator = 'tracklength' polar_tally4 = Tally() - polar_tally4.add_filter(polar_filter2) - polar_tally4.add_filter(mesh_filter) - polar_tally4.add_score('flux') + polar_tally4.filters = [polar_filter2, mesh_filter] + polar_tally4.scores = ['flux'] polar_tally4.estimator = 'tracklength' universe_tally = Tally() - universe_tally.add_filter(Filter(type='universe', bins=(1, 2, 3, 4))) - universe_tally.add_score('total') + universe_tally.filters = [Filter(type='universe', bins=(1, 2, 3, 4))] + universe_tally.scores = ['total'] cell_filter = Filter(type='cell', bins=(10, 21, 22, 23)) score_tallies = [Tally(), Tally(), Tally()] for t in score_tallies: - t.add_filter(cell_filter) - t.add_score('absorption') - t.add_score('delayed-nu-fission') - t.add_score('events') - t.add_score('fission') - t.add_score('inverse-velocity') - t.add_score('kappa-fission') - t.add_score('(n,2n)') - t.add_score('(n,n1)') - t.add_score('(n,gamma)') - t.add_score('nu-fission') - t.add_score('scatter') - t.add_score('elastic') - t.add_score('total') + t.filters = [cell_filter] + t.scores = ['absorption', 'delayed-nu-fission', 'events', 'fission', + 'inverse-velocity', 'kappa-fission', '(n,2n)', '(n,n1)', + '(n,gamma)', 'nu-fission', 'scatter', 'elastic', 'total'] score_tallies[0].estimator = 'tracklength' score_tallies[1].estimator = 'analog' score_tallies[2].estimator = 'collision' cell_filter2 = Filter(type='cell', bins=(21, 22, 23, 27, 28, 29)) flux_tallies = [Tally() for i in range(4)] - [t.add_filter(cell_filter2) for t in flux_tallies] - flux_tallies[0].add_score('flux') - [t.add_score('flux-y5') for t in flux_tallies[1:]] + for t in flux_tallies: + t.filters = [cell_filter2] + flux_tallies[0].scores = ['flux'] + for t in flux_tallies[1:]: + t.scores = ['flux-y5'] flux_tallies[1].estimator = 'tracklength' flux_tallies[2].estimator = 'analog' flux_tallies[3].estimator = 'collision' scatter_tally1 = Tally() - scatter_tally1.add_filter(cell_filter) - scatter_tally1.add_score('scatter') - scatter_tally1.add_score('scatter-1') - scatter_tally1.add_score('scatter-2') - scatter_tally1.add_score('scatter-3') - scatter_tally1.add_score('scatter-4') - scatter_tally1.add_score('nu-scatter') - scatter_tally1.add_score('nu-scatter-1') - scatter_tally1.add_score('nu-scatter-2') - scatter_tally1.add_score('nu-scatter-3') - scatter_tally1.add_score('nu-scatter-4') + scatter_tally1.filters = [cell_filter] + scatter_tally1.scores = ['scatter', 'scatter-1', 'scatter-2', 'scatter-3', + 'scatter-4', 'nu-scatter', 'nu-scatter-1', + 'nu-scatter-2', 'nu-scatter-3', 'nu-scatter-4'] scatter_tally2 = Tally() - scatter_tally2.add_filter(cell_filter) - scatter_tally2.add_score('scatter-p4') - scatter_tally2.add_score('scatter-y4') - scatter_tally2.add_score('nu-scatter-p4') - scatter_tally2.add_score('nu-scatter-y3') + scatter_tally2.filters = [cell_filter] + scatter_tally2.scores = ['scatter-p4', 'scatter-y4', 'nu-scatter-p4', + 'nu-scatter-y3'] total_tallies = [Tally() for i in range(4)] - [t.add_filter(cell_filter) for t in total_tallies] - total_tallies[0].add_score('total') - [t.add_score('total-y4') for t in total_tallies[1:]] - [t.add_nuclide('U-235') for t in total_tallies[1:]] - [t.add_nuclide('total') for t in total_tallies[1:]] + for t in total_tallies: + t.filters = [cell_filter] + total_tallies[0].scores = ['total'] + for t in total_tallies[1:]: + t.scores = ['total-y4'] + t.nuclides = ['U-235', 'total'] total_tallies[1].estimator = 'tracklength' total_tallies[2].estimator = 'analog' total_tallies[3].estimator = 'collision' questionable_tally = Tally() - questionable_tally.add_score('transport') - questionable_tally.add_score('n1n') + questionable_tally.scores = ['transport', 'n1n'] all_nuclide_tallies = [Tally(), Tally()] for t in all_nuclide_tallies: - t.add_filter(cell_filter) - t.add_nuclide('all') - t.add_score('total') + t.filters = [cell_filter] + t.nuclides = ['all'] + t.scores = ['total'] all_nuclide_tallies[0].estimator = 'tracklength' all_nuclide_tallies[0].estimator = 'collision' diff --git a/tests/test_tally_aggregation/results_true.dat b/tests/test_tally_aggregation/results_true.dat index cde3e281c2..6c2d7a5193 100644 --- a/tests/test_tally_aggregation/results_true.dat +++ b/tests/test_tally_aggregation/results_true.dat @@ -1 +1 @@ -ba8bfe764fcc0484a4fdab8fdc4ff8ad0e4a98b1ff33e8687899c8cc6bf80cb28b3a59aeaec84bd74681b8b5f19f714292ccaa9c9d4ba852b2cc29872f612e10 \ No newline at end of file +840d2648f9ba782926c71baa84e5a2ad31331e156740a3d1e9d86af8f1f0d301ef8c0f69474975d365dbcf8d229a68c62d3e60286d18045e5254373f4e1010bf \ No newline at end of file diff --git a/tests/test_tally_aggregation/test_tally_aggregation.py b/tests/test_tally_aggregation/test_tally_aggregation.py index a5c8d94141..7d682b6986 100644 --- a/tests/test_tally_aggregation/test_tally_aggregation.py +++ b/tests/test_tally_aggregation/test_tally_aggregation.py @@ -30,13 +30,9 @@ class TallyAggregationTestHarness(PyAPITestHarness): # Initialized the tallies tally = openmc.Tally(name='distribcell tally') - tally.add_filter(energy_filter) - tally.add_filter(distrib_filter) - tally.add_score('nu-fission') - tally.add_score('total') - tally.add_nuclide(u235) - tally.add_nuclide(u238) - tally.add_nuclide(pu239) + tally.filters = [energy_filter, distrib_filter] + tally.scores = ['nu-fission', 'total'] + tally.nuclides = [u235, u238, pu239] tallies_file.add_tally(tally) # Export tallies to file diff --git a/tests/test_tally_arithmetic/results_true.dat b/tests/test_tally_arithmetic/results_true.dat index ded2efa665..ef2741cc12 100644 --- a/tests/test_tally_arithmetic/results_true.dat +++ b/tests/test_tally_arithmetic/results_true.dat @@ -1,134 +1,134 @@ -[[[ 8.90240785e-05 8.31464209e-11 4.41507090e-05 4.12357364e-11] - [ 7.29618709e-05 5.98879928e-05 3.61847984e-05 2.97009235e-05] - [ 4.69276830e-05 4.38293656e-11 2.35903380e-05 2.20328275e-11] - [ 3.84607356e-05 3.15690405e-05 1.93340411e-05 1.58696166e-05]] +[[[ 0. 0. 0. 0.] + [ 0. 0. 0. 0.] + [ 0. 0. 0. 0.] + [ 0. 0. 0. 0.]] - [[ 8.90240785e-05 8.31464209e-11 4.41507090e-05 4.12357364e-11] - [ 7.29618709e-05 5.98879928e-05 3.61847984e-05 2.97009235e-05] - [ 4.69276830e-05 4.38293656e-11 2.35903380e-05 2.20328275e-11] - [ 3.84607356e-05 3.15690405e-05 1.93340411e-05 1.58696166e-05]] + [[ 0. 0. 0. 0.] + [ 0. 0. 0. 0.] + [ 0. 0. 0. 0.] + [ 0. 0. 0. 0.]] - [[ 8.90240785e-05 8.31464209e-11 4.41507090e-05 4.12357364e-11] - [ 7.29618709e-05 5.98879928e-05 3.61847984e-05 2.97009235e-05] - [ 4.69276830e-05 4.38293656e-11 2.35903380e-05 2.20328275e-11] - [ 3.84607356e-05 3.15690405e-05 1.93340411e-05 1.58696166e-05]] + [[ 0. 0. 0. 0.] + [ 0. 0. 0. 0.] + [ 0. 0. 0. 0.] + [ 0. 0. 0. 0.]] ..., - [[ 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00] - [ 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00] - [ 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00] - [ 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00]] + [[ 0. 0. 0. 0.] + [ 0. 0. 0. 0.] + [ 0. 0. 0. 0.] + [ 0. 0. 0. 0.]] - [[ 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00] - [ 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00] - [ 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00] - [ 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00]] + [[ 0. 0. 0. 0.] + [ 0. 0. 0. 0.] + [ 0. 0. 0. 0.] + [ 0. 0. 0. 0.]] - [[ 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00] - [ 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00] - [ 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00] - [ 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00]]][[[ 8.90240785e-05 8.31464209e-11 4.41507090e-05 4.12357364e-11] - [ 7.29618709e-05 5.98879928e-05 3.61847984e-05 2.97009235e-05] - [ 4.69276830e-05 4.38293656e-11 2.35903380e-05 2.20328275e-11] - [ 3.84607356e-05 3.15690405e-05 1.93340411e-05 1.58696166e-05]] + [[ 0. 0. 0. 0.] + [ 0. 0. 0. 0.] + [ 0. 0. 0. 0.] + [ 0. 0. 0. 0.]]][[[ 0. 0. 0. 0.] + [ 0. 0. 0. 0.] + [ 0. 0. 0. 0.] + [ 0. 0. 0. 0.]] - [[ 8.90240785e-05 8.31464209e-11 4.41507090e-05 4.12357364e-11] - [ 7.29618709e-05 5.98879928e-05 3.61847984e-05 2.97009235e-05] - [ 4.69276830e-05 4.38293656e-11 2.35903380e-05 2.20328275e-11] - [ 3.84607356e-05 3.15690405e-05 1.93340411e-05 1.58696166e-05]] + [[ 0. 0. 0. 0.] + [ 0. 0. 0. 0.] + [ 0. 0. 0. 0.] + [ 0. 0. 0. 0.]] - [[ 8.90240785e-05 8.31464209e-11 4.41507090e-05 4.12357364e-11] - [ 7.29618709e-05 5.98879928e-05 3.61847984e-05 2.97009235e-05] - [ 4.69276830e-05 4.38293656e-11 2.35903380e-05 2.20328275e-11] - [ 3.84607356e-05 3.15690405e-05 1.93340411e-05 1.58696166e-05]] + [[ 0. 0. 0. 0.] + [ 0. 0. 0. 0.] + [ 0. 0. 0. 0.] + [ 0. 0. 0. 0.]] ..., - [[ 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00] - [ 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00] - [ 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00] - [ 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00]] + [[ 0. 0. 0. 0.] + [ 0. 0. 0. 0.] + [ 0. 0. 0. 0.] + [ 0. 0. 0. 0.]] - [[ 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00] - [ 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00] - [ 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00] - [ 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00]] + [[ 0. 0. 0. 0.] + [ 0. 0. 0. 0.] + [ 0. 0. 0. 0.] + [ 0. 0. 0. 0.]] - [[ 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00] - [ 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00] - [ 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00] - [ 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00]]][[[ 7.29618709e-05 5.98879928e-05 3.61847984e-05 2.97009235e-05] - [ 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00] - [ 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00]] + [[ 0. 0. 0. 0.] + [ 0. 0. 0. 0.] + [ 0. 0. 0. 0.] + [ 0. 0. 0. 0.]]][[[ 0. 0. 0. 0.] + [ 0. 0. 0. 0.] + [ 0. 0. 0. 0.]] - [[ 7.29618709e-05 5.98879928e-05 3.61847984e-05 2.97009235e-05] - [ 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00] - [ 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00]] + [[ 0. 0. 0. 0.] + [ 0. 0. 0. 0.] + [ 0. 0. 0. 0.]] - [[ 7.29618709e-05 5.98879928e-05 3.61847984e-05 2.97009235e-05] - [ 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00] - [ 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00]] + [[ 0. 0. 0. 0.] + [ 0. 0. 0. 0.] + [ 0. 0. 0. 0.]] ..., - [[ 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00] - [ 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00] - [ 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00]] + [[ 0. 0. 0. 0.] + [ 0. 0. 0. 0.] + [ 0. 0. 0. 0.]] - [[ 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00] - [ 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00] - [ 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00]] + [[ 0. 0. 0. 0.] + [ 0. 0. 0. 0.] + [ 0. 0. 0. 0.]] - [[ 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00] - [ 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00] - [ 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00]]][[[ 0.00000000e+00 4.41507090e-05 0.00000000e+00] - [ 0.00000000e+00 3.61847984e-05 0.00000000e+00] - [ 0.00000000e+00 2.35903380e-05 0.00000000e+00] - [ 0.00000000e+00 1.93340411e-05 0.00000000e+00]] + [[ 0. 0. 0. 0.] + [ 0. 0. 0. 0.] + [ 0. 0. 0. 0.]]][[[ 0. 0. 0.] + [ 0. 0. 0.] + [ 0. 0. 0.] + [ 0. 0. 0.]] - [[ 0.00000000e+00 4.41507090e-05 0.00000000e+00] - [ 0.00000000e+00 3.61847984e-05 0.00000000e+00] - [ 0.00000000e+00 2.35903380e-05 0.00000000e+00] - [ 0.00000000e+00 1.93340411e-05 0.00000000e+00]] + [[ 0. 0. 0.] + [ 0. 0. 0.] + [ 0. 0. 0.] + [ 0. 0. 0.]] - [[ 0.00000000e+00 4.41507090e-05 0.00000000e+00] - [ 0.00000000e+00 3.61847984e-05 0.00000000e+00] - [ 0.00000000e+00 2.35903380e-05 0.00000000e+00] - [ 0.00000000e+00 1.93340411e-05 0.00000000e+00]] + [[ 0. 0. 0.] + [ 0. 0. 0.] + [ 0. 0. 0.] + [ 0. 0. 0.]] ..., - [[ 0.00000000e+00 0.00000000e+00 0.00000000e+00] - [ 0.00000000e+00 0.00000000e+00 0.00000000e+00] - [ 0.00000000e+00 0.00000000e+00 0.00000000e+00] - [ 0.00000000e+00 0.00000000e+00 0.00000000e+00]] + [[ 0. 0. 0.] + [ 0. 0. 0.] + [ 0. 0. 0.] + [ 0. 0. 0.]] - [[ 0.00000000e+00 0.00000000e+00 0.00000000e+00] - [ 0.00000000e+00 0.00000000e+00 0.00000000e+00] - [ 0.00000000e+00 0.00000000e+00 0.00000000e+00] - [ 0.00000000e+00 0.00000000e+00 0.00000000e+00]] + [[ 0. 0. 0.] + [ 0. 0. 0.] + [ 0. 0. 0.] + [ 0. 0. 0.]] - [[ 0.00000000e+00 0.00000000e+00 0.00000000e+00] - [ 0.00000000e+00 0.00000000e+00 0.00000000e+00] - [ 0.00000000e+00 0.00000000e+00 0.00000000e+00] - [ 0.00000000e+00 0.00000000e+00 0.00000000e+00]]][[[ 0.00000000e+00 3.61847984e-05 0.00000000e+00] - [ 0.00000000e+00 0.00000000e+00 0.00000000e+00] - [ 0.00000000e+00 0.00000000e+00 0.00000000e+00]] + [[ 0. 0. 0.] + [ 0. 0. 0.] + [ 0. 0. 0.] + [ 0. 0. 0.]]][[[ 0. 0. 0.] + [ 0. 0. 0.] + [ 0. 0. 0.]] - [[ 0.00000000e+00 3.61847984e-05 0.00000000e+00] - [ 0.00000000e+00 0.00000000e+00 0.00000000e+00] - [ 0.00000000e+00 0.00000000e+00 0.00000000e+00]] + [[ 0. 0. 0.] + [ 0. 0. 0.] + [ 0. 0. 0.]] - [[ 0.00000000e+00 3.61847984e-05 0.00000000e+00] - [ 0.00000000e+00 0.00000000e+00 0.00000000e+00] - [ 0.00000000e+00 0.00000000e+00 0.00000000e+00]] + [[ 0. 0. 0.] + [ 0. 0. 0.] + [ 0. 0. 0.]] ..., - [[ 0.00000000e+00 0.00000000e+00 0.00000000e+00] - [ 0.00000000e+00 0.00000000e+00 0.00000000e+00] - [ 0.00000000e+00 0.00000000e+00 0.00000000e+00]] + [[ 0. 0. 0.] + [ 0. 0. 0.] + [ 0. 0. 0.]] - [[ 0.00000000e+00 0.00000000e+00 0.00000000e+00] - [ 0.00000000e+00 0.00000000e+00 0.00000000e+00] - [ 0.00000000e+00 0.00000000e+00 0.00000000e+00]] + [[ 0. 0. 0.] + [ 0. 0. 0.] + [ 0. 0. 0.]] - [[ 0.00000000e+00 0.00000000e+00 0.00000000e+00] - [ 0.00000000e+00 0.00000000e+00 0.00000000e+00] - [ 0.00000000e+00 0.00000000e+00 0.00000000e+00]]] \ No newline at end of file + [[ 0. 0. 0.] + [ 0. 0. 0.] + [ 0. 0. 0.]]] \ No newline at end of file diff --git a/tests/test_tally_arithmetic/test_tally_arithmetic.py b/tests/test_tally_arithmetic/test_tally_arithmetic.py index 1954334b7f..cf8d012e8c 100644 --- a/tests/test_tally_arithmetic/test_tally_arithmetic.py +++ b/tests/test_tally_arithmetic/test_tally_arithmetic.py @@ -40,22 +40,15 @@ class TallyArithmeticTestHarness(PyAPITestHarness): # Initialized the tallies tally = openmc.Tally(name='tally 1') - tally.add_filter(material_filter) - tally.add_filter(energy_filter) - tally.add_filter(distrib_filter) - tally.add_score('nu-fission') - tally.add_score('total') - tally.add_nuclide(u235) - tally.add_nuclide(pu239) + tally.filters = [material_filter, energy_filter, distrib_filter] + tally.scores = ['nu-fission', 'total'] + tally.nuclides = [u235, pu239] tallies_file.add_tally(tally) tally = openmc.Tally(name='tally 2') - tally.add_filter(energy_filter) - tally.add_filter(mesh_filter) - tally.add_score('total') - tally.add_score('fission') - tally.add_nuclide(u238) - tally.add_nuclide(u235) + tally.filters = [energy_filter, mesh_filter] + tally.scores = ['total', 'fission'] + tally.nuclides = [u238, u235] tallies_file.add_tally(tally) tallies_file.add_mesh(mesh) diff --git a/tests/test_tally_assumesep/results_true.dat b/tests/test_tally_assumesep/results_true.dat index 4835227f24..7262a88a02 100644 --- a/tests/test_tally_assumesep/results_true.dat +++ b/tests/test_tally_assumesep/results_true.dat @@ -1,11 +1,11 @@ k-combined: -1.005983E+00 2.248579E-02 +9.581522E-01 4.261830E-02 tally 1: -1.423676E+01 -4.330937E+01 +1.529084E+01 +4.769011E+01 tally 2: -2.914798E+00 -1.831649E+00 +3.198905E+00 +2.114129E+00 tally 3: -4.088282E+01 -3.662539E+02 +4.510603E+01 +4.183089E+02 diff --git a/tests/test_tally_nuclides/results_true.dat b/tests/test_tally_nuclides/results_true.dat index b8e903049b..36250aba74 100644 --- a/tests/test_tally_nuclides/results_true.dat +++ b/tests/test_tally_nuclides/results_true.dat @@ -1,28 +1,28 @@ k-combined: -9.851180E-01 1.587642E-02 +9.752414E-01 4.425137E-02 tally 1: -7.516940E+00 -1.149356E+01 -1.700884E+00 -5.835345E-01 -1.635327E+00 -5.385674E-01 -5.816056E+00 -6.901370E+00 -7.516940E+00 -1.149356E+01 -1.700884E+00 -5.835345E-01 -1.635327E+00 -5.385674E-01 -5.816056E+00 -6.901370E+00 +6.903183E+00 +9.661095E+00 +1.569337E+00 +4.971849E-01 +1.521894E+00 +4.673221E-01 +5.333846E+00 +5.778631E+00 +6.903183E+00 +9.661095E+00 +1.569337E+00 +4.971849E-01 +1.521894E+00 +4.673221E-01 +5.333846E+00 +5.778631E+00 tally 2: -7.516940E+00 -1.149356E+01 -1.700884E+00 -5.835345E-01 -1.635327E+00 -5.385674E-01 -5.816056E+00 -6.901370E+00 +6.903183E+00 +9.661095E+00 +1.569337E+00 +4.971849E-01 +1.521894E+00 +4.673221E-01 +5.333846E+00 +5.778631E+00 diff --git a/tests/test_tally_slice_merge/results_true.dat b/tests/test_tally_slice_merge/results_true.dat index f66f174277..ed04152d48 100644 --- a/tests/test_tally_slice_merge/results_true.dat +++ b/tests/test_tally_slice_merge/results_true.dat @@ -1,36 +1,36 @@ energy low [MeV] energy high [MeV] cell nuclide score mean std. dev. -0 0.00e+00 6.25e-07 21 U-235 fission 9.86e-02 9.19e-03 energy low [MeV] energy high [MeV] cell nuclide score mean std. dev. -0 0.00e+00 6.25e-07 21 U-235 nu-fission 2.40e-01 2.24e-02 energy low [MeV] energy high [MeV] cell nuclide score mean std. dev. -0 0.00e+00 6.25e-07 21 U-238 fission 1.37e-07 1.28e-08 energy low [MeV] energy high [MeV] cell nuclide score mean std. dev. -0 0.00e+00 6.25e-07 21 U-238 nu-fission 3.42e-07 3.20e-08 energy low [MeV] energy high [MeV] cell nuclide score mean std. dev. -0 6.25e-07 2.00e+01 21 U-235 fission 2.79e-02 6.02e-04 energy low [MeV] energy high [MeV] cell nuclide score mean std. dev. -0 6.25e-07 2.00e+01 21 U-235 nu-fission 6.82e-02 1.46e-03 energy low [MeV] energy high [MeV] cell nuclide score mean std. dev. -0 6.25e-07 2.00e+01 21 U-238 fission 1.66e-02 1.15e-03 energy low [MeV] energy high [MeV] cell nuclide score mean std. dev. -0 6.25e-07 2.00e+01 21 U-238 nu-fission 4.58e-02 3.34e-03 energy low [MeV] energy high [MeV] cell nuclide score mean std. dev. -0 0.00e+00 6.25e-07 27 U-235 fission 5.78e-02 4.82e-03 energy low [MeV] energy high [MeV] cell nuclide score mean std. dev. -0 0.00e+00 6.25e-07 27 U-235 nu-fission 1.41e-01 1.17e-02 energy low [MeV] energy high [MeV] cell nuclide score mean std. dev. -0 0.00e+00 6.25e-07 27 U-238 fission 8.18e-08 7.06e-09 energy low [MeV] energy high [MeV] cell nuclide score mean std. dev. -0 0.00e+00 6.25e-07 27 U-238 nu-fission 2.04e-07 1.76e-08 energy low [MeV] energy high [MeV] cell nuclide score mean std. dev. -0 6.25e-07 2.00e+01 27 U-235 fission 1.76e-02 1.94e-03 energy low [MeV] energy high [MeV] cell nuclide score mean std. dev. -0 6.25e-07 2.00e+01 27 U-235 nu-fission 4.31e-02 4.74e-03 energy low [MeV] energy high [MeV] cell nuclide score mean std. dev. -0 6.25e-07 2.00e+01 27 U-238 fission 9.88e-03 1.93e-03 energy low [MeV] energy high [MeV] cell nuclide score mean std. dev. -0 6.25e-07 2.00e+01 27 U-238 nu-fission 2.71e-02 5.21e-03 energy low [MeV] energy high [MeV] cell nuclide score mean std. dev. -0 0.00e+00 6.25e-07 21 U-235 fission 9.86e-02 9.19e-03 -1 0.00e+00 6.25e-07 21 U-235 nu-fission 2.40e-01 2.24e-02 -2 0.00e+00 6.25e-07 21 U-238 fission 1.37e-07 1.28e-08 -3 0.00e+00 6.25e-07 21 U-238 nu-fission 3.42e-07 3.20e-08 -4 0.00e+00 6.25e-07 27 U-235 fission 5.78e-02 4.82e-03 -5 0.00e+00 6.25e-07 27 U-235 nu-fission 1.41e-01 1.17e-02 -6 0.00e+00 6.25e-07 27 U-238 fission 8.18e-08 7.06e-09 -7 0.00e+00 6.25e-07 27 U-238 nu-fission 2.04e-07 1.76e-08 -8 6.25e-07 2.00e+01 21 U-235 fission 2.79e-02 6.02e-04 -9 6.25e-07 2.00e+01 21 U-235 nu-fission 6.82e-02 1.46e-03 -10 6.25e-07 2.00e+01 21 U-238 fission 1.66e-02 1.15e-03 -11 6.25e-07 2.00e+01 21 U-238 nu-fission 4.58e-02 3.34e-03 -12 6.25e-07 2.00e+01 27 U-235 fission 1.76e-02 1.94e-03 -13 6.25e-07 2.00e+01 27 U-235 nu-fission 4.31e-02 4.74e-03 -14 6.25e-07 2.00e+01 27 U-238 fission 9.88e-03 1.93e-03 -15 6.25e-07 2.00e+01 27 U-238 nu-fission 2.71e-02 5.21e-03 sum(distribcell) energy low [MeV] energy high [MeV] nuclide score mean std. dev. +0 0.00e+00 6.25e-07 21 U-235 fission 1.08e-01 7.94e-03 energy low [MeV] energy high [MeV] cell nuclide score mean std. dev. +0 0.00e+00 6.25e-07 21 U-235 nu-fission 2.64e-01 1.94e-02 energy low [MeV] energy high [MeV] cell nuclide score mean std. dev. +0 0.00e+00 6.25e-07 21 U-238 fission 1.51e-07 1.00e-08 energy low [MeV] energy high [MeV] cell nuclide score mean std. dev. +0 0.00e+00 6.25e-07 21 U-238 nu-fission 3.76e-07 2.50e-08 energy low [MeV] energy high [MeV] cell nuclide score mean std. dev. +0 6.25e-07 2.00e+01 21 U-235 fission 3.12e-02 2.56e-03 energy low [MeV] energy high [MeV] cell nuclide score mean std. dev. +0 6.25e-07 2.00e+01 21 U-235 nu-fission 7.65e-02 6.24e-03 energy low [MeV] energy high [MeV] cell nuclide score mean std. dev. +0 6.25e-07 2.00e+01 21 U-238 fission 2.00e-02 1.30e-03 energy low [MeV] energy high [MeV] cell nuclide score mean std. dev. +0 6.25e-07 2.00e+01 21 U-238 nu-fission 5.56e-02 3.78e-03 energy low [MeV] energy high [MeV] cell nuclide score mean std. dev. +0 0.00e+00 6.25e-07 27 U-235 fission 4.43e-02 7.21e-03 energy low [MeV] energy high [MeV] cell nuclide score mean std. dev. +0 0.00e+00 6.25e-07 27 U-235 nu-fission 1.08e-01 1.76e-02 energy low [MeV] energy high [MeV] cell nuclide score mean std. dev. +0 0.00e+00 6.25e-07 27 U-238 fission 6.14e-08 9.64e-09 energy low [MeV] energy high [MeV] cell nuclide score mean std. dev. +0 0.00e+00 6.25e-07 27 U-238 nu-fission 1.53e-07 2.40e-08 energy low [MeV] energy high [MeV] cell nuclide score mean std. dev. +0 6.25e-07 2.00e+01 27 U-235 fission 1.39e-02 1.06e-03 energy low [MeV] energy high [MeV] cell nuclide score mean std. dev. +0 6.25e-07 2.00e+01 27 U-235 nu-fission 3.40e-02 2.61e-03 energy low [MeV] energy high [MeV] cell nuclide score mean std. dev. +0 6.25e-07 2.00e+01 27 U-238 fission 9.72e-03 1.21e-03 energy low [MeV] energy high [MeV] cell nuclide score mean std. dev. +0 6.25e-07 2.00e+01 27 U-238 nu-fission 2.71e-02 3.80e-03 energy low [MeV] energy high [MeV] cell nuclide score mean std. dev. +0 0.00e+00 6.25e-07 21 U-235 fission 1.08e-01 7.94e-03 +1 0.00e+00 6.25e-07 21 U-235 nu-fission 2.64e-01 1.94e-02 +2 0.00e+00 6.25e-07 21 U-238 fission 1.51e-07 1.00e-08 +3 0.00e+00 6.25e-07 21 U-238 nu-fission 3.76e-07 2.50e-08 +4 0.00e+00 6.25e-07 27 U-235 fission 4.43e-02 7.21e-03 +5 0.00e+00 6.25e-07 27 U-235 nu-fission 1.08e-01 1.76e-02 +6 0.00e+00 6.25e-07 27 U-238 fission 6.14e-08 9.64e-09 +7 0.00e+00 6.25e-07 27 U-238 nu-fission 1.53e-07 2.40e-08 +8 6.25e-07 2.00e+01 21 U-235 fission 3.12e-02 2.56e-03 +9 6.25e-07 2.00e+01 21 U-235 nu-fission 7.65e-02 6.24e-03 +10 6.25e-07 2.00e+01 21 U-238 fission 2.00e-02 1.30e-03 +11 6.25e-07 2.00e+01 21 U-238 nu-fission 5.56e-02 3.78e-03 +12 6.25e-07 2.00e+01 27 U-235 fission 1.39e-02 1.06e-03 +13 6.25e-07 2.00e+01 27 U-235 nu-fission 3.40e-02 2.61e-03 +14 6.25e-07 2.00e+01 27 U-238 fission 9.72e-03 1.21e-03 +15 6.25e-07 2.00e+01 27 U-238 nu-fission 2.71e-02 3.80e-03 sum(distribcell) energy low [MeV] energy high [MeV] nuclide score mean std. dev. 0 (0, 100, 2000, 30000) 0.00e+00 6.25e-07 U-235 fission 0.00e+00 0.00e+00 1 (0, 100, 2000, 30000) 0.00e+00 6.25e-07 U-235 nu-fission 0.00e+00 0.00e+00 2 (0, 100, 2000, 30000) 0.00e+00 6.25e-07 U-238 fission 0.00e+00 0.00e+00 diff --git a/tests/test_trace/results_true.dat b/tests/test_trace/results_true.dat index 5263a6b7fd..7b2fbf37f5 100644 --- a/tests/test_trace/results_true.dat +++ b/tests/test_trace/results_true.dat @@ -1,2 +1,2 @@ k-combined: -3.021779E-01 3.813358E-03 +2.943619E-01 3.309635E-03 diff --git a/tests/test_translation/results_true.dat b/tests/test_translation/results_true.dat index 5263a6b7fd..7b2fbf37f5 100644 --- a/tests/test_translation/results_true.dat +++ b/tests/test_translation/results_true.dat @@ -1,2 +1,2 @@ k-combined: -3.021779E-01 3.813358E-03 +2.943619E-01 3.309635E-03 diff --git a/tests/test_trigger_batch_interval/results_true.dat b/tests/test_trigger_batch_interval/results_true.dat index c901e1e54d..af6eea6238 100644 --- a/tests/test_trigger_batch_interval/results_true.dat +++ b/tests/test_trigger_batch_interval/results_true.dat @@ -1,28 +1,28 @@ k-combined: -9.875001E-01 3.961945E-03 +9.722624E-01 1.010453E-02 tally 1: -2.128147E+01 -3.021699E+01 -4.842434E+00 -1.563989E+00 -4.695086E+00 -1.470132E+00 -1.643904E+01 -1.803258E+01 -2.128147E+01 -3.021699E+01 -4.842434E+00 -1.563989E+00 -4.695086E+00 -1.470132E+00 -1.643904E+01 -1.803258E+01 +1.392936E+01 +1.941888E+01 +3.159556E+00 +9.989777E-01 +3.063616E+00 +9.391667E-01 +1.076980E+01 +1.160931E+01 +1.392936E+01 +1.941888E+01 +3.159556E+00 +9.989777E-01 +3.063616E+00 +9.391667E-01 +1.076980E+01 +1.160931E+01 tally 2: -2.128147E+01 -3.021699E+01 -4.842434E+00 -1.563989E+00 -4.695086E+00 -1.470132E+00 -1.643904E+01 -1.803258E+01 +1.392936E+01 +1.941888E+01 +3.159556E+00 +9.989777E-01 +3.063616E+00 +9.391667E-01 +1.076980E+01 +1.160931E+01 diff --git a/tests/test_trigger_batch_interval/test_trigger_batch_interval.py b/tests/test_trigger_batch_interval/test_trigger_batch_interval.py index 59b900e503..a0b2119dea 100644 --- a/tests/test_trigger_batch_interval/test_trigger_batch_interval.py +++ b/tests/test_trigger_batch_interval/test_trigger_batch_interval.py @@ -7,5 +7,5 @@ from testing_harness import TestHarness if __name__ == '__main__': - harness = TestHarness('statepoint.20.*', True) + harness = TestHarness('statepoint.15.*', True) harness.main() diff --git a/tests/test_trigger_no_batch_interval/results_true.dat b/tests/test_trigger_no_batch_interval/results_true.dat index d06a91646c..af6eea6238 100644 --- a/tests/test_trigger_no_batch_interval/results_true.dat +++ b/tests/test_trigger_no_batch_interval/results_true.dat @@ -1,28 +1,28 @@ k-combined: -9.853099E-01 3.825057E-03 +9.722624E-01 1.010453E-02 tally 1: -2.409492E+01 -3.417475E+01 -5.477076E+00 -1.765385E+00 -5.309347E+00 -1.658803E+00 -1.861784E+01 -2.040621E+01 -2.409492E+01 -3.417475E+01 -5.477076E+00 -1.765385E+00 -5.309347E+00 -1.658803E+00 -1.861784E+01 -2.040621E+01 +1.392936E+01 +1.941888E+01 +3.159556E+00 +9.989777E-01 +3.063616E+00 +9.391667E-01 +1.076980E+01 +1.160931E+01 +1.392936E+01 +1.941888E+01 +3.159556E+00 +9.989777E-01 +3.063616E+00 +9.391667E-01 +1.076980E+01 +1.160931E+01 tally 2: -2.409492E+01 -3.417475E+01 -5.477076E+00 -1.765385E+00 -5.309347E+00 -1.658803E+00 -1.861784E+01 -2.040621E+01 +1.392936E+01 +1.941888E+01 +3.159556E+00 +9.989777E-01 +3.063616E+00 +9.391667E-01 +1.076980E+01 +1.160931E+01 diff --git a/tests/test_trigger_no_batch_interval/test_trigger_no_batch_interval.py b/tests/test_trigger_no_batch_interval/test_trigger_no_batch_interval.py index f9cb68d627..a0b2119dea 100644 --- a/tests/test_trigger_no_batch_interval/test_trigger_no_batch_interval.py +++ b/tests/test_trigger_no_batch_interval/test_trigger_no_batch_interval.py @@ -7,5 +7,5 @@ from testing_harness import TestHarness if __name__ == '__main__': - harness = TestHarness('statepoint.22.*', True) + harness = TestHarness('statepoint.15.*', True) harness.main() diff --git a/tests/test_trigger_no_status/results_true.dat b/tests/test_trigger_no_status/results_true.dat index 0b541099b9..c7f1b407a9 100644 --- a/tests/test_trigger_no_status/results_true.dat +++ b/tests/test_trigger_no_status/results_true.dat @@ -1,28 +1,28 @@ k-combined: -9.906276E-01 1.800527E-03 +9.733783E-01 1.678094E-02 tally 1: -7.043320E+00 -9.922203E+00 -1.610208E+00 -5.185662E-01 -1.564118E+00 -4.893096E-01 -5.433111E+00 -5.904259E+00 -7.043320E+00 -9.922203E+00 -1.610208E+00 -5.185662E-01 -1.564118E+00 -4.893096E-01 -5.433111E+00 -5.904259E+00 +6.901811E+00 +9.536643E+00 +1.572259E+00 +4.947922E-01 +1.527087E+00 +4.667459E-01 +5.329553E+00 +5.686973E+00 +6.901811E+00 +9.536643E+00 +1.572259E+00 +4.947922E-01 +1.527087E+00 +4.667459E-01 +5.329553E+00 +5.686973E+00 tally 2: -7.043320E+00 -9.922203E+00 -1.610208E+00 -5.185662E-01 -1.564118E+00 -4.893096E-01 -5.433111E+00 -5.904259E+00 +6.901811E+00 +9.536643E+00 +1.572259E+00 +4.947922E-01 +1.527087E+00 +4.667459E-01 +5.329553E+00 +5.686973E+00 diff --git a/tests/test_trigger_tallies/results_true.dat b/tests/test_trigger_tallies/results_true.dat index 0519260ddc..af6eea6238 100644 --- a/tests/test_trigger_tallies/results_true.dat +++ b/tests/test_trigger_tallies/results_true.dat @@ -1,28 +1,28 @@ k-combined: -9.875396E-01 4.095985E-03 +9.722624E-01 1.010453E-02 tally 1: -1.415943E+01 -2.006888E+01 -3.225529E+00 -1.040975E+00 -3.128858E+00 -9.794019E-01 -1.093390E+01 -1.196901E+01 -1.415943E+01 -2.006888E+01 -3.225529E+00 -1.040975E+00 -3.128858E+00 -9.794019E-01 -1.093390E+01 -1.196901E+01 +1.392936E+01 +1.941888E+01 +3.159556E+00 +9.989777E-01 +3.063616E+00 +9.391667E-01 +1.076980E+01 +1.160931E+01 +1.392936E+01 +1.941888E+01 +3.159556E+00 +9.989777E-01 +3.063616E+00 +9.391667E-01 +1.076980E+01 +1.160931E+01 tally 2: -1.415943E+01 -2.006888E+01 -3.225529E+00 -1.040975E+00 -3.128858E+00 -9.794019E-01 -1.093390E+01 -1.196901E+01 +1.392936E+01 +1.941888E+01 +3.159556E+00 +9.989777E-01 +3.063616E+00 +9.391667E-01 +1.076980E+01 +1.160931E+01 diff --git a/tests/test_uniform_fs/results_true.dat b/tests/test_uniform_fs/results_true.dat index a29a363b25..d27d63f565 100644 --- a/tests/test_uniform_fs/results_true.dat +++ b/tests/test_uniform_fs/results_true.dat @@ -1,2 +1,2 @@ k-combined: -3.546115E-01 2.982307E-03 +3.634132E-01 6.507584E-03 diff --git a/tests/test_union_energy_grids/results_true.dat b/tests/test_union_energy_grids/results_true.dat index 9556a981bc..0a607592c8 100644 --- a/tests/test_union_energy_grids/results_true.dat +++ b/tests/test_union_energy_grids/results_true.dat @@ -1,2 +1,2 @@ k-combined: -3.155788E-01 7.559348E-03 +3.330789E-01 2.216495E-03 diff --git a/tests/test_universe/results_true.dat b/tests/test_universe/results_true.dat index 5263a6b7fd..7b2fbf37f5 100644 --- a/tests/test_universe/results_true.dat +++ b/tests/test_universe/results_true.dat @@ -1,2 +1,2 @@ k-combined: -3.021779E-01 3.813358E-03 +2.943619E-01 3.309635E-03 diff --git a/tests/test_void/results_true.dat b/tests/test_void/results_true.dat index 4e99b86760..48be2778a4 100644 --- a/tests/test_void/results_true.dat +++ b/tests/test_void/results_true.dat @@ -1,2 +1,2 @@ k-combined: -1.045350E+00 2.750547E-02 +1.062505E+00 2.674375E-02