diff --git a/docs/source/_images/openmc.png b/docs/source/_images/openmc.png
deleted file mode 100644
index 9f5e97cd6e..0000000000
Binary files a/docs/source/_images/openmc.png and /dev/null differ
diff --git a/docs/source/_images/openmc200px.png b/docs/source/_images/openmc200px.png
deleted file mode 100644
index 3997c6baa0..0000000000
Binary files a/docs/source/_images/openmc200px.png and /dev/null differ
diff --git a/docs/source/_images/openmc_logo.png b/docs/source/_images/openmc_logo.png
new file mode 100644
index 0000000000..73d4765387
Binary files /dev/null and b/docs/source/_images/openmc_logo.png differ
diff --git a/docs/source/_images/openmc_logo.svg b/docs/source/_images/openmc_logo.svg
new file mode 100644
index 0000000000..a7352b79ab
--- /dev/null
+++ b/docs/source/_images/openmc_logo.svg
@@ -0,0 +1,60 @@
+
+
+
+
diff --git a/docs/source/_static/theme_overrides.css b/docs/source/_static/theme_overrides.css
index bee03f4150..dea941814d 100644
--- a/docs/source/_static/theme_overrides.css
+++ b/docs/source/_static/theme_overrides.css
@@ -16,3 +16,7 @@
.wy-table, .rst-content table.docutils, .rst-content table.field-list {
margin-bottom: 0px;
}
+
+.wy-side-nav-search {
+ background-color: #343131;
+}
diff --git a/docs/source/conf.py b/docs/source/conf.py
index 1baea2b03c..75e621bc17 100644
--- a/docs/source/conf.py
+++ b/docs/source/conf.py
@@ -129,7 +129,7 @@ if not on_rtd:
html_theme = 'sphinx_rtd_theme'
html_theme_path = [sphinx_rtd_theme.get_html_theme_path()]
-html_logo = '_images/openmc200px.png'
+html_logo = '_images/openmc_logo.png'
# The name for this set of Sphinx documents. If None, it defaults to
# " v documentation".
diff --git a/docs/source/io_formats/nuclear_data.rst b/docs/source/io_formats/nuclear_data.rst
index 8d8da8edae..060e96c0c9 100644
--- a/docs/source/io_formats/nuclear_data.rst
+++ b/docs/source/io_formats/nuclear_data.rst
@@ -26,8 +26,9 @@ Incident Neutron Data
temperature-dependent data set. For example, the data set corresponding to
300 Kelvin would be located at `300K`.
-:Datasets: - **K** (*double*) -- kT values (in MeV) for each Temperature
- TTT (in Kelvin)
+:Datasets:
+ - **K** (*double*) -- kT values (in MeV) for each Temperature
+ TTT (in Kelvin)
**//reactions/reaction_/**
@@ -44,11 +45,14 @@ temperature-dependent data set. For example, the data set corresponding to
temperature-dependent data set. For example, the data set corresponding to
300 Kelvin would be located at `300K`.
-:Attributes: - **threshold_idx** (*int*) -- Index on the energy grid that the
- reaction threshold corresponds to for temperature TTT (in Kelvin)
+:Datasets:
+ - **xs** (*double[]*) -- Cross section values tabulated against the
+ nuclide energy grid for temperature TTT (in Kelvin)
-:Datasets: - **xs** (*double[]*) -- Cross section values tabulated against the
- nuclide energy grid for temperature TTT (in Kelvin)
+ :Attributes:
+ - **threshold_idx** (*int*) -- Index on the energy
+ grid that the reaction threshold corresponds to for
+ temperature TTT (in Kelvin)
**//reactions/reaction_/product_/**
@@ -112,7 +116,7 @@ Thermal Neutron Scattering Data
**//**
:Attributes: - **atomic_weight_ratio** (*double*) -- Mass in units of neutron masses
- - **zaids** (*int[]*) -- ZAID identifiers for which the thermal
+ - **nuclides** (*char[][]*) -- Names of nuclides for which the thermal
scattering data applies to
- **secondary_mode** (*char[]*) -- Indicates how the inelastic
outgoing angle-energy distributions are represented ('equal',
@@ -124,8 +128,9 @@ Thermal Neutron Scattering Data
temperature-dependent data set. For example, the data set corresponding to
300 Kelvin would be located at `300K`.
-:Datasets: - **K** (*double*) -- kT values (in MeV) for each Temperature
- TTT (in Kelvin)
+:Datasets:
+ - **K** (*double*) -- kT values (in MeV) for each Temperature
+ TTT (in Kelvin)
**//elastic/K/**
diff --git a/docs/source/methods/cross_sections.rst b/docs/source/methods/cross_sections.rst
index 4ed7775367..a4d0f7d248 100644
--- a/docs/source/methods/cross_sections.rst
+++ b/docs/source/methods/cross_sections.rst
@@ -53,12 +53,12 @@ speed up the calculation.
Logarithmic Mapping
+++++++++++++++++++
-To speed up energy grid searches, OpenMC uses logarithmic mapping technique
-[Brown]_ to limit the range of energies that must be searched for each
-nuclide. The entire energy range is divided up into equal-lethargy segments, and
-the bounding energies of each segment are mapped to bounding indices on each of
-the nuclide energy grids. By default, OpenMC uses 8000 equal-lethargy segments
-as recommended by Brown.
+To speed up energy grid searches, OpenMC uses a `logarithmic mapping technique`_
+to limit the range of energies that must be searched for each nuclide. The
+entire energy range is divided up into equal-lethargy segments, and the bounding
+energies of each segment are mapped to bounding indices on each of the nuclide
+energy grids. By default, OpenMC uses 8000 equal-lethargy segments as
+recommended by Brown.
Other Methods
+++++++++++++
@@ -74,9 +74,9 @@ offers support for an experimental data format called windowed multipole (WMP).
This data format requires less memory than pointwise cross sections, and it
allows on-the-fly Doppler broadening to arbitrary temperature.
-The multipole method was introduced by [Hwang]_ and the faster windowed
-multipole method by [Josey]_. In the multipole format, cross section resonances
-are represented by poles, :math:`p_j`, and residues, :math:`r_j`, in the complex
+The multipole method was introduced by Hwang_ and the faster windowed multipole
+method by Josey_. In the multipole format, cross section resonances are
+represented by poles, :math:`p_j`, and residues, :math:`r_j`, in the complex
plane. The 0K cross sections in the resolved resonance region can be computed
by summing up a contribution from each pole:
@@ -232,21 +232,10 @@ sections. This allows flexibility for the model to use highly anisotropic
scattering information in the water while the fuel can be simulated with linear
or even isotropic scattering.
-.. only:: html
-
- .. rubric:: References
-
-.. [Brown] Forrest B. Brown, "New Hash-based Energy Lookup Algorithm for Monte
- Carlo codes," LA-UR-14-24530, Los Alamos National Laboratory (2014).
-
-.. [Hwang] R. N. Hwang, "A Rigorous Pole Representation of Multilevel Cross
- Sections and Its Practical Application," *Nucl. Sci. Eng.*, **96**,
- 192-209 (1987).
-
-.. [Josey] Colin Josey, Pablo Ducru, Benoit Forget, and Kord Smith, "Windowed
- Multipole for Cross Section Doppler Broadening," *J. Comp. Phys*,
- **307**, 715-727 (2016). http://dx.doi.org/10.1016/j.jcp.2015.08.013
-
+.. _logarithmic mapping technique:
+ https://laws.lanl.gov/vhosts/mcnp.lanl.gov/pdf_files/la-ur-14-24530.pdf
+.. _Hwang: http://www.ans.org/pubs/journals/nse/a_16381
+.. _Josey: http://dx.doi.org/10.1016/j.jcp.2015.08.013
.. _MCNP: http://mcnp.lanl.gov
.. _Serpent: http://montecarlo.vtt.fi
.. _NJOY: http://t2.lanl.gov/codes.shtml
diff --git a/docs/source/pythonapi/examples/mdgxs-part-i.rst b/docs/source/pythonapi/examples/mdgxs-part-i.rst
new file mode 100644
index 0000000000..953dcf4700
--- /dev/null
+++ b/docs/source/pythonapi/examples/mdgxs-part-i.rst
@@ -0,0 +1,13 @@
+.. _notebook_mdgxs_part_i:
+
+==========================
+MDGXS Part I: Introduction
+==========================
+
+.. only:: html
+
+ .. notebook:: mdgxs-part-i.ipynb
+
+.. only:: latex
+
+ IPython notebooks must be viewed in the online HTML documentation.
diff --git a/docs/source/pythonapi/examples/mdgxs-part-ii.rst b/docs/source/pythonapi/examples/mdgxs-part-ii.rst
new file mode 100644
index 0000000000..a42eb766b7
--- /dev/null
+++ b/docs/source/pythonapi/examples/mdgxs-part-ii.rst
@@ -0,0 +1,13 @@
+.. _notebook_mdgxs_part_ii:
+
+================================
+MDGXS Part II: Advanced Features
+================================
+
+.. only:: html
+
+ .. notebook:: mdgxs-part-ii.ipynb
+
+.. only:: latex
+
+ IPython notebooks must be viewed in the online HTML documentation.
diff --git a/docs/source/pythonapi/examples/mgxs-part-i.ipynb b/docs/source/pythonapi/examples/mgxs-part-i.ipynb
index 7c5132100e..4477e323d7 100644
--- a/docs/source/pythonapi/examples/mgxs-part-i.ipynb
+++ b/docs/source/pythonapi/examples/mgxs-part-i.ipynb
@@ -214,7 +214,6 @@
"source": [
"# Instantiate a Materials collection and export to XML\n",
"materials_file = openmc.Materials([inf_medium])\n",
- "materials_file.default_xs = '71c'\n",
"materials_file.export_to_xml()"
]
},
@@ -499,23 +498,37 @@
"output_type": "stream",
"text": [
"\n",
- " .d88888b. 888b d888 .d8888b.\n",
- " d88P\" \"Y88b 8888b d8888 d88P Y88b\n",
- " 888 888 88888b.d88888 888 888\n",
- " 888 888 88888b. .d88b. 88888b. 888Y88888P888 888 \n",
- " 888 888 888 \"88b d8P Y8b 888 \"88b 888 Y888P 888 888 \n",
- " 888 888 888 888 88888888 888 888 888 Y8P 888 888 888\n",
- " Y88b. .d88P 888 d88P Y8b. 888 888 888 \" 888 Y88b d88P\n",
- " \"Y88888P\" 88888P\" \"Y8888 888 888 888 888 \"Y8888P\"\n",
- "__________________888______________________________________________________\n",
- " 888\n",
- " 888\n",
+ " %%%%%%%%%%%%%%%\n",
+ " %%%%%%%%%%%%%%%%%%%%%%%%\n",
+ " %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",
+ " %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",
+ " %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",
+ " %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",
+ " %%%%%%%%%%%%%%%%%%%%%%%%\n",
+ " %%%%%%%%%%%%%%%%%%%%%%%%\n",
+ " ############### %%%%%%%%%%%%%%%%%%%%%%%%\n",
+ " ################## %%%%%%%%%%%%%%%%%%%%%%%\n",
+ " ################### %%%%%%%%%%%%%%%%%%%%%%%\n",
+ " #################### %%%%%%%%%%%%%%%%%%%%%%\n",
+ " ##################### %%%%%%%%%%%%%%%%%%%%%\n",
+ " ###################### %%%%%%%%%%%%%%%%%%%%\n",
+ " ####################### %%%%%%%%%%%%%%%%%%\n",
+ " ####################### %%%%%%%%%%%%%%%%%\n",
+ " ###################### %%%%%%%%%%%%%%%%%\n",
+ " #################### %%%%%%%%%%%%%%%%%\n",
+ " ################# %%%%%%%%%%%%%%%%%\n",
+ " ############### %%%%%%%%%%%%%%%%\n",
+ " ############ %%%%%%%%%%%%%%%\n",
+ " ######## %%%%%%%%%%%%%%\n",
+ " %%%%%%%%%%%\n",
"\n",
- " Copyright: 2011-2016 Massachusetts Institute of Technology\n",
- " License: http://openmc.readthedocs.io/en/latest/license.html\n",
- " Version: 0.7.1\n",
- " Git SHA1: 3d68c07625e33cd64188df03ee03e9c31b3d4b74\n",
- " Date/Time: 2016-07-22 21:03:18\n",
+ " | The OpenMC Monte Carlo Code\n",
+ " Copyright | 2011-2016 Massachusetts Institute of Technology\n",
+ " License | http://openmc.readthedocs.io/en/latest/license.html\n",
+ " Version | 0.8.0\n",
+ " Git SHA1 | fbebf7bf709fe2fe1813af95bff9b29c0d59312c\n",
+ " Date/Time | 2016-08-31 10:40:13\n",
+ " OpenMP Threads | 4\n",
"\n",
" ===========================================================================\n",
" ========================> INITIALIZATION <=========================\n",
@@ -525,12 +538,12 @@
" Reading geometry XML file...\n",
" Reading cross sections XML file...\n",
" Reading materials XML file...\n",
- " Reading H1.71c from /home/romano/openmc/data/nndc_hdf5/H1_71c.h5\n",
- " Reading O16.71c from /home/romano/openmc/data/nndc_hdf5/O16_71c.h5\n",
- " Reading U235.71c from /home/romano/openmc/data/nndc_hdf5/U235_71c.h5\n",
- " Reading U238.71c from /home/romano/openmc/data/nndc_hdf5/U238_71c.h5\n",
- " Reading Zr90.71c from /home/romano/openmc/data/nndc_hdf5/Zr90_71c.h5\n",
- " Maximum neutron transport energy: 20.0000 MeV for H1.71c\n",
+ " Reading H1 from /home/romano/openmc/data/nndc_hdf5/H1.h5\n",
+ " Reading O16 from /home/romano/openmc/data/nndc_hdf5/O16.h5\n",
+ " Reading U235 from /home/romano/openmc/data/nndc_hdf5/U235.h5\n",
+ " Reading U238 from /home/romano/openmc/data/nndc_hdf5/U238.h5\n",
+ " Reading Zr90 from /home/romano/openmc/data/nndc_hdf5/Zr90.h5\n",
+ " Maximum neutron transport energy: 20.0000 MeV for H1\n",
" Reading tallies XML file...\n",
" Building neighboring cells lists for each surface...\n",
" Initializing source particles...\n",
@@ -600,20 +613,20 @@
"\n",
" =======================> TIMING STATISTICS <=======================\n",
"\n",
- " Total time for initialization = 3.2300E-01 seconds\n",
- " Reading cross sections = 1.6900E-01 seconds\n",
- " Total time in simulation = 1.9882E+01 seconds\n",
- " Time in transport only = 1.9869E+01 seconds\n",
- " Time in inactive batches = 2.6590E+00 seconds\n",
- " Time in active batches = 1.7223E+01 seconds\n",
+ " Total time for initialization = 3.9900E-01 seconds\n",
+ " Reading cross sections = 2.6500E-01 seconds\n",
+ " Total time in simulation = 1.1488E+01 seconds\n",
+ " Time in transport only = 1.1152E+01 seconds\n",
+ " Time in inactive batches = 1.2180E+00 seconds\n",
+ " Time in active batches = 1.0270E+01 seconds\n",
" Time synchronizing fission bank = 4.0000E-03 seconds\n",
- " Sampling source sites = 4.0000E-03 seconds\n",
- " SEND/RECV source sites = 0.0000E+00 seconds\n",
+ " Sampling source sites = 3.0000E-03 seconds\n",
+ " SEND/RECV source sites = 1.0000E-03 seconds\n",
" Time accumulating tallies = 0.0000E+00 seconds\n",
- " Total time for finalization = 0.0000E+00 seconds\n",
- " Total time elapsed = 2.0217E+01 seconds\n",
- " Calculation Rate (inactive) = 9402.03 neutrons/second\n",
- " Calculation Rate (active) = 5806.19 neutrons/second\n",
+ " Total time for finalization = 1.0000E-03 seconds\n",
+ " Total time elapsed = 1.1901E+01 seconds\n",
+ " Calculation Rate (inactive) = 20525.5 neutrons/second\n",
+ " Calculation Rate (active) = 9737.10 neutrons/second\n",
"\n",
" ============================> RESULTS <============================\n",
"\n",
@@ -894,7 +907,7 @@
"
6.250000e-07
\n",
"
total
\n",
"
(((total / flux) - (absorption / flux)) - (sca...
\n",
- "
-3.774758e-15
\n",
+ "
-2.886580e-15
\n",
"
0.011292
\n",
" \n",
"
\n",
@@ -904,7 +917,7 @@
"
2.000000e+01
\n",
"
total
\n",
"
(((total / flux) - (absorption / flux)) - (sca...
\n",
- "
1.443290e-15
\n",
+ "
-5.551115e-16
\n",
"
0.002570
\n",
"
\n",
" \n",
@@ -917,8 +930,8 @@
"1 1 6.25e-07 2.00e+01 total \n",
"\n",
" 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 "
+ "0 (((total / flux) - (absorption / flux)) - (sca... -2.89e-15 1.13e-02 \n",
+ "1 (((total / flux) - (absorption / flux)) - (sca... -5.55e-16 2.57e-03 "
]
},
"execution_count": 22,
@@ -1167,21 +1180,21 @@
],
"metadata": {
"kernelspec": {
- "display_name": "Python 2",
+ "display_name": "Python 3",
"language": "python",
- "name": "python2"
+ "name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
- "version": 2
+ "version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
- "pygments_lexer": "ipython2",
- "version": "2.7.11"
+ "pygments_lexer": "ipython3",
+ "version": "3.5.2"
}
},
"nbformat": 4,
diff --git a/docs/source/pythonapi/examples/mgxs-part-ii.ipynb b/docs/source/pythonapi/examples/mgxs-part-ii.ipynb
index ca4832809a..341969fbdd 100644
--- a/docs/source/pythonapi/examples/mgxs-part-ii.ipynb
+++ b/docs/source/pythonapi/examples/mgxs-part-ii.ipynb
@@ -34,9 +34,7 @@
"name": "stderr",
"output_type": "stream",
"text": [
- "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/__init__.py:878: 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",
- "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/__init__.py:1357: UserWarning: This call to matplotlib.use() has no effect\n",
+ "/home/romano/miniconda3/envs/default/lib/python3.5/site-packages/matplotlib/__init__.py:1350: 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",
@@ -134,7 +132,6 @@
"source": [
"# Instantiate a Materials collection\n",
"materials_file = openmc.Materials((fuel, water, zircaloy))\n",
- "materials_file.default_xs = '71c'\n",
"\n",
"# Export to \"materials.xml\"\n",
"materials_file.export_to_xml()"
@@ -428,24 +425,37 @@
"output_type": "stream",
"text": [
"\n",
- " .d88888b. 888b d888 .d8888b.\n",
- " d88P\" \"Y88b 8888b d8888 d88P Y88b\n",
- " 888 888 88888b.d88888 888 888\n",
- " 888 888 88888b. .d88b. 88888b. 888Y88888P888 888 \n",
- " 888 888 888 \"88b d8P Y8b 888 \"88b 888 Y888P 888 888 \n",
- " 888 888 888 888 88888888 888 888 888 Y8P 888 888 888\n",
- " Y88b. .d88P 888 d88P Y8b. 888 888 888 \" 888 Y88b d88P\n",
- " \"Y88888P\" 88888P\" \"Y8888 888 888 888 888 \"Y8888P\"\n",
- "__________________888______________________________________________________\n",
- " 888\n",
- " 888\n",
+ " %%%%%%%%%%%%%%%\n",
+ " %%%%%%%%%%%%%%%%%%%%%%%%\n",
+ " %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",
+ " %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",
+ " %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",
+ " %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",
+ " %%%%%%%%%%%%%%%%%%%%%%%%\n",
+ " %%%%%%%%%%%%%%%%%%%%%%%%\n",
+ " ############### %%%%%%%%%%%%%%%%%%%%%%%%\n",
+ " ################## %%%%%%%%%%%%%%%%%%%%%%%\n",
+ " ################### %%%%%%%%%%%%%%%%%%%%%%%\n",
+ " #################### %%%%%%%%%%%%%%%%%%%%%%\n",
+ " ##################### %%%%%%%%%%%%%%%%%%%%%\n",
+ " ###################### %%%%%%%%%%%%%%%%%%%%\n",
+ " ####################### %%%%%%%%%%%%%%%%%%\n",
+ " ####################### %%%%%%%%%%%%%%%%%\n",
+ " ###################### %%%%%%%%%%%%%%%%%\n",
+ " #################### %%%%%%%%%%%%%%%%%\n",
+ " ################# %%%%%%%%%%%%%%%%%\n",
+ " ############### %%%%%%%%%%%%%%%%\n",
+ " ############ %%%%%%%%%%%%%%%\n",
+ " ######## %%%%%%%%%%%%%%\n",
+ " %%%%%%%%%%%\n",
"\n",
- " Copyright: 2011-2016 Massachusetts Institute of Technology\n",
- " License: http://openmc.readthedocs.io/en/latest/license.html\n",
- " Version: 0.8.0\n",
- " Git SHA1: be7e6e035d22944a8c80ca32f99935b6822854c9\n",
- " Date/Time: 2016-08-10 15:31:07\n",
- " MPI Processes: 1\n",
+ " | The OpenMC Monte Carlo Code\n",
+ " Copyright | 2011-2016 Massachusetts Institute of Technology\n",
+ " License | http://openmc.readthedocs.io/en/latest/license.html\n",
+ " Version | 0.8.0\n",
+ " Git SHA1 | fbebf7bf709fe2fe1813af95bff9b29c0d59312c\n",
+ " Date/Time | 2016-08-31 10:55:07\n",
+ " OpenMP Threads | 4\n",
"\n",
" ===========================================================================\n",
" ========================> INITIALIZATION <=========================\n",
@@ -455,12 +465,12 @@
" Reading geometry XML file...\n",
" Reading cross sections XML file...\n",
" Reading materials XML file...\n",
- " Reading U235.71c from /Users/sam/git/openmc-sam/data/nndc_hdf5/U235_71c.h5\n",
- " Reading U238.71c from /Users/sam/git/openmc-sam/data/nndc_hdf5/U238_71c.h5\n",
- " Reading O16.71c from /Users/sam/git/openmc-sam/data/nndc_hdf5/O16_71c.h5\n",
- " Reading H1.71c from /Users/sam/git/openmc-sam/data/nndc_hdf5/H1_71c.h5\n",
- " Reading Zr90.71c from /Users/sam/git/openmc-sam/data/nndc_hdf5/Zr90_71c.h5\n",
- " Maximum neutron transport energy: 20.0000 MeV for U235.71c\n",
+ " Reading U235 from /home/romano/openmc/data/nndc_hdf5/U235.h5\n",
+ " Reading U238 from /home/romano/openmc/data/nndc_hdf5/U238.h5\n",
+ " Reading O16 from /home/romano/openmc/data/nndc_hdf5/O16.h5\n",
+ " Reading H1 from /home/romano/openmc/data/nndc_hdf5/H1.h5\n",
+ " Reading Zr90 from /home/romano/openmc/data/nndc_hdf5/Zr90.h5\n",
+ " Maximum neutron transport energy: 20.0000 MeV for U235\n",
" Reading tallies XML file...\n",
" Building neighboring cells lists for each surface...\n",
" Initializing source particles...\n",
@@ -521,7 +531,7 @@
" 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 10052\n",
+ " Triggers unsatisfied, max unc./thresh. is 1.25496 for flux in tally 10057\n",
" The estimated number of batches is 73\n",
" Creating state point statepoint.050.h5...\n",
" 51/1 1.21850 1.22541 +/- 0.00237\n",
@@ -547,7 +557,7 @@
" 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 10052\n",
+ " Triggers unsatisfied, max unc./thresh. is 1.00243 for flux in tally 10057\n",
" The estimated number of batches is 74\n",
" 74/1 1.22437 1.22487 +/- 0.00188\n",
" Triggers satisfied for batch 74\n",
@@ -560,20 +570,20 @@
"\n",
" =======================> TIMING STATISTICS <=======================\n",
"\n",
- " Total time for initialization = 4.0400E-01 seconds\n",
- " Reading cross sections = 2.1100E-01 seconds\n",
- " Total time in simulation = 2.8243E+02 seconds\n",
- " Time in transport only = 2.8236E+02 seconds\n",
- " Time in inactive batches = 1.8781E+01 seconds\n",
- " Time in active batches = 2.6365E+02 seconds\n",
- " Time synchronizing fission bank = 2.7000E-02 seconds\n",
- " Sampling source sites = 1.7000E-02 seconds\n",
+ " Total time for initialization = 4.0300E-01 seconds\n",
+ " Reading cross sections = 2.6000E-01 seconds\n",
+ " Total time in simulation = 1.3275E+02 seconds\n",
+ " Time in transport only = 1.3260E+02 seconds\n",
+ " Time in inactive batches = 8.2130E+00 seconds\n",
+ " Time in active batches = 1.2454E+02 seconds\n",
+ " Time synchronizing fission bank = 3.0000E-02 seconds\n",
+ " Sampling source sites = 2.2000E-02 seconds\n",
" SEND/RECV source sites = 8.0000E-03 seconds\n",
- " Time accumulating tallies = 2.0000E-03 seconds\n",
- " Total time for finalization = 2.4000E-02 seconds\n",
- " Total time elapsed = 2.8293E+02 seconds\n",
- " Calculation Rate (inactive) = 5324.53 neutrons/second\n",
- " Calculation Rate (active) = 1517.17 neutrons/second\n",
+ " Time accumulating tallies = 3.0000E-03 seconds\n",
+ " Total time for finalization = 1.5000E-02 seconds\n",
+ " Total time elapsed = 1.3324E+02 seconds\n",
+ " Calculation Rate (inactive) = 12175.8 neutrons/second\n",
+ " Calculation Rate (active) = 3211.92 neutrons/second\n",
"\n",
" ============================> RESULTS <============================\n",
"\n",
@@ -772,14 +782,6 @@
"collapsed": false
},
"outputs": [
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/numpy/lib/shape_base.py:873: VisibleDeprecationWarning: 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": [
@@ -1170,239 +1172,169 @@
"text": [
"[ NORMAL ] Importing ray tracing data from file...\n",
"[ NORMAL ] Computing the eigenvalue...\n",
- "[ NORMAL ] Iteration 0:\tk_eff = 0.423123\tres = 0.000E+00\n",
- "[ NORMAL ] Iteration 1:\tk_eff = 0.475921\tres = 5.769E-01\n",
- "[ NORMAL ] Iteration 2:\tk_eff = 0.491443\tres = 1.248E-01\n",
- "[ NORMAL ] Iteration 3:\tk_eff = 0.487441\tres = 3.261E-02\n",
- "[ NORMAL ] Iteration 4:\tk_eff = 0.483949\tres = 8.144E-03\n",
- "[ NORMAL ] Iteration 5:\tk_eff = 0.477326\tres = 7.164E-03\n",
- "[ NORMAL ] Iteration 6:\tk_eff = 0.469012\tres = 1.369E-02\n",
- "[ NORMAL ] Iteration 7:\tk_eff = 0.460422\tres = 1.742E-02\n",
- "[ NORMAL ] Iteration 8:\tk_eff = 0.450721\tres = 1.832E-02\n",
- "[ NORMAL ] Iteration 9:\tk_eff = 0.441532\tres = 2.107E-02\n",
- "[ NORMAL ] Iteration 10:\tk_eff = 0.432168\tres = 2.039E-02\n",
- "[ NORMAL ] Iteration 11:\tk_eff = 0.423131\tres = 2.121E-02\n",
- "[ NORMAL ] Iteration 12:\tk_eff = 0.414705\tres = 2.091E-02\n",
- "[ NORMAL ] Iteration 13:\tk_eff = 0.406942\tres = 1.991E-02\n",
- "[ NORMAL ] Iteration 14:\tk_eff = 0.399627\tres = 1.872E-02\n",
- "[ NORMAL ] Iteration 15:\tk_eff = 0.393329\tres = 1.798E-02\n",
- "[ NORMAL ] Iteration 16:\tk_eff = 0.387699\tres = 1.576E-02\n",
- "[ NORMAL ] Iteration 17:\tk_eff = 0.382948\tres = 1.431E-02\n",
- "[ NORMAL ] Iteration 18:\tk_eff = 0.379028\tres = 1.225E-02\n",
- "[ NORMAL ] Iteration 19:\tk_eff = 0.375934\tres = 1.024E-02\n",
- "[ NORMAL ] Iteration 20:\tk_eff = 0.373784\tres = 8.161E-03\n",
- "[ NORMAL ] Iteration 21:\tk_eff = 0.372654\tres = 5.719E-03\n",
- "[ NORMAL ] Iteration 22:\tk_eff = 0.372273\tres = 3.023E-03\n",
- "[ NORMAL ] Iteration 23:\tk_eff = 0.372879\tres = 1.024E-03\n",
- "[ NORMAL ] Iteration 24:\tk_eff = 0.374353\tres = 1.629E-03\n",
- "[ NORMAL ] Iteration 25:\tk_eff = 0.376678\tres = 3.951E-03\n",
- "[ NORMAL ] Iteration 26:\tk_eff = 0.379854\tres = 6.212E-03\n",
- "[ NORMAL ] Iteration 27:\tk_eff = 0.383870\tres = 8.432E-03\n",
- "[ NORMAL ] Iteration 28:\tk_eff = 0.388663\tres = 1.057E-02\n",
- "[ NORMAL ] Iteration 29:\tk_eff = 0.394216\tres = 1.249E-02\n",
- "[ NORMAL ] Iteration 30:\tk_eff = 0.400506\tres = 1.429E-02\n",
- "[ NORMAL ] Iteration 31:\tk_eff = 0.407501\tres = 1.596E-02\n",
- "[ NORMAL ] Iteration 32:\tk_eff = 0.415145\tres = 1.747E-02\n",
- "[ NORMAL ] Iteration 33:\tk_eff = 0.423426\tres = 1.876E-02\n",
- "[ NORMAL ] Iteration 34:\tk_eff = 0.432299\tres = 1.995E-02\n",
- "[ NORMAL ] Iteration 35:\tk_eff = 0.441713\tres = 2.095E-02\n",
- "[ NORMAL ] Iteration 36:\tk_eff = 0.451665\tres = 2.178E-02\n",
- "[ NORMAL ] Iteration 37:\tk_eff = 0.462081\tres = 2.253E-02\n",
- "[ NORMAL ] Iteration 38:\tk_eff = 0.472951\tres = 2.306E-02\n",
- "[ NORMAL ] Iteration 39:\tk_eff = 0.484220\tres = 2.352E-02\n",
- "[ NORMAL ] Iteration 40:\tk_eff = 0.495861\tres = 2.383E-02\n",
- "[ NORMAL ] Iteration 41:\tk_eff = 0.507836\tres = 2.404E-02\n",
- "[ NORMAL ] Iteration 42:\tk_eff = 0.520110\tres = 2.415E-02\n",
- "[ NORMAL ] Iteration 43:\tk_eff = 0.532648\tres = 2.417E-02\n",
- "[ NORMAL ] Iteration 44:\tk_eff = 0.545418\tres = 2.411E-02\n",
- "[ NORMAL ] Iteration 45:\tk_eff = 0.558388\tres = 2.398E-02\n",
- "[ NORMAL ] Iteration 46:\tk_eff = 0.571526\tres = 2.378E-02\n",
- "[ NORMAL ] Iteration 47:\tk_eff = 0.584802\tres = 2.353E-02\n",
- "[ NORMAL ] Iteration 48:\tk_eff = 0.598189\tres = 2.323E-02\n",
- "[ NORMAL ] Iteration 49:\tk_eff = 0.611657\tres = 2.289E-02\n",
- "[ NORMAL ] Iteration 50:\tk_eff = 0.625182\tres = 2.252E-02\n",
- "[ NORMAL ] Iteration 51:\tk_eff = 0.638738\tres = 2.211E-02\n",
- "[ NORMAL ] Iteration 52:\tk_eff = 0.652302\tres = 2.168E-02\n",
- "[ NORMAL ] Iteration 53:\tk_eff = 0.665851\tres = 2.124E-02\n",
- "[ NORMAL ] Iteration 54:\tk_eff = 0.679364\tres = 2.077E-02\n",
- "[ NORMAL ] Iteration 55:\tk_eff = 0.692821\tres = 2.029E-02\n",
- "[ NORMAL ] Iteration 56:\tk_eff = 0.706204\tres = 1.981E-02\n",
- "[ NORMAL ] Iteration 57:\tk_eff = 0.719496\tres = 1.932E-02\n",
- "[ NORMAL ] Iteration 58:\tk_eff = 0.732679\tres = 1.882E-02\n",
- "[ NORMAL ] Iteration 59:\tk_eff = 0.745740\tres = 1.832E-02\n",
- "[ NORMAL ] Iteration 60:\tk_eff = 0.758664\tres = 1.783E-02\n",
- "[ NORMAL ] Iteration 61:\tk_eff = 0.771439\tres = 1.733E-02\n",
- "[ NORMAL ] Iteration 62:\tk_eff = 0.784053\tres = 1.684E-02\n",
- "[ NORMAL ] Iteration 63:\tk_eff = 0.796495\tres = 1.635E-02\n",
- "[ NORMAL ] Iteration 64:\tk_eff = 0.808756\tres = 1.587E-02\n",
- "[ NORMAL ] Iteration 65:\tk_eff = 0.820827\tres = 1.539E-02\n",
- "[ NORMAL ] Iteration 66:\tk_eff = 0.832700\tres = 1.493E-02\n",
- "[ NORMAL ] Iteration 67:\tk_eff = 0.844370\tres = 1.447E-02\n",
- "[ NORMAL ] Iteration 68:\tk_eff = 0.855828\tres = 1.401E-02\n",
- "[ NORMAL ] Iteration 69:\tk_eff = 0.867071\tres = 1.357E-02\n",
- "[ NORMAL ] Iteration 70:\tk_eff = 0.878094\tres = 1.314E-02\n",
- "[ NORMAL ] Iteration 71:\tk_eff = 0.888893\tres = 1.271E-02\n",
- "[ NORMAL ] Iteration 72:\tk_eff = 0.899465\tres = 1.230E-02\n",
- "[ NORMAL ] Iteration 73:\tk_eff = 0.909807\tres = 1.189E-02\n",
- "[ NORMAL ] Iteration 74:\tk_eff = 0.919919\tres = 1.150E-02\n",
- "[ NORMAL ] Iteration 75:\tk_eff = 0.929798\tres = 1.111E-02\n",
- "[ NORMAL ] Iteration 76:\tk_eff = 0.939444\tres = 1.074E-02\n",
- "[ NORMAL ] Iteration 77:\tk_eff = 0.948856\tres = 1.037E-02\n",
- "[ NORMAL ] Iteration 78:\tk_eff = 0.958036\tres = 1.002E-02\n",
- "[ NORMAL ] Iteration 79:\tk_eff = 0.966983\tres = 9.674E-03\n",
- "[ NORMAL ] Iteration 80:\tk_eff = 0.975698\tres = 9.339E-03\n",
- "[ NORMAL ] Iteration 81:\tk_eff = 0.984184\tres = 9.013E-03\n",
- "[ NORMAL ] Iteration 82:\tk_eff = 0.992441\tres = 8.697E-03\n",
- "[ NORMAL ] Iteration 83:\tk_eff = 1.000472\tres = 8.390E-03\n",
- "[ NORMAL ] Iteration 84:\tk_eff = 1.008280\tres = 8.092E-03\n",
- "[ NORMAL ] Iteration 85:\tk_eff = 1.015866\tres = 7.804E-03\n",
- "[ NORMAL ] Iteration 86:\tk_eff = 1.023234\tres = 7.524E-03\n",
- "[ NORMAL ] Iteration 87:\tk_eff = 1.030386\tres = 7.253E-03\n",
- "[ NORMAL ] Iteration 88:\tk_eff = 1.037327\tres = 6.990E-03\n",
- "[ NORMAL ] Iteration 89:\tk_eff = 1.044059\tres = 6.736E-03\n",
- "[ NORMAL ] Iteration 90:\tk_eff = 1.050585\tres = 6.490E-03\n",
- "[ NORMAL ] Iteration 91:\tk_eff = 1.056911\tres = 6.251E-03\n",
- "[ NORMAL ] Iteration 92:\tk_eff = 1.063038\tres = 6.021E-03\n",
- "[ NORMAL ] Iteration 93:\tk_eff = 1.068972\tres = 5.798E-03\n",
- "[ NORMAL ] Iteration 94:\tk_eff = 1.074716\tres = 5.582E-03\n",
- "[ NORMAL ] Iteration 95:\tk_eff = 1.080275\tres = 5.373E-03\n",
- "[ NORMAL ] Iteration 96:\tk_eff = 1.085651\tres = 5.172E-03\n",
- "[ NORMAL ] Iteration 97:\tk_eff = 1.090850\tres = 4.977E-03\n",
- "[ NORMAL ] Iteration 98:\tk_eff = 1.095876\tres = 4.789E-03\n",
- "[ NORMAL ] Iteration 99:\tk_eff = 1.100733\tres = 4.607E-03\n",
- "[ NORMAL ] Iteration 100:\tk_eff = 1.105424\tres = 4.432E-03\n",
- "[ NORMAL ] Iteration 101:\tk_eff = 1.109955\tres = 4.262E-03\n",
- "[ NORMAL ] Iteration 102:\tk_eff = 1.114328\tres = 4.099E-03\n",
- "[ NORMAL ] Iteration 103:\tk_eff = 1.118550\tres = 3.941E-03\n",
- "[ NORMAL ] Iteration 104:\tk_eff = 1.122623\tres = 3.788E-03\n",
- "[ NORMAL ] Iteration 105:\tk_eff = 1.126551\tres = 3.641E-03\n",
- "[ NORMAL ] Iteration 106:\tk_eff = 1.130339\tres = 3.499E-03\n",
- "[ NORMAL ] Iteration 107:\tk_eff = 1.133991\tres = 3.363E-03\n",
- "[ NORMAL ] Iteration 108:\tk_eff = 1.137511\tres = 3.231E-03\n",
- "[ NORMAL ] Iteration 109:\tk_eff = 1.140902\tres = 3.104E-03\n",
- "[ NORMAL ] Iteration 110:\tk_eff = 1.144168\tres = 2.981E-03\n",
- "[ NORMAL ] Iteration 111:\tk_eff = 1.147313\tres = 2.863E-03\n",
- "[ NORMAL ] Iteration 112:\tk_eff = 1.150342\tres = 2.749E-03\n",
- "[ NORMAL ] Iteration 113:\tk_eff = 1.153257\tres = 2.640E-03\n",
- "[ NORMAL ] Iteration 114:\tk_eff = 1.156062\tres = 2.534E-03\n",
- "[ NORMAL ] Iteration 115:\tk_eff = 1.158761\tres = 2.432E-03\n",
- "[ NORMAL ] Iteration 116:\tk_eff = 1.161356\tres = 2.334E-03\n",
- "[ NORMAL ] Iteration 117:\tk_eff = 1.163852\tres = 2.240E-03\n",
- "[ NORMAL ] Iteration 118:\tk_eff = 1.166252\tres = 2.149E-03\n",
- "[ NORMAL ] Iteration 119:\tk_eff = 1.168559\tres = 2.062E-03\n",
- "[ NORMAL ] Iteration 120:\tk_eff = 1.170776\tres = 1.978E-03\n",
- "[ NORMAL ] Iteration 121:\tk_eff = 1.172906\tres = 1.897E-03\n",
- "[ NORMAL ] Iteration 122:\tk_eff = 1.174952\tres = 1.819E-03\n",
- "[ NORMAL ] Iteration 123:\tk_eff = 1.176918\tres = 1.745E-03\n",
- "[ NORMAL ] Iteration 124:\tk_eff = 1.178805\tres = 1.673E-03\n",
- "[ NORMAL ] Iteration 125:\tk_eff = 1.180617\tres = 1.603E-03\n",
- "[ NORMAL ] Iteration 126:\tk_eff = 1.182356\tres = 1.537E-03\n",
- "[ NORMAL ] Iteration 127:\tk_eff = 1.184025\tres = 1.473E-03\n",
- "[ NORMAL ] Iteration 128:\tk_eff = 1.185626\tres = 1.412E-03\n",
- "[ NORMAL ] Iteration 129:\tk_eff = 1.187163\tres = 1.353E-03\n",
- "[ NORMAL ] Iteration 130:\tk_eff = 1.188637\tres = 1.296E-03\n",
- "[ NORMAL ] Iteration 131:\tk_eff = 1.190050\tres = 1.241E-03\n",
- "[ NORMAL ] Iteration 132:\tk_eff = 1.191405\tres = 1.189E-03\n",
- "[ NORMAL ] Iteration 133:\tk_eff = 1.192704\tres = 1.139E-03\n",
- "[ NORMAL ] Iteration 134:\tk_eff = 1.193950\tres = 1.091E-03\n",
- "[ NORMAL ] Iteration 135:\tk_eff = 1.195144\tres = 1.044E-03\n",
- "[ NORMAL ] Iteration 136:\tk_eff = 1.196287\tres = 9.997E-04\n",
- "[ NORMAL ] Iteration 137:\tk_eff = 1.197383\tres = 9.571E-04\n",
- "[ NORMAL ] Iteration 138:\tk_eff = 1.198433\tres = 9.161E-04\n",
- "[ NORMAL ] Iteration 139:\tk_eff = 1.199439\tres = 8.768E-04\n",
- "[ NORMAL ] Iteration 140:\tk_eff = 1.200402\tres = 8.391E-04\n",
- "[ NORMAL ] Iteration 141:\tk_eff = 1.201324\tres = 8.029E-04\n",
- "[ NORMAL ] Iteration 142:\tk_eff = 1.202207\tres = 7.682E-04\n",
- "[ NORMAL ] Iteration 143:\tk_eff = 1.203052\tres = 7.349E-04\n",
- "[ NORMAL ] Iteration 144:\tk_eff = 1.203861\tres = 7.030E-04\n",
- "[ NORMAL ] Iteration 145:\tk_eff = 1.204635\tres = 6.724E-04\n",
- "[ NORMAL ] Iteration 146:\tk_eff = 1.205376\tres = 6.431E-04\n",
- "[ NORMAL ] Iteration 147:\tk_eff = 1.206084\tres = 6.149E-04\n",
- "[ NORMAL ] Iteration 148:\tk_eff = 1.206762\tres = 5.880E-04\n",
- "[ NORMAL ] Iteration 149:\tk_eff = 1.207411\tres = 5.622E-04\n",
- "[ NORMAL ] Iteration 150:\tk_eff = 1.208031\tres = 5.374E-04\n",
- "[ NORMAL ] Iteration 151:\tk_eff = 1.208624\tres = 5.137E-04\n",
- "[ NORMAL ] Iteration 152:\tk_eff = 1.209192\tres = 4.910E-04\n",
- "[ NORMAL ] Iteration 153:\tk_eff = 1.209734\tres = 4.693E-04\n",
- "[ NORMAL ] Iteration 154:\tk_eff = 1.210252\tres = 4.484E-04\n",
- "[ NORMAL ] Iteration 155:\tk_eff = 1.210748\tres = 4.285E-04\n",
- "[ NORMAL ] Iteration 156:\tk_eff = 1.211221\tres = 4.094E-04\n",
- "[ NORMAL ] Iteration 157:\tk_eff = 1.211674\tres = 3.911E-04\n",
- "[ NORMAL ] Iteration 158:\tk_eff = 1.212106\tres = 3.736E-04\n",
- "[ NORMAL ] Iteration 159:\tk_eff = 1.212519\tres = 3.569E-04\n",
- "[ NORMAL ] Iteration 160:\tk_eff = 1.212914\tres = 3.408E-04\n",
- "[ NORMAL ] Iteration 161:\tk_eff = 1.213291\tres = 3.255E-04\n",
- "[ NORMAL ] Iteration 162:\tk_eff = 1.213651\tres = 3.108E-04\n",
- "[ NORMAL ] Iteration 163:\tk_eff = 1.213995\tres = 2.968E-04\n",
- "[ NORMAL ] Iteration 164:\tk_eff = 1.214323\tres = 2.834E-04\n",
- "[ NORMAL ] Iteration 165:\tk_eff = 1.214637\tres = 2.705E-04\n",
- "[ NORMAL ] Iteration 166:\tk_eff = 1.214936\tres = 2.582E-04\n",
- "[ NORMAL ] Iteration 167:\tk_eff = 1.215222\tres = 2.465E-04\n",
- "[ NORMAL ] Iteration 168:\tk_eff = 1.215495\tres = 2.353E-04\n",
- "[ NORMAL ] Iteration 169:\tk_eff = 1.215755\tres = 2.245E-04\n",
- "[ NORMAL ] Iteration 170:\tk_eff = 1.216004\tres = 2.142E-04\n",
- "[ NORMAL ] Iteration 171:\tk_eff = 1.216241\tres = 2.044E-04\n",
- "[ NORMAL ] Iteration 172:\tk_eff = 1.216468\tres = 1.951E-04\n",
- "[ NORMAL ] Iteration 173:\tk_eff = 1.216683\tres = 1.861E-04\n",
- "[ NORMAL ] Iteration 174:\tk_eff = 1.216889\tres = 1.775E-04\n",
- "[ NORMAL ] Iteration 175:\tk_eff = 1.217086\tres = 1.693E-04\n",
- "[ NORMAL ] Iteration 176:\tk_eff = 1.217274\tres = 1.615E-04\n",
- "[ NORMAL ] Iteration 177:\tk_eff = 1.217452\tres = 1.540E-04\n",
- "[ NORMAL ] Iteration 178:\tk_eff = 1.217623\tres = 1.469E-04\n",
- "[ NORMAL ] Iteration 179:\tk_eff = 1.217786\tres = 1.401E-04\n",
- "[ NORMAL ] Iteration 180:\tk_eff = 1.217941\tres = 1.336E-04\n",
- "[ NORMAL ] Iteration 181:\tk_eff = 1.218089\tres = 1.274E-04\n",
- "[ NORMAL ] Iteration 182:\tk_eff = 1.218230\tres = 1.214E-04\n",
- "[ NORMAL ] Iteration 183:\tk_eff = 1.218364\tres = 1.158E-04\n",
- "[ NORMAL ] Iteration 184:\tk_eff = 1.218492\tres = 1.104E-04\n",
- "[ NORMAL ] Iteration 185:\tk_eff = 1.218614\tres = 1.052E-04\n",
- "[ NORMAL ] Iteration 186:\tk_eff = 1.218731\tres = 1.003E-04\n",
- "[ NORMAL ] Iteration 187:\tk_eff = 1.218842\tres = 9.556E-05\n",
- "[ NORMAL ] Iteration 188:\tk_eff = 1.218948\tres = 9.107E-05\n",
- "[ NORMAL ] Iteration 189:\tk_eff = 1.219048\tres = 8.679E-05\n",
- "[ NORMAL ] Iteration 190:\tk_eff = 1.219144\tres = 8.270E-05\n",
- "[ NORMAL ] Iteration 191:\tk_eff = 1.219236\tres = 7.880E-05\n",
- "[ NORMAL ] Iteration 192:\tk_eff = 1.219323\tres = 7.508E-05\n",
- "[ NORMAL ] Iteration 193:\tk_eff = 1.219406\tres = 7.152E-05\n",
- "[ NORMAL ] Iteration 194:\tk_eff = 1.219485\tres = 6.814E-05\n",
- "[ NORMAL ] Iteration 195:\tk_eff = 1.219561\tres = 6.491E-05\n",
- "[ NORMAL ] Iteration 196:\tk_eff = 1.219633\tres = 6.183E-05\n",
- "[ NORMAL ] Iteration 197:\tk_eff = 1.219701\tres = 5.889E-05\n",
- "[ NORMAL ] Iteration 198:\tk_eff = 1.219766\tres = 5.609E-05\n",
- "[ NORMAL ] Iteration 199:\tk_eff = 1.219828\tres = 5.341E-05\n",
- "[ NORMAL ] Iteration 200:\tk_eff = 1.219887\tres = 5.087E-05\n",
- "[ NORMAL ] Iteration 201:\tk_eff = 1.219944\tres = 4.844E-05\n",
- "[ NORMAL ] Iteration 202:\tk_eff = 1.219997\tres = 4.612E-05\n",
- "[ NORMAL ] Iteration 203:\tk_eff = 1.220048\tres = 4.391E-05\n",
- "[ NORMAL ] Iteration 204:\tk_eff = 1.220097\tres = 4.181E-05\n",
- "[ NORMAL ] Iteration 205:\tk_eff = 1.220143\tres = 3.981E-05\n",
- "[ NORMAL ] Iteration 206:\tk_eff = 1.220187\tres = 3.789E-05\n",
- "[ NORMAL ] Iteration 207:\tk_eff = 1.220229\tres = 3.607E-05\n",
- "[ NORMAL ] Iteration 208:\tk_eff = 1.220269\tres = 3.434E-05\n",
- "[ NORMAL ] Iteration 209:\tk_eff = 1.220307\tres = 3.268E-05\n",
- "[ NORMAL ] Iteration 210:\tk_eff = 1.220343\tres = 3.111E-05\n",
- "[ NORMAL ] Iteration 211:\tk_eff = 1.220377\tres = 2.961E-05\n",
- "[ NORMAL ] Iteration 212:\tk_eff = 1.220410\tres = 2.818E-05\n",
- "[ NORMAL ] Iteration 213:\tk_eff = 1.220441\tres = 2.681E-05\n",
- "[ NORMAL ] Iteration 214:\tk_eff = 1.220471\tres = 2.552E-05\n",
- "[ NORMAL ] Iteration 215:\tk_eff = 1.220499\tres = 2.428E-05\n",
- "[ NORMAL ] Iteration 216:\tk_eff = 1.220526\tres = 2.310E-05\n",
- "[ NORMAL ] Iteration 217:\tk_eff = 1.220551\tres = 2.198E-05\n",
- "[ NORMAL ] Iteration 218:\tk_eff = 1.220576\tres = 2.091E-05\n",
- "[ NORMAL ] Iteration 219:\tk_eff = 1.220599\tres = 1.990E-05\n",
- "[ NORMAL ] Iteration 220:\tk_eff = 1.220621\tres = 1.893E-05\n",
- "[ NORMAL ] Iteration 221:\tk_eff = 1.220642\tres = 1.801E-05\n",
- "[ NORMAL ] Iteration 222:\tk_eff = 1.220661\tres = 1.713E-05\n",
- "[ NORMAL ] Iteration 223:\tk_eff = 1.220680\tres = 1.629E-05\n",
- "[ NORMAL ] Iteration 224:\tk_eff = 1.220698\tres = 1.550E-05\n",
- "[ NORMAL ] Iteration 225:\tk_eff = 1.220715\tres = 1.474E-05\n",
- "[ NORMAL ] Iteration 226:\tk_eff = 1.220732\tres = 1.402E-05\n",
- "[ NORMAL ] Iteration 227:\tk_eff = 1.220747\tres = 1.333E-05\n",
- "[ NORMAL ] Iteration 228:\tk_eff = 1.220762\tres = 1.268E-05\n",
- "[ NORMAL ] Iteration 229:\tk_eff = 1.220776\tres = 1.206E-05\n",
- "[ NORMAL ] Iteration 230:\tk_eff = 1.220789\tres = 1.146E-05\n",
- "[ NORMAL ] Iteration 231:\tk_eff = 1.220802\tres = 1.090E-05\n",
- "[ NORMAL ] Iteration 232:\tk_eff = 1.220814\tres = 1.036E-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.658941\tres = 2.793E-02\n",
+ "[ NORMAL ] Iteration 4:\tk_eff = 0.643012\tres = 2.852E-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.522274\tres = 2.841E-02\n",
+ "[ NORMAL ] Iteration 12:\tk_eff = 0.510609\tres = 2.567E-02\n",
+ "[ NORMAL ] Iteration 13:\tk_eff = 0.501106\tres = 2.234E-02\n",
+ "[ NORMAL ] Iteration 14:\tk_eff = 0.493831\tres = 1.861E-02\n",
+ "[ NORMAL ] Iteration 15:\tk_eff = 0.488780\tres = 1.452E-02\n",
+ "[ NORMAL ] Iteration 16:\tk_eff = 0.485923\tres = 1.023E-02\n",
+ "[ NORMAL ] Iteration 17:\tk_eff = 0.485210\tres = 5.846E-03\n",
+ "[ NORMAL ] Iteration 18:\tk_eff = 0.486569\tres = 1.467E-03\n",
+ "[ NORMAL ] Iteration 19:\tk_eff = 0.489903\tres = 2.801E-03\n",
+ "[ NORMAL ] Iteration 20:\tk_eff = 0.495103\tres = 6.852E-03\n",
+ "[ NORMAL ] Iteration 21:\tk_eff = 0.502053\tres = 1.061E-02\n",
+ "[ NORMAL ] Iteration 22:\tk_eff = 0.510627\tres = 1.404E-02\n",
+ "[ NORMAL ] Iteration 23:\tk_eff = 0.520693\tres = 1.708E-02\n",
+ "[ NORMAL ] Iteration 24:\tk_eff = 0.532117\tres = 1.971E-02\n",
+ "[ NORMAL ] Iteration 25:\tk_eff = 0.544764\tres = 2.194E-02\n",
+ "[ NORMAL ] Iteration 26:\tk_eff = 0.558501\tres = 2.377E-02\n",
+ "[ NORMAL ] Iteration 27:\tk_eff = 0.573195\tres = 2.522E-02\n",
+ "[ NORMAL ] Iteration 28:\tk_eff = 0.588718\tres = 2.631E-02\n",
+ "[ NORMAL ] Iteration 29:\tk_eff = 0.604946\tres = 2.708E-02\n",
+ "[ NORMAL ] Iteration 30:\tk_eff = 0.621759\tres = 2.756E-02\n",
+ "[ NORMAL ] Iteration 31:\tk_eff = 0.639047\tres = 2.779E-02\n",
+ "[ NORMAL ] Iteration 32:\tk_eff = 0.656702\tres = 2.780E-02\n",
+ "[ NORMAL ] Iteration 33:\tk_eff = 0.674624\tres = 2.763E-02\n",
+ "[ NORMAL ] Iteration 34:\tk_eff = 0.692722\tres = 2.729E-02\n",
+ "[ NORMAL ] Iteration 35:\tk_eff = 0.710910\tres = 2.683E-02\n",
+ "[ NORMAL ] Iteration 36:\tk_eff = 0.729109\tres = 2.625E-02\n",
+ "[ NORMAL ] Iteration 37:\tk_eff = 0.747248\tres = 2.560E-02\n",
+ "[ NORMAL ] Iteration 38:\tk_eff = 0.765263\tres = 2.488E-02\n",
+ "[ NORMAL ] Iteration 39:\tk_eff = 0.783094\tres = 2.411E-02\n",
+ "[ NORMAL ] Iteration 40:\tk_eff = 0.800690\tres = 2.330E-02\n",
+ "[ NORMAL ] Iteration 41:\tk_eff = 0.818005\tres = 2.247E-02\n",
+ "[ NORMAL ] Iteration 42:\tk_eff = 0.834999\tres = 2.163E-02\n",
+ "[ NORMAL ] Iteration 43:\tk_eff = 0.851638\tres = 2.078E-02\n",
+ "[ NORMAL ] Iteration 44:\tk_eff = 0.867892\tres = 1.993E-02\n",
+ "[ NORMAL ] Iteration 45:\tk_eff = 0.883736\tres = 1.909E-02\n",
+ "[ NORMAL ] Iteration 46:\tk_eff = 0.899149\tres = 1.826E-02\n",
+ "[ NORMAL ] Iteration 47:\tk_eff = 0.914115\tres = 1.744E-02\n",
+ "[ NORMAL ] Iteration 48:\tk_eff = 0.928622\tres = 1.664E-02\n",
+ "[ NORMAL ] Iteration 49:\tk_eff = 0.942659\tres = 1.587E-02\n",
+ "[ NORMAL ] Iteration 50:\tk_eff = 0.956221\tres = 1.512E-02\n",
+ "[ NORMAL ] Iteration 51:\tk_eff = 0.969305\tres = 1.439E-02\n",
+ "[ NORMAL ] Iteration 52:\tk_eff = 0.981909\tres = 1.368E-02\n",
+ "[ NORMAL ] Iteration 53:\tk_eff = 0.994035\tres = 1.300E-02\n",
+ "[ NORMAL ] Iteration 54:\tk_eff = 1.005685\tres = 1.235E-02\n",
+ "[ NORMAL ] Iteration 55:\tk_eff = 1.016866\tres = 1.172E-02\n",
+ "[ NORMAL ] Iteration 56:\tk_eff = 1.027584\tres = 1.112E-02\n",
+ "[ NORMAL ] Iteration 57:\tk_eff = 1.037846\tres = 1.054E-02\n",
+ "[ NORMAL ] Iteration 58:\tk_eff = 1.047661\tres = 9.986E-03\n",
+ "[ NORMAL ] Iteration 59:\tk_eff = 1.057040\tres = 9.457E-03\n",
+ "[ NORMAL ] Iteration 60:\tk_eff = 1.065994\tres = 8.953E-03\n",
+ "[ NORMAL ] Iteration 61:\tk_eff = 1.074533\tres = 8.470E-03\n",
+ "[ NORMAL ] Iteration 62:\tk_eff = 1.082671\tres = 8.011E-03\n",
+ "[ NORMAL ] Iteration 63:\tk_eff = 1.090418\tres = 7.573E-03\n",
+ "[ NORMAL ] Iteration 64:\tk_eff = 1.097790\tres = 7.156E-03\n",
+ "[ NORMAL ] Iteration 65:\tk_eff = 1.104797\tres = 6.760E-03\n",
+ "[ NORMAL ] Iteration 66:\tk_eff = 1.111453\tres = 6.383E-03\n",
+ "[ NORMAL ] Iteration 67:\tk_eff = 1.117770\tres = 6.025E-03\n",
+ "[ NORMAL ] Iteration 68:\tk_eff = 1.123764\tres = 5.684E-03\n",
+ "[ NORMAL ] Iteration 69:\tk_eff = 1.129446\tres = 5.362E-03\n",
+ "[ NORMAL ] Iteration 70:\tk_eff = 1.134828\tres = 5.056E-03\n",
+ "[ NORMAL ] Iteration 71:\tk_eff = 1.139924\tres = 4.765E-03\n",
+ "[ NORMAL ] Iteration 72:\tk_eff = 1.144746\tres = 4.491E-03\n",
+ "[ NORMAL ] Iteration 73:\tk_eff = 1.149306\tres = 4.230E-03\n",
+ "[ NORMAL ] Iteration 74:\tk_eff = 1.153617\tres = 3.983E-03\n",
+ "[ NORMAL ] Iteration 75:\tk_eff = 1.157688\tres = 3.751E-03\n",
+ "[ NORMAL ] Iteration 76:\tk_eff = 1.161534\tres = 3.530E-03\n",
+ "[ NORMAL ] Iteration 77:\tk_eff = 1.165163\tres = 3.322E-03\n",
+ "[ NORMAL ] Iteration 78:\tk_eff = 1.168586\tres = 3.124E-03\n",
+ "[ NORMAL ] Iteration 79:\tk_eff = 1.171813\tres = 2.938E-03\n",
+ "[ NORMAL ] Iteration 80:\tk_eff = 1.174855\tres = 2.762E-03\n",
+ "[ NORMAL ] Iteration 81:\tk_eff = 1.177721\tres = 2.596E-03\n",
+ "[ NORMAL ] Iteration 82:\tk_eff = 1.180419\tres = 2.439E-03\n",
+ "[ NORMAL ] Iteration 83:\tk_eff = 1.182960\tres = 2.291E-03\n",
+ "[ NORMAL ] Iteration 84:\tk_eff = 1.185350\tres = 2.152E-03\n",
+ "[ NORMAL ] Iteration 85:\tk_eff = 1.187599\tres = 2.021E-03\n",
+ "[ NORMAL ] Iteration 86:\tk_eff = 1.189713\tres = 1.897E-03\n",
+ "[ NORMAL ] Iteration 87:\tk_eff = 1.191700\tres = 1.780E-03\n",
+ "[ NORMAL ] Iteration 88:\tk_eff = 1.193567\tres = 1.670E-03\n",
+ "[ NORMAL ] Iteration 89:\tk_eff = 1.195321\tres = 1.567E-03\n",
+ "[ NORMAL ] Iteration 90:\tk_eff = 1.196967\tres = 1.469E-03\n",
+ "[ NORMAL ] Iteration 91:\tk_eff = 1.198513\tres = 1.378E-03\n",
+ "[ NORMAL ] Iteration 92:\tk_eff = 1.199964\tres = 1.291E-03\n",
+ "[ NORMAL ] Iteration 93:\tk_eff = 1.201326\tres = 1.211E-03\n",
+ "[ NORMAL ] Iteration 94:\tk_eff = 1.202602\tres = 1.135E-03\n",
+ "[ NORMAL ] Iteration 95:\tk_eff = 1.203800\tres = 1.062E-03\n",
+ "[ NORMAL ] Iteration 96:\tk_eff = 1.204922\tres = 9.959E-04\n",
+ "[ NORMAL ] Iteration 97:\tk_eff = 1.205974\tres = 9.321E-04\n",
+ "[ NORMAL ] Iteration 98:\tk_eff = 1.206961\tres = 8.732E-04\n",
+ "[ NORMAL ] Iteration 99:\tk_eff = 1.207884\tres = 8.175E-04\n",
+ "[ NORMAL ] Iteration 100:\tk_eff = 1.208748\tres = 7.646E-04\n",
+ "[ NORMAL ] Iteration 101:\tk_eff = 1.209558\tres = 7.159E-04\n",
+ "[ NORMAL ] Iteration 102:\tk_eff = 1.210316\tres = 6.699E-04\n",
+ "[ NORMAL ] Iteration 103:\tk_eff = 1.211025\tres = 6.262E-04\n",
+ "[ NORMAL ] Iteration 104:\tk_eff = 1.211689\tres = 5.864E-04\n",
+ "[ NORMAL ] Iteration 105:\tk_eff = 1.212310\tres = 5.481E-04\n",
+ "[ NORMAL ] Iteration 106:\tk_eff = 1.212891\tres = 5.124E-04\n",
+ "[ NORMAL ] Iteration 107:\tk_eff = 1.213434\tres = 4.792E-04\n",
+ "[ NORMAL ] Iteration 108:\tk_eff = 1.213942\tres = 4.477E-04\n",
+ "[ NORMAL ] Iteration 109:\tk_eff = 1.214416\tres = 4.189E-04\n",
+ "[ NORMAL ] Iteration 110:\tk_eff = 1.214861\tres = 3.907E-04\n",
+ "[ NORMAL ] Iteration 111:\tk_eff = 1.215275\tres = 3.660E-04\n",
+ "[ NORMAL ] Iteration 112:\tk_eff = 1.215663\tres = 3.414E-04\n",
+ "[ NORMAL ] Iteration 113:\tk_eff = 1.216025\tres = 3.188E-04\n",
+ "[ NORMAL ] Iteration 114:\tk_eff = 1.216363\tres = 2.981E-04\n",
+ "[ NORMAL ] Iteration 115:\tk_eff = 1.216679\tres = 2.776E-04\n",
+ "[ NORMAL ] Iteration 116:\tk_eff = 1.216974\tres = 2.599E-04\n",
+ "[ NORMAL ] Iteration 117:\tk_eff = 1.217250\tres = 2.427E-04\n",
+ "[ NORMAL ] Iteration 118:\tk_eff = 1.217507\tres = 2.263E-04\n",
+ "[ NORMAL ] Iteration 119:\tk_eff = 1.217747\tres = 2.115E-04\n",
+ "[ NORMAL ] Iteration 120:\tk_eff = 1.217970\tres = 1.970E-04\n",
+ "[ NORMAL ] Iteration 121:\tk_eff = 1.218180\tres = 1.834E-04\n",
+ "[ NORMAL ] Iteration 122:\tk_eff = 1.218375\tres = 1.718E-04\n",
+ "[ NORMAL ] Iteration 123:\tk_eff = 1.218557\tres = 1.602E-04\n",
+ "[ NORMAL ] Iteration 124:\tk_eff = 1.218726\tres = 1.496E-04\n",
+ "[ NORMAL ] Iteration 125:\tk_eff = 1.218885\tres = 1.387E-04\n",
+ "[ NORMAL ] Iteration 126:\tk_eff = 1.219032\tres = 1.301E-04\n",
+ "[ NORMAL ] Iteration 127:\tk_eff = 1.219169\tres = 1.211E-04\n",
+ "[ NORMAL ] Iteration 128:\tk_eff = 1.219298\tres = 1.127E-04\n",
+ "[ NORMAL ] Iteration 129:\tk_eff = 1.219418\tres = 1.058E-04\n",
+ "[ NORMAL ] Iteration 130:\tk_eff = 1.219529\tres = 9.828E-05\n",
+ "[ NORMAL ] Iteration 131:\tk_eff = 1.219633\tres = 9.100E-05\n",
+ "[ NORMAL ] Iteration 132:\tk_eff = 1.219730\tres = 8.530E-05\n",
+ "[ NORMAL ] Iteration 133:\tk_eff = 1.219820\tres = 7.940E-05\n",
+ "[ NORMAL ] Iteration 134:\tk_eff = 1.219904\tres = 7.409E-05\n",
+ "[ NORMAL ] Iteration 135:\tk_eff = 1.219983\tres = 6.876E-05\n",
+ "[ NORMAL ] Iteration 136:\tk_eff = 1.220056\tres = 6.455E-05\n",
+ "[ NORMAL ] Iteration 137:\tk_eff = 1.220124\tres = 5.969E-05\n",
+ "[ NORMAL ] Iteration 138:\tk_eff = 1.220187\tres = 5.603E-05\n",
+ "[ NORMAL ] Iteration 139:\tk_eff = 1.220246\tres = 5.166E-05\n",
+ "[ NORMAL ] Iteration 140:\tk_eff = 1.220301\tres = 4.829E-05\n",
+ "[ NORMAL ] Iteration 141:\tk_eff = 1.220352\tres = 4.510E-05\n",
+ "[ NORMAL ] Iteration 142:\tk_eff = 1.220400\tres = 4.199E-05\n",
+ "[ NORMAL ] Iteration 143:\tk_eff = 1.220445\tres = 3.939E-05\n",
+ "[ NORMAL ] Iteration 144:\tk_eff = 1.220486\tres = 3.630E-05\n",
+ "[ NORMAL ] Iteration 145:\tk_eff = 1.220525\tres = 3.362E-05\n",
+ "[ NORMAL ] Iteration 146:\tk_eff = 1.220561\tres = 3.181E-05\n",
+ "[ NORMAL ] Iteration 147:\tk_eff = 1.220594\tres = 2.977E-05\n",
+ "[ NORMAL ] Iteration 148:\tk_eff = 1.220626\tres = 2.745E-05\n",
+ "[ NORMAL ] Iteration 149:\tk_eff = 1.220655\tres = 2.569E-05\n",
+ "[ NORMAL ] Iteration 150:\tk_eff = 1.220682\tres = 2.376E-05\n",
+ "[ NORMAL ] Iteration 151:\tk_eff = 1.220707\tres = 2.201E-05\n",
+ "[ NORMAL ] Iteration 152:\tk_eff = 1.220730\tres = 2.071E-05\n",
+ "[ NORMAL ] Iteration 153:\tk_eff = 1.220752\tres = 1.925E-05\n",
+ "[ NORMAL ] Iteration 154:\tk_eff = 1.220772\tres = 1.793E-05\n",
+ "[ NORMAL ] Iteration 155:\tk_eff = 1.220791\tres = 1.669E-05\n",
+ "[ NORMAL ] Iteration 156:\tk_eff = 1.220809\tres = 1.554E-05\n",
+ "[ NORMAL ] Iteration 157:\tk_eff = 1.220826\tres = 1.457E-05\n",
+ "[ NORMAL ] Iteration 158:\tk_eff = 1.220841\tres = 1.372E-05\n",
+ "[ NORMAL ] Iteration 159:\tk_eff = 1.220855\tres = 1.249E-05\n",
+ "[ NORMAL ] Iteration 160:\tk_eff = 1.220868\tres = 1.138E-05\n",
+ "[ NORMAL ] Iteration 161:\tk_eff = 1.220881\tres = 1.104E-05\n",
+ "[ NORMAL ] Iteration 162:\tk_eff = 1.220892\tres = 1.028E-05\n"
]
}
],
@@ -1435,8 +1367,8 @@
"output_type": "stream",
"text": [
"openmc keff = 1.223474\n",
- "openmoc keff = 1.220814\n",
- "bias [pcm]: -266.0\n"
+ "openmoc keff = 1.220892\n",
+ "bias [pcm]: -258.1\n"
]
}
],
@@ -1511,346 +1443,237 @@
"text": [
"[ NORMAL ] Importing ray tracing data from file...\n",
"[ NORMAL ] Computing the eigenvalue...\n",
- "[ NORMAL ] Iteration 0:\tk_eff = 0.366907\tres = 0.000E+00\n",
- "[ NORMAL ] Iteration 1:\tk_eff = 0.391217\tres = 6.331E-01\n",
- "[ NORMAL ] Iteration 2:\tk_eff = 0.393027\tres = 6.626E-02\n",
- "[ NORMAL ] Iteration 3:\tk_eff = 0.381142\tres = 4.627E-03\n",
- "[ NORMAL ] Iteration 4:\tk_eff = 0.375065\tres = 3.024E-02\n",
- "[ NORMAL ] Iteration 5:\tk_eff = 0.369645\tres = 1.594E-02\n",
- "[ NORMAL ] Iteration 6:\tk_eff = 0.365597\tres = 1.445E-02\n",
- "[ NORMAL ] Iteration 7:\tk_eff = 0.363111\tres = 1.095E-02\n",
- "[ NORMAL ] Iteration 8:\tk_eff = 0.361532\tres = 6.802E-03\n",
- "[ NORMAL ] Iteration 9:\tk_eff = 0.361339\tres = 4.349E-03\n",
- "[ NORMAL ] Iteration 10:\tk_eff = 0.362062\tres = 5.322E-04\n",
- "[ NORMAL ] Iteration 11:\tk_eff = 0.363777\tres = 2.001E-03\n",
- "[ NORMAL ] Iteration 12:\tk_eff = 0.366395\tres = 4.735E-03\n",
- "[ NORMAL ] Iteration 13:\tk_eff = 0.369859\tres = 7.198E-03\n",
- "[ NORMAL ] Iteration 14:\tk_eff = 0.374042\tres = 9.454E-03\n",
- "[ NORMAL ] Iteration 15:\tk_eff = 0.378972\tres = 1.131E-02\n",
- "[ NORMAL ] Iteration 16:\tk_eff = 0.384524\tres = 1.318E-02\n",
- "[ NORMAL ] Iteration 17:\tk_eff = 0.390678\tres = 1.465E-02\n",
- "[ NORMAL ] Iteration 18:\tk_eff = 0.397373\tres = 1.600E-02\n",
- "[ NORMAL ] Iteration 19:\tk_eff = 0.404563\tres = 1.714E-02\n",
- "[ NORMAL ] Iteration 20:\tk_eff = 0.412207\tres = 1.809E-02\n",
- "[ NORMAL ] Iteration 21:\tk_eff = 0.420270\tres = 1.890E-02\n",
- "[ NORMAL ] Iteration 22:\tk_eff = 0.428695\tres = 1.956E-02\n",
- "[ NORMAL ] Iteration 23:\tk_eff = 0.437463\tres = 2.005E-02\n",
- "[ NORMAL ] Iteration 24:\tk_eff = 0.446530\tres = 2.045E-02\n",
- "[ NORMAL ] Iteration 25:\tk_eff = 0.455867\tres = 2.073E-02\n",
- "[ NORMAL ] Iteration 26:\tk_eff = 0.465442\tres = 2.091E-02\n",
- "[ NORMAL ] Iteration 27:\tk_eff = 0.475229\tres = 2.101E-02\n",
- "[ NORMAL ] Iteration 28:\tk_eff = 0.485198\tres = 2.103E-02\n",
- "[ NORMAL ] Iteration 29:\tk_eff = 0.495327\tres = 2.098E-02\n",
- "[ NORMAL ] Iteration 30:\tk_eff = 0.505591\tres = 2.088E-02\n",
- "[ NORMAL ] Iteration 31:\tk_eff = 0.515969\tres = 2.072E-02\n",
- "[ NORMAL ] Iteration 32:\tk_eff = 0.526440\tres = 2.053E-02\n",
- "[ NORMAL ] Iteration 33:\tk_eff = 0.536985\tres = 2.029E-02\n",
- "[ NORMAL ] Iteration 34:\tk_eff = 0.547587\tres = 2.003E-02\n",
- "[ NORMAL ] Iteration 35:\tk_eff = 0.558228\tres = 1.974E-02\n",
- "[ NORMAL ] Iteration 36:\tk_eff = 0.568893\tres = 1.943E-02\n",
- "[ NORMAL ] Iteration 37:\tk_eff = 0.579569\tres = 1.911E-02\n",
- "[ NORMAL ] Iteration 38:\tk_eff = 0.590241\tres = 1.877E-02\n",
- "[ NORMAL ] Iteration 39:\tk_eff = 0.600898\tres = 1.841E-02\n",
- "[ NORMAL ] Iteration 40:\tk_eff = 0.611527\tres = 1.805E-02\n",
- "[ NORMAL ] Iteration 41:\tk_eff = 0.622118\tres = 1.769E-02\n",
- "[ NORMAL ] Iteration 42:\tk_eff = 0.632662\tres = 1.732E-02\n",
- "[ NORMAL ] Iteration 43:\tk_eff = 0.643149\tres = 1.695E-02\n",
- "[ NORMAL ] Iteration 44:\tk_eff = 0.653571\tres = 1.658E-02\n",
- "[ NORMAL ] Iteration 45:\tk_eff = 0.663920\tres = 1.620E-02\n",
- "[ NORMAL ] Iteration 46:\tk_eff = 0.674189\tres = 1.583E-02\n",
- "[ NORMAL ] Iteration 47:\tk_eff = 0.684372\tres = 1.547E-02\n",
- "[ NORMAL ] Iteration 48:\tk_eff = 0.694464\tres = 1.510E-02\n",
- "[ NORMAL ] Iteration 49:\tk_eff = 0.704457\tres = 1.475E-02\n",
- "[ NORMAL ] Iteration 50:\tk_eff = 0.714349\tres = 1.439E-02\n",
- "[ NORMAL ] Iteration 51:\tk_eff = 0.724134\tres = 1.404E-02\n",
- "[ NORMAL ] Iteration 52:\tk_eff = 0.733808\tres = 1.370E-02\n",
- "[ NORMAL ] Iteration 53:\tk_eff = 0.743369\tres = 1.336E-02\n",
- "[ NORMAL ] Iteration 54:\tk_eff = 0.752812\tres = 1.303E-02\n",
- "[ NORMAL ] Iteration 55:\tk_eff = 0.762135\tres = 1.270E-02\n",
- "[ NORMAL ] Iteration 56:\tk_eff = 0.771336\tres = 1.238E-02\n",
- "[ NORMAL ] Iteration 57:\tk_eff = 0.780412\tres = 1.207E-02\n",
- "[ NORMAL ] Iteration 58:\tk_eff = 0.789362\tres = 1.177E-02\n",
- "[ NORMAL ] Iteration 59:\tk_eff = 0.798184\tres = 1.147E-02\n",
- "[ NORMAL ] Iteration 60:\tk_eff = 0.806877\tres = 1.118E-02\n",
- "[ NORMAL ] Iteration 61:\tk_eff = 0.815440\tres = 1.089E-02\n",
- "[ NORMAL ] Iteration 62:\tk_eff = 0.823872\tres = 1.061E-02\n",
- "[ NORMAL ] Iteration 63:\tk_eff = 0.832172\tres = 1.034E-02\n",
- "[ NORMAL ] Iteration 64:\tk_eff = 0.840340\tres = 1.007E-02\n",
- "[ NORMAL ] Iteration 65:\tk_eff = 0.848377\tres = 9.816E-03\n",
- "[ NORMAL ] Iteration 66:\tk_eff = 0.856281\tres = 9.563E-03\n",
- "[ NORMAL ] Iteration 67:\tk_eff = 0.864053\tres = 9.317E-03\n",
- "[ NORMAL ] Iteration 68:\tk_eff = 0.871693\tres = 9.076E-03\n",
- "[ NORMAL ] Iteration 69:\tk_eff = 0.879202\tres = 8.842E-03\n",
- "[ NORMAL ] Iteration 70:\tk_eff = 0.886580\tres = 8.614E-03\n",
- "[ NORMAL ] Iteration 71:\tk_eff = 0.893828\tres = 8.392E-03\n",
- "[ NORMAL ] Iteration 72:\tk_eff = 0.900946\tres = 8.175E-03\n",
- "[ NORMAL ] Iteration 73:\tk_eff = 0.907936\tres = 7.964E-03\n",
- "[ NORMAL ] Iteration 74:\tk_eff = 0.914798\tres = 7.758E-03\n",
- "[ NORMAL ] Iteration 75:\tk_eff = 0.921534\tres = 7.558E-03\n",
- "[ NORMAL ] Iteration 76:\tk_eff = 0.928144\tres = 7.363E-03\n",
- "[ NORMAL ] Iteration 77:\tk_eff = 0.934629\tres = 7.173E-03\n",
- "[ NORMAL ] Iteration 78:\tk_eff = 0.940992\tres = 6.988E-03\n",
- "[ NORMAL ] Iteration 79:\tk_eff = 0.947233\tres = 6.808E-03\n",
- "[ NORMAL ] Iteration 80:\tk_eff = 0.953353\tres = 6.632E-03\n",
- "[ NORMAL ] Iteration 81:\tk_eff = 0.959355\tres = 6.461E-03\n",
- "[ NORMAL ] Iteration 82:\tk_eff = 0.965238\tres = 6.295E-03\n",
- "[ NORMAL ] Iteration 83:\tk_eff = 0.971006\tres = 6.133E-03\n",
- "[ NORMAL ] Iteration 84:\tk_eff = 0.976659\tres = 5.975E-03\n",
- "[ NORMAL ] Iteration 85:\tk_eff = 0.982199\tres = 5.822E-03\n",
- "[ NORMAL ] Iteration 86:\tk_eff = 0.987627\tres = 5.672E-03\n",
- "[ NORMAL ] Iteration 87:\tk_eff = 0.992945\tres = 5.527E-03\n",
- "[ NORMAL ] Iteration 88:\tk_eff = 0.998155\tres = 5.385E-03\n",
- "[ NORMAL ] Iteration 89:\tk_eff = 1.003258\tres = 5.247E-03\n",
- "[ NORMAL ] Iteration 90:\tk_eff = 1.008256\tres = 5.113E-03\n",
- "[ NORMAL ] Iteration 91:\tk_eff = 1.013151\tres = 4.982E-03\n",
- "[ NORMAL ] Iteration 92:\tk_eff = 1.017943\tres = 4.854E-03\n",
- "[ NORMAL ] Iteration 93:\tk_eff = 1.022635\tres = 4.730E-03\n",
- "[ NORMAL ] Iteration 94:\tk_eff = 1.027229\tres = 4.609E-03\n",
- "[ NORMAL ] Iteration 95:\tk_eff = 1.031726\tres = 4.492E-03\n",
- "[ NORMAL ] Iteration 96:\tk_eff = 1.036127\tres = 4.377E-03\n",
- "[ NORMAL ] Iteration 97:\tk_eff = 1.040434\tres = 4.266E-03\n",
- "[ NORMAL ] Iteration 98:\tk_eff = 1.044649\tres = 4.157E-03\n",
- "[ NORMAL ] Iteration 99:\tk_eff = 1.048774\tres = 4.051E-03\n",
- "[ NORMAL ] Iteration 100:\tk_eff = 1.052810\tres = 3.948E-03\n",
- "[ NORMAL ] Iteration 101:\tk_eff = 1.056759\tres = 3.848E-03\n",
- "[ NORMAL ] Iteration 102:\tk_eff = 1.060622\tres = 3.751E-03\n",
- "[ NORMAL ] Iteration 103:\tk_eff = 1.064400\tres = 3.655E-03\n",
- "[ NORMAL ] Iteration 104:\tk_eff = 1.068096\tres = 3.563E-03\n",
- "[ NORMAL ] Iteration 105:\tk_eff = 1.071711\tres = 3.473E-03\n",
- "[ NORMAL ] Iteration 106:\tk_eff = 1.075247\tres = 3.385E-03\n",
- "[ NORMAL ] Iteration 107:\tk_eff = 1.078705\tres = 3.299E-03\n",
- "[ NORMAL ] Iteration 108:\tk_eff = 1.082086\tres = 3.216E-03\n",
- "[ NORMAL ] Iteration 109:\tk_eff = 1.085392\tres = 3.134E-03\n",
- "[ NORMAL ] Iteration 110:\tk_eff = 1.088624\tres = 3.055E-03\n",
- "[ NORMAL ] Iteration 111:\tk_eff = 1.091785\tres = 2.978E-03\n",
- "[ NORMAL ] Iteration 112:\tk_eff = 1.094875\tres = 2.903E-03\n",
- "[ NORMAL ] Iteration 113:\tk_eff = 1.097895\tres = 2.830E-03\n",
- "[ NORMAL ] Iteration 114:\tk_eff = 1.100848\tres = 2.759E-03\n",
- "[ NORMAL ] Iteration 115:\tk_eff = 1.103734\tres = 2.689E-03\n",
- "[ NORMAL ] Iteration 116:\tk_eff = 1.106555\tres = 2.622E-03\n",
- "[ NORMAL ] Iteration 117:\tk_eff = 1.109312\tres = 2.556E-03\n",
- "[ NORMAL ] Iteration 118:\tk_eff = 1.112007\tres = 2.492E-03\n",
- "[ NORMAL ] Iteration 119:\tk_eff = 1.114641\tres = 2.429E-03\n",
- "[ NORMAL ] Iteration 120:\tk_eff = 1.117214\tres = 2.368E-03\n",
- "[ NORMAL ] Iteration 121:\tk_eff = 1.119729\tres = 2.309E-03\n",
- "[ NORMAL ] Iteration 122:\tk_eff = 1.122187\tres = 2.251E-03\n",
- "[ NORMAL ] Iteration 123:\tk_eff = 1.124588\tres = 2.195E-03\n",
- "[ NORMAL ] Iteration 124:\tk_eff = 1.126934\tres = 2.140E-03\n",
- "[ NORMAL ] Iteration 125:\tk_eff = 1.129226\tres = 2.086E-03\n",
- "[ NORMAL ] Iteration 126:\tk_eff = 1.131466\tres = 2.034E-03\n",
- "[ NORMAL ] Iteration 127:\tk_eff = 1.133654\tres = 1.983E-03\n",
- "[ NORMAL ] Iteration 128:\tk_eff = 1.135791\tres = 1.934E-03\n",
- "[ NORMAL ] Iteration 129:\tk_eff = 1.137879\tres = 1.885E-03\n",
- "[ NORMAL ] Iteration 130:\tk_eff = 1.139919\tres = 1.838E-03\n",
- "[ NORMAL ] Iteration 131:\tk_eff = 1.141911\tres = 1.793E-03\n",
- "[ NORMAL ] Iteration 132:\tk_eff = 1.143857\tres = 1.748E-03\n",
- "[ NORMAL ] Iteration 133:\tk_eff = 1.145758\tres = 1.704E-03\n",
- "[ NORMAL ] Iteration 134:\tk_eff = 1.147615\tres = 1.662E-03\n",
- "[ NORMAL ] Iteration 135:\tk_eff = 1.149428\tres = 1.620E-03\n",
- "[ NORMAL ] Iteration 136:\tk_eff = 1.151200\tres = 1.580E-03\n",
- "[ NORMAL ] Iteration 137:\tk_eff = 1.152929\tres = 1.541E-03\n",
- "[ NORMAL ] Iteration 138:\tk_eff = 1.154619\tres = 1.503E-03\n",
- "[ NORMAL ] Iteration 139:\tk_eff = 1.156268\tres = 1.465E-03\n",
- "[ NORMAL ] Iteration 140:\tk_eff = 1.157879\tres = 1.429E-03\n",
- "[ NORMAL ] Iteration 141:\tk_eff = 1.159453\tres = 1.393E-03\n",
- "[ NORMAL ] Iteration 142:\tk_eff = 1.160989\tres = 1.359E-03\n",
- "[ NORMAL ] Iteration 143:\tk_eff = 1.162489\tres = 1.325E-03\n",
- "[ NORMAL ] Iteration 144:\tk_eff = 1.163954\tres = 1.292E-03\n",
- "[ NORMAL ] Iteration 145:\tk_eff = 1.165384\tres = 1.260E-03\n",
- "[ NORMAL ] Iteration 146:\tk_eff = 1.166781\tres = 1.229E-03\n",
- "[ NORMAL ] Iteration 147:\tk_eff = 1.168144\tres = 1.198E-03\n",
- "[ NORMAL ] Iteration 148:\tk_eff = 1.169476\tres = 1.169E-03\n",
- "[ NORMAL ] Iteration 149:\tk_eff = 1.170776\tres = 1.140E-03\n",
- "[ NORMAL ] Iteration 150:\tk_eff = 1.172045\tres = 1.112E-03\n",
- "[ NORMAL ] Iteration 151:\tk_eff = 1.173284\tres = 1.084E-03\n",
- "[ NORMAL ] Iteration 152:\tk_eff = 1.174494\tres = 1.057E-03\n",
- "[ NORMAL ] Iteration 153:\tk_eff = 1.175675\tres = 1.031E-03\n",
- "[ NORMAL ] Iteration 154:\tk_eff = 1.176828\tres = 1.006E-03\n",
- "[ NORMAL ] Iteration 155:\tk_eff = 1.177953\tres = 9.807E-04\n",
- "[ NORMAL ] Iteration 156:\tk_eff = 1.179052\tres = 9.565E-04\n",
- "[ NORMAL ] Iteration 157:\tk_eff = 1.180125\tres = 9.328E-04\n",
- "[ NORMAL ] Iteration 158:\tk_eff = 1.181172\tres = 9.098E-04\n",
- "[ NORMAL ] Iteration 159:\tk_eff = 1.182194\tres = 8.873E-04\n",
- "[ NORMAL ] Iteration 160:\tk_eff = 1.183192\tres = 8.654E-04\n",
- "[ NORMAL ] Iteration 161:\tk_eff = 1.184166\tres = 8.441E-04\n",
- "[ NORMAL ] Iteration 162:\tk_eff = 1.185117\tres = 8.232E-04\n",
- "[ NORMAL ] Iteration 163:\tk_eff = 1.186045\tres = 8.029E-04\n",
- "[ NORMAL ] Iteration 164:\tk_eff = 1.186951\tres = 7.831E-04\n",
- "[ NORMAL ] Iteration 165:\tk_eff = 1.187835\tres = 7.638E-04\n",
- "[ NORMAL ] Iteration 166:\tk_eff = 1.188698\tres = 7.450E-04\n",
- "[ NORMAL ] Iteration 167:\tk_eff = 1.189541\tres = 7.266E-04\n",
- "[ NORMAL ] Iteration 168:\tk_eff = 1.190363\tres = 7.087E-04\n",
- "[ NORMAL ] Iteration 169:\tk_eff = 1.191166\tres = 6.912E-04\n",
- "[ NORMAL ] Iteration 170:\tk_eff = 1.191949\tres = 6.742E-04\n",
- "[ NORMAL ] Iteration 171:\tk_eff = 1.192713\tres = 6.576E-04\n",
- "[ NORMAL ] Iteration 172:\tk_eff = 1.193460\tres = 6.414E-04\n",
- "[ NORMAL ] Iteration 173:\tk_eff = 1.194188\tres = 6.256E-04\n",
- "[ NORMAL ] Iteration 174:\tk_eff = 1.194899\tres = 6.102E-04\n",
- "[ NORMAL ] Iteration 175:\tk_eff = 1.195592\tres = 5.952E-04\n",
- "[ NORMAL ] Iteration 176:\tk_eff = 1.196269\tres = 5.806E-04\n",
- "[ NORMAL ] Iteration 177:\tk_eff = 1.196930\tres = 5.663E-04\n",
- "[ NORMAL ] Iteration 178:\tk_eff = 1.197575\tres = 5.524E-04\n",
- "[ NORMAL ] Iteration 179:\tk_eff = 1.198204\tres = 5.388E-04\n",
- "[ NORMAL ] Iteration 180:\tk_eff = 1.198819\tres = 5.255E-04\n",
- "[ NORMAL ] Iteration 181:\tk_eff = 1.199418\tres = 5.126E-04\n",
- "[ NORMAL ] Iteration 182:\tk_eff = 1.200003\tres = 5.000E-04\n",
- "[ NORMAL ] Iteration 183:\tk_eff = 1.200574\tres = 4.877E-04\n",
- "[ NORMAL ] Iteration 184:\tk_eff = 1.201131\tres = 4.757E-04\n",
- "[ NORMAL ] Iteration 185:\tk_eff = 1.201675\tres = 4.640E-04\n",
- "[ NORMAL ] Iteration 186:\tk_eff = 1.202205\tres = 4.526E-04\n",
- "[ NORMAL ] Iteration 187:\tk_eff = 1.202723\tres = 4.415E-04\n",
- "[ NORMAL ] Iteration 188:\tk_eff = 1.203228\tres = 4.307E-04\n",
- "[ NORMAL ] Iteration 189:\tk_eff = 1.203721\tres = 4.201E-04\n",
- "[ NORMAL ] Iteration 190:\tk_eff = 1.204202\tres = 4.098E-04\n",
- "[ NORMAL ] Iteration 191:\tk_eff = 1.204672\tres = 3.997E-04\n",
- "[ NORMAL ] Iteration 192:\tk_eff = 1.205130\tres = 3.899E-04\n",
- "[ NORMAL ] Iteration 193:\tk_eff = 1.205577\tres = 3.803E-04\n",
- "[ NORMAL ] Iteration 194:\tk_eff = 1.206014\tres = 3.710E-04\n",
- "[ NORMAL ] Iteration 195:\tk_eff = 1.206439\tres = 3.619E-04\n",
- "[ NORMAL ] Iteration 196:\tk_eff = 1.206855\tres = 3.530E-04\n",
- "[ NORMAL ] Iteration 197:\tk_eff = 1.207260\tres = 3.444E-04\n",
- "[ NORMAL ] Iteration 198:\tk_eff = 1.207656\tres = 3.359E-04\n",
- "[ NORMAL ] Iteration 199:\tk_eff = 1.208042\tres = 3.277E-04\n",
- "[ NORMAL ] Iteration 200:\tk_eff = 1.208418\tres = 3.196E-04\n",
- "[ NORMAL ] Iteration 201:\tk_eff = 1.208786\tres = 3.118E-04\n",
- "[ NORMAL ] Iteration 202:\tk_eff = 1.209144\tres = 3.041E-04\n",
- "[ NORMAL ] Iteration 203:\tk_eff = 1.209494\tres = 2.967E-04\n",
- "[ NORMAL ] Iteration 204:\tk_eff = 1.209836\tres = 2.894E-04\n",
- "[ NORMAL ] Iteration 205:\tk_eff = 1.210169\tres = 2.823E-04\n",
- "[ NORMAL ] Iteration 206:\tk_eff = 1.210494\tres = 2.754E-04\n",
- "[ NORMAL ] Iteration 207:\tk_eff = 1.210811\tres = 2.686E-04\n",
- "[ NORMAL ] Iteration 208:\tk_eff = 1.211121\tres = 2.621E-04\n",
- "[ NORMAL ] Iteration 209:\tk_eff = 1.211423\tres = 2.556E-04\n",
- "[ NORMAL ] Iteration 210:\tk_eff = 1.211718\tres = 2.494E-04\n",
- "[ NORMAL ] Iteration 211:\tk_eff = 1.212005\tres = 2.433E-04\n",
- "[ NORMAL ] Iteration 212:\tk_eff = 1.212286\tres = 2.373E-04\n",
- "[ NORMAL ] Iteration 213:\tk_eff = 1.212559\tres = 2.315E-04\n",
- "[ NORMAL ] Iteration 214:\tk_eff = 1.212827\tres = 2.258E-04\n",
- "[ NORMAL ] Iteration 215:\tk_eff = 1.213087\tres = 2.203E-04\n",
- "[ NORMAL ] Iteration 216:\tk_eff = 1.213341\tres = 2.149E-04\n",
- "[ NORMAL ] Iteration 217:\tk_eff = 1.213590\tres = 2.096E-04\n",
- "[ NORMAL ] Iteration 218:\tk_eff = 1.213832\tres = 2.045E-04\n",
- "[ NORMAL ] Iteration 219:\tk_eff = 1.214068\tres = 1.995E-04\n",
- "[ NORMAL ] Iteration 220:\tk_eff = 1.214298\tres = 1.946E-04\n",
- "[ NORMAL ] Iteration 221:\tk_eff = 1.214523\tres = 1.898E-04\n",
- "[ NORMAL ] Iteration 222:\tk_eff = 1.214743\tres = 1.852E-04\n",
- "[ NORMAL ] Iteration 223:\tk_eff = 1.214957\tres = 1.806E-04\n",
- "[ NORMAL ] Iteration 224:\tk_eff = 1.215165\tres = 1.762E-04\n",
- "[ NORMAL ] Iteration 225:\tk_eff = 1.215369\tres = 1.719E-04\n",
- "[ NORMAL ] Iteration 226:\tk_eff = 1.215568\tres = 1.677E-04\n",
- "[ NORMAL ] Iteration 227:\tk_eff = 1.215762\tres = 1.636E-04\n",
- "[ NORMAL ] Iteration 228:\tk_eff = 1.215951\tres = 1.596E-04\n",
- "[ NORMAL ] Iteration 229:\tk_eff = 1.216136\tres = 1.557E-04\n",
- "[ NORMAL ] Iteration 230:\tk_eff = 1.216316\tres = 1.519E-04\n",
- "[ NORMAL ] Iteration 231:\tk_eff = 1.216492\tres = 1.482E-04\n",
- "[ NORMAL ] Iteration 232:\tk_eff = 1.216663\tres = 1.445E-04\n",
- "[ NORMAL ] Iteration 233:\tk_eff = 1.216831\tres = 1.410E-04\n",
- "[ NORMAL ] Iteration 234:\tk_eff = 1.216994\tres = 1.375E-04\n",
- "[ NORMAL ] Iteration 235:\tk_eff = 1.217153\tres = 1.342E-04\n",
- "[ NORMAL ] Iteration 236:\tk_eff = 1.217309\tres = 1.309E-04\n",
- "[ NORMAL ] Iteration 237:\tk_eff = 1.217460\tres = 1.277E-04\n",
- "[ NORMAL ] Iteration 238:\tk_eff = 1.217608\tres = 1.246E-04\n",
- "[ NORMAL ] Iteration 239:\tk_eff = 1.217753\tres = 1.215E-04\n",
- "[ NORMAL ] Iteration 240:\tk_eff = 1.217894\tres = 1.185E-04\n",
- "[ NORMAL ] Iteration 241:\tk_eff = 1.218031\tres = 1.156E-04\n",
- "[ NORMAL ] Iteration 242:\tk_eff = 1.218165\tres = 1.128E-04\n",
- "[ NORMAL ] Iteration 243:\tk_eff = 1.218296\tres = 1.101E-04\n",
- "[ NORMAL ] Iteration 244:\tk_eff = 1.218423\tres = 1.074E-04\n",
- "[ NORMAL ] Iteration 245:\tk_eff = 1.218548\tres = 1.047E-04\n",
- "[ NORMAL ] Iteration 246:\tk_eff = 1.218669\tres = 1.022E-04\n",
- "[ NORMAL ] Iteration 247:\tk_eff = 1.218788\tres = 9.967E-05\n",
- "[ NORMAL ] Iteration 248:\tk_eff = 1.218903\tres = 9.723E-05\n",
- "[ NORMAL ] Iteration 249:\tk_eff = 1.219016\tres = 9.486E-05\n",
- "[ NORMAL ] Iteration 250:\tk_eff = 1.219126\tres = 9.254E-05\n",
- "[ NORMAL ] Iteration 251:\tk_eff = 1.219234\tres = 9.027E-05\n",
- "[ NORMAL ] Iteration 252:\tk_eff = 1.219338\tres = 8.806E-05\n",
- "[ NORMAL ] Iteration 253:\tk_eff = 1.219441\tres = 8.591E-05\n",
- "[ NORMAL ] Iteration 254:\tk_eff = 1.219540\tres = 8.381E-05\n",
- "[ NORMAL ] Iteration 255:\tk_eff = 1.219637\tres = 8.176E-05\n",
- "[ NORMAL ] Iteration 256:\tk_eff = 1.219732\tres = 7.976E-05\n",
- "[ NORMAL ] Iteration 257:\tk_eff = 1.219825\tres = 7.781E-05\n",
- "[ NORMAL ] Iteration 258:\tk_eff = 1.219915\tres = 7.591E-05\n",
- "[ NORMAL ] Iteration 259:\tk_eff = 1.220003\tres = 7.405E-05\n",
- "[ NORMAL ] Iteration 260:\tk_eff = 1.220089\tres = 7.224E-05\n",
- "[ NORMAL ] Iteration 261:\tk_eff = 1.220173\tres = 7.047E-05\n",
- "[ NORMAL ] Iteration 262:\tk_eff = 1.220255\tres = 6.875E-05\n",
- "[ NORMAL ] Iteration 263:\tk_eff = 1.220335\tres = 6.707E-05\n",
- "[ NORMAL ] Iteration 264:\tk_eff = 1.220413\tres = 6.543E-05\n",
- "[ NORMAL ] Iteration 265:\tk_eff = 1.220489\tres = 6.383E-05\n",
- "[ NORMAL ] Iteration 266:\tk_eff = 1.220563\tres = 6.227E-05\n",
- "[ NORMAL ] Iteration 267:\tk_eff = 1.220635\tres = 6.075E-05\n",
- "[ NORMAL ] Iteration 268:\tk_eff = 1.220706\tres = 5.926E-05\n",
- "[ NORMAL ] Iteration 269:\tk_eff = 1.220775\tres = 5.781E-05\n",
- "[ NORMAL ] Iteration 270:\tk_eff = 1.220842\tres = 5.640E-05\n",
- "[ NORMAL ] Iteration 271:\tk_eff = 1.220907\tres = 5.502E-05\n",
- "[ NORMAL ] Iteration 272:\tk_eff = 1.220971\tres = 5.368E-05\n",
- "[ NORMAL ] Iteration 273:\tk_eff = 1.221034\tres = 5.236E-05\n",
- "[ NORMAL ] Iteration 274:\tk_eff = 1.221095\tres = 5.108E-05\n",
- "[ NORMAL ] Iteration 275:\tk_eff = 1.221154\tres = 4.984E-05\n",
- "[ NORMAL ] Iteration 276:\tk_eff = 1.221212\tres = 4.862E-05\n",
- "[ NORMAL ] Iteration 277:\tk_eff = 1.221268\tres = 4.743E-05\n",
- "[ NORMAL ] Iteration 278:\tk_eff = 1.221324\tres = 4.627E-05\n",
- "[ NORMAL ] Iteration 279:\tk_eff = 1.221377\tres = 4.514E-05\n",
- "[ NORMAL ] Iteration 280:\tk_eff = 1.221430\tres = 4.403E-05\n",
- "[ NORMAL ] Iteration 281:\tk_eff = 1.221481\tres = 4.296E-05\n",
- "[ NORMAL ] Iteration 282:\tk_eff = 1.221531\tres = 4.191E-05\n",
- "[ NORMAL ] Iteration 283:\tk_eff = 1.221580\tres = 4.088E-05\n",
- "[ NORMAL ] Iteration 284:\tk_eff = 1.221627\tres = 3.988E-05\n",
- "[ NORMAL ] Iteration 285:\tk_eff = 1.221674\tres = 3.891E-05\n",
- "[ NORMAL ] Iteration 286:\tk_eff = 1.221719\tres = 3.796E-05\n",
- "[ NORMAL ] Iteration 287:\tk_eff = 1.221763\tres = 3.703E-05\n",
- "[ NORMAL ] Iteration 288:\tk_eff = 1.221806\tres = 3.613E-05\n",
- "[ NORMAL ] Iteration 289:\tk_eff = 1.221848\tres = 3.524E-05\n",
- "[ NORMAL ] Iteration 290:\tk_eff = 1.221889\tres = 3.438E-05\n",
- "[ NORMAL ] Iteration 291:\tk_eff = 1.221929\tres = 3.354E-05\n",
- "[ NORMAL ] Iteration 292:\tk_eff = 1.221968\tres = 3.272E-05\n",
- "[ NORMAL ] Iteration 293:\tk_eff = 1.222006\tres = 3.192E-05\n",
- "[ NORMAL ] Iteration 294:\tk_eff = 1.222043\tres = 3.114E-05\n",
- "[ NORMAL ] Iteration 295:\tk_eff = 1.222079\tres = 3.038E-05\n",
- "[ NORMAL ] Iteration 296:\tk_eff = 1.222115\tres = 2.964E-05\n",
- "[ NORMAL ] Iteration 297:\tk_eff = 1.222149\tres = 2.891E-05\n",
- "[ NORMAL ] Iteration 298:\tk_eff = 1.222183\tres = 2.821E-05\n",
- "[ NORMAL ] Iteration 299:\tk_eff = 1.222216\tres = 2.752E-05\n",
- "[ NORMAL ] Iteration 300:\tk_eff = 1.222248\tres = 2.685E-05\n",
- "[ NORMAL ] Iteration 301:\tk_eff = 1.222279\tres = 2.619E-05\n",
- "[ NORMAL ] Iteration 302:\tk_eff = 1.222309\tres = 2.555E-05\n",
- "[ NORMAL ] Iteration 303:\tk_eff = 1.222339\tres = 2.492E-05\n",
- "[ NORMAL ] Iteration 304:\tk_eff = 1.222368\tres = 2.432E-05\n",
- "[ NORMAL ] Iteration 305:\tk_eff = 1.222396\tres = 2.372E-05\n",
- "[ NORMAL ] Iteration 306:\tk_eff = 1.222424\tres = 2.314E-05\n",
- "[ NORMAL ] Iteration 307:\tk_eff = 1.222451\tres = 2.258E-05\n",
- "[ NORMAL ] Iteration 308:\tk_eff = 1.222477\tres = 2.202E-05\n",
- "[ NORMAL ] Iteration 309:\tk_eff = 1.222503\tres = 2.149E-05\n",
- "[ NORMAL ] Iteration 310:\tk_eff = 1.222528\tres = 2.096E-05\n",
- "[ NORMAL ] Iteration 311:\tk_eff = 1.222552\tres = 2.045E-05\n",
- "[ NORMAL ] Iteration 312:\tk_eff = 1.222576\tres = 1.995E-05\n",
- "[ NORMAL ] Iteration 313:\tk_eff = 1.222599\tres = 1.946E-05\n",
- "[ NORMAL ] Iteration 314:\tk_eff = 1.222622\tres = 1.899E-05\n",
- "[ NORMAL ] Iteration 315:\tk_eff = 1.222644\tres = 1.852E-05\n",
- "[ NORMAL ] Iteration 316:\tk_eff = 1.222665\tres = 1.807E-05\n",
- "[ NORMAL ] Iteration 317:\tk_eff = 1.222686\tres = 1.763E-05\n",
- "[ NORMAL ] Iteration 318:\tk_eff = 1.222707\tres = 1.720E-05\n",
- "[ NORMAL ] Iteration 319:\tk_eff = 1.222727\tres = 1.678E-05\n",
- "[ NORMAL ] Iteration 320:\tk_eff = 1.222746\tres = 1.637E-05\n",
- "[ NORMAL ] Iteration 321:\tk_eff = 1.222766\tres = 1.597E-05\n",
- "[ NORMAL ] Iteration 322:\tk_eff = 1.222784\tres = 1.558E-05\n",
- "[ NORMAL ] Iteration 323:\tk_eff = 1.222802\tres = 1.520E-05\n",
- "[ NORMAL ] Iteration 324:\tk_eff = 1.222820\tres = 1.483E-05\n",
- "[ NORMAL ] Iteration 325:\tk_eff = 1.222837\tres = 1.446E-05\n",
- "[ NORMAL ] Iteration 326:\tk_eff = 1.222854\tres = 1.411E-05\n",
- "[ NORMAL ] Iteration 327:\tk_eff = 1.222870\tres = 1.377E-05\n",
- "[ NORMAL ] Iteration 328:\tk_eff = 1.222886\tres = 1.343E-05\n",
- "[ NORMAL ] Iteration 329:\tk_eff = 1.222902\tres = 1.310E-05\n",
- "[ NORMAL ] Iteration 330:\tk_eff = 1.222917\tres = 1.278E-05\n",
- "[ NORMAL ] Iteration 331:\tk_eff = 1.222932\tres = 1.247E-05\n",
- "[ NORMAL ] Iteration 332:\tk_eff = 1.222947\tres = 1.216E-05\n",
- "[ NORMAL ] Iteration 333:\tk_eff = 1.222961\tres = 1.187E-05\n",
- "[ NORMAL ] Iteration 334:\tk_eff = 1.222975\tres = 1.158E-05\n",
- "[ NORMAL ] Iteration 335:\tk_eff = 1.222988\tres = 1.129E-05\n",
- "[ NORMAL ] Iteration 336:\tk_eff = 1.223001\tres = 1.102E-05\n",
- "[ NORMAL ] Iteration 337:\tk_eff = 1.223014\tres = 1.075E-05\n",
- "[ NORMAL ] Iteration 338:\tk_eff = 1.223027\tres = 1.049E-05\n",
- "[ NORMAL ] Iteration 339:\tk_eff = 1.223039\tres = 1.023E-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.496490\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.478834\tres = 6.465E-03\n",
+ "[ NORMAL ] Iteration 9:\tk_eff = 0.479871\tres = 1.960E-03\n",
+ "[ NORMAL ] Iteration 10:\tk_eff = 0.482684\tres = 2.165E-03\n",
+ "[ NORMAL ] Iteration 11:\tk_eff = 0.487084\tres = 5.860E-03\n",
+ "[ NORMAL ] Iteration 12:\tk_eff = 0.492900\tres = 9.116E-03\n",
+ "[ NORMAL ] Iteration 13:\tk_eff = 0.499971\tres = 1.194E-02\n",
+ "[ NORMAL ] Iteration 14:\tk_eff = 0.508153\tres = 1.435E-02\n",
+ "[ NORMAL ] Iteration 15:\tk_eff = 0.517312\tres = 1.637E-02\n",
+ "[ NORMAL ] Iteration 16:\tk_eff = 0.527325\tres = 1.802E-02\n",
+ "[ NORMAL ] Iteration 17:\tk_eff = 0.538079\tres = 1.936E-02\n",
+ "[ NORMAL ] Iteration 18:\tk_eff = 0.549472\tres = 2.039E-02\n",
+ "[ NORMAL ] Iteration 19:\tk_eff = 0.561410\tres = 2.117E-02\n",
+ "[ NORMAL ] Iteration 20:\tk_eff = 0.573807\tres = 2.173E-02\n",
+ "[ NORMAL ] Iteration 21:\tk_eff = 0.586585\tres = 2.208E-02\n",
+ "[ NORMAL ] Iteration 22:\tk_eff = 0.599674\tres = 2.227E-02\n",
+ "[ NORMAL ] Iteration 23:\tk_eff = 0.613007\tres = 2.231E-02\n",
+ "[ NORMAL ] Iteration 24:\tk_eff = 0.626528\tres = 2.223E-02\n",
+ "[ NORMAL ] Iteration 25:\tk_eff = 0.640181\tres = 2.206E-02\n",
+ "[ NORMAL ] Iteration 26:\tk_eff = 0.653920\tres = 2.179E-02\n",
+ "[ NORMAL ] Iteration 27:\tk_eff = 0.667700\tres = 2.146E-02\n",
+ "[ NORMAL ] Iteration 28:\tk_eff = 0.681483\tres = 2.107E-02\n",
+ "[ NORMAL ] Iteration 29:\tk_eff = 0.695234\tres = 2.064E-02\n",
+ "[ NORMAL ] Iteration 30:\tk_eff = 0.708921\tres = 2.018E-02\n",
+ "[ NORMAL ] Iteration 31:\tk_eff = 0.722515\tres = 1.969E-02\n",
+ "[ NORMAL ] Iteration 32:\tk_eff = 0.735993\tres = 1.918E-02\n",
+ "[ NORMAL ] Iteration 33:\tk_eff = 0.749331\tres = 1.865E-02\n",
+ "[ NORMAL ] Iteration 34:\tk_eff = 0.762510\tres = 1.812E-02\n",
+ "[ NORMAL ] Iteration 35:\tk_eff = 0.775514\tres = 1.759E-02\n",
+ "[ NORMAL ] Iteration 36:\tk_eff = 0.788326\tres = 1.705E-02\n",
+ "[ NORMAL ] Iteration 37:\tk_eff = 0.800935\tres = 1.652E-02\n",
+ "[ NORMAL ] Iteration 38:\tk_eff = 0.813328\tres = 1.599E-02\n",
+ "[ NORMAL ] Iteration 39:\tk_eff = 0.825497\tres = 1.547E-02\n",
+ "[ NORMAL ] Iteration 40:\tk_eff = 0.837433\tres = 1.496E-02\n",
+ "[ NORMAL ] Iteration 41:\tk_eff = 0.849130\tres = 1.446E-02\n",
+ "[ NORMAL ] Iteration 42:\tk_eff = 0.860583\tres = 1.397E-02\n",
+ "[ NORMAL ] Iteration 43:\tk_eff = 0.871788\tres = 1.349E-02\n",
+ "[ NORMAL ] Iteration 44:\tk_eff = 0.882742\tres = 1.302E-02\n",
+ "[ NORMAL ] Iteration 45:\tk_eff = 0.893442\tres = 1.256E-02\n",
+ "[ NORMAL ] Iteration 46:\tk_eff = 0.903887\tres = 1.212E-02\n",
+ "[ NORMAL ] Iteration 47:\tk_eff = 0.914077\tres = 1.169E-02\n",
+ "[ NORMAL ] Iteration 48:\tk_eff = 0.924012\tres = 1.127E-02\n",
+ "[ NORMAL ] Iteration 49:\tk_eff = 0.933693\tres = 1.087E-02\n",
+ "[ NORMAL ] Iteration 50:\tk_eff = 0.943122\tres = 1.048E-02\n",
+ "[ NORMAL ] Iteration 51:\tk_eff = 0.952299\tres = 1.010E-02\n",
+ "[ NORMAL ] Iteration 52:\tk_eff = 0.961228\tres = 9.730E-03\n",
+ "[ NORMAL ] Iteration 53:\tk_eff = 0.969911\tres = 9.377E-03\n",
+ "[ NORMAL ] Iteration 54:\tk_eff = 0.978351\tres = 9.033E-03\n",
+ "[ NORMAL ] Iteration 55:\tk_eff = 0.986552\tres = 8.702E-03\n",
+ "[ NORMAL ] Iteration 56:\tk_eff = 0.994517\tres = 8.382E-03\n",
+ "[ NORMAL ] Iteration 57:\tk_eff = 1.002250\tres = 8.074E-03\n",
+ "[ NORMAL ] Iteration 58:\tk_eff = 1.009755\tres = 7.776E-03\n",
+ "[ NORMAL ] Iteration 59:\tk_eff = 1.017037\tres = 7.488E-03\n",
+ "[ NORMAL ] Iteration 60:\tk_eff = 1.024099\tres = 7.211E-03\n",
+ "[ NORMAL ] Iteration 61:\tk_eff = 1.030947\tres = 6.944E-03\n",
+ "[ NORMAL ] Iteration 62:\tk_eff = 1.037584\tres = 6.687E-03\n",
+ "[ NORMAL ] Iteration 63:\tk_eff = 1.044016\tres = 6.438E-03\n",
+ "[ NORMAL ] Iteration 64:\tk_eff = 1.050247\tres = 6.199E-03\n",
+ "[ NORMAL ] Iteration 65:\tk_eff = 1.056282\tres = 5.969E-03\n",
+ "[ NORMAL ] Iteration 66:\tk_eff = 1.062125\tres = 5.746E-03\n",
+ "[ NORMAL ] Iteration 67:\tk_eff = 1.067781\tres = 5.531E-03\n",
+ "[ NORMAL ] Iteration 68:\tk_eff = 1.073255\tres = 5.326E-03\n",
+ "[ NORMAL ] Iteration 69:\tk_eff = 1.078552\tres = 5.126E-03\n",
+ "[ NORMAL ] Iteration 70:\tk_eff = 1.083676\tres = 4.936E-03\n",
+ "[ NORMAL ] Iteration 71:\tk_eff = 1.088632\tres = 4.751E-03\n",
+ "[ NORMAL ] Iteration 72:\tk_eff = 1.093425\tres = 4.573E-03\n",
+ "[ NORMAL ] Iteration 73:\tk_eff = 1.098058\tres = 4.403E-03\n",
+ "[ NORMAL ] Iteration 74:\tk_eff = 1.102537\tres = 4.237E-03\n",
+ "[ NORMAL ] Iteration 75:\tk_eff = 1.106866\tres = 4.079E-03\n",
+ "[ NORMAL ] Iteration 76:\tk_eff = 1.111049\tres = 3.926E-03\n",
+ "[ NORMAL ] Iteration 77:\tk_eff = 1.115090\tres = 3.779E-03\n",
+ "[ NORMAL ] Iteration 78:\tk_eff = 1.118995\tres = 3.638E-03\n",
+ "[ NORMAL ] Iteration 79:\tk_eff = 1.122766\tres = 3.501E-03\n",
+ "[ NORMAL ] Iteration 80:\tk_eff = 1.126408\tres = 3.370E-03\n",
+ "[ NORMAL ] Iteration 81:\tk_eff = 1.129925\tres = 3.244E-03\n",
+ "[ NORMAL ] Iteration 82:\tk_eff = 1.133320\tres = 3.122E-03\n",
+ "[ NORMAL ] Iteration 83:\tk_eff = 1.136597\tres = 3.005E-03\n",
+ "[ NORMAL ] Iteration 84:\tk_eff = 1.139761\tres = 2.892E-03\n",
+ "[ NORMAL ] Iteration 85:\tk_eff = 1.142815\tres = 2.783E-03\n",
+ "[ NORMAL ] Iteration 86:\tk_eff = 1.145761\tres = 2.679E-03\n",
+ "[ NORMAL ] Iteration 87:\tk_eff = 1.148605\tres = 2.579E-03\n",
+ "[ NORMAL ] Iteration 88:\tk_eff = 1.151348\tres = 2.482E-03\n",
+ "[ NORMAL ] Iteration 89:\tk_eff = 1.153994\tres = 2.388E-03\n",
+ "[ NORMAL ] Iteration 90:\tk_eff = 1.156547\tres = 2.299E-03\n",
+ "[ NORMAL ] Iteration 91:\tk_eff = 1.159009\tres = 2.212E-03\n",
+ "[ NORMAL ] Iteration 92:\tk_eff = 1.161384\tres = 2.129E-03\n",
+ "[ NORMAL ] Iteration 93:\tk_eff = 1.163674\tres = 2.049E-03\n",
+ "[ NORMAL ] Iteration 94:\tk_eff = 1.165882\tres = 1.972E-03\n",
+ "[ NORMAL ] Iteration 95:\tk_eff = 1.168012\tres = 1.898E-03\n",
+ "[ NORMAL ] Iteration 96:\tk_eff = 1.170064\tres = 1.827E-03\n",
+ "[ NORMAL ] Iteration 97:\tk_eff = 1.172043\tres = 1.757E-03\n",
+ "[ NORMAL ] Iteration 98:\tk_eff = 1.173951\tres = 1.692E-03\n",
+ "[ NORMAL ] Iteration 99:\tk_eff = 1.175790\tres = 1.628E-03\n",
+ "[ NORMAL ] Iteration 100:\tk_eff = 1.177562\tres = 1.566E-03\n",
+ "[ NORMAL ] Iteration 101:\tk_eff = 1.179269\tres = 1.507E-03\n",
+ "[ NORMAL ] Iteration 102:\tk_eff = 1.180916\tres = 1.450E-03\n",
+ "[ NORMAL ] Iteration 103:\tk_eff = 1.182502\tres = 1.396E-03\n",
+ "[ NORMAL ] Iteration 104:\tk_eff = 1.184030\tres = 1.343E-03\n",
+ "[ NORMAL ] Iteration 105:\tk_eff = 1.185503\tres = 1.292E-03\n",
+ "[ NORMAL ] Iteration 106:\tk_eff = 1.186922\tres = 1.244E-03\n",
+ "[ NORMAL ] Iteration 107:\tk_eff = 1.188288\tres = 1.197E-03\n",
+ "[ NORMAL ] Iteration 108:\tk_eff = 1.189606\tres = 1.151E-03\n",
+ "[ NORMAL ] Iteration 109:\tk_eff = 1.190874\tres = 1.108E-03\n",
+ "[ NORMAL ] Iteration 110:\tk_eff = 1.192096\tres = 1.066E-03\n",
+ "[ NORMAL ] Iteration 111:\tk_eff = 1.193273\tres = 1.026E-03\n",
+ "[ NORMAL ] Iteration 112:\tk_eff = 1.194407\tres = 9.870E-04\n",
+ "[ NORMAL ] Iteration 113:\tk_eff = 1.195499\tres = 9.504E-04\n",
+ "[ NORMAL ] Iteration 114:\tk_eff = 1.196550\tres = 9.140E-04\n",
+ "[ NORMAL ] Iteration 115:\tk_eff = 1.197563\tres = 8.792E-04\n",
+ "[ NORMAL ] Iteration 116:\tk_eff = 1.198538\tres = 8.468E-04\n",
+ "[ NORMAL ] Iteration 117:\tk_eff = 1.199477\tres = 8.140E-04\n",
+ "[ NORMAL ] Iteration 118:\tk_eff = 1.200382\tres = 7.837E-04\n",
+ "[ NORMAL ] Iteration 119:\tk_eff = 1.201253\tres = 7.539E-04\n",
+ "[ NORMAL ] Iteration 120:\tk_eff = 1.202091\tres = 7.257E-04\n",
+ "[ NORMAL ] Iteration 121:\tk_eff = 1.202898\tres = 6.979E-04\n",
+ "[ NORMAL ] Iteration 122:\tk_eff = 1.203676\tres = 6.716E-04\n",
+ "[ NORMAL ] Iteration 123:\tk_eff = 1.204424\tres = 6.465E-04\n",
+ "[ NORMAL ] Iteration 124:\tk_eff = 1.205144\tres = 6.217E-04\n",
+ "[ NORMAL ] Iteration 125:\tk_eff = 1.205838\tres = 5.979E-04\n",
+ "[ NORMAL ] Iteration 126:\tk_eff = 1.206505\tres = 5.760E-04\n",
+ "[ NORMAL ] Iteration 127:\tk_eff = 1.207148\tres = 5.532E-04\n",
+ "[ NORMAL ] Iteration 128:\tk_eff = 1.207767\tres = 5.325E-04\n",
+ "[ NORMAL ] Iteration 129:\tk_eff = 1.208363\tres = 5.125E-04\n",
+ "[ NORMAL ] Iteration 130:\tk_eff = 1.208936\tres = 4.935E-04\n",
+ "[ NORMAL ] Iteration 131:\tk_eff = 1.209487\tres = 4.744E-04\n",
+ "[ NORMAL ] Iteration 132:\tk_eff = 1.210018\tres = 4.559E-04\n",
+ "[ NORMAL ] Iteration 133:\tk_eff = 1.210529\tres = 4.392E-04\n",
+ "[ NORMAL ] Iteration 134:\tk_eff = 1.211021\tres = 4.223E-04\n",
+ "[ NORMAL ] Iteration 135:\tk_eff = 1.211495\tres = 4.060E-04\n",
+ "[ NORMAL ] Iteration 136:\tk_eff = 1.211951\tres = 3.914E-04\n",
+ "[ NORMAL ] Iteration 137:\tk_eff = 1.212390\tres = 3.763E-04\n",
+ "[ NORMAL ] Iteration 138:\tk_eff = 1.212812\tres = 3.623E-04\n",
+ "[ NORMAL ] Iteration 139:\tk_eff = 1.213217\tres = 3.480E-04\n",
+ "[ NORMAL ] Iteration 140:\tk_eff = 1.213608\tres = 3.344E-04\n",
+ "[ NORMAL ] Iteration 141:\tk_eff = 1.213984\tres = 3.223E-04\n",
+ "[ NORMAL ] Iteration 142:\tk_eff = 1.214347\tres = 3.097E-04\n",
+ "[ NORMAL ] Iteration 143:\tk_eff = 1.214695\tres = 2.985E-04\n",
+ "[ NORMAL ] Iteration 144:\tk_eff = 1.215031\tres = 2.869E-04\n",
+ "[ NORMAL ] Iteration 145:\tk_eff = 1.215352\tres = 2.763E-04\n",
+ "[ NORMAL ] Iteration 146:\tk_eff = 1.215663\tres = 2.648E-04\n",
+ "[ NORMAL ] Iteration 147:\tk_eff = 1.215962\tres = 2.552E-04\n",
+ "[ NORMAL ] Iteration 148:\tk_eff = 1.216249\tres = 2.460E-04\n",
+ "[ NORMAL ] Iteration 149:\tk_eff = 1.216526\tres = 2.362E-04\n",
+ "[ NORMAL ] Iteration 150:\tk_eff = 1.216792\tres = 2.279E-04\n",
+ "[ NORMAL ] Iteration 151:\tk_eff = 1.217048\tres = 2.188E-04\n",
+ "[ NORMAL ] Iteration 152:\tk_eff = 1.217294\tres = 2.100E-04\n",
+ "[ NORMAL ] Iteration 153:\tk_eff = 1.217531\tres = 2.024E-04\n",
+ "[ NORMAL ] Iteration 154:\tk_eff = 1.217759\tres = 1.948E-04\n",
+ "[ NORMAL ] Iteration 155:\tk_eff = 1.217978\tres = 1.872E-04\n",
+ "[ NORMAL ] Iteration 156:\tk_eff = 1.218189\tres = 1.799E-04\n",
+ "[ NORMAL ] Iteration 157:\tk_eff = 1.218393\tres = 1.733E-04\n",
+ "[ NORMAL ] Iteration 158:\tk_eff = 1.218588\tres = 1.668E-04\n",
+ "[ NORMAL ] Iteration 159:\tk_eff = 1.218776\tres = 1.600E-04\n",
+ "[ NORMAL ] Iteration 160:\tk_eff = 1.218957\tres = 1.544E-04\n",
+ "[ NORMAL ] Iteration 161:\tk_eff = 1.219131\tres = 1.485E-04\n",
+ "[ NORMAL ] Iteration 162:\tk_eff = 1.219298\tres = 1.428E-04\n",
+ "[ NORMAL ] Iteration 163:\tk_eff = 1.219459\tres = 1.374E-04\n",
+ "[ NORMAL ] Iteration 164:\tk_eff = 1.219614\tres = 1.321E-04\n",
+ "[ NORMAL ] Iteration 165:\tk_eff = 1.219763\tres = 1.270E-04\n",
+ "[ NORMAL ] Iteration 166:\tk_eff = 1.219906\tres = 1.221E-04\n",
+ "[ NORMAL ] Iteration 167:\tk_eff = 1.220044\tres = 1.175E-04\n",
+ "[ NORMAL ] Iteration 168:\tk_eff = 1.220177\tres = 1.130E-04\n",
+ "[ NORMAL ] Iteration 169:\tk_eff = 1.220304\tres = 1.084E-04\n",
+ "[ NORMAL ] Iteration 170:\tk_eff = 1.220427\tres = 1.045E-04\n",
+ "[ NORMAL ] Iteration 171:\tk_eff = 1.220545\tres = 1.007E-04\n",
+ "[ NORMAL ] Iteration 172:\tk_eff = 1.220659\tres = 9.678E-05\n",
+ "[ NORMAL ] Iteration 173:\tk_eff = 1.220768\tres = 9.304E-05\n",
+ "[ NORMAL ] Iteration 174:\tk_eff = 1.220874\tres = 8.984E-05\n",
+ "[ NORMAL ] Iteration 175:\tk_eff = 1.220975\tres = 8.640E-05\n",
+ "[ NORMAL ] Iteration 176:\tk_eff = 1.221073\tres = 8.326E-05\n",
+ "[ NORMAL ] Iteration 177:\tk_eff = 1.221166\tres = 7.985E-05\n",
+ "[ NORMAL ] Iteration 178:\tk_eff = 1.221256\tres = 7.662E-05\n",
+ "[ NORMAL ] Iteration 179:\tk_eff = 1.221343\tres = 7.371E-05\n",
+ "[ NORMAL ] Iteration 180:\tk_eff = 1.221426\tres = 7.091E-05\n",
+ "[ NORMAL ] Iteration 181:\tk_eff = 1.221506\tres = 6.827E-05\n",
+ "[ NORMAL ] Iteration 182:\tk_eff = 1.221583\tres = 6.560E-05\n",
+ "[ NORMAL ] Iteration 183:\tk_eff = 1.221657\tres = 6.320E-05\n",
+ "[ NORMAL ] Iteration 184:\tk_eff = 1.221729\tres = 6.067E-05\n",
+ "[ NORMAL ] Iteration 185:\tk_eff = 1.221797\tres = 5.829E-05\n",
+ "[ NORMAL ] Iteration 186:\tk_eff = 1.221863\tres = 5.641E-05\n",
+ "[ NORMAL ] Iteration 187:\tk_eff = 1.221927\tres = 5.382E-05\n",
+ "[ NORMAL ] Iteration 188:\tk_eff = 1.221987\tres = 5.196E-05\n",
+ "[ NORMAL ] Iteration 189:\tk_eff = 1.222046\tres = 4.968E-05\n",
+ "[ NORMAL ] Iteration 190:\tk_eff = 1.222102\tres = 4.810E-05\n",
+ "[ NORMAL ] Iteration 191:\tk_eff = 1.222157\tres = 4.617E-05\n",
+ "[ NORMAL ] Iteration 192:\tk_eff = 1.222209\tres = 4.456E-05\n",
+ "[ NORMAL ] Iteration 193:\tk_eff = 1.222260\tres = 4.287E-05\n",
+ "[ NORMAL ] Iteration 194:\tk_eff = 1.222308\tres = 4.122E-05\n",
+ "[ NORMAL ] Iteration 195:\tk_eff = 1.222355\tres = 3.971E-05\n",
+ "[ NORMAL ] Iteration 196:\tk_eff = 1.222399\tres = 3.805E-05\n",
+ "[ NORMAL ] Iteration 197:\tk_eff = 1.222442\tres = 3.657E-05\n",
+ "[ NORMAL ] Iteration 198:\tk_eff = 1.222484\tres = 3.521E-05\n",
+ "[ NORMAL ] Iteration 199:\tk_eff = 1.222523\tres = 3.381E-05\n",
+ "[ NORMAL ] Iteration 200:\tk_eff = 1.222561\tres = 3.262E-05\n",
+ "[ NORMAL ] Iteration 201:\tk_eff = 1.222598\tres = 3.107E-05\n",
+ "[ NORMAL ] Iteration 202:\tk_eff = 1.222634\tres = 2.985E-05\n",
+ "[ NORMAL ] Iteration 203:\tk_eff = 1.222668\tres = 2.902E-05\n",
+ "[ NORMAL ] Iteration 204:\tk_eff = 1.222700\tres = 2.804E-05\n",
+ "[ NORMAL ] Iteration 205:\tk_eff = 1.222732\tres = 2.639E-05\n",
+ "[ NORMAL ] Iteration 206:\tk_eff = 1.222762\tres = 2.577E-05\n",
+ "[ NORMAL ] Iteration 207:\tk_eff = 1.222792\tres = 2.487E-05\n",
+ "[ NORMAL ] Iteration 208:\tk_eff = 1.222820\tres = 2.400E-05\n",
+ "[ NORMAL ] Iteration 209:\tk_eff = 1.222847\tres = 2.291E-05\n",
+ "[ NORMAL ] Iteration 210:\tk_eff = 1.222872\tres = 2.200E-05\n",
+ "[ NORMAL ] Iteration 211:\tk_eff = 1.222897\tres = 2.121E-05\n",
+ "[ NORMAL ] Iteration 212:\tk_eff = 1.222921\tres = 2.040E-05\n",
+ "[ NORMAL ] Iteration 213:\tk_eff = 1.222944\tres = 1.964E-05\n",
+ "[ NORMAL ] Iteration 214:\tk_eff = 1.222967\tres = 1.882E-05\n",
+ "[ NORMAL ] Iteration 215:\tk_eff = 1.222988\tres = 1.821E-05\n",
+ "[ NORMAL ] Iteration 216:\tk_eff = 1.223009\tres = 1.763E-05\n",
+ "[ NORMAL ] Iteration 217:\tk_eff = 1.223029\tres = 1.690E-05\n",
+ "[ NORMAL ] Iteration 218:\tk_eff = 1.223048\tres = 1.630E-05\n",
+ "[ NORMAL ] Iteration 219:\tk_eff = 1.223067\tres = 1.572E-05\n",
+ "[ NORMAL ] Iteration 220:\tk_eff = 1.223084\tres = 1.507E-05\n",
+ "[ NORMAL ] Iteration 221:\tk_eff = 1.223101\tres = 1.427E-05\n",
+ "[ NORMAL ] Iteration 222:\tk_eff = 1.223117\tres = 1.394E-05\n",
+ "[ NORMAL ] Iteration 223:\tk_eff = 1.223133\tres = 1.330E-05\n",
+ "[ NORMAL ] Iteration 224:\tk_eff = 1.223148\tres = 1.298E-05\n",
+ "[ NORMAL ] Iteration 225:\tk_eff = 1.223163\tres = 1.241E-05\n",
+ "[ NORMAL ] Iteration 226:\tk_eff = 1.223177\tres = 1.167E-05\n",
+ "[ NORMAL ] Iteration 227:\tk_eff = 1.223190\tres = 1.151E-05\n",
+ "[ NORMAL ] Iteration 228:\tk_eff = 1.223203\tres = 1.073E-05\n",
+ "[ NORMAL ] Iteration 229:\tk_eff = 1.223215\tres = 1.050E-05\n",
+ "[ NORMAL ] Iteration 230:\tk_eff = 1.223227\tres = 1.000E-05\n"
]
}
],
@@ -1876,8 +1699,8 @@
"output_type": "stream",
"text": [
"openmc keff = 1.223474\n",
- "openmoc keff = 1.223039\n",
- "bias [pcm]: -43.5\n"
+ "openmoc keff = 1.223227\n",
+ "bias [pcm]: -24.7\n"
]
}
],
@@ -1962,9 +1785,9 @@
},
{
"data": {
- "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYUAAAEeCAYAAABlggnIAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xd4VGX2wPHvpHcUCAgqiu2ooAiiInZXbGtnWUVdsQMi\noCL23tBVURcLirsidlHRxYagKC4iVhDL7whiRyQUBTKpk/n9ce8kkzCTzCSZlpzP8+RJ5s6d+74z\nSe65b7nn9fj9fowxxhiAtERXwBhjTPKwoGCMMaaWBQVjjDG1LCgYY4ypZUHBGGNMLQsKxhhjamUk\nugImtYhIDdBZVdcGbRsMXKiqh4TY3wPcARwN+IClwHBVXSMiWwOPAl1xLlDuUtVp7usuBK4GfnMP\ntUFVDwpx/HeBHsAf7iYP4FfVfiIyBXhGVd+J8j12A6ar6v7RvK6JYw4ErsV5r+nAT8AVqvpVa5UR\nYT0GALcBHYPqMV5Vv27m8bbF+b39LRafm4k/CwomWuFubAm3/WygL7CHqlaLyB3A3cCZwP3Aq6o6\nSUS6AEtFZI6qrgAGAher6rMR1Gecqs5o+ISqntf029mUqv4GtGZAOBB4AjheVRe5204F3hWRnVV1\nTWuV1UQ9soCZwGGqutjddhrwuoj0VNXm3LS0LbATtP7nZhLDgoKJlifK/b/EuRKtdh9/AlwAoKrH\nuy0JgG2AKqDMfTwQKBSRK4EV7jG+jKZOIjIXmAS8ghOA9nXLWA6cBVS4zw9ssL0Y+FJVC0UkA5gI\n/AWoBhbiBKtSEfkemOo+tzXwhKpeF6IqNwA3BgKC+96fFpEyIF1EDgLuA0qBfGAvtx6j3TJ/B0ar\n6lIR2R8nqKbhBMQJqjoj3PYG9cgDOgCFQfV4SkT+xGk1VIvIMcA1QCbgxfncPxSRdOBO4K/uZ/UB\ncCEwBeguIm8AI1r5czMJYGMKJqZUdWHQ1fHmwHXA80HP+92T93zgUVVdJyJ5wDfA7araB/gP8Ia7\nPZQ7ReQzEfnc/X5kg+f3BQ5S1T1UdS+ck//u7vaDQ2yHupbPtUA3YDe3LoGTY0C+qh4I7AdcKiLb\nhKhff5yTaMPPZoaqrnIf9gJOVtU9cK62L3Xr3Bd4BnjZ3e8G4G63vucAhzaxPbi8P4DLgFkiskxE\nponIWcDbbituB5yupaNUdU9gOPCSiOQCo3BafLupam+cwDIEOBf4TlWPisHnZhLAgoKJVqguhjSc\n8YKwRGR74D1gnqo+FPycOxbRDThCRIapqldVj1LV+e7z04F1OFfQoYxX1X6q2tf9/maD55fgXAUv\nFJGbgJdU9cNGtgc7EpisqjXu40nAUUHPv+LWcQWwCqevvqEamv5f+1lVfwkq87nAuI2qPo5zNb4N\n8BzwoIg8CewJXOW+5jnggRDb61HVe4EuwBicFtjlwGciUggMArYA3haRz4GncK7yd8C5qn9CVSvd\n4wxV1acaeT+t8bmZBLCgYKJVAnRqsK0rsAZARF4LumI/xt12CM6V8mOqOirwIhEZLCIFAG6/+stA\nPxHp4Q40B/PgdFtETVX/BPYAxuGc5J4TkRHhtjd4eTr1A2E6TtdKQFnQz35Cd2UtwGmV1CMi94tI\n4Ip+YyNlgvO/mqmqU4DewFvAEcASEclyt+/WcHuD8gaKyKWqWqqqr6vqFcCu7tOD3HLfDgqwfXG6\n1r7C+Xz8QcfqIiJbhHiv4d5Dcz43kwAWFEy03gDGBMYC3C6hYcDrAKr616Ar9ldFpB/wEvAPVb2n\nwbFG4vRLIyIdgOOBt3H61m8Rkf7uc0cDucBHzamwiPzVPe4CVb0JmAbsFW67+7LASepNYKSIZIhI\nGs54yFtRVuFW4DoR6RtUpzOBwTitlYbeBE4Rkc7uvmcBq1V1mYjMB/q5s7SG44wRbNFg+/mB7Q2O\nWwJc7c6ECtgSKHLr8TZwuIiIW+7RwGIgB5gDnCoiWe7n8BBwCk6wCD7ZB7+Hln5uJgFsoNlE6yKc\nAc0vRaQK5+T5eGAqaQi3ud9vd2ceASxX1cE4M5AeFpGhOFeLj6jqfwFEZAjwiIhkAuuBE4IGq4M1\nNmMm8NzrON0ZX4rIRmAtcB7wS5jtnqDX3oLTF74I52r3I5wB4FBlh6yLqv5PRM4F/iUi+UAW8B3O\neEaJew4O3n+OiNwDvOMG3xKcAV6A8e5xbsHplrpBVX8SkZDbGxx3qYicAEwQkS2BcuBP4ExVXQog\nIucDz7p1qgaOVVWviDyMMxngU/dwc4F/4QSfChH5ECdIBLT4czOJ4Um21Nki0gfnj205MFVV30tw\nlYwxpt1Ixu6jvXFuWKrG6cs0xhgTJ3HtPhKRfXCmGR7iNosfBPrgNGPPVdXlwP+AZ3EGL8fjzI4w\nxhgTB3FrKbh9nlOAbHfTCUC2qg4ErsS50QWc2SDpOGkL0uNVP2OMMfHtPloGnBj0eH+cGQqo6kKc\nudUAP+DMab4DZ2zBGGNMnMSt+8i9FT/4rsUinJkPAT4RSVPVBTjzuiPi9/v9Ho9NcTbGmCiFPHEm\nckrqeoJysABpQXc/Rszj8VBSsqH1atWI4uJCKyvFyrOyUq88Kys+ZRUXF4bcnsjZR/Nx0ikH0vmG\nuonHGGNMHCWypTADGOTeiQlOVkhjjDEJFNegoKo/4uRSwc3dPjKe5RtjjGlcMt68ZowxJkEsKBhj\njKllQcEYY0wtCwrGGGNqWepsY0y7t3z5d0yePImKigq8Xi8DBgzknHOGR3WMefPepVev3ng8HqZO\nfZRLLknNtG3WUjDGtGsbN27kxhuvZuzYS7nvvod45JGpfP/9d7zyyktRHWf69GcoLS2lY8dOKRsQ\nwFoKxph27v3332XPPfdiyy23ApwsCddccxMZGRncf/+9fPHFIjweD4MGHcHf/nYKt912I5mZmfz2\n22+sXbuGq6++ntWrS1i69FtuueV6rr32Jm655Xoefvgxhg0bSt++/Vi2bCnZ2ZncfPM/Uf0/Xn75\nRW680Vl/6vjjj+CVV2axcuVvTJhwMz5fNR6Ph4suGs/22+9Q+zzA9ddfxYkn/o1OnTpz2203kJGR\nSXp6OtdccxOdO3dulc/DWgrGmHZt9erVdO++Zb1tOTk5fPTRh6xcuYJHHpnKAw9MYfbsWSxfvgyA\nLbbozsSJkxg8+O+88soM9t13f3bccSeuvfYmMjMzCeRj83pLGTToKO6//xG6dOnCggUfAFA/X5vz\n8/3338vf/z6U++9/hDFjxjFhwk31ng/28ccLEdmVe+99kDPOOJsNG9a32udhLQVjTFLp3Ru++ip0\nXp7m2HlnH/PmecM+v8UWW/Dtt1pv22+/rUD1G3bf3VlWOyMjg1137c33338PwE47OUuodunSlSVL\nFte+LtRKljvuuBMA3bp1o7KyIkQNnNf8+OP39OnTt/Y1JSW/13s++Odjjjmep556nEsuGU1hYQHn\nnz8q7PuLlrUUjDFJ5csvYdWqDa321VhAANhvvwP46KMF/PrrLwBUV1czadI9FBUV8cUXi2q3ffnl\nYnr06AE0vNJ3pKWlhQwKDffNyspm9eoSAFau/I31652r/G233Y5Fiz4DYOlSpWPHTgD4fD7Ky8up\nqqri+++XA/D+++/Rp09f7rvvQQ4++C889dTjkX24EbCWgjGmXcvLy+fqq2/gn/+8Fb/fj9frZf/9\nD2Tw4JNZuXIlI0acTXV1NYceOogdd5Swx+nde3duueU6xo+/KmhrXUAIBIedd96FwsJChg8/i222\n2ba262rUqLHcccctPPvsk/h81Vx55XUADBkylOHDz6R79y3ZYovutce4+ebrSE9PJy0tjTFjLmm1\nz8MTKrKlGH8ypaO1spKrPCsr9cqzsuJTVnFxYcj1FKz7yBhjTK2UDwqPPAKp39gxxpjk0CaCwqmn\n5rJypS3JaYwxLZXyQWHBAujXz8ehh+YxY4aNmxtjTEukfFDIzITx4yt5+uky7r47i/POy2Ht2kTX\nyhhjUlPKB4WAPfaoYfZsL1ts4efgg/OZMyc90VUyxpiU02aCAkBuLtx8cwUPPVTOFVfkMG5cNhs3\nJrpWxphk9/nnn3LAAXvxzjtz6m0fNszJdRTKG2+8ysMPPwDAf/87A5/Px9Kl3zJ16qMh9//ggw8Y\nO/YCRo06j9Gjh3PbbTdSWpp8J6g2FRQC9tvPx9y5pfh8cPDB+Xz4obUajDGN22abbZkzZ1bt4+XL\nl1FeXh7Ra5944jFqamrYccedOPPMczd5ftmypdx1111cd91NPPDAFCZNepgddtiJp59+otXq31ra\n7MhsYSHce28Fs2ZVc955OQweXM0VV1SQk5PomhljktH22+/IL7/8TGnpRvLzC5g16w0OP/wofv99\nZchMpQGvvvoKa9as4frrr2LIkFPqZUANePnlF7ngggvo1Kkuk+nf/z609uczzjiZrbfuQVZWNuPG\nXcFNN12L11uKz+fjvPNG0q9ff4YMOY6nn36RzMxMJk++n2222ZYttujGtGn/weNJY926NRx77Imc\ndNKQFn0ObTYoBBxxhI/+/b1cdlk2hx+ex/33l7P77jWJrpYxJoTcByfBXRMobsV+35r8Arzjr6Ts\ngtFN7nvQQYcwb967HHXUMXzzzVecfvqZ/P77SkJlKg045pjjefzx/3DTTRNYsmRxyLxIv/22ojZv\n0m+/reC2227E7/fj9/t54IEplJWVcdZZ57PDDjvywAP3sffe+/C3v53C6tUljBx5Ls8//3LYOqxe\nXcJjjz2Nz+dj2LBTOPTQQRQXNz+hYJvsPmqoUyc/jz5aztixlZxySi53351FdXWia2WMaSj3oUm0\n9kBgWulG57hNcNZMOJLZs2exaNFntRlLNxXqbll/vWR4X3yxiNGjhzNmzAgWLJhP165d+fnnnwHo\n1q07kyY9zMSJ97Nq1ara12y9tRM0nGyp/QDo3LmYgoJ8/vhjXb1yg8vq3bsPGRkZZGdn07Pn9rWJ\n/ZqrXQQFAI8HBg+uZs4cLx9+mM4xx+SxbJnd8GZMMikbORoKClr1mDX5Bc5xI9CtW3fKy8t44YXn\nOOKIo2tPvj5f9SaZSoOlpaVRU+Orfbz77nswadLD/Otfk9l33/04/vjBTJ48mTVrVtfu8+mnHxPc\nqEhLc07H227bk8WLnWypJSWr2LBhAx06bEZ2djZr1qzG7/ezdOm3ta9bulTx+/2Ul5fzww/L2Xrr\nrSP/cEJo891HDXXv7uf558uYOjWTY4/N45JLKjnnnCrS2k14NCZ5lV0wmoLrr4prsr+G/vKXQcya\n9QZbbbV17VX3kCFDOf/8YWy55Va1mUqD7b77HowffxFnnXVeyGOK7Mxll13GrbfegM/nw+v10q1b\nd+666z53j7rocPrpZzFhwk28++47VFRUcPnlV5OWlsbQof/g0kvH0K1bd4qKimr3r66uZty4Maxf\n/ydnnnkuRUUdWvT+23WW1OXLPVx4YS45OX7+9a9yttqq8c8i2bIcpmJZ8S7Pykq98qysyH3++ae8\n8spL3HDDrVGXZVlSQ9huOz8zZ3o5+GAfhx+ex7PPZlhyPWNMu5aUQUFEuojIx/EoKz0dxoypZPr0\nMiZPzmLYsBxKSmyswRiT/Pr23XOTVkJLJWVQAMYDP8SzwF69apg1y4tIDYcckserr7a74RZjjInv\nQLOI7APcrqqHiIgHeBDoA5QD56rqchEZATwFjItn3QCys+HqqysZNKia0aNzeeONDG67rZwOLRu3\nMcaYlBG3loKIjAemANnuphOAbFUdCFwJTHS3DwKGA3uLyOB41S/Y3nvX8M47pRQUOMn13nvP0mQY\nY9qHeHYfLQNODHq8P/AmgKouBPq7Pw9W1ZHAQlV9MY71qyc/H+64o4KJE8sZOzaHK6/MxutNVG2M\nMSY+4jolVUS2AZ5R1YEiMgV4QVVnuc/9AGynqtHmoIj5G1i3DsaMgYULYdo0GDAg1iUaY0zMhZxR\nk8jR1PVAcIKOtGYEBIC4zDOeOBHmzSvkuONqOO20Ki69tJKsrNiVl+rzp5OlPCsr9cqzsuJTVrj8\nSImcfTQfOBpARAYASxJYl4gMHgzvvOPlm2/SOeKIPL7+OlknbxljTPMk8qw2A6gQkfnA3cDFCaxL\nxLp29TNtWhnnn1/J4MG5TJqUhc/X9OuMMSYVxLX7SFV/BAa6P/uBkfEsv7V4PDB0aDX77edj7Ngc\nZs3KZdKkcnr2tNuhjTGpzfo/WqBHDz8vvljGscdWc/TReUydmmlpMowxKc2CQgulpcHw4VW88koZ\nTz+dydChufz2m6XJMMakJgsKrWSnnWp47TUve+7p4y9/yeOllyy5njEm9VhQaEWZmTB+fCXPPFPG\nxIlZnH9+DmvXJrpWxhgTOQsKMdCnTw2zZ3vp1s1JkzF7tqXJMMakBgsKMZKbCzfdVMHkyeVceWUO\nl1yS3dpLzxpjTKuzoBBjAwf6ePfdUgAOPjifDz6wVoMxJnlZUIiDggKYOLGC224rZ8SIHK67Lpvy\n8kTXyhhjNmVBIY4OP9zH3Llefv3Vw6BBeSxebB+/MSa52Fkpzjp18vPoo+VcdFElQ4fmctddWVRV\nJbpWxhjjsKCQAB4PDB5czdtve/n443T++tc8li61X4UxJvHsTJRA3br5efbZMk49tYpjj83l4Ycz\nqWlW8nBjjGkdFhQSzOOBM8+s4vXXvfz3v5kMHpzLzz9bmgxjTGJYUEgS223n57//9XLooT4OPzyP\nxx7D0mQYY+LOgkISSU+H0aMrefHFMu67D844I5dVq6zVYIyJHwsKSWjXXWv46CPYZRcfhxySx8yZ\niVw11RjTnlhQSFJZWXDVVZVMnVrGrbdmc8EFOfz5Z6JrZYxp6ywoJLm99qrh7bdLKSryc9BB+bz7\nrqXJMMbEjgWFFJCfD7ffXsG995Zz8cU5XH55NqWlia6VMaYtsqCQQg4+2Emut2GDh7/8JZ/PP7df\nnzGmddlZJcV06AAPPljOlVdWcNppuUycmEV1daJrZYxpKywopKjjj3fSZHzwQTrHHZfH99/b1FVj\nTMtZUEhh3br5ef75Mo4/voqjj87jmWdsXWhjTMtYUEhxaWkwfHgVL75YxuTJWZx9tq0LbYxpPgsK\nbcSuu9Ywa5aXHj38HHJIPnPn2tRVY0z0LCi0ITk5cOONFdx/fzmXXJLD1VdnU1aW6FoZY1KJBYU2\n6IADfMydW8qqVR4OPzyPJUvs12yMiUzSJdURkX7AOKASuExVSxJcpZS02WbwyCPlvPBCBn//ey6j\nRlUycmQV6darZIxpRDJeQmYDI4HXgX0TXJeU5vHAkCHVvPWWl9mzMxg8OJdffrGpq8aY8OIaFERk\nHxGZ6/7sEZGHROQDEXlHRLYDUNUFQC+c1sLn8axfW7X11n5eeqmsdq2GF19MugaiMSZJhA0KIpIm\nIheKSG/38RgRWSIi00SkKNqCRGQ8MAWnJQBwApCtqgOBK4GJ7n79gU+Ao4Ex0ZZjQktPhzFjKnn2\n2TImTsxixIgc1q9PdK2MMcmmsZbCBGAQsFFE9gNuBi4GvgQmNaOsZcCJQY/3B94EUNWFwJ7u9iLg\nP8B9wPRmlGMasfvuNcye7aWw0M+hh+bzySfJ2INojEkUjz/MLbAisgToq6rVInIvUKiq57jPfaOq\nu0RbmIhsAzyjqgNFZArwgqrOcp/7AdhOVaNdut7u4W2mGTNgxAgYMwauuAIbhDamfQk5wNhY57JP\nVQOp1g7GaTkEtMbl5XqgMPiYzQgIAJSUbGiF6jStuLiwTZW1//7w1lsexo4t4I03qnnggXK6d499\njG1rn2NbLyve5VlZ8SmruLgw5PbGTu5eEekhIr2AXYDZACKyO84JvaXm44wbICIDgCWtcEwTpe7d\n/bz9Nhx4oI/DDsvj9ddtENqY9qyxM8BVwAKcPv4bVHWtiIwErgfObIWyZwCDRGS++/isVjimaYb0\ndLj44kr237+akSNzmTs3nRtvrCAvL9E1M8bEW9igoKrvikhPIE9V/3A3fwYcoKpLm1OYqv4IDHR/\n9uPcj2CSxF571fDOO6VcdlkORxyRx8MPl7Prrs3q0TPGpKjGpqSOUtXKoIAQmCW0SkSeiUvtTNwV\nFcFDD5Vz4YWVDB6cy7//nWnpuI1pRxobUzhCRF4Skc0CG0TkYJy+/42xrphJHI8HTj65mtde8/Lc\nc5mccUYua9bYndDhdOlS2OTnc+212cyYYeM1JvmFDQqqehzOmMLHInKwiPwTeBYYrarnxauCJnG2\n287Pq6962XFHH4cemsf8+TZnNZx16xp//uGHs5g8OSs+lTGmBRq9dFHVO0XkV+AdYCXQT1VXxKVm\nkSospHhj/BouxXErKXnKmuR+1bv1sAk1+QV4x19J2QWjW1axFFFTYy0p0zY0er+BiFwM3IMzIDwX\neFlEdohHxSIWx4BgIpdWupG8Oyc0vWMbURPBeLyNzZhU0NhA89vA34B9VfVhVT0NeAj4n4icE68K\nNqmgINE1MGGklbafgO3zNb2PBQWTChrrPnoPuCX4LmNVfUxEPgCeAf4d68pFZMOGpLpLsL2U9eqr\nGVx2WTbjxlVy9tlVeIJ6T4q7RJ0vMeVF0lIIp6TEQ1oadOpkUcMkXmMDzTeFSjuhqgoMiGmtTNI7\n5phqXn3Vy5NPZjJmTA7l5YmuUeo66KA8DjvM7hQ0yaFZOYxUtbK1K2JST2B2ktcLJ56Yx++/t9/B\n1ki6hsLts3p1Wrv+7ExysbzJpkXy82HKlHL+8pdqjjwyj8WL2+efVHD3UUmJneBN6mqf/8GmVaWl\nwaWXVnLzzRWcckpuoqsTV4Gr/+Cg0KtXAQsWbHpPR2OtCRuENsmiyVssReRM4C5gc3eTB/Crqt3J\nZOo55phqtt22Bg5NdE3iJzDrqOHso3XrrLVgUlMk991fCxysql/GujIm9fXuXX9uQnU1ZLTh7A6B\nFoLP5wm53ZhUE0n30QoLCKa5zjwzl9LSRNcidgIn/4ZBwLqDTKqK5BruUxF5AXgLqJ14qKrTYlYr\n02Z06uTnpJPyePLJMoqL296ZMhAMqqsb3w8sUJjUEElQ6ABsAPYN2uYHLCiYJj39jJsErlf97cG5\nllI5T1Jd91H97a0RAH7+2cPWW1skMfHVZPeRqp4FnA/cDdwHnKeqZ8e6YiZ11eRHl3oklfMkhes+\nCiXa2Ud77lnA99/bgLWJryaDgojsCSwFHgceA34SkX1iXTGTurzjr2xWYEhF4VoKraWiwoKCia9I\nBpr/BZysqnuqal/gJNxMysaEUnbBaNZ8v4KSVes3+Zr15ka6d/Nz911llKxan+iqtljdmELTJ+9V\nqzysD/OWa2o8zJ5ts7xN4kUSFArcZTgBUNUPgZzYVcm0Zf361TBvHtx/fxa33576i84E1lGIpKVQ\nUpLGaafVv7lvzpy6QHDaaZb/yCReJEFhrYgcH3ggIicAa2JXJdPW7bADvPaal7lzU/8GhnBjCp4w\nDYfff6//L3fqqZsGgg0bnCU+wWYsmfiL5L9yOPCEiPzHffwd8I/YVcm0B8XFfl56yQs9w++zZo2H\nhx7KpGNHPyNGVJGWhElZYjH7aP36uogSLrgYEytNBgVV/RbYR0TygTRVjU+Sf9Pm5efXf9xwHYZi\nnOlupWkFvDfvGvZ69oK41S1SsR5oTsZAaNq2sEFBRB5R1fNFZC7OfQmB7QCoajvKcGNipSa/oMmZ\nR/k1GzngnVv4dc2opFuIJlxQaK0rfGspmHhrrKXwsPv9hjjUw7RT3vFXknfnhCYDQyEbefrpTEaP\nTq6lPMLlPgqnJesuGBMPja289qn74wJgnaq+B2wJHAN8FYe6mXagsemrDaesPv54ZtIlmou2+yja\nE77HYxHCxFckPZZPAqeJyN7AjcB6YGosK2VMKB06+HnvvcTP5ff7N11HIZZjCjU1UFERm+Mb01Ak\nQaGnql4ODAYeVdWbga6xrZYxmzr99CqefDIz0dWga9dCHn3UqUc0aS4A/vzTwzPPRDcV98EHM9l6\n68KI9p05M4Orrsqut83WzzbRiCQoZIhIZ+BE4DUR2QKI2fJaInKoiDwuIs+LyG6xKseknsGDq5g3\nLyMplrtcssRpsQRuXoskSyo4QWHs2Oj+fZYtC/9veuON2axeXfd5PPJIJo8+Wv+mwB49CnnrrcS3\nsExqiCQo3AksBF5z11WYB9wcwzrlquow4Dbg8BiWY1LM9jsU8cefaezaq5DiLkX1vjr17E7ug/HL\nvtKwhbBqVWwCVVOzjx54IIt336074Ycbs/j1V5vbaiITSZbUp1V1e1W9WESKgBNV9bnmFCYi+7hT\nXBERj4g8JCIfiMg7IrKdW95rIpIHjMZJwmfasUgT6zWWafWPP1qzRo6GQWHSpOzwO7eS775LfAvJ\ntH2RZEk9R0Smikgx8DXwgohcFW1BIjIemAIE/ntOALJVdSBwJTDR3a8Tzj1L16nq6mjLMW1LNBlX\nQ01r/fBD2Gmnwlaf5hm4qay5A8zr18Pnn4f+96sMmnU7e3bd+MPhh+ezxx75m+y/YkUaf/7p/Oz3\nO4HjoYcyYzb4bdq2SNqUF+CctIcCrwC74WRKjdYynHGJgP2BNwHchHt7utsnAt2BCSLSnHJMGxJq\nyuotN5fxt8GVIaetNvTFF8734H731hAICs0NNhMmZHPEEZue4Jcv9zBgQF0QvPPOuhbIhg0eVqzY\n9F/2lluyOfvs3Hr1uf76nFZ/z6Z9iGgahKr+JiJHA/9S1WoRiXqgWVVniMg2QZuKgD+DHvtEJM0d\nT4hKcXFkMzNag5WV+PIuuAB23BG83ky22ab+cw2Pu3ix872mpoDiYiI2ezb89BOcc07o519+OZMB\nAzLZb7/Q5RcV5daWV1W16eszMsJliG3YKvKQk1N/30AZwe91w4YMiosLyQyanNWpU917vvzyHC67\nrGXJjdvq36OVVV8kQeErEXkV2A6YIyLPAR83q7T61gPBtU5T1WbdmlRSEp90TMXFhVZWkpT3j39k\nce21Hu6+u6Le0p4Nj7t4sfMn9v33Xrp2jbw/ZdSoPJYuTee440LVs5DycrjoInjzzVKg7orfKb+Q\nefMqqKgjFcIuAAAgAElEQVTwcfjhPkaNygHqT6UtK6sENg0M69bVP57f76eioqreviUlG4I+Q+f9\nVVf7KCnxUlWVBzgDz2vWbCQjw1+7T0s+87b699ieywoXNCLpPjob+CcwQFUrcW5mC3P9FJX5wNEA\nIjIAWNIKxzTtxMiRlbz6aibLl4fvIqmpcbqP9trLF/Vgc3qEMzjD3Z8waVI2p5+ex4MPZjJ9+qb3\nVkybFrqlcNtt9QesgzOmRiK4O+vYY/NYscK6kEx0wgYFETnf/fEq4GDgQhG5DugLXN0KZc8AKkRk\nPs76zxe3wjFNO9GxI4waVck114TvEvnpJw8dOsC229bwxx/RnRwjHaRtmPOo4R3XN9wQXZfN++83\n3XifPn3Tfb78Mp2ZM+tv/+GHNEaOrF/+BRfkMH++3bNgwmvsL9DT4HuLqeqPwED3Zz8wsrWObdqf\nESMqef758KuVLVmSzh57OOkx/vwzuj/jwE1pTWk40DxkSOxXTxs1KpdRo2Du3PrXdJ9+uunJfsGC\n+v/iL7yQSU6On/32s6lJJrTGgsJnAKp6Y5zqYkxUsrLgrrsq4LjQz3/6aToDBsCaNX42bow2KES+\n3447+li71kNkvbGt58sv65f34IOpv7ypSbzG/ooDqbMRkbvjUBdjojZgQPgr3g8/TGfffaGw0M+G\nDbELCllZUFUV/7770aNjlm3GtGONBYXgv/JDYl0RY1pD4GT+ww8efvjBwwEHQGGhs+5xNCK9/yAQ\nFCLNfZSM7rkni9LSRNfCJItI27s2hcGkhH/8I5cPP0zn8stzOPPMKjIzY9tS8PkgO9sf06DQWndj\nv/SS01scyKfk88EZZ+QwYUJ2yPEI0z41FhT8YX42Jmn17+/jmmuy6dmzhnHjnHwR0QSFsjLo0qUw\n4qDg9we6j5pb4/h55JH6Yw6lpfDmm4lPRW6SS2MDzXuISKDD1hP8M+BXVbu0MEnn4osrufji+kt2\nRtN9FJilFOkaBNXVTlCA2C20E8hn1PLj1H8cSI0BMH58Dt9/n8aqVfG7idEkp7BBQVUt165pEwoK\nIm8pBG4WC3fTWMNuIp/PQ0aGn8zM2LUWWqv7KPg4H3+cxrx5df/+339f9++umkbHjn6Ki62DoD2y\nE79p8woLI5+Sut7Nr1ddHXr/hi2I6monOV5GRvIHhUWLnMb9E09k8de/bpqML+CAA/I5//yW5Uky\nqcuCgmnziooibyl4vY3vV15e//maGicgeL0e9twzzItaqLXTfkdi/vwMNm6aidy0AxYUTJtXUOCM\nKURycvV6G3++oqL+4+rqujxJS5c2r37J6ocf7PTQHjWZaEVEPMAI4C/u/nOBSc3NaGpMLBV3Kdpk\nW3egGqBr06//h/sVUNOzAO/4Kym7YDSwafeRzxd58rzmimdLoUuXusyZDz2UxUUXVdKhg58uXWDV\nqvjVwyROJJcC/wSOAKYBj+HcyDYxlpUyJhqRrszWHA2X+Swrq999FI+gkCjTp2fy6KOZteMspn2I\nJCgcDpykqv9V1VeAv+EECWOSQjRLdjZH8DKfDbuPArOPYikRYwqm/YpkkZ0MnBVCKoIeW4pFkzTK\nLhhd273TUGCxkUGD8vjnP8vp27fxXs9Jk7K4+WZnTQN/iBv5Gw40B2YfxVKyBIXvvvOw/fZJUhkT\nM5H8OT8FzBWR0SIyGngHeDq21TKmdUV6V3NZWePPhxpTyMhw7oWIlRdfTNxdxy+8kFmbFmPffWPX\nGjPJI5KgcAdwE9AD2Ba4VVVvi2WljGltoYLCypUexo2rv9JZU/czNGwpBMYU8vPb5hX0hg0eSkst\n9Vl7Ekn30ceq2g94M9aVMSZWQqW6ePfddJ54Iou7764bKCgp8bD55n7WrQt9Itx0TMEJCjlt+F6v\nBQvqRtJXrPDQvbufGTMy2GmnGnr1skmIbU0kQWGliBwAfKSqFU3ubUwS6tDB7y6EU8cT4ry/apWH\nHj1qWLcu9JSiTe9T8JCeDpmZbbOlAHDttXUR79hj89hjDx8zZ2ZywAHVvPhiE/1tJuVEEhT2At4D\nEBE/lhDPpKDddvPxzjsZQF0uilBBoaTEQ48em57gA/c/jHG/at3cqtVMfj+7XwDvA12ad5ia/Pr3\nf5jk0eSYgqoWq2qamyAvw/3ZAoJJKXvv7WPhwvR6M3kC6bGDs5uWlHgoKnJ22ogNrMZKw/s/TPJo\nMiiIyMEiMt99uJOILBeRgTGulzGtqmdPP1VV8Msvdc2DwABqILVFVZWTOjsvzwkKt+dcH9P7H9q7\n4Ps/TPKIpPtoInAGgKqqiBwNPIHTrWRMSvB4nNbCRx+ls/XWTv7ruqDgobDQGXPYfHM/vXrV0LVr\nDfduHMfY74cDTvqHDz7YyAsvZDJpUlbtmswXX1xBdjbMnp3RrlcvW7RoI927RzauEioViUkekUxJ\nzVHVLwMPVPX/cG5mMyalBIJCQKCFEFifeMMGZ5bSmWdW8cEHpZusvvbTT2k8/3wmHTrUnfwCCfGa\nGmjef/8UXsTZtCuRBIX/E5E7RKS3iPQSkVuAb2NdMWNa2wEH+HjrrYzaGUSBlkLg+8aNHgoK/Hg8\nkJm56Upqr76awS+/pNGpU10A8Pk8pKf7yWiizX3ggW07CcCPP1pG1bYikt/kOUAB8AxOt1EBcF4s\nK2VMLOy2Ww29e9dw++3ODWuB9QIaBgVwrv4DQSEwOB2YrbTllsFBwdm3a9fGWwrBSfNuuCHCtT5T\nyPHH5yVNOg7TMk2OKajqOmBUHOpiTMzdd18Zf/1rPhkZfn75xbkmCnQjbdzorL0AgaDgRIFAcFi7\n1sPFF1dQVOR3p7fWpbm4++5y5s7NZO3a0OUGJ80raKNj1xUVbfsmvvYibEtBRD5zv9eIiC/oq0ZE\n2nZb2LRZHTvCzJlePv44nfffT2effapDthQCSe5qauqCwrp1znTV4K6iQEK8vDzqBYRvv61/+3Rw\nS6GtptqeOTOSeSsm2YX9LbqpLXDvT4g7ETkEOFVVravKtKrOnf3MmFFGZSXcdls2333n/Ilv3Oip\nl8MoPd2Pz1c/KHToUD8pXqClEOzee8vYbLP62+oHhbbZzzJ2bA5Dhtg001QXNiiIyBmNvVBVp7V+\ndWrL3h7oB2Q3ta8xzeHxQHY2DBjg44EHMrnoovrdR1A3rhCYhbRmjdNSqKysu9cheJGd776D7beH\nv/9905lGsU6vnQyqqy1xXlvQWHtvKrAKmANUQr3k8n6cldiiJiL7ALer6iHuUp8PAn2AcuBcVV2u\nqt8Bd4tIzAKPMQCDBlVzzTXZfPJJWr3uI6gLCtXuOX7dOud+huBkeZWVHrKynNdstx2sWLEh5Eyk\n4JQaodJrGJMsGrt+6Yez/ObOOEHgGeAcVT1LVc9uTmEiMh6YQl0L4AQgW1UHAley6TKf9u9jYioj\nA0aNquSee7IpLXVO+gHp6YExBefPsKrKQ4cO9ccUKishK6v+8ULxeOCuu5x+p/bQajCpK+yfp6ou\nUtUrVbU/8BAwCPhIRCaLyMHNLG8ZcGLQ4/1xU3Kr6kKgf4P922bnq0kqp55axaJFaSxZkrZJ91F1\ndf37FYqK/PXGBBoGhXDS0qjNqVRU5KdzZ0s5bZJTRNMFVPUT4BM3hfbtwOkQfbYwVZ0hItsEbSoC\n/gx6XC0iaapa4+7f6LhGQHFxYbRVaTYrK/XKi6SsY46Bxx5LY+zYDIqLnXmVGRmw+eaFVFbW7dez\nZwHLltU99ngyKS7OpLi48bKKinIocrM7dOmSR0lJ2+xGivb3Gm7/ZPv7aE9lNRoU3D7/A4EhwFHA\nImASMLNZpW1qPRBc89qAEI2Skg1N79QKAuv9WlmpU16kZfXvn8Fjj+Xi93spKXGaBh5PPr//7qWq\nCgLXQFVVGygtzQByAdi4sRqvt5KSEl+Isur+tDduLMfj8QO5rF8fKCO+gTgeIvmsi5vYPxn/Ptpi\nWeGCRmOzjx4CjgQ+B54HLlNVb/OrGdJ84BjgBREZACxp5eMbE5E993QCQegxhbr9cnLqjxtUVYXv\nPnKmtHpqfw60DNpiC8G0HY0NeQ3HuTzqC0wAvnTTZi8XkeWtVP4MoMJNzX03cHErHdeYqPTs6Wff\nfavZYYe6hmpg9lHDHEjBA8VVVZ6wyfAWLSqt/dnn89QGg2gGmocMqWp6J2NaUWPdRz1jUaCq/ggM\ndH/2AyNjUY4x0fB44JVX6i8tWRcUPJtsD6ioCN9SCExVBWdAuqmgMGlSGaNHO91SDz9cRkWFk5dp\n+nRLSmzip7E7mn+MZ0WMSTZpaaFbCsGzj6qqnIyqoQR3E1VV0Wj30apVTv/v4sWVPPpoFiee6Nwc\n8e9/W0Aw8WUzpo0JIzCmEDz7KLA9oLLSQ3Z26O6j4BZBcEuhsTGFhs9Z5lETbxYUjAkjMFDcWFCI\ntKVQXe0hLS2QbC/yM32qBQVva09FMXFnQcGYMDIynJvXArmOdt3V6UcKDgLl5eHHFIKDwnHHVdU+\njuRmt1TVv3++O4XXpCoLCsaEkZbmdB9VVMBWW9UwbZozEB2Yturx+KmoCD/7qG5Rnhq2265uSmq4\nlkVbsXBhXVPK74eVK20ObiqxoGBMGIHZR2VlHnr39tGjh3Py79mzhn32qSYjI7KWQuC+hkhaCrvt\nVn9UO9XuaTj//Cquuiqb55/P4LDD8pg6NZPddy/g9dfrlkE1yc2CgjFhBILC2rUeOnasaw0UFcHM\nmWVkZgbuUwj9+kDK7Zdecjra61oK4QcKTjmlunYmUvBrUsWoUZVcfXUF116bw7JlaVx+uZMy5Mwz\nc5k1yxbhSQUWFIwJIzAl9ddfPXTpsumJvFMnZ1u4K/+8PLjkkgq23jrQ3USj+7cFmZlwxBE+nnjC\nywMP1F+LevXqFItw7ZQFBWPCSE/3U1PjYcGCdPbZZ9MVaANZT8NdzaelwRVX1E1dystzvufkRD6l\nKNVaCgF7713DX/9azauv1t3Vfe+9WZvc82GSjwUFY8JIT4cNG2DRotBBIVTroTGBINKhQ+SvSdWg\nELD33jUsWrSR7bevoVMnP2PH5iS6SqYJFhSMCSMjA/73vwz69PHVW2ch+PloFBc7QSH4Pof2oHt3\nPwsWlDJkSBXPP19/AObHH1M86rVBFhSMCSM7G959N52BA0P3eUR7FV9c7K83iByJVG8pBBs5soof\nf6z//vfaq4AVK9rQm2wDLCgYE0Zenp9vvkmnf//EdYS3paDg8UBu7qbbr702m40b4fbbs/jllzb0\nhlOUzREzJozACWy77UKv+1QThxU121JQCGfmzEy++y6Nr79OZ86cDP73P1i/3vn8KyshPz/RNWxf\nrKVgTBi5uc4YQNeuoQeU4xEUGpowobzpnVLIsmUbOOmkKr7+2hlo+eKLdIqKYIcdCrnssmz69o16\n1V/TQhYUjAkjkAgvMJW0oUS0FM45p20lFioqgjPOqHtP22xTU5td9qmnsvjjDw9du1pgiCcLCsaE\n8eefjffdJKKl0Bb16ePjpJOqeO+9Uj7+uBSfDw480FlPQsSH3+9h7VpQTePppzMoKfGweLGdumLF\nxhSMCWP9+sQHhS5d2n7kyc+HyZPrd4vdfXc5116bzbRp5Wy7bQE771xIZqafqioPJ59cxcqVHqZP\nLwtzRNMSFm6NCeO446o5+eTw3TXXX1/B/fc3/8QUvFxnOIcfHt3Mp4ULNza3Okllm238TJvmBIqZ\nM70MGVLFHns4AfK55zJ5770MJk9u4+lmE8RaCsaEMWxYFcOGhQ8KffrU0KdP86/ke/asQTWdl18O\nvzJNU7OPhg+v5OefPbz+eqZ7zBRblScCu+1Ww/33l1NaCh98kM7ppzuDPNddl8Ovv6Zx2GHV7LWX\nL+zYT3vn98P06RlMn57J5pv7ueSSSnbeOfzfrbUUjEmQQPdThw7NP5F361YT9Z3VqcjjgYICOOww\nHzNmeNlxRx/DhlWSn+/nn//MplevAoYPz2Hu3HTLr9TAyy9ncO+9WfzjH1X07l3D4MG5HHhg+Ahq\nQcGYBAl0h0R6L0Lv3nVnux9/rNve1JKdTz5Z1xK5886mp7SefXZlk/skSloa7Lefj/nzvdx5ZwVX\nXFHJa695+eyzjey9t49bb82mf/98br89i88+S6O8bc3gjZrXC7fems1dd1Vw3HHVjBlTyRdflPLc\nc+G7PS0oGJMgkyY5Z6xIgsLZZ1fyzjvNWwA52nGJ/fdPvUvtzTd3puvOmePlySfLKC31MG5cDiIF\nHHZYHuPGZTNnTnqbnTFWWQlXXZXNbrvlc8IJuYwYAS+8kMGNN2bTt6+vXqqW9HTo1i38lUQ7aHga\nk5wC8/EjCQo9etQ/mzXVOhg+vJIBA3ycddameSX22MPHokXhs/J17OjnmWe8DB0a+0764i5Fobe3\n4JgHu1+1vnC/nghThxaUFYma/AK846+E66+KWRk33ZTNd9+l8fLLXn79NY1ff83gpZcy+e03T6Ot\nglAsKBiTYE0FhXvuKeeoo8IPeIcKEEOGVLH99qEvi/fZZ9OgkJ7ux+dzKjJggI93341dKtea/ALS\nStvGLKlIpJVuJO/OCTELCr/+6mH69Ez+979Siov9bL+9j+JiGDq0eTPjrPvImARrKiicdloVHTvW\n37b55nWvbarVEE1Zke7TEt7xV1KT377uUo5lEJw+PZMTTqiqTc3eUtZSMCbBoj0Jr1q1gaKiwlYr\n/4wzKunc2c/EidlN1meXXXx8803LWhFlF4ym7ILRYZ8vLi6kpCS6FOPNVVxcyKpVG/j66zTmzk1n\n7twMPv00nT59fOy3n4+jjqpm111rmr0GRrjusdb06qsZ3HhjRasdL+mCgojsCwwH/MBYVV2f4CoZ\nE1MeT8uu8K69toL16z28/37dv3O41kOoE/5ddzknlEBQCLcfQL9+Ptav9/Drr22nk8HjgV69aujV\nq4YLL6zC64X589OZNy+D887LZf16GDTIx2mnVbLXXjWt2pJavx6++iqdb75JY8UKD127+tlySz/b\nblvDzjvX5YEK54cfPKxY4WHAgNabHJB0QQE43/3aGzgFeCSx1TEmtlp6n8F22/l57LEyXnut8QN1\n6ODnoIOq+fbbrGaX5fHArrvWbBIUdtnFx3HHVTf7uMkkL88JAoMG+bj55go+/zyNOXMyGDMml9JS\n2HxzP2lpzuew224+Bgzw0bdvBNOaPJ5NBrWLge2B45pZ12KgBKBb6OcaFebKIa5BQUT2AW5X1UNE\nxAM8CPQByoFzVXU5kKaqlSKyEjg0nvUzJt7efruUbbdteV9wUREMHdr4SfmRR8ro0cPPZps1XV5j\nV8OFhc7rDzmkmj/+8PD55+nMnett8qo2VfXtW0PfvpVcemklP/3kwev1UFkJX32VxpIl6fz731l0\n61bDgQf62HbbGrbYwk9+vp/KSg9H5hSQWZ5ag+pxCwoiMh74BxD4hE4AslV1oBssJrrbvCKShRP7\nVsarfsYkwm67tWzifKgTcefONWy11aYn/sCJ/uijq7njjmzy8vx4vaHP/o0FhTvvLOellzLZbDN/\nbSbZthoQgnk8Tk4mp2cbN8VJNTffXMEbb2Tw5ZdpzJ6dwapVTuDIyvLzQ9frOPeXm8j1pU5giGdL\nYRlwInWzhfcH3gRQ1YUisqe7fQrwsFu34XGsnzEp5YUXvCGXCv3661LAuZs1lMZO+OnpzgkvOzv8\nPoWFsNdePo44oppHHml+V1RbkZEBxx5bzbHHhnp2BBsZwUZabwB91SoPkyZl8eKLGYwdW8nw4ZtO\nV46krHDdSx5/NPPZWkhEtgGecVsHU4AXVHWW+9wPwHaqGu2lU9vLAGZMK/B6nbTUfr8TCGbPhsMO\ng6++gt69nb5zr7eua9njca74fT5n26JF0K+f89yRR8Kbb8K558KUKXVl7LMPfPRRdNNiTdIIeXmQ\nyIHm9UDwvLq0ZgQEgLhOX7OyUqu89lyW01II7FfIH394KSnxsXZtGpCPcz3lCTpOIeCnpMTp6thq\nq8A2eOMNmDHDy84711BSUhcBevbM4ZNPMmpfE6/3ZmW1vKzi4tDTmhPZEzgfOBpARAYASxJYF2Pa\nvM6dnZN5uKv62bNLeeut+n1Oge4kcHIiBY4RMHFiOd99lzr95aZpiWwpzAAGich89/FZCayLMW3a\nzz9vaHScAAi5NsSKFRvp2jX8jXKZmc6XaTviGhRU9UdgoPuzHxgZz/KNaU+CB5RDBYRIU14sX+50\nP5n2IRlvXjPGxMF995WHnaEUrKB9pSlq9ywoGNNG5eTAtGnhz/pt5Q5k07rawS0nxrRPHg8ceWTq\nLZhjEsuCgjHtjN1TYBpjQcEYY0wtCwrGGGNqWVAwpp3p3r2Gzp3b6Ar2psUsKBjTzmy2WV3SPGMa\nsqBgjDGmlgUFY4wxtSwoGGOMqWVBwRhjTC0LCsYYY2pZUDDGGFPLgoIxxphaFhSMMcbUsqBgjDGm\nlgUFY4wxtSwoGGOMqWVBwRhjTC0LCsYYY2pZUDDGGFPLgoIxxphaFhSMMcbUsqBgjDGmlgUFY4wx\ntSwoGGOMqZWUQUFEDhGRKYmuhzHGtDdJFxREZHugH5Cd6LoYY0x7kxGPQkRkH+B2VT1ERDzAg0Af\noBw4V1WXB/ZV1e+Au0VkWjzqZowxpk7MWwoiMh6YQt2V/wlAtqoOBK4EJrr73SQiT4vIZu5+nljX\nzRhjTH3xaCksA04EnnAf7w+8CaCqC0Wkv/vzdQ1e549D3YwxxgTx+P2xP/eKyDbAM6o60B1AfkFV\nZ7nP/QBsp6o1Ma+IMcaYRiVioHk9UBhcBwsIxhiTHBIRFOYDRwOIyABgSQLqYIwxJoS4zD5qYAYw\nSETmu4/PSkAdjDHGhBCXMQVjjDGpIeluXjPGGJM4FhSMMcbUsqBgjDGmlgUFY4wxtRIx+yimROQQ\n4FRVPS/U41iUIyL7AsNx7sIeq6rrW7OsoDJPBo4BVgPXqGppLMpxy+qPMzOsCLhLVRfHsKyxwB7A\njsCTqjo5hmXtAowFfMADqvp1DMvqA/wLWA5MVdX3YlVWUJldgNdUda8Yl9MPGAdUApepakkMyzoU\nGAbkAjerasynscfqvNGgjLicN4LKi+g9tamWQsMMq7HKuBriuOe7X/8GTmnNsho4Fuef4wn3eyzt\nCewCbAn8HMuCVPU+nM/vy1gGBNdI4Fecv/0fYlzW3sBvQDXwVYzLChhP7N8XOH/7I4HXgX1jXFau\nqg4DbgMOj3FZ8czUHK/zRlTvKelbCi3JsBpNxtUWZnJNV9VKEVkJHBqr9wfcDzwK/IRzpRuVKMv6\nDOeP9VCc1klUWWujLAtgKPBStO+pGWVtA1yHE/SGAQ/FsKz3gWeBrjgn68tj+d5EZATwFM4VfNSi\n/B9Y4F7pjgOGxLis10QkDxhNMz7DZpTX4kzNEZaX1tzzRrRlRfOekrql0IoZVhvNuNqCcgJKRSQL\n6AasjNX7A7YAzsU52fwUaTnNKOsZ4GacZu1qoGMMy3paRDYHDlDVt6Ipp5nvqwTwAmuJMhNvM35f\newDpwB/u91i/t7/hdEfsLSKDY/neRGQv4BOc7ARjYlxWR+A+4DpVXR1NWc0sr0WZmiMtD/A257zR\nzLICmnxPSR0UqMuwGlAvwypQm2FVVU9V1T/c/RrekdfUHXrNLSdgCvAwTlPwyQjeV7PKBf4EpgKn\nAU9HUU60ZQ3Fudp4AufqLJr3FG1Zp6rqOppx0mxGWUNxWgZTgAuAZ2JY1qnAj8Ak4A6csYVoRfXe\nVPUwVR0JLFTVF2NY1qk4+cv+g3Oynh7jsu4BugMTROSkKMuKurxGziOtVd6e7vbmnjeiKat/g/2b\nfE9J3X2kqjPcDKsBRTgnxoBqEdkkoZ6qntHY49YuR1U/oxnpOqItV1XnAnOjLaeZZf0X+G88ynJf\nc3Y8ylLVT2nmeEwzyloALGhOWc0pL+h1jf69t0ZZqvoO8E605TSzrBaNn8Xzc4ywPJ9bXrPOG1GW\n1fCzbPI9JXtLoaF4ZVhNVCbXeJZrZaVWWfEur62W1dbLa3FZqRYU4pVhNVGZXONZrpWVWmXFu7y2\nWlZbL6/FZSV191EI8cqwmqhMrvEs18pKrbLiXV5bLautl9fisixLqjHGmFqp1n1kjDEmhiwoGGOM\nqWVBwRhjTC0LCsYYY2pZUDDGGFPLgoIxxphaFhSMMcbUSrWb14yJiJsP5lucdQwCmSH9wBRVjSpd\ndivXaxhO5sqZwPXA98DDbiK7wD574KQuP1NVQ6Y6FpFzgL+p6lENtv8HWIRz09KuwI6qGlVGXdO+\nWVAwbdmvqtov0ZUI4RVVPdsNXGuAI0XEo6qBO0lPBlY1cYzngLtEpHMgnbSI5OKsfXGJqv5LRBqu\nWWFMkywomHZJRFYAL+CkGq4C/q6qP4qzDOk9OEs/rgaGu9vn4qzBsCvOSXtn4EZgI86VeQZOqvGb\nVHV/t4xhwN6qOqqRqmwEPgcOBALLdQ4C5gTV9Ui3rAyclsV5qrpORF526/KAu+sJwNtBqZ+btR6A\nad9sTMG0ZVuKyGfu1+fu917uc1sAs92WxPvAhSKSibOy3VBV7Y/TzfNo0PEWq+ouwAqcwHGIOmsh\ndwT8bjrpLUSkp7v/GTjrXzTledzVy9ygtBhn7WNEpDMwAThcVfcE3gL+6b7uMZy1NQLOwFktz5hm\ns5aCacsa6z7yA7Pcn78EDgB2ArYH/usuawhQEPSahe73A4APVDWwWtbjOFfp4CxberqITAW6qOrH\nTdTRj7Nuxa3u45NxuoaGuo/3AXoAc906peF0OaGq80Skk9sNVY4zfjAHY1rAgoJpt1S10v3Rj9PV\nkg58Fwgk7km4a9BLytzvPsKvFDcVZ+WrCiJc11pVvSKySEQOAA7BWYc4EBTSgfdV9QS3TlnUz5f/\nOE5roQyn+8qYFrHuI9OWNdanHuq5/wM6isj+7uNzCb3s6QdAfxHp6gaOU3CXOXRn+vwCjCC6k/R0\n4MQ6a2YAAAEPSURBVHbgkwaLoiwE9hWRHd3H1wN3Bj0/DTgJZ33mx6Ioz5iQrKVg2rJuIvJZg23z\nVPUiQqxVq6qVIvJ34D4RycZZxSqwfKE/aL/VIjIWZzC4DPiBulYEwLPASUHdS5GYiTN+cXVwear6\nu4icDTwvImk4Aef0oLr8IiIlgMemnprWYOspGBMlEekIjFHVG9zH9wHfquoDIpKBc/X+vKq+HOK1\nw4CDVTXmCzeJyPfAQRYsTDSs+8iYKKnqWmAzEflKRBbj9PFPcZ/+FagOFRCCHOsORMeEiOSIyOc4\nM6yMiYq1FIwxxtSyloIxxphaFhSMMcbUsqBgjDGmlgUFY4wxtSwoGGOMqWVBwRhjTK3/BwACDvZq\nYwHYAAAAAElFTkSuQmCC\n",
+ "image/png": "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\nRK5CYII=\n",
"text/plain": [
- ""
+ ""
]
},
"metadata": {},
@@ -1973,7 +1796,7 @@
],
"source": [
"# Create a loglog plot of the U-235 continuous-energy fission cross section \n",
- "plt.loglog(fission.xs.x, fission.xs.y, color='b', linewidth=1)\n",
+ "plt.loglog(fission.xs['294K'].x, fission.xs['294K'].y, color='b', linewidth=1)\n",
"\n",
"# Extract energy group bounds and MGXS values to plot\n",
"nufission = xs_library[fuel_cell.id]['fission']\n",
@@ -1983,7 +1806,7 @@
"y = np.squeeze(y)\n",
"\n",
"# Fix low energy bound to the value defined by the ACE library\n",
- "x[0] = fission.xs.x[0]\n",
+ "x[0] = fission.xs['294K'].x[0]\n",
"\n",
"# Extend the mgxs values array for matplotlib's step plot\n",
"y = np.insert(y, 0, y[0])\n",
@@ -2046,9 +1869,9 @@
"outputs": [
{
"data": {
- "image/png": "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\nZlZT/x9xJfW8VvykSgAAAABJRU5ErkJggg==\n",
+ "image/png": "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\nfn35+EIOpHUAAAAASUVORK5CYII=\n",
"text/plain": [
- ""
+ ""
]
},
"metadata": {},
@@ -2088,21 +1911,21 @@
],
"metadata": {
"kernelspec": {
- "display_name": "Python 2",
+ "display_name": "Python 3",
"language": "python",
- "name": "python2"
+ "name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
- "version": 2
+ "version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
- "pygments_lexer": "ipython2",
- "version": "2.7.12"
+ "pygments_lexer": "ipython3",
+ "version": "3.5.2"
}
},
"nbformat": 4,
diff --git a/docs/source/pythonapi/examples/mgxs-part-iii.ipynb b/docs/source/pythonapi/examples/mgxs-part-iii.ipynb
index af9f2878fe..0c8b843be1 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": [
- "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/__init__.py:1357: UserWarning: This call to matplotlib.use() has no effect\n",
+ "/home/romano/miniconda3/envs/default/lib/python3.5/site-packages/matplotlib/__init__.py:1350: 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",
@@ -135,7 +135,6 @@
"source": [
"# Instantiate a Materials object\n",
"materials_file = openmc.Materials((fuel, water, zircaloy))\n",
- "materials_file.default_xs = '71c'\n",
"\n",
"# Export to \"materials.xml\"\n",
"materials_file.export_to_xml()"
@@ -458,7 +457,7 @@
"outputs": [
{
"data": {
- "image/png": "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\n",
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAPoAAAD6AgMAAAD1grKuAAAABGdBTUEAALGPC/xhBQAAACBjSFJN\nAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAADFBMVEX///9yEhLpgJFNv8Tq\nQYT7AAAAAWJLR0QAiAUdSAAAAAd0SU1FB+AIHw8sAND3kbkAAAWFSURBVGje7Zs7cttADIZ9CSvX\ncrP0iCxUqbBc8Ag6xR6BhV2EvYvwFD4CCx1ABT1jMdgndpegRQnOrCbjpPlGESISC4A/gd27e8H5\n83CX3b4+iKJrRHkS4vkghMPBonRYWGwtfgD2YN+dRDUOoh6lACw0Noi9w2fESuEoAR/uVuMolX03\n9oXGT7F3eFL2iEfhUX1f4cPdL/ishs+68ai+udE4xPhexbjX2FfjGNoPj/DPNX4Tsd+EODr8FvsV\ndf1Hd9P2VvCi4+s/aXvrf+upAD+1/9GV1mkOH5X9vV6THtfvACslcaUCbESL61drBPtdI8SrFMWr\nELsXCkuFDYW75gbiP7d9Cf7bAYI/aCwUShrBvh30+lWQkzVgZ/HD4OixNCgcQpJ3BxU/Ln91elKo\nM5VEE38QtJ+Yv6cQ9xjKNYayyl8TypP8DfJnQ2H/b/N3ye9P83cT33SQv/sQh9gV7zZ/0dNj5HQa\nC5vVzv9+/WFN2w8KVaZ2BwL1+pv4g0x1QRfjq0dB4Q3kT277oP6VNL6gKxNU9a8zK+WLbi/Wwpdi\nhbboKqyxFOulHMj6v4W/AXbmUeAxrv9J/CqEBXaRKsXaodD4nsYvkT/G6H1D4SR/iPy1Roj9JsQ5\ne18/7EUHv1+Fvx/Xj5V9Ugb5K8TW4TZEEdcvoz/up0VTe9qsVIppKVX6a7D6y9ZvwEKjrtQxPtv6\nfXII9vCxKOGaIeAIfEF8IvAG8ie3vRK9rRQl+PPpSctbhfpTUCpviH+kxsZgpT91+snoX1l49KK3\niUQvICRy5aUw6l8leoVwoo3Uv1rKreF/UFLY6d9QP4L9Wf2r7EP9GOSfcsjZ56f60kz+XmVPXv+R\nuP49ff0T/53Rv6n/7m2lvXT9Wqd/VUz8hvh5M/ED6ILmt4mfHYZSaePnTWpsf/SvqV9O6dLYYClL\nEetnoH/LBLFoBvrX189uTv8++kot5vTvQD4/9jP690g9P/4z/bvo/XVG/xYoZZx+8fr3MxAtsf7t\nUOkG2JqsTtCIpgCt/qX1226KqZS7gfzJbe+c9jLrtIZ8lXD+s4umlW6AKIVrlML2/cXjgPFjlJqI\nRC+Fj0bVJe+vSh56pSdR6YkQ1ygF10Wqf0FeLta/iKn9Mv1L24ti2e+7W4n1b3T/W+L+t9H9T/Sv\nVboUmqJJon1/hZq8LnzRDlDrX1u0xRT1+6vEpomMmyYkqi95vIH8yW1PN+122KkLcNLKi/WTF01z\n/cNASrWE/l3ev6T17zX909z9X27/euK/Rf3zWP+Waf9eEv37KkWJ+rfDl6ZglNDa+cEBhwYDvkoN\nP/rX69814NaI3imq0l7OYDy/qSdDGwr7r+Y3VbzoKZr6XX2lfxfOb87qXzr+b1j/Xlp/nP6dn98M\ncdH7cn7zjPObKsYWS3Eb9w8n85smHtqQuPuZ30T2dlIT6F9xFl+n8xslegL9a4c2KRr9W4rp/GYq\numiM9Nec/j2v/yj9u1h//hv9e93vc++f63/u+rPjL3f+5Lbn1j9m/eXWf+7zh/v8+2b9e/Hzn6s/\nuPqHrb8g71n6L3f+5Lbnvn8w33+4718/+5d47//c/gO7/5E7/nPbc/tv3P4fs//I7X9y+6/fqH+v\n6j9z+9/c/ju3/8+eP+TOn9z23PkXc/7Gnf9x5483q38Xzn+582fu/Js9fy8kb/6fO39y23P3n3S8\n/S/c/Tfc/T83uX/pgv1XE/9duP+Lu/+Mvf8td/znti8kb/8ld/9nx9t/Sjw/Ltr/yt1/+337f6/b\nf0zoB3nJ/ucVc/81d/83e/957vzJbc89/8A8f8E9/5HE78XnT/4H/cs5f8Q9/8Q9f8U+/5U7f3Lb\nc88fdrzzjyvm+cuf/Uu887/c88fs88954/8vO4SjPC+2QRIAAAAldEVYdGRhdGU6Y3JlYXRlADIw\nMTYtMDgtMzFUMTA6NDQ6MDAtMDU6MDA5YfN+AAAAJXRFWHRkYXRlOm1vZGlmeQAyMDE2LTA4LTMx\nVDEwOjQ0OjAwLTA1OjAwSDxLwgAAAABJRU5ErkJggg==\n",
"text/plain": [
""
]
@@ -716,24 +715,37 @@
"output_type": "stream",
"text": [
"\n",
- " .d88888b. 888b d888 .d8888b.\n",
- " d88P\" \"Y88b 8888b d8888 d88P Y88b\n",
- " 888 888 88888b.d88888 888 888\n",
- " 888 888 88888b. .d88b. 88888b. 888Y88888P888 888 \n",
- " 888 888 888 \"88b d8P Y8b 888 \"88b 888 Y888P 888 888 \n",
- " 888 888 888 888 88888888 888 888 888 Y8P 888 888 888\n",
- " Y88b. .d88P 888 d88P Y8b. 888 888 888 \" 888 Y88b d88P\n",
- " \"Y88888P\" 88888P\" \"Y8888 888 888 888 888 \"Y8888P\"\n",
- "__________________888______________________________________________________\n",
- " 888\n",
- " 888\n",
+ " %%%%%%%%%%%%%%%\n",
+ " %%%%%%%%%%%%%%%%%%%%%%%%\n",
+ " %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",
+ " %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",
+ " %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",
+ " %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",
+ " %%%%%%%%%%%%%%%%%%%%%%%%\n",
+ " %%%%%%%%%%%%%%%%%%%%%%%%\n",
+ " ############### %%%%%%%%%%%%%%%%%%%%%%%%\n",
+ " ################## %%%%%%%%%%%%%%%%%%%%%%%\n",
+ " ################### %%%%%%%%%%%%%%%%%%%%%%%\n",
+ " #################### %%%%%%%%%%%%%%%%%%%%%%\n",
+ " ##################### %%%%%%%%%%%%%%%%%%%%%\n",
+ " ###################### %%%%%%%%%%%%%%%%%%%%\n",
+ " ####################### %%%%%%%%%%%%%%%%%%\n",
+ " ####################### %%%%%%%%%%%%%%%%%\n",
+ " ###################### %%%%%%%%%%%%%%%%%\n",
+ " #################### %%%%%%%%%%%%%%%%%\n",
+ " ################# %%%%%%%%%%%%%%%%%\n",
+ " ############### %%%%%%%%%%%%%%%%\n",
+ " ############ %%%%%%%%%%%%%%%\n",
+ " ######## %%%%%%%%%%%%%%\n",
+ " %%%%%%%%%%%\n",
"\n",
- " Copyright: 2011-2016 Massachusetts Institute of Technology\n",
- " License: http://openmc.readthedocs.io/en/latest/license.html\n",
- " Version: 0.8.0\n",
- " Git SHA1: be7e6e035d22944a8c80ca32f99935b6822854c9\n",
- " Date/Time: 2016-08-10 18:33:28\n",
- " MPI Processes: 1\n",
+ " | The OpenMC Monte Carlo Code\n",
+ " Copyright | 2011-2016 Massachusetts Institute of Technology\n",
+ " License | http://openmc.readthedocs.io/en/latest/license.html\n",
+ " Version | 0.8.0\n",
+ " Git SHA1 | fbebf7bf709fe2fe1813af95bff9b29c0d59312c\n",
+ " Date/Time | 2016-08-31 10:44:00\n",
+ " OpenMP Threads | 4\n",
"\n",
" ===========================================================================\n",
" ========================> INITIALIZATION <=========================\n",
@@ -743,13 +755,13 @@
" Reading geometry XML file...\n",
" Reading cross sections XML file...\n",
" Reading materials XML file...\n",
- " Reading U235.71c from /Users/sam/git/openmc-sam/data/nndc_hdf5/U235_71c.h5\n",
- " Reading U238.71c from /Users/sam/git/openmc-sam/data/nndc_hdf5/U238_71c.h5\n",
- " Reading O16.71c from /Users/sam/git/openmc-sam/data/nndc_hdf5/O16_71c.h5\n",
- " Reading H1.71c from /Users/sam/git/openmc-sam/data/nndc_hdf5/H1_71c.h5\n",
- " Reading B10.71c from /Users/sam/git/openmc-sam/data/nndc_hdf5/B10_71c.h5\n",
- " Reading Zr90.71c from /Users/sam/git/openmc-sam/data/nndc_hdf5/Zr90_71c.h5\n",
- " Maximum neutron transport energy: 20.0000 MeV for U235.71c\n",
+ " Reading U235 from /home/romano/openmc/data/nndc_hdf5/U235.h5\n",
+ " Reading U238 from /home/romano/openmc/data/nndc_hdf5/U238.h5\n",
+ " Reading O16 from /home/romano/openmc/data/nndc_hdf5/O16.h5\n",
+ " Reading H1 from /home/romano/openmc/data/nndc_hdf5/H1.h5\n",
+ " Reading B10 from /home/romano/openmc/data/nndc_hdf5/B10.h5\n",
+ " Reading Zr90 from /home/romano/openmc/data/nndc_hdf5/Zr90.h5\n",
+ " Maximum neutron transport energy: 20.0000 MeV for U235\n",
" Reading tallies XML file...\n",
" Building neighboring cells lists for each surface...\n",
" Initializing source particles...\n",
@@ -784,32 +796,32 @@
" 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.97414 1.02442 +/- 0.00666\n",
- " 26/1 1.04709 1.02584 +/- 0.00639\n",
- " 27/1 1.05872 1.02777 +/- 0.00631\n",
- " 28/1 1.03930 1.02841 +/- 0.00598\n",
- " 29/1 1.01488 1.02770 +/- 0.00570\n",
- " 30/1 1.04513 1.02857 +/- 0.00548\n",
- " 31/1 0.99538 1.02699 +/- 0.00545\n",
- " 32/1 1.00106 1.02581 +/- 0.00532\n",
- " 33/1 0.99389 1.02442 +/- 0.00527\n",
- " 34/1 0.99938 1.02338 +/- 0.00516\n",
- " 35/1 1.02161 1.02331 +/- 0.00495\n",
- " 36/1 1.04084 1.02398 +/- 0.00480\n",
- " 37/1 0.98801 1.02265 +/- 0.00481\n",
- " 38/1 1.01348 1.02232 +/- 0.00464\n",
- " 39/1 1.06693 1.02386 +/- 0.00474\n",
- " 40/1 1.07729 1.02564 +/- 0.00491\n",
- " 41/1 1.03191 1.02585 +/- 0.00475\n",
- " 42/1 1.05209 1.02667 +/- 0.00468\n",
- " 43/1 1.02997 1.02677 +/- 0.00453\n",
- " 44/1 1.07288 1.02812 +/- 0.00460\n",
- " 45/1 1.01268 1.02768 +/- 0.00449\n",
- " 46/1 1.03759 1.02796 +/- 0.00437\n",
- " 47/1 1.02620 1.02791 +/- 0.00425\n",
- " 48/1 1.02509 1.02783 +/- 0.00414\n",
- " 49/1 1.01043 1.02739 +/- 0.00406\n",
- " 50/1 1.01457 1.02707 +/- 0.00397\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",
@@ -819,27 +831,27 @@
"\n",
" =======================> TIMING STATISTICS <=======================\n",
"\n",
- " Total time for initialization = 4.3000E-01 seconds\n",
- " Reading cross sections = 2.2800E-01 seconds\n",
- " Total time in simulation = 6.1235E+01 seconds\n",
- " Time in transport only = 6.1207E+01 seconds\n",
- " Time in inactive batches = 5.0280E+00 seconds\n",
- " Time in active batches = 5.6207E+01 seconds\n",
- " Time synchronizing fission bank = 7.0000E-03 seconds\n",
+ " Total time for initialization = 6.4800E-01 seconds\n",
+ " Reading cross sections = 4.8000E-01 seconds\n",
+ " Total time in simulation = 3.2830E+01 seconds\n",
+ " Time in transport only = 3.2659E+01 seconds\n",
+ " Time in inactive batches = 2.7510E+00 seconds\n",
+ " Time in active batches = 3.0079E+01 seconds\n",
+ " Time synchronizing fission bank = 9.0000E-03 seconds\n",
" Sampling source sites = 4.0000E-03 seconds\n",
- " SEND/RECV source sites = 1.0000E-03 seconds\n",
- " Time accumulating tallies = 2.0000E-03 seconds\n",
+ " SEND/RECV source sites = 5.0000E-03 seconds\n",
+ " Time accumulating tallies = 1.0000E-03 seconds\n",
" Total time for finalization = 0.0000E+00 seconds\n",
- " Total time elapsed = 6.1689E+01 seconds\n",
- " Calculation Rate (inactive) = 4972.16 neutrons/second\n",
- " Calculation Rate (active) = 1779.14 neutrons/second\n",
+ " Total time elapsed = 3.3498E+01 seconds\n",
+ " Calculation Rate (inactive) = 9087.60 neutrons/second\n",
+ " Calculation Rate (active) = 3324.58 neutrons/second\n",
"\n",
" ============================> RESULTS <============================\n",
"\n",
- " k-effective (Collision) = 1.02489 +/- 0.00308\n",
- " k-effective (Track-length) = 1.02707 +/- 0.00397\n",
- " k-effective (Absorption) = 1.02637 +/- 0.00325\n",
- " Combined k-effective = 1.02581 +/- 0.00264\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"
]
@@ -955,13 +967,6 @@
"collapsed": false
},
"outputs": [
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- "/Users/sam/.local/lib/python2.7/site-packages/openmc-0.8.0-py2.7.egg/openmc/tallies.py:1944: RuntimeWarning: invalid value encountered in true_divide\n"
- ]
- },
{
"data": {
"text/html": [
@@ -983,16 +988,16 @@
"
\n",
@@ -1221,8 +1226,8 @@
],
"text/plain": [
" cell group in nuclide mean std. dev.\n",
- "0 10000 1 U235 0.074734 0.000325\n",
- "1 10000 1 U238 0.005977 0.000034\n",
+ "0 10000 1 U235 0.074860 0.000303\n",
+ "1 10000 1 U238 0.005952 0.000035\n",
"2 10000 1 O16 0.000000 0.000000"
]
},
@@ -1305,131 +1310,124 @@
"text": [
"[ NORMAL ] Importing ray tracing data from file...\n",
"[ NORMAL ] Computing the eigenvalue...\n",
- "[ NORMAL ] Iteration 0:\tk_eff = 0.823582\tres = 0.000E+00\n",
- "[ NORMAL ] Iteration 1:\tk_eff = 0.780361\tres = 1.940E-01\n",
- "[ NORMAL ] Iteration 2:\tk_eff = 0.739500\tres = 6.545E-02\n",
- "[ NORMAL ] Iteration 3:\tk_eff = 0.710868\tres = 5.284E-02\n",
- "[ NORMAL ] Iteration 4:\tk_eff = 0.689663\tres = 3.926E-02\n",
- "[ NORMAL ] Iteration 5:\tk_eff = 0.675035\tres = 3.007E-02\n",
- "[ NORMAL ] Iteration 6:\tk_eff = 0.665831\tres = 2.137E-02\n",
- "[ NORMAL ] Iteration 7:\tk_eff = 0.661179\tres = 1.377E-02\n",
- "[ NORMAL ] Iteration 8:\tk_eff = 0.660309\tres = 7.167E-03\n",
- "[ NORMAL ] Iteration 9:\tk_eff = 0.662566\tres = 1.972E-03\n",
- "[ NORMAL ] Iteration 10:\tk_eff = 0.667383\tres = 3.708E-03\n",
- "[ NORMAL ] Iteration 11:\tk_eff = 0.674274\tres = 7.412E-03\n",
- "[ NORMAL ] Iteration 12:\tk_eff = 0.682821\tres = 1.043E-02\n",
- "[ NORMAL ] Iteration 13:\tk_eff = 0.692664\tres = 1.276E-02\n",
- "[ NORMAL ] Iteration 14:\tk_eff = 0.703499\tres = 1.449E-02\n",
- "[ NORMAL ] Iteration 15:\tk_eff = 0.715063\tres = 1.571E-02\n",
- "[ NORMAL ] Iteration 16:\tk_eff = 0.727136\tres = 1.650E-02\n",
- "[ NORMAL ] Iteration 17:\tk_eff = 0.739531\tres = 1.694E-02\n",
- "[ NORMAL ] Iteration 18:\tk_eff = 0.752091\tres = 1.710E-02\n",
- "[ NORMAL ] Iteration 19:\tk_eff = 0.764686\tres = 1.703E-02\n",
- "[ NORMAL ] Iteration 20:\tk_eff = 0.777208\tres = 1.679E-02\n",
- "[ NORMAL ] Iteration 21:\tk_eff = 0.789567\tres = 1.642E-02\n",
- "[ NORMAL ] Iteration 22:\tk_eff = 0.801692\tres = 1.595E-02\n",
- "[ NORMAL ] Iteration 23:\tk_eff = 0.813525\tres = 1.540E-02\n",
- "[ NORMAL ] Iteration 24:\tk_eff = 0.825022\tres = 1.480E-02\n",
- "[ NORMAL ] Iteration 25:\tk_eff = 0.836147\tres = 1.417E-02\n",
- "[ NORMAL ] Iteration 26:\tk_eff = 0.846876\tres = 1.352E-02\n",
- "[ NORMAL ] Iteration 27:\tk_eff = 0.857190\tres = 1.287E-02\n",
- "[ NORMAL ] Iteration 28:\tk_eff = 0.867079\tres = 1.221E-02\n",
- "[ NORMAL ] Iteration 29:\tk_eff = 0.876536\tres = 1.157E-02\n",
- "[ NORMAL ] Iteration 30:\tk_eff = 0.885559\tres = 1.094E-02\n",
- "[ NORMAL ] Iteration 31:\tk_eff = 0.894153\tres = 1.032E-02\n",
- "[ NORMAL ] Iteration 32:\tk_eff = 0.902320\tres = 9.731E-03\n",
- "[ NORMAL ] Iteration 33:\tk_eff = 0.910071\tres = 9.161E-03\n",
- "[ NORMAL ] Iteration 34:\tk_eff = 0.917414\tres = 8.614E-03\n",
- "[ NORMAL ] Iteration 35:\tk_eff = 0.924362\tres = 8.092E-03\n",
- "[ NORMAL ] Iteration 36:\tk_eff = 0.930926\tres = 7.595E-03\n",
- "[ NORMAL ] Iteration 37:\tk_eff = 0.937121\tres = 7.122E-03\n",
- "[ NORMAL ] Iteration 38:\tk_eff = 0.942961\tres = 6.674E-03\n",
- "[ NORMAL ] Iteration 39:\tk_eff = 0.948460\tres = 6.250E-03\n",
- "[ NORMAL ] Iteration 40:\tk_eff = 0.953633\tres = 5.849E-03\n",
- "[ NORMAL ] Iteration 41:\tk_eff = 0.958495\tres = 5.471E-03\n",
- "[ NORMAL ] Iteration 42:\tk_eff = 0.963061\tres = 5.114E-03\n",
- "[ NORMAL ] Iteration 43:\tk_eff = 0.967346\tres = 4.779E-03\n",
- "[ NORMAL ] Iteration 44:\tk_eff = 0.971364\tres = 4.463E-03\n",
- "[ NORMAL ] Iteration 45:\tk_eff = 0.975128\tres = 4.166E-03\n",
- "[ NORMAL ] Iteration 46:\tk_eff = 0.978653\tres = 3.888E-03\n",
- "[ NORMAL ] Iteration 47:\tk_eff = 0.981952\tres = 3.627E-03\n",
- "[ NORMAL ] Iteration 48:\tk_eff = 0.985037\tres = 3.382E-03\n",
- "[ NORMAL ] Iteration 49:\tk_eff = 0.987921\tres = 3.152E-03\n",
- "[ NORMAL ] Iteration 50:\tk_eff = 0.990615\tres = 2.937E-03\n",
- "[ NORMAL ] Iteration 51:\tk_eff = 0.993131\tres = 2.736E-03\n",
- "[ NORMAL ] Iteration 52:\tk_eff = 0.995479\tres = 2.548E-03\n",
- "[ NORMAL ] Iteration 53:\tk_eff = 0.997670\tres = 2.373E-03\n",
- "[ NORMAL ] Iteration 54:\tk_eff = 0.999713\tres = 2.208E-03\n",
- "[ NORMAL ] Iteration 55:\tk_eff = 1.001618\tres = 2.055E-03\n",
- "[ NORMAL ] Iteration 56:\tk_eff = 1.003393\tres = 1.912E-03\n",
- "[ NORMAL ] Iteration 57:\tk_eff = 1.005046\tres = 1.778E-03\n",
- "[ NORMAL ] Iteration 58:\tk_eff = 1.006586\tres = 1.654E-03\n",
- "[ NORMAL ] Iteration 59:\tk_eff = 1.008019\tres = 1.537E-03\n",
- "[ NORMAL ] Iteration 60:\tk_eff = 1.009352\tres = 1.429E-03\n",
- "[ NORMAL ] Iteration 61:\tk_eff = 1.010593\tres = 1.328E-03\n",
- "[ NORMAL ] Iteration 62:\tk_eff = 1.011747\tres = 1.234E-03\n",
- "[ NORMAL ] Iteration 63:\tk_eff = 1.012820\tres = 1.146E-03\n",
- "[ NORMAL ] Iteration 64:\tk_eff = 1.013818\tres = 1.065E-03\n",
- "[ NORMAL ] Iteration 65:\tk_eff = 1.014745\tres = 9.887E-04\n",
- "[ NORMAL ] Iteration 66:\tk_eff = 1.015606\tres = 9.179E-04\n",
- "[ NORMAL ] Iteration 67:\tk_eff = 1.016406\tres = 8.522E-04\n",
- "[ NORMAL ] Iteration 68:\tk_eff = 1.017149\tres = 7.909E-04\n",
- "[ NORMAL ] Iteration 69:\tk_eff = 1.017839\tres = 7.340E-04\n",
- "[ NORMAL ] Iteration 70:\tk_eff = 1.018480\tres = 6.811E-04\n",
- "[ NORMAL ] Iteration 71:\tk_eff = 1.019074\tres = 6.319E-04\n",
- "[ NORMAL ] Iteration 72:\tk_eff = 1.019626\tres = 5.862E-04\n",
- "[ NORMAL ] Iteration 73:\tk_eff = 1.020138\tres = 5.437E-04\n",
- "[ NORMAL ] Iteration 74:\tk_eff = 1.020613\tres = 5.042E-04\n",
- "[ NORMAL ] Iteration 75:\tk_eff = 1.021054\tres = 4.676E-04\n",
- "[ NORMAL ] Iteration 76:\tk_eff = 1.021462\tres = 4.335E-04\n",
- "[ NORMAL ] Iteration 77:\tk_eff = 1.021841\tres = 4.019E-04\n",
- "[ NORMAL ] Iteration 78:\tk_eff = 1.022193\tres = 3.725E-04\n",
- "[ NORMAL ] Iteration 79:\tk_eff = 1.022518\tres = 3.453E-04\n",
- "[ NORMAL ] Iteration 80:\tk_eff = 1.022820\tres = 3.200E-04\n",
- "[ NORMAL ] Iteration 81:\tk_eff = 1.023100\tres = 2.965E-04\n",
- "[ NORMAL ] Iteration 82:\tk_eff = 1.023359\tres = 2.748E-04\n",
- "[ NORMAL ] Iteration 83:\tk_eff = 1.023600\tres = 2.546E-04\n",
- "[ NORMAL ] Iteration 84:\tk_eff = 1.023822\tres = 2.358E-04\n",
- "[ NORMAL ] Iteration 85:\tk_eff = 1.024028\tres = 2.185E-04\n",
- "[ NORMAL ] Iteration 86:\tk_eff = 1.024219\tres = 2.023E-04\n",
- "[ NORMAL ] Iteration 87:\tk_eff = 1.024396\tres = 1.874E-04\n",
- "[ NORMAL ] Iteration 88:\tk_eff = 1.024560\tres = 1.735E-04\n",
- "[ NORMAL ] Iteration 89:\tk_eff = 1.024712\tres = 1.607E-04\n",
- "[ NORMAL ] Iteration 90:\tk_eff = 1.024852\tres = 1.488E-04\n",
- "[ NORMAL ] Iteration 91:\tk_eff = 1.024983\tres = 1.378E-04\n",
- "[ NORMAL ] Iteration 92:\tk_eff = 1.025103\tres = 1.275E-04\n",
- "[ NORMAL ] Iteration 93:\tk_eff = 1.025215\tres = 1.181E-04\n",
- "[ NORMAL ] Iteration 94:\tk_eff = 1.025318\tres = 1.093E-04\n",
- "[ NORMAL ] Iteration 95:\tk_eff = 1.025413\tres = 1.012E-04\n",
- "[ NORMAL ] Iteration 96:\tk_eff = 1.025502\tres = 9.364E-05\n",
- "[ NORMAL ] Iteration 97:\tk_eff = 1.025584\tres = 8.666E-05\n",
- "[ NORMAL ] Iteration 98:\tk_eff = 1.025659\tres = 8.020E-05\n",
- "[ NORMAL ] Iteration 99:\tk_eff = 1.025729\tres = 7.422E-05\n",
- "[ NORMAL ] Iteration 100:\tk_eff = 1.025794\tres = 6.868E-05\n",
- "[ NORMAL ] Iteration 101:\tk_eff = 1.025854\tres = 6.355E-05\n",
- "[ NORMAL ] Iteration 102:\tk_eff = 1.025910\tres = 5.880E-05\n",
- "[ NORMAL ] Iteration 103:\tk_eff = 1.025961\tres = 5.440E-05\n",
- "[ NORMAL ] Iteration 104:\tk_eff = 1.026009\tres = 5.033E-05\n",
- "[ NORMAL ] Iteration 105:\tk_eff = 1.026053\tres = 4.656E-05\n",
- "[ NORMAL ] Iteration 106:\tk_eff = 1.026093\tres = 4.307E-05\n",
- "[ NORMAL ] Iteration 107:\tk_eff = 1.026131\tres = 3.984E-05\n",
- "[ NORMAL ] Iteration 108:\tk_eff = 1.026166\tres = 3.685E-05\n",
- "[ NORMAL ] Iteration 109:\tk_eff = 1.026198\tres = 3.409E-05\n",
- "[ NORMAL ] Iteration 110:\tk_eff = 1.026228\tres = 3.153E-05\n",
- "[ NORMAL ] Iteration 111:\tk_eff = 1.026255\tres = 2.916E-05\n",
- "[ NORMAL ] Iteration 112:\tk_eff = 1.026281\tres = 2.697E-05\n",
- "[ NORMAL ] Iteration 113:\tk_eff = 1.026304\tres = 2.494E-05\n",
- "[ NORMAL ] Iteration 114:\tk_eff = 1.026326\tres = 2.307E-05\n",
- "[ NORMAL ] Iteration 115:\tk_eff = 1.026346\tres = 2.133E-05\n",
- "[ NORMAL ] Iteration 116:\tk_eff = 1.026365\tres = 1.973E-05\n",
- "[ NORMAL ] Iteration 117:\tk_eff = 1.026382\tres = 1.824E-05\n",
- "[ NORMAL ] Iteration 118:\tk_eff = 1.026398\tres = 1.687E-05\n",
- "[ NORMAL ] Iteration 119:\tk_eff = 1.026413\tres = 1.560E-05\n",
- "[ NORMAL ] Iteration 120:\tk_eff = 1.026426\tres = 1.442E-05\n",
- "[ NORMAL ] Iteration 121:\tk_eff = 1.026439\tres = 1.333E-05\n",
- "[ NORMAL ] Iteration 122:\tk_eff = 1.026451\tres = 1.233E-05\n",
- "[ NORMAL ] Iteration 123:\tk_eff = 1.026461\tres = 1.140E-05\n",
- "[ NORMAL ] Iteration 124:\tk_eff = 1.026471\tres = 1.054E-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.761745\tres = 6.349E-02\n",
+ "[ NORMAL ] Iteration 3:\tk_eff = 0.732366\tres = 5.029E-02\n",
+ "[ NORMAL ] Iteration 4:\tk_eff = 0.711073\tres = 3.869E-02\n",
+ "[ NORMAL ] Iteration 5:\tk_eff = 0.696554\tres = 2.912E-02\n",
+ "[ NORMAL ] Iteration 6:\tk_eff = 0.687670\tres = 2.044E-02\n",
+ "[ NORMAL ] Iteration 7:\tk_eff = 0.683465\tres = 1.277E-02\n",
+ "[ NORMAL ] Iteration 8:\tk_eff = 0.683124\tres = 6.142E-03\n",
+ "[ NORMAL ] Iteration 9:\tk_eff = 0.685943\tres = 7.897E-04\n",
+ "[ NORMAL ] Iteration 10:\tk_eff = 0.691322\tres = 4.180E-03\n",
+ "[ NORMAL ] Iteration 11:\tk_eff = 0.698746\tres = 7.873E-03\n",
+ "[ NORMAL ] Iteration 12:\tk_eff = 0.707777\tres = 1.076E-02\n",
+ "[ NORMAL ] Iteration 13:\tk_eff = 0.718039\tres = 1.295E-02\n",
+ "[ NORMAL ] Iteration 14:\tk_eff = 0.729218\tres = 1.452E-02\n",
+ "[ NORMAL ] Iteration 15:\tk_eff = 0.741045\tres = 1.559E-02\n",
+ "[ NORMAL ] Iteration 16:\tk_eff = 0.753296\tres = 1.624E-02\n",
+ "[ NORMAL ] Iteration 17:\tk_eff = 0.765784\tres = 1.655E-02\n",
+ "[ NORMAL ] Iteration 18:\tk_eff = 0.778355\tres = 1.659E-02\n",
+ "[ NORMAL ] Iteration 19:\tk_eff = 0.790879\tres = 1.643E-02\n",
+ "[ NORMAL ] Iteration 20:\tk_eff = 0.803253\tres = 1.610E-02\n",
+ "[ NORMAL ] Iteration 21:\tk_eff = 0.815394\tres = 1.566E-02\n",
+ "[ NORMAL ] Iteration 22:\tk_eff = 0.827235\tres = 1.513E-02\n",
+ "[ NORMAL ] Iteration 23:\tk_eff = 0.838724\tres = 1.453E-02\n",
+ "[ NORMAL ] Iteration 24:\tk_eff = 0.849823\tres = 1.390E-02\n",
+ "[ NORMAL ] Iteration 25:\tk_eff = 0.860502\tres = 1.324E-02\n",
+ "[ NORMAL ] Iteration 26:\tk_eff = 0.870744\tres = 1.258E-02\n",
+ "[ NORMAL ] Iteration 27:\tk_eff = 0.880535\tres = 1.191E-02\n",
+ "[ NORMAL ] Iteration 28:\tk_eff = 0.889869\tres = 1.125E-02\n",
+ "[ NORMAL ] Iteration 29:\tk_eff = 0.898747\tres = 1.061E-02\n",
+ "[ NORMAL ] Iteration 30:\tk_eff = 0.907172\tres = 9.985E-03\n",
+ "[ NORMAL ] Iteration 31:\tk_eff = 0.915150\tres = 9.382E-03\n",
+ "[ NORMAL ] Iteration 32:\tk_eff = 0.922692\tres = 8.802E-03\n",
+ "[ NORMAL ] Iteration 33:\tk_eff = 0.929810\tres = 8.248E-03\n",
+ "[ NORMAL ] Iteration 34:\tk_eff = 0.936517\tres = 7.720E-03\n",
+ "[ NORMAL ] Iteration 35:\tk_eff = 0.942827\tres = 7.219E-03\n",
+ "[ NORMAL ] Iteration 36:\tk_eff = 0.948756\tres = 6.744E-03\n",
+ "[ NORMAL ] Iteration 37:\tk_eff = 0.954321\tres = 6.295E-03\n",
+ "[ NORMAL ] Iteration 38:\tk_eff = 0.959539\tres = 5.871E-03\n",
+ "[ NORMAL ] Iteration 39:\tk_eff = 0.964424\tres = 5.472E-03\n",
+ "[ NORMAL ] Iteration 40:\tk_eff = 0.968995\tres = 5.096E-03\n",
+ "[ NORMAL ] Iteration 41:\tk_eff = 0.973268\tres = 4.744E-03\n",
+ "[ NORMAL ] Iteration 42:\tk_eff = 0.977258\tres = 4.413E-03\n",
+ "[ NORMAL ] Iteration 43:\tk_eff = 0.980981\tres = 4.104E-03\n",
+ "[ NORMAL ] Iteration 44:\tk_eff = 0.984453\tres = 3.814E-03\n",
+ "[ NORMAL ] Iteration 45:\tk_eff = 0.987689\tres = 3.543E-03\n",
+ "[ NORMAL ] Iteration 46:\tk_eff = 0.990701\tres = 3.289E-03\n",
+ "[ NORMAL ] Iteration 47:\tk_eff = 0.993505\tres = 3.053E-03\n",
+ "[ NORMAL ] Iteration 48:\tk_eff = 0.996112\tres = 2.832E-03\n",
+ "[ NORMAL ] Iteration 49:\tk_eff = 0.998536\tres = 2.627E-03\n",
+ "[ NORMAL ] Iteration 50:\tk_eff = 1.000787\tres = 2.435E-03\n",
+ "[ NORMAL ] Iteration 51:\tk_eff = 1.002878\tres = 2.257E-03\n",
+ "[ NORMAL ] Iteration 52:\tk_eff = 1.004818\tres = 2.091E-03\n",
+ "[ NORMAL ] Iteration 53:\tk_eff = 1.006618\tres = 1.937E-03\n",
+ "[ NORMAL ] Iteration 54:\tk_eff = 1.008287\tres = 1.793E-03\n",
+ "[ NORMAL ] Iteration 55:\tk_eff = 1.009834\tres = 1.660E-03\n",
+ "[ NORMAL ] Iteration 56:\tk_eff = 1.011268\tres = 1.536E-03\n",
+ "[ NORMAL ] Iteration 57:\tk_eff = 1.012595\tres = 1.421E-03\n",
+ "[ NORMAL ] Iteration 58:\tk_eff = 1.013824\tres = 1.314E-03\n",
+ "[ NORMAL ] Iteration 59:\tk_eff = 1.014962\tres = 1.215E-03\n",
+ "[ NORMAL ] Iteration 60:\tk_eff = 1.016015\tres = 1.123E-03\n",
+ "[ NORMAL ] Iteration 61:\tk_eff = 1.016988\tres = 1.038E-03\n",
+ "[ NORMAL ] Iteration 62:\tk_eff = 1.017889\tres = 9.595E-04\n",
+ "[ NORMAL ] Iteration 63:\tk_eff = 1.018721\tres = 8.864E-04\n",
+ "[ NORMAL ] Iteration 64:\tk_eff = 1.019490\tres = 8.187E-04\n",
+ "[ NORMAL ] Iteration 65:\tk_eff = 1.020201\tres = 7.560E-04\n",
+ "[ NORMAL ] Iteration 66:\tk_eff = 1.020857\tres = 6.980E-04\n",
+ "[ NORMAL ] Iteration 67:\tk_eff = 1.021464\tres = 6.443E-04\n",
+ "[ NORMAL ] Iteration 68:\tk_eff = 1.022024\tres = 5.947E-04\n",
+ "[ NORMAL ] Iteration 69:\tk_eff = 1.022540\tres = 5.488E-04\n",
+ "[ NORMAL ] Iteration 70:\tk_eff = 1.023017\tres = 5.063E-04\n",
+ "[ NORMAL ] Iteration 71:\tk_eff = 1.023457\tres = 4.670E-04\n",
+ "[ NORMAL ] Iteration 72:\tk_eff = 1.023863\tres = 4.308E-04\n",
+ "[ NORMAL ] Iteration 73:\tk_eff = 1.024238\tres = 3.972E-04\n",
+ "[ NORMAL ] Iteration 74:\tk_eff = 1.024583\tres = 3.663E-04\n",
+ "[ NORMAL ] Iteration 75:\tk_eff = 1.024902\tres = 3.376E-04\n",
+ "[ NORMAL ] Iteration 76:\tk_eff = 1.025195\tres = 3.112E-04\n",
+ "[ NORMAL ] Iteration 77:\tk_eff = 1.025466\tres = 2.868E-04\n",
+ "[ NORMAL ] Iteration 78:\tk_eff = 1.025715\tres = 2.643E-04\n",
+ "[ NORMAL ] Iteration 79:\tk_eff = 1.025945\tres = 2.435E-04\n",
+ "[ NORMAL ] Iteration 80:\tk_eff = 1.026157\tres = 2.244E-04\n",
+ "[ NORMAL ] Iteration 81:\tk_eff = 1.026352\tres = 2.067E-04\n",
+ "[ NORMAL ] Iteration 82:\tk_eff = 1.026531\tres = 1.904E-04\n",
+ "[ NORMAL ] Iteration 83:\tk_eff = 1.026697\tres = 1.753E-04\n",
+ "[ NORMAL ] Iteration 84:\tk_eff = 1.026849\tres = 1.614E-04\n",
+ "[ NORMAL ] Iteration 85:\tk_eff = 1.026989\tres = 1.487E-04\n",
+ "[ NORMAL ] Iteration 86:\tk_eff = 1.027118\tres = 1.368E-04\n",
+ "[ NORMAL ] Iteration 87:\tk_eff = 1.027237\tres = 1.260E-04\n",
+ "[ NORMAL ] Iteration 88:\tk_eff = 1.027346\tres = 1.159E-04\n",
+ "[ NORMAL ] Iteration 89:\tk_eff = 1.027447\tres = 1.067E-04\n",
+ "[ NORMAL ] Iteration 90:\tk_eff = 1.027540\tres = 9.821E-05\n",
+ "[ NORMAL ] Iteration 91:\tk_eff = 1.027625\tres = 9.040E-05\n",
+ "[ NORMAL ] Iteration 92:\tk_eff = 1.027703\tres = 8.316E-05\n",
+ "[ NORMAL ] Iteration 93:\tk_eff = 1.027775\tres = 7.652E-05\n",
+ "[ NORMAL ] Iteration 94:\tk_eff = 1.027842\tres = 7.039E-05\n",
+ "[ NORMAL ] Iteration 95:\tk_eff = 1.027903\tres = 6.480E-05\n",
+ "[ NORMAL ] Iteration 96:\tk_eff = 1.027959\tres = 5.959E-05\n",
+ "[ NORMAL ] Iteration 97:\tk_eff = 1.028011\tres = 5.479E-05\n",
+ "[ NORMAL ] Iteration 98:\tk_eff = 1.028058\tres = 5.043E-05\n",
+ "[ NORMAL ] Iteration 99:\tk_eff = 1.028102\tres = 4.633E-05\n",
+ "[ NORMAL ] Iteration 100:\tk_eff = 1.028142\tres = 4.265E-05\n",
+ "[ NORMAL ] Iteration 101:\tk_eff = 1.028180\tres = 3.921E-05\n",
+ "[ NORMAL ] Iteration 102:\tk_eff = 1.028214\tres = 3.605E-05\n",
+ "[ NORMAL ] Iteration 103:\tk_eff = 1.028245\tres = 3.315E-05\n",
+ "[ NORMAL ] Iteration 104:\tk_eff = 1.028273\tres = 3.047E-05\n",
+ "[ NORMAL ] Iteration 105:\tk_eff = 1.028300\tres = 2.800E-05\n",
+ "[ NORMAL ] Iteration 106:\tk_eff = 1.028324\tres = 2.575E-05\n",
+ "[ NORMAL ] Iteration 107:\tk_eff = 1.028346\tres = 2.368E-05\n",
+ "[ NORMAL ] Iteration 108:\tk_eff = 1.028367\tres = 2.176E-05\n",
+ "[ NORMAL ] Iteration 109:\tk_eff = 1.028386\tres = 2.003E-05\n",
+ "[ NORMAL ] Iteration 110:\tk_eff = 1.028403\tres = 1.837E-05\n",
+ "[ NORMAL ] Iteration 111:\tk_eff = 1.028419\tres = 1.690E-05\n",
+ "[ NORMAL ] Iteration 112:\tk_eff = 1.028434\tres = 1.553E-05\n",
+ "[ NORMAL ] Iteration 113:\tk_eff = 1.028447\tres = 1.426E-05\n",
+ "[ NORMAL ] Iteration 114:\tk_eff = 1.028459\tres = 1.309E-05\n",
+ "[ NORMAL ] Iteration 115:\tk_eff = 1.028471\tres = 1.202E-05\n",
+ "[ NORMAL ] Iteration 116:\tk_eff = 1.028481\tres = 1.107E-05\n",
+ "[ NORMAL ] Iteration 117:\tk_eff = 1.028491\tres = 1.015E-05\n"
]
}
],
@@ -1461,9 +1459,9 @@
"name": "stdout",
"output_type": "stream",
"text": [
- "openmc keff = 1.025806\n",
- "openmoc keff = 1.026471\n",
- "bias [pcm]: 66.5\n"
+ "openmc keff = 1.028263\n",
+ "openmoc keff = 1.028491\n",
+ "bias [pcm]: 22.8\n"
]
}
],
@@ -1571,7 +1569,7 @@
{
"data": {
"text/plain": [
- ""
+ ""
]
},
"execution_count": 43,
@@ -1580,9 +1578,9 @@
},
{
"data": {
- "image/png": "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\n",
+ "image/png": "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\nQkiM+D/axcWYV0AhpgAAAABJRU5ErkJggg==\n",
"text/plain": [
- ""
+ ""
]
},
"metadata": {},
@@ -1608,21 +1606,21 @@
],
"metadata": {
"kernelspec": {
- "display_name": "Python 2",
+ "display_name": "Python 3",
"language": "python",
- "name": "python2"
+ "name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
- "version": 2
+ "version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
- "pygments_lexer": "ipython2",
- "version": "2.7.12"
+ "pygments_lexer": "ipython3",
+ "version": "3.5.2"
}
},
"nbformat": 4,
diff --git a/docs/source/pythonapi/examples/mgxs-part-iv.ipynb b/docs/source/pythonapi/examples/mgxs-part-iv.ipynb
index eaae92f7c9..301bbf0155 100644
--- a/docs/source/pythonapi/examples/mgxs-part-iv.ipynb
+++ b/docs/source/pythonapi/examples/mgxs-part-iv.ipynb
@@ -119,7 +119,6 @@
"source": [
"# Instantiate a Materials object\n",
"materials_file = openmc.Materials((fuel, zircaloy, water))\n",
- "materials_file.default_xs = '71c'\n",
"\n",
"# Export to \"materials.xml\"\n",
"materials_file.export_to_xml()"
@@ -432,7 +431,7 @@
"outputs": [
{
"data": {
- "image/png": "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\n",
+ "image/png": "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\n",
"text/plain": [
""
]
@@ -578,7 +577,7 @@
"name": "stderr",
"output_type": "stream",
"text": [
- "/home/romano/openmc/openmc/mgxs/library.py:312: RuntimeWarning: The P0 correction will be ignored since the scattering order 0 is greater than zero\n",
+ "/home/romano/openmc/openmc/mgxs/library.py:373: RuntimeWarning: The P0 correction will be ignored since the scattering order 0 is greater than zero\n",
" warn(msg, RuntimeWarning)\n"
]
}
@@ -707,23 +706,37 @@
"output_type": "stream",
"text": [
"\n",
- " .d88888b. 888b d888 .d8888b.\n",
- " d88P\" \"Y88b 8888b d8888 d88P Y88b\n",
- " 888 888 88888b.d88888 888 888\n",
- " 888 888 88888b. .d88b. 88888b. 888Y88888P888 888 \n",
- " 888 888 888 \"88b d8P Y8b 888 \"88b 888 Y888P 888 888 \n",
- " 888 888 888 888 88888888 888 888 888 Y8P 888 888 888\n",
- " Y88b. .d88P 888 d88P Y8b. 888 888 888 \" 888 Y88b d88P\n",
- " \"Y88888P\" 88888P\" \"Y8888 888 888 888 888 \"Y8888P\"\n",
- "__________________888______________________________________________________\n",
- " 888\n",
- " 888\n",
+ " %%%%%%%%%%%%%%%\n",
+ " %%%%%%%%%%%%%%%%%%%%%%%%\n",
+ " %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",
+ " %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",
+ " %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",
+ " %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",
+ " %%%%%%%%%%%%%%%%%%%%%%%%\n",
+ " %%%%%%%%%%%%%%%%%%%%%%%%\n",
+ " ############### %%%%%%%%%%%%%%%%%%%%%%%%\n",
+ " ################## %%%%%%%%%%%%%%%%%%%%%%%\n",
+ " ################### %%%%%%%%%%%%%%%%%%%%%%%\n",
+ " #################### %%%%%%%%%%%%%%%%%%%%%%\n",
+ " ##################### %%%%%%%%%%%%%%%%%%%%%\n",
+ " ###################### %%%%%%%%%%%%%%%%%%%%\n",
+ " ####################### %%%%%%%%%%%%%%%%%%\n",
+ " ####################### %%%%%%%%%%%%%%%%%\n",
+ " ###################### %%%%%%%%%%%%%%%%%\n",
+ " #################### %%%%%%%%%%%%%%%%%\n",
+ " ################# %%%%%%%%%%%%%%%%%\n",
+ " ############### %%%%%%%%%%%%%%%%\n",
+ " ############ %%%%%%%%%%%%%%%\n",
+ " ######## %%%%%%%%%%%%%%\n",
+ " %%%%%%%%%%%\n",
"\n",
- " Copyright: 2011-2016 Massachusetts Institute of Technology\n",
- " License: http://openmc.readthedocs.io/en/latest/license.html\n",
- " Version: 0.7.1\n",
- " Git SHA1: 3d68c07625e33cd64188df03ee03e9c31b3d4b74\n",
- " Date/Time: 2016-07-23 16:50:57\n",
+ " | The OpenMC Monte Carlo Code\n",
+ " Copyright | 2011-2016 Massachusetts Institute of Technology\n",
+ " License | http://openmc.readthedocs.io/en/latest/license.html\n",
+ " Version | 0.8.0\n",
+ " Git SHA1 | fbebf7bf709fe2fe1813af95bff9b29c0d59312c\n",
+ " Date/Time | 2016-08-31 10:48:01\n",
+ " OpenMP Threads | 4\n",
"\n",
" ===========================================================================\n",
" ========================> INITIALIZATION <=========================\n",
@@ -733,13 +746,13 @@
" Reading geometry XML file...\n",
" Reading cross sections XML file...\n",
" Reading materials XML file...\n",
- " Reading U235.71c from /home/romano/openmc/data/nndc_hdf5/U235_71c.h5\n",
- " Reading U238.71c from /home/romano/openmc/data/nndc_hdf5/U238_71c.h5\n",
- " Reading O16.71c from /home/romano/openmc/data/nndc_hdf5/O16_71c.h5\n",
- " Reading Zr90.71c from /home/romano/openmc/data/nndc_hdf5/Zr90_71c.h5\n",
- " Reading H1.71c from /home/romano/openmc/data/nndc_hdf5/H1_71c.h5\n",
- " Reading B10.71c from /home/romano/openmc/data/nndc_hdf5/B10_71c.h5\n",
- " Maximum neutron transport energy: 20.0000 MeV for U235.71c\n",
+ " Reading U235 from /home/romano/openmc/data/nndc_hdf5/U235.h5\n",
+ " Reading U238 from /home/romano/openmc/data/nndc_hdf5/U238.h5\n",
+ " Reading O16 from /home/romano/openmc/data/nndc_hdf5/O16.h5\n",
+ " Reading Zr90 from /home/romano/openmc/data/nndc_hdf5/Zr90.h5\n",
+ " Reading H1 from /home/romano/openmc/data/nndc_hdf5/H1.h5\n",
+ " Reading B10 from /home/romano/openmc/data/nndc_hdf5/B10.h5\n",
+ " Maximum neutron transport energy: 20.0000 MeV for U235\n",
" Reading tallies XML file...\n",
" Building neighboring cells lists for each surface...\n",
" Initializing source particles...\n",
@@ -809,20 +822,20 @@
"\n",
" =======================> TIMING STATISTICS <=======================\n",
"\n",
- " Total time for initialization = 3.6600E-01 seconds\n",
- " Reading cross sections = 2.1400E-01 seconds\n",
- " Total time in simulation = 7.0360E+01 seconds\n",
- " Time in transport only = 7.0341E+01 seconds\n",
- " Time in inactive batches = 9.6400E+00 seconds\n",
- " Time in active batches = 6.0720E+01 seconds\n",
- " Time synchronizing fission bank = 7.0000E-03 seconds\n",
- " Sampling source sites = 5.0000E-03 seconds\n",
- " SEND/RECV source sites = 2.0000E-03 seconds\n",
+ " Total time for initialization = 4.2200E-01 seconds\n",
+ " Reading cross sections = 2.8800E-01 seconds\n",
+ " Total time in simulation = 4.1409E+01 seconds\n",
+ " Time in transport only = 4.1265E+01 seconds\n",
+ " Time in inactive batches = 4.6120E+00 seconds\n",
+ " Time in active batches = 3.6797E+01 seconds\n",
+ " Time synchronizing fission bank = 9.0000E-03 seconds\n",
+ " Sampling source sites = 6.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 = 0.0000E+00 seconds\n",
- " Total time elapsed = 7.0764E+01 seconds\n",
- " Calculation Rate (inactive) = 5186.72 neutrons/second\n",
- " Calculation Rate (active) = 3293.81 neutrons/second\n",
+ " Total time elapsed = 4.1869E+01 seconds\n",
+ " Calculation Rate (inactive) = 10841.3 neutrons/second\n",
+ " Calculation Rate (active) = 5435.23 neutrons/second\n",
"\n",
" ============================> RESULTS <============================\n",
"\n",
@@ -960,24 +973,10 @@
"metadata": {
"collapsed": false
},
- "outputs": [
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- "/home/romano/openmc/openmc/tallies.py:1941: RuntimeWarning: invalid value encountered in true_divide\n",
- " self_rel_err = data['self']['std. dev.'] / data['self']['mean']\n",
- "/home/romano/openmc/openmc/tallies.py:1942: RuntimeWarning: invalid value encountered in true_divide\n",
- " other_rel_err = data['other']['std. dev.'] / data['other']['mean']\n",
- "/home/romano/openmc/openmc/tallies.py:1943: RuntimeWarning: invalid value encountered in true_divide\n",
- " new_tally._mean = data['self']['mean'] / data['other']['mean']\n"
- ]
- }
- ],
+ "outputs": [],
"source": [
"# Create a MGXS File which can then be written to disk\n",
- "mgxs_file = mgxs_lib.create_mg_library(xs_type='macro', xsdata_names=['fuel', 'zircaloy', 'water'],\n",
- " xs_ids='2m')\n",
+ "mgxs_file = mgxs_lib.create_mg_library(xs_type='macro', xsdata_names=['fuel', 'zircaloy', 'water'])\n",
"\n",
"# Write the file to disk using the default filename of `mgxs.xml`\n",
"mgxs_file.export_to_xml()"
@@ -991,7 +990,7 @@
"\n",
"Since this example is using material-wise macroscopic cross sections without considering that the neutron energy spectra and thus cross sections may be changing in space, we only need to modify the materials.xml and settings.xml files. If the material names and ids are not otherwise changed, then the geometry.xml file does not need to be modified from its continuous-energy form. The tallies.xml file will be left untouched as it currently contains the tally types that we will need to perform our comparison. \n",
"\n",
- "First we will create the new materials.xml file. Continuous-energy cross section nuclidic data sets are named with the nuclide name followed by a cross section identifier. For example, the data for hydrogen is accessed in OpenMC by the name `H-1.71c`. The cross-section identifier (in this case, `71c`) can be used to distinguish between different variants of `H-1` data, such as for different evaluations or temperatures. OpenMC multi-group libraries use the same convention of a name followed by a xs identifier. We will use a cross section identifier here of `2m`. Similar to how continuous-energy cross section libraries are named, the `openmc.Macroscopic` quantities below can either have their `xs_id` included (i.e., `'fuel.2m'`). An alternative is to leave this extension off and simply change the `default_xs` parameter to `.2m`."
+ "First we will create the new materials.xml file."
]
},
{
@@ -1023,7 +1022,6 @@
"\n",
"# Finally, instantiate our Materials object\n",
"materials_file = openmc.Materials((fuel, zircaloy, water))\n",
- "materials_file.default_xs = '2m'\n",
"\n",
"# Export to \"materials.xml\"\n",
"materials_file.export_to_xml()\n"
@@ -1082,23 +1080,37 @@
"output_type": "stream",
"text": [
"\n",
- " .d88888b. 888b d888 .d8888b.\n",
- " d88P\" \"Y88b 8888b d8888 d88P Y88b\n",
- " 888 888 88888b.d88888 888 888\n",
- " 888 888 88888b. .d88b. 88888b. 888Y88888P888 888 \n",
- " 888 888 888 \"88b d8P Y8b 888 \"88b 888 Y888P 888 888 \n",
- " 888 888 888 888 88888888 888 888 888 Y8P 888 888 888\n",
- " Y88b. .d88P 888 d88P Y8b. 888 888 888 \" 888 Y88b d88P\n",
- " \"Y88888P\" 88888P\" \"Y8888 888 888 888 888 \"Y8888P\"\n",
- "__________________888______________________________________________________\n",
- " 888\n",
- " 888\n",
+ " %%%%%%%%%%%%%%%\n",
+ " %%%%%%%%%%%%%%%%%%%%%%%%\n",
+ " %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",
+ " %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",
+ " %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",
+ " %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",
+ " %%%%%%%%%%%%%%%%%%%%%%%%\n",
+ " %%%%%%%%%%%%%%%%%%%%%%%%\n",
+ " ############### %%%%%%%%%%%%%%%%%%%%%%%%\n",
+ " ################## %%%%%%%%%%%%%%%%%%%%%%%\n",
+ " ################### %%%%%%%%%%%%%%%%%%%%%%%\n",
+ " #################### %%%%%%%%%%%%%%%%%%%%%%\n",
+ " ##################### %%%%%%%%%%%%%%%%%%%%%\n",
+ " ###################### %%%%%%%%%%%%%%%%%%%%\n",
+ " ####################### %%%%%%%%%%%%%%%%%%\n",
+ " ####################### %%%%%%%%%%%%%%%%%\n",
+ " ###################### %%%%%%%%%%%%%%%%%\n",
+ " #################### %%%%%%%%%%%%%%%%%\n",
+ " ################# %%%%%%%%%%%%%%%%%\n",
+ " ############### %%%%%%%%%%%%%%%%\n",
+ " ############ %%%%%%%%%%%%%%%\n",
+ " ######## %%%%%%%%%%%%%%\n",
+ " %%%%%%%%%%%\n",
"\n",
- " Copyright: 2011-2016 Massachusetts Institute of Technology\n",
- " License: http://openmc.readthedocs.io/en/latest/license.html\n",
- " Version: 0.7.1\n",
- " Git SHA1: 3d68c07625e33cd64188df03ee03e9c31b3d4b74\n",
- " Date/Time: 2016-07-23 16:52:09\n",
+ " | The OpenMC Monte Carlo Code\n",
+ " Copyright | 2011-2016 Massachusetts Institute of Technology\n",
+ " License | http://openmc.readthedocs.io/en/latest/license.html\n",
+ " Version | 0.8.0\n",
+ " Git SHA1 | fbebf7bf709fe2fe1813af95bff9b29c0d59312c\n",
+ " Date/Time | 2016-08-31 10:48:43\n",
+ " OpenMP Threads | 4\n",
"\n",
" ===========================================================================\n",
" ========================> INITIALIZATION <=========================\n",
@@ -1111,9 +1123,9 @@
" Reading tallies XML file...\n",
" Building neighboring cells lists for each surface...\n",
" Loading Cross Section Data...\n",
- " Loading fuel.2m Data...\n",
- " Loading zircaloy.2m Data...\n",
- " Loading water.2m Data...\n",
+ " Loading fuel Data...\n",
+ " Loading zircaloy Data...\n",
+ " Loading water Data...\n",
" Initializing source particles...\n",
"\n",
" ===========================================================================\n",
@@ -1122,56 +1134,56 @@
"\n",
" Bat./Gen. k Average k \n",
" ========= ======== ==================== \n",
- " 1/1 0.99367 \n",
- " 2/1 1.03173 \n",
- " 3/1 1.01999 \n",
- " 4/1 1.01421 \n",
- " 5/1 1.03980 \n",
- " 6/1 1.04540 \n",
- " 7/1 1.04199 \n",
- " 8/1 1.02680 \n",
- " 9/1 1.01267 \n",
- " 10/1 1.03420 \n",
- " 11/1 1.05773 \n",
- " 12/1 1.03475 1.04624 +/- 0.01149\n",
- " 13/1 1.03632 1.04293 +/- 0.00741\n",
- " 14/1 0.99297 1.03044 +/- 0.01355\n",
- " 15/1 1.02413 1.02918 +/- 0.01057\n",
- " 16/1 1.02359 1.02825 +/- 0.00868\n",
- " 17/1 0.99913 1.02409 +/- 0.00843\n",
- " 18/1 1.01493 1.02294 +/- 0.00739\n",
- " 19/1 1.03010 1.02374 +/- 0.00657\n",
- " 20/1 1.04890 1.02626 +/- 0.00639\n",
- " 21/1 1.01267 1.02502 +/- 0.00591\n",
- " 22/1 1.02637 1.02513 +/- 0.00540\n",
- " 23/1 1.01374 1.02426 +/- 0.00504\n",
- " 24/1 1.06661 1.02728 +/- 0.00556\n",
- " 25/1 1.03212 1.02760 +/- 0.00519\n",
- " 26/1 1.05433 1.02927 +/- 0.00513\n",
- " 27/1 0.99891 1.02749 +/- 0.00514\n",
- " 28/1 1.00616 1.02630 +/- 0.00499\n",
- " 29/1 1.04583 1.02733 +/- 0.00483\n",
- " 30/1 1.01512 1.02672 +/- 0.00462\n",
- " 31/1 0.98104 1.02455 +/- 0.00491\n",
- " 32/1 1.04202 1.02534 +/- 0.00474\n",
- " 33/1 1.00779 1.02458 +/- 0.00460\n",
- " 34/1 1.02450 1.02457 +/- 0.00440\n",
- " 35/1 0.98882 1.02314 +/- 0.00446\n",
- " 36/1 1.01541 1.02285 +/- 0.00429\n",
- " 37/1 1.02050 1.02276 +/- 0.00413\n",
- " 38/1 1.03573 1.02322 +/- 0.00401\n",
- " 39/1 1.03649 1.02368 +/- 0.00389\n",
- " 40/1 1.01434 1.02337 +/- 0.00378\n",
- " 41/1 1.02345 1.02337 +/- 0.00365\n",
- " 42/1 1.01900 1.02323 +/- 0.00354\n",
- " 43/1 1.01450 1.02297 +/- 0.00344\n",
- " 44/1 1.03127 1.02321 +/- 0.00335\n",
- " 45/1 1.01598 1.02301 +/- 0.00326\n",
- " 46/1 1.00851 1.02260 +/- 0.00319\n",
- " 47/1 1.03406 1.02291 +/- 0.00312\n",
- " 48/1 1.02373 1.02294 +/- 0.00303\n",
- " 49/1 1.04066 1.02339 +/- 0.00299\n",
- " 50/1 1.02011 1.02331 +/- 0.00292\n",
+ " 1/1 0.99122 \n",
+ " 2/1 1.03963 \n",
+ " 3/1 1.01551 \n",
+ " 4/1 1.03582 \n",
+ " 5/1 0.99023 \n",
+ " 6/1 1.00419 \n",
+ " 7/1 1.02047 \n",
+ " 8/1 1.05456 \n",
+ " 9/1 1.01063 \n",
+ " 10/1 1.03370 \n",
+ " 11/1 1.04616 \n",
+ " 12/1 1.04458 1.04537 +/- 0.00079\n",
+ " 13/1 1.02171 1.03748 +/- 0.00790\n",
+ " 14/1 1.02060 1.03326 +/- 0.00700\n",
+ " 15/1 1.01653 1.02992 +/- 0.00637\n",
+ " 16/1 1.02956 1.02986 +/- 0.00520\n",
+ " 17/1 1.01145 1.02723 +/- 0.00512\n",
+ " 18/1 1.03774 1.02854 +/- 0.00463\n",
+ " 19/1 1.00829 1.02629 +/- 0.00466\n",
+ " 20/1 1.03624 1.02729 +/- 0.00429\n",
+ " 21/1 1.03296 1.02780 +/- 0.00391\n",
+ " 22/1 0.99315 1.02491 +/- 0.00459\n",
+ " 23/1 0.99628 1.02271 +/- 0.00476\n",
+ " 24/1 1.04034 1.02397 +/- 0.00459\n",
+ " 25/1 1.02523 1.02406 +/- 0.00427\n",
+ " 26/1 1.07905 1.02749 +/- 0.00527\n",
+ " 27/1 1.01678 1.02686 +/- 0.00499\n",
+ " 28/1 1.01817 1.02638 +/- 0.00473\n",
+ " 29/1 1.03293 1.02672 +/- 0.00449\n",
+ " 30/1 1.01224 1.02600 +/- 0.00432\n",
+ " 31/1 1.01524 1.02549 +/- 0.00414\n",
+ " 32/1 1.00996 1.02478 +/- 0.00401\n",
+ " 33/1 1.05545 1.02612 +/- 0.00406\n",
+ " 34/1 1.02082 1.02589 +/- 0.00389\n",
+ " 35/1 0.99120 1.02451 +/- 0.00398\n",
+ " 36/1 1.03012 1.02472 +/- 0.00383\n",
+ " 37/1 1.01179 1.02424 +/- 0.00372\n",
+ " 38/1 1.04023 1.02481 +/- 0.00363\n",
+ " 39/1 1.05876 1.02598 +/- 0.00369\n",
+ " 40/1 0.99332 1.02490 +/- 0.00373\n",
+ " 41/1 1.05319 1.02581 +/- 0.00372\n",
+ " 42/1 1.03381 1.02606 +/- 0.00361\n",
+ " 43/1 1.00607 1.02545 +/- 0.00355\n",
+ " 44/1 1.03957 1.02587 +/- 0.00347\n",
+ " 45/1 1.02472 1.02584 +/- 0.00337\n",
+ " 46/1 1.00948 1.02538 +/- 0.00331\n",
+ " 47/1 1.02380 1.02534 +/- 0.00322\n",
+ " 48/1 1.05392 1.02609 +/- 0.00322\n",
+ " 49/1 1.01171 1.02572 +/- 0.00316\n",
+ " 50/1 1.03942 1.02606 +/- 0.00310\n",
" Creating state point statepoint.50.h5...\n",
"\n",
" ===========================================================================\n",
@@ -1181,27 +1193,27 @@
"\n",
" =======================> TIMING STATISTICS <=======================\n",
"\n",
- " Total time for initialization = 4.6000E-02 seconds\n",
- " Reading cross sections = 8.0000E-03 seconds\n",
- " Total time in simulation = 5.5889E+01 seconds\n",
- " Time in transport only = 5.5863E+01 seconds\n",
- " Time in inactive batches = 7.1040E+00 seconds\n",
- " Time in active batches = 4.8785E+01 seconds\n",
- " Time synchronizing fission bank = 1.6000E-02 seconds\n",
- " Sampling source sites = 1.0000E-02 seconds\n",
- " SEND/RECV source sites = 6.0000E-03 seconds\n",
- " Time accumulating tallies = 1.0000E-03 seconds\n",
+ " Total time for initialization = 4.1000E-02 seconds\n",
+ " Reading cross sections = 4.0000E-03 seconds\n",
+ " Total time in simulation = 3.1713E+01 seconds\n",
+ " Time in transport only = 3.1522E+01 seconds\n",
+ " Time in inactive batches = 3.8940E+00 seconds\n",
+ " Time in active batches = 2.7819E+01 seconds\n",
+ " Time synchronizing fission bank = 2.1000E-02 seconds\n",
+ " Sampling source sites = 1.2000E-02 seconds\n",
+ " SEND/RECV source sites = 9.0000E-03 seconds\n",
+ " Time accumulating tallies = 0.0000E+00 seconds\n",
" Total time for finalization = 0.0000E+00 seconds\n",
- " Total time elapsed = 5.5976E+01 seconds\n",
- " Calculation Rate (inactive) = 7038.29 neutrons/second\n",
- " Calculation Rate (active) = 4099.62 neutrons/second\n",
+ " Total time elapsed = 3.1791E+01 seconds\n",
+ " Calculation Rate (inactive) = 12840.3 neutrons/second\n",
+ " Calculation Rate (active) = 7189.33 neutrons/second\n",
"\n",
" ============================> RESULTS <============================\n",
"\n",
- " k-effective (Collision) = 1.02638 +/- 0.00260\n",
- " k-effective (Track-length) = 1.02331 +/- 0.00292\n",
- " k-effective (Absorption) = 1.02579 +/- 0.00132\n",
- " Combined k-effective = 1.02558 +/- 0.00136\n",
+ " k-effective (Collision) = 1.02474 +/- 0.00282\n",
+ " k-effective (Track-length) = 1.02606 +/- 0.00310\n",
+ " k-effective (Absorption) = 1.02589 +/- 0.00165\n",
+ " Combined k-effective = 1.02601 +/- 0.00170\n",
" Leakage Fraction = 0.00000 +/- 0.00000\n",
"\n"
]
@@ -1283,8 +1295,8 @@
"output_type": "stream",
"text": [
"Continuous-Energy keff = 1.024295\n",
- "Multi-Group keff = 1.025577\n",
- "bias [pcm]: -128.2\n"
+ "Multi-Group keff = 1.026013\n",
+ "bias [pcm]: -171.8\n"
]
}
],
@@ -1381,7 +1393,7 @@
{
"data": {
"text/plain": [
- ""
+ ""
]
},
"execution_count": 40,
@@ -1390,9 +1402,9 @@
},
{
"data": {
- "image/png": "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\n",
+ "image/png": "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\n",
"text/plain": [
- ""
+ ""
]
},
"metadata": {},
@@ -1437,21 +1449,21 @@
],
"metadata": {
"kernelspec": {
- "display_name": "Python 2",
+ "display_name": "Python 3",
"language": "python",
- "name": "python2"
+ "name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
- "version": 2
+ "version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
- "pygments_lexer": "ipython2",
- "version": "2.7.11"
+ "pygments_lexer": "ipython3",
+ "version": "3.5.2"
}
},
"nbformat": 4,
diff --git a/docs/source/pythonapi/examples/pandas-dataframes.ipynb b/docs/source/pythonapi/examples/pandas-dataframes.ipynb
index 412013f2f4..f913e941af 100644
--- a/docs/source/pythonapi/examples/pandas-dataframes.ipynb
+++ b/docs/source/pythonapi/examples/pandas-dataframes.ipynb
@@ -111,7 +111,6 @@
"source": [
"# Instantiate a Materials collection\n",
"materials_file = openmc.Materials((fuel, water, zircaloy))\n",
- "materials_file.default_xs = '71c'\n",
"\n",
"# Export to \"materials.xml\"\n",
"materials_file.export_to_xml()"
@@ -370,7 +369,7 @@
"outputs": [
{
"data": {
- "image/png": "iVBORw0KGgoAAAANSUhEUgAAAPoAAAD6AgMAAAD1grKuAAAABGdBTUEAALGPC/xhBQAAACBjSFJN\nAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAADFBMVEX///9yEhLpgJFNv8Tq\nQYT7AAAAAWJLR0QAiAUdSAAAAAd0SU1FB+AHFxUkA9dy05MAAAPZSURBVGje7Zs7buMwEIZ9iey5\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+4PhbRAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDE2LTA3LTIzVDE2OjM2OjAzLTA1OjAwxjuLbgAA\nACV0RVh0ZGF0ZTptb2RpZnkAMjAxNi0wNy0yM1QxNjozNjowMy0wNTowMLdmM9IAAAAASUVORK5C\nYII=\n",
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAPoAAAD6AgMAAAD1grKuAAAABGdBTUEAALGPC/xhBQAAACBjSFJN\nAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAADFBMVEX///9yEhLpgJFNv8Tq\nQYT7AAAAAWJLR0QAiAUdSAAAAAd0SU1FB+AIHw8nG7lmgZ4AAAPZSURBVGje7Zs7buMwEIZ9iey5\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+4PhbRAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDE2LTA4LTMxVDEwOjM5OjI3LTA1OjAwYiZUvgAA\nACV0RVh0ZGF0ZTptb2RpZnkAMjAxNi0wOC0zMVQxMDozOToyNy0wNTowMBN77AIAAAAASUVORK5C\nYII=\n",
"text/plain": [
""
]
@@ -539,23 +538,37 @@
"output_type": "stream",
"text": [
"\n",
- " .d88888b. 888b d888 .d8888b.\n",
- " d88P\" \"Y88b 8888b d8888 d88P Y88b\n",
- " 888 888 88888b.d88888 888 888\n",
- " 888 888 88888b. .d88b. 88888b. 888Y88888P888 888 \n",
- " 888 888 888 \"88b d8P Y8b 888 \"88b 888 Y888P 888 888 \n",
- " 888 888 888 888 88888888 888 888 888 Y8P 888 888 888\n",
- " Y88b. .d88P 888 d88P Y8b. 888 888 888 \" 888 Y88b d88P\n",
- " \"Y88888P\" 88888P\" \"Y8888 888 888 888 888 \"Y8888P\"\n",
- "__________________888______________________________________________________\n",
- " 888\n",
- " 888\n",
+ " %%%%%%%%%%%%%%%\n",
+ " %%%%%%%%%%%%%%%%%%%%%%%%\n",
+ " %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",
+ " %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",
+ " %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",
+ " %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",
+ " %%%%%%%%%%%%%%%%%%%%%%%%\n",
+ " %%%%%%%%%%%%%%%%%%%%%%%%\n",
+ " ############### %%%%%%%%%%%%%%%%%%%%%%%%\n",
+ " ################## %%%%%%%%%%%%%%%%%%%%%%%\n",
+ " ################### %%%%%%%%%%%%%%%%%%%%%%%\n",
+ " #################### %%%%%%%%%%%%%%%%%%%%%%\n",
+ " ##################### %%%%%%%%%%%%%%%%%%%%%\n",
+ " ###################### %%%%%%%%%%%%%%%%%%%%\n",
+ " ####################### %%%%%%%%%%%%%%%%%%\n",
+ " ####################### %%%%%%%%%%%%%%%%%\n",
+ " ###################### %%%%%%%%%%%%%%%%%\n",
+ " #################### %%%%%%%%%%%%%%%%%\n",
+ " ################# %%%%%%%%%%%%%%%%%\n",
+ " ############### %%%%%%%%%%%%%%%%\n",
+ " ############ %%%%%%%%%%%%%%%\n",
+ " ######## %%%%%%%%%%%%%%\n",
+ " %%%%%%%%%%%\n",
"\n",
- " Copyright: 2011-2016 Massachusetts Institute of Technology\n",
- " License: http://openmc.readthedocs.io/en/latest/license.html\n",
- " Version: 0.7.1\n",
- " Git SHA1: 3d68c07625e33cd64188df03ee03e9c31b3d4b74\n",
- " Date/Time: 2016-07-23 16:36:04\n",
+ " | The OpenMC Monte Carlo Code\n",
+ " Copyright | 2011-2016 Massachusetts Institute of Technology\n",
+ " License | http://openmc.readthedocs.io/en/latest/license.html\n",
+ " Version | 0.8.0\n",
+ " Git SHA1 | fbebf7bf709fe2fe1813af95bff9b29c0d59312c\n",
+ " Date/Time | 2016-08-31 10:39:27\n",
+ " OpenMP Threads | 4\n",
"\n",
" ===========================================================================\n",
" ========================> INITIALIZATION <=========================\n",
@@ -565,13 +578,13 @@
" Reading geometry XML file...\n",
" Reading cross sections XML file...\n",
" Reading materials XML file...\n",
- " Reading U235.71c from /home/romano/openmc/data/nndc_hdf5/U235_71c.h5\n",
- " Reading U238.71c from /home/romano/openmc/data/nndc_hdf5/U238_71c.h5\n",
- " Reading O16.71c from /home/romano/openmc/data/nndc_hdf5/O16_71c.h5\n",
- " Reading H1.71c from /home/romano/openmc/data/nndc_hdf5/H1_71c.h5\n",
- " Reading B10.71c from /home/romano/openmc/data/nndc_hdf5/B10_71c.h5\n",
- " Reading Zr90.71c from /home/romano/openmc/data/nndc_hdf5/Zr90_71c.h5\n",
- " Maximum neutron transport energy: 20.0000 MeV for U235.71c\n",
+ " Reading U235 from /home/romano/openmc/data/nndc_hdf5/U235.h5\n",
+ " Reading U238 from /home/romano/openmc/data/nndc_hdf5/U238.h5\n",
+ " Reading O16 from /home/romano/openmc/data/nndc_hdf5/O16.h5\n",
+ " Reading H1 from /home/romano/openmc/data/nndc_hdf5/H1.h5\n",
+ " Reading B10 from /home/romano/openmc/data/nndc_hdf5/B10.h5\n",
+ " Reading Zr90 from /home/romano/openmc/data/nndc_hdf5/Zr90.h5\n",
+ " Maximum neutron transport energy: 20.0000 MeV for U235\n",
" Reading tallies XML file...\n",
" Building neighboring cells lists for each surface...\n",
" Initializing source particles...\n",
@@ -618,20 +631,20 @@
"\n",
" =======================> TIMING STATISTICS <=======================\n",
"\n",
- " Total time for initialization = 4.2600E-01 seconds\n",
- " Reading cross sections = 2.9500E-01 seconds\n",
- " Total time in simulation = 1.1986E+01 seconds\n",
- " Time in transport only = 1.1977E+01 seconds\n",
- " Time in inactive batches = 1.8370E+00 seconds\n",
- " Time in active batches = 1.0149E+01 seconds\n",
- " Time synchronizing fission bank = 2.0000E-03 seconds\n",
+ " Total time for initialization = 4.4100E-01 seconds\n",
+ " Reading cross sections = 3.1500E-01 seconds\n",
+ " Total time in simulation = 5.7690E+00 seconds\n",
+ " Time in transport only = 5.7370E+00 seconds\n",
+ " Time in inactive batches = 7.9400E-01 seconds\n",
+ " Time in active batches = 4.9750E+00 seconds\n",
+ " Time synchronizing fission bank = 1.0000E-03 seconds\n",
" Sampling source sites = 1.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 = 1.2431E+01 seconds\n",
- " Calculation Rate (inactive) = 6804.57 neutrons/second\n",
- " Calculation Rate (active) = 3694.95 neutrons/second\n",
+ " Total time elapsed = 6.2280E+00 seconds\n",
+ " Calculation Rate (inactive) = 15743.1 neutrons/second\n",
+ " Calculation Rate (active) = 7537.69 neutrons/second\n",
"\n",
" ============================> RESULTS <============================\n",
"\n",
@@ -744,10 +757,10 @@
"text": [
"[[[ 0.1501735 ]]\n",
"\n",
- " [[ 0.05936257]]\n",
- "\n",
" [[ 0.21402727]]\n",
"\n",
+ " [[ 0.05936257]]\n",
+ "\n",
" [[ 0.13436703]]]\n"
]
}
@@ -848,8 +861,8 @@
"
0.00e+00
\n",
"
6.25e-07
\n",
"
fission
\n",
- "
3.52e-04
\n",
- "
3.39e-05
\n",
+ "
2.32e-04
\n",
+ "
4.97e-05
\n",
"
\n",
"
\n",
"
5
\n",
@@ -859,8 +872,8 @@
"
0.00e+00
\n",
"
6.25e-07
\n",
"
nu-fission
\n",
- "
8.57e-04
\n",
- "
8.26e-05
\n",
+ "
5.65e-04
\n",
+ "
1.21e-04
\n",
"
\n",
"
\n",
"
6
\n",
@@ -870,8 +883,8 @@
"
6.25e-07
\n",
"
2.00e+01
\n",
"
fission
\n",
- "
1.02e-04
\n",
- "
6.16e-06
\n",
+ "
6.96e-05
\n",
+ "
6.90e-06
\n",
"
\n",
"
\n",
"
7
\n",
@@ -881,8 +894,8 @@
"
6.25e-07
\n",
"
2.00e+01
\n",
"
nu-fission
\n",
- "
2.70e-04
\n",
- "
1.61e-05
\n",
+ "
1.86e-04
\n",
+ "
1.90e-05
\n",
"
\n",
"
\n",
"
8
\n",
@@ -892,8 +905,8 @@
"
0.00e+00
\n",
"
6.25e-07
\n",
"
fission
\n",
- "
6.09e-04
\n",
- "
6.55e-05
\n",
+ "
2.43e-04
\n",
+ "
3.24e-05
\n",
"
\n",
"
\n",
"
9
\n",
@@ -903,8 +916,8 @@
"
0.00e+00
\n",
"
6.25e-07
\n",
"
nu-fission
\n",
- "
1.48e-03
\n",
- "
1.60e-04
\n",
+ "
5.91e-04
\n",
+ "
7.90e-05
\n",
"
\n",
"
\n",
"
10
\n",
@@ -914,8 +927,8 @@
"
6.25e-07
\n",
"
2.00e+01
\n",
"
fission
\n",
- "
1.38e-04
\n",
- "
6.74e-06
\n",
+ "
7.27e-05
\n",
+ "
4.76e-06
\n",
"
\n",
"
\n",
"
11
\n",
@@ -925,8 +938,8 @@
"
6.25e-07
\n",
"
2.00e+01
\n",
"
nu-fission
\n",
- "
3.65e-04
\n",
- "
1.88e-05
\n",
+ "
1.93e-04
\n",
+ "
1.14e-05
\n",
"
\n",
"
\n",
"
12
\n",
@@ -936,8 +949,8 @@
"
0.00e+00
\n",
"
6.25e-07
\n",
"
fission
\n",
- "
6.23e-04
\n",
- "
5.16e-05
\n",
+ "
2.61e-04
\n",
+ "
4.48e-05
\n",
"
\n",
"
\n",
"
13
\n",
@@ -947,8 +960,8 @@
"
0.00e+00
\n",
"
6.25e-07
\n",
"
nu-fission
\n",
- "
1.52e-03
\n",
- "
1.26e-04
\n",
+ "
6.35e-04
\n",
+ "
1.09e-04
\n",
"
\n",
"
\n",
"
14
\n",
@@ -958,8 +971,8 @@
"
6.25e-07
\n",
"
2.00e+01
\n",
"
fission
\n",
- "
1.74e-04
\n",
- "
9.99e-06
\n",
+ "
6.00e-05
\n",
+ "
4.53e-06
\n",
"
\n",
"
\n",
"
15
\n",
@@ -969,8 +982,8 @@
"
6.25e-07
\n",
"
2.00e+01
\n",
"
nu-fission
\n",
- "
4.58e-04
\n",
- "
2.68e-05
\n",
+ "
1.59e-04
\n",
+ "
1.17e-05
\n",
"
\n",
"
\n",
"
16
\n",
@@ -980,8 +993,8 @@
"
0.00e+00
\n",
"
6.25e-07
\n",
"
fission
\n",
- "
6.94e-04
\n",
- "
8.68e-05
\n",
+ "
2.23e-04
\n",
+ "
2.89e-05
\n",
"
\n",
"
\n",
"
17
\n",
@@ -991,8 +1004,8 @@
"
0.00e+00
\n",
"
6.25e-07
\n",
"
nu-fission
\n",
- "
1.69e-03
\n",
- "
2.12e-04
\n",
+ "
5.43e-04
\n",
+ "
7.04e-05
\n",
"
\n",
"
\n",
"
18
\n",
@@ -1002,8 +1015,8 @@
"
6.25e-07
\n",
"
2.00e+01
\n",
"
fission
\n",
- "
1.75e-04
\n",
- "
1.10e-05
\n",
+ "
7.93e-05
\n",
+ "
7.77e-06
\n",
"
\n",
"
\n",
"
19
\n",
@@ -1013,8 +1026,8 @@
"
6.25e-07
\n",
"
2.00e+01
\n",
"
nu-fission
\n",
- "
4.55e-04
\n",
- "
2.80e-05
\n",
+ "
2.07e-04
\n",
+ "
1.94e-05
\n",
"
\n",
" \n",
"\n",
@@ -1027,22 +1040,22 @@
"1 1 1 1 0.00e+00 6.25e-07 nu-fission 5.37e-04 \n",
"2 1 1 1 6.25e-07 2.00e+01 fission 7.43e-05 \n",
"3 1 1 1 6.25e-07 2.00e+01 nu-fission 1.97e-04 \n",
- "4 1 2 1 0.00e+00 6.25e-07 fission 3.52e-04 \n",
- "5 1 2 1 0.00e+00 6.25e-07 nu-fission 8.57e-04 \n",
- "6 1 2 1 6.25e-07 2.00e+01 fission 1.02e-04 \n",
- "7 1 2 1 6.25e-07 2.00e+01 nu-fission 2.70e-04 \n",
- "8 1 3 1 0.00e+00 6.25e-07 fission 6.09e-04 \n",
- "9 1 3 1 0.00e+00 6.25e-07 nu-fission 1.48e-03 \n",
- "10 1 3 1 6.25e-07 2.00e+01 fission 1.38e-04 \n",
- "11 1 3 1 6.25e-07 2.00e+01 nu-fission 3.65e-04 \n",
- "12 1 4 1 0.00e+00 6.25e-07 fission 6.23e-04 \n",
- "13 1 4 1 0.00e+00 6.25e-07 nu-fission 1.52e-03 \n",
- "14 1 4 1 6.25e-07 2.00e+01 fission 1.74e-04 \n",
- "15 1 4 1 6.25e-07 2.00e+01 nu-fission 4.58e-04 \n",
- "16 1 5 1 0.00e+00 6.25e-07 fission 6.94e-04 \n",
- "17 1 5 1 0.00e+00 6.25e-07 nu-fission 1.69e-03 \n",
- "18 1 5 1 6.25e-07 2.00e+01 fission 1.75e-04 \n",
- "19 1 5 1 6.25e-07 2.00e+01 nu-fission 4.55e-04 \n",
+ "4 1 2 1 0.00e+00 6.25e-07 fission 2.32e-04 \n",
+ "5 1 2 1 0.00e+00 6.25e-07 nu-fission 5.65e-04 \n",
+ "6 1 2 1 6.25e-07 2.00e+01 fission 6.96e-05 \n",
+ "7 1 2 1 6.25e-07 2.00e+01 nu-fission 1.86e-04 \n",
+ "8 1 3 1 0.00e+00 6.25e-07 fission 2.43e-04 \n",
+ "9 1 3 1 0.00e+00 6.25e-07 nu-fission 5.91e-04 \n",
+ "10 1 3 1 6.25e-07 2.00e+01 fission 7.27e-05 \n",
+ "11 1 3 1 6.25e-07 2.00e+01 nu-fission 1.93e-04 \n",
+ "12 1 4 1 0.00e+00 6.25e-07 fission 2.61e-04 \n",
+ "13 1 4 1 0.00e+00 6.25e-07 nu-fission 6.35e-04 \n",
+ "14 1 4 1 6.25e-07 2.00e+01 fission 6.00e-05 \n",
+ "15 1 4 1 6.25e-07 2.00e+01 nu-fission 1.59e-04 \n",
+ "16 1 5 1 0.00e+00 6.25e-07 fission 2.23e-04 \n",
+ "17 1 5 1 0.00e+00 6.25e-07 nu-fission 5.43e-04 \n",
+ "18 1 5 1 6.25e-07 2.00e+01 fission 7.93e-05 \n",
+ "19 1 5 1 6.25e-07 2.00e+01 nu-fission 2.07e-04 \n",
"\n",
" std. dev. \n",
" \n",
@@ -1050,22 +1063,22 @@
"1 8.06e-05 \n",
"2 7.91e-06 \n",
"3 1.96e-05 \n",
- "4 3.39e-05 \n",
- "5 8.26e-05 \n",
- "6 6.16e-06 \n",
- "7 1.61e-05 \n",
- "8 6.55e-05 \n",
- "9 1.60e-04 \n",
- "10 6.74e-06 \n",
- "11 1.88e-05 \n",
- "12 5.16e-05 \n",
- "13 1.26e-04 \n",
- "14 9.99e-06 \n",
- "15 2.68e-05 \n",
- "16 8.68e-05 \n",
- "17 2.12e-04 \n",
- "18 1.10e-05 \n",
- "19 2.80e-05 "
+ "4 4.97e-05 \n",
+ "5 1.21e-04 \n",
+ "6 6.90e-06 \n",
+ "7 1.90e-05 \n",
+ "8 3.24e-05 \n",
+ "9 7.90e-05 \n",
+ "10 4.76e-06 \n",
+ "11 1.14e-05 \n",
+ "12 4.48e-05 \n",
+ "13 1.09e-04 \n",
+ "14 4.53e-06 \n",
+ "15 1.17e-05 \n",
+ "16 2.89e-05 \n",
+ "17 7.04e-05 \n",
+ "18 7.77e-06 \n",
+ "19 1.94e-05 "
]
},
"execution_count": 24,
@@ -1095,7 +1108,7 @@
"data": {
"image/png": "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\n/wf1F+RhutXrZwAAAABJRU5ErkJggg==\n",
"text/plain": [
- ""
+ ""
]
},
"metadata": {},
@@ -1118,7 +1131,7 @@
{
"data": {
"text/plain": [
- ""
+ ""
]
},
"execution_count": 26,
@@ -1127,9 +1140,9 @@
},
{
"data": {
- "image/png": "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\nJ/KLgSwAAAAASUVORK5CYII=\n",
+ "image/png": "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\nAAAAAElFTkSuQmCC\n",
"text/plain": [
- ""
+ ""
]
},
"metadata": {},
@@ -2124,7 +2137,7 @@
{
"data": {
"text/plain": [
- ""
+ ""
]
},
"execution_count": 36,
@@ -2135,7 +2148,7 @@
"data": {
"image/png": "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\nSUVORK5CYII=\n",
"text/plain": [
- ""
+ ""
]
},
"metadata": {},
@@ -2162,7 +2175,7 @@
{
"data": {
"text/plain": [
- ""
+ ""
]
},
"execution_count": 37,
@@ -2173,7 +2186,7 @@
"data": {
"image/png": "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\n",
"text/plain": [
- ""
+ ""
]
},
"metadata": {},
diff --git a/docs/source/pythonapi/examples/post-processing.ipynb b/docs/source/pythonapi/examples/post-processing.ipynb
index 19182aa7aa..a68ebb6046 100644
--- a/docs/source/pythonapi/examples/post-processing.ipynb
+++ b/docs/source/pythonapi/examples/post-processing.ipynb
@@ -106,7 +106,6 @@
"source": [
"# Instantiate a Materials collection\n",
"materials_file = openmc.Materials((fuel, water, zircaloy))\n",
- "materials_file.default_xs = '71c'\n",
"\n",
"# Export to \"materials.xml\"\n",
"materials_file.export_to_xml()"
@@ -339,7 +338,7 @@
"outputs": [
{
"data": {
- "image/png": "iVBORw0KGgoAAAANSUhEUgAAAPoAAAD6AgMAAAD1grKuAAAABGdBTUEAALGPC/xhBQAAACBjSFJN\nAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAADFBMVEX///9yEhLpgJFNv8Tq\nQYT7AAAAAWJLR0QAiAUdSAAAAAd0SU1FB+AHFwIoGZ/M0BAAAALKSURBVGje7dpLcqQwDAbgHHE2\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/4vzcvgeY10sY0AAAAldEVYdGRhdGU6Y3JlYXRlADIwMTYtMDctMjJUMjE6NDA6\nMjUtMDU6MDBskW7/AAAAJXRFWHRkYXRlOm1vZGlmeQAyMDE2LTA3LTIyVDIxOjQwOjI1LTA1OjAw\nHczWQwAAAABJRU5ErkJggg==\n",
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAPoAAAD6AgMAAAD1grKuAAAABGdBTUEAALGPC/xhBQAAACBjSFJN\nAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAADFBMVEX///9yEhLpgJFNv8Tq\nQYT7AAAAAWJLR0QAiAUdSAAAAAd0SU1FB+AIHw8eOWKCTcAAAALKSURBVGje7dpLcqQwDAbgHHE2\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/4vzcvgeY10sY0AAAAldEVYdGRhdGU6Y3JlYXRlADIwMTYtMDgtMzFUMTA6MzA6\nNTctMDU6MDCU9nZtAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDE2LTA4LTMxVDEwOjMwOjU3LTA1OjAw\n5avO0QAAAABJRU5ErkJggg==\n",
"text/plain": [
""
]
@@ -433,23 +432,37 @@
"output_type": "stream",
"text": [
"\n",
- " .d88888b. 888b d888 .d8888b.\n",
- " d88P\" \"Y88b 8888b d8888 d88P Y88b\n",
- " 888 888 88888b.d88888 888 888\n",
- " 888 888 88888b. .d88b. 88888b. 888Y88888P888 888 \n",
- " 888 888 888 \"88b d8P Y8b 888 \"88b 888 Y888P 888 888 \n",
- " 888 888 888 888 88888888 888 888 888 Y8P 888 888 888\n",
- " Y88b. .d88P 888 d88P Y8b. 888 888 888 \" 888 Y88b d88P\n",
- " \"Y88888P\" 88888P\" \"Y8888 888 888 888 888 \"Y8888P\"\n",
- "__________________888______________________________________________________\n",
- " 888\n",
- " 888\n",
+ " %%%%%%%%%%%%%%%\n",
+ " %%%%%%%%%%%%%%%%%%%%%%%%\n",
+ " %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",
+ " %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",
+ " %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",
+ " %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",
+ " %%%%%%%%%%%%%%%%%%%%%%%%\n",
+ " %%%%%%%%%%%%%%%%%%%%%%%%\n",
+ " ############### %%%%%%%%%%%%%%%%%%%%%%%%\n",
+ " ################## %%%%%%%%%%%%%%%%%%%%%%%\n",
+ " ################### %%%%%%%%%%%%%%%%%%%%%%%\n",
+ " #################### %%%%%%%%%%%%%%%%%%%%%%\n",
+ " ##################### %%%%%%%%%%%%%%%%%%%%%\n",
+ " ###################### %%%%%%%%%%%%%%%%%%%%\n",
+ " ####################### %%%%%%%%%%%%%%%%%%\n",
+ " ####################### %%%%%%%%%%%%%%%%%\n",
+ " ###################### %%%%%%%%%%%%%%%%%\n",
+ " #################### %%%%%%%%%%%%%%%%%\n",
+ " ################# %%%%%%%%%%%%%%%%%\n",
+ " ############### %%%%%%%%%%%%%%%%\n",
+ " ############ %%%%%%%%%%%%%%%\n",
+ " ######## %%%%%%%%%%%%%%\n",
+ " %%%%%%%%%%%\n",
"\n",
- " Copyright: 2011-2016 Massachusetts Institute of Technology\n",
- " License: http://openmc.readthedocs.io/en/latest/license.html\n",
- " Version: 0.7.1\n",
- " Git SHA1: 3d68c07625e33cd64188df03ee03e9c31b3d4b74\n",
- " Date/Time: 2016-07-22 21:40:25\n",
+ " | The OpenMC Monte Carlo Code\n",
+ " Copyright | 2011-2016 Massachusetts Institute of Technology\n",
+ " License | http://openmc.readthedocs.io/en/latest/license.html\n",
+ " Version | 0.8.0\n",
+ " Git SHA1 | fbebf7bf709fe2fe1813af95bff9b29c0d59312c\n",
+ " Date/Time | 2016-08-31 10:30:57\n",
+ " OpenMP Threads | 4\n",
"\n",
" ===========================================================================\n",
" ========================> INITIALIZATION <=========================\n",
@@ -459,13 +472,13 @@
" Reading geometry XML file...\n",
" Reading cross sections XML file...\n",
" Reading materials XML file...\n",
- " Reading U235.71c from /home/romano/openmc/data/nndc_hdf5/U235_71c.h5\n",
- " Reading U238.71c from /home/romano/openmc/data/nndc_hdf5/U238_71c.h5\n",
- " Reading O16.71c from /home/romano/openmc/data/nndc_hdf5/O16_71c.h5\n",
- " Reading H1.71c from /home/romano/openmc/data/nndc_hdf5/H1_71c.h5\n",
- " Reading B10.71c from /home/romano/openmc/data/nndc_hdf5/B10_71c.h5\n",
- " Reading Zr90.71c from /home/romano/openmc/data/nndc_hdf5/Zr90_71c.h5\n",
- " Maximum neutron transport energy: 20.0000 MeV for U235.71c\n",
+ " Reading U235 from /home/romano/openmc/data/nndc_hdf5/U235.h5\n",
+ " Reading U238 from /home/romano/openmc/data/nndc_hdf5/U238.h5\n",
+ " Reading O16 from /home/romano/openmc/data/nndc_hdf5/O16.h5\n",
+ " Reading H1 from /home/romano/openmc/data/nndc_hdf5/H1.h5\n",
+ " Reading B10 from /home/romano/openmc/data/nndc_hdf5/B10.h5\n",
+ " Reading Zr90 from /home/romano/openmc/data/nndc_hdf5/Zr90.h5\n",
+ " Maximum neutron transport energy: 20.0000 MeV for U235\n",
" Reading tallies XML file...\n",
" Building neighboring cells lists for each surface...\n",
" Initializing source particles...\n",
@@ -585,20 +598,20 @@
"\n",
" =======================> TIMING STATISTICS <=======================\n",
"\n",
- " Total time for initialization = 3.5100E-01 seconds\n",
- " Reading cross sections = 1.8600E-01 seconds\n",
- " Total time in simulation = 3.1672E+02 seconds\n",
- " Time in transport only = 3.1667E+02 seconds\n",
- " Time in inactive batches = 1.0782E+01 seconds\n",
- " Time in active batches = 3.0594E+02 seconds\n",
- " Time synchronizing fission bank = 2.1000E-02 seconds\n",
- " Sampling source sites = 1.2000E-02 seconds\n",
- " SEND/RECV source sites = 9.0000E-03 seconds\n",
- " Time accumulating tallies = 1.7000E-02 seconds\n",
- " Total time for finalization = 1.8100E-01 seconds\n",
- " Total time elapsed = 3.1729E+02 seconds\n",
- " Calculation Rate (inactive) = 4637.36 neutrons/second\n",
- " Calculation Rate (active) = 1470.89 neutrons/second\n",
+ " Total time for initialization = 4.4800E-01 seconds\n",
+ " Reading cross sections = 3.1000E-01 seconds\n",
+ " Total time in simulation = 3.4103E+02 seconds\n",
+ " Time in transport only = 3.4086E+02 seconds\n",
+ " Time in inactive batches = 4.8890E+00 seconds\n",
+ " Time in active batches = 3.3614E+02 seconds\n",
+ " Time synchronizing fission bank = 1.5000E-02 seconds\n",
+ " Sampling source sites = 1.1000E-02 seconds\n",
+ " SEND/RECV source sites = 4.0000E-03 seconds\n",
+ " Time accumulating tallies = 1.9000E-02 seconds\n",
+ " Total time for finalization = 1.8200E-01 seconds\n",
+ " Total time elapsed = 3.4170E+02 seconds\n",
+ " Calculation Rate (inactive) = 10227.0 neutrons/second\n",
+ " Calculation Rate (active) = 1338.71 neutrons/second\n",
"\n",
" ============================> RESULTS <============================\n",
"\n",
@@ -707,14 +720,14 @@
"text/plain": [
"array([[[ 0.40945685, 0. ]],\n",
"\n",
- " [[ 0.40939021, 0. ]],\n",
+ " [[ 0.41078582, 0. ]],\n",
"\n",
- " [[ 0.410625 , 0. ]],\n",
+ " [[ 0.40926432, 0. ]],\n",
"\n",
" ..., \n",
- " [[ 0.41130501, 0. ]],\n",
+ " [[ 0.41362317, 0. ]],\n",
"\n",
- " [[ 0.41228849, 0. ]],\n",
+ " [[ 0.41335428, 0. ]],\n",
"\n",
" [[ 0.41420317, 0. ]]])"
]
@@ -754,26 +767,26 @@
"text/plain": [
"(array([[[ 0.00454952, 0. ]],\n",
" \n",
- " [[ 0.00454878, 0. ]],\n",
+ " [[ 0.00456429, 0. ]],\n",
" \n",
- " [[ 0.0045625 , 0. ]],\n",
+ " [[ 0.00454738, 0. ]],\n",
" \n",
" ..., \n",
- " [[ 0.00457006, 0. ]],\n",
+ " [[ 0.00459581, 0. ]],\n",
" \n",
- " [[ 0.00458098, 0. ]],\n",
+ " [[ 0.00459283, 0. ]],\n",
" \n",
" [[ 0.00460226, 0. ]]]),\n",
" array([[[ 1.64748193e-05, 0.00000000e+00]],\n",
" \n",
- " [[ 1.70922989e-05, 0.00000000e+00]],\n",
+ " [[ 1.74996463e-05, 0.00000000e+00]],\n",
" \n",
- " [[ 1.67622385e-05, 0.00000000e+00]],\n",
+ " [[ 1.74392771e-05, 0.00000000e+00]],\n",
" \n",
" ..., \n",
- " [[ 1.69274948e-05, 0.00000000e+00]],\n",
+ " [[ 1.73541566e-05, 0.00000000e+00]],\n",
" \n",
- " [[ 1.57842763e-05, 0.00000000e+00]],\n",
+ " [[ 1.67854889e-05, 0.00000000e+00]],\n",
" \n",
" [[ 2.06590062e-05, 0.00000000e+00]]]))"
]
@@ -855,7 +868,7 @@
{
"data": {
"text/plain": [
- ""
+ ""
]
},
"execution_count": 24,
@@ -864,9 +877,9 @@
},
{
"data": {
- "image/png": "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\nAElFTkSuQmCC\n",
+ "image/png": "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\n",
"text/plain": [
- ""
+ ""
]
},
"metadata": {},
@@ -898,7 +911,7 @@
"data": {
"image/png": "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\n",
"text/plain": [
- ""
+ ""
]
},
"metadata": {},
@@ -1012,7 +1025,7 @@
{
"data": {
"text/plain": [
- ""
+ ""
]
},
"execution_count": 28,
@@ -1023,7 +1036,7 @@
"data": {
"image/png": "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\nrkJggg==\n",
"text/plain": [
- ""
+ ""
]
},
"metadata": {},
@@ -1074,7 +1087,7 @@
"data": {
"image/png": "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\n",
"text/plain": [
- ""
+ ""
]
},
"metadata": {},
diff --git a/docs/source/pythonapi/examples/tally-arithmetic.ipynb b/docs/source/pythonapi/examples/tally-arithmetic.ipynb
index dfd493f168..763e80d204 100644
--- a/docs/source/pythonapi/examples/tally-arithmetic.ipynb
+++ b/docs/source/pythonapi/examples/tally-arithmetic.ipynb
@@ -105,7 +105,6 @@
"source": [
"# Instantiate a Materials collection\n",
"materials_file = openmc.Materials((fuel, water, zircaloy))\n",
- "materials_file.default_xs = '71c'\n",
"\n",
"# Export to \"materials.xml\"\n",
"materials_file.export_to_xml()"
@@ -339,7 +338,7 @@
"outputs": [
{
"data": {
- "image/png": "iVBORw0KGgoAAAANSUhEUgAAAPoAAAD6AgMAAAD1grKuAAAABGdBTUEAALGPC/xhBQAAACBjSFJN\nAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAADFBMVEX///9yEhLpgJFNv8Tq\nQYT7AAAAAWJLR0QAiAUdSAAAAAd0SU1FB+AHFwInLqDpadAAAALKSURBVGje7dpLcqQwDAbgHHE2\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/4vzcvgeY10sY0AAAAldEVYdGRhdGU6Y3JlYXRlADIwMTYtMDctMjJUMjE6Mzk6\nNDYtMDU6MDBOOEOsAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDE2LTA3LTIyVDIxOjM5OjQ2LTA1OjAw\nP2X7EAAAAABJRU5ErkJggg==\n",
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAPoAAAD6AgMAAAD1grKuAAAABGdBTUEAALGPC/xhBQAAACBjSFJN\nAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAADFBMVEX///9yEhLpgJFNv8Tq\nQYT7AAAAAWJLR0QAiAUdSAAAAAd0SU1FB+AIHw8dMt59x4sAAALKSURBVGje7dpLcqQwDAbgHHE2\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/4vzcvgeY10sY0AAAAldEVYdGRhdGU6Y3JlYXRlADIwMTYtMDgtMzFUMTA6Mjk6\nNTAtMDU6MDBsyrzpAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDE2LTA4LTMxVDEwOjI5OjUwLTA1OjAw\nHZcEVQAAAABJRU5ErkJggg==\n",
"text/plain": [
""
]
@@ -527,23 +526,37 @@
"output_type": "stream",
"text": [
"\n",
- " .d88888b. 888b d888 .d8888b.\n",
- " d88P\" \"Y88b 8888b d8888 d88P Y88b\n",
- " 888 888 88888b.d88888 888 888\n",
- " 888 888 88888b. .d88b. 88888b. 888Y88888P888 888 \n",
- " 888 888 888 \"88b d8P Y8b 888 \"88b 888 Y888P 888 888 \n",
- " 888 888 888 888 88888888 888 888 888 Y8P 888 888 888\n",
- " Y88b. .d88P 888 d88P Y8b. 888 888 888 \" 888 Y88b d88P\n",
- " \"Y88888P\" 88888P\" \"Y8888 888 888 888 888 \"Y8888P\"\n",
- "__________________888______________________________________________________\n",
- " 888\n",
- " 888\n",
+ " %%%%%%%%%%%%%%%\n",
+ " %%%%%%%%%%%%%%%%%%%%%%%%\n",
+ " %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",
+ " %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",
+ " %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",
+ " %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",
+ " %%%%%%%%%%%%%%%%%%%%%%%%\n",
+ " %%%%%%%%%%%%%%%%%%%%%%%%\n",
+ " ############### %%%%%%%%%%%%%%%%%%%%%%%%\n",
+ " ################## %%%%%%%%%%%%%%%%%%%%%%%\n",
+ " ################### %%%%%%%%%%%%%%%%%%%%%%%\n",
+ " #################### %%%%%%%%%%%%%%%%%%%%%%\n",
+ " ##################### %%%%%%%%%%%%%%%%%%%%%\n",
+ " ###################### %%%%%%%%%%%%%%%%%%%%\n",
+ " ####################### %%%%%%%%%%%%%%%%%%\n",
+ " ####################### %%%%%%%%%%%%%%%%%\n",
+ " ###################### %%%%%%%%%%%%%%%%%\n",
+ " #################### %%%%%%%%%%%%%%%%%\n",
+ " ################# %%%%%%%%%%%%%%%%%\n",
+ " ############### %%%%%%%%%%%%%%%%\n",
+ " ############ %%%%%%%%%%%%%%%\n",
+ " ######## %%%%%%%%%%%%%%\n",
+ " %%%%%%%%%%%\n",
"\n",
- " Copyright: 2011-2016 Massachusetts Institute of Technology\n",
- " License: http://openmc.readthedocs.io/en/latest/license.html\n",
- " Version: 0.7.1\n",
- " Git SHA1: 3d68c07625e33cd64188df03ee03e9c31b3d4b74\n",
- " Date/Time: 2016-07-22 21:39:46\n",
+ " | The OpenMC Monte Carlo Code\n",
+ " Copyright | 2011-2016 Massachusetts Institute of Technology\n",
+ " License | http://openmc.readthedocs.io/en/latest/license.html\n",
+ " Version | 0.8.0\n",
+ " Git SHA1 | fbebf7bf709fe2fe1813af95bff9b29c0d59312c\n",
+ " Date/Time | 2016-08-31 10:29:51\n",
+ " OpenMP Threads | 4\n",
"\n",
" ===========================================================================\n",
" ========================> INITIALIZATION <=========================\n",
@@ -553,13 +566,13 @@
" Reading geometry XML file...\n",
" Reading cross sections XML file...\n",
" Reading materials XML file...\n",
- " Reading U235.71c from /home/romano/openmc/data/nndc_hdf5/U235_71c.h5\n",
- " Reading U238.71c from /home/romano/openmc/data/nndc_hdf5/U238_71c.h5\n",
- " Reading O16.71c from /home/romano/openmc/data/nndc_hdf5/O16_71c.h5\n",
- " Reading H1.71c from /home/romano/openmc/data/nndc_hdf5/H1_71c.h5\n",
- " Reading B10.71c from /home/romano/openmc/data/nndc_hdf5/B10_71c.h5\n",
- " Reading Zr90.71c from /home/romano/openmc/data/nndc_hdf5/Zr90_71c.h5\n",
- " Maximum neutron transport energy: 20.0000 MeV for U235.71c\n",
+ " Reading U235 from /home/romano/openmc/data/nndc_hdf5/U235.h5\n",
+ " Reading U238 from /home/romano/openmc/data/nndc_hdf5/U238.h5\n",
+ " Reading O16 from /home/romano/openmc/data/nndc_hdf5/O16.h5\n",
+ " Reading H1 from /home/romano/openmc/data/nndc_hdf5/H1.h5\n",
+ " Reading B10 from /home/romano/openmc/data/nndc_hdf5/B10.h5\n",
+ " Reading Zr90 from /home/romano/openmc/data/nndc_hdf5/Zr90.h5\n",
+ " Maximum neutron transport energy: 20.0000 MeV for U235\n",
" Reading tallies XML file...\n",
" Building neighboring cells lists for each surface...\n",
" Initializing source particles...\n",
@@ -599,20 +612,20 @@
"\n",
" =======================> TIMING STATISTICS <=======================\n",
"\n",
- " Total time for initialization = 3.5600E-01 seconds\n",
- " Reading cross sections = 2.3400E-01 seconds\n",
- " Total time in simulation = 1.8333E+01 seconds\n",
- " Time in transport only = 1.8325E+01 seconds\n",
- " Time in inactive batches = 2.6950E+00 seconds\n",
- " Time in active batches = 1.5638E+01 seconds\n",
- " Time synchronizing fission bank = 1.0000E-03 seconds\n",
- " Sampling source sites = 0.0000E+00 seconds\n",
- " SEND/RECV source sites = 1.0000E-03 seconds\n",
+ " Total time for initialization = 4.3100E-01 seconds\n",
+ " Reading cross sections = 3.0500E-01 seconds\n",
+ " Total time in simulation = 8.9870E+00 seconds\n",
+ " Time in transport only = 8.9500E+00 seconds\n",
+ " Time in inactive batches = 1.1950E+00 seconds\n",
+ " Time in active batches = 7.7920E+00 seconds\n",
+ " Time synchronizing fission bank = 5.0000E-03 seconds\n",
+ " Sampling source sites = 5.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 = 1.0000E-03 seconds\n",
- " Total time elapsed = 1.8711E+01 seconds\n",
- " Calculation Rate (inactive) = 4638.22 neutrons/second\n",
- " Calculation Rate (active) = 2398.00 neutrons/second\n",
+ " Total time elapsed = 9.4370E+00 seconds\n",
+ " Calculation Rate (inactive) = 10460.3 neutrons/second\n",
+ " Calculation Rate (active) = 4812.63 neutrons/second\n",
"\n",
" ============================> RESULTS <============================\n",
"\n",
diff --git a/docs/source/pythonapi/index.rst b/docs/source/pythonapi/index.rst
index 392c2c72df..14f4a2128d 100644
--- a/docs/source/pythonapi/index.rst
+++ b/docs/source/pythonapi/index.rst
@@ -334,6 +334,7 @@ Functions
:nosignatures:
openmc.model.create_triso_lattice
+ openmc.model.pack_trisos
--------------------------------------------
:mod:`openmc.data` -- Nuclear Data Interface
diff --git a/docs/source/usersguide/input.rst b/docs/source/usersguide/input.rst
index 57663594d5..e9126f16b3 100644
--- a/docs/source/usersguide/input.rst
+++ b/docs/source/usersguide/input.rst
@@ -281,6 +281,8 @@ based on the recommended value in LA-UR-14-24530_.
.. note:: This element is not used in the multi-group :ref:`energy_mode`.
+.. _multipole_library:
+
```` Element
-------------------------------
@@ -290,8 +292,8 @@ OpenMC can use it for on-the-fly Doppler-broadening of resolved resonance range
cross sections. If this element is absent from the settings.xml file, the
:envvar:`OPENMC_MULTIPOLE_LIBRARY` environment variable will be used.
- .. note:: The element must also be set to "true"
- for windowed multipole functionality.
+ .. note:: The :ref:`temperature_method` must also be set to "multipole" for
+ windowed multipole functionality.
```` Element
---------------------------
@@ -707,6 +709,47 @@ survival biasing, otherwise known as implicit capture or absorption.
*Default*: false
+.. _temperature_default:
+
+```` Element
+---------------------------------
+
+The ```` element specifies a default temperature in Kelvin
+that is to be applied to cells in the absence of an explicit cell temperature or
+a material default temperature.
+
+ *Default*: 293.6 K
+
+.. _temperature_method:
+
+```` Element
+--------------------------------
+
+The ```` element has an accepted value of "nearest" or
+"interpolation". A value of "nearest" indicates that for each cell, the nearest
+temperature at which cross sections are given is to be applied, within a given
+tolerance (see :ref:`temperature_tolerance`). A value of "interpolation"
+indicates that cross sections are to be interpolated between temperatures at
+which nuclear data are present. A value of "multipole" indicates that the
+windowed multipole method should be used to evaluate temperature-dependent cross
+sections in the resolved resonance range (a :ref:`windowed multipole library
+` must also be available).
+
+ *Default*: "nearest"
+
+.. _temperature_tolerance:
+
+```` Element
+-----------------------------------
+
+The ```` element specifies a tolerance in Kelvin that is
+to be applied when the "nearest" temperature method is used. For example, if a
+cell temperature is 340 K and the tolerance is 15 K, then the closest
+temperature in the range of 325 K to 355 K will be used to evaluate cross
+sections.
+
+ *Default*: 10 K
+
```` Element
---------------------
@@ -1083,7 +1126,9 @@ Each ```` element can have the following attributes or sub-elements:
specified for the "distributed temperature" feature. This will give each
unique instance of the cell its own temperature.
- *Default*: The temperature of the coldest nuclide in the cell's material(s)
+ *Default*: If a material default temperature is supplied, it is used. In the
+ absence of a material default temperature, the :ref:`global default
+ temperature ` is used.
:rotation:
If the cell is filled with a universe, this element specifies the angles in
@@ -1289,11 +1334,12 @@ Each ``material`` element can have the following attributes or sub-elements:
*Default*: ""
:temperature:
+ An element with no attributes which is used to set the default temperature
+ of the material in Kelvin.
- An element with no attributes which is used to set the temperature of the
- material. This element accepts a maximum 6-character string that indicates
- the default temperature rounded to the nearest integer in units of Kelvin,
- e.g. "294K".
+ *Default*: If a material default temperature is not given and a cell
+ temperature is not specified, the :ref:`global default temperature
+ ` is used.
:density:
An element with attributes/sub-elements called ``value`` and ``units``. The
@@ -1409,19 +1455,6 @@ Each ``material`` element can have the following attributes or sub-elements:
.. _IUPAC Isotopic Compositions of the Elements 2009:
http://pac.iupac.org/publications/pac/pdf/2011/pdf/8302x0397.pdf
-```` Element
-------------------------
-
-In some circumstances, the temperature may be the same for many or
-all materials in a given problem. In this case, rather than specifying the
-```` element on every material, a ````
-element can be used to set the default material temperature for any material
-without an explicitly provided temperature. This element has no attributes and
-accepts a maximum 6-character string that indicates the default temperature
-rounded to the nearest integer in units of Kelvin, e.g. "294K".
-
- *Default*: None
-
------------------------------------
Tallies Specification -- tallies.xml
------------------------------------
@@ -2102,8 +2135,8 @@ attributes or sub-elements. These are not used in "voxel" plots:
*Default*: None
:meshlines:
- The ``meshlines`` sub-element allows for plotting the boundaries of
- a tally mesh on top of a plot. Only one ``meshlines`` element is allowed per
+ The ``meshlines`` sub-element allows for plotting the boundaries of a
+ regular mesh on top of a plot. Only one ``meshlines`` element is allowed per
``plot`` element, and it must contain as attributes or sub-elements a mesh
type and a linewidth. Optionally, a color may be specified for the overlay:
diff --git a/examples/python/basic/build-xml.py b/examples/python/basic/build-xml.py
index 802debf8cd..022737fdb0 100644
--- a/examples/python/basic/build-xml.py
+++ b/examples/python/basic/build-xml.py
@@ -33,7 +33,6 @@ fuel.add_nuclide(u235, 1.)
# Instantiate a Materials collection and export to XML
materials_file = openmc.Materials([moderator, fuel])
-materials_file.default_temperature = '294K'
materials_file.export_to_xml()
diff --git a/examples/python/boxes/build-xml.py b/examples/python/boxes/build-xml.py
index 175d3f5113..308019e7dc 100644
--- a/examples/python/boxes/build-xml.py
+++ b/examples/python/boxes/build-xml.py
@@ -38,7 +38,6 @@ moderator.add_s_alpha_beta('c_H_in_H2O')
# Instantiate a Materials collection and export to XML
materials_file = openmc.Materials([fuel1, fuel2, moderator])
-materials_file.default_temperature = '294K'
materials_file.export_to_xml()
diff --git a/examples/python/lattice/hexagonal/build-xml.py b/examples/python/lattice/hexagonal/build-xml.py
index b131e9dea2..cca072ba72 100644
--- a/examples/python/lattice/hexagonal/build-xml.py
+++ b/examples/python/lattice/hexagonal/build-xml.py
@@ -37,7 +37,6 @@ iron.add_nuclide(fe56, 1.)
# Instantiate a Materials collection and export to XML
materials_file = openmc.Materials([moderator, fuel, iron])
-materials_file.default_temperature = '294K'
materials_file.export_to_xml()
diff --git a/examples/python/lattice/nested/build-xml.py b/examples/python/lattice/nested/build-xml.py
index 59962c2c30..3189641e77 100644
--- a/examples/python/lattice/nested/build-xml.py
+++ b/examples/python/lattice/nested/build-xml.py
@@ -32,7 +32,6 @@ moderator.add_s_alpha_beta('c_H_in_H2O')
# Instantiate a Materials collection and export to XML
materials_file = openmc.Materials((moderator, fuel))
-materials_file.default_temperature = '294K'
materials_file.export_to_xml()
diff --git a/examples/python/lattice/simple/build-xml.py b/examples/python/lattice/simple/build-xml.py
index ad1c465d43..2f1f8e76e3 100644
--- a/examples/python/lattice/simple/build-xml.py
+++ b/examples/python/lattice/simple/build-xml.py
@@ -32,7 +32,6 @@ moderator.add_s_alpha_beta('c_H_in_H2O')
# Instantiate a Materials collection and export to XML
materials_file = openmc.Materials([moderator, fuel])
-materials_file.default_temperature = '294K'
materials_file.export_to_xml()
diff --git a/examples/python/pincell/build-xml.py b/examples/python/pincell/build-xml.py
index a11ddb7cdc..fc91ae6931 100644
--- a/examples/python/pincell/build-xml.py
+++ b/examples/python/pincell/build-xml.py
@@ -102,7 +102,6 @@ borated_water.add_s_alpha_beta('c_H_in_H2O')
# Instantiate a Materials collection and export to XML
materials_file = openmc.Materials([uo2, helium, zircaloy, borated_water])
-materials_file.default_temperature = '294K'
materials_file.export_to_xml()
diff --git a/examples/python/pincell_multigroup/build-xml.py b/examples/python/pincell_multigroup/build-xml.py
index 6dbfa336bb..2b08e82748 100644
--- a/examples/python/pincell_multigroup/build-xml.py
+++ b/examples/python/pincell_multigroup/build-xml.py
@@ -19,7 +19,7 @@ groups = openmc.mgxs.EnergyGroups(group_edges=[1E-11, 0.0635E-6, 10.0E-6,
1.0E-4, 1.0E-3, 0.5, 1.0, 20.0])
# Instantiate the 7-group (C5G7) cross section data
-uo2_xsdata = openmc.XSdata('UO2.300K', groups)
+uo2_xsdata = openmc.XSdata('UO2', groups)
uo2_xsdata.order = 0
uo2_xsdata.total = [0.1779492, 0.3298048, 0.4803882, 0.5543674,
0.3118013, 0.3951678, 0.5644058]
@@ -41,7 +41,7 @@ uo2_xsdata.nu_fission = [2.005998E-02, 2.027303E-03, 1.570599E-02,
uo2_xsdata.chi = [5.8791E-01, 4.1176E-01, 3.3906E-04, 1.1761E-07,
0.0000E+00, 0.0000E+00, 0.0000E+00]
-h2o_xsdata = openmc.XSdata('LWTR.300K', groups)
+h2o_xsdata = openmc.XSdata('LWTR', groups)
h2o_xsdata.order = 0
h2o_xsdata.total = [0.15920605, 0.412969593, 0.59030986, 0.58435,
0.718, 1.2544497, 2.650379]
@@ -66,8 +66,8 @@ mg_cross_sections_file.export_to_xml()
###############################################################################
# Instantiate some Macroscopic Data
-uo2_data = openmc.Macroscopic('UO2', '300K')
-h2o_data = openmc.Macroscopic('LWTR', '300K')
+uo2_data = openmc.Macroscopic('UO2')
+h2o_data = openmc.Macroscopic('LWTR')
# Instantiate some Materials and register the appropriate Macroscopic objects
uo2 = openmc.Material(material_id=1, name='UO2 fuel')
@@ -80,7 +80,6 @@ water.add_macroscopic(h2o_data)
# Instantiate a Materials collection and export to XML
materials_file = openmc.Materials([uo2, water])
-materials_file.default_xs = '300K'
materials_file.export_to_xml()
diff --git a/examples/python/reflective/build-xml.py b/examples/python/reflective/build-xml.py
index 098fa8620e..af86e446ab 100644
--- a/examples/python/reflective/build-xml.py
+++ b/examples/python/reflective/build-xml.py
@@ -25,7 +25,6 @@ fuel.add_nuclide(u235, 1.)
# Instantiate a Materials collection and export to XML
materials_file = openmc.Materials([fuel])
-materials_file.default_temperature = '294K'
materials_file.export_to_xml()
diff --git a/examples/xml/basic/materials.xml b/examples/xml/basic/materials.xml
index b7bc2e4e5a..606c676df8 100644
--- a/examples/xml/basic/materials.xml
+++ b/examples/xml/basic/materials.xml
@@ -1,8 +1,6 @@
- 294K
-
diff --git a/examples/xml/boxes/materials.xml b/examples/xml/boxes/materials.xml
index 417fb83ba5..1d0ab4a1ca 100644
--- a/examples/xml/boxes/materials.xml
+++ b/examples/xml/boxes/materials.xml
@@ -1,8 +1,6 @@
- 294K
-
diff --git a/examples/xml/lattice/nested/materials.xml b/examples/xml/lattice/nested/materials.xml
index ddd932fcbc..2222721959 100644
--- a/examples/xml/lattice/nested/materials.xml
+++ b/examples/xml/lattice/nested/materials.xml
@@ -1,8 +1,6 @@
- 294K
-
diff --git a/examples/xml/lattice/simple/materials.xml b/examples/xml/lattice/simple/materials.xml
index ddd932fcbc..2222721959 100644
--- a/examples/xml/lattice/simple/materials.xml
+++ b/examples/xml/lattice/simple/materials.xml
@@ -1,8 +1,6 @@
- 294K
-
diff --git a/examples/xml/pincell/materials.xml b/examples/xml/pincell/materials.xml
index 020c0e676b..9f9afa3843 100644
--- a/examples/xml/pincell/materials.xml
+++ b/examples/xml/pincell/materials.xml
@@ -1,9 +1,6 @@
-
- 294K
-
- 300K
-
diff --git a/examples/xml/pincell_multigroup/mg_cross_sections.xml b/examples/xml/pincell_multigroup/mg_cross_sections.xml
index 3c671a1922..af1f0072b4 100644
--- a/examples/xml/pincell_multigroup/mg_cross_sections.xml
+++ b/examples/xml/pincell_multigroup/mg_cross_sections.xml
@@ -11,8 +11,8 @@
-->
- UO2.300K
- UO2.300K
+ UO2
+ UO2 2.53E-8 0true
@@ -67,8 +67,8 @@
- MOX1.300K
- MOX1.300K
+ MOX1
+ MOX1 2.53E-8 0true
@@ -124,8 +124,8 @@
- MOX2.300K
- MOX2.300K
+ MOX2
+ MOX2 2.53E-8 0true
@@ -180,8 +180,8 @@
- MOX3.300K
- MOX3.300K
+ MOX3
+ MOX3 2.53E-8 0true
@@ -236,8 +236,8 @@
- FC.300K
- FC.300K
+ FC
+ FC 2.53E-8 0true
@@ -286,8 +286,8 @@
- GT.300K
- GT.300K
+ GT
+ GT 2.53E-8 0false
@@ -318,8 +318,8 @@
- LWTR.300K
- LWTR.300K
+ LWTR
+ LWTR 2.53E-8 0false
@@ -351,8 +351,8 @@
- CR.300K
- CR.300K
+ CR
+ CR 2.53E-8 0false
diff --git a/examples/xml/reflective/materials.xml b/examples/xml/reflective/materials.xml
index 37cfcdc6ed..2472a74717 100644
--- a/examples/xml/reflective/materials.xml
+++ b/examples/xml/reflective/materials.xml
@@ -1,8 +1,6 @@
- 294K
-
diff --git a/openmc/data/neutron.py b/openmc/data/neutron.py
index c629dbc2ad..7568a24ba8 100644
--- a/openmc/data/neutron.py
+++ b/openmc/data/neutron.py
@@ -100,7 +100,7 @@ class IncidentNeutron(EqualityMixin):
Parameters
----------
name : str
- Name of the table
+ Name of the nuclide using the GND naming convention
atomic_number : int
Number of protons in the nucleus
mass_number : int
@@ -133,7 +133,7 @@ class IncidentNeutron(EqualityMixin):
metastable : int
Metastable state of the nucleus. A value of zero indicates ground state.
name : str
- ZAID identifier of the table, e.g. 92235.
+ Name of the nuclide using the GND naming convention
reactions : collections.OrderedDict
Contains the cross sections, secondary angle and energy distributions,
and other associated data for each reaction. The keys are the MT values
@@ -534,11 +534,6 @@ class IncidentNeutron(EqualityMixin):
# Assign temperature to the running list
kTs = [ace.temperature]
- # If mass number hasn't been specified, make an educated guess
- zaid, xs = ace.name.split('.')
- name, element, Z, mass_number, metastable = \
- _get_metadata(int(zaid), metastable_scheme)
-
data = cls(name, Z, mass_number, metastable,
ace.atomic_weight_ratio, kTs)
diff --git a/openmc/data/thermal.py b/openmc/data/thermal.py
index 21edab6868..58c5276052 100644
--- a/openmc/data/thermal.py
+++ b/openmc/data/thermal.py
@@ -8,7 +8,7 @@ import h5py
import openmc.checkvalue as cv
from openmc.mixin import EqualityMixin
-from .data import K_BOLTZMANN
+from .data import K_BOLTZMANN, ATOMIC_SYMBOL
from .ace import Table, get_table
from .angle_energy import AngleEnergy
from .function import Tabulated1D
@@ -156,7 +156,7 @@ class ThermalScattering(EqualityMixin):
Parameters
----------
name : str
- ZAID identifier of the table, e.g. lwtr.10t.
+ Name of the material using GND convention, e.g. c_H_in_H2O
atomic_weight_ratio : float
Atomic mass ratio of the target nuclide.
kTs : Iterable of float
@@ -174,7 +174,7 @@ class ThermalScattering(EqualityMixin):
Inelastic scattering cross section derived in the incoherent
approximation
name : str
- Name of the table, e.g. lwtr.20t.
+ Name of the material using GND convention, e.g. c_H_in_H2O
temperatures : Iterable of str
List of string representations the temperatures of the target nuclide
in the data set. The temperatures are strings of the temperature,
@@ -182,8 +182,8 @@ class ThermalScattering(EqualityMixin):
kTs : Iterable of float
List of temperatures of the target nuclide in the data set.
The temperatures have units of MeV.
- zaids : Iterable of int
- ZAID identifiers that the thermal scattering data applies to
+ nuclides : Iterable of str
+ Nuclide names that the thermal scattering data applies to
"""
@@ -200,7 +200,7 @@ class ThermalScattering(EqualityMixin):
self.inelastic_mu_out = {}
self.inelastic_dist = {}
self.secondary_mode = None
- self.zaids = []
+ self.nuclides = []
def __repr__(self):
if hasattr(self, 'name'):
@@ -226,7 +226,7 @@ class ThermalScattering(EqualityMixin):
# Write basic data
g = f.create_group(self.name)
g.attrs['atomic_weight_ratio'] = self.atomic_weight_ratio
- g.attrs['zaids'] = self.zaids
+ g.attrs['nuclides'] = np.string_(self.nuclides)
g.attrs['secondary_mode'] = np.string_(self.secondary_mode)
ktg = g.create_group('kTs')
for i, temperature in enumerate(self.temperatures):
@@ -446,7 +446,7 @@ class ThermalScattering(EqualityMixin):
temperatures = [str(int(round(kT / K_BOLTZMANN))) + "K" for kT in kTs]
table = cls(name, atomic_weight_ratio, kTs)
- table.zaids = group.attrs['zaids']
+ table.nuclides = [nuc.decode() for nuc in group.attrs['nuclides']]
table.secondary_mode = group.attrs['secondary_mode'].decode()
# Read thermal elastic scattering
@@ -628,8 +628,10 @@ class ThermalScattering(EqualityMixin):
table.elastic_mu_out[temperatures[0]].shape = \
(n_energy, n_mu)
- # Get relevant ZAIDs
- pairs = np.fromiter(map(lambda p: p[0], ace.pairs), int)
- table.zaids = pairs[np.nonzero(pairs)]
+ # Get relevant nuclides
+ for zaid, awr in ace.pairs:
+ if zaid > 0:
+ Z, A = divmod(zaid, 1000)
+ table.nuclides.append(ATOMIC_SYMBOL[Z] + str(A))
return table
diff --git a/openmc/mesh.py b/openmc/mesh.py
index 58b9c7c0e5..7d7b483f73 100644
--- a/openmc/mesh.py
+++ b/openmc/mesh.py
@@ -187,15 +187,20 @@ class Mesh(object):
of the mesh.
For example the following code:
- for mesh_index in mymesh.cell_generator():
- print mesh_index
- will produce the following output for a 3-D 2x2x2 mesh in mymesh:
- [1, 1, 1]
- [1, 1, 2]
- [1, 2, 1]
- [1, 2, 2]
- ...
+ .. code-block:: python
+
+ for mesh_index in mymesh.cell_generator():
+ print mesh_index
+
+ will produce the following output for a 3-D 2x2x2 mesh in mymesh::
+
+ [1, 1, 1]
+ [1, 1, 2]
+ [1, 2, 1]
+ [1, 2, 2]
+ ...
+
"""
diff --git a/openmc/mgxs/mgxs.py b/openmc/mgxs/mgxs.py
index de7475308c..1d2e9098d3 100644
--- a/openmc/mgxs/mgxs.py
+++ b/openmc/mgxs/mgxs.py
@@ -337,7 +337,7 @@ class MGXS(object):
if self.by_nuclide:
return self.get_nuclides()
else:
- return 'sum'
+ return ['sum']
@property
def loaded_sp(self):
@@ -1483,25 +1483,27 @@ class MGXS(object):
if self.by_nuclide and nuclides == 'sum':
# Use tally summation to sum across all nuclides
- query_nuclides = self.get_nuclides()
- xs_tally = self.xs_tally.summation(nuclides=query_nuclides)
+ query_nuclides = [nuclides]
+ xs_tally = self.xs_tally.summation(nuclides=self.get_nuclides())
df = xs_tally.get_pandas_dataframe(
distribcell_paths=distribcell_paths)
# Remove nuclide column since it is homogeneous and redundant
if self.domain_type == 'mesh':
- df.drop('nuclide', axis=1, level=0, inplace=True)
+ df.drop('sum(nuclide)', axis=1, level=0, inplace=True)
else:
- df.drop('nuclide', axis=1, inplace=True)
+ df.drop('sum(nuclide)', axis=1, inplace=True)
# If the user requested a specific set of nuclides
elif self.by_nuclide and nuclides != 'all':
+ query_nuclides = nuclides
xs_tally = self.xs_tally.get_slice(nuclides=nuclides)
df = xs_tally.get_pandas_dataframe(
distribcell_paths=distribcell_paths)
# If the user requested all nuclides, keep nuclide column in dataframe
else:
+ query_nuclides = self.nuclides
df = self.xs_tally.get_pandas_dataframe(
distribcell_paths=distribcell_paths)
@@ -1513,7 +1515,7 @@ class MGXS(object):
# Override energy groups bounds with indices
all_groups = np.arange(self.num_groups, 0, -1, dtype=np.int)
- all_groups = np.repeat(all_groups, self.num_nuclides)
+ all_groups = np.repeat(all_groups, len(query_nuclides))
if 'energy low [MeV]' in df and 'energyout low [MeV]' in df:
df.rename(columns={'energy low [MeV]': 'group in'},
inplace=True)
diff --git a/openmc/mgxs_library.py b/openmc/mgxs_library.py
index a3a2187b75..37ad6c1be4 100644
--- a/openmc/mgxs_library.py
+++ b/openmc/mgxs_library.py
@@ -99,9 +99,6 @@ class XSdata(object):
Unique identifier for the xsdata object
alias : str
Separate unique identifier for the xsdata object
- zaid : int
- 1000*(atomic number) + mass number. As an example, the zaid of U235
- would be 92235.
awr : float
Atomic weight ratio of an isotope. That is, the ratio of the mass
of the isotope to the mass of a single neutron.
@@ -227,7 +224,6 @@ class XSdata(object):
self._energy_groups = energy_groups
self._representation = representation
self._alias = None
- self._zaid = None
self._awr = None
self._kT = None
self._fissionable = False
@@ -262,10 +258,6 @@ class XSdata(object):
def alias(self):
return self._alias
- @property
- def zaid(self):
- return self._zaid
-
@property
def awr(self):
return self._awr
@@ -396,13 +388,6 @@ class XSdata(object):
else:
self._alias = self._name
- @zaid.setter
- def zaid(self, zaid):
- # Check type and value
- check_type('zaid', zaid, Integral)
- check_greater_than('zaid', zaid, 0)
- self._zaid = zaid
-
@awr.setter
def awr(self, awr):
# Check validity of type and that the awr value is > 0
@@ -1013,18 +998,10 @@ class XSdata(object):
subelement = ET.SubElement(element, 'kT')
subelement.text = str(self._kT)
- if self._zaid is not None:
- subelement = ET.SubElement(element, 'zaid')
- subelement.text = str(self._zaid)
-
if self._awr is not None:
subelement = ET.SubElement(element, 'awr')
subelement.text = str(self._awr)
- if self._kT is not None:
- subelement = ET.SubElement(element, 'kT')
- subelement.text = str(self._kT)
-
if self._fissionable is not None:
subelement = ET.SubElement(element, 'fissionable')
subelement.text = str(self._fissionable)
diff --git a/openmc/model/triso.py b/openmc/model/triso.py
index 89e0d8aa76..5525ea559c 100644
--- a/openmc/model/triso.py
+++ b/openmc/model/triso.py
@@ -1,13 +1,26 @@
+from __future__ import division
import copy
-from collections import Iterable
-from numbers import Real
import warnings
+import itertools
+import random
+from collections import Iterable, defaultdict
+from numbers import Real
+from random import uniform, gauss
+from heapq import heappush, heappop
+from math import pi, sin, cos, floor, log10, sqrt
+from abc import ABCMeta, abstractproperty, abstractmethod
import numpy as np
+try:
+ import scipy.spatial
+ _SCIPY_AVAILABLE = True
+except ImportError:
+ _SCIPY_AVAILABLE = False
import openmc
import openmc.checkvalue as cv
+
class TRISO(openmc.Cell):
"""Tristructural-isotopic (TRISO) micro fuel particle
@@ -82,6 +95,377 @@ class TRISO(openmc.Cell):
k_min:k_max+1, j_min:j_max+1, i_min:i_max+1]))
+class _Domain(object):
+ """Container in which to pack particles.
+
+ Parameters
+ ----------
+ particle_radius : float
+ Radius of particles to be packed in container.
+ center : Iterable of float
+ Cartesian coordinates of the center of the container. Default is
+ [0., 0., 0.]
+
+ Attributes
+ ----------
+ particle_radius : float
+ Radius of particles to be packed in container.
+ center : list of float
+ Cartesian coordinates of the center of the container. Default is
+ [0., 0., 0.]
+ cell_length : list of float
+ Length in x-, y-, and z- directions of each cell in mesh overlaid on
+ domain.
+ limits : list of float
+ Minimum and maximum position in x-, y-, and z-directions where particle
+ center can be placed.
+ volume : float
+ Volume of the container.
+
+ """
+
+ __metaclass__ = ABCMeta
+
+ def __init__(self, particle_radius, center=[0., 0., 0.]):
+ self._cell_length = None
+ self._limits = None
+
+ self.particle_radius = particle_radius
+ self.center = center
+
+ @property
+ def particle_radius(self):
+ return self._particle_radius
+
+ @property
+ def center(self):
+ return self._center
+
+ @abstractproperty
+ def limits(self):
+ pass
+
+ @abstractproperty
+ def cell_length(self):
+ pass
+
+ @abstractproperty
+ def volume(self):
+ pass
+
+ @particle_radius.setter
+ def particle_radius(self, particle_radius):
+ self._particle_radius = float(particle_radius)
+ self._limits = None
+ self._cell_length = None
+
+ @center.setter
+ def center(self, center):
+ if np.asarray(center).size != 3:
+ raise ValueError('Unable to set domain center to {} since it must '
+ 'be of length 3'.format(center))
+ self._center = [float(x) for x in center]
+ self._limits = None
+ self._cell_length = None
+
+ def mesh_cell(self, p):
+ """Calculate the index of the cell in a mesh overlaid on the domain in
+ which the given particle center falls.
+
+ Parameters
+ ----------
+ p : Iterable of float
+ Cartesian coordinates of particle center.
+
+ Returns
+ -------
+ tuple of int
+ Indices of mesh cell.
+
+ """
+ return tuple(int(p[i]/self.cell_length[i]) for i in range(3))
+
+ def nearby_mesh_cells(self, p):
+ """Calculates the indices of all cells in a mesh overlaid on the domain
+ within one diameter of the given particle.
+
+ Parameters
+ ----------
+ p : Iterable of float
+ Cartesian coordinates of particle center.
+
+ Returns
+ -------
+ list of tuple of int
+ Indices of mesh cells.
+
+ """
+ d = 2*self.particle_radius
+ r = [[a/self.cell_length[i] for a in [p[i]-d, p[i], p[i]+d]]
+ for i in range(3)]
+ return list(itertools.product(*({int(x) for x in y} for y in r)))
+
+ @abstractmethod
+ def random_point(self):
+ """Generate Cartesian coordinates of center of a particle that is
+ contained entirely within the domain with uniform probability.
+
+ Returns
+ -------
+ list of float
+ Cartesian coordinates of particle center.
+
+ """
+ pass
+
+
+class _CubicDomain(_Domain):
+ """Cubic container in which to pack particles.
+
+ Parameters
+ ----------
+ length : float
+ Length of each side of the cubic container.
+ particle_radius : float
+ Radius of particles to be packed in container.
+ center : Iterable of float
+ Cartesian coordinates of the center of the container. Default is
+ [0., 0., 0.]
+
+ Attributes
+ ----------
+ length : float
+ Length of each side of the cubic container.
+ particle_radius : float
+ Radius of particles to be packed in container.
+ center : list of float
+ Cartesian coordinates of the center of the container. Default is
+ [0., 0., 0.]
+ cell_length : list of float
+ Length in x-, y-, and z- directions of each cell in mesh overlaid on
+ domain.
+ limits : list of float
+ Minimum and maximum position in x-, y-, and z-directions where particle
+ center can be placed.
+ volume : float
+ Volume of the container.
+
+ """
+
+ def __init__(self, length, particle_radius, center=[0., 0., 0.]):
+ super(_CubicDomain, self).__init__(particle_radius, center)
+ self.length = length
+
+ @property
+ def length(self):
+ return self._length
+
+ @property
+ def limits(self):
+ if self._limits is None:
+ xlim = self.length/2 - self.particle_radius
+ self._limits = [[x - xlim for x in self.center],
+ [x + xlim for x in self.center]]
+ return self._limits
+
+ @property
+ def cell_length(self):
+ if self._cell_length is None:
+ mesh_length = [self.length, self.length, self.length]
+ self._cell_length = [x/int(x/(4*self.particle_radius))
+ for x in mesh_length]
+ return self._cell_length
+
+ @property
+ def volume(self):
+ return self.length**3
+
+ @length.setter
+ def length(self, length):
+ self._length = float(length)
+ self._limits = None
+ self._cell_length = None
+
+ @limits.setter
+ def limits(self, limits):
+ self._limits = limits
+
+ def random_point(self):
+ return [uniform(self.limits[0][0], self.limits[1][0]),
+ uniform(self.limits[0][1], self.limits[1][1]),
+ uniform(self.limits[0][2], self.limits[1][2])]
+
+
+class _CylindricalDomain(_Domain):
+ """Cylindrical container in which to pack particles.
+
+ Parameters
+ ----------
+ length : float
+ Length along z-axis of the cylindrical container.
+ radius : float
+ Radius of the cylindrical container.
+ center : Iterable of float
+ Cartesian coordinates of the center of the container. Default is
+ [0., 0., 0.]
+
+ Attributes
+ ----------
+ length : float
+ Length along z-axis of the cylindrical container.
+ radius : float
+ Radius of the cylindrical container.
+ particle_radius : float
+ Radius of particles to be packed in container.
+ center : list of float
+ Cartesian coordinates of the center of the container. Default is
+ [0., 0., 0.]
+ cell_length : list of float
+ Length in x-, y-, and z- directions of each cell in mesh overlaid on
+ domain.
+ limits : list of float
+ Minimum and maximum position in x-, y-, and z-directions where particle
+ center can be placed.
+ volume : float
+ Volume of the container.
+
+ """
+
+ def __init__(self, length, radius, particle_radius, center=[0., 0., 0.]):
+ super(_CylindricalDomain, self).__init__(particle_radius, center)
+ self.length = length
+ self.radius = radius
+
+ @property
+ def length(self):
+ return self._length
+
+ @property
+ def radius(self):
+ return self._radius
+
+ @property
+ def limits(self):
+ if self._limits is None:
+ xlim = self.length/2 - self.particle_radius
+ rlim = self.radius - self.particle_radius
+ self._limits = [[self.center[0] - rlim, self.center[1] - rlim,
+ self.center[2] - xlim],
+ [self.center[0] + rlim, self.center[1] + rlim,
+ self.center[2] + xlim]]
+ return self._limits
+
+ @property
+ def cell_length(self):
+ if self._cell_length is None:
+ mesh_length = [2*self.radius, 2*self.radius, self.length]
+ self._cell_length = [x/int(x/(4*self.particle_radius))
+ for x in mesh_length]
+ return self._cell_length
+
+ @property
+ def volume(self):
+ return self.length * pi * self.radius**2
+
+ @length.setter
+ def length(self, length):
+ self._length = float(length)
+ self._limits = None
+ self._cell_length = None
+
+ @radius.setter
+ def radius(self, radius):
+ self._radius = float(radius)
+ self._limits = None
+ self._cell_length = None
+
+ @limits.setter
+ def limits(self, limits):
+ self._limits = limits
+
+ def random_point(self):
+ r = sqrt(uniform(0, (self.radius - self.particle_radius)**2))
+ t = uniform(0, 2*pi)
+ return [r*cos(t) + self.center[0], r*sin(t) + self.center[1],
+ uniform(self.limits[0][2], self.limits[1][2])]
+
+
+class _SphericalDomain(_Domain):
+ """Spherical container in which to pack particles.
+
+ Parameters
+ ----------
+ radius : float
+ Radius of the spherical container.
+ center : Iterable of float
+ Cartesian coordinates of the center of the container. Default is
+ [0., 0., 0.]
+
+ Attributes
+ ----------
+ radius : float
+ Radius of the spherical container.
+ particle_radius : float
+ Radius of particles to be packed in container.
+ center : list of float
+ Cartesian coordinates of the center of the container. Default is
+ [0., 0., 0.]
+ cell_length : list of float
+ Length in x-, y-, and z- directions of each cell in mesh overlaid on
+ domain.
+ limits : list of float
+ Minimum and maximum position in x-, y-, and z-directions where particle
+ center can be placed.
+ volume : float
+ Volume of the container.
+
+ """
+
+ def __init__(self, radius, particle_radius, center=[0., 0., 0.]):
+ super(_SphericalDomain, self).__init__(particle_radius, center)
+ self.radius = radius
+
+ @property
+ def radius(self):
+ return self._radius
+
+ @property
+ def limits(self):
+ if self._limits is None:
+ rlim = self.radius - self.particle_radius
+ self._limits = [[x - rlim for x in self.center],
+ [x + rlim for x in self.center]]
+ return self._limits
+
+ @property
+ def cell_length(self):
+ if self._cell_length is None:
+ mesh_length = [2*self.radius, 2*self.radius, 2*self.radius]
+ self._cell_length = [x/int(x/(4*self.particle_radius))
+ for x in mesh_length]
+ return self._cell_length
+
+ @property
+ def volume(self):
+ return 4/3 * pi * self.radius**3
+
+ @radius.setter
+ def radius(self, radius):
+ self._radius = float(radius)
+ self._limits = None
+ self._cell_length = None
+
+ @limits.setter
+ def limits(self, limits):
+ self._limits = limits
+
+ def random_point(self):
+ x = (gauss(0, 1), gauss(0, 1), gauss(0, 1))
+ r = (uniform(0, (self.radius - self.particle_radius)**3)**(1/3) /
+ sqrt(x[0]**2 + x[1]**2 + x[2]**2))
+ return [r*x[i] + self.center[i] for i in range(3)]
+
+
def create_triso_lattice(trisos, lower_left, pitch, shape, background):
"""Create a lattice containing TRISO particles for optimized tracking.
@@ -153,3 +537,503 @@ def create_triso_lattice(trisos, lower_left, pitch, shape, background):
lattice.outer = openmc.Universe(cells=[background_cell])
return lattice
+
+
+def _random_sequential_pack(domain, n_particles):
+ """Random sequential packing of particles within a container.
+
+ Parameters
+ ----------
+ domain : openmc.model._Domain
+ Container in which to pack particles.
+ n_particles : int
+ Number of particles to pack.
+
+ Returns
+ ------
+ numpy.ndarray
+ Cartesian coordinates of centers of particles.
+
+ """
+
+ sqd = (2*domain.particle_radius)**2
+ particles = []
+ mesh = defaultdict(list)
+
+ for i in range(n_particles):
+ # Randomly sample new center coordinates while there are any overlaps
+ while True:
+ p = domain.random_point()
+ idx = domain.mesh_cell(p)
+ if any((p[0]-q[0])**2 + (p[1]-q[1])**2 + (p[2]-q[2])**2 < sqd
+ for q in mesh[idx]):
+ continue
+ else:
+ break
+ particles.append(p)
+
+ for idx in domain.nearby_mesh_cells(p):
+ mesh[idx].append(p)
+
+ return np.array(particles)
+
+
+def _close_random_pack(domain, particles, contraction_rate):
+ """Close random packing of particles using the Jodrey-Tory algorithm.
+
+ Parameters
+ ----------
+ domain : openmc.model._Domain
+ Container in which to pack particles.
+ particles : numpy.ndarray
+ Initial Cartesian coordinates of centers of particles.
+ contraction_rate : float
+ Contraction rate of outer diameter.
+
+ """
+
+ def add_rod(d, i, j):
+ """Add a new rod to the priority queue.
+
+ Parameters
+ ----------
+ d : float
+ distance between centers of particles i and j.
+ i, j : int
+ Index of particles in particles array.
+
+ """
+
+ rod = [d, i, j]
+ rods_map[i] = (j, rod)
+ rods_map[j] = (i, rod)
+ heappush(rods, rod)
+
+ def remove_rod(i):
+ """Mark the rod containing particle i as removed.
+
+ Parameters
+ ----------
+ i : int
+ Index of particle in particles array.
+
+ """
+
+ if i in rods_map:
+ j, rod = rods_map.pop(i)
+ del rods_map[j]
+ rod[1] = removed
+ rod[2] = removed
+
+ def pop_rod():
+ """Remove and return the shortest rod.
+
+ Returns
+ -------
+ d : float
+ distance between centers of particles i and j.
+ i, j : int
+ Index of particles in particles array.
+
+ """
+
+ while rods:
+ d, i, j = heappop(rods)
+ if i != removed and j != removed:
+ del rods_map[i]
+ del rods_map[j]
+ return d, i, j
+
+ def create_rod_list():
+ """Generate sorted list of rods (distances between particle centers).
+
+ Rods are arranged in a heap where each element contains the rod length
+ and the particle indices. A rod between particles p and q is only
+ included if the distance between p and q could not be changed by the
+ elimination of a greater overlap, i.e. q has no nearer neighbors than p.
+
+ A mapping of particle ids to rods is maintained in 'rods_map'. Each key
+ in the dict is the id of a particle that is in the rod list, and the
+ value is the id of its nearest neighbor and the rod that contains them.
+ The dict is used to find rods in the priority queue and to mark removed
+ rods so rods can be "removed" without breaking the heap structure
+ invariant.
+
+ """
+
+ # Create KD tree for quick nearest neighbor search
+ tree = scipy.spatial.cKDTree(particles)
+
+ # Find distance to nearest neighbor and index of nearest neighbor for
+ # all particles
+ d, n = tree.query(particles, k=2)
+ d = d[:,1]
+ n = n[:,1]
+
+ # Array of particle indices, indices of nearest neighbors, and
+ # distances to nearest neighbors
+ a = np.vstack((list(range(n.size)), n, d)).T
+
+ # Sort along second column and swap first and second columns to create
+ # array of nearest neighbor indices, indices of particles they are
+ # nearest neighbors of, and distances between them
+ b = a[a[:,1].argsort()]
+ b[:,[0, 1]] = b[:,[1, 0]]
+
+ # Find the intersection between 'a' and 'b': a list of particles who
+ # are each other's nearest neighbors and the distance between them
+ r = list({tuple(x) for x in a} & {tuple(x) for x in b})
+
+ # Remove duplicate rods and sort by distance
+ r = map(list, set([(x[2], int(min(x[0:2])), int(max(x[0:2])))
+ for x in r]))
+
+ # Clear priority queue and add rods
+ del rods[:]
+ rods_map.clear()
+ for d, i, j in r:
+ add_rod(d, i, j)
+
+ # Inner diameter is set initially to the shortest center-to-center
+ # distance between any two particles
+ if rods:
+ inner_diameter[0] = rods[0][0]
+
+ def update_mesh(i):
+ """Update which mesh cells the particle is in based on new particle
+ center coordinates.
+
+ 'mesh'/'mesh_map' is a two way dictionary used to look up which
+ particles are located within one diameter of a given mesh cell and
+ which mesh cells a given particle center is within one diameter of.
+ This is used to speed up the nearest neighbor search.
+
+ Parameters
+ ----------
+ i : int
+ Index of particle in particles array.
+
+ """
+
+ # Determine which mesh cells the particle is in and remove the
+ # particle id from those cells
+ for idx in mesh_map[i]:
+ mesh[idx].remove(i)
+ del mesh_map[i]
+
+ # Determine which mesh cells are within one diameter of particle's
+ # center and add this particle to the list of particles in those cells
+ for idx in domain.nearby_mesh_cells(particles[i]):
+ mesh[idx].add(i)
+ mesh_map[i].add(idx)
+
+ def reduce_outer_diameter():
+ """Reduce the outer diameter so that at the (i+1)-st iteration it is:
+
+ d_out^(i+1) = d_out^(i) - (1/2)^(j) * d_out0 * k / n,
+
+ where k is the contraction rate, n is the number of particles, and
+
+ j = floor(-log10(pf_out - pf_in)).
+
+ """
+
+ inner_pf = (4/3 * pi * (inner_diameter[0]/2)**3 * n_particles /
+ domain.volume)
+ outer_pf = (4/3 * pi * (outer_diameter[0]/2)**3 * n_particles /
+ domain.volume)
+
+ j = floor(-log10(outer_pf - inner_pf))
+ outer_diameter[0] = (outer_diameter[0] - 0.5**j * contraction_rate *
+ initial_outer_diameter / n_particles)
+
+
+ def repel_particles(i, j, d):
+ """Move particles p and q apart according to the following
+ transformation (accounting for reflective boundary conditions on
+ domain):
+
+ r_i^(n+1) = r_i^(n) + 1/2(d_out^(n+1) - d^(n))
+ r_j^(n+1) = r_j^(n) - 1/2(d_out^(n+1) - d^(n))
+
+ Parameters
+ ----------
+ i, j : int
+ Index of particles in particles array.
+ d : float
+ distance between centers of particles i and j.
+
+ """
+
+ # Moving each particle distance 'r' away from the other along the line
+ # joining the particle centers will ensure their final distance is equal
+ # to the outer diameter
+ r = (outer_diameter[0] - d)/2
+
+ v = (particles[i] - particles[j])/d
+ particles[i] += r*v
+ particles[j] -= r*v
+
+ # Apply reflective boundary conditions
+ particles[i] = particles[i].clip(domain.limits[0], domain.limits[1])
+ particles[j] = particles[j].clip(domain.limits[0], domain.limits[1])
+
+ update_mesh(i)
+ update_mesh(j)
+
+ def nearest(i):
+ """Find index of nearest neighbor of particle i.
+
+ Parameters
+ ----------
+ i : int
+ Index in particles array of particle for which to find nearest
+ neighbor.
+
+ Returns
+ -------
+ int
+ Index in particles array of nearest neighbor of i
+ float
+ distance between i and nearest neighbor.
+
+ """
+
+ # Need the second nearest neighbor of i since the nearest neighbor
+ # will be itself. Using argpartition, the k-th nearest neighbor is
+ # placed at index k.
+ idx = list(mesh[domain.mesh_cell(particles[i])])
+ dists = scipy.spatial.distance.cdist([particles[i]], particles[idx])[0]
+ if dists.size > 1:
+ j = dists.argpartition(1)[1]
+ return idx[j], dists[j]
+ else:
+ return None, None
+
+ def update_rod_list(i, j):
+ """Update the rod list with the new nearest neighbors of particles i
+ and j since their overlap was eliminated.
+
+ Parameters
+ ----------
+ i, j : int
+ Index of particles in particles array.
+
+ """
+
+ # If the nearest neighbor k of particle i has no nearer neighbors,
+ # remove the rod currently containing k from the rod list and add rod
+ # k-i, keeping the rod list sorted
+ k, d_ik = nearest(i)
+ if k and nearest(k)[0] == i:
+ remove_rod(k)
+ add_rod(d_ik, i, k)
+ l, d_jl = nearest(j)
+ if l and nearest(l)[0] == j:
+ remove_rod(l)
+ add_rod(d_jl, j, l)
+
+ # Set inner diameter to the shortest distance between two particle
+ # centers
+ if rods:
+ inner_diameter[0] = rods[0][0]
+
+ if not _SCIPY_AVAILABLE:
+ raise ImportError('SciPy must be installed to perform '
+ 'close random packing.')
+
+ n_particles = len(particles)
+ diameter = 2*domain.particle_radius
+
+ # Flag for marking rods that have been removed from priority queue
+ removed = -1
+
+ # Outer diameter initially set to arbitrary value that yields pf of 1
+ initial_outer_diameter = 2*(domain.volume/(n_particles*4/3*pi))**(1/3)
+
+ # Inner and outer diameter of particles will change during packing
+ outer_diameter = [initial_outer_diameter]
+ inner_diameter = [0]
+
+ rods = []
+ rods_map = {}
+ mesh = defaultdict(set)
+ mesh_map = defaultdict(set)
+
+ for i in range(n_particles):
+ for idx in domain.nearby_mesh_cells(particles[i]):
+ mesh[idx].add(i)
+ mesh_map[i].add(idx)
+
+ while True:
+ create_rod_list()
+ if inner_diameter[0] >= diameter:
+ break
+ while True:
+ d, i, j = pop_rod()
+ reduce_outer_diameter()
+ repel_particles(i, j, d)
+ update_rod_list(i, j)
+ if inner_diameter[0] >= diameter or not rods:
+ break
+
+
+def pack_trisos(radius, fill, domain_shape='cylinder', domain_length=None,
+ domain_radius=None, domain_center=[0., 0., 0.],
+ n_particles=None, packing_fraction=None,
+ initial_packing_fraction=0.3, contraction_rate=1/400, seed=1):
+ """Generate a random, non-overlapping configuration of TRISO particles
+ within a container.
+
+ Parameters
+ ----------
+ radius : float
+ Outer radius of TRISO particles.
+ fill : openmc.Universe
+ Universe which contains all layers of the TRISO particle.
+ domain_shape : {'cube', 'cylinder', or 'sphere'}
+ Geometry of the container in which the TRISO particles are packed.
+ domain_length : float
+ Length of the container (if cube or cylinder).
+ domain_radius : float
+ Radius of the container (if cylinder or sphere).
+ domain_center : Iterable of float
+ Cartesian coordinates of the center of the container.
+ n_particles : int
+ Number of TRISO particles to pack in the domain. Exactly one of
+ 'n_particles' and 'packing_fraction' should be specified -- the other
+ will be calculated.
+ packing_fraction : float
+ Packing fraction of particles. Exactly one of 'n_particles' and
+ 'packing_fraction' should be specified -- the other will be calculated.
+ initial_packing_fraction : float, optional
+ Packing fraction used to initialize the configuration of particles in
+ the domain. Default value is 0.3. It is not recommended to set the
+ initial packing fraction much higher than 0.3 as the random sequential
+ packing algorithm becomes prohibitively slow as it approaches its limit
+ (~0.38).
+ contraction_rate : float, optional
+ Contraction rate of outer diameter. This can affect the speed of the
+ close random packing algorithm. Default value is 1/400.
+ seed : int, optional
+ RNG seed.
+
+ Returns
+ -------
+ trisos : list of openmc.model.TRISO
+ List of TRISO particles in the domain.
+
+ Notes
+ -----
+ The particle configuration is generated using a combination of random
+ sequential packing (RSP) and close random packing (CRP). RSP performs
+ better than CRP for lower packing fractions (pf), but it becomes
+ prohibitively slow as it approaches its packing limit (~0.38). CRP can
+ achieve higher pf of up to ~0.64 and scales better with increasing pf.
+
+ If the desired pf is below some threshold for which RSP will be faster than
+ CRP ('initial_packing_fraction'), only RSP is used. If a higher pf is
+ required, particles with a radius smaller than the desired final radius
+ (and therefore with a smaller pf) are initialized within the domain using
+ RSP. This initial configuration of particles is then used as a starting
+ point for CRP using Jodrey and Tory's algorithm [1]_.
+
+ In RSP, particle centers are placed one by one at random, and placement
+ attempts for a particle are made until the particle is not overlapping any
+ others. This implementation of the algorithm uses a mesh over the domain
+ to speed up the nearest neighbor search by only searching for a particle's
+ neighbors within that mesh cell.
+
+ In CRP, each particle is assigned two diameters, and inner and an outer,
+ which approach each other during the simulation. The inner diameter,
+ defined as the minimum center-to-center distance, is the true diameter of
+ the particles and defines the pf. At each iteration the worst overlap
+ between particles based on outer diameter is eliminated by moving the
+ particles apart along the line joining their centers. Iterations continue
+ until the two diameters converge or until the desired pf is reached.
+
+ References
+ ----------
+ .. [1] W. S. Jodrey and E. M. Tory, "Computer simulation of close random
+ packing of equal spheres", Phys. Rev. A 32 (1985) 2347-2351.
+
+ """
+
+ # Check for valid container geometry and dimensions
+ if domain_shape not in ['cube', 'cylinder', 'sphere']:
+ raise ValueError('Unable to set domain_shape to "{}". Only "cube", '
+ '"cylinder", and "sphere" are '
+ 'supported."'.format(domain_shape))
+ if not domain_length and domain_shape in ['cube', 'cylinder']:
+ raise ValueError('"domain_length" must be specified for {} domain '
+ 'geometry '.format(domain_shape))
+ if not domain_radius and domain_shape in ['cylinder', 'sphere']:
+ raise ValueError('"domain_radius" must be specified for {} domain '
+ 'geometry '.format(domain_shape))
+
+ if domain_shape is 'cube':
+ domain = _CubicDomain(length=domain_length, particle_radius=radius,
+ center=domain_center)
+ elif domain_shape is 'cylinder':
+ domain = _CylindricalDomain(length=domain_length, radius=domain_radius,
+ particle_radius=radius, center=domain_center)
+ elif domain_shape is 'sphere':
+ domain = _SphericalDomain(radius=domain_radius, particle_radius=radius,
+ center=domain_center)
+
+ # Calculate the packing fraction if the number of particles is specified;
+ # otherwise, calculate the number of particles from the packing fraction.
+ if ((n_particles is None and packing_fraction is None) or
+ (n_particles is not None and packing_fraction is not None)):
+ raise ValueError('Exactly one of "n_particles" and "packing_fraction" '
+ 'must be specified.')
+ elif packing_fraction is None:
+ n_particles = int(n_particles)
+ packing_fraction = 4/3*pi*radius**3*n_particles / domain.volume
+ elif n_particles is None:
+ packing_fraction = float(packing_fraction)
+ n_particles = int(packing_fraction*domain.volume // (4/3*pi*radius**3))
+
+ # Check for valid packing fractions for each algorithm
+ if packing_fraction >= 0.64:
+ raise ValueError('Packing fraction of {} is greater than the '
+ 'packing fraction limit for close random '
+ 'packing (0.64)'.format(packing_fraction))
+ if initial_packing_fraction >= 0.38:
+ raise ValueError('Initial packing fraction of {} is greater than the '
+ 'packing fraction limit for random sequential'
+ 'packing (0.38)'.format(initial_packing_fraction))
+ if initial_packing_fraction > packing_fraction:
+ initial_packing_fraction = packing_fraction
+ if packing_fraction > 0.3:
+ initial_packing_fraction = 0.3
+
+ random.seed(seed)
+
+ # Calculate the particle radius used in the initial random sequential
+ # packing from the initial packing fraction
+ initial_radius = (3/4 * initial_packing_fraction * domain.volume /
+ (pi * n_particles))**(1/3)
+ domain.particle_radius = initial_radius
+
+ # Recalculate the limits for the initial random sequential packing using
+ # the desired final particle radius to ensure particles are fully contained
+ # within the domain during the close random pack
+ domain.limits = [[x - initial_radius + radius for x in domain.limits[0]],
+ [x + initial_radius - radius for x in domain.limits[1]]]
+
+ # Generate non-overlapping particles for an initial inner radius using
+ # random sequential packing algorithm
+ particles = _random_sequential_pack(domain, n_particles)
+
+ # Use the particle configuration produced in random sequential packing as a
+ # starting point for close random pack with the desired final particle
+ # radius
+ if initial_packing_fraction != packing_fraction:
+ domain.particle_radius = radius
+ _close_random_pack(domain, particles, contraction_rate)
+
+ trisos = []
+ for p in particles:
+ trisos.append(TRISO(radius, fill, p))
+ return trisos
diff --git a/openmc/nuclide.py b/openmc/nuclide.py
index 186292a873..11c59e6879 100644
--- a/openmc/nuclide.py
+++ b/openmc/nuclide.py
@@ -20,9 +20,6 @@ class Nuclide(object):
----------
name : str
Name of the nuclide, e.g. U235
- zaid : int
- 1000*(atomic number) + mass number. As an example, the zaid of U235
- would be 92235.
scattering : 'data' or 'iso-in-lab' or None
The type of angular scattering distribution to use
@@ -31,7 +28,6 @@ class Nuclide(object):
def __init__(self, name=''):
# Initialize class attributes
self._name = ''
- self._zaid = None
self._scattering = None
# Set the Material class attributes
@@ -62,8 +58,6 @@ class Nuclide(object):
def __repr__(self):
string = 'Nuclide - {0}\n'.format(self._name)
- if self.zaid is not None:
- string += '{0: <16}{1}{2}\n'.format('\tZAID', '=\t', self.zaid)
if self.scattering is not None:
string += '{0: <16}{1}{2}\n'.format('\tscattering', '=\t',
self.scattering)
@@ -73,10 +67,6 @@ class Nuclide(object):
def name(self):
return self._name
- @property
- def zaid(self):
- return self._zaid
-
@property
def scattering(self):
return self._scattering
@@ -96,14 +86,8 @@ class Nuclide(object):
'"{}" is being renamed as "{}".'.format(name, self._name)
warnings.warn(msg)
- @zaid.setter
- def zaid(self, zaid):
- check_type('zaid', zaid, Integral)
- self._zaid = zaid
-
@scattering.setter
def scattering(self, scattering):
-
if not scattering in ['data', 'iso-in-lab']:
msg = 'Unable to set scattering for Nuclide to {0} ' \
'which is not "data" or "iso-in-lab"'.format(scattering)
diff --git a/openmc/plots.py b/openmc/plots.py
index 73b51da5e8..cc5c0d44b3 100644
--- a/openmc/plots.py
+++ b/openmc/plots.py
@@ -67,6 +67,11 @@ class Plot(object):
col_spec : dict
Dictionary indicating that certain cells/materials (keys) should be
colored with a specific RGB (values)
+ level : int
+ Universe depth to plot at
+ meshlines : dict
+ Dictionary defining type, id, linewidth and color of a regular mesh
+ to be plotted on top of a plot
"""
@@ -81,10 +86,12 @@ class Plot(object):
self._color = 'cell'
self._type = 'slice'
self._basis = 'xy'
- self._background = [0, 0, 0]
+ self._background = None
self._mask_components = None
self._mask_background = None
self._col_spec = None
+ self._level = None
+ self._meshlines = None
@property
def id(self):
@@ -138,6 +145,14 @@ class Plot(object):
def col_spec(self):
return self._col_spec
+ @property
+ def level(self):
+ return self._level
+
+ @property
+ def meshlines(self):
+ return self._meshlines
+
@id.setter
def id(self, plot_id):
if plot_id is None:
@@ -231,9 +246,9 @@ class Plot(object):
@mask_components.setter
def mask_components(self, mask_components):
- cv.check_type('plot mask_components', mask_components, Iterable, Integral)
+ cv.check_type('plot mask components', mask_components, Iterable, Integral)
for component in mask_components:
- cv.check_greater_than('plot mask_components', component, 0, True)
+ cv.check_greater_than('plot mask components', component, 0, True)
self._mask_components = mask_components
@mask_background.setter
@@ -245,6 +260,45 @@ class Plot(object):
cv.check_less_than('plot mask background', rgb, 256)
self._mask_background = mask_background
+ @level.setter
+ def level(self, plot_level):
+ cv.check_type('plot level', plot_level, Integral)
+ cv.check_greater_than('plot level', plot_level, 0, equality=True)
+ self._level = plot_level
+
+ @meshlines.setter
+ def meshlines(self, meshlines):
+ cv.check_type('plot meshlines', meshlines, dict)
+ if 'type' not in meshlines:
+ msg = 'Unable to set on plot the meshlines "{0}" which ' \
+ 'does not have a "type" key'.format(meshlines)
+ raise ValueError(msg)
+
+ elif meshlines['type'] not in ['tally', 'entropy', 'ufs', 'cmfd']:
+ msg = 'Unable to set the meshlines with ' \
+ 'type "{0}"'.format(meshlines['type'])
+ raise ValueError(msg)
+
+ if 'id' in meshlines:
+ cv.check_type('plot meshlines id', meshlines['id'], Integral)
+ cv.check_greater_than('plot meshlines id', meshlines['id'], 0,
+ equality=True)
+
+ if 'linewidth' in meshlines:
+ cv.check_type('plot mesh linewidth', meshlines['linewidth'], Integral)
+ cv.check_greater_than('plot mesh linewidth', meshlines['linewidth'],
+ 0, equality=True)
+
+ if 'color' in meshlines:
+ cv.check_type('plot meshlines color', meshlines['color'], Iterable,
+ Integral)
+ cv.check_length('plot meshlines color', meshlines['color'], 3)
+ for rgb in meshlines['color']:
+ cv.check_greater_than('plot meshlines color', rgb, 0, True)
+ cv.check_less_than('plot meshlines color', rgb, 256)
+
+ self._meshlines = meshlines
+
def __repr__(self):
string = 'Plot\n'
string += '{0: <16}{1}{2}\n'.format('\tID', '=\t', self._id)
@@ -256,11 +310,16 @@ class Plot(object):
string += '{0: <16}{1}{2}\n'.format('\tOrigin', '=\t', self._origin)
string += '{0: <16}{1}{2}\n'.format('\tPixels', '=\t', self._origin)
string += '{0: <16}{1}{2}\n'.format('\tColor', '=\t', self._color)
- string += '{0: <16}{1}{2}\n'.format('\tMask', '=\t',
+ string += '{0: <16}{1}{2}\n'.format('\tBackground', '=\t',
+ self._background)
+ string += '{0: <16}{1}{2}\n'.format('\tMask components', '=\t',
self._mask_components)
- string += '{0: <16}{1}{2}\n'.format('\tMask', '=\t',
+ string += '{0: <16}{1}{2}\n'.format('\tMask background', '=\t',
self._mask_background)
string += '{0: <16}{1}{2}\n'.format('\tCol Spec', '=\t', self._col_spec)
+ string += '{0: <16}{1}{2}\n'.format('\tLevel', '=\t', self._level)
+ string += '{0: <16}{1}{2}\n'.format('\tMeshlines', '=\t',
+ self._meshlines)
return string
def colorize(self, geometry, seed=1):
@@ -382,7 +441,7 @@ class Plot(object):
subelement = ET.SubElement(element, "pixels")
subelement.text = ' '.join(map(str, self._pixels))
- if self._mask_background is not None:
+ if self._background is not None:
subelement = ET.SubElement(element, "background")
subelement.text = ' '.join(map(str, self._background))
@@ -400,6 +459,21 @@ class Plot(object):
subelement.set("background", ' '.join(map(
str, self._mask_background)))
+ if self._level is not None:
+ subelement = ET.SubElement(element, "level")
+ subelement.text = str(self._level)
+
+ if self._meshlines is not None:
+ subelement = ET.SubElement(element, "meshlines")
+ subelement.set("meshtype", self._meshlines['type'])
+ if self._meshlines['id'] is not None:
+ subelement.set("id", str(self._meshlines['id']))
+ if self._meshlines['linewidth'] is not None:
+ subelement.set("linewidth", str(self._meshlines['linewidth']))
+ if self._meshlines['color'] is not None:
+ subelement.set("color", ' '.join(map(
+ str, self._meshlines['color'])))
+
return element
diff --git a/openmc/settings.py b/openmc/settings.py
index c1d4adc24c..86aac94712 100644
--- a/openmc/settings.py
+++ b/openmc/settings.py
@@ -1,4 +1,4 @@
-from collections import Iterable, MutableSequence
+from collections import Iterable, MutableSequence, Mapping
from numbers import Real, Integral
import warnings
from xml.etree import ElementTree as ET
@@ -78,8 +78,6 @@ class Settings(object):
cross section library. If it is not set, the
:envvar:`OPENMC_MULTIPOLE_LIBRARY` environment variable will be used. A
multipole library is optional.
- energy_grid : {'nuclide', 'logarithm', 'material-union'}
- Set the method used to search energy grids.
energy_mode : {'continuous-energy', 'multi-group'}
Set whether the calculation should be continuous-energy or multi-group.
max_order : int
@@ -103,6 +101,14 @@ class Settings(object):
Coordinates of the lower-left point of the Shannon entropy mesh
entropy_upper_right : tuple or list
Coordinates of the upper-right point of the Shannon entropy mesh
+ temperature : dict
+ Defines a default temperature and method for treating intermediate
+ temperatures at which nuclear data doesn't exist. Accepted keys are
+ 'default', 'method', and 'tolerance'. The value for 'default' should be
+ a float representing the default temperature in Kelvin. The value for
+ 'method' should be 'nearest' or 'interpolation'. If the method is
+ 'nearest', 'tolerance' indicates a range of temperature within which
+ cross sections may be used.
trigger_active : bool
Indicate whether tally triggers are used
trigger_max_batches : int
@@ -130,9 +136,6 @@ class Settings(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
- use_windowed_multipole : bool
- Whether or not windowed multipole can be used to evaluate resolved
- resonance cross sections.
resonance_scattering : ResonanceScattering or iterable of ResonanceScattering
The elastic scattering model to use for resonant isotopes
volume_calculations : VolumeCalculation or iterable of VolumeCalculation
@@ -160,7 +163,6 @@ class Settings(object):
self._confidence_intervals = None
self._cross_sections = None
self._multipole_library = None
- self._energy_grid = None
self._ptables = None
self._run_cmfd = None
self._seed = None
@@ -197,6 +199,8 @@ class Settings(object):
self._trace = None
self._track = None
+ self._temperature = {}
+
# Cutoff subelement
self._weight = None
self._weight_avg = None
@@ -216,7 +220,6 @@ class Settings(object):
self._settings_file = ET.Element("settings")
self._run_mode_subelement = None
- self._multipole_active = None
self._resonance_scattering = cv.CheckedList(
ResonanceScattering, 'resonance scattering models')
@@ -271,10 +274,6 @@ class Settings(object):
def multipole_library(self):
return self._multipole_library
- @property
- def energy_grid(self):
- return self._energy_grid
-
@property
def ptables(self):
return self._ptables
@@ -363,6 +362,10 @@ class Settings(object):
def verbosity(self):
return self._verbosity
+ @property
+ def temperature(self):
+ return self._temperature
+
@property
def trace(self):
return self._trace
@@ -415,10 +418,6 @@ class Settings(object):
def dd_count_interactions(self):
return self._dd_count_interactions
- @property
- def use_windowed_multipole(self):
- return self._multipole_active
-
@property
def resonance_scattering(self):
return self._resonance_scattering
@@ -593,12 +592,6 @@ class Settings(object):
cv.check_type('cross sections', multipole_library, basestring)
self._multipole_library = multipole_library
- @energy_grid.setter
- def energy_grid(self, energy_grid):
- cv.check_value('energy grid', energy_grid,
- ['nuclide', 'logarithm', 'material-union'])
- self._energy_grid = energy_grid
-
@ptables.setter
def ptables(self, ptables):
cv.check_type('probability tables', ptables, bool)
@@ -674,6 +667,21 @@ class Settings(object):
cv.check_type('no reduction option', no_reduce, bool)
self._no_reduce = no_reduce
+ @temperature.setter
+ def temperature(self, temperature):
+ cv.check_type('temperature settings', temperature, Mapping)
+ for key, value in temperature.items():
+ cv.check_value('temperature key', key,
+ ['default', 'method', 'tolerance'])
+ if key == 'default':
+ cv.check_type('default temperature', value, Real)
+ elif key == 'method':
+ cv.check_value('temperature method', value,
+ ['nearest', 'interpolation', 'multipole'])
+ elif key == 'tolerance':
+ cv.check_type('temperature tolerance', value, Real)
+ self._temperature = temperature
+
@threads.setter
def threads(self, threads):
cv.check_type('number of threads', threads, Integral)
@@ -801,11 +809,6 @@ class Settings(object):
self._dd_count_interactions = interactions
- @use_windowed_multipole.setter
- def use_windowed_multipole(self, active):
- cv.check_type('use_windowed_multipole', active, bool)
- self._multipole_active = active
-
@resonance_scattering.setter
def resonance_scattering(self, res):
if not isinstance(res, MutableSequence):
@@ -963,11 +966,6 @@ class Settings(object):
element = ET.SubElement(self._settings_file, "multipole_library")
element.text = str(self._multipole_library)
- def _create_energy_grid_subelement(self):
- if self._energy_grid is not None:
- element = ET.SubElement(self._settings_file, "energy_grid")
- element.text = str(self._energy_grid)
-
def _create_ptables_subelement(self):
if self._ptables is not None:
element = ET.SubElement(self._settings_file, "ptables")
@@ -1050,6 +1048,13 @@ class Settings(object):
element = ET.SubElement(self._settings_file, "no_reduce")
element.text = str(self._no_reduce).lower()
+ def _create_temperature_subelements(self):
+ if self.temperature:
+ for key, value in self.temperature.items():
+ element = ET.SubElement(self._settings_file,
+ "temperature_{}".format(key))
+ element.text = str(value)
+
def _create_threads_subelement(self):
if self._threads is not None:
element = ET.SubElement(self._settings_file, "threads")
@@ -1107,20 +1112,10 @@ class Settings(object):
subelement = ET.SubElement(element, "count_interactions")
subelement.text = str(self._dd_count_interactions).lower()
- def _create_use_multipole_subelement(self):
- if self._multipole_active is not None:
- element = ET.SubElement(self._settings_file,
- "use_windowed_multipole")
- element.text = str(self._multipole_active)
-
def _create_resonance_scattering_subelement(self):
if len(self.resonance_scattering) > 0:
elem = 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.")
elem.append(r.to_xml_element())
def export_to_xml(self):
@@ -1142,7 +1137,6 @@ class Settings(object):
self._create_confidence_intervals()
self._create_cross_sections_subelement()
self._create_multipole_library_subelement()
- self._create_energy_grid_subelement()
self._create_energy_mode_subelement()
self._create_max_order_subelement()
self._create_ptables_subelement()
@@ -1155,11 +1149,11 @@ class Settings(object):
self._create_no_reduce_subelement()
self._create_threads_subelement()
self._create_verbosity_subelement()
+ self._create_temperature_subelements()
self._create_trace_subelement()
self._create_track_subelement()
self._create_ufs_subelement()
self._create_dd_subelement()
- self._create_use_multipole_subelement()
self._create_resonance_scattering_subelement()
self._create_volume_calcs_subelement()
@@ -1175,14 +1169,26 @@ class Settings(object):
class ResonanceScattering(object):
"""Specification of the elastic scattering model for resonant isotopes
+ Parameters
+ ----------
+ nuclide : openmc.Nuclide
+ The nuclide affected by this resonance scattering treatment.
+ method : {'ARES', 'CXS', 'DBRC', 'WCM'}
+ 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.
+
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
+ method : {'ARES', 'CXS', 'DBRC', 'WCM'}
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).
@@ -1195,21 +1201,20 @@ class ResonanceScattering(object):
"""
- def __init__(self):
- self._nuclide = None
- self._nuclide_0K = None
- self._method = None
+ def __init__(self, nuclide, method='CXS', E_min=None, E_max=None):
self._E_min = None
self._E_max = None
+ self.nuclide = nuclide
+ self.method = method
+ if E_min is not None:
+ self.E_min = E_min
+ if E_max is not None:
+ self.E_max = E_max
@property
def nuclide(self):
return self._nuclide
- @property
- def nuclide_0K(self):
- return self._nuclide_0K
-
@property
def method(self):
return self._method
@@ -1227,11 +1232,6 @@ class ResonanceScattering(object):
cv.check_type('nuclide', nuc, Nuclide)
self._nuclide = nuc
- @nuclide_0K.setter
- def nuclide_0K(self, nuc):
- cv.check_type('nuclide_0K', nuc, Nuclide)
- self._nuclide_0K = nuc
-
@method.setter
def method(self, m):
cv.check_value('method', m, ('ARES', 'CXS', 'DBRC', 'WCM'))
diff --git a/openmc/summary.py b/openmc/summary.py
index 3e25f2c26a..38c0e335c7 100644
--- a/openmc/summary.py
+++ b/openmc/summary.py
@@ -83,11 +83,10 @@ class Summary(object):
n_nuclides = self._f['nuclides/n_nuclides_total'].value
names = self._f['nuclides/names'].value
awrs = self._f['nuclides/awrs'].value
- zaids = self._f['nuclides/zaids'].value
for n in range(n_nuclides):
name = names[n].decode()
name = name[:name.find('.')]
- self.nuclides[name] = (zaids[n], awrs[n])
+ self.nuclides[name] = awrs[n]
def _read_geometry(self):
# Read in and initialize the Materials and Geometry
@@ -113,7 +112,6 @@ class Summary(object):
material_id = int(key.lstrip('material '))
index = self._f['materials'][key]['index'].value
name = self._f['materials'][key]['name'].value.decode()
- temperature = self._f['materials'][key]['temperature'].value.decode()
density = self._f['materials'][key]['atom_density'].value
nuc_densities = self._f['materials'][key]['nuclide_densities'][...]
nuclides = self._f['materials'][key]['nuclides'].value
diff --git a/src/algorithm.F90 b/src/algorithm.F90
new file mode 100644
index 0000000000..101b11b9a7
--- /dev/null
+++ b/src/algorithm.F90
@@ -0,0 +1,275 @@
+module algorithm
+
+ use constants
+ use stl_vector, only: VectorInt, VectorReal
+
+ implicit none
+
+ integer, parameter :: MAX_ITERATION = 64
+
+ interface binary_search
+ module procedure binary_search_real, binary_search_int4, binary_search_int8
+ end interface binary_search
+
+ interface sort
+ module procedure sort_int, sort_real, sort_vector_int, sort_vector_real
+ end interface sort
+
+ interface find
+ module procedure find_int, find_real, find_vector_int, find_vector_real
+ end interface find
+
+contains
+
+!===============================================================================
+! BINARY_SEARCH performs a binary search of an array to find where a specific
+! value lies in the array. This is used extensively for energy grid searching
+!===============================================================================
+
+ pure function binary_search_real(array, n, val) result(array_index)
+
+ integer, intent(in) :: n
+ real(8), intent(in) :: array(n)
+ real(8), intent(in) :: val
+ integer :: array_index
+
+ integer :: L
+ integer :: R
+ integer :: n_iteration
+
+ L = 1
+ R = n
+
+ if (val < array(L) .or. val > array(R)) then
+ array_index = -1
+ return
+ end if
+
+ n_iteration = 0
+ do while (R - L > 1)
+ ! Find values at midpoint
+ array_index = L + (R - L)/2
+ if (val >= array(array_index)) then
+ L = array_index
+ else
+ R = array_index
+ end if
+
+ ! check for large number of iterations
+ n_iteration = n_iteration + 1
+ if (n_iteration == MAX_ITERATION) then
+ array_index = -2
+ return
+ end if
+ end do
+
+ array_index = L
+
+ end function binary_search_real
+
+ pure function binary_search_int4(array, n, val) result(array_index)
+
+ integer, intent(in) :: n
+ integer, intent(in) :: array(n)
+ integer, intent(in) :: val
+ integer :: array_index
+
+ integer :: L
+ integer :: R
+ integer :: n_iteration
+
+ L = 1
+ R = n
+
+ if (val < array(L) .or. val > array(R)) then
+ array_index = -1
+ return
+ end if
+
+ n_iteration = 0
+ do while (R - L > 1)
+ ! Find values at midpoint
+ array_index = L + (R - L)/2
+ if (val >= array(array_index)) then
+ L = array_index
+ else
+ R = array_index
+ end if
+
+ ! check for large number of iterations
+ n_iteration = n_iteration + 1
+ if (n_iteration == MAX_ITERATION) then
+ array_index = -2
+ return
+ end if
+ end do
+
+ array_index = L
+
+ end function binary_search_int4
+
+ pure function binary_search_int8(array, n, val) result(array_index)
+
+ integer, intent(in) :: n
+ integer(8), intent(in) :: array(n)
+ integer(8), intent(in) :: val
+ integer :: array_index
+
+ integer :: L
+ integer :: R
+ integer :: n_iteration
+
+ L = 1
+ R = n
+
+ if (val < array(L) .or. val > array(R)) then
+ array_index = -1
+ return
+ end if
+
+ n_iteration = 0
+ do while (R - L > 1)
+ ! Find values at midpoint
+ array_index = L + (R - L)/2
+ if (val >= array(array_index)) then
+ L = array_index
+ else
+ R = array_index
+ end if
+
+ ! check for large number of iterations
+ n_iteration = n_iteration + 1
+ if (n_iteration == MAX_ITERATION) then
+ array_index = -2
+ return
+ end if
+ end do
+
+ array_index = L
+
+ end function binary_search_int8
+
+!===============================================================================
+! SORT sorts an array in place using an insertion sort.
+!===============================================================================
+
+ pure subroutine sort_int(array)
+ integer, intent(inout) :: array(:)
+
+ integer :: k, m
+ integer :: temp
+
+ if (size(array) > 1) then
+ SORT: do k = 2, size(array)
+ ! Save value to move
+ m = k
+ temp = array(k)
+
+ MOVE_OVER: do while (m > 1)
+ ! Check if insertion value is greater than (m-1)th value
+ if (temp >= array(m - 1)) exit
+
+ ! Move values over until hitting one that's not larger
+ array(m) = array(m - 1)
+ m = m - 1
+ end do MOVE_OVER
+
+ ! Put the original value into its new position
+ array(m) = temp
+ end do SORT
+ end if
+ end subroutine sort_int
+
+ pure subroutine sort_real(array)
+ real(8), intent(inout) :: array(:)
+
+ integer :: k, m
+ real(8) :: temp
+
+ if (size(array) > 1) then
+ SORT: do k = 2, size(array)
+ ! Save value to move
+ m = k
+ temp = array(k)
+
+ MOVE_OVER: do while (m > 1)
+ ! Check if insertion value is greater than (m-1)th value
+ if (temp >= array(m - 1)) exit
+
+ ! Move values over until hitting one that's not larger
+ array(m) = array(m - 1)
+ m = m - 1
+ end do MOVE_OVER
+
+ ! Put the original value into its new position
+ array(m) = temp
+ end do SORT
+ end if
+ end subroutine sort_real
+
+ pure subroutine sort_vector_int(vec)
+ type(VectorInt), intent(inout) :: vec
+
+ call sort_int(vec % data(1:vec%size()))
+ end subroutine sort_vector_int
+
+ pure subroutine sort_vector_real(vec)
+ type(VectorReal), intent(inout) :: vec
+
+ call sort_real(vec % data(1:vec%size()))
+ end subroutine sort_vector_real
+
+!===============================================================================
+! FIND determines the index of the first occurrence of a value in an array. If
+! the value does not appear in the array, -1 is returned.
+!===============================================================================
+
+ pure function find_int(array, val) result(index)
+ integer, intent(in) :: array(:)
+ integer, intent(in) :: val
+ integer :: index
+
+ integer :: i
+
+ index = -1
+ do i = 1, size(array)
+ if (array(i) == val) then
+ index = i
+ exit
+ end if
+ end do
+ end function find_int
+
+ pure function find_real(array, val) result(index)
+ real(8), intent(in) :: array(:)
+ real(8), intent(in) :: val
+ integer :: index
+
+ integer :: i
+
+ index = -1
+ do i = 1, size(array)
+ if (array(i) == val) then
+ index = i
+ exit
+ end if
+ end do
+ end function find_real
+
+ pure function find_vector_int(vec, val) result(index)
+ type(VectorInt), intent(in) :: vec
+ integer, intent(in) :: val
+ integer :: index
+
+ index = find_int(vec % data(1:vec % size()), val)
+ end function find_vector_int
+
+ pure function find_vector_real(vec, val) result(index)
+ type(VectorReal), intent(in) :: vec
+ real(8), intent(in) :: val
+ integer :: index
+
+ index = find_real(vec % data(1:vec % size()), val)
+ end function find_vector_real
+
+end module algorithm
diff --git a/src/angle_distribution.F90 b/src/angle_distribution.F90
index a4fea6ff77..5d16f74242 100644
--- a/src/angle_distribution.F90
+++ b/src/angle_distribution.F90
@@ -2,12 +2,12 @@ module angle_distribution
use hdf5, only: HID_T, HSIZE_T
+ use algorithm, only: binary_search
use constants, only: ZERO, ONE, HISTOGRAM, LINEAR_LINEAR
use distribution_univariate, only: DistributionContainer, Tabular
use hdf5_interface, only: read_attribute, get_shape, read_dataset, &
open_dataset, close_dataset
use random_lcg, only: prn
- use search, only: binary_search
implicit none
private
diff --git a/src/cmfd_execute.F90 b/src/cmfd_execute.F90
index b7d0cc3879..d2631254b1 100644
--- a/src/cmfd_execute.F90
+++ b/src/cmfd_execute.F90
@@ -213,13 +213,13 @@ contains
subroutine cmfd_reweight(new_weights)
+ use algorithm, only: binary_search
use constants, only: ZERO, ONE
use error, only: warning, fatal_error
use global, only: meshes, source_bank, work, n_user_meshes, cmfd, &
master
use mesh_header, only: RegularMesh
use mesh, only: count_bank_sites, get_mesh_indices
- use search, only: binary_search
use string, only: to_str
#ifdef MPI
diff --git a/src/constants.F90 b/src/constants.F90
index 6d5f2fc107..ff2bd37107 100644
--- a/src/constants.F90
+++ b/src/constants.F90
@@ -268,6 +268,12 @@ module constants
JENDL_33 = 7, &
JENDL_40 = 8
+ ! Temperature treatment method
+ integer, parameter :: &
+ TEMPERATURE_NEAREST = 1, &
+ TEMPERATURE_INTERPOLATION = 2, &
+ TEMPERATURE_MULTIPOLE = 3
+
! ============================================================================
! TALLY-RELATED CONSTANTS
@@ -401,12 +407,6 @@ module constants
integer, parameter :: ERROR_INT = -huge(0)
real(8), parameter :: ERROR_REAL = -huge(0.0_8) * 0.917826354_8
- ! Energy grid methods
- integer, parameter :: &
- GRID_NUCLIDE = 1, & ! unique energy grid for each nuclide
- GRID_MAT_UNION = 2, & ! material union grids with pointers
- GRID_LOGARITHM = 3 ! lethargy mapping
-
! Running modes
integer, parameter :: &
MODE_FIXEDSOURCE = 1, & ! Fixed source mode
diff --git a/src/cross_section.F90 b/src/cross_section.F90
index a8acb25a83..800552f891 100644
--- a/src/cross_section.F90
+++ b/src/cross_section.F90
@@ -1,7 +1,8 @@
module cross_section
+ use algorithm, only: binary_search
use constants
- use energy_grid, only: grid_method, log_spacing
+ use energy_grid, only: log_spacing
use error, only: fatal_error
use global
use list_header, only: ListElemInt
@@ -14,7 +15,6 @@ module cross_section
use particle_header, only: Particle
use random_lcg, only: prn, future_prn, prn_set_stream
use sab_header, only: SAlphaBeta
- use search, only: binary_search
implicit none
@@ -37,7 +37,6 @@ contains
! union grid
real(8) :: atom_density ! atom density of a nuclide
logical :: check_sab ! should we check for S(a,b) table?
- type(Material), pointer :: mat ! current material
! Set all material macroscopic cross sections to zero
material_xs % total = ZERO
@@ -49,89 +48,83 @@ contains
! Exit subroutine if material is void
if (p % material == MATERIAL_VOID) return
- mat => materials(p % material)
-
- ! Find energy index on energy grid
- if (grid_method == GRID_MAT_UNION) then
- i_grid = find_energy_index(mat, p % E)
- else if (grid_method == GRID_LOGARITHM) then
+ associate (mat => materials(p % material))
+ ! Find energy index on energy grid
i_grid = int(log(p % E/energy_min_neutron)/log_spacing)
- end if
- ! Determine if this material has S(a,b) tables
- check_sab = (mat % n_sab > 0)
+ ! Determine if this material has S(a,b) tables
+ check_sab = (mat % n_sab > 0)
- ! Initialize position in i_sab_nuclides
- j = 1
+ ! Initialize position in i_sab_nuclides
+ j = 1
- ! Add contribution from each nuclide in material
- do i = 1, mat % n_nuclides
- ! ========================================================================
- ! CHECK FOR S(A,B) TABLE
+ ! Add contribution from each nuclide in material
+ do i = 1, mat % n_nuclides
+ ! ========================================================================
+ ! CHECK FOR S(A,B) TABLE
- i_sab = 0
+ i_sab = 0
- ! Check if this nuclide matches one of the S(a,b) tables specified -- this
- ! relies on i_sab_nuclides being in sorted order
- if (check_sab) then
- if (i == mat % i_sab_nuclides(j)) then
- ! Get index in sab_tables
- i_sab = mat % i_sab_tables(j)
+ ! Check if this nuclide matches one of the S(a,b) tables specified -- this
+ ! relies on i_sab_nuclides being in sorted order
+ if (check_sab) then
+ if (i == mat % i_sab_nuclides(j)) then
+ ! Get index in sab_tables
+ i_sab = mat % i_sab_tables(j)
- ! If particle energy is greater than the highest energy for the S(a,b)
- ! table, don't use the S(a,b) table
- if (p % E > sab_tables(i_sab) % threshold_inelastic) i_sab = 0
+ ! If particle energy is greater than the highest energy for the S(a,b)
+ ! table, don't use the S(a,b) table
+ if (p % E > sab_tables(i_sab) % data(1) % threshold_inelastic) i_sab = 0
- ! Increment position in i_sab_nuclides
- j = j + 1
+ ! Increment position in i_sab_nuclides
+ j = j + 1
- ! Don't check for S(a,b) tables if there are no more left
- if (j > mat % n_sab) check_sab = .false.
+ ! Don't check for S(a,b) tables if there are no more left
+ if (j > mat % n_sab) check_sab = .false.
+ end if
end if
- end if
- ! ========================================================================
- ! CALCULATE MICROSCOPIC CROSS SECTION
+ ! ========================================================================
+ ! CALCULATE MICROSCOPIC CROSS SECTION
- ! Determine microscopic cross sections for this nuclide
- i_nuclide = mat % nuclide(i)
+ ! Determine microscopic cross sections for this nuclide
+ i_nuclide = mat % nuclide(i)
- ! Calculate microscopic cross section for this nuclide
- if (p % E /= micro_xs(i_nuclide) % last_E &
- .or. p % sqrtkT /= micro_xs(i_nuclide) % last_sqrtkT) then
- call calculate_nuclide_xs(i_nuclide, i_sab, p % E, p % material, i, &
- i_grid, p % sqrtkT)
- else if (i_sab /= micro_xs(i_nuclide) % last_index_sab) then
- call calculate_nuclide_xs(i_nuclide, i_sab, p % E, p % material, i, &
- i_grid, p % sqrtkT)
- end if
+ ! Calculate microscopic cross section for this nuclide
+ if (p % E /= micro_xs(i_nuclide) % last_E &
+ .or. p % sqrtkT /= micro_xs(i_nuclide) % last_sqrtkT) then
+ call calculate_nuclide_xs(i_nuclide, i_sab, p % E, i_grid, p % sqrtkT)
+ else if (i_sab /= micro_xs(i_nuclide) % last_index_sab) then
+ call calculate_nuclide_xs(i_nuclide, i_sab, p % E, i_grid, p % sqrtkT)
+ end if
- ! ========================================================================
- ! ADD TO MACROSCOPIC CROSS SECTION
+ ! ========================================================================
+ ! ADD TO MACROSCOPIC CROSS SECTION
- ! Copy atom density of nuclide in material
- atom_density = mat % atom_density(i)
+ ! Copy atom density of nuclide in material
+ atom_density = mat % atom_density(i)
- ! Add contributions to material macroscopic total cross section
- material_xs % total = material_xs % total + &
- atom_density * micro_xs(i_nuclide) % total
+ ! Add contributions to material macroscopic total cross section
+ material_xs % total = material_xs % total + &
+ atom_density * micro_xs(i_nuclide) % total
- ! Add contributions to material macroscopic scattering cross section
- material_xs % elastic = material_xs % elastic + &
- atom_density * micro_xs(i_nuclide) % elastic
+ ! Add contributions to material macroscopic scattering cross section
+ material_xs % elastic = material_xs % elastic + &
+ atom_density * micro_xs(i_nuclide) % elastic
- ! Add contributions to material macroscopic absorption cross section
- material_xs % absorption = material_xs % absorption + &
- atom_density * micro_xs(i_nuclide) % absorption
+ ! Add contributions to material macroscopic absorption cross section
+ material_xs % absorption = material_xs % absorption + &
+ atom_density * micro_xs(i_nuclide) % absorption
- ! Add contributions to material macroscopic fission cross section
- material_xs % fission = material_xs % fission + &
- atom_density * micro_xs(i_nuclide) % fission
+ ! Add contributions to material macroscopic fission cross section
+ material_xs % fission = material_xs % fission + &
+ atom_density * micro_xs(i_nuclide) % fission
- ! Add contributions to material macroscopic nu-fission cross section
- material_xs % nu_fission = material_xs % nu_fission + &
- atom_density * micro_xs(i_nuclide) % nu_fission
- end do
+ ! Add contributions to material macroscopic nu-fission cross section
+ material_xs % nu_fission = material_xs % nu_fission + &
+ atom_density * micro_xs(i_nuclide) % nu_fission
+ end do
+ end associate
end subroutine calculate_xs
@@ -140,169 +133,161 @@ contains
! given index in the nuclides array at the energy of the given particle
!===============================================================================
- subroutine calculate_nuclide_xs(i_nuclide, i_sab, E, i_mat, i_nuc_mat, &
- i_log_union, sqrtkT)
+ subroutine calculate_nuclide_xs(i_nuclide, i_sab, E, i_log_union, sqrtkT)
integer, intent(in) :: i_nuclide ! index into nuclides array
integer, intent(in) :: i_sab ! index into sab_tables array
real(8), intent(in) :: E ! energy
- integer, intent(in) :: i_mat ! index into materials array
- integer, intent(in) :: i_nuc_mat ! index into nuclides array for a material
integer, intent(in) :: i_log_union ! index into logarithmic mapping array or
! material union energy grid
real(8), intent(in) :: sqrtkT ! Square root of kT, material dependent
logical :: use_mp ! true if XS can be calculated with windowed multipole
+ integer :: i_temp ! index for temperature
integer :: i_grid ! index on nuclide energy grid
integer :: i_low ! lower logarithmic mapping index
integer :: i_high ! upper logarithmic mapping index
real(8) :: f ! interp factor on nuclide energy grid
+ real(8) :: kT ! temperature in MeV
real(8) :: sigT, sigA, sigF ! Intermediate multipole variables
- type(Nuclide), pointer :: nuc
- type(Material), pointer :: mat
- ! Set pointer to nuclide and material
- nuc => nuclides(i_nuclide)
- mat => materials(i_mat)
-
- ! Check to see if there is multipole data present at this energy
- use_mp = .false.
- if (nuc % mp_present) then
- if (E >= nuc % multipole % start_E/1.0e6_8 .and. &
- E <= nuc % multipole % end_E/1.0e6_8) then
- use_mp = .true.
- end if
- end if
-
- ! Evaluate multipole or interpolate
- if (use_mp) then
- ! Call multipole kernel
- call multipole_eval(nuc % multipole, E, sqrtkT, sigT, sigA, sigF)
-
- micro_xs(i_nuclide) % total = sigT
- micro_xs(i_nuclide) % absorption = sigA
- micro_xs(i_nuclide) % elastic = sigT - sigA
-
- if (nuc % fissionable) then
- micro_xs(i_nuclide) % fission = sigF
- micro_xs(i_nuclide) % nu_fission = sigF * nuc % nu(E, EMISSION_TOTAL)
+ associate (nuc => nuclides(i_nuclide))
+ ! Check to see if there is multipole data present at this energy
+ use_mp = .false.
+ if (nuc % mp_present) then
+ if (E >= nuc % multipole % start_E/1.0e6_8 .and. &
+ E <= nuc % multipole % end_E/1.0e6_8) then
+ use_mp = .true.
+ else
+ ! If using multipole data but outside the RRR, pick the nearest
+ ! temperature. Note that there is no tolerance here, so this
+ ! temperature could be very far off!
+ i_temp = minloc(abs(nuclides(i_nuclide) % kTs - kT), dim=1)
+ end if
else
- micro_xs(i_nuclide) % fission = ZERO
- micro_xs(i_nuclide) % nu_fission = ZERO
+ ! If not using multipole data, do a linear search on temperature
+ kT = sqrtkT**2
+ do i_temp = 1, size(nuclides(i_nuclide) % kTs)
+ if (abs(nuclides(i_nuclide) % kTs(i_temp) - kT) < &
+ K_BOLTZMANN*temperature_tolerance) exit
+ end do
end if
- ! Ensure these values are set
- ! Note, the only time either is used is in one of 4 places:
- ! 1. physics.F90 - scatter - For inelastic scatter.
- ! 2. physics.F90 - sample_fission - For partial fissions.
- ! 3. tally.F90 - score_general - For tallying on MTxxx reactions.
- ! 4. cross_section.F90 - calculate_urr_xs - For unresolved purposes.
- ! It is worth noting that none of these occur in the resolved
- ! resonance range, so the value here does not matter.
- micro_xs(i_nuclide) % index_grid = 0
- micro_xs(i_nuclide) % interp_factor = ZERO
- else
- ! Determine index on nuclide energy grid
- select case (grid_method)
- case (GRID_MAT_UNION)
+ ! Evaluate multipole or interpolate
+ if (use_mp) then
+ ! Call multipole kernel
+ call multipole_eval(nuc % multipole, E, sqrtkT, sigT, sigA, sigF)
- i_grid = mat % nuclide_grid_index(i_nuc_mat, i_log_union)
+ micro_xs(i_nuclide) % total = sigT
+ micro_xs(i_nuclide) % absorption = sigA
+ micro_xs(i_nuclide) % elastic = sigT - sigA
- case (GRID_LOGARITHM)
- ! Determine the energy grid index using a logarithmic mapping to reduce
- ! the energy range over which a binary search needs to be performed
-
- if (E < nuc % energy(1)) then
- i_grid = 1
- elseif (E > nuc % energy(nuc % n_grid)) then
- i_grid = nuc % n_grid - 1
+ if (nuc % fissionable) then
+ micro_xs(i_nuclide) % fission = sigF
+ micro_xs(i_nuclide) % nu_fission = sigF * nuc % nu(E, EMISSION_TOTAL)
else
- ! Determine bounding indices based on which equal log-spaced interval
- ! the energy is in
- i_low = nuc % grid_index(i_log_union)
- i_high = nuc % grid_index(i_log_union + 1) + 1
-
- ! Perform binary search over reduced range
- i_grid = binary_search(nuc % energy(i_low:i_high), &
- i_high - i_low + 1, E) + i_low - 1
+ micro_xs(i_nuclide) % fission = ZERO
+ micro_xs(i_nuclide) % nu_fission = ZERO
end if
- case (GRID_NUCLIDE)
- ! Perform binary search on the nuclide energy grid in order to determine
- ! which points to interpolate between
+ ! Ensure these values are set
+ ! Note, the only time either is used is in one of 4 places:
+ ! 1. physics.F90 - scatter - For inelastic scatter.
+ ! 2. physics.F90 - sample_fission - For partial fissions.
+ ! 3. tally.F90 - score_general - For tallying on MTxxx reactions.
+ ! 4. cross_section.F90 - calculate_urr_xs - For unresolved purposes.
+ ! It is worth noting that none of these occur in the resolved
+ ! resonance range, so the value here does not matter.
+ micro_xs(i_nuclide) % index_temp = i_temp
+ micro_xs(i_nuclide) % index_grid = 0
+ micro_xs(i_nuclide) % interp_factor = ZERO
+ else
+ associate (grid => nuc % grid(i_temp), xs => nuc % sum_xs(i_temp))
+ ! Determine the energy grid index using a logarithmic mapping to reduce
+ ! the energy range over which a binary search needs to be performed
- if (E <= nuc % energy(1)) then
- i_grid = 1
- elseif (E > nuc % energy(nuc % n_grid)) then
- i_grid = nuc % n_grid - 1
- else
- i_grid = binary_search(nuc % energy, nuc % n_grid, E)
+ if (E < grid % energy(1)) then
+ i_grid = 1
+ elseif (E > grid % energy(size(grid % energy))) then
+ i_grid = size(grid % energy) - 1
+ else
+ ! Determine bounding indices based on which equal log-spaced interval
+ ! the energy is in
+ i_low = grid % grid_index(i_log_union)
+ i_high = grid % grid_index(i_log_union + 1) + 1
+
+ ! Perform binary search over reduced range
+ i_grid = binary_search(grid % energy(i_low:i_high), &
+ i_high - i_low + 1, E) + i_low - 1
+ end if
+
+ ! check for rare case where two energy points are the same
+ if (grid % energy(i_grid) == grid % energy(i_grid + 1)) &
+ i_grid = i_grid + 1
+
+ ! calculate interpolation factor
+ f = (E - grid % energy(i_grid)) / &
+ (grid % energy(i_grid + 1) - grid % energy(i_grid))
+
+ micro_xs(i_nuclide) % index_temp = i_temp
+ micro_xs(i_nuclide) % index_grid = i_grid
+ micro_xs(i_nuclide) % interp_factor = f
+
+ ! Initialize nuclide cross-sections to zero
+ micro_xs(i_nuclide) % fission = ZERO
+ micro_xs(i_nuclide) % nu_fission = ZERO
+
+ ! Calculate microscopic nuclide total cross section
+ micro_xs(i_nuclide) % total = (ONE - f) * xs % total(i_grid) &
+ + f * xs % total(i_grid + 1)
+
+ ! Calculate microscopic nuclide elastic cross section
+ micro_xs(i_nuclide) % elastic = (ONE - f) * xs % elastic(i_grid) &
+ + f * xs % elastic(i_grid + 1)
+
+ ! Calculate microscopic nuclide absorption cross section
+ micro_xs(i_nuclide) % absorption = (ONE - f) * xs % absorption( &
+ i_grid) + f * xs % absorption(i_grid + 1)
+
+ if (nuc % fissionable) then
+ ! Calculate microscopic nuclide total cross section
+ micro_xs(i_nuclide) % fission = (ONE - f) * xs % fission(i_grid) &
+ + f * xs % fission(i_grid + 1)
+
+ ! Calculate microscopic nuclide nu-fission cross section
+ micro_xs(i_nuclide) % nu_fission = (ONE - f) * xs % nu_fission( &
+ i_grid) + f * xs % nu_fission(i_grid + 1)
+ end if
+ end associate
+ end if
+
+ ! Initialize sab treatment to false
+ micro_xs(i_nuclide) % index_sab = NONE
+ micro_xs(i_nuclide) % elastic_sab = ZERO
+
+ ! Initialize URR probability table treatment to false
+ micro_xs(i_nuclide) % use_ptable = .false.
+
+ ! If there is S(a,b) data for this nuclide, we need to do a few
+ ! things. Since the total cross section was based on non-S(a,b) data, we
+ ! need to correct it by subtracting the non-S(a,b) elastic cross section and
+ ! then add back in the calculated S(a,b) elastic+inelastic cross section.
+
+ if (i_sab > 0) call calculate_sab_xs(i_nuclide, i_sab, E, sqrtkT)
+
+ ! if the particle is in the unresolved resonance range and there are
+ ! probability tables, we need to determine cross sections from the table
+
+ if (urr_ptables_on .and. nuc % urr_present .and. .not. use_mp) then
+ if (E > nuc % urr_data(i_temp) % energy(1) .and. E < nuc % &
+ urr_data(i_temp) % energy(nuc % urr_data(i_temp) % n_energy)) then
+ call calculate_urr_xs(i_nuclide, i_temp, E)
end if
-
- end select
-
- ! check for rare case where two energy points are the same
- if (nuc % energy(i_grid) == nuc % energy(i_grid+1)) i_grid = i_grid + 1
-
- ! calculate interpolation factor
- f = (E - nuc%energy(i_grid))/(nuc%energy(i_grid+1) - nuc%energy(i_grid))
-
- micro_xs(i_nuclide) % index_grid = i_grid
- micro_xs(i_nuclide) % interp_factor = f
-
- ! Initialize nuclide cross-sections to zero
- micro_xs(i_nuclide) % fission = ZERO
- micro_xs(i_nuclide) % nu_fission = ZERO
-
- ! Calculate microscopic nuclide total cross section
- micro_xs(i_nuclide) % total = (ONE - f) * nuc % total(i_grid) &
- + f * nuc % total(i_grid+1)
-
- ! Calculate microscopic nuclide elastic cross section
- micro_xs(i_nuclide) % elastic = (ONE - f) * nuc % elastic(i_grid) &
- + f * nuc % elastic(i_grid+1)
-
- ! Calculate microscopic nuclide absorption cross section
- micro_xs(i_nuclide) % absorption = (ONE - f) * nuc % absorption( &
- i_grid) + f * nuc % absorption(i_grid+1)
-
- if (nuc % fissionable) then
- ! Calculate microscopic nuclide total cross section
- micro_xs(i_nuclide) % fission = (ONE - f) * nuc % fission(i_grid) &
- + f * nuc % fission(i_grid+1)
-
- ! Calculate microscopic nuclide nu-fission cross section
- micro_xs(i_nuclide) % nu_fission = (ONE - f) * nuc % nu_fission( &
- i_grid) + f * nuc % nu_fission(i_grid+1)
end if
- end if
- ! Initialize sab treatment to false
- micro_xs(i_nuclide) % index_sab = NONE
- micro_xs(i_nuclide) % elastic_sab = ZERO
-
- ! Initialize URR probability table treatment to false
- micro_xs(i_nuclide) % use_ptable = .false.
-
- ! If there is S(a,b) data for this nuclide, we need to do a few
- ! things. Since the total cross section was based on non-S(a,b) data, we
- ! need to correct it by subtracting the non-S(a,b) elastic cross section and
- ! then add back in the calculated S(a,b) elastic+inelastic cross section.
-
- if (i_sab > 0) call calculate_sab_xs(i_nuclide, i_sab, E)
-
- ! if the particle is in the unresolved resonance range and there are
- ! probability tables, we need to determine cross sections from the table
-
- if (urr_ptables_on .and. nuc % urr_present) then
- if (E > nuc % urr_data % energy(1) .and. &
- E < nuc % urr_data % energy(nuc % urr_data % n_energy)) then
- call calculate_urr_xs(i_nuclide, E)
- end if
- end if
-
- micro_xs(i_nuclide) % last_E = E
- micro_xs(i_nuclide) % last_index_sab = i_sab
- micro_xs(i_nuclide) % last_sqrtkT = sqrtkT
+ micro_xs(i_nuclide) % last_E = E
+ micro_xs(i_nuclide) % last_index_sab = i_sab
+ micro_xs(i_nuclide) % last_sqrtkT = sqrtkT
+ end associate
end subroutine calculate_nuclide_xs
@@ -312,75 +297,85 @@ contains
! whatever data were taken from the normal Nuclide table.
!===============================================================================
- subroutine calculate_sab_xs(i_nuclide, i_sab, E)
+ subroutine calculate_sab_xs(i_nuclide, i_sab, E, sqrtkT)
integer, intent(in) :: i_nuclide ! index into nuclides array
integer, intent(in) :: i_sab ! index into sab_tables array
real(8), intent(in) :: E ! energy
+ real(8), intent(in) :: sqrtkT ! temperature
integer :: i_grid ! index on S(a,b) energy grid
+ integer :: i_temp ! temperature index
real(8) :: f ! interp factor on S(a,b) energy grid
real(8) :: inelastic ! S(a,b) inelastic cross section
real(8) :: elastic ! S(a,b) elastic cross section
- type(SAlphaBeta), pointer :: sab
+ real(8) :: kT
! Set flag that S(a,b) treatment should be used for scattering
micro_xs(i_nuclide) % index_sab = i_sab
+ ! Determine temperature for S(a,b) table
+ kT = sqrtkT**2
+ do i_temp = 1, size(sab_tables(i_sab) % kTs)
+ if (abs(sab_tables(i_sab) % kTs(i_temp) - kT) < &
+ K_BOLTZMANN*temperature_tolerance) exit
+ end do
+
! Get pointer to S(a,b) table
- sab => sab_tables(i_sab)
+ associate (sab => sab_tables(i_sab) % data(i_temp))
- ! Get index and interpolation factor for inelastic grid
- if (E < sab % inelastic_e_in(1)) then
- i_grid = 1
- f = ZERO
- else
- i_grid = binary_search(sab % inelastic_e_in, sab % n_inelastic_e_in, E)
- f = (E - sab%inelastic_e_in(i_grid)) / &
- (sab%inelastic_e_in(i_grid+1) - sab%inelastic_e_in(i_grid))
- end if
+ ! Get index and interpolation factor for inelastic grid
+ if (E < sab % inelastic_e_in(1)) then
+ i_grid = 1
+ f = ZERO
+ else
+ i_grid = binary_search(sab % inelastic_e_in, sab % n_inelastic_e_in, E)
+ f = (E - sab%inelastic_e_in(i_grid)) / &
+ (sab%inelastic_e_in(i_grid+1) - sab%inelastic_e_in(i_grid))
+ end if
- ! Calculate S(a,b) inelastic scattering cross section
- inelastic = (ONE - f) * sab % inelastic_sigma(i_grid) + &
- f * sab % inelastic_sigma(i_grid + 1)
+ ! Calculate S(a,b) inelastic scattering cross section
+ inelastic = (ONE - f) * sab % inelastic_sigma(i_grid) + &
+ f * sab % inelastic_sigma(i_grid + 1)
- ! Check for elastic data
- if (E < sab % threshold_elastic) then
- ! Determine whether elastic scattering is given in the coherent or
- ! incoherent approximation. For coherent, the cross section is
- ! represented as P/E whereas for incoherent, it is simply P
+ ! Check for elastic data
+ if (E < sab % threshold_elastic) then
+ ! Determine whether elastic scattering is given in the coherent or
+ ! incoherent approximation. For coherent, the cross section is
+ ! represented as P/E whereas for incoherent, it is simply P
- if (sab % elastic_mode == SAB_ELASTIC_EXACT) then
- if (E < sab % elastic_e_in(1)) then
- ! If energy is below that of the lowest Bragg peak, the elastic
- ! cross section will be zero
- elastic = ZERO
+ if (sab % elastic_mode == SAB_ELASTIC_EXACT) then
+ if (E < sab % elastic_e_in(1)) then
+ ! If energy is below that of the lowest Bragg peak, the elastic
+ ! cross section will be zero
+ elastic = ZERO
+ else
+ i_grid = binary_search(sab % elastic_e_in, &
+ sab % n_elastic_e_in, E)
+ elastic = sab % elastic_P(i_grid) / E
+ end if
else
- i_grid = binary_search(sab % elastic_e_in, &
- sab % n_elastic_e_in, E)
- elastic = sab % elastic_P(i_grid) / E
+ ! Determine index on elastic energy grid
+ if (E < sab % elastic_e_in(1)) then
+ i_grid = 1
+ else
+ i_grid = binary_search(sab % elastic_e_in, &
+ sab % n_elastic_e_in, E)
+ end if
+
+ ! Get interpolation factor for elastic grid
+ f = (E - sab%elastic_e_in(i_grid))/(sab%elastic_e_in(i_grid+1) - &
+ sab%elastic_e_in(i_grid))
+
+ ! Calculate S(a,b) elastic scattering cross section
+ elastic = (ONE - f) * sab % elastic_P(i_grid) + &
+ f * sab % elastic_P(i_grid + 1)
end if
else
- ! Determine index on elastic energy grid
- if (E < sab % elastic_e_in(1)) then
- i_grid = 1
- else
- i_grid = binary_search(sab % elastic_e_in, &
- sab % n_elastic_e_in, E)
- end if
-
- ! Get interpolation factor for elastic grid
- f = (E - sab%elastic_e_in(i_grid))/(sab%elastic_e_in(i_grid+1) - &
- sab%elastic_e_in(i_grid))
-
- ! Calculate S(a,b) elastic scattering cross section
- elastic = (ONE - f) * sab % elastic_P(i_grid) + &
- f * sab % elastic_P(i_grid + 1)
+ ! No elastic data
+ elastic = ZERO
end if
- else
- ! No elastic data
- elastic = ZERO
- end if
+ end associate
! Correct total and elastic cross sections
micro_xs(i_nuclide) % total = micro_xs(i_nuclide) % total - &
@@ -390,6 +385,9 @@ contains
! Store S(a,b) elastic cross section for sampling later
micro_xs(i_nuclide) % elastic_sab = elastic
+ ! Save temperature index
+ micro_xs(i_nuclide) % index_temp_sab = i_temp
+
end subroutine calculate_sab_xs
!===============================================================================
@@ -397,9 +395,9 @@ contains
! from probability tables
!===============================================================================
- subroutine calculate_urr_xs(i_nuclide, E)
-
+ subroutine calculate_urr_xs(i_nuclide, i_temp, E)
integer, intent(in) :: i_nuclide ! index into nuclides array
+ integer, intent(in) :: i_temp ! temperature index
real(8), intent(in) :: E ! energy
integer :: i_energy ! index for energy
@@ -414,7 +412,7 @@ contains
micro_xs(i_nuclide) % use_ptable = .true.
- associate (nuc => nuclides(i_nuclide), urr => nuclides(i_nuclide) % urr_data)
+ associate (nuc => nuclides(i_nuclide), urr => nuclides(i_nuclide) % urr_data(i_temp))
! determine energy table
i_energy = 1
do
@@ -433,7 +431,7 @@ contains
! 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))
+ r = future_prn(int(i_nuclide, 8))
call prn_set_stream(STREAM_TRACKING)
i_low = 1
@@ -497,10 +495,10 @@ contains
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)
+ associate (xs => nuc % reactions(nuc % urr_inelastic) % xs(i_temp))
+ if (i_energy >= xs % threshold) then
+ inelastic = (ONE - f) * xs % value(i_energy - xs % threshold + 1) + &
+ f * xs % value(i_energy - xs % threshold + 2)
end if
end associate
end if
diff --git a/src/eigenvalue.F90 b/src/eigenvalue.F90
index 9befbe3c3d..713bbc351a 100644
--- a/src/eigenvalue.F90
+++ b/src/eigenvalue.F90
@@ -4,6 +4,7 @@ module eigenvalue
use message_passing
#endif
+ use algorithm, only: binary_search
use constants, only: ZERO
use error, only: fatal_error, warning
use global
@@ -11,7 +12,6 @@ module eigenvalue
use mesh, only: count_bank_sites
use mesh_header, only: RegularMesh
use random_lcg, only: prn, set_particle_seed, advance_prn_seed
- use search, only: binary_search
use string, only: to_str
implicit none
diff --git a/src/endf_header.F90 b/src/endf_header.F90
index 8d8aefaa3c..e9e45ab751 100644
--- a/src/endf_header.F90
+++ b/src/endf_header.F90
@@ -2,10 +2,10 @@ module endf_header
use hdf5, only: HID_T, HSIZE_T
+ use algorithm, only: binary_search
use constants, only: ZERO, HISTOGRAM, LINEAR_LINEAR, LINEAR_LOG, &
LOG_LINEAR, LOG_LOG
use hdf5_interface
- use search, only: binary_search
implicit none
diff --git a/src/energy_distribution.F90 b/src/energy_distribution.F90
index c45762bb0a..770da617cc 100644
--- a/src/energy_distribution.F90
+++ b/src/energy_distribution.F90
@@ -2,12 +2,12 @@ module energy_distribution
use hdf5
+ use algorithm, only: binary_search
use constants, only: ZERO, ONE, HALF, TWO, PI, HISTOGRAM, LINEAR_LINEAR
use endf_header, only: Tabulated1D
use hdf5_interface
use math, only: maxwell_spectrum, watt_spectrum
use random_lcg, only: prn
- use search, only: binary_search
!===============================================================================
! ENERGYDISTRIBUTION (abstract) defines an energy distribution that is a
diff --git a/src/energy_grid.F90 b/src/energy_grid.F90
index 66419f83cc..47408943e3 100644
--- a/src/energy_grid.F90
+++ b/src/energy_grid.F90
@@ -13,64 +13,18 @@ module energy_grid
contains
-!===============================================================================
-! UNIONIZED_GRID creates a unionized energy grid, for the entire problem or for
-! each material, composed of the grids from each nuclide in the entire problem,
-! or each material, respectively. Right now, the grid for each nuclide is added
-! into a linked list one at a time with an effective insertion sort. Could be
-! done with a hash for all energy points and then a quicksort at the end (what
-! hash function to use?)
-!===============================================================================
-
- subroutine unionized_grid()
-
- integer :: i ! index in nuclides array
- integer :: j ! index in materials array
- type(ListReal) :: list
- type(Nuclide), pointer :: nuc
- type(Material), pointer :: mat
-
- call write_message("Creating unionized energy grid...", 5)
-
- ! add grid points for each nuclide in the material
- do j = 1, n_materials
- mat => materials(j)
- do i = 1, mat % n_nuclides
- nuc => nuclides(mat % nuclide(i))
- call add_grid_points(list, nuc % energy)
- end do
-
- ! set size of unionized material energy grid
- mat % n_grid = list % size()
-
- ! create allocated array from linked list
- allocate(mat % e_grid(mat % n_grid))
- do i = 1, mat % n_grid
- mat % e_grid(i) = list % get_item(i)
- end do
-
- ! delete linked list and dictionary
- call list % clear()
- end do
-
- ! Set pointers to unionized energy grid for each nuclide
- call grid_pointers()
-
- end subroutine unionized_grid
-
!===============================================================================
! LOGARITHMIC_GRID determines a logarithmic mapping for energies to bounding
! indices on a nuclide energy grid
!===============================================================================
subroutine logarithmic_grid()
-
integer :: i, j, k ! Loop indices
+ integer :: t ! temperature index
integer :: M ! Number of equally log-spaced bins
real(8) :: E_max ! Maximum energy in MeV
real(8) :: E_min ! Minimum energy in MeV
real(8), allocatable :: umesh(:) ! Equally log-spaced energy grid
- type(Nuclide), pointer :: nuc
! Set minimum/maximum energies
E_max = energy_max_neutron
@@ -85,123 +39,29 @@ contains
umesh(:) = [(i*log_spacing, i=0, M)]
do i = 1, n_nuclides_total
- ! Allocate logarithmic mapping for nuclide
- nuc => nuclides(i)
- allocate(nuc % grid_index(0:M))
+ associate (nuc => nuclides(i))
+ do t = 1, size(nuc % grid)
+ ! Allocate logarithmic mapping for nuclide
+ allocate(nuc % grid(t) % grid_index(0:M))
- ! Determine corresponding indices in nuclide grid to energies on
- ! equal-logarithmic grid
- j = 1
- do k = 0, M
- do while (log(nuc%energy(j + 1)/E_min) <= umesh(k))
- ! Ensure that for isotopes where maxval(nuc % energy) << E_max
- ! that there are no out-of-bounds issues.
- if (j + 1 == nuc % n_grid) then
- exit
- end if
- j = j + 1
+ ! Determine corresponding indices in nuclide grid to energies on
+ ! equal-logarithmic grid
+ j = 1
+ do k = 0, M
+ do while (log(nuc % grid(t) % energy(j + 1)/E_min) <= umesh(k))
+ ! Ensure that for isotopes where maxval(nuc % energy) << E_max
+ ! that there are no out-of-bounds issues.
+ if (j + 1 == size(nuc % grid(t) % energy)) exit
+ j = j + 1
+ end do
+ nuc % grid(t) % grid_index(k) = j
+ end do
end do
- nuc % grid_index(k) = j
- end do
+ end associate
end do
deallocate(umesh)
end subroutine logarithmic_grid
-!===============================================================================
-! ADD_GRID_POINTS adds energy points from the 'energy' array into a linked list
-! of points already stored from previous arrays.
-!===============================================================================
-
- subroutine add_grid_points(list, energy)
-
- type(ListReal) :: list
- real(8), intent(in) :: energy(:)
-
- integer :: i ! index in energy array
- integer :: n ! size of energy array
- integer :: current ! current index
- real(8) :: E ! actual energy value
-
- i = 1
- n = size(energy)
-
- ! Set current index to beginning of the list
- current = 1
-
- do while (i <= n)
- E = energy(i)
-
- ! If we've reached the end of the grid energy list, add the remaining
- ! energy points to the end
- if (current > list % size()) then
- ! Finish remaining energies
- do while (i <= n)
- call list % append(energy(i))
- i = i + 1
- end do
- exit
- end if
-
- if (E < list % get_item(current)) then
-
- ! Insert new energy in this position
- call list % insert(current, E)
-
- ! Advance index in linked list and in new energy grid
- i = i + 1
- current = current + 1
-
- elseif (E == list % get_item(current)) then
- ! Found the exact same energy, no need to store duplicates so just
- ! skip and move to next index
- i = i + 1
- current = current + 1
- else
- current = current + 1
- end if
-
- end do
-
- end subroutine add_grid_points
-
-!===============================================================================
-! GRID_POINTERS creates an array of pointers (ints) for each nuclide to link
-! each point on the nuclide energy grid to one on a unionized energy grid
-!===============================================================================
-
- subroutine grid_pointers()
-
- integer :: i ! loop index for nuclides
- integer :: j ! loop index for nuclide energy grid
- integer :: k ! loop index for materials
- integer :: index_e ! index on union energy grid
- real(8) :: union_energy ! energy on union grid
- real(8) :: energy ! energy on nuclide grid
- type(Nuclide), pointer :: nuc
- type(Material), pointer :: mat
-
- do k = 1, n_materials
- mat => materials(k)
- allocate(mat % nuclide_grid_index(mat % n_nuclides, mat % n_grid))
- do i = 1, mat % n_nuclides
- nuc => nuclides(mat % nuclide(i))
-
- index_e = 1
- energy = nuc % energy(index_e)
-
- do j = 1, mat % n_grid
- union_energy = mat % e_grid(j)
- if (union_energy >= energy .and. index_e < nuc % n_grid) then
- index_e = index_e + 1
- energy = nuc % energy(index_e)
- end if
- mat % nuclide_grid_index(i,j) = index_e - 1
- end do
- end do
- end do
-
- end subroutine grid_pointers
-
end module energy_grid
diff --git a/src/geometry.F90 b/src/geometry.F90
index 6d4ca77671..d41ca14475 100644
--- a/src/geometry.F90
+++ b/src/geometry.F90
@@ -248,14 +248,15 @@ contains
! ======================================================================
! AT LOWEST UNIVERSE, TERMINATE SEARCH
- ! Set the particle material
+ ! Save previous material and temperature
p % last_material = p % material
- if (size(c % material) == 1) then
- ! Only one material for this cell; assign that one to the particle.
- p % material = c % material(1)
- else
- ! Distributed instances of this cell have different materials.
- ! Determine which instance this is and assign the matching material.
+ p % last_sqrtkT = p % sqrtkT
+
+ ! Get distributed offset
+ if (size(c % material) > 1 .or. size(c % sqrtkT) > 1) then
+ ! Distributed instances of this cell have different
+ ! materials/temperatures. Determine which instance this is for
+ ! assigning the matching material/temperature.
distribcell_index = c % distribcell_index
offset = 0
do k = 1, p % n_coord
@@ -276,37 +277,20 @@ contains
end if
end if
end do
- p % material = c % material(offset + 1)
end if
- ! Set the particle temperature
- if (size(c % sqrtkT) == 1) then
- ! Only one temperature for this cell; assign that one to the particle.
- p % sqrtkT = c % sqrtkT(1)
+ ! Save the material
+ if (size(c % material) > 1) then
+ p % material = c % material(offset + 1)
else
- ! Distributed instances of this cell have different temperatures.
- ! Determine which instance this is and assign the matching temp.
- distribcell_index = c % distribcell_index
- offset = 0
- do k = 1, p % n_coord
- if (cells(p % coord(k) % cell) % type == CELL_FILL) then
- offset = offset + cells(p % coord(k) % cell) % &
- offset(distribcell_index)
- elseif (cells(p % coord(k) % cell) % type == CELL_LATTICE) then
- if (lattices(p % coord(k + 1) % lattice) % obj &
- % are_valid_indices([&
- p % coord(k + 1) % lattice_x, &
- p % coord(k + 1) % lattice_y, &
- p % coord(k + 1) % lattice_z])) then
- offset = offset + lattices(p % coord(k + 1) % lattice) % obj % &
- offset(distribcell_index, &
- p % coord(k + 1) % lattice_x, &
- p % coord(k + 1) % lattice_y, &
- p % coord(k + 1) % lattice_z)
- end if
- end if
- end do
+ p % material = c % material(1)
+ end if
+
+ ! Save the temperature
+ if (size(c % sqrtkT) > 1) then
p % sqrtkT = c % sqrtkT(offset + 1)
+ else
+ p % sqrtkT = c % sqrtkT(1)
end if
elseif (c % type == CELL_FILL) then CELL_TYPE
diff --git a/src/global.F90 b/src/global.F90
index 0fc1bc0c52..bea5f61a83 100644
--- a/src/global.F90
+++ b/src/global.F90
@@ -99,13 +99,10 @@ module global
! What to assume for expanding natural elements
integer :: default_expand = ENDF_BVII1
- ! Whether or not windowed multipole cross sections should be used.
- logical :: multipole_active = .false.
-
- ! Total amount of nuclide ZAID and dictionary of nuclide ZAID and index --
- ! this is used when sampling unresolved resonance probability tables
- integer(8) :: n_nuc_zaid_total
- type(DictIntInt) :: nuc_zaid_dict
+ ! Default temperature and method for choosing temperatures
+ integer :: temperature_method = TEMPERATURE_NEAREST
+ real(8) :: temperature_tolerance = 10.0_8
+ real(8) :: temperature_default = 293.6_8
! ============================================================================
! MULTI-GROUP CROSS SECTION RELATED VARIABLES
@@ -430,7 +427,6 @@ module global
! Various output options
logical :: output_summary = .true.
- logical :: output_xs = .false.
logical :: output_tallies = .true.
! ============================================================================
diff --git a/src/hdf5_interface.F90 b/src/hdf5_interface.F90
index 36195d1190..415ec55c9e 100644
--- a/src/hdf5_interface.F90
+++ b/src/hdf5_interface.F90
@@ -73,6 +73,7 @@ module hdf5_interface
module procedure read_attribute_integer_1D
module procedure read_attribute_integer_2D
module procedure read_attribute_string
+ module procedure read_attribute_string_1D
end interface read_attribute
interface write_attribute
@@ -2425,6 +2426,67 @@ contains
call h5tclose_f(memtype, hdf5_err)
end subroutine read_attribute_string
+ subroutine read_attribute_string_1D(buffer, obj_id, name)
+ character(*), target, allocatable, intent(inout) :: buffer(:)
+ integer(HID_T), intent(in) :: obj_id
+ character(*), intent(in) :: name
+
+ integer :: hdf5_err
+ integer(HID_T) :: space_id
+ integer(HID_T) :: attr_id
+ integer(HSIZE_T) :: dims(1)
+ integer(HSIZE_T) :: maxdims(1)
+
+ call h5aopen_f(obj_id, trim(name), attr_id, hdf5_err)
+
+ if (allocated(buffer)) then
+ dims(:) = shape(buffer)
+ else
+ call h5aget_space_f(attr_id, space_id, hdf5_err)
+ call h5sget_simple_extent_dims_f(space_id, dims, maxdims, hdf5_err)
+ allocate(buffer(dims(1)))
+ call h5sclose_f(space_id, hdf5_err)
+ end if
+
+ call read_attribute_string_1D_explicit(attr_id, dims, buffer)
+ call h5aclose_f(attr_id, hdf5_err)
+ end subroutine read_attribute_string_1D
+
+ subroutine read_attribute_string_1D_explicit(attr_id, dims, buffer)
+ integer(HID_T), intent(in) :: attr_id
+ integer(HSIZE_T), intent(in) :: dims(1)
+ character(*), target, intent(inout) :: buffer(dims(1))
+
+ integer :: hdf5_err
+ integer(HID_T) :: filetype
+ integer(HID_T) :: memtype
+ integer(SIZE_T) :: size
+ integer(SIZE_T) :: n
+ type(c_ptr) :: f_ptr
+
+ ! Make sure buffer is large enough
+ call h5aget_type_f(attr_id, filetype, hdf5_err)
+ call h5tget_size_f(filetype, size, hdf5_err)
+ if (size > len(buffer(1)) + 1) then
+ print *, size, len(buffer(1))
+ call fatal_error("Character buffer is not long enough to &
+ &read HDF5 string array.")
+ end if
+
+ ! Get datatype in memory based on Fortran character
+ n = len(buffer(1))
+ call h5tcopy_f(H5T_FORTRAN_S1, memtype, hdf5_err)
+ call h5tset_size_f(memtype, n, hdf5_err)
+
+ ! Get pointer to start of string
+ f_ptr = c_loc(buffer(1)(1:1))
+
+ call h5aread_f(attr_id, memtype, f_ptr, hdf5_err)
+
+ call h5tclose_f(filetype, hdf5_err)
+ call h5tclose_f(memtype, hdf5_err)
+ end subroutine read_attribute_string_1D_explicit
+
subroutine get_shape(obj_id, dims)
integer(HID_T), intent(in) :: obj_id
integer(HSIZE_T), intent(out) :: dims(:)
diff --git a/src/initialize.F90 b/src/initialize.F90
index 99adf967f0..2bcf2e01f2 100644
--- a/src/initialize.F90
+++ b/src/initialize.F90
@@ -4,7 +4,7 @@ module initialize
use constants
use dict_header, only: DictIntInt, ElemKeyValueII
use set_header, only: SetInt
- use energy_grid, only: logarithmic_grid, grid_method, unionized_grid
+ use energy_grid, only: logarithmic_grid, grid_method
use error, only: fatal_error, warning
use geometry, only: neighbor_lists, count_instance, calc_offsets, &
maximum_levels
@@ -17,7 +17,7 @@ module initialize
use material_header, only: Material
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
+ print_usage, print_plot
use random_lcg, only: initialize_prng
use state_point, only: load_state_point
use string, only: to_str, starts_with, ends_with, str_to_int
@@ -111,20 +111,8 @@ contains
if (run_mode /= MODE_PLOTTING) then
! Construct information needed for nuclear data
if (run_CE) then
- ! Set undefined cell temperatures to match the material data.
- call lookup_material_temperatures()
-
- ! Construct unionized or log energy grid for cross-sections
- select case (grid_method)
- case (GRID_NUCLIDE)
- continue
- case (GRID_MAT_UNION)
- call time_unionize%start()
- call unionized_grid()
- call time_unionize%stop()
- case (GRID_LOGARITHM)
- call logarithmic_grid()
- end select
+ ! Construct log energy grid for cross-sections
+ call logarithmic_grid()
else
! Create material macroscopic data for MGXS
call time_read_xs%start()
@@ -158,9 +146,6 @@ contains
else
! Write summary information
if (output_summary) call write_summary()
-
- ! Write cross section information
- if (output_xs) call write_xs_summary()
end if
end if
@@ -1005,57 +990,4 @@ contains
end subroutine allocate_offsets
-!===============================================================================
-! LOOKUP_MATERIAL_TEMPERATURES If any cells have undefined temperatures, try to
-! find their temperatures from material data.
-!===============================================================================
-
- subroutine lookup_material_temperatures()
- integer :: i, j, k
- real(8) :: min_temp
- logical :: warning_given
-
- warning_given = .false.
- do i = 1, n_cells
- ! Ignore non-normal cells and cells with defined temperature.
- if (cells(i) % type /= CELL_NORMAL) cycle
- if (cells(i) % sqrtkT(1) /= ERROR_REAL) cycle
-
- ! Set the number of temperatures equal to the number of materials.
- deallocate(cells(i) % sqrtkT)
- allocate(cells(i) % sqrtkT(size(cells(i) % material)))
-
- ! Check each of the cell materials for temperature data.
- do j = 1, size(cells(i) % material)
- ! Arbitrarily set void regions to 0K.
- if (cells(i) % material(j) == MATERIAL_VOID) then
- cells(i) % sqrtkT(j) = ZERO
- cycle
- end if
-
- associate (mat => materials(cells(i) % material(j)))
- ! Find the temperature of the coldest nuclide.
- min_temp = nuclides(mat % nuclide(1)) % kT
- do k = 2, mat % n_nuclides
- ! Warn the user if the nuclides don't have identical temperatues.
- if (nuclides(mat % nuclide(k)) % kT /= min_temp &
- .and. .not. warning_given .and. multipole_active) then
- call warning("OpenMC cannot &
- &identify the temperature of at least one cell. For the &
- &purposes of multipole cross section evaluations, all cells &
- &with unknown temperature will be set to the coldest &
- &temperature found in the nuclear data for that cell's &
- &material")
- warning_given = .true.
- end if
- min_temp = min(min_temp, nuclides(mat % nuclide(k)) % kT)
- end do
-
- ! Set the temperature for this cell instance.
- cells(i) % sqrtkT(j) = sqrt(min_temp)
- end associate
- end do
- end do
- end subroutine lookup_material_temperatures
-
end module initialize
diff --git a/src/input_xml.F90 b/src/input_xml.F90
index 1cb0dc0fd4..6ef8751a0e 100644
--- a/src/input_xml.F90
+++ b/src/input_xml.F90
@@ -2,6 +2,7 @@ module input_xml
use hdf5
+ use algorithm, only: find
use cmfd_input, only: configure_cmfd
use constants
use dict_header, only: DictIntInt, ElemKeyValueCI
@@ -23,7 +24,8 @@ module input_xml
use set_header, only: SetChar
use stl_vector, only: VectorInt, VectorReal, VectorChar
use string, only: to_lower, to_str, str_to_int, str_to_real, &
- starts_with, ends_with, tokenize, split_string
+ starts_with, ends_with, tokenize, split_string, &
+ zero_padded
use tally_header, only: TallyObject
use tally_filter
use tally_initialize, only: add_tallies
@@ -359,26 +361,6 @@ contains
! Copy random number seed if specified
if (check_for_node(doc, "seed")) call get_node_value(doc, "seed", seed)
- ! Energy grid methods
- if (check_for_node(doc, "energy_grid")) then
- call get_node_value(doc, "energy_grid", temp_str)
- else
- temp_str = 'logarithm'
- end if
- select case (trim(temp_str))
- case ('nuclide')
- grid_method = GRID_NUCLIDE
- case ('material-union', 'union')
- grid_method = GRID_MAT_UNION
- if (trim(temp_str) == 'union') &
- call warning('Energy grids will be unionized by material. Global&
- & energy grid unionization is no longer an allowed option.')
- case ('logarithm', 'logarithmic', 'log')
- grid_method = GRID_LOGARITHM
- case default
- call fatal_error("Unknown energy grid method: " // trim(temp_str))
- end select
-
! Number of bins for logarithmic grid
if (check_for_node(doc, "log_grid_bins")) then
call get_node_value(doc, "log_grid_bins", n_log_bins)
@@ -978,14 +960,6 @@ contains
trim(temp_str) == '0') output_summary = .false.
end if
- ! Check for cross sections option
- if (check_for_node(node_output, "cross_sections")) then
- call get_node_value(node_output, "cross_sections", temp_str)
- temp_str = to_lower(temp_str)
- if (trim(temp_str) == 'true' .or. &
- trim(temp_str) == '1') output_xs = .true.
- end if
-
! Check for ASCII tallies output option
if (check_for_node(node_output, "tallies")) then
call get_node_value(node_output, "tallies", temp_str)
@@ -1089,20 +1063,6 @@ contains
end select
end if
- ! Check to see if windowed multipole functionality is requested
- if (check_for_node(doc, "use_windowed_multipole")) then
- call get_node_value(doc, "use_windowed_multipole", temp_str)
- select case (to_lower(temp_str))
- case ('true', '1')
- multipole_active = .true.
- case ('false', '0')
- multipole_active = .false.
- case default
- call fatal_error("Unrecognized value for in &
- &settings.xml")
- end select
- end if
-
call get_node_list(doc, "volume_calc", node_vol_list)
n = get_list_size(node_vol_list)
allocate(volume_calcs(n))
@@ -1111,6 +1071,27 @@ contains
call volume_calcs(i) % from_xml(node_vol)
end do
+ ! Get temperature settings
+ if (check_for_node(doc, "temperature_default")) then
+ call get_node_value(doc, "temperature_default", temperature_default)
+ end if
+ if (check_for_node(doc, "temperature_method")) then
+ call get_node_value(doc, "temperature_method", temp_str)
+ select case (to_lower(temp_str))
+ case ('nearest')
+ temperature_method = TEMPERATURE_NEAREST
+ case ('interpolation')
+ temperature_method = TEMPERATURE_INTERPOLATION
+ case ('multipole')
+ temperature_method = TEMPERATURE_MULTIPOLE
+ case default
+ call fatal_error("Unknown temperature method: " // trim(temp_str))
+ end select
+ end if
+ if (check_for_node(doc, "temperature_tolerance")) then
+ call get_node_value(doc, "temperature_tolerance", temperature_tolerance)
+ end if
+
! Close settings XML file
call close_xmldoc(doc)
@@ -2050,6 +2031,9 @@ contains
integer :: i, j
type(DictCharInt) :: library_dict
type(Library), allocatable :: libraries(:)
+ type(VectorReal), allocatable :: nuc_temps(:) ! List of T to read for each nuclide
+ type(VectorReal), allocatable :: sab_temps(:) ! List of T to read for each S(a,b)
+ real(8), allocatable :: material_temps(:)
if (run_CE) then
call read_ce_cross_sections_xml(libraries)
@@ -2076,12 +2060,18 @@ contains
end if
! Parse data from materials.xml
- call read_materials_xml(libraries, library_dict)
+ call read_materials_xml(libraries, library_dict, material_temps)
+
+ ! Assign temperatures to cells that don't have temperatures already assigned
+ call assign_temperatures(material_temps)
+
+ ! Determine desired temperatures for each nuclide and S(a,b) table
+ call get_temperatures(nuc_temps, sab_temps)
! Read continuous-energy cross sections
if (run_CE .and. run_mode /= MODE_PLOTTING) then
call time_read_xs%start()
- call read_ce_cross_sections(libraries, library_dict)
+ call read_ce_cross_sections(libraries, library_dict, nuc_temps, sab_temps)
call time_read_xs%stop()
end if
@@ -2092,9 +2082,10 @@ contains
call library_dict % clear()
end subroutine read_materials
- subroutine read_materials_xml(libraries, library_dict)
+ subroutine read_materials_xml(libraries, library_dict, material_temps)
type(Library), intent(in) :: libraries(:)
type(DictCharInt), intent(inout) :: library_dict
+ real(8), allocatable, intent(out) :: material_temps(:)
integer :: i ! loop index for materials
integer :: j ! loop index for nuclides
@@ -2110,7 +2101,6 @@ contains
logical :: file_exists ! does materials.xml exist?
logical :: sum_density ! density is taken to be sum of nuclide densities
character(20) :: name ! name of isotope, e.g. 92235.03c
- character(6) :: default_temperature ! Default temperature, e.g., '300K'
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
@@ -2144,25 +2134,13 @@ contains
! Parse materials.xml file
call open_xmldoc(doc, filename)
- ! Copy default temperature
- if (check_for_node(doc, "default_temperature")) then
- call get_node_value(doc, "default_temperature", default_temperature)
- else if (.not. run_CE) then
- ! FIXME This is only necessary while MG mode does not have a
- ! temperature dependent library implementation.
- ! Set a default for MG mode to allow MG libraries to not include
- ! temperatures
- default_temperature = '294K'
- else
- default_temperature = ''
- end if
-
! Get pointer to list of XML
call get_node_list(doc, "material", node_mat_list)
! Allocate cells array
n_materials = get_list_size(node_mat_list)
allocate(materials(n_materials))
+ allocate(material_temps(n_materials))
! Initialize count for number of nuclides/S(a,b) tables
index_nuclide = 0
@@ -2192,14 +2170,11 @@ contains
call get_node_value(node_mat, "name", mat % name)
end if
- ! Copy material temperature
+ ! Get material default temperature
if (check_for_node(node_mat, "temperature")) then
- call get_node_value(node_mat, "temperature", mat % temperature)
- else if (default_temperature /= '') then
- mat % temperature = default_temperature
+ call get_node_value(node_mat, "temperature", material_temps(i))
else
- call fatal_error("Must specify either a material temperature or a &
- &default temperature")
+ material_temps(i) = ERROR_REAL
end if
! =======================================================================
@@ -5719,10 +5694,10 @@ contains
ASSIGN_SAB: do k = 1, size(mat % i_sab_tables)
! In order to know which nuclide the S(a,b) table applies to, we need
! to search through the list of nuclides for one which has a matching
- ! zaid
+ ! name
associate (sab => sab_tables(mat % i_sab_tables(k)))
FIND_NUCLIDE: do j = 1, size(mat % nuclide)
- if (any(sab % zaid == nuclides(mat % nuclide(j)) % zaid)) then
+ if (any(sab % nuclides == nuclides(mat % nuclide(j)) % name)) then
mat % i_sab_nuclides(k) = j
exit FIND_NUCLIDE
end if
@@ -5774,16 +5749,16 @@ contains
end do
end subroutine assign_sab_tables
- subroutine read_ce_cross_sections(libraries, library_dict)
+ subroutine read_ce_cross_sections(libraries, library_dict, nuc_temps, sab_temps)
type(Library), intent(in) :: libraries(:)
type(DictCharInt), intent(inout) :: library_dict
+ type(VectorReal), intent(in) :: nuc_temps(:)
+ type(VectorReal), intent(in) :: sab_temps(:)
integer :: i, j
integer :: i_library
integer :: i_nuclide
integer :: i_sab
- integer :: index_nuc_zaid ! index in nuclide ZAID
- integer :: zaid ! ZAID of nuclide
integer(HID_T) :: file_id
integer(HID_T) :: group_id
logical :: mp_found ! if windowed multipole libraries were found
@@ -5796,8 +5771,6 @@ contains
allocate(micro_xs(n_nuclides_total))
!$omp end parallel
- index_nuc_zaid = 0
-
! Read cross sections
do i = 1, size(materials)
do j = 1, size(materials(i) % names)
@@ -5813,8 +5786,8 @@ contains
! Read nuclide data from HDF5
file_id = file_open(libraries(i_library) % path, 'r')
group_id = open_group(file_id, name)
- call nuclides(i_nuclide) % from_hdf5(group_id, &
- materials(i) % temperature)
+ call nuclides(i_nuclide) % from_hdf5(group_id, nuc_temps(i_nuclide), &
+ temperature_method, temperature_tolerance)
call close_group(group_id)
call file_close(file_id)
@@ -5824,23 +5797,19 @@ contains
! Determine if minimum/maximum energy for this nuclide is greater/less
! than the previous
- energy_min_neutron = max(energy_min_neutron, nuclides(i_nuclide) % energy(1))
- energy_max_neutron = min(energy_max_neutron, nuclides(i_nuclide) % energy(&
- size(nuclides(i_nuclide) % energy)))
+ if (size(nuclides(i_nuclide) % grid) >= 1) then
+ energy_min_neutron = max(energy_min_neutron, &
+ nuclides(i_nuclide) % grid(1) % energy(1))
+ energy_max_neutron = min(energy_max_neutron, nuclides(i_nuclide) % &
+ grid(1) % energy(size(nuclides(i_nuclide) % grid(1) % energy)))
+ end if
! Add name and alias to dictionary
call already_read % add(name)
- ! Construct dictionary mapping nuclide zaids to [1,N] -- used for
- ! unresolved resonance probability tables
- zaid = nuclides(i_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
-
! Read multipole file into the appropriate entry on the nuclides array
- if (multipole_active) call read_multipole_data(i_nuclide)
+ if (temperature_method == TEMPERATURE_MULTIPOLE) &
+ call read_multipole_data(i_nuclide)
end if
! Check if material is fissionable
@@ -5868,8 +5837,8 @@ contains
! Read S(a,b) data from HDF5
file_id = file_open(libraries(i_library) % path, 'r')
group_id = open_group(file_id, name)
- call sab_tables(i_sab) % from_hdf5(group_id, &
- materials(i) % temperature)
+ call sab_tables(i_sab) % from_hdf5(group_id, sab_temps(i_sab), &
+ temperature_tolerance)
call close_group(group_id)
call file_close(file_id)
@@ -5879,14 +5848,13 @@ contains
end do
end do
- n_nuc_zaid_total = index_nuc_zaid
-
! Associate S(a,b) tables with specific nuclides
call assign_sab_tables()
! Show which nuclide results in lowest energy for neutron transport
do i = 1, size(nuclides)
- if (nuclides(i) % energy(nuclides(i) % n_grid) == energy_max_neutron) then
+ if (nuclides(i) % grid(1) % energy(size(nuclides(i) % grid(1) % energy)) &
+ == 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)
@@ -5895,7 +5863,7 @@ contains
end do
! If the user wants multipole, make sure we found a multipole library.
- if (multipole_active) then
+ if (temperature_method == TEMPERATURE_MULTIPOLE) then
mp_found = .false.
do i = 1, size(nuclides)
if (nuclides(i) % mp_present) then
@@ -5911,6 +5879,107 @@ contains
end subroutine read_ce_cross_sections
+!===============================================================================
+! ASSIGN_TEMPERATURES If any cells have undefined temperatures, try to find
+! their temperatures from material or global default temperatures
+!===============================================================================
+
+ subroutine assign_temperatures(material_temps)
+ real(8), intent(in) :: material_temps(:)
+
+ integer :: i, j
+ integer :: i_material
+
+ do i = 1, n_cells
+ ! Ignore non-normal cells and cells with defined temperature.
+ if (cells(i) % material(1) == NONE) cycle
+ if (cells(i) % sqrtkT(1) /= ERROR_REAL) cycle
+
+ ! Set the number of temperatures equal to the number of materials.
+ deallocate(cells(i) % sqrtkT)
+ allocate(cells(i) % sqrtkT(size(cells(i) % material)))
+
+ ! Check each of the cell materials for temperature data.
+ do j = 1, size(cells(i) % material)
+ ! Arbitrarily set void regions to 0K.
+ if (cells(i) % material(j) == MATERIAL_VOID) then
+ cells(i) % sqrtkT(j) = ZERO
+ cycle
+ end if
+
+ ! Use material default or global default temperature
+ i_material = material_dict % get_key(cells(i) % material(j))
+ if (material_temps(i_material) /= ERROR_REAL) then
+ cells(i) % sqrtkT(j) = sqrt(K_BOLTZMANN * &
+ material_temps(i_material))
+ else
+ cells(i) % sqrtkT(j) = sqrt(K_BOLTZMANN * temperature_default)
+ end if
+ end do
+ end do
+ end subroutine assign_temperatures
+
+!===============================================================================
+! GET_TEMPERATURES returns a list of temperatures that each nuclide/S(a,b) table
+! appears at in the model. Later, this list is used to determine the actual
+! temperatures to read (which may be different if interpolation is used)
+!===============================================================================
+
+ subroutine get_temperatures(nuc_temps, sab_temps)
+ type(VectorReal), allocatable, intent(out) :: nuc_temps(:)
+ type(VectorReal), allocatable, intent(out) :: sab_temps(:)
+
+ integer :: i, j, k
+ integer :: i_nuclide ! index in nuclides array
+ integer :: i_sab ! index in S(a,b) array
+ integer :: i_material
+ real(8) :: temperature ! temperature in Kelvin
+
+ allocate(nuc_temps(n_nuclides_total))
+ allocate(sab_temps(n_sab_tables))
+
+ do i = 1, size(cells)
+ do j = 1, size(cells(i) % material)
+ ! Skip any non-material cells and void materials
+ if (cells(i) % material(j) == NONE .or. &
+ cells(i) % material(j) == MATERIAL_VOID) cycle
+
+ ! Get temperature of cell (rounding to nearest integer)
+ if (size(cells(i) % sqrtkT) > 1) then
+ temperature = cells(i) % sqrtkT(j)**2 / K_BOLTZMANN
+ else
+ temperature = cells(i) % sqrtkT(1)**2 / K_BOLTZMANN
+ end if
+
+ i_material = material_dict % get_key(cells(i) % material(j))
+ associate (mat => materials(i_material))
+ NUC_NAMES_LOOP: do k = 1, size(mat % names)
+ ! Get index in nuc_temps array
+ i_nuclide = nuclide_dict % get_key(to_lower(mat % names(k)))
+
+ ! Add temperature if it hasn't already been added
+ if (find(nuc_temps(i_nuclide), temperature) == -1) then
+ call nuc_temps(i_nuclide) % push_back(temperature)
+ end if
+ end do NUC_NAMES_LOOP
+
+ if (mat % n_sab > 0) then
+ SAB_NAMES_LOOP: do k = 1, size(mat % sab_names)
+ ! Get index in nuc_temps array
+ i_sab = sab_dict % get_key(to_lower(mat % sab_names(k)))
+
+ ! Add temperature if it hasn't already been added
+ if (find(sab_temps(i_sab), temperature) == -1) then
+ call sab_temps(i_sab) % push_back(temperature)
+ end if
+ end do SAB_NAMES_LOOP
+ end if
+ end associate
+ end do
+ end do
+
+ end subroutine get_temperatures
+
!===============================================================================
! READ_0K_ELASTIC_SCATTERING
!===============================================================================
@@ -5927,6 +5996,9 @@ contains
real(8) :: xs_cdf_sum
character(MAX_WORD_LEN) :: name
type(Nuclide) :: resonant_nuc
+ type(VectorReal) :: temperature
+
+ call temperature % push_back(ZERO)
do i = 1, size(nuclides_0K)
if (nuc % name == nuclides_0K(i) % nuclide) then
@@ -5946,13 +6018,14 @@ contains
! Read nuclide data from HDF5
file_id = file_open(libraries(i_library) % path, 'r')
group_id = open_group(file_id, name)
- call resonant_nuc % from_hdf5(group_id, '0K')
+ call resonant_nuc % from_hdf5(group_id, temperature, &
+ TEMPERATURE_NEAREST, 1000.0_8)
call close_group(group_id)
call file_close(file_id)
! Copy 0K energy grid and elastic scattering cross section
- call move_alloc(TO=nuc % energy_0K, FROM=resonant_nuc % energy)
- call move_alloc(TO=nuc % elastic_0K, FROM=resonant_nuc % elastic)
+ call move_alloc(TO=nuc % energy_0K, FROM=resonant_nuc % grid(1) % energy)
+ call move_alloc(TO=nuc % elastic_0K, FROM=resonant_nuc % sum_xs(1) % elastic)
nuc % n_grid_0K = size(nuc % energy_0K)
! Build CDF for 0K elastic scattering
@@ -5987,18 +6060,22 @@ contains
integer, intent(in) :: i_table ! index in nuclides/sab_tables
- integer :: i
logical :: file_exists ! Does multipole library exist?
character(7) :: readable ! Is multipole library readable?
- character(6) :: zaid_string ! String of the ZAID
- character(MAX_FILE_LEN+9) :: filename ! Path to multipole xs library
+ character(MAX_FILE_LEN) :: filename ! Path to multipole xs library
! For the time being, and I know this is a bit hacky, we just assume
- ! that the file will be zaid.h5.
+ ! that the file will be ZZZAAAmM.h5.
associate (nuc => nuclides(i_table))
- write(zaid_string, '(I6.6)') nuc % zaid
- filename = trim(path_multipole) // zaid_string // ".h5"
+ if (nuc % metastable > 0) then
+ filename = trim(path_multipole) // trim(zero_padded(nuc % Z, 3)) // &
+ trim(zero_padded(nuc % A, 3)) // 'm' // &
+ trim(to_str(nuc % metastable)) // ".h5"
+ else
+ filename = trim(path_multipole) // trim(zero_padded(nuc % Z, 3)) // &
+ trim(zero_padded(nuc % A, 3)) // ".h5"
+ end if
! Check if Multipole library exists and is readable
inquire(FILE=filename, EXIST=file_exists, READ=readable)
@@ -6019,16 +6096,6 @@ contains
call multipole_read(filename, nuc % multipole, i_table)
nuc % mp_present = .true.
- ! Recreate nu-fission cross section
- if (nuc % fissionable) then
- do i = 1, size(nuc % energy)
- nuc % nu_fission(i) = nuc % nu(nuc % energy(i), EMISSION_TOTAL) * &
- nuc % fission(i)
- end do
- else
- nuc % nu_fission(:) = ZERO
- end if
-
end associate
end subroutine read_multipole_data
diff --git a/src/material_header.F90 b/src/material_header.F90
index 27a0e61fea..772e3a415d 100644
--- a/src/material_header.F90
+++ b/src/material_header.F90
@@ -13,9 +13,6 @@ module material_header
integer, allocatable :: nuclide(:) ! index in nuclides array
real(8) :: density ! total atom density in atom/b-cm
real(8), allocatable :: atom_density(:) ! nuclide atom density in atom/b-cm
- character(6) :: temperature ! Temperature of the material
- ! as presented in the HDF5 library;
- ! e.g., "300K"
! Energy grid information
integer :: n_grid ! # of union material grid points
diff --git a/src/mesh.F90 b/src/mesh.F90
index cee29aa1ca..4a3def4282 100644
--- a/src/mesh.F90
+++ b/src/mesh.F90
@@ -1,14 +1,14 @@
module mesh
- use constants
- use global
- use mesh_header
- use search, only: binary_search
-
#ifdef MPI
use message_passing
#endif
+ use algorithm, only: binary_search
+ use constants
+ use global
+ use mesh_header
+
implicit none
contains
diff --git a/src/mgxs_header.F90 b/src/mgxs_header.F90
index 06dd1e2138..9409398b3e 100644
--- a/src/mgxs_header.F90
+++ b/src/mgxs_header.F90
@@ -19,7 +19,6 @@ module mgxs_header
type, abstract :: Mgxs
character(len=104) :: name ! name of dataset, e.g. 92235.03c
- integer :: zaid ! Z and A identifier, e.g. 92235
real(8) :: awr ! Atomic Weight Ratio
real(8) :: kT ! temperature in MeV (k*T)
@@ -29,7 +28,6 @@ module mgxs_header
contains
procedure(mgxs_init_file_), deferred :: init_file ! Initialize the data
- procedure(mgxs_print_), deferred :: print ! Writes object info
procedure(mgxs_get_xs_), deferred :: get_xs ! Get the requested xs
procedure(mgxs_combine_), deferred :: combine ! initializes object
! Sample the outgoing energy from a fission event
@@ -64,12 +62,6 @@ module mgxs_header
integer, intent(in) :: max_order ! Maximum requested order
end subroutine mgxs_init_file_
- subroutine mgxs_print_(this, unit)
- import Mgxs
- class(Mgxs),intent(in) :: this
- integer, optional, intent(in) :: unit
- end subroutine mgxs_print_
-
pure function mgxs_get_xs_(this,xstype,gin,gout,uvw,mu) result(xs)
import Mgxs
class(Mgxs), intent(in) :: this
@@ -150,7 +142,6 @@ module mgxs_header
contains
procedure :: init_file => mgxsiso_init_file ! Initialize Nuclidic MGXS Data
- procedure :: print => mgxsiso_print ! Writes nuclide info
procedure :: get_xs => mgxsiso_get_xs ! Gets Size of Data w/in Object
procedure :: combine => mgxsiso_combine ! inits object
procedure :: sample_fission_energy => mgxsiso_sample_fission_energy
@@ -181,7 +172,6 @@ module mgxs_header
contains
procedure :: init_file => mgxsang_init_file ! Initialize Nuclidic MGXS Data
- procedure :: print => mgxsang_print ! Writes nuclide info
procedure :: get_xs => mgxsang_get_xs ! Gets Size of Data w/in Object
procedure :: combine => mgxsang_combine ! inits object
procedure :: sample_fission_energy => mgxsang_sample_fission_energy
@@ -211,11 +201,6 @@ module mgxs_header
else
this % kT = ZERO
end if
- if (check_for_node(node_xsdata, "zaid")) then
- call get_node_value(node_xsdata, "zaid", this % zaid)
- else
- this % zaid = 0
- end if
if (check_for_node(node_xsdata, "awr")) then
call get_node_value(node_xsdata, "awr", this % awr)
else
@@ -957,164 +942,6 @@ module mgxs_header
end subroutine mgxsang_init_file
-!===============================================================================
-! MGXS*_PRINT displays information about a continuous-energy neutron
-! cross_section table and its reactions and secondary angle/energy distributions
-!===============================================================================
-
- subroutine mgxs_print(this, unit_)
- class(Mgxs), intent(in) :: this
- integer, intent(in) :: unit_
-
- character(MAX_LINE_LEN) :: temp_str
-
- ! Basic nuclide information
- write(unit_,*) 'MGXS Entry: ' // trim(this % name)
- if (this % zaid > 0) then
- write(unit_,*) ' ZAID = ' // trim(to_str(this % zaid))
- else if (this % zaid < 0) then
- write(unit_,*) ' Material id = ' // trim(to_str(-this % zaid))
- end if
- if (this % awr > ZERO) then
- write(unit_,*) ' AWR = ' // trim(to_str(this % awr))
- end if
- if (this % kT > ZERO) then
- write(unit_,*) ' kT = ' // trim(to_str(this % kT))
- end if
- if (this % scatt_type == ANGLE_LEGENDRE) then
- temp_str = "Legendre"
- write(unit_,*) ' Scattering Type = ' // trim(temp_str)
- select type(this)
- type is (MgxsIso)
- temp_str = to_str(size(this % scatter % dist(1) % data,dim=1) - 1)
- end select
- write(unit_,*) ' Scattering Order = ' // trim(temp_str)
- else if (this % scatt_type == ANGLE_HISTOGRAM) then
- temp_str = "Histogram"
- write(unit_,*) ' Scattering Type = ' // trim(temp_str)
- select type(this)
- type is (MgxsIso)
- temp_str = to_str(size(this % scatter % dist(1) % data,dim=1))
- end select
- write(unit_,*) ' Num. Distribution Bins = ' // trim(temp_str)
- else if (this % scatt_type == ANGLE_TABULAR) then
- temp_str = "Tabular"
- write(unit_,*) ' Scattering Type = ' // trim(temp_str)
- select type(this)
- type is (MgxsIso)
- temp_str = to_str(size(this % scatter % dist(1) % data,dim=1))
- end select
- write(unit_,*) ' Num. Distribution Points = ' // trim(temp_str)
- end if
- write(unit_,*) ' Fissionable = ', this % fissionable
-
- end subroutine mgxs_print
-
- subroutine mgxsiso_print(this, unit)
-
- class(MgxsIso), intent(in) :: this
- integer, optional, intent(in) :: unit
-
- integer :: unit_ ! unit to write to
- integer :: size_total, size_scattmat, size_mgxs
- integer :: gin
-
- ! set default unit for writing information
- if (present(unit)) then
- unit_ = unit
- else
- unit_ = OUTPUT_UNIT
- end if
-
- ! Write Basic Nuclide Information
- call mgxs_print(this, unit_)
-
- ! Determine size of mgxs and scattering matrices
- size_scattmat = 0
- do gin = 1, size(this % scatter % energy)
- size_scattmat = size_scattmat + &
- 2 * size(this % scatter % energy(gin) % data) + &
- size(this % scatter % dist(gin) % data)
- end do
- size_scattmat = size_scattmat + size(this % scatter % scattxs)
- size_scattmat = size_scattmat * 8
-
- size_mgxs = size(this % total) + size(this % absorption) + &
- size(this % nu_fission) + size(this % k_fission) + &
- size(this % fission) + size(this % chi)
- size_mgxs = size_mgxs * 8
-
- ! Calculate total memory
- size_total = size_scattmat + size_mgxs
-
- ! Write memory used
- write(unit_,*) ' Memory Requirements'
- write(unit_,*) ' Cross sections = ' // trim(to_str(size_mgxs)) // ' bytes'
- write(unit_,*) ' Scattering Matrices = ' // &
- trim(to_str(size_scattmat)) // ' bytes'
- write(unit_,*) ' Total = ' // trim(to_str(size_total)) // ' bytes'
-
- ! Blank line at end of nuclide
- write(unit_,*)
-
- end subroutine mgxsiso_print
-
- subroutine mgxsang_print(this, unit)
-
- class(MgxsAngle), intent(in) :: this
- integer, optional, intent(in) :: unit
-
- integer :: unit_ ! unit to write to
- integer :: size_total, size_scattmat, size_mgxs
- integer :: ipol, iazi, gin
-
- ! set default unit for writing information
- if (present(unit)) then
- unit_ = unit
- else
- unit_ = OUTPUT_UNIT
- end if
-
- ! Write Basic Nuclide Information
- call mgxs_print(this, unit_)
-
- write(unit_,*) ' # of Polar Angles = ' // trim(to_str(this % n_pol))
- write(unit_,*) ' # of Azimuthal Angles = ' // trim(to_str(this % n_azi))
-
- ! Determine size of mgxs and scattering matrices
- size_scattmat = 0
- do ipol = 1, this % n_pol
- do iazi = 1, this % n_azi
- do gin = 1, size(this % scatter(iazi, ipol) % obj % energy)
- size_scattmat = size_scattmat + &
- 2 * size(this % scatter(iazi, ipol) % obj % energy(gin) % data) + &
- size(this % scatter(iazi, ipol) % obj % dist(gin) % data)
- end do
- size_scattmat = size_scattmat + &
- size(this % scatter(iazi, ipol) % obj % scattxs)
- end do
- end do
- size_scattmat = size_scattmat * 8
-
- size_mgxs = size(this % total) + size(this % absorption) + &
- size(this % nu_fission) + size(this % k_fission) + &
- size(this % fission) + size(this % chi)
- size_mgxs = size_mgxs * 8
-
- ! Calculate total memory
- size_total = size_scattmat + size_mgxs
-
- ! Write memory used
- write(unit_,*) ' Memory Requirements'
- write(unit_,*) ' Cross sections = ' // trim(to_str(size_mgxs)) // ' bytes'
- write(unit_,*) ' Scattering Matrices = ' // &
- trim(to_str(size_scattmat)) // ' bytes'
- write(unit_,*) ' Total = ' // trim(to_str(size_total)) // ' bytes'
-
- ! Blank line at end of nuclide
- write(unit_,*)
- end subroutine mgxsang_print
-
!===============================================================================
! MGXS*_GET_XS returns the requested data cross section data
!===============================================================================
@@ -1319,7 +1146,6 @@ module mgxs_header
else
this % name = mat % name
end if
- this % zaid = -mat % id
this % fissionable = mat % fissionable
this % scatt_type = scatt_type
diff --git a/src/multipole.F90 b/src/multipole.F90
index 770121b9d5..a099e50476 100644
--- a/src/multipole.F90
+++ b/src/multipole.F90
@@ -28,13 +28,8 @@ contains
integer(HID_T) :: group_id
! Intermediate loading components
- character(len=10) :: version
- integer :: NMT
- integer :: i, j
- integer, allocatable :: MT(:)
- logical :: accumulated_fission
- character(len=24) :: MT_n ! Takes the form '/nuclide/reactions/MT???'
integer :: is_fissionable
+ character(len=10) :: version
associate (nuc => nuclides(i_table))
@@ -80,111 +75,8 @@ contains
call read_dataset(multipole % curvefit, group_id, "curvefit")
- ! Delete ACE pointwise data
- call read_dataset(nuc % n_grid, group_id, "n_grid")
-
- deallocate(nuc % energy)
- deallocate(nuc % total)
- deallocate(nuc % elastic)
- deallocate(nuc % fission)
- deallocate(nuc % nu_fission)
- deallocate(nuc % absorption)
-
- allocate(nuc % energy(nuc % n_grid))
- allocate(nuc % total(nuc % n_grid))
- allocate(nuc % elastic(nuc % n_grid))
- allocate(nuc % fission(nuc % n_grid))
- allocate(nuc % nu_fission(nuc % n_grid))
- allocate(nuc % absorption(nuc % n_grid))
-
- nuc % total(:) = ZERO
- nuc % absorption(:) = ZERO
- nuc % fission(:) = ZERO
-
- ! Read in new energy axis (converting eV to MeV)
- call read_dataset(nuc % energy, group_id, "energy_points")
- nuc % energy = nuc % energy / 1.0e6_8
-
- ! Get count and list of MT tables
- call read_dataset(NMT, group_id, "MT_count")
- allocate(MT(NMT))
-
- call read_dataset(MT, group_id, "MT_list")
-
call close_group(group_id)
- accumulated_fission = .false.
-
- ! Loop over each MT entry and load it into a reaction.
- do i = 1, NMT
- write(MT_n, '(A, I3.3)') '/nuclide/reactions/MT', MT(i)
-
- group_id = open_group(file_id, MT_n)
-
- ! Each MT needs to be treated slightly differently.
- select case (MT(i))
- case(ELASTIC)
- call read_dataset(nuc % elastic, group_id, "MT_sigma")
- nuc % total(:) = nuc % total + nuc % elastic
- case(N_FISSION)
- call read_dataset(nuc % fission, group_id, "MT_sigma")
- nuc % total(:) = nuc % total + nuc % fission
- nuc % absorption(:) = nuc % absorption + nuc % fission
- accumulated_fission = .true.
- case default
- ! Search through all of our secondary reactions
- do j = 1, size(nuc % reactions)
- if (nuc % reactions(j) % MT == MT(i)) then
- ! Match found
-
- ! Individual Fission components exist, so remove the combined
- ! fission cross section.
- if ( (MT(i) == N_F .or. MT(i) == N_NF .or. MT(i) == N_2NF &
- .or. MT(i) == N_3NF) .and. accumulated_fission) then
- nuc % total(:) = nuc % total - nuc % fission
- nuc % absorption(:) = nuc % absorption - nuc % fission
- nuc % fission(:) = ZERO
- accumulated_fission = .false.
- end if
-
- deallocate(nuc % reactions(j) % sigma)
- allocate(nuc % reactions(j) % sigma(nuc % n_grid))
-
- call read_dataset(nuc % reactions(j) % sigma, &
- group_id, "MT_sigma")
- call read_dataset(nuc % reactions(j) % Q_value, &
- group_id, "Q_value")
- call read_dataset(nuc % reactions(j) % threshold, &
- group_id, "threshold")
- nuc % reactions(j) % threshold = 1 ! TODO: reconsider implications.
- nuc % reactions(j) % Q_value = nuc % reactions(j) % Q_value &
- / 1.0e6_8
-
- ! Accumulate total
- if (MT(i) /= N_LEVEL .and. MT(i) <= N_DA) then
- nuc % total(:) = nuc % total + nuc % reactions(j) % sigma
- end if
-
- ! Accumulate absorption
- if (MT(i) >= N_GAMMA .and. MT(i) <= N_DA) then
- nuc % absorption(:) = nuc % absorption &
- + nuc % reactions(j) % sigma
- end if
-
- ! Accumulate fission (if needed)
- if ( (MT(i) == N_F .or. MT(i) == N_NF .or. MT(i) == N_2NF &
- .or. MT(i) == N_3NF) ) then
- nuc % fission(:) = nuc % fission + nuc % reactions(j) % sigma
- nuc % absorption(:) = nuc % absorption &
- + nuc % reactions(j) % sigma
- end if
- end if
- end do
- end select
-
- call close_group(group_id)
- end do
-
! Close file
call file_close(file_id)
diff --git a/src/nuclide_header.F90 b/src/nuclide_header.F90
index 3fffb76f3d..f9e473f45c 100644
--- a/src/nuclide_header.F90
+++ b/src/nuclide_header.F90
@@ -7,6 +7,7 @@ module nuclide_header
h5lget_name_by_idx_f, H5_INDEX_NAME_F, H5_ITER_INC_F
use h5lt, only: h5ltpath_valid_f
+ use algorithm, only: sort, find
use constants
use dict_header, only: DictIntInt
use endf, only: reaction_name, is_fission, is_disappearance
@@ -20,7 +21,7 @@ module nuclide_header
use product_header, only: AngleEnergyContainer
use reaction_header, only: Reaction
use secondary_uncorrelated, only: UncorrelatedAngleEnergy
- use stl_vector, only: VectorInt
+ use stl_vector, only: VectorInt, VectorReal
use string
use urr_header, only: UrrData
use xml_interface
@@ -32,29 +33,37 @@ module nuclide_header
! for continuous-energy neutron transport.
!===============================================================================
- type :: Nuclide
- ! Nuclide meta-data
- character(20) :: name ! name of nuclide, e.g. U235.71c
- integer :: zaid ! Z and A identifier, e.g. 92235
- integer :: metastable ! metastable state
- real(8) :: awr ! Atomic Weight Ratio
- real(8) :: kT ! temperature in MeV (k*T)
-
- ! Fission information
- logical :: fissionable = .false. ! nuclide is fissionable?
-
- ! Energy grid information
- integer :: n_grid ! # of nuclide grid points
+ type EnergyGrid
integer, allocatable :: grid_index(:) ! log grid mapping indices
real(8), allocatable :: energy(:) ! energy values corresponding to xs
+ end type EnergyGrid
- ! Microscopic cross sections
+ type SumXS
real(8), allocatable :: total(:) ! total cross section
real(8), allocatable :: elastic(:) ! elastic scattering
real(8), allocatable :: fission(:) ! fission
real(8), allocatable :: nu_fission(:) ! neutron production
real(8), allocatable :: absorption(:) ! absorption (MT > 100)
real(8), allocatable :: heating(:) ! heating
+ end type SumXS
+
+ type :: Nuclide
+ ! Nuclide meta-data
+ character(20) :: name ! name of nuclide, e.g. U235.71c
+ integer :: Z ! atomic number
+ integer :: A ! mass number
+ integer :: metastable ! metastable state
+ real(8) :: awr ! Atomic Weight Ratio
+ real(8), allocatable :: kTs(:) ! temperature in MeV (k*T)
+
+ ! Fission information
+ logical :: fissionable = .false. ! nuclide is fissionable?
+
+ ! Energy grid for each temperature
+ type(EnergyGrid), allocatable :: grid(:)
+
+ ! Microscopic cross sections
+ type(SumXS), allocatable :: sum_xs(:)
! Resonance scattering info
logical :: resonant = .false. ! resonant scatterer?
@@ -77,7 +86,7 @@ module nuclide_header
! Unresolved resonance data
logical :: urr_present = .false.
integer :: urr_inelastic
- type(UrrData), pointer :: urr_data => null()
+ type(UrrData), allocatable :: urr_data(:)
! Multipole data
logical :: mp_present = .false.
@@ -94,7 +103,6 @@ module nuclide_header
contains
procedure :: clear => nuclide_clear
- procedure :: print => nuclide_print
procedure :: from_hdf5 => nuclide_from_hdf5
procedure :: nu => nuclide_nu
procedure, private :: create_derived => nuclide_create_derived
@@ -131,6 +139,7 @@ module nuclide_header
! Information for S(a,b) use
integer :: index_sab ! index in sab_tables (zero means no table)
integer :: last_index_sab = 0 ! index in sab_tables last used by this nuclide
+ integer :: index_temp_sab ! temperature index for sab_tables
real(8) :: elastic_sab ! microscopic elastic scattering on S(a,b) table
! Information for URR probability table use
@@ -173,23 +182,25 @@ module nuclide_header
subroutine nuclide_clear(this)
class(Nuclide), intent(inout) :: this ! The Nuclide object to clear
- if (associated(this % urr_data)) deallocate(this % urr_data)
if (associated(this % multipole)) deallocate(this % multipole)
end subroutine nuclide_clear
- subroutine nuclide_from_hdf5(this, group_id, temperature)
- class(Nuclide), intent(inout) :: this
- integer(HID_T), intent(in) :: group_id
- character(len=*), intent(in) :: temperature
+ subroutine nuclide_from_hdf5(this, group_id, temperature, method, tolerance)
+ class(Nuclide), intent(inout) :: this
+ integer(HID_T), intent(in) :: group_id
+ type(VectorReal), intent(in) :: temperature ! list of desired temperatures
+ integer, intent(in) :: method
+ real(8), intent(in) :: tolerance
integer :: i
- integer :: Z
- integer :: A
+ integer :: n
integer :: storage_type
integer :: max_corder
integer :: n_links
integer :: hdf5_err
+ integer :: i_closest
+ integer :: n_temperature
integer(HID_T) :: urr_group, nu_group
integer(HID_T) :: energy_group, energy_dset
integer(HID_T) :: kT_group, kT_dset
@@ -201,13 +212,14 @@ module nuclide_header
integer(SIZE_T) :: name_len, name_file_len
integer(HSIZE_T) :: j
integer(HSIZE_T) :: dims(1)
- character(MAX_WORD_LEN) :: temp
- character(MAX_FILE_LEN), allocatable :: temperatures(:)
- integer, allocatable :: temperatures_integer(:)
- character(6) :: my_temperature
- integer :: temperature_integer
- type(VectorInt) :: MTs
+ character(MAX_WORD_LEN) :: temp_str
+ character(MAX_FILE_LEN), allocatable :: dset_names(:)
+ real(8), allocatable :: temps_available(:) ! temperatures available
+ real(8) :: temp_desired
+ real(8) :: temp_actual
logical :: exists
+ type(VectorInt) :: MTs
+ type(VectorInt) :: temps_to_read
! Get name of nuclide from group
name_len = len(this % name)
@@ -216,62 +228,90 @@ module nuclide_header
! Get rid of leading '/'
this % name = trim(this % name(2:))
- call read_attribute(Z, group_id, 'Z')
- call read_attribute(A, group_id, 'A')
+ call read_attribute(this % Z, group_id, 'Z')
+ call read_attribute(this % A, group_id, 'A')
call read_attribute(this % metastable, group_id, 'metastable')
- this % zaid = 1000 * Z + A + 400 * this % metastable
call read_attribute(this % awr, group_id, 'atomic_weight_ratio')
kT_group = open_group(group_id, 'kTs')
- ! Before accessing the temperature data, see if the user-provied temperature
- ! exists. We can find this out by looking at the datasets within kT_group
- temperature_integer = &
- str_to_int(temperature(1: len_trim(adjustl(temperature)) - 1))
- call get_datasets(kT_group, temperatures)
- allocate(temperatures_integer(size(temperatures)))
- do i = 1, size(temperatures)
- temperatures_integer(i) = &
- str_to_int(temperatures(i)(1: len_trim(adjustl(temperatures(i))) - 1))
+ ! Determine temperatures available
+ call get_datasets(kT_group, dset_names)
+ allocate(temps_available(size(dset_names)))
+ do i = 1, size(dset_names)
+ ! Read temperature value
+ call read_dataset(temps_available(i), kT_group, trim(dset_names(i)))
+ temps_available(i) = temps_available(i) / K_BOLTZMANN
+ end do
+
+ select case (method)
+ case (TEMPERATURE_NEAREST)
+ ! Determine actual temperatures to read
+ TEMP_LOOP: do i = 1, temperature % size()
+ temp_desired = temperature % data(i)
+ i_closest = minloc(abs(temps_available - temp_desired), dim=1)
+ temp_actual = temps_available(i_closest)
+ if (abs(temp_actual - temp_desired) < tolerance) then
+ if (find(temps_to_read, nint(temp_actual)) == -1) then
+ call temps_to_read % push_back(nint(temp_actual))
+
+ ! Write warning for resonance scattering data if 0K is not available
+ if (abs(temp_actual - temp_desired) > 0 .and. temp_desired == 0) then
+ call warning(trim(this % name) // " does not contain 0K data &
+ &needed for resonance scattering options selected. Using &
+ &data at " // trim(to_str(nint(temp_actual))) // " K instead.")
+ end if
+ end if
+ else
+ call fatal_error("Nuclear data library does not contain cross sections &
+ &for " // trim(this % name) // " at or near " // &
+ trim(to_str(nint(temp_desired))) // " K.")
+ end if
+ end do TEMP_LOOP
+
+ case (TEMPERATURE_INTERPOLATION)
+ ! TODO: Get bounding temperatures
+ call fatal_error("Temperature interpolation not yet implemented")
+
+ case (TEMPERATURE_MULTIPOLE)
+ ! Add first available temperature
+ call temps_to_read % push_back(nint(temps_available(1)))
+
+ end select
+
+ ! Sort temperatures to read
+ call sort(temps_to_read)
+
+ n_temperature = temps_to_read % size()
+ allocate(this % kTs(n_temperature))
+ allocate(this % grid(n_temperature))
+
+ do i = 1, n_temperature
+ ! Get temperature as a string
+ temp_str = trim(to_str(temps_to_read % data(i))) // "K"
+
+ ! Read exact temperature value
+ call read_dataset(this % kTs(i), kT_group, trim(temp_str))
+
+ ! Read energy grid
+ energy_group = open_group(group_id, 'energy')
+ energy_dset = open_dataset(energy_group, temp_str)
+ call get_shape(energy_dset, dims)
+ allocate(this % grid(i) % energy(int(dims(1), 4)))
+ call read_dataset(this % grid(i) % energy, energy_dset)
+ call close_dataset(energy_dset)
+ call close_group(energy_group)
end do
- my_temperature = &
- temperatures(minloc(abs(temperature_integer - temperatures_integer), &
- dim=1))
- ! Now print a warning if there is no matching temperature and then use the
- ! closest temperature
- if (temperature /= my_temperature) then
- if (temperature == '0K') then
- call warning(trim(this % name) // " does not contain 0K data &
- &needed for the resonance scattering options selected")
- else
- call warning(trim(this % name) // " does not contain data at a &
- &temperature of " // trim(temperature) // "; using the &
- &nearest available temperature of " // trim(my_temperature))
- end if
- end if
- kT_dset = open_dataset(kT_group, my_temperature)
- call read_dataset(this % kT, kT_dset)
- call close_dataset(kT_dset)
call close_group(kT_group)
- ! Read energy grid
- energy_group = open_group(group_id, 'energy')
- energy_dset = open_dataset(energy_group, my_temperature)
- call get_shape(energy_dset, dims)
- this % n_grid = int(dims(1), 4)
- allocate(this % energy(this % n_grid))
- call read_dataset(this % energy, energy_dset)
- call close_dataset(energy_dset)
- call close_group(energy_group)
-
! Get MT values based on group names
rxs_group = open_group(group_id, 'reactions')
call h5gget_info_f(rxs_group, storage_type, n_links, max_corder, hdf5_err)
do j = 0, n_links - 1
call h5lget_name_by_idx_f(rxs_group, ".", H5_INDEX_NAME_F, H5_ITER_INC_F, &
- j, temp, hdf5_err, name_len)
- if (starts_with(temp, "reaction_")) then
- call MTs % push_back(int(str_to_int(temp(10:12))))
+ j, temp_str, hdf5_err, name_len)
+ if (starts_with(temp_str, "reaction_")) then
+ call MTs % push_back(int(str_to_int(temp_str(10:12))))
end if
end do
@@ -281,7 +321,7 @@ module nuclide_header
rx_group = open_group(rxs_group, 'reaction_' // trim(&
zero_padded(MTs % data(i), 3)))
- call this % reactions(i) % from_hdf5(rx_group, my_temperature)
+ call this % reactions(i) % from_hdf5(rx_group, temps_to_read)
call close_group(rx_group)
end do
call close_group(rxs_group)
@@ -290,32 +330,42 @@ module nuclide_header
call h5ltpath_valid_f(group_id, 'urr', .true., exists, hdf5_err)
if (exists) then
this % urr_present = .true.
- allocate(this % urr_data)
- urr_group = open_group(group_id, 'urr/' // trim(my_temperature))
- call this % urr_data % from_hdf5(urr_group)
+ allocate(this % urr_data(n_temperature))
+
+ do i = 1, n_temperature
+ ! Get temperature as a string
+ temp_str = trim(to_str(temps_to_read % data(i))) // "K"
+
+ ! Read probability tables for i-th temperature
+ urr_group = open_group(group_id, 'urr/' // trim(temp_str))
+ call this % urr_data(i) % from_hdf5(urr_group)
+ call close_group(urr_group)
+
+ ! Check for negative values
+ if (any(this % urr_data(i) % prob < ZERO)) then
+ call warning("Negative value(s) found on probability table &
+ &for nuclide " // this % name // " at " // trim(temp_str))
+ end if
+ end do
! if the inelastic competition flag indicates that the inelastic cross
! section should be determined from a normal reaction cross section, we
! need to get the index of the reaction
- if (this % urr_data % inelastic_flag > 0) then
- do i = 1, size(this % reactions)
- if (this % reactions(i) % MT == this % urr_data % inelastic_flag) then
- this % urr_inelastic = i
+ if (n_temperature > 0) then
+ if (this % urr_data(1) % inelastic_flag > 0) then
+ do i = 1, size(this % reactions)
+ if (this % reactions(i) % MT == this % urr_data(1) % inelastic_flag) then
+ this % urr_inelastic = i
+ end if
+ end do
+
+ ! Abort if no corresponding inelastic reaction was found
+ if (this % urr_inelastic == NONE) then
+ call fatal_error("Could not find inelastic reaction specified on &
+ &unresolved resonance probability table.")
end if
- end do
-
- ! Abort if no corresponding inelastic reaction was found
- if (this % urr_inelastic == NONE) then
- call fatal_error("Could not find inelastic reaction specified on &
- &unresolved resonance probability table.")
end if
end if
-
- ! Check for negative values
- if (any(this % urr_data % prob < ZERO)) then
- call warning("Negative value(s) found on probability table &
- &for nuclide " // this % name)
- end if
end if
! Check for nu-total
@@ -325,8 +375,8 @@ module nuclide_header
! Read total nu data
total_nu = open_dataset(nu_group, 'yield')
- call read_attribute(temp, total_nu, 'type')
- select case (temp)
+ call read_attribute(temp_str, total_nu, 'type')
+ select case (temp_str)
case ('Tabulated1D')
allocate(Tabulated1D :: this % total_nu)
case ('Polynomial')
@@ -346,8 +396,8 @@ module nuclide_header
! Check to see if this is polynomial or tabulated data
fer_dset = open_dataset(fer_group, 'q_prompt')
- call read_attribute(temp, fer_dset, 'type')
- if (temp == 'Polynomial') then
+ call read_attribute(temp_str, fer_dset, 'type')
+ if (temp_str == 'Polynomial') then
! Read the prompt Q-value
allocate(Polynomial :: this % fission_q_prompt)
call this % fission_q_prompt % from_hdf5(fer_dset)
@@ -358,7 +408,7 @@ module nuclide_header
fer_dset = open_dataset(fer_group, 'q_recoverable')
call this % fission_q_recov % from_hdf5(fer_dset)
call close_dataset(fer_dset)
- else if (temp == 'Tabulated1D') then
+ else if (temp_str == 'Tabulated1D') then
! Read the prompt Q-value
allocate(Tabulated1D :: this % fission_q_prompt)
call this % fission_q_prompt % from_hdf5(fer_dset)
@@ -383,108 +433,125 @@ module nuclide_header
subroutine nuclide_create_derived(this)
class(Nuclide), intent(inout) :: this
- integer :: i
- integer :: j
- integer :: k
+ integer :: i, j, k
+ integer :: t
integer :: m
integer :: n
+ integer :: n_grid
integer :: i_fission
- type(ListInt) :: MTs
+ integer :: n_temperature
+ type(VectorInt) :: MTs
- ! Allocate and initialize derived cross sections
- allocate(this % total(this % n_grid))
- allocate(this % elastic(this % n_grid))
- allocate(this % fission(this % n_grid))
- allocate(this % nu_fission(this % n_grid))
- allocate(this % absorption(this % n_grid))
- this % total(:) = ZERO
- this % elastic(:) = ZERO
- this % fission(:) = ZERO
- this % nu_fission(:) = ZERO
- this % absorption(:) = ZERO
+ n_temperature = size(this % kTs)
+ allocate(this % sum_xs(n_temperature))
+
+ do i = 1, n_temperature
+ ! Allocate and initialize derived cross sections
+ n_grid = size(this % grid(i) % energy)
+ allocate(this % sum_xs(i) % total(n_grid))
+ allocate(this % sum_xs(i) % elastic(n_grid))
+ allocate(this % sum_xs(i) % fission(n_grid))
+ allocate(this % sum_xs(i) % nu_fission(n_grid))
+ allocate(this % sum_xs(i) % absorption(n_grid))
+ this % sum_xs(i) % total(:) = ZERO
+ this % sum_xs(i) % elastic(:) = ZERO
+ this % sum_xs(i) % fission(:) = ZERO
+ this % sum_xs(i) % nu_fission(:) = ZERO
+ this % sum_xs(i) % absorption(:) = ZERO
+ end do
i_fission = 0
do i = 1, size(this % reactions)
- call MTs % append(this % reactions(i) % MT)
+ call MTs % push_back(this % reactions(i) % MT)
call this % reaction_index % add_key(this % reactions(i) % MT, i)
associate (rx => this % reactions(i))
- j = rx % threshold
- n = size(rx % sigma)
-
! Skip total inelastic level scattering, gas production cross sections
! (MT=200+), etc.
if (rx % MT == N_LEVEL .or. rx % MT == N_NONELASTIC) cycle
if (rx % MT > N_5N2P .and. rx % MT < N_P0) cycle
! Skip level cross sections if total is available
- if (rx % MT >= N_P0 .and. rx % MT <= N_PC .and. MTs % contains(N_P)) cycle
- if (rx % MT >= N_D0 .and. rx % MT <= N_DC .and. MTs % contains(N_D)) cycle
- if (rx % MT >= N_T0 .and. rx % MT <= N_TC .and. MTs % contains(N_T)) cycle
- if (rx % MT >= N_3HE0 .and. rx % MT <= N_3HEC .and. MTs % contains(N_3HE)) cycle
- if (rx % MT >= N_A0 .and. rx % MT <= N_AC .and. MTs % contains(N_A)) cycle
- if (rx % MT >= N_2N0 .and. rx % MT <= N_2NC .and. MTs % contains(N_2N)) cycle
+ if (rx % MT >= N_P0 .and. rx % MT <= N_PC .and. find(MTs, N_P) /= -1) cycle
+ if (rx % MT >= N_D0 .and. rx % MT <= N_DC .and. find(MTs, N_D) /= -1) cycle
+ if (rx % MT >= N_T0 .and. rx % MT <= N_TC .and. find(MTs, N_T) /= -1) cycle
+ if (rx % MT >= N_3HE0 .and. rx % MT <= N_3HEC .and. find(MTs, N_3HE) /= -1) cycle
+ if (rx % MT >= N_A0 .and. rx % MT <= N_AC .and. find(MTs, N_A) /= -1) cycle
+ if (rx % MT >= N_2N0 .and. rx % MT <= N_2NC .and. find(MTs, N_2N) /= -1) cycle
- ! Copy elastic
- if (rx % MT == ELASTIC) this % elastic(:) = rx % sigma
+ do t = 1, n_temperature
+ j = rx % xs(t) % threshold
+ n = size(rx % xs(t) % value)
- ! Add contribution to total cross section
- this % total(j:j+n-1) = this % total(j:j+n-1) + rx % sigma
+ ! Copy elastic
+ if (rx % MT == ELASTIC) this % sum_xs(t) % elastic(:) = rx % xs(t) % value
- ! Add contribution to absorption cross section
- if (is_disappearance(rx % MT)) then
- this % absorption(j:j+n-1) = this % absorption(j:j+n-1) + rx % sigma
- end if
+ ! Add contribution to total cross section
+ this % sum_xs(t) % total(j:j+n-1) = this % sum_xs(t) % total(j:j+n-1) + &
+ rx % xs(t) % value
- ! Information about fission reactions
- if (rx % MT == N_FISSION) then
- allocate(this % index_fission(1))
- elseif (rx % MT == N_F) then
- allocate(this % index_fission(PARTIAL_FISSION_MAX))
- this % has_partial_fission = .true.
- end if
+ ! Add contribution to absorption cross section
+ if (is_disappearance(rx % MT)) then
+ this % sum_xs(t) % absorption(j:j+n-1) = this % sum_xs(t) % &
+ absorption(j:j+n-1) + rx % xs(t) % value
+ end if
- ! Add contribution to fission cross section
- if (is_fission(rx % MT)) then
- this % fissionable = .true.
- this % fission(j:j+n-1) = this % fission(j:j+n-1) + rx % sigma
-
- ! Also need to add fission cross sections to absorption
- this % absorption(j:j+n-1) = this % absorption(j:j+n-1) + rx % sigma
-
- ! If total fission reaction is present, there's no need to store the
- ! reaction cross-section since it was copied to this % fission
- if (rx % MT == N_FISSION) deallocate(rx % sigma)
-
- ! Keep track of this reaction for easy searching later
- i_fission = i_fission + 1
- this % index_fission(i_fission) = i
- this % n_fission = this % n_fission + 1
-
- ! <<<<<<<<<<<<<<<<<<<<<<<<<<<< REMOVE THIS <<<<<<<<<<<<<<<<<<<<<<<<<<<
- ! Before the secondary distribution refactor, when the angle/energy
- ! distribution was uncorrelated, no angle was actually sampled. With
- ! the refactor, an angle is always sampled for an uncorrelated
- ! 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.
- do k = 1, size(rx % products)
- if (rx % products(k) % particle == NEUTRON) then
- do m = 1, size(rx % products(k) % distribution)
- associate (aedist => rx % products(k) % distribution(m) % obj)
- select type (aedist)
- type is (UncorrelatedAngleEnergy)
- aedist % fission = .true.
- end select
- end associate
- end do
+ ! Information about fission reactions
+ if (t == 1) then
+ if (rx % MT == N_FISSION) then
+ allocate(this % index_fission(1))
+ elseif (rx % MT == N_F) then
+ allocate(this % index_fission(PARTIAL_FISSION_MAX))
+ this % has_partial_fission = .true.
end if
- end do
- ! <<<<<<<<<<<<<<<<<<<<<<<<<<<< REMOVE THIS <<<<<<<<<<<<<<<<<<<<<<<<<<<
- end if
- end associate
- end do
+ end if
+
+ ! Add contribution to fission cross section
+ if (is_fission(rx % MT)) then
+ this % fissionable = .true.
+ this % sum_xs(t) % fission(j:j+n-1) = this % sum_xs(t) % &
+ fission(j:j+n-1) + rx % xs(t) % value
+
+ ! Also need to add fission cross sections to absorption
+ this % sum_xs(t) % absorption(j:j+n-1) = this % sum_xs(t) % &
+ absorption(j:j+n-1) + rx % xs(t) % value
+
+ ! If total fission reaction is present, there's no need to store the
+ ! reaction cross-section since it was copied to this % fission
+ if (rx % MT == N_FISSION) deallocate(rx % xs(t) % value)
+
+ ! Keep track of this reaction for easy searching later
+ if (t == 1) then
+ i_fission = i_fission + 1
+ this % index_fission(i_fission) = i
+ this % n_fission = this % n_fission + 1
+
+ ! <<<<<<<<<<<<<<<<<<<<<<<<<<<< REMOVE THIS <<<<<<<<<<<<<<<<<<<<<<<<<
+ ! Before the secondary distribution refactor, when the angle/energy
+ ! distribution was uncorrelated, no angle was actually sampled. With
+ ! the refactor, an angle is always sampled for an uncorrelated
+ ! 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.
+ do k = 1, size(rx % products)
+ if (rx % products(k) % particle == NEUTRON) then
+ do m = 1, size(rx % products(k) % distribution)
+ associate (aedist => rx % products(k) % distribution(m) % obj)
+ select type (aedist)
+ type is (UncorrelatedAngleEnergy)
+ aedist % fission = .true.
+ end select
+ end associate
+ end do
+ end if
+ end do
+ ! <<<<<<<<<<<<<<<<<<<<<<<<<<<< REMOVE THIS <<<<<<<<<<<<<<<<<<<<<<<<<
+ end if
+ end if ! fission
+ end do ! temperature
+ end associate ! rx
+ end do ! reactions
! Determine number of delayed neutron precursors
if (this % fissionable) then
@@ -497,17 +564,16 @@ module nuclide_header
end if
! Calculate nu-fission cross section
- if (this % fissionable) then
- do i = 1, size(this % energy)
- this % nu_fission(i) = this % nu(this % energy(i), EMISSION_TOTAL) * &
- this % fission(i)
- end do
- else
- this % nu_fission(:) = ZERO
- end if
-
- ! Clear MTs set
- call MTs % clear()
+ do t = 1, n_temperature
+ if (this % fissionable) then
+ do i = 1, size(this % sum_xs(t) % fission)
+ this % sum_xs(t) % nu_fission(i) = this % nu(this % grid(t) % energy(i), &
+ EMISSION_TOTAL) * this % sum_xs(t) % fission(i)
+ end do
+ else
+ this % sum_xs(t) % nu_fission(:) = ZERO
+ end if
+ end do
end subroutine nuclide_create_derived
!===============================================================================
@@ -575,86 +641,4 @@ module nuclide_header
end function nuclide_nu
-
-!===============================================================================
-! NUCLIDE*_PRINT displays information about a continuous-energy neutron
-! cross_section table and its reactions and secondary angle/energy distributions
-!===============================================================================
-
- subroutine nuclide_print(this, unit)
- class(Nuclide), 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)
-
- ! 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
-
- ! 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(size(this % reactions)))
-
- ! Information on each reaction
- write(unit_,*) ' Reaction Q-value COM IE'
- do i = 1, size(this % reactions)
- 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
-
- ! 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
- 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))
- write(unit_,*) ' Interpolation = ' // trim(to_str(urr % interp))
- write(unit_,*) ' Inelastic flag = ' // trim(to_str(urr % inelastic_flag))
- write(unit_,*) ' Absorption flag = ' // trim(to_str(urr % absorption_flag))
- write(unit_,*) ' Multiply by smooth? ', urr % multiply_smooth
- write(unit_,*) ' Min energy = ', trim(to_str(urr % energy(1)))
- write(unit_,*) ' Max energy = ', trim(to_str(urr % energy(urr % n_energy)))
-
- ! Calculate memory used by probability tables and add to total
- size_urr = urr % n_energy * (urr % n_prob * 6 + 1) * 8
- 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'
-
- ! Blank line at end of nuclide
- write(unit_,*)
- end subroutine nuclide_print
-
end module nuclide_header
diff --git a/src/output.F90 b/src/output.F90
index 9e23f11d88..b8bd804259 100644
--- a/src/output.F90
+++ b/src/output.F90
@@ -38,43 +38,56 @@ contains
use omp_lib
#endif
- write(UNIT=OUTPUT_UNIT, FMT='(/11(A/))') &
- ' .d88888b. 888b d888 .d8888b.', &
- ' d88P" "Y88b 8888b d8888 d88P Y88b', &
- ' 888 888 88888b.d88888 888 888', &
- ' 888 888 88888b. .d88b. 88888b. 888Y88888P888 888 ', &
- ' 888 888 888 "88b d8P Y8b 888 "88b 888 Y888P 888 888 ', &
- ' 888 888 888 888 88888888 888 888 888 Y8P 888 888 888', &
- ' Y88b. .d88P 888 d88P Y8b. 888 888 888 " 888 Y88b d88P', &
- ' "Y88888P" 88888P" "Y8888 888 888 888 888 "Y8888P"', &
- '__________________888______________________________________________________', &
- ' 888', &
- ' 888'
+ write(UNIT=OUTPUT_UNIT, FMT='(/23(A/))') &
+ ' %%%%%%%%%%%%%%%', &
+ ' %%%%%%%%%%%%%%%%%%%%%%%%', &
+ ' %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%', &
+ ' %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%', &
+ ' %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%', &
+ ' %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%', &
+ ' %%%%%%%%%%%%%%%%%%%%%%%%', &
+ ' %%%%%%%%%%%%%%%%%%%%%%%%', &
+ ' ############### %%%%%%%%%%%%%%%%%%%%%%%%', &
+ ' ################## %%%%%%%%%%%%%%%%%%%%%%%', &
+ ' ################### %%%%%%%%%%%%%%%%%%%%%%%', &
+ ' #################### %%%%%%%%%%%%%%%%%%%%%%', &
+ ' ##################### %%%%%%%%%%%%%%%%%%%%%', &
+ ' ###################### %%%%%%%%%%%%%%%%%%%%', &
+ ' ####################### %%%%%%%%%%%%%%%%%%', &
+ ' ####################### %%%%%%%%%%%%%%%%%', &
+ ' ###################### %%%%%%%%%%%%%%%%%', &
+ ' #################### %%%%%%%%%%%%%%%%%', &
+ ' ################# %%%%%%%%%%%%%%%%%', &
+ ' ############### %%%%%%%%%%%%%%%%', &
+ ' ############ %%%%%%%%%%%%%%%', &
+ ' ######## %%%%%%%%%%%%%%', &
+ ' %%%%%%%%%%%'
! Write version information
write(UNIT=OUTPUT_UNIT, FMT=*) &
- ' Copyright: 2011-2016 Massachusetts Institute of Technology'
+ ' | The OpenMC Monte Carlo Code'
write(UNIT=OUTPUT_UNIT, FMT=*) &
- ' License: http://openmc.readthedocs.io/en/latest/license.html'
- write(UNIT=OUTPUT_UNIT, FMT='(6X,"Version:",8X,I1,".",I1,".",I1)') &
+ ' Copyright | 2011-2016 Massachusetts Institute of Technology'
+ write(UNIT=OUTPUT_UNIT, FMT=*) &
+ ' License | http://openmc.readthedocs.io/en/latest/license.html'
+ write(UNIT=OUTPUT_UNIT, FMT='(11X,"Version | ",I1,".",I1,".",I1)') &
VERSION_MAJOR, VERSION_MINOR, VERSION_RELEASE
#ifdef GIT_SHA1
- write(UNIT=OUTPUT_UNIT, FMT='(6X,"Git SHA1:",7X,A)') GIT_SHA1
+ write(UNIT=OUTPUT_UNIT, FMT='(10X,"Git SHA1 | ",A)') GIT_SHA1
#endif
! Write the date and time
- write(UNIT=OUTPUT_UNIT, FMT='(6X,"Date/Time:",6X,A)') &
- time_stamp()
+ write(UNIT=OUTPUT_UNIT, FMT='(9X,"Date/Time | ",A)') time_stamp()
#ifdef MPI
! Write number of processors
- write(UNIT=OUTPUT_UNIT, FMT='(6X,"MPI Processes:",2X,A)') &
+ write(UNIT=OUTPUT_UNIT, FMT='(5X,"MPI Processes | ",A)') &
trim(to_str(n_procs))
#endif
#ifdef _OPENMP
! Write number of OpenMP threads
- write(UNIT=OUTPUT_UNIT, FMT='(6X,"OpenMP Threads:",1X,A)') &
+ write(UNIT=OUTPUT_UNIT, FMT='(4X,"OpenMP Threads | ",A)') &
trim(to_str(omp_get_max_threads()))
#endif
@@ -317,57 +330,6 @@ contains
end subroutine print_particle
-!===============================================================================
-! WRITE_XS_SUMMARY writes information about each nuclide and S(a,b) table to a
-! file called cross_sections.out. This file shows the list of reactions as well
-! as information about their secondary angle/energy distributions, how much
-! memory is consumed, thresholds, etc.
-!===============================================================================
-
- subroutine write_xs_summary()
-
- integer :: i ! loop index
- integer :: unit_xs ! cross_sections.out file unit
- character(MAX_FILE_LEN) :: path ! path of summary file
-
- ! Create filename for log file
- path = trim(path_output) // "cross_sections.out"
-
- ! Open log file for writing
- open(NEWUNIT=unit_xs, FILE=path, STATUS='replace', ACTION='write')
-
- if (run_CE) then
- ! Write header
- call header("CROSS SECTION TABLES", unit=unit_xs)
-
- NUCLIDE_LOOP: do i = 1, n_nuclides_total
- ! Print information about nuclide
- call nuclides(i) % print(unit=unit_xs)
- end do NUCLIDE_LOOP
-
- SAB_TABLES_LOOP: do i = 1, n_sab_tables
- ! Print information about S(a,b) table
- call sab_tables(i) % print(unit=unit_xs)
- end do SAB_TABLES_LOOP
- else
- ! Write header
- call header("MGXS LIBRARY TABLES", unit=unit_xs)
- NuclideMG_LOOP: do i = 1, n_nuclides_total
- ! Print information about nuclide
- call nuclides_mg(i) % obj % print(unit=unit_xs)
- end do NuclideMG_LOOP
- call header("MATERIAL MGXS TABLES", unit=unit_xs)
- MATERIAL_LOOP: do i = 1, n_materials
- ! Print information about Materials
- call macro_xs(i) % obj % print(unit=unit_xs)
- end do MATERIAL_LOOP
- end if
-
- ! Close cross section summary file
- close(unit_xs)
-
- end subroutine write_xs_summary
-
!===============================================================================
! PRINT_COLUMNS displays a header listing what physical values will displayed
! below them
diff --git a/src/particle_header.F90 b/src/particle_header.F90
index ee854aea37..53a503ce2e 100644
--- a/src/particle_header.F90
+++ b/src/particle_header.F90
@@ -88,6 +88,7 @@ module particle_header
! Temperature of the current cell
real(8) :: sqrtkT ! sqrt(k_Boltzmann * temperature) in MeV
+ real(8) :: last_sqrtKT ! last temperature
! Statistical data
integer :: n_collision ! # of collisions
@@ -129,6 +130,7 @@ contains
this % cell_born = NONE
this % material = NONE
this % last_material = NONE
+ this % last_sqrtkT = NONE
this % wgt = ONE
this % last_wgt = ONE
this % absorb_wgt = ZERO
diff --git a/src/physics.F90 b/src/physics.F90
index a9f2263955..23fb6f1df2 100644
--- a/src/physics.F90
+++ b/src/physics.F90
@@ -1,5 +1,6 @@
module physics
+ use algorithm, only: binary_search
use constants
use cross_section, only: elastic_xs_0K
use endf, only: reaction_name
@@ -15,7 +16,6 @@ module physics
use physics_common
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
@@ -59,7 +59,7 @@ contains
! 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 advance_prn_seed(size(nuclides, kind=8))
call prn_set_stream(STREAM_TRACKING)
endif
@@ -200,6 +200,7 @@ contains
integer :: i
integer :: i_grid
+ integer :: i_temp
real(8) :: f
real(8) :: prob
real(8) :: cutoff
@@ -219,6 +220,7 @@ contains
end if
! Get grid index and interpolatoin factor and sample fission cdf
+ i_temp = micro_xs(i_nuclide) % index_temp
i_grid = micro_xs(i_nuclide) % index_grid
f = micro_xs(i_nuclide) % interp_factor
cutoff = prn() * micro_xs(i_nuclide) % fission
@@ -229,13 +231,13 @@ contains
FISSION_REACTION_LOOP: do i = 1, nuc % n_fission
i_reaction = nuc % index_fission(i)
- associate (rxn => nuc % reactions(i_reaction))
+ associate (xs => nuc % reactions(i_reaction) % xs(i_temp))
! if energy is below threshold for this reaction, skip it
- if (i_grid < rxn % threshold) cycle
+ if (i_grid < xs % threshold) cycle
! add to cumulative probability
- prob = prob + ((ONE - f)*rxn%sigma(i_grid - rxn%threshold + 1) &
- + f*(rxn%sigma(i_grid - rxn%threshold + 2)))
+ prob = prob + ((ONE - f) * xs % value(i_grid - xs % threshold + 1) &
+ + f*(xs % value(i_grid - xs % threshold + 2)))
end associate
! Create fission bank sites if fission occurs
@@ -294,6 +296,7 @@ contains
integer, intent(in) :: i_nuc_mat
integer :: i
+ integer :: i_temp
integer :: i_grid
real(8) :: f
real(8) :: prob
@@ -301,6 +304,7 @@ contains
real(8) :: uvw_new(3) ! outgoing uvw for iso-in-lab scattering
real(8) :: uvw_old(3) ! incoming uvw for iso-in-lab scattering
real(8) :: phi ! azimuthal angle for iso-in-lab scattering
+ real(8) :: kT ! temperature in MeV
type(Nuclide), pointer :: nuc
! copy incoming direction
@@ -308,6 +312,7 @@ contains
! Get pointer to nuclide and grid index/interpolation factor
nuc => nuclides(i_nuclide)
+ i_temp = micro_xs(i_nuclide) % index_temp
i_grid = micro_xs(i_nuclide) % index_grid
f = micro_xs(i_nuclide) % interp_factor
@@ -328,8 +333,15 @@ contains
p % E, p % coord(1) % uvw, p % mu)
else
+ ! Determine temperature
+ if (temperature_method == TEMPERATURE_MULTIPOLE) then
+ kT = p % sqrtkT**2
+ else
+ kT = nuc % kTs(micro_xs(i_nuclide) % index_temp)
+ end if
+
! Perform collision physics for elastic scattering
- call elastic_scatter(i_nuclide, nuc % reactions(1), &
+ call elastic_scatter(i_nuclide, nuc % reactions(1), kT, &
p % E, p % coord(1) % uvw, p % mu, p % wgt)
end if
@@ -352,22 +364,24 @@ contains
&// trim(nuc % name))
end if
- associate (rxn => nuc % reactions(i))
+ associate (rx => nuc % reactions(i))
! Skip fission reactions
- if (rxn % MT == N_FISSION .or. rxn % MT == N_F .or. rxn % MT == N_NF &
- .or. rxn % MT == N_2NF .or. rxn % MT == N_3NF) cycle
+ if (rx % MT == N_FISSION .or. rx % MT == N_F .or. rx % MT == N_NF &
+ .or. rx % MT == N_2NF .or. rx % MT == N_3NF) cycle
! some materials have gas production cross sections with MT > 200 that
! are duplicates. Also MT=4 is total level inelastic scattering which
! should be skipped
- if (rxn % MT >= 200 .or. rxn % MT == N_LEVEL) cycle
+ if (rx % MT >= 200 .or. rx % MT == N_LEVEL) cycle
- ! if energy is below threshold for this reaction, skip it
- if (i_grid < rxn % threshold) cycle
+ associate (xs => rx % xs(i_temp))
+ ! if energy is below threshold for this reaction, skip it
+ if (i_grid < xs % threshold) cycle
- ! add to cumulative probability
- prob = prob + ((ONE - f)*rxn%sigma(i_grid - rxn%threshold + 1) &
- + f*(rxn%sigma(i_grid - rxn%threshold + 2)))
+ ! add to cumulative probability
+ prob = prob + ((ONE - f)*xs % value(i_grid - xs % threshold + 1) &
+ + f*(xs % value(i_grid - xs % threshold + 2)))
+ end associate
end associate
end do
@@ -401,9 +415,10 @@ contains
! target.
!===============================================================================
- subroutine elastic_scatter(i_nuclide, rxn, E, uvw, mu_lab, wgt)
+ subroutine elastic_scatter(i_nuclide, rxn, kT, E, uvw, mu_lab, wgt)
integer, intent(in) :: i_nuclide
type(Reaction), intent(in) :: rxn
+ real(8), intent(in) :: kT ! temperature in MeV
real(8), intent(inout) :: E
real(8), intent(inout) :: uvw(3)
real(8), intent(out) :: mu_lab
@@ -430,7 +445,7 @@ contains
! Sample velocity of target nucleus
if (.not. micro_xs(i_nuclide) % use_ptable) then
call sample_target_velocity(nuc, v_t, E, uvw, v_n, wgt, &
- & micro_xs(i_nuclide) % elastic)
+ micro_xs(i_nuclide) % elastic, kT)
else
v_t = ZERO
end if
@@ -494,6 +509,7 @@ contains
integer :: i ! incoming energy bin
integer :: j ! outgoing energy bin
integer :: k ! outgoing cosine bin
+ integer :: i_temp ! temperature index
integer :: n_energy_out ! number of outgoing energy bins
real(8) :: f ! interpolation factor
real(8) :: r ! used for skewed sampling & continuous
@@ -502,7 +518,6 @@ contains
real(8) :: mu_ijk ! outgoing cosine k for E_in(i) and E_out(j)
real(8) :: mu_i1jk ! outgoing cosine k for E_in(i+1) and E_out(j)
real(8) :: prob ! probability for sampling Bragg edge
- type(SAlphaBeta), pointer :: sab
! Following are needed only for SAB_SECONDARY_CONT scattering
integer :: l ! sampled incoming E bin (is i or i + 1)
real(8) :: E_i_1, E_i_J ! endpoints on outgoing grid i
@@ -514,213 +529,216 @@ contains
real(8) :: frac ! interpolation factor on outgoing energy
real(8) :: r1 ! RNG for outgoing energy
+ i_temp = micro_xs(i_nuclide) % index_temp_sab
+
! Get pointer to S(a,b) table
- sab => sab_tables(i_sab)
+ associate (sab => sab_tables(i_sab) % data(i_temp))
- ! Determine whether inelastic or elastic scattering will occur
- if (prn() < micro_xs(i_nuclide) % elastic_sab / &
- micro_xs(i_nuclide) % elastic) then
- ! elastic scattering
+ ! Determine whether inelastic or elastic scattering will occur
+ if (prn() < micro_xs(i_nuclide) % elastic_sab / &
+ micro_xs(i_nuclide) % elastic) then
+ ! elastic scattering
- ! Get index and interpolation factor for elastic grid
- if (E < sab % elastic_e_in(1)) then
- i = 1
- f = ZERO
- else
- i = binary_search(sab % elastic_e_in, sab % n_elastic_e_in, E)
- f = (E - sab%elastic_e_in(i)) / &
- (sab%elastic_e_in(i+1) - sab%elastic_e_in(i))
- end if
-
- ! Select treatment based on elastic mode
- if (sab % elastic_mode == SAB_ELASTIC_DISCRETE) then
- ! With this treatment, we interpolate between two discrete cosines
- ! corresponding to neighboring incoming energies. This is used for
- ! data derived in the incoherent approximation
-
- ! Sample outgoing cosine bin
- k = 1 + int(prn() * sab % n_elastic_mu)
-
- ! Determine outgoing cosine corresponding to E_in(i) and E_in(i+1)
- mu_ijk = sab % elastic_mu(k,i)
- mu_i1jk = sab % elastic_mu(k,i+1)
-
- ! Cosine of angle between incoming and outgoing neutron
- mu = (1 - f)*mu_ijk + f*mu_i1jk
-
- elseif (sab % elastic_mode == SAB_ELASTIC_EXACT) then
- ! This treatment is used for data derived in the coherent
- ! approximation, i.e. for crystalline structures that have Bragg
- ! edges.
-
- ! Sample a Bragg edge between 1 and i
- prob = prn() * sab % elastic_P(i+1)
- if (prob < sab % elastic_P(1)) then
- k = 1
+ ! Get index and interpolation factor for elastic grid
+ if (E < sab % elastic_e_in(1)) then
+ i = 1
+ f = ZERO
else
- k = binary_search(sab % elastic_P(1:i+1), i+1, prob)
+ i = binary_search(sab % elastic_e_in, sab % n_elastic_e_in, E)
+ f = (E - sab%elastic_e_in(i)) / &
+ (sab%elastic_e_in(i+1) - sab%elastic_e_in(i))
end if
- ! Characteristic scattering cosine for this Bragg edge
- mu = ONE - TWO*sab % elastic_e_in(k) / E
+ ! Select treatment based on elastic mode
+ if (sab % elastic_mode == SAB_ELASTIC_DISCRETE) then
+ ! With this treatment, we interpolate between two discrete cosines
+ ! corresponding to neighboring incoming energies. This is used for
+ ! data derived in the incoherent approximation
- end if
+ ! Sample outgoing cosine bin
+ k = 1 + int(prn() * sab % n_elastic_mu)
- ! Outgoing energy is same as incoming energy -- no need to do anything
+ ! Determine outgoing cosine corresponding to E_in(i) and E_in(i+1)
+ mu_ijk = sab % elastic_mu(k,i)
+ mu_i1jk = sab % elastic_mu(k,i+1)
- else
- ! Perform inelastic calculations
+ ! Cosine of angle between incoming and outgoing neutron
+ mu = (1 - f)*mu_ijk + f*mu_i1jk
- ! Get index and interpolation factor for inelastic grid
- if (E < sab % inelastic_e_in(1)) then
- i = 1
- f = ZERO
- else
- i = binary_search(sab % inelastic_e_in, sab % n_inelastic_e_in, E)
- f = (E - sab%inelastic_e_in(i)) / &
- (sab%inelastic_e_in(i+1) - sab%inelastic_e_in(i))
- end if
+ elseif (sab % elastic_mode == SAB_ELASTIC_EXACT) then
+ ! This treatment is used for data derived in the coherent
+ ! approximation, i.e. for crystalline structures that have Bragg
+ ! edges.
- ! Now that we have an incoming energy bin, we need to determine the
- ! outgoing energy bin. This will depend on the "secondary energy
- ! mode". If the mode is 0, then the outgoing energy bin is chosen from a
- ! set of equally-likely bins. If the mode is 1, then the first
- ! two and last two bins are skewed to have lower probabilities than the
- ! other bins (0.1 for the first and last bins and 0.4 for the second and
- ! second to last bins, relative to a normal bin probability of 1).
- ! Finally, if the mode is 2, then a continuous distribution (with
- ! accompanying PDF and CDF is utilized)
-
- if ((sab % secondary_mode == SAB_SECONDARY_EQUAL) .or. &
- (sab % secondary_mode == SAB_SECONDARY_SKEWED)) then
- if (sab % secondary_mode == SAB_SECONDARY_EQUAL) then
- ! All bins equally likely
-
- j = 1 + int(prn() * sab % n_inelastic_e_out)
- elseif (sab % secondary_mode == SAB_SECONDARY_SKEWED) then
- ! Distribution skewed away from edge points
-
- ! Determine number of outgoing energy and angle bins
- n_energy_out = sab % n_inelastic_e_out
-
- r = prn() * (n_energy_out - 3)
- if (r > ONE) then
- ! equally likely N-4 middle bins
- j = int(r) + 2
- elseif (r > 0.6_8) then
- ! second to last bin has relative probability of 0.4
- j = n_energy_out - 1
- elseif (r > HALF) then
- ! last bin has relative probability of 0.1
- j = n_energy_out
- elseif (r > 0.1_8) then
- ! second bin has relative probability of 0.4
- j = 2
+ ! Sample a Bragg edge between 1 and i
+ prob = prn() * sab % elastic_P(i+1)
+ if (prob < sab % elastic_P(1)) then
+ k = 1
else
- ! first bin has relative probability of 0.1
- j = 1
+ k = binary_search(sab % elastic_P(1:i+1), i+1, prob)
end if
+
+ ! Characteristic scattering cosine for this Bragg edge
+ mu = ONE - TWO*sab % elastic_e_in(k) / E
+
end if
- ! Determine outgoing energy corresponding to E_in(i) and E_in(i+1)
- E_ij = sab % inelastic_e_out(j,i)
- E_i1j = sab % inelastic_e_out(j,i+1)
-
- ! Outgoing energy
- E = (1 - f)*E_ij + f*E_i1j
-
- ! Sample outgoing cosine bin
- k = 1 + int(prn() * sab % n_inelastic_mu)
-
- ! Determine outgoing cosine corresponding to E_in(i) and E_in(i+1)
- mu_ijk = sab % inelastic_mu(k,j,i)
- mu_i1jk = sab % inelastic_mu(k,j,i+1)
-
- ! Cosine of angle between incoming and outgoing neutron
- mu = (1 - f)*mu_ijk + f*mu_i1jk
-
- else if (sab % secondary_mode == SAB_SECONDARY_CONT) then
- ! Continuous secondary energy - this is to be similar to
- ! Law 61 interpolation on outgoing energy
-
- ! Sample between ith and (i+1)th bin
- r = prn()
- if (f > r) then
- l = i + 1
- else
- l = i
- end if
-
- ! Determine endpoints on grid i
- n_energy_out = sab % inelastic_data(i) % n_e_out
- E_i_1 = sab % inelastic_data(i) % e_out(1)
- E_i_J = sab % inelastic_data(i) % e_out(n_energy_out)
-
- ! Determine endpoints on grid i + 1
- n_energy_out = sab % inelastic_data(i + 1) % n_e_out
- E_i1_1 = sab % inelastic_data(i + 1) % e_out(1)
- E_i1_J = sab % inelastic_data(i + 1) % e_out(n_energy_out)
-
- E_1 = E_i_1 + f * (E_i1_1 - E_i_1)
- E_J = E_i_J + f * (E_i1_J - E_i_J)
-
- ! Determine outgoing energy bin
- ! (First reset n_energy_out to the right value)
- n_energy_out = sab % inelastic_data(l) % n_e_out
- r1 = prn()
- c_j = sab % inelastic_data(l) % e_out_cdf(1)
- do j = 1, n_energy_out - 1
- c_j1 = sab % inelastic_data(l) % e_out_cdf(j + 1)
- if (r1 < c_j1) exit
- c_j = c_j1
- end do
-
- ! check to make sure k is <= n_energy_out - 1
- j = min(j, n_energy_out - 1)
-
- ! Get the data to interpolate between
- E_l_j = sab % inelastic_data(l) % e_out(j)
- p_l_j = sab % inelastic_data(l) % e_out_pdf(j)
-
- ! Next part assumes linear-linear interpolation in standard
- E_l_j1 = sab % inelastic_data(l) % e_out(j + 1)
- p_l_j1 = sab % inelastic_data(l) % e_out_pdf(j + 1)
-
- ! Find secondary energy (variable E)
- frac = (p_l_j1 - p_l_j) / (E_l_j1 - E_l_j)
- if (frac == ZERO) then
- E = E_l_j + (r1 - c_j) / p_l_j
- else
- E = E_l_j + (sqrt(max(ZERO, p_l_j * p_l_j + &
- TWO * frac * (r1 - c_j))) - p_l_j) / frac
- end if
-
- ! Now interpolate between incident energy bins i and i + 1
- if (l == i) then
- E = E_1 + (E - E_i_1) * (E_J - E_1) / (E_i_J - E_i_1)
- else
- E = E_1 + (E - E_i1_1) * (E_J - E_1) / (E_i1_J - E_i1_1)
- end if
-
- ! Find angular distribution for closest outgoing energy bin
- if (r1 - c_j < c_j1 - r1) then
- j = j
- else
- j = j + 1
- end if
-
- ! Sample outgoing cosine bin
- k = 1 + int(prn() * sab % n_inelastic_mu)
-
- ! Will use mu from the randomly chosen incoming and closest outgoing
- ! energy bins
- mu = sab % inelastic_data(l) % mu(k, j)
+ ! Outgoing energy is same as incoming energy -- no need to do anything
else
- call fatal_error("Invalid secondary energy mode on S(a,b) table " &
- &// trim(sab % name))
- end if ! (inelastic secondary energy treatment)
- end if ! (elastic or inelastic)
+ ! Perform inelastic calculations
+
+ ! Get index and interpolation factor for inelastic grid
+ if (E < sab % inelastic_e_in(1)) then
+ i = 1
+ f = ZERO
+ else
+ i = binary_search(sab % inelastic_e_in, sab % n_inelastic_e_in, E)
+ f = (E - sab%inelastic_e_in(i)) / &
+ (sab%inelastic_e_in(i+1) - sab%inelastic_e_in(i))
+ end if
+
+ ! Now that we have an incoming energy bin, we need to determine the
+ ! outgoing energy bin. This will depend on the "secondary energy
+ ! mode". If the mode is 0, then the outgoing energy bin is chosen from a
+ ! set of equally-likely bins. If the mode is 1, then the first
+ ! two and last two bins are skewed to have lower probabilities than the
+ ! other bins (0.1 for the first and last bins and 0.4 for the second and
+ ! second to last bins, relative to a normal bin probability of 1).
+ ! Finally, if the mode is 2, then a continuous distribution (with
+ ! accompanying PDF and CDF is utilized)
+
+ if ((sab_tables(i_sab) % secondary_mode == SAB_SECONDARY_EQUAL) .or. &
+ (sab_tables(i_sab) % secondary_mode == SAB_SECONDARY_SKEWED)) then
+ if (sab_tables(i_sab) % secondary_mode == SAB_SECONDARY_EQUAL) then
+ ! All bins equally likely
+
+ j = 1 + int(prn() * sab % n_inelastic_e_out)
+ elseif (sab_tables(i_sab) % secondary_mode == SAB_SECONDARY_SKEWED) then
+ ! Distribution skewed away from edge points
+
+ ! Determine number of outgoing energy and angle bins
+ n_energy_out = sab % n_inelastic_e_out
+
+ r = prn() * (n_energy_out - 3)
+ if (r > ONE) then
+ ! equally likely N-4 middle bins
+ j = int(r) + 2
+ elseif (r > 0.6_8) then
+ ! second to last bin has relative probability of 0.4
+ j = n_energy_out - 1
+ elseif (r > HALF) then
+ ! last bin has relative probability of 0.1
+ j = n_energy_out
+ elseif (r > 0.1_8) then
+ ! second bin has relative probability of 0.4
+ j = 2
+ else
+ ! first bin has relative probability of 0.1
+ j = 1
+ end if
+ end if
+
+ ! Determine outgoing energy corresponding to E_in(i) and E_in(i+1)
+ E_ij = sab % inelastic_e_out(j,i)
+ E_i1j = sab % inelastic_e_out(j,i+1)
+
+ ! Outgoing energy
+ E = (1 - f)*E_ij + f*E_i1j
+
+ ! Sample outgoing cosine bin
+ k = 1 + int(prn() * sab % n_inelastic_mu)
+
+ ! Determine outgoing cosine corresponding to E_in(i) and E_in(i+1)
+ mu_ijk = sab % inelastic_mu(k,j,i)
+ mu_i1jk = sab % inelastic_mu(k,j,i+1)
+
+ ! Cosine of angle between incoming and outgoing neutron
+ mu = (1 - f)*mu_ijk + f*mu_i1jk
+
+ else if (sab_tables(i_sab) % secondary_mode == SAB_SECONDARY_CONT) then
+ ! Continuous secondary energy - this is to be similar to
+ ! Law 61 interpolation on outgoing energy
+
+ ! Sample between ith and (i+1)th bin
+ r = prn()
+ if (f > r) then
+ l = i + 1
+ else
+ l = i
+ end if
+
+ ! Determine endpoints on grid i
+ n_energy_out = sab % inelastic_data(i) % n_e_out
+ E_i_1 = sab % inelastic_data(i) % e_out(1)
+ E_i_J = sab % inelastic_data(i) % e_out(n_energy_out)
+
+ ! Determine endpoints on grid i + 1
+ n_energy_out = sab % inelastic_data(i + 1) % n_e_out
+ E_i1_1 = sab % inelastic_data(i + 1) % e_out(1)
+ E_i1_J = sab % inelastic_data(i + 1) % e_out(n_energy_out)
+
+ E_1 = E_i_1 + f * (E_i1_1 - E_i_1)
+ E_J = E_i_J + f * (E_i1_J - E_i_J)
+
+ ! Determine outgoing energy bin
+ ! (First reset n_energy_out to the right value)
+ n_energy_out = sab % inelastic_data(l) % n_e_out
+ r1 = prn()
+ c_j = sab % inelastic_data(l) % e_out_cdf(1)
+ do j = 1, n_energy_out - 1
+ c_j1 = sab % inelastic_data(l) % e_out_cdf(j + 1)
+ if (r1 < c_j1) exit
+ c_j = c_j1
+ end do
+
+ ! check to make sure k is <= n_energy_out - 1
+ j = min(j, n_energy_out - 1)
+
+ ! Get the data to interpolate between
+ E_l_j = sab % inelastic_data(l) % e_out(j)
+ p_l_j = sab % inelastic_data(l) % e_out_pdf(j)
+
+ ! Next part assumes linear-linear interpolation in standard
+ E_l_j1 = sab % inelastic_data(l) % e_out(j + 1)
+ p_l_j1 = sab % inelastic_data(l) % e_out_pdf(j + 1)
+
+ ! Find secondary energy (variable E)
+ frac = (p_l_j1 - p_l_j) / (E_l_j1 - E_l_j)
+ if (frac == ZERO) then
+ E = E_l_j + (r1 - c_j) / p_l_j
+ else
+ E = E_l_j + (sqrt(max(ZERO, p_l_j * p_l_j + &
+ TWO * frac * (r1 - c_j))) - p_l_j) / frac
+ end if
+
+ ! Now interpolate between incident energy bins i and i + 1
+ if (l == i) then
+ E = E_1 + (E - E_i_1) * (E_J - E_1) / (E_i_J - E_i_1)
+ else
+ E = E_1 + (E - E_i1_1) * (E_J - E_1) / (E_i1_J - E_i1_1)
+ end if
+
+ ! Find angular distribution for closest outgoing energy bin
+ if (r1 - c_j < c_j1 - r1) then
+ j = j
+ else
+ j = j + 1
+ end if
+
+ ! Sample outgoing cosine bin
+ k = 1 + int(prn() * sab % n_inelastic_mu)
+
+ ! Will use mu from the randomly chosen incoming and closest outgoing
+ ! energy bins
+ mu = sab % inelastic_data(l) % mu(k, j)
+
+ else
+ call fatal_error("Invalid secondary energy mode on S(a,b) table " &
+ // trim(sab_tables(i_sab) % name))
+ end if ! (inelastic secondary energy treatment)
+ end if ! (elastic or inelastic)
+ end associate
! Because of floating-point roundoff, it may be possible for mu to be
! outside of the range [-1,1). In these cases, we just set mu to exactly
@@ -741,19 +759,19 @@ contains
! implemented here.
!===============================================================================
- subroutine sample_target_velocity(nuc, v_target, E, uvw, v_neut, wgt, xs_eff)
+ subroutine sample_target_velocity(nuc, v_target, E, uvw, v_neut, wgt, xs_eff, kT)
type(Nuclide), intent(in) :: nuc ! target nuclide at temperature T
real(8), intent(out) :: v_target(3) ! target velocity
- real(8), intent(in) :: v_neut(3) ! neutron velocity
real(8), intent(in) :: E ! particle energy
real(8), intent(in) :: uvw(3) ! direction cosines
+ real(8), intent(in) :: v_neut(3) ! neutron velocity
real(8), intent(inout) :: wgt ! particle weight
+ real(8), intent(in) :: xs_eff ! effective elastic xs at temperature T
+ real(8), intent(in) :: kT ! equilibrium temperature of target in MeV
real(8) :: awr ! target/neutron mass ratio
- real(8) :: kT ! equilibrium temperature of target in MeV
real(8) :: E_rel ! trial relative energy
real(8) :: xs_0K ! 0K xs at E_rel
- real(8) :: xs_eff ! effective elastic xs at temperature T
real(8) :: wcf ! weight correction factor
real(8) :: E_red ! reduced energy (same as used by Cullen in SIGMA1)
real(8) :: E_low ! lowest practical relative energy
@@ -782,7 +800,6 @@ contains
character(80) :: sampling_scheme ! method of target velocity sampling
- kT = nuc % kT
awr = nuc % awr
! check if nuclide is a resonant scatterer
@@ -817,12 +834,12 @@ contains
case ('cxs')
! sample target velocity with the constant cross section (cxs) approx.
- call sample_cxs_target_velocity(nuc, v_target, E, uvw)
+ call sample_cxs_target_velocity(nuc, v_target, E, uvw, kT)
case ('wcm')
! sample target velocity with the constant cross section (cxs) approx.
- call sample_cxs_target_velocity(nuc, v_target, E, uvw)
+ call sample_cxs_target_velocity(nuc, v_target, E, uvw, kT)
! adjust weight as prescribed by the weight correction method (wcm)
E_rel = dot_product((v_neut - v_target), (v_neut - v_target))
@@ -874,7 +891,7 @@ contains
do
! sample target velocity with the constant cross section (cxs) approx.
- call sample_cxs_target_velocity(nuc, v_target, E, uvw)
+ call sample_cxs_target_velocity(nuc, v_target, E, uvw, kT)
! perform Doppler broadening rejection correction (dbrc)
E_rel = dot_product((v_neut - v_target), (v_neut - v_target))
@@ -986,13 +1003,13 @@ contains
! can be found in FRA-TM-123.
!===============================================================================
- subroutine sample_cxs_target_velocity(nuc, v_target, E, uvw)
+ subroutine sample_cxs_target_velocity(nuc, v_target, E, uvw, kT)
type(Nuclide), intent(in) :: nuc ! target nuclide at temperature
real(8), intent(out) :: v_target(3)
real(8), intent(in) :: E
real(8), intent(in) :: uvw(3)
+ real(8), intent(in) :: kT ! equilibrium temperature of target in MeV
- real(8) :: kT ! equilibrium temperature of target in MeV
real(8) :: awr ! target/neutron mass ratio
real(8) :: alpha ! probability of sampling f2 over f1
real(8) :: mu ! cosine of angle between neutron and target vel
@@ -1004,7 +1021,6 @@ contains
real(8) :: beta_vt_sq ! (beta * speed of target)^2
real(8) :: vt ! speed of target
- kT = nuc % kT
awr = nuc % awr
beta_vn = sqrt(awr * E / kT)
diff --git a/src/reaction_header.F90 b/src/reaction_header.F90
index c0501d43ea..a7896e9ff3 100644
--- a/src/reaction_header.F90
+++ b/src/reaction_header.F90
@@ -7,6 +7,7 @@ module reaction_header
use hdf5_interface, only: read_attribute, open_group, close_group, &
open_dataset, read_dataset, close_dataset, get_shape
use product_header, only: ReactionProduct
+ use stl_vector, only: VectorInt
use string, only: to_str, starts_with
implicit none
@@ -16,12 +17,16 @@ module reaction_header
! distributions for a single reaction in a continuous-energy ACE-format table
!===============================================================================
+ type TemperatureXS
+ integer :: threshold ! Energy grid index of threshold
+ real(8), allocatable :: value(:) ! Cross section values
+ end type TemperatureXS
+
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(TemperatureXS), allocatable :: xs(:)
type(ReactionProduct), allocatable :: products(:)
contains
procedure :: from_hdf5 => reaction_from_hdf5
@@ -29,10 +34,10 @@ module reaction_header
contains
- subroutine reaction_from_hdf5(this, group_id, temperature)
+ subroutine reaction_from_hdf5(this, group_id, temperatures)
class(Reaction), intent(inout) :: this
integer(HID_T), intent(in) :: group_id
- character(6), intent(in) :: temperature
+ type(VectorInt), intent(in) :: temperatures
integer :: i
integer :: cm
@@ -42,11 +47,12 @@ contains
integer :: n_links
integer :: hdf5_err
integer(HID_T) :: pgroup
- integer(HID_T) :: xs, xs_group
+ integer(HID_T) :: xs, temp_group
integer(SIZE_T) :: name_len
integer(HSIZE_T) :: dims(1)
integer(HSIZE_T) :: j
character(MAX_WORD_LEN) :: name
+ character(MAX_WORD_LEN) :: temp_str ! temperature dataset name, e.g. '294K'
call read_attribute(this % Q_value, group_id, 'Q_value')
call read_attribute(this % MT, group_id, 'mt')
@@ -54,14 +60,18 @@ contains
this % scatter_in_cm = (cm == 1)
! Read cross section and threshold_idx data
- xs_group = open_group(group_id, temperature)
- xs = open_dataset(xs_group, 'xs')
- call read_attribute(this % threshold, xs, 'threshold_idx')
- call get_shape(xs, dims)
- allocate(this % sigma(dims(1)))
- call read_dataset(this % sigma, xs)
- call close_dataset(xs)
- call close_group(xs_group)
+ allocate(this % xs(temperatures % size()))
+ do i = 1, temperatures % size()
+ temp_str = trim(to_str(temperatures % data(i))) // "K"
+ temp_group = open_group(group_id, temp_str)
+ xs = open_dataset(temp_group, 'xs')
+ call read_attribute(this % xs(i) % threshold, xs, 'threshold_idx')
+ call get_shape(xs, dims)
+ allocate(this % xs(i) % value(dims(1)))
+ call read_dataset(this % xs(i) % value, xs)
+ call close_dataset(xs)
+ call close_group(temp_group)
+ end do
! Determine number of products
call h5gget_info_f(group_id, storage_type, n_links, max_corder, hdf5_err)
diff --git a/src/relaxng/materials.rnc b/src/relaxng/materials.rnc
index 4d1b217db0..c5f4efd6f3 100644
--- a/src/relaxng/materials.rnc
+++ b/src/relaxng/materials.rnc
@@ -4,7 +4,7 @@ element materials {
(element name { xsd:string { maxLength="52" } } |
attribute name { xsd:string { maxLength="52" } })? &
- element temperature { xsd:string { maxLength = "6" } }? &
+ element temperature { xsd:double }? &
element density {
(element value { xsd:double } | attribute value { xsd:double })? &
@@ -41,7 +41,5 @@ element materials {
element sab {
(element name { xsd:string } | attribute name { xsd:string })
}*
- }+ &
-
- element default_temperature { xsd:string { maxLength = "6" } }?
+ }+
}
diff --git a/src/relaxng/materials.rng b/src/relaxng/materials.rng
index 20b7b86ecb..3c92dc94a4 100644
--- a/src/relaxng/materials.rng
+++ b/src/relaxng/materials.rng
@@ -1,197 +1,186 @@
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
+ 52
+
-
-
+
+
+ 52
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
- 52
+ 10
-
+
- 52
+ 10
-
-
-
-
- 6
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
+ data
+ iso-in-lab
+
-
-
+
+
+ data
+ iso-in-lab
+
-
-
- 10
-
-
-
-
- 10
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- data
- iso-in-lab
-
-
-
-
- data
- iso-in-lab
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+ 2
+
-
+
+ 2
+
-
-
-
-
-
+
-
-
- 2
-
+
+
+ data
+ iso-in-lab
+
-
-
- 2
-
+
+
+ data
+ iso-in-lab
+
-
-
-
-
- data
- iso-in-lab
-
-
-
-
- data
- iso-in-lab
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
- 6
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/relaxng/settings.rnc b/src/relaxng/settings.rnc
index c554dfa753..70550a40f7 100644
--- a/src/relaxng/settings.rnc
+++ b/src/relaxng/settings.rnc
@@ -128,6 +128,12 @@ element settings {
element survival_biasing { xsd:boolean }? &
+ element temperature_default { xsd:double }? &
+
+ element temperature_method { xsd:string }? &
+
+ element temperature_tolerance { xsd:double }? &
+
element threads { xsd:positiveInteger }? &
element trace { list { xsd:positiveInteger+ } }? &
diff --git a/src/relaxng/settings.rng b/src/relaxng/settings.rng
index 0719bcbc66..246c78e68d 100644
--- a/src/relaxng/settings.rng
+++ b/src/relaxng/settings.rng
@@ -565,6 +565,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/sab_header.F90 b/src/sab_header.F90
index 5facd3fc3f..c8619efa32 100644
--- a/src/sab_header.F90
+++ b/src/sab_header.F90
@@ -2,14 +2,17 @@ module sab_header
use, intrinsic :: ISO_FORTRAN_ENV
+ use algorithm, only: find, sort
use constants
+ use dict_header, only: DictIntInt
use distribution_univariate, only: Tabular
- use error, only: warning
+ use error, only: warning, fatal_error
use hdf5, only: HID_T, HSIZE_T, SIZE_T
use h5lt, only: h5ltpath_valid_f, h5iget_name_f
use hdf5_interface, only: read_attribute, get_shape, open_group, close_group, &
open_dataset, read_dataset, close_dataset, get_datasets
use secondary_correlated, only: CorrelatedAngleEnergy
+ use stl_vector, only: VectorInt, VectorReal
use string, only: to_str, str_to_int
implicit none
@@ -33,13 +36,7 @@ module sab_header
! of light isotopes such as water, graphite, Be, etc
!===============================================================================
- type SAlphaBeta
- character(100) :: name ! name of table, e.g. lwtr.10t
- real(8) :: awr ! weight of nucleus in neutron masses
- real(8) :: kT ! temperature in MeV (k*T)
- integer :: n_zaid ! Number of valid zaids
- integer, allocatable :: zaid(:) ! List of valid Z and A identifiers, e.g. 6012
-
+ type SabData
! threshold for S(a,b) treatment (usually ~4 eV)
real(8) :: threshold_inelastic
real(8) :: threshold_elastic = ZERO
@@ -48,7 +45,6 @@ module sab_header
integer :: n_inelastic_e_in ! # of incoming E for inelastic
integer :: n_inelastic_e_out ! # of outgoing E for inelastic
integer :: n_inelastic_mu ! # of outgoing angles for inelastic
- integer :: secondary_mode ! secondary mode (equal/skewed/continuous)
real(8), allocatable :: inelastic_e_in(:)
real(8), allocatable :: inelastic_sigma(:)
! The following are used only if secondary_mode is 0 or 1
@@ -67,101 +63,35 @@ module sab_header
real(8), allocatable :: elastic_e_in(:)
real(8), allocatable :: elastic_P(:)
real(8), allocatable :: elastic_mu(:,:)
+ end type SabData
+
+ type SAlphaBeta
+ character(100) :: name ! name of table, e.g. lwtr.10t
+ real(8) :: awr ! weight of nucleus in neutron masses
+ real(8), allocatable :: kTs(:) ! temperatures in MeV (k*T)
+ character(10), allocatable :: nuclides(:) ! List of valid nuclides
+ integer :: secondary_mode ! secondary mode (equal/skewed/continuous)
+
+ ! cross sections and distributions at each temperature
+ type(SabData), allocatable :: data(:)
contains
- procedure :: print => salphabeta_print
procedure :: from_hdf5 => salphabeta_from_hdf5
end type SAlphaBeta
contains
-!===============================================================================
-! PRINT_SAB_TABLE displays information about a S(a,b) table containing data
-! describing thermal scattering from bound materials such as hydrogen in water.
-!===============================================================================
-
- subroutine salphabeta_print(this, unit)
- class(SAlphaBeta), intent(in) :: this
- integer, intent(in), optional :: unit
-
- integer :: size_sab ! memory used by S(a,b) table
- integer :: unit_ ! unit to write to
- integer :: i ! Loop counter for parsing through this % zaid
- integer :: char_count ! Counter for the number of characters on a line
-
- ! set default unit for writing information
- if (present(unit)) then
- unit_ = unit
- else
- unit_ = OUTPUT_UNIT
- end if
-
- ! Basic S(a,b) table information
- write(unit_,*) 'S(a,b) Table ' // trim(this % name)
- write(unit_,'(A)',advance="no") ' zaids = '
- ! Initialize the counter based on the above string
- char_count = 11
- do i = 1, this % n_zaid
- ! Deal with a line thats too long
- if (char_count >= 73) then ! 73 = 80 - (5 ZAID chars + 1 space + 1 comma)
- ! End the line
- write(unit_,*) ""
- ! Add 11 leading blanks
- write(unit_,'(A)', advance="no") " "
- ! reset the counter to 11
- char_count = 11
- end if
- if (i < this % n_zaid) then
- ! Include a comma
- write(unit_,'(A)',advance="no") trim(to_str(this % zaid(i))) // ", "
- char_count = char_count + len(trim(to_str(this % zaid(i)))) + 2
- else
- ! Don't include a comma, since we are all done
- write(unit_,'(A)',advance="no") trim(to_str(this % zaid(i)))
- end if
-
- end do
- write(unit_,*) "" ! Move to next line
- write(unit_,*) ' awr = ' // trim(to_str(this % awr))
- write(unit_,*) ' kT = ' // trim(to_str(this % kT))
-
- ! Inelastic data
- write(unit_,*) ' # of Incoming Energies (Inelastic) = ' // &
- trim(to_str(this % n_inelastic_e_in))
- write(unit_,*) ' # of Outgoing Energies (Inelastic) = ' // &
- trim(to_str(this % n_inelastic_e_out))
- write(unit_,*) ' # of Outgoing Angles (Inelastic) = ' // &
- trim(to_str(this % n_inelastic_mu))
- write(unit_,*) ' Threshold for Inelastic = ' // &
- trim(to_str(this % threshold_inelastic))
-
- ! Elastic data
- if (this % n_elastic_e_in > 0) then
- write(unit_,*) ' # of Incoming Energies (Elastic) = ' // &
- trim(to_str(this % n_elastic_e_in))
- write(unit_,*) ' # of Outgoing Angles (Elastic) = ' // &
- trim(to_str(this % n_elastic_mu))
- write(unit_,*) ' Threshold for Elastic = ' // &
- trim(to_str(this % threshold_elastic))
- end if
-
- ! Determine memory used by S(a,b) table and write out
- size_sab = 8 * (this % n_inelastic_e_in * (2 + this % n_inelastic_e_out * &
- (1 + this % n_inelastic_mu)) + this % n_elastic_e_in * &
- (2 + this % n_elastic_mu))
- write(unit_,*) ' Memory Used = ' // trim(to_str(size_sab)) // ' bytes'
-
- ! Blank line at end
- write(unit_,*)
-
- end subroutine salphabeta_print
-
- subroutine salphabeta_from_hdf5(this, group_id, temperature)
+ subroutine salphabeta_from_hdf5(this, group_id, temperature, tolerance)
class(SAlphaBeta), intent(inout) :: this
integer(HID_T), intent(in) :: group_id
- character(6), intent(in) :: temperature
+ type(VectorReal), intent(in) :: temperature ! list of temperatures
+ real(8), intent(in) :: tolerance
integer :: i, j
+ integer :: n
+ integer :: t
integer :: n_energy, n_energy_out, n_mu
+ integer :: i_closest
+ integer :: n_temperature
integer :: hdf5_err
integer(SIZE_T) :: name_len, name_file_len
integer(HID_T) :: T_group
@@ -175,10 +105,13 @@ contains
character(20) :: type
logical :: exists
type(CorrelatedAngleEnergy) :: correlated_dist
- character(MAX_FILE_LEN), allocatable :: temperatures(:)
- integer, allocatable :: temperatures_integer(:)
- character(6) :: my_temperature
- integer :: temperature_integer
+
+ character(MAX_WORD_LEN) :: temp_str
+ character(MAX_FILE_LEN), allocatable :: dset_names(:)
+ real(8), allocatable :: temps_available(:) ! temperatures available
+ real(8) :: temp_desired
+ real(8) :: temp_actual
+ type(VectorInt) :: temps_to_read
! Get name of table from group
name_len = len(this % name)
@@ -188,7 +121,7 @@ contains
this % name = trim(this % name(2:))
call read_attribute(this % awr, group_id, 'atomic_weight_ratio')
- call read_attribute(this % zaid, group_id, 'zaids')
+ call read_attribute(this % nuclides, group_id, 'nuclides')
call read_attribute(type, group_id, 'secondary_mode')
select case (type)
case ('equal')
@@ -198,168 +131,185 @@ contains
case ('continuous')
this % secondary_mode = SAB_SECONDARY_CONT
end select
- this % n_zaid = size(this % zaid)
+
+ ! Read temperatures
kT_group = open_group(group_id, 'kTs')
- ! Before accessing the temperature data, see if the user-provied temperature
- ! exists. We can find this out by looking at the datasets within kT_group
- temperature_integer = &
- str_to_int(temperature(1: len_trim(adjustl(temperature)) - 1))
- call get_datasets(kT_group, temperatures)
- allocate(temperatures_integer(size(temperatures)))
- do i = 1, size(temperatures)
- temperatures_integer(i) = &
- str_to_int(temperatures(i)(1: len_trim(adjustl(temperatures(i))) - 1))
+ ! Determine temperatures available
+ call get_datasets(kT_group, dset_names)
+ allocate(temps_available(size(dset_names)))
+ do i = 1, size(dset_names)
+ ! Read temperature value
+ call read_dataset(temps_available(i), kT_group, trim(dset_names(i)))
+ temps_available(i) = temps_available(i) / K_BOLTZMANN
end do
- my_temperature = &
- temperatures(minloc(abs(temperature_integer - temperatures_integer), &
- dim=1))
- ! Now print a warning if there is no matching temperature and then use the
- ! closest temperature
- if (temperature /= my_temperature) then
- if (temperature == '0K') then
- call warning(trim(this % name) // " does not contain 0K data &
- &needed for the resonance scattering options selected")
+ ! Determine actual temperatures to read
+ TEMP_LOOP: do i = 1, temperature % size()
+ temp_desired = temperature % data(i)
+ i_closest = minloc(abs(temps_available - temp_desired), dim=1)
+ temp_actual = temps_available(i_closest)
+ if (abs(temp_actual - temp_desired) < tolerance) then
+ if (find(temps_to_read, nint(temp_actual)) == -1) then
+ call temps_to_read % push_back(nint(temp_actual))
+ end if
else
- call warning(trim(this % name) // " does not contain data at a &
- &temperature of " // trim(temperature) // "; using the &
- &nearest available temperature of " // trim(my_temperature))
+ call fatal_error("Nuclear data library does not contain cross sections &
+ &for " // trim(this % name) // " at or near " // &
+ trim(to_str(nint(temp_desired))) // " K.")
end if
- end if
+ end do TEMP_LOOP
- kT_dset = open_dataset(kT_group, my_temperature)
- call read_dataset(this % kT, kT_dset)
- call close_dataset(kT_dset)
- call close_group(kT_group)
+ ! TODO: If using interpolation, add a block to add bounding temperatures for
+ ! each
- ! Open my_temperature group
- T_group = open_group(group_id, my_temperature)
+ ! Sort temperatures to read
+ call sort(temps_to_read)
- ! Coherent elastic data
- call h5ltpath_valid_f(T_group, 'elastic', .true., exists, hdf5_err)
- if (exists) then
- ! Read cross section data
- elastic_group = open_group(T_group, 'elastic')
- dset_id = open_dataset(elastic_group, 'xs')
- call read_attribute(type, dset_id, 'type')
- call get_shape(dset_id, dims2)
- allocate(temp(dims2(1), dims2(2)))
- call read_dataset(temp, dset_id)
- call close_dataset(dset_id)
+ n_temperature = temps_to_read % size()
+ allocate(this % kTs(n_temperature))
+ allocate(this % data(n_temperature))
- ! Set cross section data and type
- this % n_elastic_e_in = int(dims2(1), 4)
- allocate(this % elastic_e_in(this % n_elastic_e_in))
- allocate(this % elastic_P(this % n_elastic_e_in))
- this % elastic_e_in(:) = temp(:, 1)
- this % elastic_P(:) = temp(:, 2)
- select case (type)
- case ('tab1')
- this % elastic_mode = SAB_ELASTIC_DISCRETE
- case ('bragg')
- this % elastic_mode = SAB_ELASTIC_EXACT
- end select
- deallocate(temp)
+ do t = 1, n_temperature
+ ! Get temperature as a string
+ temp_str = trim(to_str(temps_to_read % data(t))) // "K"
- ! Set elastic threshold
- this % threshold_elastic = this % elastic_e_in(this % n_elastic_e_in)
+ ! Read exact temperature value
+ call read_dataset(this % kTs(t), kT_group, temp_str)
- ! Read angle distribution
- if (this % elastic_mode /= SAB_ELASTIC_EXACT) then
- dset_id = open_dataset(elastic_group, 'mu_out')
+ ! Open group for temperature i
+ T_group = open_group(group_id, temp_str)
+
+ ! Coherent elastic data
+ call h5ltpath_valid_f(T_group, 'elastic', .true., exists, hdf5_err)
+ if (exists) then
+ ! Read cross section data
+ elastic_group = open_group(T_group, 'elastic')
+ dset_id = open_dataset(elastic_group, 'xs')
+ call read_attribute(type, dset_id, 'type')
call get_shape(dset_id, dims2)
- this % n_elastic_mu = int(dims2(1), 4)
- allocate(this % elastic_mu(dims2(1), dims2(2)))
- call read_dataset(this % elastic_mu, dset_id)
+ allocate(temp(dims2(1), dims2(2)))
+ call read_dataset(temp, dset_id)
call close_dataset(dset_id)
- end if
- call close_group(elastic_group)
- end if
+ ! Set cross section data and type
+ this % data(t) % n_elastic_e_in = int(dims2(1), 4)
+ allocate(this % data(t) % elastic_e_in(this % data(t) % n_elastic_e_in))
+ allocate(this % data(t) % elastic_P(this % data(t) % n_elastic_e_in))
+ this % data(t) % elastic_e_in(:) = temp(:, 1)
+ this % data(t) % elastic_P(:) = temp(:, 2)
+ select case (type)
+ case ('tab1')
+ this % data(t) % elastic_mode = SAB_ELASTIC_DISCRETE
+ case ('bragg')
+ this % data(t) % elastic_mode = SAB_ELASTIC_EXACT
+ end select
+ deallocate(temp)
- ! Inelastic data
- call h5ltpath_valid_f(T_group, 'inelastic', .true., exists, hdf5_err)
- if (exists) then
- ! Read type of inelastic data
- inelastic_group = open_group(T_group, 'inelastic')
-
- ! Read cross section data
- dset_id = open_dataset(inelastic_group, 'xs')
- call get_shape(dset_id, dims2)
- allocate(temp(dims2(1), dims2(2)))
- call read_dataset(temp, dset_id)
- call close_dataset(dset_id)
-
- ! Set cross section data
- this % n_inelastic_e_in = int(dims2(1), 4)
- allocate(this % inelastic_e_in(this % n_inelastic_e_in))
- allocate(this % inelastic_sigma(this % n_inelastic_e_in))
- this % inelastic_e_in(:) = temp(:, 1)
- this % inelastic_sigma(:) = temp(:, 2)
- deallocate(temp)
-
- ! Set inelastic threshold
- this % threshold_inelastic = this % inelastic_e_in(this % n_inelastic_e_in)
-
- if (this % secondary_mode /= SAB_SECONDARY_CONT) then
- ! Read energy distribution
- dset_id = open_dataset(inelastic_group, 'energy_out')
- call get_shape(dset_id, dims2)
- this % n_inelastic_e_out = int(dims2(1), 4)
- allocate(this % inelastic_e_out(dims2(1), dims2(2)))
- call read_dataset(this % inelastic_e_out, dset_id)
- call close_dataset(dset_id)
+ ! Set elastic threshold
+ this % data(t) % threshold_elastic = this % data(t) % elastic_e_in(&
+ this % data(t) % n_elastic_e_in)
! Read angle distribution
- dset_id = open_dataset(inelastic_group, 'mu_out')
- call get_shape(dset_id, dims3)
- this % n_inelastic_mu = int(dims3(1), 4)
- allocate(this % inelastic_mu(dims3(1), dims3(2), dims3(3)))
- call read_dataset(this % inelastic_mu, dset_id)
- call close_dataset(dset_id)
- else
- ! Read correlated angle-energy distribution
- call correlated_dist % from_hdf5(inelastic_group)
+ if (this % data(t) % elastic_mode /= SAB_ELASTIC_EXACT) then
+ dset_id = open_dataset(elastic_group, 'mu_out')
+ call get_shape(dset_id, dims2)
+ this % data(t) % n_elastic_mu = int(dims2(1), 4)
+ allocate(this % data(t) % elastic_mu(dims2(1), dims2(2)))
+ call read_dataset(this % data(t) % elastic_mu, dset_id)
+ call close_dataset(dset_id)
+ end if
- ! Convert to S(a,b) native format
- n_energy = size(correlated_dist % energy)
- allocate(this % inelastic_data(n_energy))
- do i = 1, n_energy
- associate (edist => correlated_dist % distribution(i))
- ! Get number of outgoing energies for incoming energy i
- n_energy_out = size(edist % e_out)
- this % inelastic_data(i) % n_e_out = n_energy_out
- allocate(this % inelastic_data(i) % e_out(n_energy_out))
- allocate(this % inelastic_data(i) % e_out_pdf(n_energy_out))
- allocate(this % inelastic_data(i) % e_out_cdf(n_energy_out))
-
- ! Copy outgoing energy distribution
- this % inelastic_data(i) % e_out(:) = edist % e_out
- this % inelastic_data(i) % e_out_pdf(:) = edist % p
- this % inelastic_data(i) % e_out_cdf(:) = edist % c
-
- do j = 1, n_energy_out
- select type (adist => edist % angle(j) % obj)
- type is (Tabular)
- ! On first pass, allocate space for angles
- if (j == 1) then
- n_mu = size(adist % x)
- this % n_inelastic_mu = n_mu
- allocate(this % inelastic_data(i) % mu(n_mu, n_energy_out))
- end if
-
- ! Copy outgoing angles
- this % inelastic_data(i) % mu(:, j) = adist % x
- end select
- end do
- end associate
- end do
+ call close_group(elastic_group)
end if
- call close_group(inelastic_group)
- end if
- call close_group(T_group)
+ ! Inelastic data
+ call h5ltpath_valid_f(T_group, 'inelastic', .true., exists, hdf5_err)
+ if (exists) then
+ ! Read type of inelastic data
+ inelastic_group = open_group(T_group, 'inelastic')
+
+ ! Read cross section data
+ dset_id = open_dataset(inelastic_group, 'xs')
+ call get_shape(dset_id, dims2)
+ allocate(temp(dims2(1), dims2(2)))
+ call read_dataset(temp, dset_id)
+ call close_dataset(dset_id)
+
+ ! Set cross section data
+ this % data(t) % n_inelastic_e_in = int(dims2(1), 4)
+ allocate(this % data(t) % inelastic_e_in(this % data(t) % n_inelastic_e_in))
+ allocate(this % data(t) % inelastic_sigma(this % data(t) % n_inelastic_e_in))
+ this % data(t) % inelastic_e_in(:) = temp(:, 1)
+ this % data(t) % inelastic_sigma(:) = temp(:, 2)
+ deallocate(temp)
+
+ ! Set inelastic threshold
+ this % data(t) % threshold_inelastic = this % data(t) % inelastic_e_in(&
+ this % data(t) % n_inelastic_e_in)
+
+ if (this % secondary_mode /= SAB_SECONDARY_CONT) then
+ ! Read energy distribution
+ dset_id = open_dataset(inelastic_group, 'energy_out')
+ call get_shape(dset_id, dims2)
+ this % data(t) % n_inelastic_e_out = int(dims2(1), 4)
+ allocate(this % data(t) % inelastic_e_out(dims2(1), dims2(2)))
+ call read_dataset(this % data(t) % inelastic_e_out, dset_id)
+ call close_dataset(dset_id)
+
+ ! Read angle distribution
+ dset_id = open_dataset(inelastic_group, 'mu_out')
+ call get_shape(dset_id, dims3)
+ this % data(t) % n_inelastic_mu = int(dims3(1), 4)
+ allocate(this % data(t) % inelastic_mu(dims3(1), dims3(2), dims3(3)))
+ call read_dataset(this % data(t) % inelastic_mu, dset_id)
+ call close_dataset(dset_id)
+ else
+ ! Read correlated angle-energy distribution
+ call correlated_dist % from_hdf5(inelastic_group)
+
+ ! Convert to S(a,b) native format
+ n_energy = size(correlated_dist % energy)
+ allocate(this % data(t) % inelastic_data(n_energy))
+ do i = 1, n_energy
+ associate (edist => correlated_dist % distribution(i))
+ ! Get number of outgoing energies for incoming energy i
+ n_energy_out = size(edist % e_out)
+ this % data(t) % inelastic_data(i) % n_e_out = n_energy_out
+ allocate(this % data(t) % inelastic_data(i) % e_out(n_energy_out))
+ allocate(this % data(t) % inelastic_data(i) % e_out_pdf(n_energy_out))
+ allocate(this % data(t) % inelastic_data(i) % e_out_cdf(n_energy_out))
+
+ ! Copy outgoing energy distribution
+ this % data(t) % inelastic_data(i) % e_out(:) = edist % e_out
+ this % data(t) % inelastic_data(i) % e_out_pdf(:) = edist % p
+ this % data(t) % inelastic_data(i) % e_out_cdf(:) = edist % c
+
+ do j = 1, n_energy_out
+ select type (adist => edist % angle(j) % obj)
+ type is (Tabular)
+ ! On first pass, allocate space for angles
+ if (j == 1) then
+ n_mu = size(adist % x)
+ this % data(t) % n_inelastic_mu = n_mu
+ allocate(this % data(t) % inelastic_data(i) % mu(&
+ n_mu, n_energy_out))
+ end if
+
+ ! Copy outgoing angles
+ this % data(t) % inelastic_data(i) % mu(:, j) = adist % x
+ end select
+ end do
+ end associate
+ end do
+ end if
+
+ call close_group(inelastic_group)
+ end if
+ call close_group(T_group)
+ end do
+
+ call close_group(kT_group)
end subroutine salphabeta_from_hdf5
end module sab_header
diff --git a/src/scattdata_header.F90 b/src/scattdata_header.F90
index 2066b36b92..d4643a0721 100644
--- a/src/scattdata_header.F90
+++ b/src/scattdata_header.F90
@@ -1,10 +1,10 @@
module scattdata_header
+ use algorithm, only: binary_search
use constants
use error, only: fatal_error
use math
use random_lcg, only: prn
- use search, only: binary_search
implicit none
diff --git a/src/search.F90 b/src/search.F90
deleted file mode 100644
index f338105f4d..0000000000
--- a/src/search.F90
+++ /dev/null
@@ -1,143 +0,0 @@
-module search
-
- use constants
-
- implicit none
-
- integer, parameter :: MAX_ITERATION = 64
-
- interface binary_search
- module procedure binary_search_real, binary_search_int4, binary_search_int8
- end interface binary_search
-
-contains
-
-!===============================================================================
-! BINARY_SEARCH performs a binary search of an array to find where a specific
-! value lies in the array. This is used extensively for energy grid searching
-!===============================================================================
-
- pure function binary_search_real(array, n, val) result(array_index)
-
- integer, intent(in) :: n
- real(8), intent(in) :: array(n)
- real(8), intent(in) :: val
- integer :: array_index
-
- integer :: L
- integer :: R
- integer :: n_iteration
-
- L = 1
- R = n
-
- if (val < array(L) .or. val > array(R)) then
- array_index = -1
- return
- end if
-
- n_iteration = 0
- do while (R - L > 1)
- ! Find values at midpoint
- array_index = L + (R - L)/2
- if (val >= array(array_index)) then
- L = array_index
- else
- R = array_index
- end if
-
- ! check for large number of iterations
- n_iteration = n_iteration + 1
- if (n_iteration == MAX_ITERATION) then
- array_index = -2
- return
- end if
- end do
-
- array_index = L
-
- end function binary_search_real
-
- pure function binary_search_int4(array, n, val) result(array_index)
-
- integer, intent(in) :: n
- integer, intent(in) :: array(n)
- integer, intent(in) :: val
- integer :: array_index
-
- integer :: L
- integer :: R
- integer :: n_iteration
-
- L = 1
- R = n
-
- if (val < array(L) .or. val > array(R)) then
- array_index = -1
- return
- end if
-
- n_iteration = 0
- do while (R - L > 1)
- ! Find values at midpoint
- array_index = L + (R - L)/2
- if (val >= array(array_index)) then
- L = array_index
- else
- R = array_index
- end if
-
- ! check for large number of iterations
- n_iteration = n_iteration + 1
- if (n_iteration == MAX_ITERATION) then
- array_index = -2
- return
- end if
- end do
-
- array_index = L
-
- end function binary_search_int4
-
- pure function binary_search_int8(array, n, val) result(array_index)
-
- integer, intent(in) :: n
- integer(8), intent(in) :: array(n)
- integer(8), intent(in) :: val
- integer :: array_index
-
- integer :: L
- integer :: R
- integer :: n_iteration
-
- L = 1
- R = n
-
- if (val < array(L) .or. val > array(R)) then
- array_index = -1
- return
- end if
-
- n_iteration = 0
- do while (R - L > 1)
- ! Find values at midpoint
- array_index = L + (R - L)/2
- if (val >= array(array_index)) then
- L = array_index
- else
- R = array_index
- end if
-
- ! check for large number of iterations
- n_iteration = n_iteration + 1
- if (n_iteration == MAX_ITERATION) then
- array_index = -2
- return
- end if
- end do
-
- array_index = L
-
- end function binary_search_int8
-
-end module search
diff --git a/src/secondary_correlated.F90 b/src/secondary_correlated.F90
index e163fdcc24..a0e203f33d 100644
--- a/src/secondary_correlated.F90
+++ b/src/secondary_correlated.F90
@@ -2,13 +2,13 @@ module secondary_correlated
use hdf5, only: HID_T, HSIZE_T
+ use algorithm, only: binary_search
use angleenergy_header, only: AngleEnergy
use constants, only: ZERO, ONE, HALF, TWO, HISTOGRAM, LINEAR_LINEAR
use distribution_univariate, only: DistributionContainer, Tabular
use hdf5_interface, only: get_shape, read_attribute, open_dataset, &
read_dataset, close_dataset
use random_lcg, only: prn
- use search, only: binary_search
!===============================================================================
! CORRELATEDANGLEENERGY represents a correlated angle-energy distribution. This
diff --git a/src/secondary_kalbach.F90 b/src/secondary_kalbach.F90
index 4b5e690b5d..f963cff3ff 100644
--- a/src/secondary_kalbach.F90
+++ b/src/secondary_kalbach.F90
@@ -2,12 +2,12 @@ module secondary_kalbach
use hdf5, only: HID_T, HSIZE_T
+ use algorithm, only: binary_search
use angleenergy_header, only: AngleEnergy
use constants, only: ZERO, HALF, ONE, TWO, HISTOGRAM, LINEAR_LINEAR
use hdf5_interface, only: read_attribute, read_dataset, open_dataset, &
close_dataset, get_shape
use random_lcg, only: prn
- use search, only: binary_search
!===============================================================================
! KalbachMann represents a correlated angle-energy distribution with the angular
diff --git a/src/source.F90 b/src/source.F90
index 452d8ddfce..9aeccde156 100644
--- a/src/source.F90
+++ b/src/source.F90
@@ -1,5 +1,11 @@
module source
+ use hdf5, only: HID_T
+#ifdef MPI
+ use message_passing
+#endif
+
+ use algorithm, only: binary_search
use bank_header, only: Bank
use constants
use distribution_univariate, only: Discrete
@@ -12,17 +18,10 @@ module source
use output, only: write_message
use particle_header, only: Particle
use random_lcg, only: prn, set_particle_seed, prn_set_stream
- use search, only: binary_search
use string, only: to_str
use math
use state_point, only: read_source_bank, write_source_bank
-#ifdef MPI
- use message_passing
-#endif
-
- use hdf5, only: HID_T
-
implicit none
contains
diff --git a/src/summary.F90 b/src/summary.F90
index 5bd440ff31..cc0c517588 100644
--- a/src/summary.F90
+++ b/src/summary.F90
@@ -115,36 +115,31 @@ contains
integer :: i
character(12), allocatable :: nucnames(:)
real(8), allocatable :: awrs(:)
- integer, allocatable :: zaids(:)
! Write useful data from nuclide objects
nuclide_group = create_group(file_id, "nuclides")
call write_dataset(nuclide_group, "n_nuclides_total", n_nuclides_total)
- ! Build array of nuclide names, awrs, and zaids
+ ! Build array of nuclide names and awrs
allocate(nucnames(n_nuclides_total))
allocate(awrs(n_nuclides_total))
- allocate(zaids(n_nuclides_total))
do i = 1, n_nuclides_total
if (run_CE) then
nucnames(i) = nuclides(i) % name
awrs(i) = nuclides(i) % awr
- zaids(i) = nuclides(i) % zaid
else
nucnames(i) = nuclides_MG(i) % obj % name
awrs(i) = nuclides_MG(i) % obj % awr
- zaids(i) = nuclides_MG(i) % obj % zaid
end if
end do
- ! Write nuclide names, awrs and zaids
+ ! Write nuclide names and awrs
call write_dataset(nuclide_group, "names", nucnames)
call write_dataset(nuclide_group, "awrs", awrs)
- call write_dataset(nuclide_group, "zaids", zaids)
call close_group(nuclide_group)
- deallocate(nucnames, awrs, zaids)
+ deallocate(nucnames, awrs)
end subroutine write_nuclides
@@ -529,9 +524,6 @@ contains
! Write name for this material
call write_dataset(material_group, "name", m % name)
- ! Write temperature for this material
- call write_dataset(material_group, "temperature", m % temperature)
-
! Write atom density with units
call write_dataset(material_group, "atom_density", m % density)
call write_attribute_string(material_group, "atom_density", "units", &
diff --git a/src/tally.F90 b/src/tally.F90
index 3c3dc6a693..3cee65b965 100644
--- a/src/tally.F90
+++ b/src/tally.F90
@@ -1,5 +1,10 @@
module tally
+#ifdef MPI
+ use message_passing
+#endif
+
+ use algorithm, only: binary_search
use constants
use error, only: fatal_error
use geometry_header
@@ -11,15 +16,10 @@ module tally
use mesh_header, only: RegularMesh
use output, only: header
use particle_header, only: LocalCoord, Particle
- use search, only: binary_search
use string, only: to_str
use tally_header, only: TallyResult
use tally_filter
-#ifdef MPI
- use message_passing
-#endif
-
implicit none
integer :: position(N_FILTER_TYPES - 3) = 0 ! Tally map positioning array
@@ -88,6 +88,7 @@ contains
integer :: l ! loop index for nuclides in material
integer :: m ! loop index for reactions
integer :: q ! loop index for scoring bins
+ integer :: i_temp ! temperature index
integer :: i_nuc ! index in nuclides array (from material)
integer :: i_energy ! index in nuclide energy grid
integer :: score_bin ! scoring bin, e.g. SCORE_FLUX
@@ -887,16 +888,18 @@ contains
if (i_nuclide > 0) then
if (nuclides(i_nuclide)%reaction_index%has_key(score_bin)) then
m = nuclides(i_nuclide)%reaction_index%get_key(score_bin)
- associate (rxn => nuclides(i_nuclide) % reactions(m))
- ! Retrieve index on nuclide energy grid and interpolation
- ! factor
- i_energy = micro_xs(i_nuclide) % index_grid
- f = micro_xs(i_nuclide) % interp_factor
- if (i_energy >= rxn % threshold) then
- score = ((ONE - f) * rxn % sigma(i_energy - &
- rxn%threshold + 1) + f * rxn % sigma(i_energy - &
- rxn%threshold + 2)) * atom_density * flux
+ ! Retrieve temperature and energy grid index and interpolation
+ ! factor
+ i_temp = micro_xs(i_nuclide) % index_temp
+ i_energy = micro_xs(i_nuclide) % index_grid
+ f = micro_xs(i_nuclide) % interp_factor
+
+ associate (xs => nuclides(i_nuclide) % reactions(m) % xs(i_temp))
+ if (i_energy >= xs % threshold) then
+ score = ((ONE - f) * xs % value(i_energy - &
+ xs % threshold + 1) + f * xs % value(i_energy - &
+ xs % threshold + 2)) * atom_density * flux
end if
end associate
end if
@@ -911,15 +914,18 @@ contains
if (nuclides(i_nuc)%reaction_index%has_key(score_bin)) then
m = nuclides(i_nuc)%reaction_index%get_key(score_bin)
- associate (rxn => nuclides(i_nuc) % reactions(m))
- ! Retrieve index on nuclide energy grid and interpolation
- ! factor
- i_energy = micro_xs(i_nuc) % index_grid
- f = micro_xs(i_nuc) % interp_factor
- if (i_energy >= rxn % threshold) then
- score = score + ((ONE - f) * rxn % sigma(i_energy - &
- rxn%threshold + 1) + f * rxn % sigma(i_energy - &
- rxn%threshold + 2)) * atom_density_ * flux
+
+ ! Retrieve temperature and energy grid index and interpolation
+ ! factor
+ i_temp = micro_xs(i_nuc) % index_temp
+ i_energy = micro_xs(i_nuc) % index_grid
+ f = micro_xs(i_nuc) % interp_factor
+
+ associate (xs => nuclides(i_nuc) % reactions(m) % xs(i_temp))
+ if (i_energy >= xs % threshold) then
+ score = score + ((ONE - f) * xs % value(i_energy - &
+ xs % threshold + 1) + f * xs % value(i_energy - &
+ xs % threshold + 2)) * atom_density_ * flux
end if
end associate
end if
diff --git a/src/tally_filter.F90 b/src/tally_filter.F90
index 67d0452847..bd568e29ae 100644
--- a/src/tally_filter.F90
+++ b/src/tally_filter.F90
@@ -1,5 +1,6 @@
module tally_filter
+ use algorithm, only: binary_search
use constants, only: ONE, NO_BIN_FOUND, FP_PRECISION
use dict_header, only: DictIntInt
use geometry_header, only: BASE_UNIVERSE, RectLattice, HexLattice
@@ -10,7 +11,6 @@ module tally_filter
get_mesh_indices, mesh_indices_to_bin, &
mesh_intersects_2d, mesh_intersects_3d
use particle_header, only: Particle
- use search, only: binary_search
use string, only: to_str
use tally_filter_header, only: TallyFilter, TallyFilterContainer
diff --git a/src/tracking.F90 b/src/tracking.F90
index 69fb78c354..f2613146e4 100644
--- a/src/tracking.F90
+++ b/src/tracking.F90
@@ -84,9 +84,10 @@ contains
! Calculate microscopic and macroscopic cross sections
if (run_CE) then
- ! If the material is the same as the last material and the energy of the
- ! particle hasn't changed, we don't need to lookup cross sections again.
- if (p % material /= p % last_material) call calculate_xs(p)
+ ! If the material is the same as the last material and the temperature
+ ! hasn't changed, we don't need to lookup cross sections again.
+ if (p % material /= p % last_material .or. &
+ p % sqrtkT /= p % last_sqrtkT) call calculate_xs(p)
else
! Since the MGXS can be angle dependent, this needs to be done
! After every collision for the MGXS mode
diff --git a/tests/test_cmfd_feed/materials.xml b/tests/test_cmfd_feed/materials.xml
index f773d83d04..70580e3a8d 100644
--- a/tests/test_cmfd_feed/materials.xml
+++ b/tests/test_cmfd_feed/materials.xml
@@ -1,9 +1,7 @@
-294K
-
-
+
diff --git a/tests/test_cmfd_nofeed/materials.xml b/tests/test_cmfd_nofeed/materials.xml
index f773d83d04..70580e3a8d 100644
--- a/tests/test_cmfd_nofeed/materials.xml
+++ b/tests/test_cmfd_nofeed/materials.xml
@@ -1,9 +1,7 @@
-294K
-
-
+
diff --git a/tests/test_complex_cell/materials.xml b/tests/test_complex_cell/materials.xml
index 857626d5a6..6edf0a5f9c 100644
--- a/tests/test_complex_cell/materials.xml
+++ b/tests/test_complex_cell/materials.xml
@@ -1,8 +1,6 @@
- 294K
-
diff --git a/tests/test_confidence_intervals/materials.xml b/tests/test_confidence_intervals/materials.xml
index e1124a3038..0965c8783c 100644
--- a/tests/test_confidence_intervals/materials.xml
+++ b/tests/test_confidence_intervals/materials.xml
@@ -2,7 +2,7 @@
- 294K
+ 294
diff --git a/tests/test_density/materials.xml b/tests/test_density/materials.xml
index 53a7b0fcbb..7b49233ed7 100644
--- a/tests/test_density/materials.xml
+++ b/tests/test_density/materials.xml
@@ -1,8 +1,6 @@
- 294K
-
diff --git a/tests/test_eigenvalue_genperbatch/materials.xml b/tests/test_eigenvalue_genperbatch/materials.xml
index 37cfcdc6ed..2472a74717 100644
--- a/tests/test_eigenvalue_genperbatch/materials.xml
+++ b/tests/test_eigenvalue_genperbatch/materials.xml
@@ -1,8 +1,6 @@
- 294K
-
diff --git a/tests/test_eigenvalue_no_inactive/materials.xml b/tests/test_eigenvalue_no_inactive/materials.xml
index 37cfcdc6ed..2472a74717 100644
--- a/tests/test_eigenvalue_no_inactive/materials.xml
+++ b/tests/test_eigenvalue_no_inactive/materials.xml
@@ -1,8 +1,6 @@
- 294K
-
diff --git a/tests/test_energy_grid/materials.xml b/tests/test_energy_grid/materials.xml
index 2946a8d609..87a3b8fe1c 100644
--- a/tests/test_energy_grid/materials.xml
+++ b/tests/test_energy_grid/materials.xml
@@ -1,8 +1,6 @@
- 294K
-
diff --git a/tests/test_energy_grid/settings.xml b/tests/test_energy_grid/settings.xml
index f925356a91..1e4b5937b8 100644
--- a/tests/test_energy_grid/settings.xml
+++ b/tests/test_energy_grid/settings.xml
@@ -1,7 +1,7 @@
- nuclide
+ 2000010
diff --git a/tests/test_energy_laws/materials.xml b/tests/test_energy_laws/materials.xml
index e7acd32e2b..e63f4018c3 100644
--- a/tests/test_energy_laws/materials.xml
+++ b/tests/test_energy_laws/materials.xml
@@ -1,6 +1,5 @@
- 294K
diff --git a/tests/test_entropy/materials.xml b/tests/test_entropy/materials.xml
index 37cfcdc6ed..2472a74717 100644
--- a/tests/test_entropy/materials.xml
+++ b/tests/test_entropy/materials.xml
@@ -1,8 +1,6 @@
- 294K
-
diff --git a/tests/test_filter_distribcell/case-1/materials.xml b/tests/test_filter_distribcell/case-1/materials.xml
index afd4b05b76..e7108b477f 100644
--- a/tests/test_filter_distribcell/case-1/materials.xml
+++ b/tests/test_filter_distribcell/case-1/materials.xml
@@ -1,8 +1,6 @@
- 294K
-
diff --git a/tests/test_filter_distribcell/case-2/materials.xml b/tests/test_filter_distribcell/case-2/materials.xml
index afd4b05b76..794d410a32 100644
--- a/tests/test_filter_distribcell/case-2/materials.xml
+++ b/tests/test_filter_distribcell/case-2/materials.xml
@@ -1,9 +1,6 @@
- 294K
-
-
diff --git a/tests/test_filter_distribcell/case-3/materials.xml b/tests/test_filter_distribcell/case-3/materials.xml
index f03693e524..5889122717 100644
--- a/tests/test_filter_distribcell/case-3/materials.xml
+++ b/tests/test_filter_distribcell/case-3/materials.xml
@@ -1,8 +1,6 @@
- 294K
-
diff --git a/tests/test_filter_distribcell/case-4/materials.xml b/tests/test_filter_distribcell/case-4/materials.xml
index 15cf0c54b9..2eb744fe64 100644
--- a/tests/test_filter_distribcell/case-4/materials.xml
+++ b/tests/test_filter_distribcell/case-4/materials.xml
@@ -1,7 +1,5 @@
- 294K
-
diff --git a/tests/test_filter_mesh_2d/materials.xml b/tests/test_filter_mesh_2d/materials.xml
index bead58f8b2..8021f5f99e 100644
--- a/tests/test_filter_mesh_2d/materials.xml
+++ b/tests/test_filter_mesh_2d/materials.xml
@@ -1,8 +1,6 @@
- 294K
-
diff --git a/tests/test_filter_mesh_3d/materials.xml b/tests/test_filter_mesh_3d/materials.xml
index bead58f8b2..8021f5f99e 100644
--- a/tests/test_filter_mesh_3d/materials.xml
+++ b/tests/test_filter_mesh_3d/materials.xml
@@ -1,8 +1,6 @@
- 294K
-
diff --git a/tests/test_fixed_source/materials.xml b/tests/test_fixed_source/materials.xml
index cfd0efd6c3..6e4249da32 100644
--- a/tests/test_fixed_source/materials.xml
+++ b/tests/test_fixed_source/materials.xml
@@ -1,8 +1,6 @@
- 294K
-
diff --git a/tests/test_fixed_source/settings.xml b/tests/test_fixed_source/settings.xml
index 8a0ddb251e..1e9b85d5a8 100644
--- a/tests/test_fixed_source/settings.xml
+++ b/tests/test_fixed_source/settings.xml
@@ -6,6 +6,8 @@
100
+ 294
+
diff --git a/tests/test_infinite_cell/materials.xml b/tests/test_infinite_cell/materials.xml
index 8bd6c820b3..6acd8df74b 100644
--- a/tests/test_infinite_cell/materials.xml
+++ b/tests/test_infinite_cell/materials.xml
@@ -1,8 +1,6 @@
- 294K
-
diff --git a/tests/test_lattice/materials.xml b/tests/test_lattice/materials.xml
index 91772da798..971f5c5480 100644
--- a/tests/test_lattice/materials.xml
+++ b/tests/test_lattice/materials.xml
@@ -10,8 +10,6 @@
===============================================================
-->
- 294K
-
diff --git a/tests/test_lattice_hex/materials.xml b/tests/test_lattice_hex/materials.xml
index 90b79b7b49..c7649fcf9a 100644
--- a/tests/test_lattice_hex/materials.xml
+++ b/tests/test_lattice_hex/materials.xml
@@ -1,9 +1,7 @@
- 294K
-
-
+
@@ -11,7 +9,7 @@
-
+
@@ -19,7 +17,7 @@
-
+
@@ -29,7 +27,7 @@
-
+
diff --git a/tests/test_lattice_mixed/materials.xml b/tests/test_lattice_mixed/materials.xml
index 90b79b7b49..c7649fcf9a 100644
--- a/tests/test_lattice_mixed/materials.xml
+++ b/tests/test_lattice_mixed/materials.xml
@@ -1,9 +1,7 @@
- 294K
-
-
+
@@ -11,7 +9,7 @@
-
+
@@ -19,7 +17,7 @@
-
+
@@ -29,7 +27,7 @@
-
+
diff --git a/tests/test_lattice_multiple/materials.xml b/tests/test_lattice_multiple/materials.xml
index bead58f8b2..8021f5f99e 100644
--- a/tests/test_lattice_multiple/materials.xml
+++ b/tests/test_lattice_multiple/materials.xml
@@ -1,8 +1,6 @@
- 294K
-
diff --git a/tests/test_multipole/inputs_true.dat b/tests/test_multipole/inputs_true.dat
index 5498e68738..930be95361 100644
--- a/tests/test_multipole/inputs_true.dat
+++ b/tests/test_multipole/inputs_true.dat
@@ -1 +1 @@
-2ad86dbb798ab68b45ca535fed3bd848625e0a2b79c68d11db91b14c74b8a48ed4d0129de7e6f6b6b7e9cb47a55d45aadca5ef535dc8a18cb881dddfc74d0bbb
\ No newline at end of file
+8462e17d102259b3a48a7e908bc75038a28a19d4a5e8bd38f26579e5baf3998bc2d05d1d3055ac1ed478d0c01bd64868d654919c2e6ca3fea86d79f03eda25ef
\ No newline at end of file
diff --git a/tests/test_multipole/results_true.dat b/tests/test_multipole/results_true.dat
index d138fa16a9..4d379b3f40 100644
--- a/tests/test_multipole/results_true.dat
+++ b/tests/test_multipole/results_true.dat
@@ -1,5 +1,5 @@
k-combined:
-1.457760E+00 1.119659E-02
+1.425673E+00 1.779969E-02
Cell
ID = 11
Name =
diff --git a/tests/test_multipole/test_multipole.py b/tests/test_multipole/test_multipole.py
index 812f5b6d0f..a44489aa5a 100644
--- a/tests/test_multipole/test_multipole.py
+++ b/tests/test_multipole/test_multipole.py
@@ -7,7 +7,6 @@ import openmc
from openmc.stats import Box
from openmc.source import Source
-
class MultipoleTestHarness(PyAPITestHarness):
def _build_inputs(self):
####################
@@ -24,29 +23,20 @@ class MultipoleTestHarness(PyAPITestHarness):
dense_fuel.add_nuclide('U235', 1.0)
mats_file = openmc.Materials([moderator, dense_fuel])
- mats_file.default_temperature = '294K'
mats_file.export_to_xml()
-
####################
# Geometry
####################
- c1 = openmc.Cell(cell_id=1)
- c1.fill = moderator
- mod_univ = openmc.Universe(universe_id=1)
- mod_univ.add_cell(c1)
+ c1 = openmc.Cell(cell_id=1, fill=moderator)
+ mod_univ = openmc.Universe(universe_id=1, cells=(c1,))
r0 = openmc.ZCylinder(R=0.3)
- c11 = openmc.Cell(cell_id=11)
- c11.region = -r0
- c11.fill = dense_fuel
+ c11 = openmc.Cell(cell_id=11, fill=dense_fuel, region=-r0)
c11.temperature = [500, 0, 700, 800]
- c12 = openmc.Cell(cell_id=12)
- c12.region = +r0
- c12.fill = moderator
- fuel_univ = openmc.Universe(universe_id=11)
- fuel_univ.add_cells((c11, c12))
+ c12 = openmc.Cell(cell_id=12, fill=moderator, region=+r0)
+ fuel_univ = openmc.Universe(universe_id=11, cells=(c11, c12))
lat = openmc.RectLattice(lattice_id=101)
lat.dimension = [2, 2]
@@ -61,17 +51,12 @@ class MultipoleTestHarness(PyAPITestHarness):
y1 = openmc.YPlane(y0=3.0)
for s in [x0, x1, y0, y1]:
s.boundary_type = 'reflective'
- c101 = openmc.Cell(cell_id=101)
- c101.region = +x0 & -x1 & +y0 & -y1
- c101.fill = lat
- root_univ = openmc.Universe(universe_id=0)
- root_univ.add_cell(c101)
+ c101 = openmc.Cell(cell_id=101, fill=lat, region=+x0 & -x1 & +y0 & -y1)
+ root_univ = openmc.Universe(universe_id=0, cells=(c101,))
- geometry = openmc.Geometry()
- geometry.root_universe = root_univ
+ geometry = openmc.Geometry(root_univ)
geometry.export_to_xml()
-
####################
# Settings
####################
@@ -82,10 +67,9 @@ class MultipoleTestHarness(PyAPITestHarness):
sets_file.particles = 1000
sets_file.source = Source(space=Box([-1, -1, -1], [1, 1, 1]))
sets_file.output = {'summary': True}
- sets_file.use_windowed_multipole=True
+ sets_file.temperature = {'method': 'multipole'}
sets_file.export_to_xml()
-
####################
# Plots
####################
diff --git a/tests/test_natural_element/materials.xml b/tests/test_natural_element/materials.xml
index 543b5351d8..6568951f43 100644
--- a/tests/test_natural_element/materials.xml
+++ b/tests/test_natural_element/materials.xml
@@ -3,8 +3,6 @@
- 294K
-
diff --git a/tests/test_output/materials.xml b/tests/test_output/materials.xml
index 37cfcdc6ed..2472a74717 100644
--- a/tests/test_output/materials.xml
+++ b/tests/test_output/materials.xml
@@ -1,8 +1,6 @@
- 294K
-
diff --git a/tests/test_output/settings.xml b/tests/test_output/settings.xml
index fef5e2fcf1..e2f3fc0186 100644
--- a/tests/test_output/settings.xml
+++ b/tests/test_output/settings.xml
@@ -1,7 +1,7 @@
-
+
10
diff --git a/tests/test_output/test_output.py b/tests/test_output/test_output.py
index 8e36ead808..81f8f42c8a 100644
--- a/tests/test_output/test_output.py
+++ b/tests/test_output/test_output.py
@@ -19,10 +19,6 @@ class OutputTestHarness(TestHarness):
assert summary[0].endswith('h5'),\
'Summary file is not a HDF5 file.'
- # Check for the cross sections.
- assert os.path.exists(os.path.join(os.getcwd(), 'cross_sections.out')),\
- 'Cross section output file does not exist.'
-
def _cleanup(self):
TestHarness._cleanup(self)
output = glob.glob(os.path.join(os.getcwd(), 'summary.*'))
diff --git a/tests/test_particle_restart_eigval/materials.xml b/tests/test_particle_restart_eigval/materials.xml
index 301efd2bd1..3aa37fca6c 100644
--- a/tests/test_particle_restart_eigval/materials.xml
+++ b/tests/test_particle_restart_eigval/materials.xml
@@ -1,8 +1,6 @@
- 294K
-
diff --git a/tests/test_particle_restart_fixed/materials.xml b/tests/test_particle_restart_fixed/materials.xml
index 95afc39990..f3851d7ef1 100644
--- a/tests/test_particle_restart_fixed/materials.xml
+++ b/tests/test_particle_restart_fixed/materials.xml
@@ -1,8 +1,6 @@
- 294K
-
diff --git a/tests/test_plot/materials.xml b/tests/test_plot/materials.xml
index 0d5ee77cef..90b3542675 100644
--- a/tests/test_plot/materials.xml
+++ b/tests/test_plot/materials.xml
@@ -1,8 +1,6 @@
- 294K
-
diff --git a/tests/test_ptables_off/materials.xml b/tests/test_ptables_off/materials.xml
index 37cfcdc6ed..2472a74717 100644
--- a/tests/test_ptables_off/materials.xml
+++ b/tests/test_ptables_off/materials.xml
@@ -1,8 +1,6 @@
- 294K
-
diff --git a/tests/test_quadric_surfaces/materials.xml b/tests/test_quadric_surfaces/materials.xml
index baf523b34c..f687683837 100644
--- a/tests/test_quadric_surfaces/materials.xml
+++ b/tests/test_quadric_surfaces/materials.xml
@@ -1,8 +1,6 @@
- 294K
-
diff --git a/tests/test_reflective_plane/materials.xml b/tests/test_reflective_plane/materials.xml
index 37cfcdc6ed..2472a74717 100644
--- a/tests/test_reflective_plane/materials.xml
+++ b/tests/test_reflective_plane/materials.xml
@@ -1,8 +1,6 @@
- 294K
-
diff --git a/tests/test_resonance_scattering/inputs_true.dat b/tests/test_resonance_scattering/inputs_true.dat
index ba59e03f59..7b515cd1cc 100644
--- a/tests/test_resonance_scattering/inputs_true.dat
+++ b/tests/test_resonance_scattering/inputs_true.dat
@@ -1 +1 @@
-dea135e820f605cf7a7f8d184330d2dd093cbcd2d53a71198819cb4dc7c455809dbb37eff79538d9b35d19932bd88b555ba833f32d01fa8d5289840b2250f72a
\ No newline at end of file
+15d4ce20d34fbafc757689f1a1f014c42b25efd1cac6bbefdd284c5c1af8bca264c75055fef719441655a61201d0ef098c82cacaa2aeea2b410d3006e983a942
\ No newline at end of file
diff --git a/tests/test_resonance_scattering/test_resonance_scattering.py b/tests/test_resonance_scattering/test_resonance_scattering.py
index 0e34a4a4cd..3daf5a3870 100644
--- a/tests/test_resonance_scattering/test_resonance_scattering.py
+++ b/tests/test_resonance_scattering/test_resonance_scattering.py
@@ -9,16 +9,21 @@ import openmc
class ResonanceScatteringTestHarness(PyAPITestHarness):
def _build_inputs(self):
+ # Nuclides
+ u238 = openmc.Nuclide('U238')
+ u235 = openmc.Nuclide('U235')
+ pu239 = openmc.Nuclide('Pu239')
+ h1 = openmc.Nuclide('H1')
+
# Materials
mat = openmc.Material(material_id=1)
mat.set_density('g/cc', 1.0)
- mat.add_nuclide('U238', 1.0)
- mat.add_nuclide('U235', 0.02)
- mat.add_nuclide('Pu239', 0.02)
- mat.add_nuclide('H1', 20.0)
+ mat.add_nuclide(u238, 1.0)
+ mat.add_nuclide(u235, 0.02)
+ mat.add_nuclide(pu239, 0.02)
+ mat.add_nuclide(h1, 20.0)
mats_file = openmc.Materials([mat])
- mats_file.default_temperature = '294K'
mats_file.export_to_xml()
# Geometry
@@ -37,29 +42,9 @@ class ResonanceScatteringTestHarness(PyAPITestHarness):
geometry.export_to_xml()
# Settings
- nuclide = openmc.Nuclide('U238')
- 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('U235')
- 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('Pu239')
- 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
+ res_scatt_dbrc = openmc.ResonanceScattering(u238, 'DBRC', 1e-6, 210e-6)
+ res_scatt_wcm = openmc.ResonanceScattering(u235, 'WCM', 1e-6, 210e-6)
+ res_scatt_ares = openmc.ResonanceScattering(pu239, 'ARES', 1e-6, 210e-6)
sets_file = openmc.Settings()
sets_file.batches = 10
diff --git a/tests/test_rotation/materials.xml b/tests/test_rotation/materials.xml
index 37cfcdc6ed..2472a74717 100644
--- a/tests/test_rotation/materials.xml
+++ b/tests/test_rotation/materials.xml
@@ -1,8 +1,6 @@
- 294K
-
diff --git a/tests/test_salphabeta/materials.xml b/tests/test_salphabeta/materials.xml
index 0d250e7b47..bfe0a6224d 100644
--- a/tests/test_salphabeta/materials.xml
+++ b/tests/test_salphabeta/materials.xml
@@ -1,8 +1,6 @@
- 294K
-
diff --git a/tests/test_score_current/materials.xml b/tests/test_score_current/materials.xml
index bead58f8b2..8021f5f99e 100644
--- a/tests/test_score_current/materials.xml
+++ b/tests/test_score_current/materials.xml
@@ -1,8 +1,6 @@
- 294K
-
diff --git a/tests/test_seed/materials.xml b/tests/test_seed/materials.xml
index 37cfcdc6ed..2472a74717 100644
--- a/tests/test_seed/materials.xml
+++ b/tests/test_seed/materials.xml
@@ -1,8 +1,6 @@
- 294K
-
diff --git a/tests/test_source/inputs_true.dat b/tests/test_source/inputs_true.dat
index 5744adeebc..0c8f18194a 100644
--- a/tests/test_source/inputs_true.dat
+++ b/tests/test_source/inputs_true.dat
@@ -1 +1 @@
-29498faa9496b8eeeab79f6cb5a966cb03a54e9c3c7e9178e7cc132df575f1377aa780fa2684201c4becdf199f89c3e7c36a824a495e60359bc6fd30b02cad6f
\ No newline at end of file
+b791dc4a37d20599afe375d91a9c6da123d6579cdc3ae7093a4a464c82bce43f2349fc6828f0b5d9f6b11b8a1aa1031459cd19f2771277ef40d775fedb68c00f
\ No newline at end of file
diff --git a/tests/test_source/test_source.py b/tests/test_source/test_source.py
index f83e39974c..ce9012bc26 100644
--- a/tests/test_source/test_source.py
+++ b/tests/test_source/test_source.py
@@ -13,7 +13,7 @@ import openmc
class SourceTestHarness(PyAPITestHarness):
def _build_inputs(self):
- mat1 = openmc.Material(material_id=1, temperature='294K')
+ mat1 = openmc.Material(material_id=1, temperature='294')
mat1.set_density('g/cm3', 4.5)
mat1.add_nuclide(openmc.Nuclide('U235'), 1.0)
materials = openmc.Materials([mat1])
diff --git a/tests/test_source_file/materials.xml b/tests/test_source_file/materials.xml
index 37cfcdc6ed..2472a74717 100644
--- a/tests/test_source_file/materials.xml
+++ b/tests/test_source_file/materials.xml
@@ -1,8 +1,6 @@
- 294K
-
diff --git a/tests/test_sourcepoint_batch/materials.xml b/tests/test_sourcepoint_batch/materials.xml
index 37cfcdc6ed..2472a74717 100644
--- a/tests/test_sourcepoint_batch/materials.xml
+++ b/tests/test_sourcepoint_batch/materials.xml
@@ -1,8 +1,6 @@
- 294K
-
diff --git a/tests/test_sourcepoint_interval/materials.xml b/tests/test_sourcepoint_interval/materials.xml
index 37cfcdc6ed..2472a74717 100644
--- a/tests/test_sourcepoint_interval/materials.xml
+++ b/tests/test_sourcepoint_interval/materials.xml
@@ -1,8 +1,6 @@
- 294K
-
diff --git a/tests/test_sourcepoint_latest/materials.xml b/tests/test_sourcepoint_latest/materials.xml
index 37cfcdc6ed..2472a74717 100644
--- a/tests/test_sourcepoint_latest/materials.xml
+++ b/tests/test_sourcepoint_latest/materials.xml
@@ -1,8 +1,6 @@
- 294K
-
diff --git a/tests/test_sourcepoint_restart/materials.xml b/tests/test_sourcepoint_restart/materials.xml
index 37cfcdc6ed..2472a74717 100644
--- a/tests/test_sourcepoint_restart/materials.xml
+++ b/tests/test_sourcepoint_restart/materials.xml
@@ -1,8 +1,6 @@
- 294K
-
diff --git a/tests/test_statepoint_batch/materials.xml b/tests/test_statepoint_batch/materials.xml
index 37cfcdc6ed..2472a74717 100644
--- a/tests/test_statepoint_batch/materials.xml
+++ b/tests/test_statepoint_batch/materials.xml
@@ -1,8 +1,6 @@
- 294K
-
diff --git a/tests/test_statepoint_interval/materials.xml b/tests/test_statepoint_interval/materials.xml
index 37cfcdc6ed..2472a74717 100644
--- a/tests/test_statepoint_interval/materials.xml
+++ b/tests/test_statepoint_interval/materials.xml
@@ -1,8 +1,6 @@
- 294K
-
diff --git a/tests/test_statepoint_restart/materials.xml b/tests/test_statepoint_restart/materials.xml
index 37cfcdc6ed..2472a74717 100644
--- a/tests/test_statepoint_restart/materials.xml
+++ b/tests/test_statepoint_restart/materials.xml
@@ -1,8 +1,6 @@
- 294K
-
diff --git a/tests/test_statepoint_sourcesep/materials.xml b/tests/test_statepoint_sourcesep/materials.xml
index 37cfcdc6ed..2472a74717 100644
--- a/tests/test_statepoint_sourcesep/materials.xml
+++ b/tests/test_statepoint_sourcesep/materials.xml
@@ -1,8 +1,6 @@
- 294K
-
diff --git a/tests/test_survival_biasing/materials.xml b/tests/test_survival_biasing/materials.xml
index 03b2162b3b..f271ddee22 100644
--- a/tests/test_survival_biasing/materials.xml
+++ b/tests/test_survival_biasing/materials.xml
@@ -1,8 +1,6 @@
- 294K
-
diff --git a/tests/test_tally_assumesep/materials.xml b/tests/test_tally_assumesep/materials.xml
index bead58f8b2..8021f5f99e 100644
--- a/tests/test_tally_assumesep/materials.xml
+++ b/tests/test_tally_assumesep/materials.xml
@@ -1,8 +1,6 @@
- 294K
-
diff --git a/tests/test_tally_nuclides/materials.xml b/tests/test_tally_nuclides/materials.xml
index 5ac4f69424..1f89c7df61 100644
--- a/tests/test_tally_nuclides/materials.xml
+++ b/tests/test_tally_nuclides/materials.xml
@@ -1,8 +1,6 @@
- 294K
-
diff --git a/tests/test_trace/materials.xml b/tests/test_trace/materials.xml
index 37cfcdc6ed..2472a74717 100644
--- a/tests/test_trace/materials.xml
+++ b/tests/test_trace/materials.xml
@@ -1,8 +1,6 @@
- 294K
-
diff --git a/tests/test_track_output/materials.xml b/tests/test_track_output/materials.xml
index f31f61fc3c..5dc9a64755 100644
--- a/tests/test_track_output/materials.xml
+++ b/tests/test_track_output/materials.xml
@@ -1,8 +1,6 @@
- 294K
-
diff --git a/tests/test_translation/materials.xml b/tests/test_translation/materials.xml
index 37cfcdc6ed..2472a74717 100644
--- a/tests/test_translation/materials.xml
+++ b/tests/test_translation/materials.xml
@@ -1,8 +1,6 @@
- 294K
-
diff --git a/tests/test_trigger_batch_interval/materials.xml b/tests/test_trigger_batch_interval/materials.xml
index 5ac4f69424..1f89c7df61 100644
--- a/tests/test_trigger_batch_interval/materials.xml
+++ b/tests/test_trigger_batch_interval/materials.xml
@@ -1,8 +1,6 @@
- 294K
-
diff --git a/tests/test_trigger_no_batch_interval/materials.xml b/tests/test_trigger_no_batch_interval/materials.xml
index 5ac4f69424..1f89c7df61 100644
--- a/tests/test_trigger_no_batch_interval/materials.xml
+++ b/tests/test_trigger_no_batch_interval/materials.xml
@@ -1,8 +1,6 @@
- 294K
-
diff --git a/tests/test_trigger_no_status/materials.xml b/tests/test_trigger_no_status/materials.xml
index 5ac4f69424..1f89c7df61 100644
--- a/tests/test_trigger_no_status/materials.xml
+++ b/tests/test_trigger_no_status/materials.xml
@@ -1,8 +1,6 @@
- 294K
-
diff --git a/tests/test_trigger_tallies/materials.xml b/tests/test_trigger_tallies/materials.xml
index 5ac4f69424..1f89c7df61 100644
--- a/tests/test_trigger_tallies/materials.xml
+++ b/tests/test_trigger_tallies/materials.xml
@@ -1,8 +1,6 @@
- 294K
-
diff --git a/tests/test_triso/inputs_true.dat b/tests/test_triso/inputs_true.dat
index 3e29529450..4f58f14fbb 100644
--- a/tests/test_triso/inputs_true.dat
+++ b/tests/test_triso/inputs_true.dat
@@ -1 +1 @@
-b59af664a4db28471fbf7a19514eb1d61c9c890d2bfa83d23ed186ad0f23d8fa2115fb56c18212476183bcab78622622d8394ba97a19e300e0ed84acecdce3ca
\ No newline at end of file
+033b09236ffceab5f0f7860d4926e0a66f328c6dd6fa48b28d6237278d42f9e06a28f2368f273773e417b8177705bc9a5e3ef67335734e5f17ff9843b72a2357
\ No newline at end of file
diff --git a/tests/test_triso/results_true.dat b/tests/test_triso/results_true.dat
index ea7da21edf..15107e8c84 100644
--- a/tests/test_triso/results_true.dat
+++ b/tests/test_triso/results_true.dat
@@ -1,2 +1,2 @@
k-combined:
-1.662675E+00 1.475968E-02
+1.636336E+00 1.154000E-01
diff --git a/tests/test_triso/test_triso.py b/tests/test_triso/test_triso.py
index 04bd1322a9..386be00b36 100644
--- a/tests/test_triso/test_triso.py
+++ b/tests/test_triso/test_triso.py
@@ -60,24 +60,9 @@ class TRISOTestHarness(PyAPITestHarness):
inner_univ = openmc.Universe(cells=[c1, c2, c3, c4, c5])
outer_radius = 422.5*1e-4
- trisos = []
- random.seed(1)
- for i in range(100):
- # Randomly sample location
- lim = 0.5 - outer_radius*1.001
- x = random.uniform(-lim, lim)
- y = random.uniform(-lim, lim)
- z = random.uniform(-lim, lim)
- t = openmc.model.TRISO(outer_radius, inner_univ, (x, y, z))
-
- # Make sure TRISO doesn't overlap with another
- for tp in trisos:
- xp, yp, zp = tp.center
- distance = sqrt((x - xp)**2 + (y - yp)**2 + (z - zp)**2)
- if distance <= 2*outer_radius:
- break
- else:
- trisos.append(t)
+ trisos = openmc.model.pack_trisos(
+ radius=outer_radius, fill=inner_univ, domain_shape='cube',
+ domain_length=1., domain_center=(0., 0., 0.), n_particles=100)
# Define box to contain lattice
min_x = openmc.XPlane(x0=-0.5, boundary_type='reflective')
diff --git a/tests/test_uniform_fs/materials.xml b/tests/test_uniform_fs/materials.xml
index 37cfcdc6ed..2472a74717 100644
--- a/tests/test_uniform_fs/materials.xml
+++ b/tests/test_uniform_fs/materials.xml
@@ -1,8 +1,6 @@
- 294K
-
diff --git a/tests/test_union_energy_grids/geometry.xml b/tests/test_union_energy_grids/geometry.xml
deleted file mode 100644
index bc56030e18..0000000000
--- a/tests/test_union_energy_grids/geometry.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/tests/test_union_energy_grids/materials.xml b/tests/test_union_energy_grids/materials.xml
deleted file mode 100644
index 2946a8d609..0000000000
--- a/tests/test_union_energy_grids/materials.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
- 294K
-
-
-
-
-
-
-
-
-
diff --git a/tests/test_union_energy_grids/results_true.dat b/tests/test_union_energy_grids/results_true.dat
deleted file mode 100644
index 0a607592c8..0000000000
--- a/tests/test_union_energy_grids/results_true.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-k-combined:
-3.330789E-01 2.216495E-03
diff --git a/tests/test_union_energy_grids/settings.xml b/tests/test_union_energy_grids/settings.xml
deleted file mode 100644
index 1eb22241cc..0000000000
--- a/tests/test_union_energy_grids/settings.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
- union
-
-
- 10
- 5
- 1000
-
-
-
-
- -4 -4 -4 4 4 4
-
-
-
-
diff --git a/tests/test_union_energy_grids/test_union_energy_grids.py b/tests/test_union_energy_grids/test_union_energy_grids.py
deleted file mode 100644
index 2a595f3e66..0000000000
--- a/tests/test_union_energy_grids/test_union_energy_grids.py
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/usr/bin/env python
-
-import os
-import sys
-sys.path.insert(0, os.pardir)
-from testing_harness import TestHarness
-
-
-if __name__ == '__main__':
- harness = TestHarness('statepoint.10.*')
- harness.main()
diff --git a/tests/test_universe/materials.xml b/tests/test_universe/materials.xml
index 37cfcdc6ed..2472a74717 100644
--- a/tests/test_universe/materials.xml
+++ b/tests/test_universe/materials.xml
@@ -1,8 +1,6 @@
- 294K
-
diff --git a/tests/test_void/materials.xml b/tests/test_void/materials.xml
index 2a578e0ed4..f70c3a40f2 100644
--- a/tests/test_void/materials.xml
+++ b/tests/test_void/materials.xml
@@ -3,8 +3,6 @@
- 294K
-