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)
../_images/examples_mgxs-part-ii_59_1.png

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()
../_images/examples_mgxs-part-ii_63_0.png