Multigroup Cross Section Generation Part II: Advanced Features¶
This IPython Notebook illustrates the use of the openmc.mgxs
module to calculate multi-group cross sections for a heterogeneous fuel pin cell geometry. In particular, this Notebook illustrates the following features:
- Creation of multi-group cross sections on a heterogeneous geometry
- Calculation of cross sections on a nuclide-by-nuclide basis
- The use of `tally precision triggers <../io_formats/settings.rst#trigger-element>`__ with multi-group cross sections
- Built-in features for energy condensation in downstream data processing
- The use of the ``openmc.data`` module to plot continuous-energy vs. multi-group cross sections
- Validation of multi-group cross sections with `OpenMOC <https://mit-crpg.github.io/OpenMOC/>`__
Note: This Notebook was created using OpenMOC to verify the multi-group cross-sections generated by OpenMC. You must install OpenMOC on your system in order to run this Notebook in its entirety. In addition, this Notebook illustrates the use of Pandas DataFrames
to containerize multi-group cross section data.
Generate Input Files¶
[1]:
import numpy as np
import matplotlib.pyplot as plt
plt.style.use('seaborn-dark')
import openmoc
import openmc
import openmc.mgxs as mgxs
import openmc.data
from openmc.openmoc_compatible import get_openmoc_geometry
%matplotlib inline
First we need to define materials that will be used in the problem. We’ll create three distinct materials for water, clad and fuel.
[2]:
# 1.6% enriched fuel
fuel = openmc.Material(name='1.6% Fuel')
fuel.set_density('g/cm3', 10.31341)
fuel.add_nuclide('U235', 3.7503e-4)
fuel.add_nuclide('U238', 2.2625e-2)
fuel.add_nuclide('O16', 4.6007e-2)
# borated water
water = openmc.Material(name='Borated Water')
water.set_density('g/cm3', 0.740582)
water.add_nuclide('H1', 4.9457e-2)
water.add_nuclide('O16', 2.4732e-2)
# zircaloy
zircaloy = openmc.Material(name='Zircaloy')
zircaloy.set_density('g/cm3', 6.55)
zircaloy.add_nuclide('Zr90', 7.2758e-3)
With our materials, we can now create a Materials
object that can be exported to an actual XML file.
[3]:
# Instantiate a Materials collection
materials_file = openmc.Materials([fuel, water, zircaloy])
# Export to "materials.xml"
materials_file.export_to_xml()
Now let’s move on to the geometry. Our problem will have three regions for the fuel, the clad, and the surrounding coolant. The first step is to create the bounding surfaces – in this case two cylinders and six reflective planes.
[4]:
# Create cylinders for the fuel and clad
fuel_outer_radius = openmc.ZCylinder(x0=0.0, y0=0.0, r=0.39218)
clad_outer_radius = openmc.ZCylinder(x0=0.0, y0=0.0, r=0.45720)
# Create box to surround the geometry
box = openmc.model.rectangular_prism(1.26, 1.26, boundary_type='reflective')
With the surfaces defined, we can now create cells that are defined by intersections of half-spaces created by the surfaces.
[5]:
# Create a Universe to encapsulate a fuel pin
pin_cell_universe = openmc.Universe(name='1.6% Fuel Pin')
# Create fuel Cell
fuel_cell = openmc.Cell(name='1.6% Fuel')
fuel_cell.fill = fuel
fuel_cell.region = -fuel_outer_radius
pin_cell_universe.add_cell(fuel_cell)
# Create a clad Cell
clad_cell = openmc.Cell(name='1.6% Clad')
clad_cell.fill = zircaloy
clad_cell.region = +fuel_outer_radius & -clad_outer_radius
pin_cell_universe.add_cell(clad_cell)
# Create a moderator Cell
moderator_cell = openmc.Cell(name='1.6% Moderator')
moderator_cell.fill = water
moderator_cell.region = +clad_outer_radius & box
pin_cell_universe.add_cell(moderator_cell)
We now must create a geometry with the pin cell universe and export it to XML.
[6]:
# Create Geometry and set root Universe
openmc_geometry = openmc.Geometry(pin_cell_universe)
# Export to "geometry.xml"
openmc_geometry.export_to_xml()
Next, we must define simulation parameters. In this case, we will use 10 inactive batches and 40 active batches each with 10,000 particles.
[7]:
# OpenMC simulation parameters
batches = 50
inactive = 10
particles = 10000
# Instantiate a Settings object
settings_file = openmc.Settings()
settings_file.batches = batches
settings_file.inactive = inactive
settings_file.particles = particles
settings_file.output = {'tallies': True}
# Create an initial uniform spatial source distribution over fissionable zones
bounds = [-0.63, -0.63, -0.63, 0.63, 0.63, 0.63]
uniform_dist = openmc.stats.Box(bounds[:3], bounds[3:], only_fissionable=True)
settings_file.source = openmc.Source(space=uniform_dist)
# Activate tally precision triggers
settings_file.trigger_active = True
settings_file.trigger_max_batches = settings_file.batches * 4
# Export to "settings.xml"
settings_file.export_to_xml()
Now we are finally ready to make use of the openmc.mgxs
module to generate multi-group cross sections! First, let’s define “coarse” 2-group and “fine” 8-group structures using the built-in EnergyGroups
class.
[8]:
# Instantiate a "coarse" 2-group EnergyGroups object
coarse_groups = mgxs.EnergyGroups([0., 0.625, 20.0e6])
# Instantiate a "fine" 8-group EnergyGroups object
fine_groups = mgxs.EnergyGroups([0., 0.058, 0.14, 0.28,
0.625, 4.0, 5.53e3, 821.0e3, 20.0e6])
Now we will instantiate a variety of MGXS
objects needed to run an OpenMOC simulation to verify the accuracy of our cross sections. In particular, we define transport, fission, nu-fission, nu-scatter and chi cross sections for each of the three cells in the fuel pin with the 8-group structure as our energy groups.
[9]:
# Extract all Cells filled by Materials
openmc_cells = openmc_geometry.get_all_material_cells().values()
# Create dictionary to store multi-group cross sections for all cells
xs_library = {}
# Instantiate 8-group cross sections for each cell
for cell in openmc_cells:
xs_library[cell.id] = {}
xs_library[cell.id]['transport'] = mgxs.TransportXS(groups=fine_groups)
xs_library[cell.id]['fission'] = mgxs.FissionXS(groups=fine_groups)
xs_library[cell.id]['nu-fission'] = mgxs.FissionXS(groups=fine_groups, nu=True)
xs_library[cell.id]['nu-scatter'] = mgxs.ScatterMatrixXS(groups=fine_groups, nu=True)
xs_library[cell.id]['chi'] = mgxs.Chi(groups=fine_groups)
Next, we showcase the use of OpenMC’s tally precision trigger feature in conjunction with the openmc.mgxs
module. In particular, we will assign a tally trigger of 1E-2 on the standard deviation for each of the tallies used to compute multi-group cross sections.
[10]:
# Create a tally trigger for +/- 0.01 on each tally used to compute the multi-group cross sections
tally_trigger = openmc.Trigger('std_dev', 1e-2)
# Add the tally trigger to each of the multi-group cross section tallies
for cell in openmc_cells:
for mgxs_type in xs_library[cell.id]:
xs_library[cell.id][mgxs_type].tally_trigger = tally_trigger
Now, we must loop over all cells to set the cross section domains to the various cells - fuel, clad and moderator - included in the geometry. In addition, we will set each cross section to tally cross sections on a per-nuclide basis through the use of the MGXS
class’ boolean by_nuclide
instance attribute.
[11]:
# Instantiate an empty Tallies object
tallies_file = openmc.Tallies()
# Iterate over all cells and cross section types
for cell in openmc_cells:
for rxn_type in xs_library[cell.id]:
# Set the cross sections domain to the cell
xs_library[cell.id][rxn_type].domain = cell
# Tally cross sections by nuclide
xs_library[cell.id][rxn_type].by_nuclide = True
# Add OpenMC tallies to the tallies file for XML generation
for tally in xs_library[cell.id][rxn_type].tallies.values():
tallies_file.append(tally, merge=True)
# Export to "tallies.xml"
tallies_file.export_to_xml()
/home/romano/openmc/openmc/mixin.py:71: IDWarning: Another Filter instance already exists with id=53.
warn(msg, IDWarning)
/home/romano/openmc/openmc/mixin.py:71: IDWarning: Another Filter instance already exists with id=21.
warn(msg, IDWarning)
/home/romano/openmc/openmc/mixin.py:71: IDWarning: Another Filter instance already exists with id=2.
warn(msg, IDWarning)
/home/romano/openmc/openmc/mixin.py:71: IDWarning: Another Filter instance already exists with id=3.
warn(msg, IDWarning)
/home/romano/openmc/openmc/mixin.py:71: IDWarning: Another Filter instance already exists with id=4.
warn(msg, IDWarning)
/home/romano/openmc/openmc/mixin.py:71: IDWarning: Another Filter instance already exists with id=41.
warn(msg, IDWarning)
/home/romano/openmc/openmc/mixin.py:71: IDWarning: Another Filter instance already exists with id=15.
warn(msg, IDWarning)
Now we a have a complete set of inputs, so we can go ahead and run our simulation.
[12]:
# Run OpenMC
openmc.run()
%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%
############### %%%%%%%%%%%%%%%%%%%%%%%%
################## %%%%%%%%%%%%%%%%%%%%%%%
################### %%%%%%%%%%%%%%%%%%%%%%%
#################### %%%%%%%%%%%%%%%%%%%%%%
##################### %%%%%%%%%%%%%%%%%%%%%
###################### %%%%%%%%%%%%%%%%%%%%
####################### %%%%%%%%%%%%%%%%%%
####################### %%%%%%%%%%%%%%%%%
###################### %%%%%%%%%%%%%%%%%
#################### %%%%%%%%%%%%%%%%%
################# %%%%%%%%%%%%%%%%%
############### %%%%%%%%%%%%%%%%
############ %%%%%%%%%%%%%%%
######## %%%%%%%%%%%%%%
%%%%%%%%%%%
| The OpenMC Monte Carlo Code
Copyright | 2011-2019 MIT and OpenMC contributors
License | http://openmc.readthedocs.io/en/latest/license.html
Version | 0.11.0-dev
Git SHA1 | 61c911cffdae2406f9f4bc667a9a6954748bb70c
Date/Time | 2019-07-19 07:08:16
OpenMP Threads | 4
Reading settings XML file...
Reading cross sections XML file...
Reading materials XML file...
Reading geometry XML file...
Reading U235 from /opt/data/hdf5/nndc_hdf5_v15/U235.h5
Reading U238 from /opt/data/hdf5/nndc_hdf5_v15/U238.h5
Reading O16 from /opt/data/hdf5/nndc_hdf5_v15/O16.h5
Reading H1 from /opt/data/hdf5/nndc_hdf5_v15/H1.h5
Reading Zr90 from /opt/data/hdf5/nndc_hdf5_v15/Zr90.h5
Maximum neutron transport energy: 20000000.000000 eV for U235
Reading tallies XML file...
Writing summary.h5 file...
Initializing source particles...
====================> K EIGENVALUE SIMULATION <====================
Bat./Gen. k Average k
========= ======== ====================
1/1 1.20332
2/1 1.22209
3/1 1.24322
4/1 1.21622
5/1 1.25850
6/1 1.22581
7/1 1.21118
8/1 1.23377
9/1 1.24254
10/1 1.21241
11/1 1.21042
12/1 1.23539 1.22290 +/- 0.01249
13/1 1.22436 1.22339 +/- 0.00723
14/1 1.22888 1.22476 +/- 0.00529
15/1 1.22553 1.22491 +/- 0.00410
16/1 1.24194 1.22775 +/- 0.00439
17/1 1.24755 1.23058 +/- 0.00466
18/1 1.21117 1.22815 +/- 0.00471
19/1 1.22530 1.22784 +/- 0.00417
20/1 1.20762 1.22582 +/- 0.00424
21/1 1.20377 1.22381 +/- 0.00433
22/1 1.24305 1.22541 +/- 0.00426
23/1 1.22434 1.22533 +/- 0.00392
24/1 1.22937 1.22562 +/- 0.00364
25/1 1.22458 1.22555 +/- 0.00339
26/1 1.18978 1.22332 +/- 0.00388
27/1 1.20582 1.22229 +/- 0.00379
28/1 1.22719 1.22256 +/- 0.00358
29/1 1.21307 1.22206 +/- 0.00343
30/1 1.20915 1.22141 +/- 0.00331
31/1 1.22799 1.22173 +/- 0.00317
32/1 1.21251 1.22131 +/- 0.00305
33/1 1.20540 1.22062 +/- 0.00299
34/1 1.20052 1.21978 +/- 0.00299
35/1 1.24552 1.22081 +/- 0.00304
36/1 1.21685 1.22066 +/- 0.00293
37/1 1.22395 1.22078 +/- 0.00282
38/1 1.22379 1.22089 +/- 0.00272
39/1 1.20951 1.22049 +/- 0.00265
40/1 1.25199 1.22154 +/- 0.00277
41/1 1.23243 1.22190 +/- 0.00270
42/1 1.20973 1.22152 +/- 0.00264
43/1 1.24682 1.22228 +/- 0.00268
44/1 1.20694 1.22183 +/- 0.00263
45/1 1.22196 1.22183 +/- 0.00256
46/1 1.20687 1.22142 +/- 0.00252
47/1 1.22023 1.22139 +/- 0.00245
48/1 1.22204 1.22140 +/- 0.00239
49/1 1.22077 1.22139 +/- 0.00232
50/1 1.23166 1.22164 +/- 0.00228
Triggers unsatisfied, max unc./thresh. is 1.17623 for flux in tally 53
The estimated number of batches is 66
Creating state point statepoint.050.h5...
51/1 1.20071 1.22113 +/- 0.00228
Triggers unsatisfied, max unc./thresh. is 1.26577 for flux in tally 53
The estimated number of batches is 76
52/1 1.21423 1.22097 +/- 0.00223
Triggers unsatisfied, max unc./thresh. is 1.24 for flux in tally 53
The estimated number of batches is 75
53/1 1.25595 1.22178 +/- 0.00233
Triggers unsatisfied, max unc./thresh. is 1.2112 for flux in tally 53
The estimated number of batches is 74
54/1 1.21806 1.22170 +/- 0.00227
Triggers unsatisfied, max unc./thresh. is 1.18484 for flux in tally 53
The estimated number of batches is 72
55/1 1.22911 1.22186 +/- 0.00223
Triggers unsatisfied, max unc./thresh. is 1.1596 for flux in tally 53
The estimated number of batches is 71
56/1 1.23054 1.22205 +/- 0.00219
Triggers unsatisfied, max unc./thresh. is 1.13453 for flux in tally 53
The estimated number of batches is 70
57/1 1.19384 1.22145 +/- 0.00222
Triggers unsatisfied, max unc./thresh. is 1.11914 for flux in tally 53
The estimated number of batches is 69
58/1 1.20625 1.22114 +/- 0.00220
Triggers unsatisfied, max unc./thresh. is 1.11471 for flux in tally 53
The estimated number of batches is 70
59/1 1.21977 1.22111 +/- 0.00216
Triggers unsatisfied, max unc./thresh. is 1.10334 for flux in tally 53
The estimated number of batches is 70
60/1 1.20813 1.22085 +/- 0.00213
Triggers unsatisfied, max unc./thresh. is 1.09813 for flux in tally 53
The estimated number of batches is 71
61/1 1.22077 1.22085 +/- 0.00209
Triggers unsatisfied, max unc./thresh. is 1.10221 for flux in tally 53
The estimated number of batches is 72
62/1 1.21956 1.22082 +/- 0.00205
Triggers unsatisfied, max unc./thresh. is 1.11395 for flux in tally 53
The estimated number of batches is 75
63/1 1.22360 1.22087 +/- 0.00201
Triggers unsatisfied, max unc./thresh. is 1.09283 for flux in tally 53
The estimated number of batches is 74
64/1 1.23955 1.22122 +/- 0.00200
Triggers unsatisfied, max unc./thresh. is 1.07416 for flux in tally 53
The estimated number of batches is 73
65/1 1.21143 1.22104 +/- 0.00197
Triggers unsatisfied, max unc./thresh. is 1.06461 for flux in tally 53
The estimated number of batches is 73
66/1 1.21791 1.22099 +/- 0.00194
Triggers unsatisfied, max unc./thresh. is 1.13207 for flux in tally 53
The estimated number of batches is 82
67/1 1.24897 1.22148 +/- 0.00196
Triggers unsatisfied, max unc./thresh. is 1.11277 for flux in tally 53
The estimated number of batches is 81
68/1 1.22221 1.22149 +/- 0.00193
Triggers unsatisfied, max unc./thresh. is 1.09514 for flux in tally 53
The estimated number of batches is 80
69/1 1.25627 1.22208 +/- 0.00199
Triggers unsatisfied, max unc./thresh. is 1.07653 for flux in tally 53
The estimated number of batches is 79
70/1 1.21493 1.22196 +/- 0.00196
Triggers unsatisfied, max unc./thresh. is 1.12831 for flux in tally 53
The estimated number of batches is 87
71/1 1.23406 1.22216 +/- 0.00193
Triggers unsatisfied, max unc./thresh. is 1.11005 for flux in tally 53
The estimated number of batches is 86
72/1 1.23842 1.22242 +/- 0.00192
Triggers unsatisfied, max unc./thresh. is 1.09352 for flux in tally 53
The estimated number of batches is 85
73/1 1.24542 1.22279 +/- 0.00193
Triggers unsatisfied, max unc./thresh. is 1.08766 for flux in tally 53
The estimated number of batches is 85
74/1 1.21314 1.22263 +/- 0.00190
Triggers unsatisfied, max unc./thresh. is 1.07419 for flux in tally 53
The estimated number of batches is 84
75/1 1.26484 1.22328 +/- 0.00198
Triggers unsatisfied, max unc./thresh. is 1.06788 for flux in tally 53
The estimated number of batches is 85
76/1 1.22243 1.22327 +/- 0.00195
Triggers unsatisfied, max unc./thresh. is 1.05164 for flux in tally 53
The estimated number of batches is 83
77/1 1.21865 1.22320 +/- 0.00192
Triggers unsatisfied, max unc./thresh. is 1.04022 for flux in tally 53
The estimated number of batches is 83
78/1 1.23500 1.22338 +/- 0.00190
Triggers unsatisfied, max unc./thresh. is 1.0275 for flux in tally 53
The estimated number of batches is 82
79/1 1.22125 1.22334 +/- 0.00187
Triggers unsatisfied, max unc./thresh. is 1.0283 for flux in tally 53
The estimated number of batches is 83
80/1 1.23793 1.22355 +/- 0.00186
Triggers unsatisfied, max unc./thresh. is 1.01363 for flux in tally 53
The estimated number of batches is 82
81/1 1.24238 1.22382 +/- 0.00185
Triggers unsatisfied, max unc./thresh. is 1.01172 for flux in tally 53
The estimated number of batches is 83
82/1 1.23493 1.22397 +/- 0.00183
Triggers satisfied for batch 82
Creating state point statepoint.082.h5...
=======================> TIMING STATISTICS <=======================
Total time for initialization = 9.5644e-01 seconds
Reading cross sections = 9.0579e-01 seconds
Total time in simulation = 9.9887e+01 seconds
Time in transport only = 9.9333e+01 seconds
Time in inactive batches = 5.4841e+00 seconds
Time in active batches = 9.4403e+01 seconds
Time synchronizing fission bank = 7.3998e-02 seconds
Sampling source sites = 5.9021e-02 seconds
SEND/RECV source sites = 1.4787e-02 seconds
Time accumulating tallies = 1.2234e-03 seconds
Total time for finalization = 2.8416e-02 seconds
Total time elapsed = 1.0094e+02 seconds
Calculation Rate (inactive) = 18234.5 particles/second
Calculation Rate (active) = 7626.89 particles/second
============================> RESULTS <============================
k-effective (Collision) = 1.22348 +/- 0.00169
k-effective (Track-length) = 1.22397 +/- 0.00183
k-effective (Absorption) = 1.22467 +/- 0.00117
Combined k-effective = 1.22448 +/- 0.00108
Leakage Fraction = 0.00000 +/- 0.00000
Tally Data Processing¶
Our simulation ran successfully and created statepoint and summary output files. We begin our analysis by instantiating a StatePoint
object.
[13]:
# Load the last statepoint file
sp = openmc.StatePoint('statepoint.082.h5')
The statepoint is now ready to be analyzed by our multi-group cross sections. We simply have to load the tallies from the StatePoint
into each object as follows and our MGXS
objects will compute the cross sections for us under-the-hood.
[14]:
# Iterate over all cells and cross section types
for cell in openmc_cells:
for rxn_type in xs_library[cell.id]:
xs_library[cell.id][rxn_type].load_from_statepoint(sp)
That’s it! Our multi-group cross sections are now ready for the big spotlight. This time we have cross sections in three distinct spatial zones - fuel, clad and moderator - on a per-nuclide basis.
Extracting and Storing MGXS Data¶
Let’s first inspect one of our cross sections by printing it to the screen as a microscopic cross section in units of barns.
[15]:
nufission = xs_library[fuel_cell.id]['nu-fission']
nufission.print_xs(xs_type='micro', nuclides=['U235', 'U238'])
Multi-Group XS
Reaction Type = nu-fission
Domain Type = cell
Domain ID = 1
Nuclide = U235
Cross Sections [barns]:
Group 1 [821000.0 - 20000000.0eV]: 3.30e+00 +/- 2.14e-01%
Group 2 [5530.0 - 821000.0 eV]: 3.96e+00 +/- 1.33e-01%
Group 3 [4.0 - 5530.0 eV]: 5.50e+01 +/- 2.29e-01%
Group 4 [0.625 - 4.0 eV]: 8.85e+01 +/- 3.10e-01%
Group 5 [0.28 - 0.625 eV]: 2.90e+02 +/- 3.94e-01%
Group 6 [0.14 - 0.28 eV]: 4.49e+02 +/- 4.12e-01%
Group 7 [0.058 - 0.14 eV]: 6.87e+02 +/- 3.01e-01%
Group 8 [0.0 - 0.058 eV]: 1.44e+03 +/- 2.79e-01%
Nuclide = U238
Cross Sections [barns]:
Group 1 [821000.0 - 20000000.0eV]: 1.06e+00 +/- 2.53e-01%
Group 2 [5530.0 - 821000.0 eV]: 1.21e-03 +/- 2.60e-01%
Group 3 [4.0 - 5530.0 eV]: 5.73e-04 +/- 2.93e+00%
Group 4 [0.625 - 4.0 eV]: 6.54e-06 +/- 2.72e-01%
Group 5 [0.28 - 0.625 eV]: 1.07e-05 +/- 3.83e-01%
Group 6 [0.14 - 0.28 eV]: 1.55e-05 +/- 4.13e-01%
Group 7 [0.058 - 0.14 eV]: 2.30e-05 +/- 3.01e-01%
Group 8 [0.0 - 0.058 eV]: 4.24e-05 +/- 2.79e-01%
Our multi-group cross sections are capable of summing across all nuclides to provide us with macroscopic cross sections as well.
[16]:
nufission = xs_library[fuel_cell.id]['nu-fission']
nufission.print_xs(xs_type='macro', nuclides='sum')
Multi-Group XS
Reaction Type = nu-fission
Domain Type = cell
Domain ID = 1
Cross Sections [cm^-1]:
Group 1 [821000.0 - 20000000.0eV]: 2.52e-02 +/- 2.41e-01%
Group 2 [5530.0 - 821000.0 eV]: 1.51e-03 +/- 1.31e-01%
Group 3 [4.0 - 5530.0 eV]: 2.07e-02 +/- 2.29e-01%
Group 4 [0.625 - 4.0 eV]: 3.32e-02 +/- 3.10e-01%
Group 5 [0.28 - 0.625 eV]: 1.09e-01 +/- 3.94e-01%
Group 6 [0.14 - 0.28 eV]: 1.69e-01 +/- 4.12e-01%
Group 7 [0.058 - 0.14 eV]: 2.58e-01 +/- 3.01e-01%
Group 8 [0.0 - 0.058 eV]: 5.40e-01 +/- 2.79e-01%
Although a printed report is nice, it is not scalable or flexible. Let’s extract the microscopic cross section data for the moderator as a Pandas DataFrame
.
[17]:
nuscatter = xs_library[moderator_cell.id]['nu-scatter']
df = nuscatter.get_pandas_dataframe(xs_type='micro')
df.head(10)
[17]:
cell | group in | group out | nuclide | mean | std. dev. | |
---|---|---|---|---|---|---|
126 | 3 | 1 | 1 | H1 | 0.233991 | 0.003752 |
127 | 3 | 1 | 1 | O16 | 1.569288 | 0.006360 |
124 | 3 | 1 | 2 | H1 | 1.587279 | 0.003098 |
125 | 3 | 1 | 2 | O16 | 0.285599 | 0.001422 |
122 | 3 | 1 | 3 | H1 | 0.010482 | 0.000220 |
123 | 3 | 1 | 3 | O16 | 0.000000 | 0.000000 |
120 | 3 | 1 | 4 | H1 | 0.000009 | 0.000006 |
121 | 3 | 1 | 4 | O16 | 0.000000 | 0.000000 |
118 | 3 | 1 | 5 | H1 | 0.000005 | 0.000005 |
119 | 3 | 1 | 5 | O16 | 0.000000 | 0.000000 |
Next, we illustate how one can easily take multi-group cross sections and condense them down to a coarser energy group structure. The MGXS
class includes a get_condensed_xs(...)
method which takes an EnergyGroups
parameter with a coarse(r) group structure and returns a new MGXS
condensed to the coarse groups. We illustrate this process below using the 2-group structure created earlier.
[18]:
# Extract the 8-group transport cross section for the fuel
fine_xs = xs_library[fuel_cell.id]['transport']
# Condense to the 2-group structure
condensed_xs = fine_xs.get_condensed_xs(coarse_groups)
Group condensation is as simple as that! We now have a new coarse 2-group TransportXS
in addition to our original 8-group TransportXS
. Let’s inspect the 2-group TransportXS
by printing it to the screen and extracting a Pandas DataFrame
as we have already learned how to do.
[19]:
condensed_xs.print_xs()
Multi-Group XS
Reaction Type = transport
Domain Type = cell
Domain ID = 1
Nuclide = U235
Cross Sections [cm^-1]:
Group 1 [0.625 - 20000000.0eV]: 7.79e-03 +/- 2.12e-01%
Group 2 [0.0 - 0.625 eV]: 1.82e-01 +/- 1.92e-01%
Nuclide = U238
Cross Sections [cm^-1]:
Group 1 [0.625 - 20000000.0eV]: 2.17e-01 +/- 1.12e-01%
Group 2 [0.0 - 0.625 eV]: 2.53e-01 +/- 1.89e-01%
Nuclide = O16
Cross Sections [cm^-1]:
Group 1 [0.625 - 20000000.0eV]: 1.45e-01 +/- 1.12e-01%
Group 2 [0.0 - 0.625 eV]: 1.74e-01 +/- 2.03e-01%
[20]:
df = condensed_xs.get_pandas_dataframe(xs_type='micro')
df
[20]:
cell | group in | nuclide | mean | std. dev. | |
---|---|---|---|---|---|
3 | 1 | 1 | U235 | 20.763062 | 0.044093 |
4 | 1 | 1 | U238 | 9.579086 | 0.010757 |
5 | 1 | 1 | O16 | 3.157274 | 0.003531 |
0 | 1 | 2 | U235 | 485.349036 | 0.930937 |
1 | 1 | 2 | U238 | 11.199167 | 0.021167 |
2 | 1 | 2 | O16 | 3.788383 | 0.007676 |
Verification with OpenMOC¶
Now, let’s verify our cross sections using OpenMOC. First, we construct an equivalent OpenMOC geometry.
[21]:
# Create an OpenMOC Geometry from the OpenMC Geometry
openmoc_geometry = get_openmoc_geometry(sp.summary.geometry)
Next, we we can inject the multi-group cross sections into the equivalent fuel pin cell OpenMOC geometry.
[22]:
# Get all OpenMOC cells in the gometry
openmoc_cells = openmoc_geometry.getRootUniverse().getAllCells()
# Inject multi-group cross sections into OpenMOC Materials
for cell_id, cell in openmoc_cells.items():
# Ignore the root cell
if cell.getName() == 'root cell':
continue
# Get a reference to the Material filling this Cell
openmoc_material = cell.getFillMaterial()
# Set the number of energy groups for the Material
openmoc_material.setNumEnergyGroups(fine_groups.num_groups)
# Extract the appropriate cross section objects for this cell
transport = xs_library[cell_id]['transport']
nufission = xs_library[cell_id]['nu-fission']
nuscatter = xs_library[cell_id]['nu-scatter']
chi = xs_library[cell_id]['chi']
# Inject NumPy arrays of cross section data into the Material
# NOTE: Sum across nuclides to get macro cross sections needed by OpenMOC
openmoc_material.setSigmaT(transport.get_xs(nuclides='sum').flatten())
openmoc_material.setNuSigmaF(nufission.get_xs(nuclides='sum').flatten())
openmoc_material.setSigmaS(nuscatter.get_xs(nuclides='sum').flatten())
openmoc_material.setChi(chi.get_xs(nuclides='sum').flatten())
We are now ready to run OpenMOC to verify our cross-sections from OpenMC.
[23]:
# Generate tracks for OpenMOC
track_generator = openmoc.TrackGenerator(openmoc_geometry, num_azim=128, azim_spacing=0.1)
track_generator.generateTracks()
# Run OpenMOC
solver = openmoc.CPUSolver(track_generator)
solver.computeEigenvalue()
[ NORMAL ] Initializing a default angular quadrature...
[ NORMAL ] Initializing 2D tracks...
[ NORMAL ] Initializing 2D tracks reflections...
[ NORMAL ] Initializing 2D tracks array...
[ NORMAL ] Ray tracing for 2D track segmentation...
[ NORMAL ] Progress Segmenting 2D tracks: 0.09 %
[ NORMAL ] Progress Segmenting 2D tracks: 10.02 %
[ NORMAL ] Progress Segmenting 2D tracks: 19.94 %
[ NORMAL ] Progress Segmenting 2D tracks: 29.87 %
[ NORMAL ] Progress Segmenting 2D tracks: 39.80 %
[ NORMAL ] Progress Segmenting 2D tracks: 49.72 %
[ NORMAL ] Progress Segmenting 2D tracks: 59.65 %
[ NORMAL ] Progress Segmenting 2D tracks: 69.58 %
[ NORMAL ] Progress Segmenting 2D tracks: 79.50 %
[ NORMAL ] Progress Segmenting 2D tracks: 89.43 %
[ NORMAL ] Progress Segmenting 2D tracks: 100.00 %
[ NORMAL ] Initializing FSR lookup vectors
[ NORMAL ] Total number of FSRs 3
[ RESULT ] Total Track Generation & Segmentation Time...........2.5566E-02 sec
[ NORMAL ] Initializing MOC eigenvalue solver...
[ NORMAL ] Initializing solver arrays...
[ NORMAL ] Centering segments around FSR centroid...
[ NORMAL ] Max boundary angular flux storage per domain = 0.42 MB
[ NORMAL ] Max scalar flux storage per domain = 0.00 MB
[ NORMAL ] Max source storage per domain = 0.00 MB
[ NORMAL ] Number of azimuthal angles = 128
[ NORMAL ] Azimuthal ray spacing = 0.100000
[ NORMAL ] Number of polar angles = 6
[ NORMAL ] Source type = Flat
[ NORMAL ] MOC transport undamped
[ NORMAL ] CMFD acceleration: OFF
[ NORMAL ] Using 1 threads
[ NORMAL ] Computing the eigenvalue...
[ NORMAL ] Iteration 0: k_eff = 0.423133 res = 5.671E-09 delta-k (pcm) =
[ NORMAL ] ... -57686 D.R. = 0.00
[ NORMAL ] Iteration 1: k_eff = 0.475953 res = 2.442E-08 delta-k (pcm) =
[ NORMAL ] ... 5282 D.R. = 4.31
[ NORMAL ] Iteration 2: k_eff = 0.491468 res = 4.764E-08 delta-k (pcm) =
[ NORMAL ] ... 1551 D.R. = 1.95
[ NORMAL ] Iteration 3: k_eff = 0.487446 res = 2.253E-08 delta-k (pcm) =
[ NORMAL ] ... -402 D.R. = 0.47
[ NORMAL ] Iteration 4: k_eff = 0.483930 res = 6.957E-09 delta-k (pcm) =
[ NORMAL ] ... -351 D.R. = 0.31
[ NORMAL ] Iteration 5: k_eff = 0.477280 res = 3.902E-08 delta-k (pcm) =
[ NORMAL ] ... -665 D.R. = 5.61
[ NORMAL ] Iteration 6: k_eff = 0.468938 res = 3.161E-08 delta-k (pcm) =
[ NORMAL ] ... -834 D.R. = 0.81
[ NORMAL ] Iteration 7: k_eff = 0.460319 res = 2.480E-08 delta-k (pcm) =
[ NORMAL ] ... -861 D.R. = 0.78
[ NORMAL ] Iteration 8: k_eff = 0.450591 res = 9.377E-09 delta-k (pcm) =
[ NORMAL ] ... -972 D.R. = 0.38
[ NORMAL ] Iteration 9: k_eff = 0.441377 res = 3.085E-08 delta-k (pcm) =
[ NORMAL ] ... -921 D.R. = 3.29
[ NORMAL ] Iteration 10: k_eff = 0.431990 res = 1.028E-08 delta-k (pcm) =
[ NORMAL ] ... -938 D.R. = 0.33
[ NORMAL ] Iteration 11: k_eff = 0.422932 res = 1.180E-08 delta-k (pcm) =
[ NORMAL ] ... -905 D.R. = 1.15
[ NORMAL ] Iteration 12: k_eff = 0.414487 res = 1.633E-08 delta-k (pcm) =
[ NORMAL ] ... -844 D.R. = 1.38
[ NORMAL ] Iteration 13: k_eff = 0.406708 res = 1.754E-08 delta-k (pcm) =
[ NORMAL ] ... -777 D.R. = 1.07
[ NORMAL ] Iteration 14: k_eff = 0.399378 res = 5.021E-08 delta-k (pcm) =
[ NORMAL ] ... -732 D.R. = 2.86
[ NORMAL ] Iteration 15: k_eff = 0.393067 res = 9.074E-09 delta-k (pcm) =
[ NORMAL ] ... -631 D.R. = 0.18
[ NORMAL ] Iteration 16: k_eff = 0.387427 res = 4.840E-09 delta-k (pcm) =
[ NORMAL ] ... -564 D.R. = 0.53
[ NORMAL ] Iteration 17: k_eff = 0.382668 res = 2.299E-08 delta-k (pcm) =
[ NORMAL ] ... -475 D.R. = 4.75
[ NORMAL ] Iteration 18: k_eff = 0.378741 res = 1.573E-08 delta-k (pcm) =
[ NORMAL ] ... -392 D.R. = 0.68
[ NORMAL ] Iteration 19: k_eff = 0.375642 res = 7.017E-08 delta-k (pcm) =
[ NORMAL ] ... -309 D.R. = 4.46
[ NORMAL ] Iteration 20: k_eff = 0.373489 res = 4.053E-08 delta-k (pcm) =
[ NORMAL ] ... -215 D.R. = 0.58
[ NORMAL ] Iteration 21: k_eff = 0.372357 res = 4.235E-08 delta-k (pcm) =
[ NORMAL ] ... -113 D.R. = 1.04
[ NORMAL ] Iteration 22: k_eff = 0.371974 res = 6.352E-08 delta-k (pcm) =
[ NORMAL ] ... -38 D.R. = 1.50
[ NORMAL ] Iteration 23: k_eff = 0.372581 res = 3.267E-08 delta-k (pcm) =
[ NORMAL ] ... 60 D.R. = 0.51
[ NORMAL ] Iteration 24: k_eff = 0.374056 res = 1.573E-08 delta-k (pcm) =
[ NORMAL ] ... 147 D.R. = 0.48
[ NORMAL ] Iteration 25: k_eff = 0.376384 res = 3.630E-08 delta-k (pcm) =
[ NORMAL ] ... 232 D.R. = 2.31
[ NORMAL ] Iteration 26: k_eff = 0.379563 res = 2.420E-09 delta-k (pcm) =
[ NORMAL ] ... 317 D.R. = 0.07
[ NORMAL ] Iteration 27: k_eff = 0.383583 res = 3.146E-08 delta-k (pcm) =
[ NORMAL ] ... 401 D.R. = 13.00
[ NORMAL ] Iteration 28: k_eff = 0.388380 res = 1.089E-08 delta-k (pcm) =
[ NORMAL ] ... 479 D.R. = 0.35
[ NORMAL ] Iteration 29: k_eff = 0.393938 res = 6.049E-08 delta-k (pcm) =
[ NORMAL ] ... 555 D.R. = 5.56
[ NORMAL ] Iteration 30: k_eff = 0.400234 res = 3.267E-08 delta-k (pcm) =
[ NORMAL ] ... 629 D.R. = 0.54
[ NORMAL ] Iteration 31: k_eff = 0.407235 res = 2.420E-08 delta-k (pcm) =
[ NORMAL ] ... 700 D.R. = 0.74
[ NORMAL ] Iteration 32: k_eff = 0.414884 res = 1.815E-08 delta-k (pcm) =
[ NORMAL ] ... 764 D.R. = 0.75
[ NORMAL ] Iteration 33: k_eff = 0.423172 res = 7.259E-09 delta-k (pcm) =
[ NORMAL ] ... 828 D.R. = 0.40
[ NORMAL ] Iteration 34: k_eff = 0.432051 res = 6.049E-08 delta-k (pcm) =
[ NORMAL ] ... 887 D.R. = 8.33
[ NORMAL ] Iteration 35: k_eff = 0.441471 res = 5.807E-08 delta-k (pcm) =
[ NORMAL ] ... 942 D.R. = 0.96
[ NORMAL ] Iteration 36: k_eff = 0.451430 res = 2.662E-08 delta-k (pcm) =
[ NORMAL ] ... 995 D.R. = 0.46
[ NORMAL ] Iteration 37: k_eff = 0.461853 res = 8.227E-08 delta-k (pcm) =
[ NORMAL ] ... 1042 D.R. = 3.09
[ NORMAL ] Iteration 38: k_eff = 0.472730 res = 5.928E-08 delta-k (pcm) =
[ NORMAL ] ... 1087 D.R. = 0.72
[ NORMAL ] Iteration 39: k_eff = 0.484006 res = 2.299E-08 delta-k (pcm) =
[ NORMAL ] ... 1127 D.R. = 0.39
[ NORMAL ] Iteration 40: k_eff = 0.495653 res = 2.299E-08 delta-k (pcm) =
[ NORMAL ] ... 1164 D.R. = 1.00
[ NORMAL ] Iteration 41: k_eff = 0.507634 res = 7.017E-08 delta-k (pcm) =
[ NORMAL ] ... 1198 D.R. = 3.05
[ NORMAL ] Iteration 42: k_eff = 0.519914 res = 1.936E-08 delta-k (pcm) =
[ NORMAL ] ... 1227 D.R. = 0.28
[ NORMAL ] Iteration 43: k_eff = 0.532458 res = 1.089E-08 delta-k (pcm) =
[ NORMAL ] ... 1254 D.R. = 0.56
[ NORMAL ] Iteration 44: k_eff = 0.545234 res = 6.291E-08 delta-k (pcm) =
[ NORMAL ] ... 1277 D.R. = 5.78
[ NORMAL ] Iteration 45: k_eff = 0.558210 res = 3.509E-08 delta-k (pcm) =
[ NORMAL ] ... 1297 D.R. = 0.56
[ NORMAL ] Iteration 46: k_eff = 0.571353 res = 3.025E-08 delta-k (pcm) =
[ NORMAL ] ... 1314 D.R. = 0.86
[ NORMAL ] Iteration 47: k_eff = 0.584635 res = 7.259E-09 delta-k (pcm) =
[ NORMAL ] ... 1328 D.R. = 0.24
[ NORMAL ] Iteration 48: k_eff = 0.598027 res = 4.961E-08 delta-k (pcm) =
[ NORMAL ] ... 1339 D.R. = 6.83
[ NORMAL ] Iteration 49: k_eff = 0.611500 res = 9.014E-08 delta-k (pcm) =
[ NORMAL ] ... 1347 D.R. = 1.82
[ NORMAL ] Iteration 50: k_eff = 0.625029 res = 5.203E-08 delta-k (pcm) =
[ NORMAL ] ... 1352 D.R. = 0.58
[ NORMAL ] Iteration 51: k_eff = 0.638590 res = 1.512E-08 delta-k (pcm) =
[ NORMAL ] ... 1356 D.R. = 0.29
[ NORMAL ] Iteration 52: k_eff = 0.652158 res = 2.359E-08 delta-k (pcm) =
[ NORMAL ] ... 1356 D.R. = 1.56
[ NORMAL ] Iteration 53: k_eff = 0.665710 res = 4.598E-08 delta-k (pcm) =
[ NORMAL ] ... 1355 D.R. = 1.95
[ NORMAL ] Iteration 54: k_eff = 0.679228 res = 2.783E-08 delta-k (pcm) =
[ NORMAL ] ... 1351 D.R. = 0.61
[ NORMAL ] Iteration 55: k_eff = 0.692689 res = 2.117E-08 delta-k (pcm) =
[ NORMAL ] ... 1346 D.R. = 0.76
[ NORMAL ] Iteration 56: k_eff = 0.706075 res = 1.936E-08 delta-k (pcm) =
[ NORMAL ] ... 1338 D.R. = 0.91
[ NORMAL ] Iteration 57: k_eff = 0.719370 res = 5.505E-08 delta-k (pcm) =
[ NORMAL ] ... 1329 D.R. = 2.84
[ NORMAL ] Iteration 58: k_eff = 0.732556 res = 2.238E-08 delta-k (pcm) =
[ NORMAL ] ... 1318 D.R. = 0.41
[ NORMAL ] Iteration 59: k_eff = 0.745619 res = 7.864E-09 delta-k (pcm) =
[ NORMAL ] ... 1306 D.R. = 0.35
[ NORMAL ] Iteration 60: k_eff = 0.758546 res = 4.477E-08 delta-k (pcm) =
[ NORMAL ] ... 1292 D.R. = 5.69
[ NORMAL ] Iteration 61: k_eff = 0.771323 res = 4.658E-08 delta-k (pcm) =
[ NORMAL ] ... 1277 D.R. = 1.04
[ NORMAL ] Iteration 62: k_eff = 0.783939 res = 9.679E-09 delta-k (pcm) =
[ NORMAL ] ... 1261 D.R. = 0.21
[ NORMAL ] Iteration 63: k_eff = 0.796383 res = 4.235E-09 delta-k (pcm) =
[ NORMAL ] ... 1244 D.R. = 0.44
[ NORMAL ] Iteration 64: k_eff = 0.808646 res = 9.074E-09 delta-k (pcm) =
[ NORMAL ] ... 1226 D.R. = 2.14
[ NORMAL ] Iteration 65: k_eff = 0.820719 res = 6.412E-08 delta-k (pcm) =
[ NORMAL ] ... 1207 D.R. = 7.07
[ NORMAL ] Iteration 66: k_eff = 0.832594 res = 2.420E-09 delta-k (pcm) =
[ NORMAL ] ... 1187 D.R. = 0.04
[ NORMAL ] Iteration 67: k_eff = 0.844264 res = 2.299E-08 delta-k (pcm) =
[ NORMAL ] ... 1167 D.R. = 9.50
[ NORMAL ] Iteration 68: k_eff = 0.855724 res = 5.928E-08 delta-k (pcm) =
[ NORMAL ] ... 1146 D.R. = 2.58
[ NORMAL ] Iteration 69: k_eff = 0.866968 res = 6.049E-08 delta-k (pcm) =
[ NORMAL ] ... 1124 D.R. = 1.02
[ NORMAL ] Iteration 70: k_eff = 0.877992 res = 2.722E-08 delta-k (pcm) =
[ NORMAL ] ... 1102 D.R. = 0.45
[ NORMAL ] Iteration 71: k_eff = 0.888792 res = 1.633E-08 delta-k (pcm) =
[ NORMAL ] ... 1079 D.R. = 0.60
[ NORMAL ] Iteration 72: k_eff = 0.899364 res = 2.117E-08 delta-k (pcm) =
[ NORMAL ] ... 1057 D.R. = 1.30
[ NORMAL ] Iteration 73: k_eff = 0.909708 res = 3.327E-08 delta-k (pcm) =
[ NORMAL ] ... 1034 D.R. = 1.57
[ NORMAL ] Iteration 74: k_eff = 0.919819 res = 4.477E-08 delta-k (pcm) =
[ NORMAL ] ... 1011 D.R. = 1.35
[ NORMAL ] Iteration 75: k_eff = 0.929699 res = 3.569E-08 delta-k (pcm) =
[ NORMAL ] ... 987 D.R. = 0.80
[ NORMAL ] Iteration 76: k_eff = 0.939346 res = 4.840E-09 delta-k (pcm) =
[ NORMAL ] ... 964 D.R. = 0.14
[ NORMAL ] Iteration 77: k_eff = 0.948758 res = 4.840E-09 delta-k (pcm) =
[ NORMAL ] ... 941 D.R. = 1.00
[ NORMAL ] Iteration 78: k_eff = 0.957938 res = 6.049E-10 delta-k (pcm) =
[ NORMAL ] ... 917 D.R. = 0.12
[ NORMAL ] Iteration 79: k_eff = 0.966885 res = 2.057E-08 delta-k (pcm) =
[ NORMAL ] ... 894 D.R. = 34.00
[ NORMAL ] Iteration 80: k_eff = 0.975601 res = 4.235E-08 delta-k (pcm) =
[ NORMAL ] ... 871 D.R. = 2.06
[ NORMAL ] Iteration 81: k_eff = 0.984087 res = 5.868E-08 delta-k (pcm) =
[ NORMAL ] ... 848 D.R. = 1.39
[ NORMAL ] Iteration 82: k_eff = 0.992344 res = 7.259E-09 delta-k (pcm) =
[ NORMAL ] ... 825 D.R. = 0.12
[ NORMAL ] Iteration 83: k_eff = 1.000375 res = 1.512E-08 delta-k (pcm) =
[ NORMAL ] ... 803 D.R. = 2.08
[ NORMAL ] Iteration 84: k_eff = 1.008182 res = 7.864E-09 delta-k (pcm) =
[ NORMAL ] ... 780 D.R. = 0.52
[ NORMAL ] Iteration 85: k_eff = 1.015768 res = 7.259E-09 delta-k (pcm) =
[ NORMAL ] ... 758 D.R. = 0.92
[ NORMAL ] Iteration 86: k_eff = 1.023136 res = 3.025E-09 delta-k (pcm) =
[ NORMAL ] ... 736 D.R. = 0.42
[ NORMAL ] Iteration 87: k_eff = 1.030288 res = 1.210E-08 delta-k (pcm) =
[ NORMAL ] ... 715 D.R. = 4.00
[ NORMAL ] Iteration 88: k_eff = 1.037228 res = 3.690E-08 delta-k (pcm) =
[ NORMAL ] ... 693 D.R. = 3.05
[ NORMAL ] Iteration 89: k_eff = 1.043960 res = 5.203E-08 delta-k (pcm) =
[ NORMAL ] ... 673 D.R. = 1.41
[ NORMAL ] Iteration 90: k_eff = 1.050486 res = 6.231E-08 delta-k (pcm) =
[ NORMAL ] ... 652 D.R. = 1.20
[ NORMAL ] Iteration 91: k_eff = 1.056812 res = 6.775E-08 delta-k (pcm) =
[ NORMAL ] ... 632 D.R. = 1.09
[ NORMAL ] Iteration 92: k_eff = 1.062939 res = 2.964E-08 delta-k (pcm) =
[ NORMAL ] ... 612 D.R. = 0.44
[ NORMAL ] Iteration 93: k_eff = 1.068872 res = 5.505E-08 delta-k (pcm) =
[ NORMAL ] ... 593 D.R. = 1.86
[ NORMAL ] Iteration 94: k_eff = 1.074616 res = 4.235E-09 delta-k (pcm) =
[ NORMAL ] ... 574 D.R. = 0.08
[ NORMAL ] Iteration 95: k_eff = 1.080173 res = 2.541E-08 delta-k (pcm) =
[ NORMAL ] ... 555 D.R. = 6.00
[ NORMAL ] Iteration 96: k_eff = 1.085550 res = 1.996E-08 delta-k (pcm) =
[ NORMAL ] ... 537 D.R. = 0.79
[ NORMAL ] Iteration 97: k_eff = 1.090748 res = 3.388E-08 delta-k (pcm) =
[ NORMAL ] ... 519 D.R. = 1.70
[ NORMAL ] Iteration 98: k_eff = 1.095774 res = 3.085E-08 delta-k (pcm) =
[ NORMAL ] ... 502 D.R. = 0.91
[ NORMAL ] Iteration 99: k_eff = 1.100629 res = 3.267E-08 delta-k (pcm) =
[ NORMAL ] ... 485 D.R. = 1.06
[ NORMAL ] Iteration 100: k_eff = 1.105320 res = 3.025E-09 delta-k (pcm)
[ NORMAL ] ... = 469 D.R. = 0.09
[ NORMAL ] Iteration 101: k_eff = 1.109851 res = 6.654E-09 delta-k (pcm)
[ NORMAL ] ... = 453 D.R. = 2.20
[ NORMAL ] Iteration 102: k_eff = 1.114224 res = 3.569E-08 delta-k (pcm)
[ NORMAL ] ... = 437 D.R. = 5.36
[ NORMAL ] Iteration 103: k_eff = 1.118444 res = 5.203E-08 delta-k (pcm)
[ NORMAL ] ... = 421 D.R. = 1.46
[ NORMAL ] Iteration 104: k_eff = 1.122516 res = 1.452E-08 delta-k (pcm)
[ NORMAL ] ... = 407 D.R. = 0.28
[ NORMAL ] Iteration 105: k_eff = 1.126445 res = 5.445E-09 delta-k (pcm)
[ NORMAL ] ... = 392 D.R. = 0.38
[ NORMAL ] Iteration 106: k_eff = 1.130232 res = 2.783E-08 delta-k (pcm)
[ NORMAL ] ... = 378 D.R. = 5.11
[ NORMAL ] Iteration 107: k_eff = 1.133884 res = 1.996E-08 delta-k (pcm)
[ NORMAL ] ... = 365 D.R. = 0.72
[ NORMAL ] Iteration 108: k_eff = 1.137403 res = 4.235E-08 delta-k (pcm)
[ NORMAL ] ... = 351 D.R. = 2.12
[ NORMAL ] Iteration 109: k_eff = 1.140793 res = 3.751E-08 delta-k (pcm)
[ NORMAL ] ... = 339 D.R. = 0.89
[ NORMAL ] Iteration 110: k_eff = 1.144059 res = 4.174E-08 delta-k (pcm)
[ NORMAL ] ... = 326 D.R. = 1.11
[ NORMAL ] Iteration 111: k_eff = 1.147203 res = 4.416E-08 delta-k (pcm)
[ NORMAL ] ... = 314 D.R. = 1.06
[ NORMAL ] Iteration 112: k_eff = 1.150231 res = 3.025E-08 delta-k (pcm)
[ NORMAL ] ... = 302 D.R. = 0.68
[ NORMAL ] Iteration 113: k_eff = 1.153146 res = 5.384E-08 delta-k (pcm)
[ NORMAL ] ... = 291 D.R. = 1.78
[ NORMAL ] Iteration 114: k_eff = 1.155950 res = 3.569E-08 delta-k (pcm)
[ NORMAL ] ... = 280 D.R. = 0.66
[ NORMAL ] Iteration 115: k_eff = 1.158649 res = 5.142E-08 delta-k (pcm)
[ NORMAL ] ... = 269 D.R. = 1.44
[ NORMAL ] Iteration 116: k_eff = 1.161244 res = 2.843E-08 delta-k (pcm)
[ NORMAL ] ... = 259 D.R. = 0.55
[ NORMAL ] Iteration 117: k_eff = 1.163739 res = 3.267E-08 delta-k (pcm)
[ NORMAL ] ... = 249 D.R. = 1.15
[ NORMAL ] Iteration 118: k_eff = 1.166139 res = 5.505E-08 delta-k (pcm)
[ NORMAL ] ... = 239 D.R. = 1.69
[ NORMAL ] Iteration 119: k_eff = 1.168445 res = 4.719E-08 delta-k (pcm)
[ NORMAL ] ... = 230 D.R. = 0.86
[ NORMAL ] Iteration 120: k_eff = 1.170662 res = 6.170E-08 delta-k (pcm)
[ NORMAL ] ... = 221 D.R. = 1.31
[ NORMAL ] Iteration 121: k_eff = 1.172791 res = 5.384E-08 delta-k (pcm)
[ NORMAL ] ... = 212 D.R. = 0.87
[ NORMAL ] Iteration 122: k_eff = 1.174837 res = 1.331E-08 delta-k (pcm)
[ NORMAL ] ... = 204 D.R. = 0.25
[ NORMAL ] Iteration 123: k_eff = 1.176801 res = 1.391E-08 delta-k (pcm)
[ NORMAL ] ... = 196 D.R. = 1.05
[ NORMAL ] Iteration 124: k_eff = 1.178688 res = 1.089E-08 delta-k (pcm)
[ NORMAL ] ... = 188 D.R. = 0.78
[ NORMAL ] Iteration 125: k_eff = 1.180500 res = 3.448E-08 delta-k (pcm)
[ NORMAL ] ... = 181 D.R. = 3.17
[ NORMAL ] Iteration 126: k_eff = 1.182238 res = 1.041E-07 delta-k (pcm)
[ NORMAL ] ... = 173 D.R. = 3.02
[ NORMAL ] Iteration 127: k_eff = 1.183907 res = 3.690E-08 delta-k (pcm)
[ NORMAL ] ... = 166 D.R. = 0.35
[ NORMAL ] Iteration 128: k_eff = 1.185508 res = 2.722E-08 delta-k (pcm)
[ NORMAL ] ... = 160 D.R. = 0.74
[ NORMAL ] Iteration 129: k_eff = 1.187044 res = 9.074E-09 delta-k (pcm)
[ NORMAL ] ... = 153 D.R. = 0.33
[ NORMAL ] Iteration 130: k_eff = 1.188518 res = 2.904E-08 delta-k (pcm)
[ NORMAL ] ... = 147 D.R. = 3.20
[ NORMAL ] Iteration 131: k_eff = 1.189930 res = 2.783E-08 delta-k (pcm)
[ NORMAL ] ... = 141 D.R. = 0.96
[ NORMAL ] Iteration 132: k_eff = 1.191285 res = 2.541E-08 delta-k (pcm)
[ NORMAL ] ... = 135 D.R. = 0.91
[ NORMAL ] Iteration 133: k_eff = 1.192584 res = 4.537E-08 delta-k (pcm)
[ NORMAL ] ... = 129 D.R. = 1.79
[ NORMAL ] Iteration 134: k_eff = 1.193829 res = 5.505E-08 delta-k (pcm)
[ NORMAL ] ... = 124 D.R. = 1.21
[ NORMAL ] Iteration 135: k_eff = 1.195022 res = 6.412E-08 delta-k (pcm)
[ NORMAL ] ... = 119 D.R. = 1.16
[ NORMAL ] Iteration 136: k_eff = 1.196166 res = 6.049E-10 delta-k (pcm)
[ NORMAL ] ... = 114 D.R. = 0.01
[ NORMAL ] Iteration 137: k_eff = 1.197262 res = 4.416E-08 delta-k (pcm)
[ NORMAL ] ... = 109 D.R. = 73.00
[ NORMAL ] Iteration 138: k_eff = 1.198311 res = 3.872E-08 delta-k (pcm)
[ NORMAL ] ... = 104 D.R. = 0.88
[ NORMAL ] Iteration 139: k_eff = 1.199316 res = 2.420E-09 delta-k (pcm)
[ NORMAL ] ... = 100 D.R. = 0.06
[ NORMAL ] Iteration 140: k_eff = 1.200279 res = 4.053E-08 delta-k (pcm)
[ NORMAL ] ... = 96 D.R. = 16.75
[ NORMAL ] Iteration 141: k_eff = 1.201201 res = 1.028E-08 delta-k (pcm)
[ NORMAL ] ... = 92 D.R. = 0.25
[ NORMAL ] Iteration 142: k_eff = 1.202083 res = 3.509E-08 delta-k (pcm)
[ NORMAL ] ... = 88 D.R. = 3.41
[ NORMAL ] Iteration 143: k_eff = 1.202927 res = 1.815E-08 delta-k (pcm)
[ NORMAL ] ... = 84 D.R. = 0.52
[ NORMAL ] Iteration 144: k_eff = 1.203736 res = 1.936E-08 delta-k (pcm)
[ NORMAL ] ... = 80 D.R. = 1.07
[ NORMAL ] Iteration 145: k_eff = 1.204510 res = 6.836E-08 delta-k (pcm)
[ NORMAL ] ... = 77 D.R. = 3.53
[ NORMAL ] Iteration 146: k_eff = 1.205251 res = 5.324E-08 delta-k (pcm)
[ NORMAL ] ... = 74 D.R. = 0.78
[ NORMAL ] Iteration 147: k_eff = 1.205959 res = 2.299E-08 delta-k (pcm)
[ NORMAL ] ... = 70 D.R. = 0.43
[ NORMAL ] Iteration 148: k_eff = 1.206637 res = 1.815E-08 delta-k (pcm)
[ NORMAL ] ... = 67 D.R. = 0.79
[ NORMAL ] Iteration 149: k_eff = 1.207285 res = 8.469E-09 delta-k (pcm)
[ NORMAL ] ... = 64 D.R. = 0.47
[ NORMAL ] Iteration 150: k_eff = 1.207905 res = 1.936E-08 delta-k (pcm)
[ NORMAL ] ... = 61 D.R. = 2.29
[ NORMAL ] Iteration 151: k_eff = 1.208498 res = 9.074E-09 delta-k (pcm)
[ NORMAL ] ... = 59 D.R. = 0.47
[ NORMAL ] Iteration 152: k_eff = 1.209065 res = 2.178E-08 delta-k (pcm)
[ NORMAL ] ... = 56 D.R. = 2.40
[ NORMAL ] Iteration 153: k_eff = 1.209607 res = 6.775E-08 delta-k (pcm)
[ NORMAL ] ... = 54 D.R. = 3.11
[ NORMAL ] Iteration 154: k_eff = 1.210125 res = 9.074E-08 delta-k (pcm)
[ NORMAL ] ... = 51 D.R. = 1.34
[ NORMAL ] Iteration 155: k_eff = 1.210621 res = 5.445E-09 delta-k (pcm)
[ NORMAL ] ... = 49 D.R. = 0.06
[ NORMAL ] Iteration 156: k_eff = 1.211094 res = 6.049E-09 delta-k (pcm)
[ NORMAL ] ... = 47 D.R. = 1.11
[ NORMAL ] Iteration 157: k_eff = 1.211546 res = 6.049E-09 delta-k (pcm)
[ NORMAL ] ... = 45 D.R. = 1.00
[ NORMAL ] Iteration 158: k_eff = 1.211978 res = 4.658E-08 delta-k (pcm)
[ NORMAL ] ... = 43 D.R. = 7.70
[ NORMAL ] Iteration 159: k_eff = 1.212391 res = 1.815E-09 delta-k (pcm)
[ NORMAL ] ... = 41 D.R. = 0.04
[ NORMAL ] Iteration 160: k_eff = 1.212786 res = 1.210E-08 delta-k (pcm)
[ NORMAL ] ... = 39 D.R. = 6.67
[ NORMAL ] Iteration 161: k_eff = 1.213162 res = 6.049E-10 delta-k (pcm)
[ NORMAL ] ... = 37 D.R. = 0.05
[ NORMAL ] Iteration 162: k_eff = 1.213522 res = 1.996E-08 delta-k (pcm)
[ NORMAL ] ... = 35 D.R. = 33.00
[ NORMAL ] Iteration 163: k_eff = 1.213866 res = 4.658E-08 delta-k (pcm)
[ NORMAL ] ... = 34 D.R. = 2.33
[ NORMAL ] Iteration 164: k_eff = 1.214194 res = 1.996E-08 delta-k (pcm)
[ NORMAL ] ... = 32 D.R. = 0.43
[ NORMAL ] Iteration 165: k_eff = 1.214507 res = 1.210E-09 delta-k (pcm)
[ NORMAL ] ... = 31 D.R. = 0.06
[ NORMAL ] Iteration 166: k_eff = 1.214806 res = 1.875E-08 delta-k (pcm)
[ NORMAL ] ... = 29 D.R. = 15.50
[ NORMAL ] Iteration 167: k_eff = 1.215092 res = 4.961E-08 delta-k (pcm)
[ NORMAL ] ... = 28 D.R. = 2.65
[ NORMAL ] Iteration 168: k_eff = 1.215365 res = 6.049E-08 delta-k (pcm)
[ NORMAL ] ... = 27 D.R. = 1.22
[ NORMAL ] Iteration 169: k_eff = 1.215625 res = 2.964E-08 delta-k (pcm)
[ NORMAL ] ... = 26 D.R. = 0.49
[ NORMAL ] Iteration 170: k_eff = 1.215874 res = 5.505E-08 delta-k (pcm)
[ NORMAL ] ... = 24 D.R. = 1.86
[ NORMAL ] Iteration 171: k_eff = 1.216110 res = 2.117E-08 delta-k (pcm)
[ NORMAL ] ... = 23 D.R. = 0.38
[ NORMAL ] Iteration 172: k_eff = 1.216337 res = 4.174E-08 delta-k (pcm)
[ NORMAL ] ... = 22 D.R. = 1.97
[ NORMAL ] Iteration 173: k_eff = 1.216552 res = 3.509E-08 delta-k (pcm)
[ NORMAL ] ... = 21 D.R. = 0.84
[ NORMAL ] Iteration 174: k_eff = 1.216759 res = 2.722E-08 delta-k (pcm)
[ NORMAL ] ... = 20 D.R. = 0.78
[ NORMAL ] Iteration 175: k_eff = 1.216954 res = 2.601E-08 delta-k (pcm)
[ NORMAL ] ... = 19 D.R. = 0.96
[ NORMAL ] Iteration 176: k_eff = 1.217142 res = 4.295E-08 delta-k (pcm)
[ NORMAL ] ... = 18 D.R. = 1.65
[ NORMAL ] Iteration 177: k_eff = 1.217320 res = 4.598E-08 delta-k (pcm)
[ NORMAL ] ... = 17 D.R. = 1.07
[ NORMAL ] Iteration 178: k_eff = 1.217491 res = 5.807E-08 delta-k (pcm)
[ NORMAL ] ... = 17 D.R. = 1.26
[ NORMAL ] Iteration 179: k_eff = 1.217654 res = 2.480E-08 delta-k (pcm)
[ NORMAL ] ... = 16 D.R. = 0.43
[ NORMAL ] Iteration 180: k_eff = 1.217809 res = 6.049E-09 delta-k (pcm)
[ NORMAL ] ... = 15 D.R. = 0.24
[ NORMAL ] Iteration 181: k_eff = 1.217956 res = 6.412E-08 delta-k (pcm)
[ NORMAL ] ... = 14 D.R. = 10.60
[ NORMAL ] Iteration 182: k_eff = 1.218098 res = 7.138E-08 delta-k (pcm)
[ NORMAL ] ... = 14 D.R. = 1.11
[ NORMAL ] Iteration 183: k_eff = 1.218232 res = 1.633E-08 delta-k (pcm)
[ NORMAL ] ... = 13 D.R. = 0.23
[ NORMAL ] Iteration 184: k_eff = 1.218360 res = 2.541E-08 delta-k (pcm)
[ NORMAL ] ... = 12 D.R. = 1.56
[ NORMAL ] Iteration 185: k_eff = 1.218482 res = 1.028E-08 delta-k (pcm)
[ NORMAL ] ... = 12 D.R. = 0.40
[ NORMAL ] Iteration 186: k_eff = 1.218599 res = 7.864E-09 delta-k (pcm)
[ NORMAL ] ... = 11 D.R. = 0.76
[ NORMAL ] Iteration 187: k_eff = 1.218709 res = 4.053E-08 delta-k (pcm)
[ NORMAL ] ... = 11 D.R. = 5.15
[ NORMAL ] Iteration 188: k_eff = 1.218815 res = 2.299E-08 delta-k (pcm)
[ NORMAL ] ... = 10 D.R. = 0.57
[ NORMAL ] Iteration 189: k_eff = 1.218916 res = 5.445E-08 delta-k (pcm)
[ NORMAL ] ... = 10 D.R. = 2.37
[ NORMAL ] Iteration 190: k_eff = 1.219011 res = 3.327E-08 delta-k (pcm)
[ NORMAL ] ... = 9 D.R. = 0.61
[ NORMAL ] Iteration 191: k_eff = 1.219103 res = 4.840E-09 delta-k (pcm)
[ NORMAL ] ... = 9 D.R. = 0.15
[ NORMAL ] Iteration 192: k_eff = 1.219190 res = 1.210E-08 delta-k (pcm)
[ NORMAL ] ... = 8 D.R. = 2.50
[ NORMAL ] Iteration 193: k_eff = 1.219273 res = 1.573E-08 delta-k (pcm)
[ NORMAL ] ... = 8 D.R. = 1.30
[ NORMAL ] Iteration 194: k_eff = 1.219352 res = 1.331E-08 delta-k (pcm)
[ NORMAL ] ... = 7 D.R. = 0.85
[ NORMAL ] Iteration 195: k_eff = 1.219428 res = 2.783E-08 delta-k (pcm)
[ NORMAL ] ... = 7 D.R. = 2.09
[ NORMAL ] Iteration 196: k_eff = 1.219499 res = 2.722E-08 delta-k (pcm)
[ NORMAL ] ... = 7 D.R. = 0.98
[ NORMAL ] Iteration 197: k_eff = 1.219567 res = 2.057E-08 delta-k (pcm)
[ NORMAL ] ... = 6 D.R. = 0.76
[ NORMAL ] Iteration 198: k_eff = 1.219633 res = 1.331E-08 delta-k (pcm)
[ NORMAL ] ... = 6 D.R. = 0.65
[ NORMAL ] Iteration 199: k_eff = 1.219695 res = 3.932E-08 delta-k (pcm)
[ NORMAL ] ... = 6 D.R. = 2.95
[ NORMAL ] Iteration 200: k_eff = 1.219753 res = 1.996E-08 delta-k (pcm)
[ NORMAL ] ... = 5 D.R. = 0.51
[ NORMAL ] Iteration 201: k_eff = 1.219810 res = 4.840E-08 delta-k (pcm)
[ NORMAL ] ... = 5 D.R. = 2.42
[ NORMAL ] Iteration 202: k_eff = 1.219863 res = 1.270E-08 delta-k (pcm)
[ NORMAL ] ... = 5 D.R. = 0.26
[ NORMAL ] Iteration 203: k_eff = 1.219914 res = 2.662E-08 delta-k (pcm)
[ NORMAL ] ... = 5 D.R. = 2.10
[ NORMAL ] Iteration 204: k_eff = 1.219962 res = 5.445E-09 delta-k (pcm)
[ NORMAL ] ... = 4 D.R. = 0.20
[ NORMAL ] Iteration 205: k_eff = 1.220009 res = 3.327E-08 delta-k (pcm)
[ NORMAL ] ... = 4 D.R. = 6.11
[ NORMAL ] Iteration 206: k_eff = 1.220052 res = 4.658E-08 delta-k (pcm)
[ NORMAL ] ... = 4 D.R. = 1.40
[ NORMAL ] Iteration 207: k_eff = 1.220094 res = 3.025E-08 delta-k (pcm)
[ NORMAL ] ... = 4 D.R. = 0.65
[ NORMAL ] Iteration 208: k_eff = 1.220134 res = 2.117E-08 delta-k (pcm)
[ NORMAL ] ... = 3 D.R. = 0.70
[ NORMAL ] Iteration 209: k_eff = 1.220172 res = 1.875E-08 delta-k (pcm)
[ NORMAL ] ... = 3 D.R. = 0.89
[ NORMAL ] Iteration 210: k_eff = 1.220208 res = 1.028E-08 delta-k (pcm)
[ NORMAL ] ... = 3 D.R. = 0.55
[ NORMAL ] Iteration 211: k_eff = 1.220243 res = 5.263E-08 delta-k (pcm)
[ NORMAL ] ... = 3 D.R. = 5.12
[ NORMAL ] Iteration 212: k_eff = 1.220275 res = 2.480E-08 delta-k (pcm)
[ NORMAL ] ... = 3 D.R. = 0.47
[ NORMAL ] Iteration 213: k_eff = 1.220306 res = 4.598E-08 delta-k (pcm)
[ NORMAL ] ... = 3 D.R. = 1.85
[ NORMAL ] Iteration 214: k_eff = 1.220336 res = 3.630E-09 delta-k (pcm)
[ NORMAL ] ... = 2 D.R. = 0.08
[ NORMAL ] Iteration 215: k_eff = 1.220364 res = 1.391E-08 delta-k (pcm)
[ NORMAL ] ... = 2 D.R. = 3.83
[ NORMAL ] Iteration 216: k_eff = 1.220391 res = 6.049E-08 delta-k (pcm)
[ NORMAL ] ... = 2 D.R. = 4.35
[ NORMAL ] Iteration 217: k_eff = 1.220416 res = 1.936E-08 delta-k (pcm)
[ NORMAL ] ... = 2 D.R. = 0.32
[ NORMAL ] Iteration 218: k_eff = 1.220441 res = 6.049E-10 delta-k (pcm)
[ NORMAL ] ... = 2 D.R. = 0.03
[ NORMAL ] Iteration 219: k_eff = 1.220464 res = 1.270E-08 delta-k (pcm)
[ NORMAL ] ... = 2 D.R. = 21.00
[ NORMAL ] Iteration 220: k_eff = 1.220486 res = 1.452E-08 delta-k (pcm)
[ NORMAL ] ... = 2 D.R. = 1.14
[ NORMAL ] Iteration 221: k_eff = 1.220507 res = 2.299E-08 delta-k (pcm)
[ NORMAL ] ... = 2 D.R. = 1.58
[ NORMAL ] Iteration 222: k_eff = 1.220527 res = 9.679E-09 delta-k (pcm)
[ NORMAL ] ... = 2 D.R. = 0.42
[ NORMAL ] Iteration 223: k_eff = 1.220545 res = 7.078E-08 delta-k (pcm)
[ NORMAL ] ... = 1 D.R. = 7.31
[ NORMAL ] Iteration 224: k_eff = 1.220563 res = 9.679E-09 delta-k (pcm)
[ NORMAL ] ... = 1 D.R. = 0.14
[ NORMAL ] Iteration 225: k_eff = 1.220580 res = 3.146E-08 delta-k (pcm)
[ NORMAL ] ... = 1 D.R. = 3.25
[ NORMAL ] Iteration 226: k_eff = 1.220596 res = 1.633E-08 delta-k (pcm)
[ NORMAL ] ... = 1 D.R. = 0.52
[ NORMAL ] Iteration 227: k_eff = 1.220612 res = 3.569E-08 delta-k (pcm)
[ NORMAL ] ... = 1 D.R. = 2.19
[ NORMAL ] Iteration 228: k_eff = 1.220627 res = 2.722E-08 delta-k (pcm)
[ NORMAL ] ... = 1 D.R. = 0.76
[ NORMAL ] Iteration 229: k_eff = 1.220641 res = 1.875E-08 delta-k (pcm)
[ NORMAL ] ... = 1 D.R. = 0.69
[ NORMAL ] Iteration 230: k_eff = 1.220655 res = 3.448E-08 delta-k (pcm)
[ NORMAL ] ... = 1 D.R. = 1.84
[ NORMAL ] Iteration 231: k_eff = 1.220667 res = 8.046E-08 delta-k (pcm)
[ NORMAL ] ... = 1 D.R. = 2.33
[ NORMAL ] Iteration 232: k_eff = 1.220679 res = 3.751E-08 delta-k (pcm)
[ NORMAL ] ... = 1 D.R. = 0.47
[ NORMAL ] Iteration 233: k_eff = 1.220690 res = 5.686E-08 delta-k (pcm)
[ NORMAL ] ... = 1 D.R. = 1.52
[ NORMAL ] Iteration 234: k_eff = 1.220701 res = 1.270E-08 delta-k (pcm)
[ NORMAL ] ... = 1 D.R. = 0.22
[ NORMAL ] Iteration 235: k_eff = 1.220711 res = 6.715E-08 delta-k (pcm)
[ NORMAL ] ... = 0 D.R. = 5.29
We report the eigenvalues computed by OpenMC and OpenMOC here together to summarize our results.
[24]:
# Print report of keff and bias with OpenMC
openmoc_keff = solver.getKeff()
openmc_keff = sp.k_combined.n
bias = (openmoc_keff - openmc_keff) * 1e5
print('openmc keff = {0:1.6f}'.format(openmc_keff))
print('openmoc keff = {0:1.6f}'.format(openmoc_keff))
print('bias [pcm]: {0:1.1f}'.format(bias))
openmc keff = 1.224484
openmoc keff = 1.220711
bias [pcm]: -377.3
As a sanity check, let’s run a simulation with the coarse 2-group cross sections to ensure that they also produce a reasonable result.
[25]:
openmoc_geometry = get_openmoc_geometry(sp.summary.geometry)
openmoc_cells = openmoc_geometry.getRootUniverse().getAllCells()
# Inject multi-group cross sections into OpenMOC Materials
for cell_id, cell in openmoc_cells.items():
# Ignore the root cell
if cell.getName() == 'root cell':
continue
openmoc_material = cell.getFillMaterial()
openmoc_material.setNumEnergyGroups(coarse_groups.num_groups)
# Extract the appropriate cross section objects for this cell
transport = xs_library[cell_id]['transport']
nufission = xs_library[cell_id]['nu-fission']
nuscatter = xs_library[cell_id]['nu-scatter']
chi = xs_library[cell_id]['chi']
# Perform group condensation
transport = transport.get_condensed_xs(coarse_groups)
nufission = nufission.get_condensed_xs(coarse_groups)
nuscatter = nuscatter.get_condensed_xs(coarse_groups)
chi = chi.get_condensed_xs(coarse_groups)
# Inject NumPy arrays of cross section data into the Material
openmoc_material.setSigmaT(transport.get_xs(nuclides='sum').flatten())
openmoc_material.setNuSigmaF(nufission.get_xs(nuclides='sum').flatten())
openmoc_material.setSigmaS(nuscatter.get_xs(nuclides='sum').flatten())
openmoc_material.setChi(chi.get_xs(nuclides='sum').flatten())
[26]:
# Generate tracks for OpenMOC
track_generator = openmoc.TrackGenerator(openmoc_geometry, num_azim=128, azim_spacing=0.1)
track_generator.generateTracks()
# Run OpenMOC
solver = openmoc.CPUSolver(track_generator)
solver.computeEigenvalue()
[ NORMAL ] Initializing a default angular quadrature...
[ NORMAL ] Initializing 2D tracks...
[ NORMAL ] Initializing 2D tracks reflections...
[ NORMAL ] Initializing 2D tracks array...
[ NORMAL ] Ray tracing for 2D track segmentation...
[ NORMAL ] Progress Segmenting 2D tracks: 0.09 %
[ NORMAL ] Progress Segmenting 2D tracks: 10.02 %
[ NORMAL ] Progress Segmenting 2D tracks: 19.94 %
[ NORMAL ] Progress Segmenting 2D tracks: 29.87 %
[ NORMAL ] Progress Segmenting 2D tracks: 39.80 %
[ NORMAL ] Progress Segmenting 2D tracks: 49.72 %
[ NORMAL ] Progress Segmenting 2D tracks: 59.65 %
[ NORMAL ] Progress Segmenting 2D tracks: 69.58 %
[ NORMAL ] Progress Segmenting 2D tracks: 79.50 %
[ NORMAL ] Progress Segmenting 2D tracks: 89.43 %
[ NORMAL ] Progress Segmenting 2D tracks: 100.00 %
[ NORMAL ] Initializing FSR lookup vectors
[ NORMAL ] Total number of FSRs 3
[ RESULT ] Total Track Generation & Segmentation Time...........3.9517E-02 sec
[ NORMAL ] Initializing MOC eigenvalue solver...
[ NORMAL ] Initializing solver arrays...
[ NORMAL ] Centering segments around FSR centroid...
[ NORMAL ] Max boundary angular flux storage per domain = 0.10 MB
[ NORMAL ] Max scalar flux storage per domain = 0.00 MB
[ NORMAL ] Max source storage per domain = 0.00 MB
[ NORMAL ] Number of azimuthal angles = 128
[ NORMAL ] Azimuthal ray spacing = 0.100000
[ NORMAL ] Number of polar angles = 6
[ NORMAL ] Source type = Flat
[ NORMAL ] MOC transport undamped
[ NORMAL ] CMFD acceleration: OFF
[ NORMAL ] Using 1 threads
[ NORMAL ] Computing the eigenvalue...
[ NORMAL ] Iteration 0: k_eff = 0.366880 res = 4.840E-08 delta-k (pcm) =
[ NORMAL ] ... -63312 D.R. = 0.00
[ NORMAL ] Iteration 1: k_eff = 0.391184 res = 9.679E-09 delta-k (pcm) =
[ NORMAL ] ... 2430 D.R. = 0.20
[ NORMAL ] Iteration 2: k_eff = 0.392990 res = 5.807E-08 delta-k (pcm) =
[ NORMAL ] ... 180 D.R. = 6.00
[ NORMAL ] Iteration 3: k_eff = 0.381099 res = 9.195E-08 delta-k (pcm) =
[ NORMAL ] ... -1189 D.R. = 1.58
[ NORMAL ] Iteration 4: k_eff = 0.375018 res = 0.000E+00 delta-k (pcm) =
[ NORMAL ] ... -608 D.R. = 0.00
[ NORMAL ] Iteration 5: k_eff = 0.369593 res = 1.936E-08 delta-k (pcm) =
[ NORMAL ] ... -542 D.R. = inf
[ NORMAL ] Iteration 6: k_eff = 0.365543 res = 1.065E-07 delta-k (pcm) =
[ NORMAL ] ... -405 D.R. = 5.50
[ NORMAL ] Iteration 7: k_eff = 0.363054 res = 1.065E-07 delta-k (pcm) =
[ NORMAL ] ... -248 D.R. = 1.00
[ NORMAL ] Iteration 8: k_eff = 0.361473 res = 1.936E-08 delta-k (pcm) =
[ NORMAL ] ... -158 D.R. = 0.18
[ NORMAL ] Iteration 9: k_eff = 0.361280 res = 5.807E-08 delta-k (pcm) =
[ NORMAL ] ... -19 D.R. = 3.00
[ NORMAL ] Iteration 10: k_eff = 0.362003 res = 1.936E-08 delta-k (pcm) =
[ NORMAL ] ... 72 D.R. = 0.33
[ NORMAL ] Iteration 11: k_eff = 0.363718 res = 4.840E-08 delta-k (pcm) =
[ NORMAL ] ... 171 D.R. = 2.50
[ NORMAL ] Iteration 12: k_eff = 0.366338 res = 1.258E-07 delta-k (pcm) =
[ NORMAL ] ... 262 D.R. = 2.60
[ NORMAL ] Iteration 13: k_eff = 0.369804 res = 9.679E-08 delta-k (pcm) =
[ NORMAL ] ... 346 D.R. = 0.77
[ NORMAL ] Iteration 14: k_eff = 0.373989 res = 3.872E-08 delta-k (pcm) =
[ NORMAL ] ... 418 D.R. = 0.40
[ NORMAL ] Iteration 15: k_eff = 0.378923 res = 0.000E+00 delta-k (pcm) =
[ NORMAL ] ... 493 D.R. = 0.00
[ NORMAL ] Iteration 16: k_eff = 0.384479 res = 3.872E-08 delta-k (pcm) =
[ NORMAL ] ... 555 D.R. = inf
[ NORMAL ] Iteration 17: k_eff = 0.390637 res = 3.872E-08 delta-k (pcm) =
[ NORMAL ] ... 615 D.R. = 1.00
[ NORMAL ] Iteration 18: k_eff = 0.397338 res = 0.000E+00 delta-k (pcm) =
[ NORMAL ] ... 670 D.R. = 0.00
[ NORMAL ] Iteration 19: k_eff = 0.404533 res = 5.807E-08 delta-k (pcm) =
[ NORMAL ] ... 719 D.R. = inf
[ NORMAL ] Iteration 20: k_eff = 0.412184 res = 9.679E-08 delta-k (pcm) =
[ NORMAL ] ... 765 D.R. = 1.67
[ NORMAL ] Iteration 21: k_eff = 0.420253 res = 7.743E-08 delta-k (pcm) =
[ NORMAL ] ... 806 D.R. = 0.80
[ NORMAL ] Iteration 22: k_eff = 0.428686 res = 5.807E-08 delta-k (pcm) =
[ NORMAL ] ... 843 D.R. = 0.75
[ NORMAL ] Iteration 23: k_eff = 0.437462 res = 9.679E-08 delta-k (pcm) =
[ NORMAL ] ... 877 D.R. = 1.67
[ NORMAL ] Iteration 24: k_eff = 0.446538 res = 1.161E-07 delta-k (pcm) =
[ NORMAL ] ... 907 D.R. = 1.20
[ NORMAL ] Iteration 25: k_eff = 0.455883 res = 1.936E-08 delta-k (pcm) =
[ NORMAL ] ... 934 D.R. = 0.17
[ NORMAL ] Iteration 26: k_eff = 0.465469 res = 1.936E-08 delta-k (pcm) =
[ NORMAL ] ... 958 D.R. = 1.00
[ NORMAL ] Iteration 27: k_eff = 0.475265 res = 3.872E-08 delta-k (pcm) =
[ NORMAL ] ... 979 D.R. = 2.00
[ NORMAL ] Iteration 28: k_eff = 0.485246 res = 3.872E-08 delta-k (pcm) =
[ NORMAL ] ... 998 D.R. = 1.00
[ NORMAL ] Iteration 29: k_eff = 0.495385 res = 1.936E-08 delta-k (pcm) =
[ NORMAL ] ... 1013 D.R. = 0.50
[ NORMAL ] Iteration 30: k_eff = 0.505661 res = 7.743E-08 delta-k (pcm) =
[ NORMAL ] ... 1027 D.R. = 4.00
[ NORMAL ] Iteration 31: k_eff = 0.516051 res = 9.679E-08 delta-k (pcm) =
[ NORMAL ] ... 1038 D.R. = 1.25
[ NORMAL ] Iteration 32: k_eff = 0.526534 res = 9.679E-08 delta-k (pcm) =
[ NORMAL ] ... 1048 D.R. = 1.00
[ NORMAL ] Iteration 33: k_eff = 0.537092 res = 9.679E-08 delta-k (pcm) =
[ NORMAL ] ... 1055 D.R. = 1.00
[ NORMAL ] Iteration 34: k_eff = 0.547706 res = 5.807E-08 delta-k (pcm) =
[ NORMAL ] ... 1061 D.R. = 0.60
[ NORMAL ] Iteration 35: k_eff = 0.558361 res = 1.936E-08 delta-k (pcm) =
[ NORMAL ] ... 1065 D.R. = 0.33
[ NORMAL ] Iteration 36: k_eff = 0.569040 res = 5.807E-08 delta-k (pcm) =
[ NORMAL ] ... 1067 D.R. = 3.00
[ NORMAL ] Iteration 37: k_eff = 0.579730 res = 9.679E-08 delta-k (pcm) =
[ NORMAL ] ... 1068 D.R. = 1.67
[ NORMAL ] Iteration 38: k_eff = 0.590416 res = 0.000E+00 delta-k (pcm) =
[ NORMAL ] ... 1068 D.R. = 0.00
[ NORMAL ] Iteration 39: k_eff = 0.601087 res = 9.679E-08 delta-k (pcm) =
[ NORMAL ] ... 1067 D.R. = inf
[ NORMAL ] Iteration 40: k_eff = 0.611731 res = 1.549E-07 delta-k (pcm) =
[ NORMAL ] ... 1064 D.R. = 1.60
[ NORMAL ] Iteration 41: k_eff = 0.622338 res = 7.743E-08 delta-k (pcm) =
[ NORMAL ] ... 1060 D.R. = 0.50
[ NORMAL ] Iteration 42: k_eff = 0.632897 res = 7.743E-08 delta-k (pcm) =
[ NORMAL ] ... 1055 D.R. = 1.00
[ NORMAL ] Iteration 43: k_eff = 0.643400 res = 5.807E-08 delta-k (pcm) =
[ NORMAL ] ... 1050 D.R. = 0.75
[ NORMAL ] Iteration 44: k_eff = 0.653837 res = 0.000E+00 delta-k (pcm) =
[ NORMAL ] ... 1043 D.R. = 0.00
[ NORMAL ] Iteration 45: k_eff = 0.664203 res = 7.743E-08 delta-k (pcm) =
[ NORMAL ] ... 1036 D.R. = inf
[ NORMAL ] Iteration 46: k_eff = 0.674488 res = 9.679E-08 delta-k (pcm) =
[ NORMAL ] ... 1028 D.R. = 1.25
[ NORMAL ] Iteration 47: k_eff = 0.684688 res = 9.679E-08 delta-k (pcm) =
[ NORMAL ] ... 1020 D.R. = 1.00
[ NORMAL ] Iteration 48: k_eff = 0.694796 res = 3.872E-08 delta-k (pcm) =
[ NORMAL ] ... 1010 D.R. = 0.40
[ NORMAL ] Iteration 49: k_eff = 0.704807 res = 3.872E-08 delta-k (pcm) =
[ NORMAL ] ... 1001 D.R. = 1.00
[ NORMAL ] Iteration 50: k_eff = 0.714715 res = 1.936E-08 delta-k (pcm) =
[ NORMAL ] ... 990 D.R. = 0.50
[ NORMAL ] Iteration 51: k_eff = 0.724517 res = 1.936E-08 delta-k (pcm) =
[ NORMAL ] ... 980 D.R. = 1.00
[ NORMAL ] Iteration 52: k_eff = 0.734209 res = 1.936E-08 delta-k (pcm) =
[ NORMAL ] ... 969 D.R. = 1.00
[ NORMAL ] Iteration 53: k_eff = 0.743787 res = 0.000E+00 delta-k (pcm) =
[ NORMAL ] ... 957 D.R. = 0.00
[ NORMAL ] Iteration 54: k_eff = 0.753247 res = 3.872E-08 delta-k (pcm) =
[ NORMAL ] ... 946 D.R. = inf
[ NORMAL ] Iteration 55: k_eff = 0.762588 res = 5.807E-08 delta-k (pcm) =
[ NORMAL ] ... 934 D.R. = 1.50
[ NORMAL ] Iteration 56: k_eff = 0.771806 res = 1.936E-08 delta-k (pcm) =
[ NORMAL ] ... 921 D.R. = 0.33
[ NORMAL ] Iteration 57: k_eff = 0.780901 res = 3.872E-08 delta-k (pcm) =
[ NORMAL ] ... 909 D.R. = 2.00
[ NORMAL ] Iteration 58: k_eff = 0.789868 res = 1.936E-08 delta-k (pcm) =
[ NORMAL ] ... 896 D.R. = 0.50
[ NORMAL ] Iteration 59: k_eff = 0.798708 res = 1.936E-08 delta-k (pcm) =
[ NORMAL ] ... 884 D.R. = 1.00
[ NORMAL ] Iteration 60: k_eff = 0.807419 res = 7.743E-08 delta-k (pcm) =
[ NORMAL ] ... 871 D.R. = 4.00
[ NORMAL ] Iteration 61: k_eff = 0.816000 res = 3.872E-08 delta-k (pcm) =
[ NORMAL ] ... 858 D.R. = 0.50
[ NORMAL ] Iteration 62: k_eff = 0.824450 res = 3.872E-08 delta-k (pcm) =
[ NORMAL ] ... 844 D.R. = 1.00
[ NORMAL ] Iteration 63: k_eff = 0.832768 res = 7.743E-08 delta-k (pcm) =
[ NORMAL ] ... 831 D.R. = 2.00
[ NORMAL ] Iteration 64: k_eff = 0.840954 res = 1.742E-07 delta-k (pcm) =
[ NORMAL ] ... 818 D.R. = 2.25
[ NORMAL ] Iteration 65: k_eff = 0.849008 res = 7.743E-08 delta-k (pcm) =
[ NORMAL ] ... 805 D.R. = 0.44
[ NORMAL ] Iteration 66: k_eff = 0.856930 res = 3.872E-08 delta-k (pcm) =
[ NORMAL ] ... 792 D.R. = 0.50
[ NORMAL ] Iteration 67: k_eff = 0.864720 res = 3.872E-08 delta-k (pcm) =
[ NORMAL ] ... 778 D.R. = 1.00
[ NORMAL ] Iteration 68: k_eff = 0.872378 res = 3.872E-08 delta-k (pcm) =
[ NORMAL ] ... 765 D.R. = 1.00
[ NORMAL ] Iteration 69: k_eff = 0.879905 res = 1.936E-08 delta-k (pcm) =
[ NORMAL ] ... 752 D.R. = 0.50
[ NORMAL ] Iteration 70: k_eff = 0.887301 res = 3.872E-08 delta-k (pcm) =
[ NORMAL ] ... 739 D.R. = 2.00
[ NORMAL ] Iteration 71: k_eff = 0.894566 res = 5.807E-08 delta-k (pcm) =
[ NORMAL ] ... 726 D.R. = 1.50
[ NORMAL ] Iteration 72: k_eff = 0.901702 res = 1.936E-08 delta-k (pcm) =
[ NORMAL ] ... 713 D.R. = 0.33
[ NORMAL ] Iteration 73: k_eff = 0.908710 res = 3.872E-08 delta-k (pcm) =
[ NORMAL ] ... 700 D.R. = 2.00
[ NORMAL ] Iteration 74: k_eff = 0.915590 res = 5.807E-08 delta-k (pcm) =
[ NORMAL ] ... 687 D.R. = 1.50
[ NORMAL ] Iteration 75: k_eff = 0.922342 res = 0.000E+00 delta-k (pcm) =
[ NORMAL ] ... 675 D.R. = 0.00
[ NORMAL ] Iteration 76: k_eff = 0.928971 res = 1.161E-07 delta-k (pcm) =
[ NORMAL ] ... 662 D.R. = inf
[ NORMAL ] Iteration 77: k_eff = 0.935474 res = 1.936E-08 delta-k (pcm) =
[ NORMAL ] ... 650 D.R. = 0.17
[ NORMAL ] Iteration 78: k_eff = 0.941853 res = 1.936E-08 delta-k (pcm) =
[ NORMAL ] ... 637 D.R. = 1.00
[ NORMAL ] Iteration 79: k_eff = 0.948112 res = 9.679E-08 delta-k (pcm) =
[ NORMAL ] ... 625 D.R. = 5.00
[ NORMAL ] Iteration 80: k_eff = 0.954249 res = 1.065E-07 delta-k (pcm) =
[ NORMAL ] ... 613 D.R. = 1.10
[ NORMAL ] Iteration 81: k_eff = 0.960267 res = 9.679E-09 delta-k (pcm) =
[ NORMAL ] ... 601 D.R. = 0.09
[ NORMAL ] Iteration 82: k_eff = 0.966168 res = 7.743E-08 delta-k (pcm) =
[ NORMAL ] ... 590 D.R. = 8.00
[ NORMAL ] Iteration 83: k_eff = 0.971953 res = 5.807E-08 delta-k (pcm) =
[ NORMAL ] ... 578 D.R. = 0.75
[ NORMAL ] Iteration 84: k_eff = 0.977623 res = 1.936E-08 delta-k (pcm) =
[ NORMAL ] ... 566 D.R. = 0.33
[ NORMAL ] Iteration 85: k_eff = 0.983179 res = 2.904E-08 delta-k (pcm) =
[ NORMAL ] ... 555 D.R. = 1.50
[ NORMAL ] Iteration 86: k_eff = 0.988624 res = 0.000E+00 delta-k (pcm) =
[ NORMAL ] ... 544 D.R. = 0.00
[ NORMAL ] Iteration 87: k_eff = 0.993958 res = 6.775E-08 delta-k (pcm) =
[ NORMAL ] ... 533 D.R. = inf
[ NORMAL ] Iteration 88: k_eff = 0.999184 res = 9.679E-09 delta-k (pcm) =
[ NORMAL ] ... 522 D.R. = 0.14
[ NORMAL ] Iteration 89: k_eff = 1.004304 res = 4.840E-08 delta-k (pcm) =
[ NORMAL ] ... 511 D.R. = 5.00
[ NORMAL ] Iteration 90: k_eff = 1.009318 res = 3.872E-08 delta-k (pcm) =
[ NORMAL ] ... 501 D.R. = 0.80
[ NORMAL ] Iteration 91: k_eff = 1.014228 res = 4.840E-08 delta-k (pcm) =
[ NORMAL ] ... 491 D.R. = 1.25
[ NORMAL ] Iteration 92: k_eff = 1.019037 res = 5.807E-08 delta-k (pcm) =
[ NORMAL ] ... 480 D.R. = 1.20
[ NORMAL ] Iteration 93: k_eff = 1.023744 res = 2.904E-08 delta-k (pcm) =
[ NORMAL ] ... 470 D.R. = 0.50
[ NORMAL ] Iteration 94: k_eff = 1.028353 res = 6.775E-08 delta-k (pcm) =
[ NORMAL ] ... 460 D.R. = 2.33
[ NORMAL ] Iteration 95: k_eff = 1.032865 res = 7.743E-08 delta-k (pcm) =
[ NORMAL ] ... 451 D.R. = 1.14
[ NORMAL ] Iteration 96: k_eff = 1.037281 res = 1.355E-07 delta-k (pcm) =
[ NORMAL ] ... 441 D.R. = 1.75
[ NORMAL ] Iteration 97: k_eff = 1.041604 res = 5.807E-08 delta-k (pcm) =
[ NORMAL ] ... 432 D.R. = 0.43
[ NORMAL ] Iteration 98: k_eff = 1.045834 res = 4.840E-08 delta-k (pcm) =
[ NORMAL ] ... 422 D.R. = 0.83
[ NORMAL ] Iteration 99: k_eff = 1.049974 res = 5.807E-08 delta-k (pcm) =
[ NORMAL ] ... 413 D.R. = 1.20
[ NORMAL ] Iteration 100: k_eff = 1.054024 res = 5.807E-08 delta-k (pcm)
[ NORMAL ] ... = 405 D.R. = 1.00
[ NORMAL ] Iteration 101: k_eff = 1.057987 res = 4.840E-08 delta-k (pcm)
[ NORMAL ] ... = 396 D.R. = 0.83
[ NORMAL ] Iteration 102: k_eff = 1.061864 res = 9.679E-09 delta-k (pcm)
[ NORMAL ] ... = 387 D.R. = 0.20
[ NORMAL ] Iteration 103: k_eff = 1.065657 res = 2.904E-08 delta-k (pcm)
[ NORMAL ] ... = 379 D.R. = 3.00
[ NORMAL ] Iteration 104: k_eff = 1.069367 res = 3.872E-08 delta-k (pcm)
[ NORMAL ] ... = 370 D.R. = 1.33
[ NORMAL ] Iteration 105: k_eff = 1.072996 res = 3.872E-08 delta-k (pcm)
[ NORMAL ] ... = 362 D.R. = 1.00
[ NORMAL ] Iteration 106: k_eff = 1.076545 res = 1.936E-08 delta-k (pcm)
[ NORMAL ] ... = 354 D.R. = 0.50
[ NORMAL ] Iteration 107: k_eff = 1.080016 res = 6.775E-08 delta-k (pcm)
[ NORMAL ] ... = 347 D.R. = 3.50
[ NORMAL ] Iteration 108: k_eff = 1.083411 res = 1.161E-07 delta-k (pcm)
[ NORMAL ] ... = 339 D.R. = 1.71
[ NORMAL ] Iteration 109: k_eff = 1.086731 res = 5.807E-08 delta-k (pcm)
[ NORMAL ] ... = 331 D.R. = 0.50
[ NORMAL ] Iteration 110: k_eff = 1.089976 res = 1.936E-08 delta-k (pcm)
[ NORMAL ] ... = 324 D.R. = 0.33
[ NORMAL ] Iteration 111: k_eff = 1.093150 res = 7.743E-08 delta-k (pcm)
[ NORMAL ] ... = 317 D.R. = 4.00
[ NORMAL ] Iteration 112: k_eff = 1.096253 res = 7.743E-08 delta-k (pcm)
[ NORMAL ] ... = 310 D.R. = 1.00
[ NORMAL ] Iteration 113: k_eff = 1.099286 res = 3.872E-08 delta-k (pcm)
[ NORMAL ] ... = 303 D.R. = 0.50
[ NORMAL ] Iteration 114: k_eff = 1.102251 res = 4.840E-08 delta-k (pcm)
[ NORMAL ] ... = 296 D.R. = 1.25
[ NORMAL ] Iteration 115: k_eff = 1.105150 res = 9.679E-09 delta-k (pcm)
[ NORMAL ] ... = 289 D.R. = 0.20
[ NORMAL ] Iteration 116: k_eff = 1.107983 res = 1.452E-07 delta-k (pcm)
[ NORMAL ] ... = 283 D.R. = 15.00
[ NORMAL ] Iteration 117: k_eff = 1.110753 res = 4.840E-08 delta-k (pcm)
[ NORMAL ] ... = 276 D.R. = 0.33
[ NORMAL ] Iteration 118: k_eff = 1.113459 res = 8.711E-08 delta-k (pcm)
[ NORMAL ] ... = 270 D.R. = 1.80
[ NORMAL ] Iteration 119: k_eff = 1.116105 res = 1.065E-07 delta-k (pcm)
[ NORMAL ] ... = 264 D.R. = 1.22
[ NORMAL ] Iteration 120: k_eff = 1.118690 res = 3.872E-08 delta-k (pcm)
[ NORMAL ] ... = 258 D.R. = 0.36
[ NORMAL ] Iteration 121: k_eff = 1.121216 res = 9.679E-09 delta-k (pcm)
[ NORMAL ] ... = 252 D.R. = 0.25
[ NORMAL ] Iteration 122: k_eff = 1.123685 res = 9.679E-09 delta-k (pcm)
[ NORMAL ] ... = 246 D.R. = 1.00
[ NORMAL ] Iteration 123: k_eff = 1.126097 res = 3.872E-08 delta-k (pcm)
[ NORMAL ] ... = 241 D.R. = 4.00
[ NORMAL ] Iteration 124: k_eff = 1.128454 res = 0.000E+00 delta-k (pcm)
[ NORMAL ] ... = 235 D.R. = 0.00
[ NORMAL ] Iteration 125: k_eff = 1.130758 res = 1.936E-08 delta-k (pcm)
[ NORMAL ] ... = 230 D.R. = inf
[ NORMAL ] Iteration 126: k_eff = 1.133008 res = 1.065E-07 delta-k (pcm)
[ NORMAL ] ... = 224 D.R. = 5.50
[ NORMAL ] Iteration 127: k_eff = 1.135207 res = 4.840E-08 delta-k (pcm)
[ NORMAL ] ... = 219 D.R. = 0.45
[ NORMAL ] Iteration 128: k_eff = 1.137354 res = 1.936E-08 delta-k (pcm)
[ NORMAL ] ... = 214 D.R. = 0.40
[ NORMAL ] Iteration 129: k_eff = 1.139453 res = 0.000E+00 delta-k (pcm)
[ NORMAL ] ... = 209 D.R. = 0.00
[ NORMAL ] Iteration 130: k_eff = 1.141503 res = 1.936E-08 delta-k (pcm)
[ NORMAL ] ... = 204 D.R. = inf
[ NORMAL ] Iteration 131: k_eff = 1.143505 res = 2.904E-08 delta-k (pcm)
[ NORMAL ] ... = 200 D.R. = 1.50
[ NORMAL ] Iteration 132: k_eff = 1.145461 res = 5.807E-08 delta-k (pcm)
[ NORMAL ] ... = 195 D.R. = 2.00
[ NORMAL ] Iteration 133: k_eff = 1.147372 res = 8.711E-08 delta-k (pcm)
[ NORMAL ] ... = 191 D.R. = 1.50
[ NORMAL ] Iteration 134: k_eff = 1.149238 res = 1.065E-07 delta-k (pcm)
[ NORMAL ] ... = 186 D.R. = 1.22
[ NORMAL ] Iteration 135: k_eff = 1.151061 res = 1.936E-08 delta-k (pcm)
[ NORMAL ] ... = 182 D.R. = 0.18
[ NORMAL ] Iteration 136: k_eff = 1.152842 res = 1.936E-08 delta-k (pcm)
[ NORMAL ] ... = 178 D.R. = 1.00
[ NORMAL ] Iteration 137: k_eff = 1.154581 res = 3.872E-08 delta-k (pcm)
[ NORMAL ] ... = 173 D.R. = 2.00
[ NORMAL ] Iteration 138: k_eff = 1.156279 res = 9.679E-08 delta-k (pcm)
[ NORMAL ] ... = 169 D.R. = 2.50
[ NORMAL ] Iteration 139: k_eff = 1.157938 res = 7.743E-08 delta-k (pcm)
[ NORMAL ] ... = 165 D.R. = 0.80
[ NORMAL ] Iteration 140: k_eff = 1.159557 res = 1.161E-07 delta-k (pcm)
[ NORMAL ] ... = 161 D.R. = 1.50
[ NORMAL ] Iteration 141: k_eff = 1.161139 res = 3.872E-08 delta-k (pcm)
[ NORMAL ] ... = 158 D.R. = 0.33
[ NORMAL ] Iteration 142: k_eff = 1.162684 res = 3.872E-08 delta-k (pcm)
[ NORMAL ] ... = 154 D.R. = 1.00
[ NORMAL ] Iteration 143: k_eff = 1.164193 res = 1.065E-07 delta-k (pcm)
[ NORMAL ] ... = 150 D.R. = 2.75
[ NORMAL ] Iteration 144: k_eff = 1.165666 res = 9.679E-09 delta-k (pcm)
[ NORMAL ] ... = 147 D.R. = 0.09
[ NORMAL ] Iteration 145: k_eff = 1.167105 res = 1.936E-08 delta-k (pcm)
[ NORMAL ] ... = 143 D.R. = 2.00
[ NORMAL ] Iteration 146: k_eff = 1.168509 res = 7.743E-08 delta-k (pcm)
[ NORMAL ] ... = 140 D.R. = 4.00
[ NORMAL ] Iteration 147: k_eff = 1.169881 res = 9.679E-08 delta-k (pcm)
[ NORMAL ] ... = 137 D.R. = 1.25
[ NORMAL ] Iteration 148: k_eff = 1.171220 res = 9.679E-09 delta-k (pcm)
[ NORMAL ] ... = 133 D.R. = 0.10
[ NORMAL ] Iteration 149: k_eff = 1.172528 res = 5.807E-08 delta-k (pcm)
[ NORMAL ] ... = 130 D.R. = 6.00
[ NORMAL ] Iteration 150: k_eff = 1.173804 res = 9.679E-08 delta-k (pcm)
[ NORMAL ] ... = 127 D.R. = 1.67
[ NORMAL ] Iteration 151: k_eff = 1.175051 res = 7.743E-08 delta-k (pcm)
[ NORMAL ] ... = 124 D.R. = 0.80
[ NORMAL ] Iteration 152: k_eff = 1.176268 res = 7.743E-08 delta-k (pcm)
[ NORMAL ] ... = 121 D.R. = 1.00
[ NORMAL ] Iteration 153: k_eff = 1.177456 res = 7.743E-08 delta-k (pcm)
[ NORMAL ] ... = 118 D.R. = 1.00
[ NORMAL ] Iteration 154: k_eff = 1.178616 res = 4.840E-08 delta-k (pcm)
[ NORMAL ] ... = 115 D.R. = 0.63
[ NORMAL ] Iteration 155: k_eff = 1.179749 res = 5.807E-08 delta-k (pcm)
[ NORMAL ] ... = 113 D.R. = 1.20
[ NORMAL ] Iteration 156: k_eff = 1.180855 res = 4.840E-08 delta-k (pcm)
[ NORMAL ] ... = 110 D.R. = 0.83
[ NORMAL ] Iteration 157: k_eff = 1.181935 res = 9.679E-09 delta-k (pcm)
[ NORMAL ] ... = 107 D.R. = 0.20
[ NORMAL ] Iteration 158: k_eff = 1.182988 res = 2.904E-08 delta-k (pcm)
[ NORMAL ] ... = 105 D.R. = 3.00
[ NORMAL ] Iteration 159: k_eff = 1.184017 res = 1.936E-08 delta-k (pcm)
[ NORMAL ] ... = 102 D.R. = 0.67
[ NORMAL ] Iteration 160: k_eff = 1.185021 res = 2.904E-08 delta-k (pcm)
[ NORMAL ] ... = 100 D.R. = 1.50
[ NORMAL ] Iteration 161: k_eff = 1.186002 res = 1.936E-08 delta-k (pcm)
[ NORMAL ] ... = 98 D.R. = 0.67
[ NORMAL ] Iteration 162: k_eff = 1.186959 res = 4.840E-08 delta-k (pcm)
[ NORMAL ] ... = 95 D.R. = 2.50
[ NORMAL ] Iteration 163: k_eff = 1.187893 res = 6.775E-08 delta-k (pcm)
[ NORMAL ] ... = 93 D.R. = 1.40
[ NORMAL ] Iteration 164: k_eff = 1.188805 res = 8.711E-08 delta-k (pcm)
[ NORMAL ] ... = 91 D.R. = 1.29
[ NORMAL ] Iteration 165: k_eff = 1.189695 res = 1.936E-08 delta-k (pcm)
[ NORMAL ] ... = 89 D.R. = 0.22
[ NORMAL ] Iteration 166: k_eff = 1.190564 res = 3.872E-08 delta-k (pcm)
[ NORMAL ] ... = 86 D.R. = 2.00
[ NORMAL ] Iteration 167: k_eff = 1.191413 res = 7.743E-08 delta-k (pcm)
[ NORMAL ] ... = 84 D.R. = 2.00
[ NORMAL ] Iteration 168: k_eff = 1.192241 res = 0.000E+00 delta-k (pcm)
[ NORMAL ] ... = 82 D.R. = 0.00
[ NORMAL ] Iteration 169: k_eff = 1.193049 res = 1.936E-08 delta-k (pcm)
[ NORMAL ] ... = 80 D.R. = inf
[ NORMAL ] Iteration 170: k_eff = 1.193838 res = 8.711E-08 delta-k (pcm)
[ NORMAL ] ... = 78 D.R. = 4.50
[ NORMAL ] Iteration 171: k_eff = 1.194607 res = 4.840E-08 delta-k (pcm)
[ NORMAL ] ... = 76 D.R. = 0.56
[ NORMAL ] Iteration 172: k_eff = 1.195359 res = 5.807E-08 delta-k (pcm)
[ NORMAL ] ... = 75 D.R. = 1.20
[ NORMAL ] Iteration 173: k_eff = 1.196092 res = 3.872E-08 delta-k (pcm)
[ NORMAL ] ... = 73 D.R. = 0.67
[ NORMAL ] Iteration 174: k_eff = 1.196808 res = 1.355E-07 delta-k (pcm)
[ NORMAL ] ... = 71 D.R. = 3.50
[ NORMAL ] Iteration 175: k_eff = 1.197507 res = 1.161E-07 delta-k (pcm)
[ NORMAL ] ... = 69 D.R. = 0.86
[ NORMAL ] Iteration 176: k_eff = 1.198190 res = 3.872E-08 delta-k (pcm)
[ NORMAL ] ... = 68 D.R. = 0.33
[ NORMAL ] Iteration 177: k_eff = 1.198855 res = 2.904E-08 delta-k (pcm)
[ NORMAL ] ... = 66 D.R. = 0.75
[ NORMAL ] Iteration 178: k_eff = 1.199505 res = 1.936E-08 delta-k (pcm)
[ NORMAL ] ... = 64 D.R. = 0.67
[ NORMAL ] Iteration 179: k_eff = 1.200139 res = 1.258E-07 delta-k (pcm)
[ NORMAL ] ... = 63 D.R. = 6.50
[ NORMAL ] Iteration 180: k_eff = 1.200757 res = 7.743E-08 delta-k (pcm)
[ NORMAL ] ... = 61 D.R. = 0.62
[ NORMAL ] Iteration 181: k_eff = 1.201361 res = 1.936E-08 delta-k (pcm)
[ NORMAL ] ... = 60 D.R. = 0.25
[ NORMAL ] Iteration 182: k_eff = 1.201951 res = 2.904E-08 delta-k (pcm)
[ NORMAL ] ... = 58 D.R. = 1.50
[ NORMAL ] Iteration 183: k_eff = 1.202526 res = 9.679E-09 delta-k (pcm)
[ NORMAL ] ... = 57 D.R. = 0.33
[ NORMAL ] Iteration 184: k_eff = 1.203088 res = 4.840E-08 delta-k (pcm)
[ NORMAL ] ... = 56 D.R. = 5.00
[ NORMAL ] Iteration 185: k_eff = 1.203636 res = 0.000E+00 delta-k (pcm)
[ NORMAL ] ... = 54 D.R. = 0.00
[ NORMAL ] Iteration 186: k_eff = 1.204171 res = 2.904E-08 delta-k (pcm)
[ NORMAL ] ... = 53 D.R. = inf
[ NORMAL ] Iteration 187: k_eff = 1.204692 res = 6.775E-08 delta-k (pcm)
[ NORMAL ] ... = 52 D.R. = 2.33
[ NORMAL ] Iteration 188: k_eff = 1.205202 res = 3.872E-08 delta-k (pcm)
[ NORMAL ] ... = 50 D.R. = 0.57
[ NORMAL ] Iteration 189: k_eff = 1.205698 res = 1.936E-08 delta-k (pcm)
[ NORMAL ] ... = 49 D.R. = 0.50
[ NORMAL ] Iteration 190: k_eff = 1.206183 res = 9.679E-09 delta-k (pcm)
[ NORMAL ] ... = 48 D.R. = 0.50
[ NORMAL ] Iteration 191: k_eff = 1.206656 res = 5.807E-08 delta-k (pcm)
[ NORMAL ] ... = 47 D.R. = 6.00
[ NORMAL ] Iteration 192: k_eff = 1.207118 res = 0.000E+00 delta-k (pcm)
[ NORMAL ] ... = 46 D.R. = 0.00
[ NORMAL ] Iteration 193: k_eff = 1.207570 res = 8.711E-08 delta-k (pcm)
[ NORMAL ] ... = 45 D.R. = inf
[ NORMAL ] Iteration 194: k_eff = 1.208010 res = 2.904E-08 delta-k (pcm)
[ NORMAL ] ... = 44 D.R. = 0.33
[ NORMAL ] Iteration 195: k_eff = 1.208439 res = 3.872E-08 delta-k (pcm)
[ NORMAL ] ... = 42 D.R. = 1.33
[ NORMAL ] Iteration 196: k_eff = 1.208858 res = 1.936E-08 delta-k (pcm)
[ NORMAL ] ... = 41 D.R. = 0.50
[ NORMAL ] Iteration 197: k_eff = 1.209267 res = 2.904E-08 delta-k (pcm)
[ NORMAL ] ... = 40 D.R. = 1.50
[ NORMAL ] Iteration 198: k_eff = 1.209665 res = 3.872E-08 delta-k (pcm)
[ NORMAL ] ... = 39 D.R. = 1.33
[ NORMAL ] Iteration 199: k_eff = 1.210055 res = 5.807E-08 delta-k (pcm)
[ NORMAL ] ... = 38 D.R. = 1.50
[ NORMAL ] Iteration 200: k_eff = 1.210435 res = 9.679E-09 delta-k (pcm)
[ NORMAL ] ... = 37 D.R. = 0.17
[ NORMAL ] Iteration 201: k_eff = 1.210805 res = 8.711E-08 delta-k (pcm)
[ NORMAL ] ... = 37 D.R. = 9.00
[ NORMAL ] Iteration 202: k_eff = 1.211167 res = 9.679E-09 delta-k (pcm)
[ NORMAL ] ... = 36 D.R. = 0.11
[ NORMAL ] Iteration 203: k_eff = 1.211520 res = 4.840E-08 delta-k (pcm)
[ NORMAL ] ... = 35 D.R. = 5.00
[ NORMAL ] Iteration 204: k_eff = 1.211864 res = 2.904E-08 delta-k (pcm)
[ NORMAL ] ... = 34 D.R. = 0.60
[ NORMAL ] Iteration 205: k_eff = 1.212200 res = 1.936E-08 delta-k (pcm)
[ NORMAL ] ... = 33 D.R. = 0.67
[ NORMAL ] Iteration 206: k_eff = 1.212528 res = 4.840E-08 delta-k (pcm)
[ NORMAL ] ... = 32 D.R. = 2.50
[ NORMAL ] Iteration 207: k_eff = 1.212848 res = 7.743E-08 delta-k (pcm)
[ NORMAL ] ... = 32 D.R. = 1.60
[ NORMAL ] Iteration 208: k_eff = 1.213160 res = 1.936E-08 delta-k (pcm)
[ NORMAL ] ... = 31 D.R. = 0.25
[ NORMAL ] Iteration 209: k_eff = 1.213466 res = 1.065E-07 delta-k (pcm)
[ NORMAL ] ... = 30 D.R. = 5.50
[ NORMAL ] Iteration 210: k_eff = 1.213763 res = 5.807E-08 delta-k (pcm)
[ NORMAL ] ... = 29 D.R. = 0.55
[ NORMAL ] Iteration 211: k_eff = 1.214053 res = 9.679E-08 delta-k (pcm)
[ NORMAL ] ... = 29 D.R. = 1.67
[ NORMAL ] Iteration 212: k_eff = 1.214337 res = 2.904E-08 delta-k (pcm)
[ NORMAL ] ... = 28 D.R. = 0.30
[ NORMAL ] Iteration 213: k_eff = 1.214614 res = 6.775E-08 delta-k (pcm)
[ NORMAL ] ... = 27 D.R. = 2.33
[ NORMAL ] Iteration 214: k_eff = 1.214883 res = 8.711E-08 delta-k (pcm)
[ NORMAL ] ... = 26 D.R. = 1.29
[ NORMAL ] Iteration 215: k_eff = 1.215145 res = 4.840E-08 delta-k (pcm)
[ NORMAL ] ... = 26 D.R. = 0.56
[ NORMAL ] Iteration 216: k_eff = 1.215402 res = 1.936E-08 delta-k (pcm)
[ NORMAL ] ... = 25 D.R. = 0.40
[ NORMAL ] Iteration 217: k_eff = 1.215653 res = 5.807E-08 delta-k (pcm)
[ NORMAL ] ... = 25 D.R. = 3.00
[ NORMAL ] Iteration 218: k_eff = 1.215897 res = 1.258E-07 delta-k (pcm)
[ NORMAL ] ... = 24 D.R. = 2.17
[ NORMAL ] Iteration 219: k_eff = 1.216136 res = 9.679E-08 delta-k (pcm)
[ NORMAL ] ... = 23 D.R. = 0.77
[ NORMAL ] Iteration 220: k_eff = 1.216368 res = 7.743E-08 delta-k (pcm)
[ NORMAL ] ... = 23 D.R. = 0.80
[ NORMAL ] Iteration 221: k_eff = 1.216595 res = 1.936E-08 delta-k (pcm)
[ NORMAL ] ... = 22 D.R. = 0.25
[ NORMAL ] Iteration 222: k_eff = 1.216817 res = 5.807E-08 delta-k (pcm)
[ NORMAL ] ... = 22 D.R. = 3.00
[ NORMAL ] Iteration 223: k_eff = 1.217033 res = 1.936E-08 delta-k (pcm)
[ NORMAL ] ... = 21 D.R. = 0.33
[ NORMAL ] Iteration 224: k_eff = 1.217244 res = 7.743E-08 delta-k (pcm)
[ NORMAL ] ... = 21 D.R. = 4.00
[ NORMAL ] Iteration 225: k_eff = 1.217450 res = 5.807E-08 delta-k (pcm)
[ NORMAL ] ... = 20 D.R. = 0.75
[ NORMAL ] Iteration 226: k_eff = 1.217651 res = 9.679E-09 delta-k (pcm)
[ NORMAL ] ... = 20 D.R. = 0.17
[ NORMAL ] Iteration 227: k_eff = 1.217847 res = 3.872E-08 delta-k (pcm)
[ NORMAL ] ... = 19 D.R. = 4.00
[ NORMAL ] Iteration 228: k_eff = 1.218039 res = 9.679E-08 delta-k (pcm)
[ NORMAL ] ... = 19 D.R. = 2.50
[ NORMAL ] Iteration 229: k_eff = 1.218225 res = 1.936E-08 delta-k (pcm)
[ NORMAL ] ... = 18 D.R. = 0.20
[ NORMAL ] Iteration 230: k_eff = 1.218407 res = 4.840E-08 delta-k (pcm)
[ NORMAL ] ... = 18 D.R. = 2.50
[ NORMAL ] Iteration 231: k_eff = 1.218585 res = 4.840E-08 delta-k (pcm)
[ NORMAL ] ... = 17 D.R. = 1.00
[ NORMAL ] Iteration 232: k_eff = 1.218758 res = 6.775E-08 delta-k (pcm)
[ NORMAL ] ... = 17 D.R. = 1.40
[ NORMAL ] Iteration 233: k_eff = 1.218927 res = 4.840E-08 delta-k (pcm)
[ NORMAL ] ... = 16 D.R. = 0.71
[ NORMAL ] Iteration 234: k_eff = 1.219092 res = 4.840E-08 delta-k (pcm)
[ NORMAL ] ... = 16 D.R. = 1.00
[ NORMAL ] Iteration 235: k_eff = 1.219253 res = 6.775E-08 delta-k (pcm)
[ NORMAL ] ... = 16 D.R. = 1.40
[ NORMAL ] Iteration 236: k_eff = 1.219410 res = 3.872E-08 delta-k (pcm)
[ NORMAL ] ... = 15 D.R. = 0.57
[ NORMAL ] Iteration 237: k_eff = 1.219563 res = 1.936E-08 delta-k (pcm)
[ NORMAL ] ... = 15 D.R. = 0.50
[ NORMAL ] Iteration 238: k_eff = 1.219712 res = 0.000E+00 delta-k (pcm)
[ NORMAL ] ... = 14 D.R. = 0.00
[ NORMAL ] Iteration 239: k_eff = 1.219858 res = 0.000E+00 delta-k (pcm)
[ NORMAL ] ... = 14 D.R. = -nan
[ NORMAL ] Iteration 240: k_eff = 1.220000 res = 7.743E-08 delta-k (pcm)
[ NORMAL ] ... = 14 D.R. = inf
[ NORMAL ] Iteration 241: k_eff = 1.220139 res = 8.711E-08 delta-k (pcm)
[ NORMAL ] ... = 13 D.R. = 1.13
[ NORMAL ] Iteration 242: k_eff = 1.220274 res = 9.679E-08 delta-k (pcm)
[ NORMAL ] ... = 13 D.R. = 1.11
[ NORMAL ] Iteration 243: k_eff = 1.220407 res = 1.065E-07 delta-k (pcm)
[ NORMAL ] ... = 13 D.R. = 1.10
[ NORMAL ] Iteration 244: k_eff = 1.220536 res = 6.775E-08 delta-k (pcm)
[ NORMAL ] ... = 12 D.R. = 0.64
[ NORMAL ] Iteration 245: k_eff = 1.220662 res = 2.904E-08 delta-k (pcm)
[ NORMAL ] ... = 12 D.R. = 0.43
[ NORMAL ] Iteration 246: k_eff = 1.220784 res = 1.936E-08 delta-k (pcm)
[ NORMAL ] ... = 12 D.R. = 0.67
[ NORMAL ] Iteration 247: k_eff = 1.220904 res = 1.936E-08 delta-k (pcm)
[ NORMAL ] ... = 11 D.R. = 1.00
[ NORMAL ] Iteration 248: k_eff = 1.221021 res = 6.775E-08 delta-k (pcm)
[ NORMAL ] ... = 11 D.R. = 3.50
[ NORMAL ] Iteration 249: k_eff = 1.221135 res = 9.679E-08 delta-k (pcm)
[ NORMAL ] ... = 11 D.R. = 1.43
[ NORMAL ] Iteration 250: k_eff = 1.221246 res = 7.743E-08 delta-k (pcm)
[ NORMAL ] ... = 11 D.R. = 0.80
[ NORMAL ] Iteration 251: k_eff = 1.221355 res = 6.775E-08 delta-k (pcm)
[ NORMAL ] ... = 10 D.R. = 0.87
[ NORMAL ] Iteration 252: k_eff = 1.221461 res = 2.904E-08 delta-k (pcm)
[ NORMAL ] ... = 10 D.R. = 0.43
[ NORMAL ] Iteration 253: k_eff = 1.221564 res = 4.840E-08 delta-k (pcm)
[ NORMAL ] ... = 10 D.R. = 1.67
[ NORMAL ] Iteration 254: k_eff = 1.221665 res = 1.936E-08 delta-k (pcm)
[ NORMAL ] ... = 10 D.R. = 0.40
[ NORMAL ] Iteration 255: k_eff = 1.221763 res = 0.000E+00 delta-k (pcm)
[ NORMAL ] ... = 9 D.R. = 0.00
[ NORMAL ] Iteration 256: k_eff = 1.221859 res = 4.840E-08 delta-k (pcm)
[ NORMAL ] ... = 9 D.R. = inf
[ NORMAL ] Iteration 257: k_eff = 1.221953 res = 4.840E-08 delta-k (pcm)
[ NORMAL ] ... = 9 D.R. = 1.00
[ NORMAL ] Iteration 258: k_eff = 1.222044 res = 1.936E-08 delta-k (pcm)
[ NORMAL ] ... = 9 D.R. = 0.40
[ NORMAL ] Iteration 259: k_eff = 1.222133 res = 2.904E-08 delta-k (pcm)
[ NORMAL ] ... = 8 D.R. = 1.50
[ NORMAL ] Iteration 260: k_eff = 1.222220 res = 0.000E+00 delta-k (pcm)
[ NORMAL ] ... = 8 D.R. = 0.00
[ NORMAL ] Iteration 261: k_eff = 1.222305 res = 5.807E-08 delta-k (pcm)
[ NORMAL ] ... = 8 D.R. = inf
[ NORMAL ] Iteration 262: k_eff = 1.222387 res = 6.775E-08 delta-k (pcm)
[ NORMAL ] ... = 8 D.R. = 1.17
[ NORMAL ] Iteration 263: k_eff = 1.222468 res = 1.839E-07 delta-k (pcm)
[ NORMAL ] ... = 8 D.R. = 2.71
[ NORMAL ] Iteration 264: k_eff = 1.222547 res = 2.904E-08 delta-k (pcm)
[ NORMAL ] ... = 7 D.R. = 0.16
[ NORMAL ] Iteration 265: k_eff = 1.222624 res = 2.904E-08 delta-k (pcm)
[ NORMAL ] ... = 7 D.R. = 1.00
[ NORMAL ] Iteration 266: k_eff = 1.222699 res = 9.679E-09 delta-k (pcm)
[ NORMAL ] ... = 7 D.R. = 0.33
[ NORMAL ] Iteration 267: k_eff = 1.222772 res = 5.807E-08 delta-k (pcm)
[ NORMAL ] ... = 7 D.R. = 6.00
[ NORMAL ] Iteration 268: k_eff = 1.222844 res = 6.775E-08 delta-k (pcm)
[ NORMAL ] ... = 7 D.R. = 1.17
[ NORMAL ] Iteration 269: k_eff = 1.222913 res = 1.452E-07 delta-k (pcm)
[ NORMAL ] ... = 6 D.R. = 2.14
[ NORMAL ] Iteration 270: k_eff = 1.222981 res = 5.807E-08 delta-k (pcm)
[ NORMAL ] ... = 6 D.R. = 0.40
[ NORMAL ] Iteration 271: k_eff = 1.223048 res = 9.679E-09 delta-k (pcm)
[ NORMAL ] ... = 6 D.R. = 0.17
[ NORMAL ] Iteration 272: k_eff = 1.223113 res = 2.904E-08 delta-k (pcm)
[ NORMAL ] ... = 6 D.R. = 3.00
[ NORMAL ] Iteration 273: k_eff = 1.223176 res = 3.872E-08 delta-k (pcm)
[ NORMAL ] ... = 6 D.R. = 1.33
[ NORMAL ] Iteration 274: k_eff = 1.223238 res = 3.872E-08 delta-k (pcm)
[ NORMAL ] ... = 6 D.R. = 1.00
[ NORMAL ] Iteration 275: k_eff = 1.223298 res = 3.872E-08 delta-k (pcm)
[ NORMAL ] ... = 6 D.R. = 1.00
[ NORMAL ] Iteration 276: k_eff = 1.223357 res = 3.872E-08 delta-k (pcm)
[ NORMAL ] ... = 5 D.R. = 1.00
[ NORMAL ] Iteration 277: k_eff = 1.223414 res = 1.936E-08 delta-k (pcm)
[ NORMAL ] ... = 5 D.R. = 0.50
[ NORMAL ] Iteration 278: k_eff = 1.223470 res = 2.904E-08 delta-k (pcm)
[ NORMAL ] ... = 5 D.R. = 1.50
[ NORMAL ] Iteration 279: k_eff = 1.223524 res = 4.840E-08 delta-k (pcm)
[ NORMAL ] ... = 5 D.R. = 1.67
[ NORMAL ] Iteration 280: k_eff = 1.223577 res = 9.679E-09 delta-k (pcm)
[ NORMAL ] ... = 5 D.R. = 0.20
[ NORMAL ] Iteration 281: k_eff = 1.223629 res = 4.840E-08 delta-k (pcm)
[ NORMAL ] ... = 5 D.R. = 5.00
[ NORMAL ] Iteration 282: k_eff = 1.223680 res = 1.258E-07 delta-k (pcm)
[ NORMAL ] ... = 5 D.R. = 2.60
[ NORMAL ] Iteration 283: k_eff = 1.223729 res = 9.679E-08 delta-k (pcm)
[ NORMAL ] ... = 4 D.R. = 0.77
[ NORMAL ] Iteration 284: k_eff = 1.223777 res = 6.775E-08 delta-k (pcm)
[ NORMAL ] ... = 4 D.R. = 0.70
[ NORMAL ] Iteration 285: k_eff = 1.223824 res = 6.775E-08 delta-k (pcm)
[ NORMAL ] ... = 4 D.R. = 1.00
[ NORMAL ] Iteration 286: k_eff = 1.223870 res = 6.775E-08 delta-k (pcm)
[ NORMAL ] ... = 4 D.R. = 1.00
[ NORMAL ] Iteration 287: k_eff = 1.223915 res = 1.936E-08 delta-k (pcm)
[ NORMAL ] ... = 4 D.R. = 0.29
[ NORMAL ] Iteration 288: k_eff = 1.223959 res = 0.000E+00 delta-k (pcm)
[ NORMAL ] ... = 4 D.R. = 0.00
[ NORMAL ] Iteration 289: k_eff = 1.224001 res = 4.840E-08 delta-k (pcm)
[ NORMAL ] ... = 4 D.R. = inf
[ NORMAL ] Iteration 290: k_eff = 1.224043 res = 1.355E-07 delta-k (pcm)
[ NORMAL ] ... = 4 D.R. = 2.80
[ NORMAL ] Iteration 291: k_eff = 1.224083 res = 7.743E-08 delta-k (pcm)
[ NORMAL ] ... = 4 D.R. = 0.57
[ NORMAL ] Iteration 292: k_eff = 1.224123 res = 2.904E-08 delta-k (pcm)
[ NORMAL ] ... = 3 D.R. = 0.37
[ NORMAL ] Iteration 293: k_eff = 1.224161 res = 3.872E-08 delta-k (pcm)
[ NORMAL ] ... = 3 D.R. = 1.33
[ NORMAL ] Iteration 294: k_eff = 1.224199 res = 7.743E-08 delta-k (pcm)
[ NORMAL ] ... = 3 D.R. = 2.00
[ NORMAL ] Iteration 295: k_eff = 1.224235 res = 3.872E-08 delta-k (pcm)
[ NORMAL ] ... = 3 D.R. = 0.50
[ NORMAL ] Iteration 296: k_eff = 1.224271 res = 6.775E-08 delta-k (pcm)
[ NORMAL ] ... = 3 D.R. = 1.75
[ NORMAL ] Iteration 297: k_eff = 1.224306 res = 1.161E-07 delta-k (pcm)
[ NORMAL ] ... = 3 D.R. = 1.71
[ NORMAL ] Iteration 298: k_eff = 1.224340 res = 9.679E-09 delta-k (pcm)
[ NORMAL ] ... = 3 D.R. = 0.08
[ NORMAL ] Iteration 299: k_eff = 1.224373 res = 1.936E-08 delta-k (pcm)
[ NORMAL ] ... = 3 D.R. = 2.00
[ NORMAL ] Iteration 300: k_eff = 1.224406 res = 1.065E-07 delta-k (pcm)
[ NORMAL ] ... = 3 D.R. = 5.50
[ NORMAL ] Iteration 301: k_eff = 1.224438 res = 8.711E-08 delta-k (pcm)
[ NORMAL ] ... = 3 D.R. = 0.82
[ NORMAL ] Iteration 302: k_eff = 1.224468 res = 6.775E-08 delta-k (pcm)
[ NORMAL ] ... = 3 D.R. = 0.78
[ NORMAL ] Iteration 303: k_eff = 1.224498 res = 4.840E-08 delta-k (pcm)
[ NORMAL ] ... = 3 D.R. = 0.71
[ NORMAL ] Iteration 304: k_eff = 1.224528 res = 1.936E-08 delta-k (pcm)
[ NORMAL ] ... = 2 D.R. = 0.40
[ NORMAL ] Iteration 305: k_eff = 1.224557 res = 5.807E-08 delta-k (pcm)
[ NORMAL ] ... = 2 D.R. = 3.00
[ NORMAL ] Iteration 306: k_eff = 1.224585 res = 4.840E-08 delta-k (pcm)
[ NORMAL ] ... = 2 D.R. = 0.83
[ NORMAL ] Iteration 307: k_eff = 1.224612 res = 9.679E-09 delta-k (pcm)
[ NORMAL ] ... = 2 D.R. = 0.20
[ NORMAL ] Iteration 308: k_eff = 1.224639 res = 2.904E-08 delta-k (pcm)
[ NORMAL ] ... = 2 D.R. = 3.00
[ NORMAL ] Iteration 309: k_eff = 1.224665 res = 9.679E-08 delta-k (pcm)
[ NORMAL ] ... = 2 D.R. = 3.33
[ NORMAL ] Iteration 310: k_eff = 1.224691 res = 7.743E-08 delta-k (pcm)
[ NORMAL ] ... = 2 D.R. = 0.80
[ NORMAL ] Iteration 311: k_eff = 1.224716 res = 3.872E-08 delta-k (pcm)
[ NORMAL ] ... = 2 D.R. = 0.50
[ NORMAL ] Iteration 312: k_eff = 1.224740 res = 2.904E-08 delta-k (pcm)
[ NORMAL ] ... = 2 D.R. = 0.75
[ NORMAL ] Iteration 313: k_eff = 1.224764 res = 1.161E-07 delta-k (pcm)
[ NORMAL ] ... = 2 D.R. = 4.00
[ NORMAL ] Iteration 314: k_eff = 1.224786 res = 1.936E-08 delta-k (pcm)
[ NORMAL ] ... = 2 D.R. = 0.17
[ NORMAL ] Iteration 315: k_eff = 1.224809 res = 2.904E-08 delta-k (pcm)
[ NORMAL ] ... = 2 D.R. = 1.50
[ NORMAL ] Iteration 316: k_eff = 1.224831 res = 1.065E-07 delta-k (pcm)
[ NORMAL ] ... = 2 D.R. = 3.67
[ NORMAL ] Iteration 317: k_eff = 1.224852 res = 1.161E-07 delta-k (pcm)
[ NORMAL ] ... = 2 D.R. = 1.09
[ NORMAL ] Iteration 318: k_eff = 1.224873 res = 0.000E+00 delta-k (pcm)
[ NORMAL ] ... = 2 D.R. = 0.00
[ NORMAL ] Iteration 319: k_eff = 1.224893 res = 7.743E-08 delta-k (pcm)
[ NORMAL ] ... = 2 D.R. = inf
[ NORMAL ] Iteration 320: k_eff = 1.224913 res = 4.840E-08 delta-k (pcm)
[ NORMAL ] ... = 1 D.R. = 0.63
[ NORMAL ] Iteration 321: k_eff = 1.224932 res = 6.775E-08 delta-k (pcm)
[ NORMAL ] ... = 1 D.R. = 1.40
[ NORMAL ] Iteration 322: k_eff = 1.224951 res = 8.711E-08 delta-k (pcm)
[ NORMAL ] ... = 1 D.R. = 1.29
[ NORMAL ] Iteration 323: k_eff = 1.224969 res = 9.679E-09 delta-k (pcm)
[ NORMAL ] ... = 1 D.R. = 0.11
[ NORMAL ] Iteration 324: k_eff = 1.224987 res = 7.743E-08 delta-k (pcm)
[ NORMAL ] ... = 1 D.R. = 8.00
[ NORMAL ] Iteration 325: k_eff = 1.225005 res = 1.936E-08 delta-k (pcm)
[ NORMAL ] ... = 1 D.R. = 0.25
[ NORMAL ] Iteration 326: k_eff = 1.225022 res = 9.679E-09 delta-k (pcm)
[ NORMAL ] ... = 1 D.R. = 0.50
[ NORMAL ] Iteration 327: k_eff = 1.225039 res = 1.936E-08 delta-k (pcm)
[ NORMAL ] ... = 1 D.R. = 2.00
[ NORMAL ] Iteration 328: k_eff = 1.225055 res = 5.807E-08 delta-k (pcm)
[ NORMAL ] ... = 1 D.R. = 3.00
[ NORMAL ] Iteration 329: k_eff = 1.225071 res = 1.065E-07 delta-k (pcm)
[ NORMAL ] ... = 1 D.R. = 1.83
[ NORMAL ] Iteration 330: k_eff = 1.225086 res = 2.904E-08 delta-k (pcm)
[ NORMAL ] ... = 1 D.R. = 0.27
[ NORMAL ] Iteration 331: k_eff = 1.225102 res = 2.904E-08 delta-k (pcm)
[ NORMAL ] ... = 1 D.R. = 1.00
[ NORMAL ] Iteration 332: k_eff = 1.225116 res = 2.904E-08 delta-k (pcm)
[ NORMAL ] ... = 1 D.R. = 1.00
[ NORMAL ] Iteration 333: k_eff = 1.225131 res = 5.807E-08 delta-k (pcm)
[ NORMAL ] ... = 1 D.R. = 2.00
[ NORMAL ] Iteration 334: k_eff = 1.225145 res = 4.840E-08 delta-k (pcm)
[ NORMAL ] ... = 1 D.R. = 0.83
[ NORMAL ] Iteration 335: k_eff = 1.225159 res = 9.679E-09 delta-k (pcm)
[ NORMAL ] ... = 1 D.R. = 0.20
[ NORMAL ] Iteration 336: k_eff = 1.225172 res = 5.807E-08 delta-k (pcm)
[ NORMAL ] ... = 1 D.R. = 6.00
[ NORMAL ] Iteration 337: k_eff = 1.225185 res = 1.355E-07 delta-k (pcm)
[ NORMAL ] ... = 1 D.R. = 2.33
[ NORMAL ] Iteration 338: k_eff = 1.225198 res = 1.258E-07 delta-k (pcm)
[ NORMAL ] ... = 1 D.R. = 0.93
[ NORMAL ] Iteration 339: k_eff = 1.225210 res = 0.000E+00 delta-k (pcm)
[ NORMAL ] ... = 1 D.R. = 0.00
[ NORMAL ] Iteration 340: k_eff = 1.225222 res = 9.679E-09 delta-k (pcm)
[ NORMAL ] ... = 1 D.R. = inf
[ NORMAL ] Iteration 341: k_eff = 1.225233 res = 3.872E-08 delta-k (pcm)
[ NORMAL ] ... = 1 D.R. = 4.00
[ NORMAL ] Iteration 342: k_eff = 1.225245 res = 1.936E-08 delta-k (pcm)
[ NORMAL ] ... = 1 D.R. = 0.50
[ NORMAL ] Iteration 343: k_eff = 1.225256 res = 0.000E+00 delta-k (pcm)
[ NORMAL ] ... = 1 D.R. = 0.00
[ NORMAL ] Iteration 344: k_eff = 1.225267 res = 7.743E-08 delta-k (pcm)
[ NORMAL ] ... = 1 D.R. = inf
[ NORMAL ] Iteration 345: k_eff = 1.225278 res = 2.904E-08 delta-k (pcm)
[ NORMAL ] ... = 1 D.R. = 0.38
[ NORMAL ] Iteration 346: k_eff = 1.225288 res = 3.872E-08 delta-k (pcm)
[ NORMAL ] ... = 1 D.R. = 1.33
[ NORMAL ] Iteration 347: k_eff = 1.225298 res = 1.936E-08 delta-k (pcm)
[ NORMAL ] ... = 0 D.R. = 0.50
[27]:
# Print report of keff and bias with OpenMC
openmoc_keff = solver.getKeff()
openmc_keff = sp.k_combined.n
bias = (openmoc_keff - openmc_keff) * 1e5
print('openmc keff = {0:1.6f}'.format(openmc_keff))
print('openmoc keff = {0:1.6f}'.format(openmoc_keff))
print('bias [pcm]: {0:1.1f}'.format(bias))
openmc keff = 1.224484
openmoc keff = 1.225298
bias [pcm]: 81.4
There is a non-trivial bias in both the 2-group and 8-group cases. In the case of a pin cell, one can show that these biases do not converge to <100 pcm with more particle histories. For heterogeneous geometries, additional measures must be taken to address the following three sources of bias:
- Appropriate transport-corrected cross sections
- Spatial discretization of OpenMOC’s mesh
- Constant-in-angle multi-group cross sections
Visualizing MGXS Data¶
It is often insightful to generate visual depictions of multi-group cross sections. There are many different types of plots which may be useful for multi-group cross section visualization, only a few of which will be shown here for enrichment and inspiration.
One particularly useful visualization is a comparison of the continuous-energy and multi-group cross sections for a particular nuclide and reaction type. We illustrate one option for generating such plots with the use of the openmc.plotter
module to plot continuous-energy cross sections from the openly available cross section library distributed by NNDC.
The MGXS data can also be plotted using the openmc.plot_xs command, however we will do this manually here to show how the openmc.Mgxs.get_xs method can be used to obtain data.
[28]:
# Create a figure of the U-235 continuous-energy fission cross section
fig = openmc.plot_xs('U235', ['fission'])
# Get the axis to use for plotting the MGXS
ax = fig.gca()
# Extract energy group bounds and MGXS values to plot
fission = xs_library[fuel_cell.id]['fission']
energy_groups = fission.energy_groups
x = energy_groups.group_edges
y = fission.get_xs(nuclides=['U235'], order_groups='decreasing', xs_type='micro')
y = np.squeeze(y)
# Fix low energy bound
x[0] = 1.e-5
# Extend the mgxs values array for matplotlib's step plot
y = np.insert(y, 0, y[0])
# Create a step plot for the MGXS
ax.plot(x, y, drawstyle='steps', color='r', linewidth=3)
ax.set_title('U-235 Fission Cross Section')
ax.legend(['Continuous', 'Multi-Group'])
ax.set_xlim((x.min(), x.max()))
[28]:
(1e-05, 20000000.0)
Another useful type of illustration is scattering matrix sparsity structures. First, we extract Pandas DataFrames
for the H-1 and O-16 scattering matrices.
[29]:
# Construct a Pandas DataFrame for the microscopic nu-scattering matrix
nuscatter = xs_library[moderator_cell.id]['nu-scatter']
df = nuscatter.get_pandas_dataframe(xs_type='micro')
# Slice DataFrame in two for each nuclide's mean values
h1 = df[df['nuclide'] == 'H1']['mean']
o16 = df[df['nuclide'] == 'O16']['mean']
# Cast DataFrames as NumPy arrays
h1 = h1.values
o16 = o16.values
# Reshape arrays to 2D matrix for plotting
h1.shape = (fine_groups.num_groups, fine_groups.num_groups)
o16.shape = (fine_groups.num_groups, fine_groups.num_groups)
Matplotlib’s imshow
routine can be used to plot the matrices to illustrate their sparsity structures.
[30]:
# Create plot of the H-1 scattering matrix
fig = plt.subplot(121)
fig.imshow(h1, interpolation='nearest', cmap='jet')
plt.title('H-1 Scattering Matrix')
plt.xlabel('Group Out')
plt.ylabel('Group In')
# Create plot of the O-16 scattering matrix
fig2 = plt.subplot(122)
fig2.imshow(o16, interpolation='nearest', cmap='jet')
plt.title('O-16 Scattering Matrix')
plt.xlabel('Group Out')
plt.ylabel('Group In')
# Show the plot on screen
plt.show()