From a8812bb4a9acbcab717b0ef5ec99db6cce72833c Mon Sep 17 00:00:00 2001 From: Adam Nelson Date: Sun, 13 Nov 2016 20:58:41 -0500 Subject: [PATCH 01/14] Added ability to read MGXSLibrary object from file --- openmc/data/reaction.py | 2 +- openmc/mgxs_library.py | 199 +++++++++++++++++++++++++++++++++++++--- 2 files changed, 189 insertions(+), 12 deletions(-) diff --git a/openmc/data/reaction.py b/openmc/data/reaction.py index 23b864bf3..e2f2d98e0 100644 --- a/openmc/data/reaction.py +++ b/openmc/data/reaction.py @@ -817,7 +817,7 @@ class Reaction(EqualityMixin): Parameters ---------- group : h5py.Group - HDF5 group to write to + HDF5 group to read from energy : dict Dictionary whose keys are temperatures (e.g., '300K') and values are arrays of energies at which cross sections are tabulated at. diff --git a/openmc/mgxs_library.py b/openmc/mgxs_library.py index 1f13e18ee..a2c7c2dc9 100644 --- a/openmc/mgxs_library.py +++ b/openmc/mgxs_library.py @@ -1,6 +1,4 @@ -from collections import Iterable from numbers import Real, Integral -import sys from six import string_types import numpy as np @@ -42,7 +40,7 @@ class XSdata(object): ---------- name : str Unique identifier for the xsdata object - aromic_weight_ratio : float + atomic_weight_ratio : float Atomic weight ratio of an isotope. That is, the ratio of the mass of the isotope to the mass of a single neutron. temperatures : numpy.ndarray @@ -304,7 +302,7 @@ class XSdata(object): # If representation is by angle prepend num polar and num azim if self.representation == 'angle': - for key,shapes in self._xs_shapes.items(): + for key, shapes in self._xs_shapes.items(): self._xs_shapes[key] \ = (self.num_polar, self.num_azimuthal) + shapes @@ -332,7 +330,7 @@ class XSdata(object): def num_delayed_groups(self, num_delayed_groups): # Check validity of num_delayed_groups - check_type('num_delayed_groups', num_delayed_groups, int) + check_type('num_delayed_groups', num_delayed_groups, Integral) check_less_than('num_delayed_groups', num_delayed_groups, openmc.mgxs.MAX_DELAYED_GROUPS, equality=True) check_greater_than('num_delayed_groups', num_delayed_groups, 0, @@ -354,6 +352,13 @@ class XSdata(object): check_greater_than('atomic_weight_ratio', atomic_weight_ratio, 0.0) self._atomic_weight_ratio = atomic_weight_ratio + @fissionable.setter + def fissionable(self, fissionable): + + # Check validity of type + check_type('fissionable', fissionable, bool) + self._fissionable = fissionable + @temperatures.setter def temperatures(self, temperatures): @@ -1171,7 +1176,8 @@ class XSdata(object): (openmc.mgxs.DelayedNuFissionXS,)) check_value('energy_groups', delayed_nu_fission.energy_groups, [self.energy_groups]) - check_value('num_delayed_groups', delayed_nu_fission.num_delayed_groups, + check_value('num_delayed_groups', + delayed_nu_fission.num_delayed_groups, [self.num_delayed_groups]) check_value('domain_type', delayed_nu_fission.domain_type, openmc.mgxs.DOMAIN_TYPES) @@ -1641,6 +1647,7 @@ class XSdata(object): HDF5 File (a root Group) to write to """ + grp = file.create_group(self.name) if self.atomic_weight_ratio is not None: grp.attrs['atomic_weight_ratio'] = self.atomic_weight_ratio @@ -1708,11 +1715,12 @@ class XSdata(object): (self._delayed_nu_fission[i] is None or \ self._prompt_nu_fission[i] is None): raise ValueError('nu-fission or prompt-nu-fission and ' - 'delayed-nu-fission data must be provided ' - 'when writing the HDF5 library') + 'delayed-nu-fission data must be ' + 'provided when writing the HDF5 library') if self._nu_fission[i] is not None: - xs_grp.create_dataset("nu-fission", data=self._nu_fission[i]) + xs_grp.create_dataset("nu-fission", + data=self._nu_fission[i]) if self._prompt_nu_fission[i] is not None: xs_grp.create_dataset("prompt-nu-fission", @@ -1726,7 +1734,8 @@ class XSdata(object): xs_grp.create_dataset("beta", data=self._beta[i]) if self._decay_rate[i] is not None: - xs_grp.create_dataset("decay rate", data=self._decay_rate[i]) + xs_grp.create_dataset("decay rate", + data=self._decay_rate[i]) if self._scatter_matrix[i] is None: raise ValueError('Scatter matrix must be provided when ' @@ -1819,6 +1828,143 @@ class XSdata(object): xs_grp.create_dataset("inverse-velocity", data=self._inverse_velocity[i]) + @classmethod + def from_hdf5(cls, group, name, energy_groups, num_delayed_groups): + """Generate XSdata object from an HDF5 group + + Parameters + ---------- + group : h5py.Group + HDF5 group to read from + name : str + Name of the mgxs data set. + energy_groups : openmc.mgxs.EnergyGroups + Energy group structure + num_delayed_groups : int + Number of delayed groups + + Returns + ------- + openmc.XSdata + Multi-group cross section data + + """ + + # Get a list of all the subgroups which will contain our temperature + # strings + subgroups = group.keys() + temperatures = [] + for subgroup in subgroups: + if subgroup != 'kTs': + temperatures.append(subgroup) + + # To ensure the actual floating point temperature used when creating + # the new library is consistent with that used when originally creating + # the file, get the floating point temperatures straight from the kTs + # group. + kTs_group = group['kTs'] + float_temperatures = [] + for temperature in temperatures: + kT = kTs_group[temperature].value + float_temperatures.append(kT / openmc.data.K_BOLTZMANN) + + attrs = group.attrs.keys() + if 'representation' in attrs: + representation = group.attrs['representation'].decode() + else: + representation = 'isotropic' + + data = cls(name, energy_groups, float_temperatures, representation, + num_delayed_groups) + + if 'scatter_format' in attrs: + data.scatter_format = group.attrs['scatter_format'].decode() + + # Get the remaining optional attributes + if 'atomic_weight_ratio' in attrs: + data.atomic_weight_ratio = group.attrs['atomic_weight_ratio'] + if 'order' in attrs: + data.order = group.attrs['order'] + if data.representation == 'angle': + data.num_azimuthal = group.attrs['num_azimuthal'] + data.num_polar = group.attrs['num_polar'] + + # Read the temperature-dependent datasets + for temp, float_temp in zip(temperatures, float_temperatures): + xs_types = ['total', 'absorption', 'fission', 'kappa-fission', + 'chi', 'chi-prompt', 'chi-delayed', 'nu-fission', + 'prompt-nu-fission', 'delayed-nu-fission', 'beta', + 'decay rate', "inverse-velocity"] + + temperature_group = group[temp] + + for xs_type in xs_types: + set_func = 'set_' + xs_type.replace(' ', '_').replace('-', '_') + if xs_type in temperature_group: + getattr(data, set_func)(temperature_group[xs_type].value, + float_temp) + + scatt_group = temperature_group['scatter_data'] + + # Get scatter matrix and 'un-flatten' it + g_max = scatt_group['g_max'] + g_min = scatt_group['g_min'] + flat_scatter = scatt_group['scatter_matrix'].value + scatter_matrix = np.zeros(data.xs_shapes["[G][G'][Order]"]) + G = data.energy_groups.num_groups + if data.representation == 'isotropic': + Np = 1 + Na = 1 + elif data.representation == 'angle': + Np = data.num_polar + Na = data.num_azimuthal + flat_index = 0 + for p in range(Np): + for a in range(Na): + for g_in in range(G): + if data.representation == 'isotropic': + g_mins = g_min[g_in] + g_maxs = g_max[g_in] + elif data.representation == 'angle': + g_mins = g_min[p, a, g_in] + g_maxs = g_max[p, a, g_in] + for g_out in range(g_mins - 1, g_maxs): + for ang in range(data.num_orders): + if data.representation == 'isotropic': + scatter_matrix[g_in, g_out, ang] = \ + flat_scatter[flat_index] + elif data.representation == 'angle': + scatter_matrix[p, a, g_in, g_out, ang] = \ + flat_scatter[flat_index] + flat_index += 1 + data.set_scatter_matrix(scatter_matrix, float_temp) + + # Repeat for multiplicity + if 'multiplicity_matrix' in scatt_group: + flat_mult = scatt_group['multiplicity_matrix'].value + mult_matrix = np.zeros(data.xs_shapes["[G][G']"]) + flat_index = 0 + for p in range(Np): + for a in range(Na): + for g_in in range(G): + if data.representation == 'isotropic': + g_mins = g_min[g_in] + g_maxs = g_max[g_in] + elif data.representation == 'angle': + g_mins = g_min[p, a, g_in] + g_maxs = g_max[p, a, g_in] + for g_out in range(g_mins - 1, g_maxs): + if data.representation == 'isotropic': + mult_matrix[g_in, g_out] = \ + flat_mult[flat_index] + elif data.representation == 'angle': + mult_matrix[p, a, g_in, g_out] = \ + flat_mult[flat_index] + flat_index += 1 + data.set_multiplicity_matrix(mult_matrix, float_temp) + + return data + class MGXSLibrary(object): """Multi-Group Cross Sections file used for an OpenMC simulation. @@ -1870,7 +2016,7 @@ class MGXSLibrary(object): @num_delayed_groups.setter def num_delayed_groups(self, num_delayed_groups): - check_type('num_delayed_groups', num_delayed_groups, int) + check_type('num_delayed_groups', num_delayed_groups, Integral) check_greater_than('num_delayed_groups', num_delayed_groups, 0, equality=True) check_less_than('num_delayed_groups', num_delayed_groups, @@ -1952,3 +2098,34 @@ class MGXSLibrary(object): xsdata.to_hdf5(file) file.close() + + @classmethod + def from_hdf5(cls, filename): + """Generate an MGXS Library from an HDF5 group or file + + Parameters + ---------- + filename : str + Name of HDF5 file containing MGXS data. + + Returns + ------- + openmc.MGXSLibrary + Multi-group cross section data object. + + """ + + check_type('filename', filename, str) + file = h5py.File(filename, 'r') + + group_structure = file.attrs['group structure'] + num_delayed_groups = file.attrs['delayed_groups'] + energy_groups = openmc.mgxs.EnergyGroups(group_structure) + data = cls(energy_groups, num_delayed_groups) + + for group_name, group in file.items(): + data.add_xsdata(openmc.XSdata.from_hdf5(group, group_name, + energy_groups, + num_delayed_groups)) + + return data From cb10bef92607a7daac18ede6e4e34288491979a5 Mon Sep 17 00:00:00 2001 From: Adam Nelson Date: Sun, 13 Nov 2016 21:48:18 -0500 Subject: [PATCH 02/14] Added beginnings of plotting MGXS --- openmc/mgxs_library.py | 29 +++++- openmc/plotter.py | 211 ++++++++++++++++++++++++++++++----------- 2 files changed, 181 insertions(+), 59 deletions(-) diff --git a/openmc/mgxs_library.py b/openmc/mgxs_library.py index a2c7c2dc9..58caa935a 100644 --- a/openmc/mgxs_library.py +++ b/openmc/mgxs_library.py @@ -1894,7 +1894,7 @@ class XSdata(object): xs_types = ['total', 'absorption', 'fission', 'kappa-fission', 'chi', 'chi-prompt', 'chi-delayed', 'nu-fission', 'prompt-nu-fission', 'delayed-nu-fission', 'beta', - 'decay rate', "inverse-velocity"] + 'decay rate', 'inverse-velocity'] temperature_group = group[temp] @@ -1993,6 +1993,27 @@ class MGXSLibrary(object): self.num_delayed_groups = num_delayed_groups self._xsdatas = [] + def __getitem__(self, name): + """Access the XSdata objects by name + + Parameters + ---------- + name : str + Name of openmc.XSdata object to obtain + + Returns + ------- + result : openmc.XSdata or None + Provides the matching XSdata object or None, if not found + + """ + check_type("name", name, str) + result = None + for xsdata in self.xsdatas: + if name == xsdata.name: + result = xsdata + return result + @property def energy_groups(self): return self._energy_groups @@ -2009,6 +2030,10 @@ class MGXSLibrary(object): def xsdatas(self): return self._xsdatas + @property + def names(self): + return [xsdata.name for xsdata in self.xsdatas] + @energy_groups.setter def energy_groups(self, energy_groups): check_type('energy groups', energy_groups, openmc.mgxs.EnergyGroups) @@ -2045,7 +2070,7 @@ class MGXSLibrary(object): self._xsdatas.append(xsdata) def add_xsdatas(self, xsdatas): - """Add multiple xsdatas to the file. + """Add multiple XSdatas to the file. Parameters ---------- diff --git a/openmc/plotter.py b/openmc/plotter.py index 09b7b1bf8..ce5fe4aa7 100644 --- a/openmc/plotter.py +++ b/openmc/plotter.py @@ -5,10 +5,15 @@ import numpy as np import openmc.checkvalue as cv import openmc.data -# Supported keywords for material xs plotting +# Supported keywords for continuous-energy cross section plotting PLOT_TYPES = ['total', 'scatter', 'elastic', 'inelastic', 'fission', 'absorption', 'capture', 'nu-fission', 'nu-scatter', 'unity', 'slowing-down power', 'damage'] +# Supported keywoards for multi-group cross section plotting +PLOT_TYPES_MGXS = ['total', 'absorption', 'fission', 'kappa-fission', + 'chi', 'chi-prompt', 'chi-delayed', 'nu-fission', + 'prompt-nu-fission', 'delayed-nu-fission', 'beta', + 'decay rate', 'inverse-velocity'] # Special MT values UNITY_MT = -1 @@ -61,7 +66,7 @@ PLOT_TYPES_OP = {'total': (np.add,), 'capture': (), 'nu-fission': (), 'nu-scatter': (np.add,) * (len(PLOT_TYPES_MT['nu-scatter']) - 1), 'unity': (), - 'slowing-down power': + 'slowing-down power': (np.add,) * (len(PLOT_TYPES_MT['slowing-down power']) - 2) + (np.multiply,), 'damage': ()} @@ -90,7 +95,7 @@ def plot_xs(this, types, divisor_types=None, temperature=294., axis=None, Parameters ---------- - this : openmc.Element, openmc.Nuclide, or openmc.Material + this : openmc.Element, openmc.Nuclide, openmc.Material, or openmc.Macroscopic Object to source data from types : Iterable of values of PLOT_TYPES The type of cross sections to include in the plot. @@ -139,72 +144,87 @@ def plot_xs(this, types, divisor_types=None, temperature=294., axis=None, data_type = 'element' elif isinstance(this, openmc.Material): data_type = 'material' + elif isinstance(this, openmc.Macroscopic): + data_type = 'macroscopic' else: raise TypeError("Invalid type for plotting") - E, data = calculate_xs(this, types, temperature, sab_name, cross_sections, - enrichment) + # Check the type (CE or MG data) and validity of cross_sections + cv.check_type("cross_sections", cross_sections, str) + if cross_sections.endswith('.xml'): + mgxs = False + elif cross_sections.endswith('.h5'): + mgxs = True + else: + raise ValueError("cross_sections is neither an XML or HDF5 file") - if divisor_types: - cv.check_length('divisor types', divisor_types, len(types), - len(types)) - Ediv, data_div = calculate_xs(this, divisor_types, temperature, - sab_name, cross_sections, enrichment) + if not mgxs: + E, data = calculate_xs(this, types, temperature, sab_name, + cross_sections, enrichment) - # Create a new union grid, interpolate data and data_div on to that - # grid, and then do the actual division - Enum = E[:] - E = np.union1d(Enum, Ediv) - if data_type == 'nuclide': - data_new = [] - else: - data_new = np.zeros((len(types), len(E))) + if divisor_types: + cv.check_length('divisor types', divisor_types, len(types), + len(types)) + Ediv, data_div = calculate_xs(this, divisor_types, temperature, + sab_name, cross_sections, enrichment) - for line in range(len(types)): + # Create a new union grid, interpolate data and data_div on to that + # grid, and then do the actual division + Enum = E[:] + E = np.union1d(Enum, Ediv) if data_type == 'nuclide': - data_new.append(openmc.data.Combination([data[line], - data_div[line]], - [np.divide])) + data_new = [] else: - data_new[line, :] = \ - np.divide(np.interp(E, Enum, data[line, :]), - np.interp(E, Ediv, data_div[line, :])) - if divisor_types[line] != 'unity': - types[line] = types[line] + ' / ' + divisor_types[line] - data = data_new + data_new = np.zeros((len(types), len(E))) - # Generate the plot - if axis is None: - fig = plt.figure(**kwargs) - ax = fig.add_subplot(111) - else: - fig = None - ax = axis - # Set to loglog or semilogx depending on if we are plotting a data - # type which we expect to vary linearly - if set(types).issubset(PLOT_TYPES_LINEAR): - plot_func = ax.semilogx - else: - plot_func = ax.loglog - # Plot the data - for i in range(len(data)): - if data_type == 'nuclide': - to_plot = data[i](E) + for line in range(len(types)): + if data_type == 'nuclide': + data_new.append(openmc.data.Combination([data[line], + data_div[line]], + [np.divide])) + else: + data_new[line, :] = \ + np.divide(np.interp(E, Enum, data[line, :]), + np.interp(E, Ediv, data_div[line, :])) + if divisor_types[line] != 'unity': + types[line] = types[line] + ' / ' + divisor_types[line] + data = data_new + + # Generate the plot + if axis is None: + fig = plt.figure(**kwargs) + ax = fig.add_subplot(111) else: - to_plot = data[i, :] - if np.sum(to_plot) > 0.: - plot_func(E, to_plot, label=types[i]) + fig = None + ax = axis + # Set to loglog or semilogx depending on if we are plotting a data + # type which we expect to vary linearly + if set(types).issubset(PLOT_TYPES_LINEAR): + plot_func = ax.semilogx + else: + plot_func = ax.loglog + # Plot the data + for i in range(len(data)): + if data_type == 'nuclide': + to_plot = data[i](E) + else: + to_plot = data[i, :] + if np.sum(to_plot) > 0.: + plot_func(E, to_plot, label=types[i]) + + ax.set_xlabel('Energy [eV]') + if divisor_types: + ax.set_ylabel('Data') + else: + ax.set_ylabel('Cross Section [b]') + ax.legend(loc='best') + ax.set_xlim(energy_range) + if this.name is not None: + title = 'Cross Section for ' + this.name + ax.set_title(title) - ax.set_xlabel('Energy [eV]') - if divisor_types: - ax.set_ylabel('Data') else: - ax.set_ylabel('Cross Section [b]') - ax.legend(loc='best') - ax.set_xlim(energy_range) - if this.name is not None: - title = 'Cross Section for ' + this.name - ax.set_title(title) + pass return fig @@ -604,3 +624,80 @@ def _calculate_xs_material(this, types, temperature=294., cross_sections=None): data[line, :] += nuc_densities[n] * xs[n][line](energy_grid) return energy_grid, data + + +def _calculate_mgxs_nuclide(this, types, cross_sections, temperature=294.): + """Determines the multi-group cross sections of a requested type + + Parameters + ---------- + this : openmc.Nuclide + Nuclide object to source data from + types : Iterable of str + The type of cross sections to calculate; values can either be those + in openmc.PLOT_TYPES_MGXS or integers which correspond to reaction + channel (MT) numbers. + cross_sections : openmc.MGXSLibrary + MGXS Library containing the data of interest + temperature : float, optional + Temperature in Kelvin to plot. If not specified, a default + temperature of 294K will be plotted. Note that the nearest + temperature in the library for each nuclide will be used as opposed + to using any interpolation. + + Returns + ------- + energy_grid : numpy.array + Energies at which cross sections are calculated, in units of eV + data : numpy.ndarray + Cross sections calculated at the energy grid described by + energy_grid + + """ + + # Check the parameters + for line in types: + cv.check_type("line", line, str) + cv.check_value("line", line, PLOT_TYPES_MGXS) + + cv.check_type("cross_sections", cross_sections, openmc.MGXSLibrary) + + xsdata = cross_sections[this.name] + + if xsdata is not None: + # Get group structure + group_structure = cross_sections.energy_groups.group_structure + G = cross_sections.energy_groups.num_groups + + # Obtain the nearest temperature + data_Ts = cross_sections.temperatures + for t in range(len(data_Ts)): + # Take off the "K" and convert to a float + data_Ts[t] = float(data_Ts[t][:-1]) + min_delta = np.finfo(np.float64).max + closest_t = -1 + for t in data_Ts: + if abs(data_Ts[t] - temperature) < min_delta: + closest_t = t + t = closest_t + + # Get the data + energy_grid = [] + xs = [] + for line in types: + energy_grid.append([]) + xs.append([]) + attr = line.replace(' ', '_').replace('-', '_') + values = getattr(xsdata, attr)[t] + for g_in in range(G): + energy_grid[-1].append(group_structure[g_in]) + energy_grid[-1].append(group_structure[g_in + 1]) + energy_grid[-1].append(None) + xs[-1].append(values[g_in]) + xs[-1].append(values[g_in + 1]) + xs[-1].append(values[None]) + else: + raise ValueError("{} not present in provided MGXS " + "library".format(this.name)) + + return energy_grid, xs From 255f16b6eddbe6f1962eabdaefb06ed714d05ce1 Mon Sep 17 00:00:00 2001 From: Adam Nelson Date: Tue, 15 Nov 2016 20:29:32 -0500 Subject: [PATCH 03/14] Seems to be all working --- openmc/macroscopic.py | 4 +--- openmc/mgxs_library.py | 4 ---- openmc/plotter.py | 44 ++++++++++++++++++++---------------------- 3 files changed, 22 insertions(+), 30 deletions(-) diff --git a/openmc/macroscopic.py b/openmc/macroscopic.py index 4d3589141..f2521c4ac 100644 --- a/openmc/macroscopic.py +++ b/openmc/macroscopic.py @@ -1,5 +1,3 @@ -import sys - from six import string_types from openmc.checkvalue import check_type @@ -45,7 +43,7 @@ class Macroscopic(object): return hash((self._name)) def __repr__(self): - string = 'Nuclide - {0}\n'.format(self._name) + string = 'Macroscopic - {0}\n'.format(self._name) return string @property diff --git a/openmc/mgxs_library.py b/openmc/mgxs_library.py index 1833f1b76..6e99030e0 100644 --- a/openmc/mgxs_library.py +++ b/openmc/mgxs_library.py @@ -2023,10 +2023,6 @@ class MGXSLibrary(object): def num_delayed_groups(self): return self._num_delayed_groups - @property - def temperatures(self): - return self._temperatures - @property def xsdatas(self): return self._xsdatas diff --git a/openmc/plotter.py b/openmc/plotter.py index 58d13ad91..c19d544b2 100644 --- a/openmc/plotter.py +++ b/openmc/plotter.py @@ -306,14 +306,15 @@ def plot_mgxs(this, types, divisor_types=None, temperature=294., axis=None, E_plot = [] data_plot = [] for line in range(len(types)): + data_plot.append([]) for g in range(len(E) - 1): if line == 0: E_plot.append(E[g]) E_plot.append(E[g + 1]) E_plot.append(None) - data_plot.append(data[line, g]) - data_plot.append(data[line, g]) - data_plot.append(None) + data_plot[-1].append(data[line, g]) + data_plot[-1].append(data[line, g]) + data_plot[-1].append(None) # Generate the plot if axis is None: @@ -330,7 +331,7 @@ def plot_mgxs(this, types, divisor_types=None, temperature=294., axis=None, plot_func = ax.loglog # Plot the data for i in range(len(data_plot)): - plot_func(E_plot, data_plot[i, :], label=types[i]) + plot_func(E_plot, data_plot[i], label=types[i]) ax.set_xlabel('Energy [eV]') if divisor_types: @@ -338,14 +339,14 @@ def plot_mgxs(this, types, divisor_types=None, temperature=294., axis=None, ylabel = 'Nuclidic Microscopic Data' elif data_type == 'element': ylabel = 'Elemental Microscopic Data' - elif data_type == 'material': + elif data_type == 'material' or data_type == 'macroscopic': ylabel = 'Macroscopic Data' else: if data_type == 'nuclide': ylabel = 'Microscopic Cross Section [b]' elif data_type == 'element': ylabel = 'Elemental Cross Section [b]' - elif data_type == 'material': + elif data_type == 'material' or data_type == 'macroscopic': ylabel = 'Macroscopic Cross Section [1/cm]' ax.set_ylabel(ylabel) ax.legend(loc='best') @@ -804,7 +805,7 @@ def calculate_mgxs(this, types, temperature=294., cross_sections=None, else: raise TypeError("Invalid type") - return library.energy_groups.group_structure, data + return np.flipud(library.energy_groups.group_edges), data def _calculate_mgxs_nuc_macro(this, types, library, temperature=294.): @@ -842,25 +843,16 @@ def _calculate_mgxs_nuc_macro(this, types, library, temperature=294.): if xsdata is not None: # Obtain the nearest temperature - data_Ts = library.temperatures - for t in range(len(data_Ts)): - # Take off the "K" and convert to a float - data_Ts[t] = float(data_Ts[t][:-1]) - min_delta = np.finfo(np.float64).max - closest_t = -1 - for t in data_Ts: - if abs(data_Ts[t] - temperature) < min_delta: - closest_t = t - t = closest_t + t = (np.abs(xsdata.temperatures - temperature)).argmin() # Get the data data = np.zeros((len(types), library.energy_groups.num_groups)) - for line in types: + for i, line in enumerate(types): if line == 'unity': - data[line, :] = 1. + data[i, :] = 1. else: attr = line.replace(' ', '_').replace('-', '_') - data[line, :] = getattr(xsdata, attr)[t] + data[i, :] = getattr(xsdata, attr)[t] else: raise ValueError("{} not present in provided MGXS " "library".format(this.name)) @@ -912,8 +904,14 @@ def _calculate_mgxs_elem_mat(this, types, library, temperature=294., T = this.temperature else: T = temperature - # Expand elements in to nuclides with atomic densities - nuclides = this.get_nuclide_atom_densities(ce_cross_sections) + + # Check to see if we have nuclides/elements or a macrocopic object + if this._macroscopic is not None: + # We have macroscopics + nuclides = {this._macroscopic: (this._macroscopic, this.density)} + else: + # Expand elements in to nuclides with atomic densities + nuclides = this.get_nuclide_atom_densities(ce_cross_sections) # For ease of processing split out nuc and nuc_density nuc_multiplier = [nuclide[1][1] for nuclide in nuclides.items()] @@ -927,7 +925,7 @@ def _calculate_mgxs_elem_mat(this, types, library, temperature=294., nuc_multiplier = [nuclide[1] for nuclide in nuclides] nuc_data = [] - for nuclide in nuclides: + for nuclide in nuclides.items(): nuc_data.append(_calculate_mgxs_nuc_macro(nuclide[0], types, library, T)) From be282ed7ddfd36708e19354ac24a0c5bfae413b5 Mon Sep 17 00:00:00 2001 From: Adam Nelson Date: Sat, 19 Nov 2016 06:21:39 -0500 Subject: [PATCH 04/14] added back in MGXSLibrary.from_hdf5 (for some reason it disappeared) and incorporated conversion of scatter matrix to vector for mgxs plotting --- openmc/mgxs/mgxs.py | 6 +++++- openmc/mgxs_library.py | 40 ++++++++++++++++++++++++++++++++++++++++ openmc/plotter.py | 33 ++++++++++++++++++++++++++------- 3 files changed, 71 insertions(+), 8 deletions(-) diff --git a/openmc/mgxs/mgxs.py b/openmc/mgxs/mgxs.py index db31e2f32..b4a14f8ce 100644 --- a/openmc/mgxs/mgxs.py +++ b/openmc/mgxs/mgxs.py @@ -62,6 +62,9 @@ _DOMAINS = (openmc.Cell, # Supported ScatterMatrixXS and NuScatterMatrixXS angular distribution types MU_TREATMENTS = ('legendre', 'histogram') +# Maximum Legendre order supported by OpenMC +MAX_LEGENDRE = 10 + @add_metaclass(ABCMeta) class MGXS(object): @@ -3465,7 +3468,8 @@ class ScatterMatrixXS(MatrixMGXS): cv.check_type('legendre_order', legendre_order, Integral) cv.check_greater_than('legendre_order', legendre_order, 0, equality=True) - cv.check_less_than('legendre_order', legendre_order, 10, equality=True) + cv.check_less_than('legendre_order', legendre_order, MAX_LEGENDRE, + equality=True) if self.scatter_format == 'legendre': if self.correction == 'P0' and legendre_order > 0: diff --git a/openmc/mgxs_library.py b/openmc/mgxs_library.py index ef1dd236c..6fdbb1de7 100644 --- a/openmc/mgxs_library.py +++ b/openmc/mgxs_library.py @@ -2132,3 +2132,43 @@ class MGXSLibrary(object): xsdata.to_hdf5(file) file.close() + + @classmethod + def from_hdf5(cls, filename=None): + """Generate an MGXS Library from an HDF5 group or file + Parameters + ---------- + filename : str, optional + Name of HDF5 file containing MGXS data. Default is None. + If not provided, the value of the OPENMC_MG_CROSS_SECTIONS + environmental variable will be used + Returns + ------- + openmc.MGXSLibrary + Multi-group cross section data object. + """ + + # If filename is None, get the cross sections from the + # OPENMC_CROSS_SECTIONS environment variable + if filename is None: + filename = os.environ.get('OPENMC_MG_CROSS_SECTIONS') + + # Check to make sure there was an environmental variable. + if filename is None: + raise ValueError("Either path or OPENMC_MG_CROSS_SECTIONS " + "environmental variable must be set") + + check_type('filename', filename, str) + file = h5py.File(filename, 'r') + + group_structure = file.attrs['group structure'] + num_delayed_groups = file.attrs['delayed_groups'] + energy_groups = openmc.mgxs.EnergyGroups(group_structure) + data = cls(energy_groups, num_delayed_groups) + + for group_name, group in file.items(): + data.add_xsdata(openmc.XSdata.from_hdf5(group, group_name, + energy_groups, + num_delayed_groups)) + + return data diff --git a/openmc/plotter.py b/openmc/plotter.py index aa48ef944..334567d2a 100644 --- a/openmc/plotter.py +++ b/openmc/plotter.py @@ -10,10 +10,14 @@ import openmc.data PLOT_TYPES = ['total', 'scatter', 'elastic', 'inelastic', 'fission', 'absorption', 'capture', 'nu-fission', 'nu-scatter', 'unity', 'slowing-down power', 'damage'] + # Supported keywoards for multi-group cross section plotting -PLOT_TYPES_MGXS = ['total', 'absorption', 'fission', 'kappa-fission', - 'chi', 'chi-prompt', 'nu-fission', 'prompt-nu-fission', - 'inverse-velocity', 'unity'] +PLOT_TYPES_MGXS = ['total', 'absorption', 'scatter', 'fission', + 'kappa-fission', 'chi', 'chi-prompt', 'nu-fission', + 'prompt-nu-fission', 'inverse-velocity', 'unity'] +# Add on values for scattering moments +PLOT_TYPES_MGXS += ['scatter-' + str(i) + for i in range(0, openmc.mgxs.MAX_LEGENDRE + 1)] # Special MT values UNITY_MT = -1 @@ -822,6 +826,21 @@ def _calculate_mgxs_nuc_macro(this, types, library, temperature=294.): for i, line in enumerate(types): if line == 'unity': data[i, :] = 1. + elif line.startswith('scatter'): + # We have to remove the outgoing dependence + attr = line.replace(' ', '_').replace('-', '_') + matrix = xsdata.scatter_matrix[t] + # Sum over outgoing groups + vector = np.sum(matrix, axis=1) + # Now get the actual order of interest + if line == 'scatter': + order = 0 + else: + order = int(line.split('-')[1]) + if order < xsdata.xs_shapes["[G][G'][Order]"][-1]: + data[i, :] = vector[:, order] + else: + data[i, :] = 0. else: attr = line.replace(' ', '_').replace('-', '_') data[i, :] = getattr(xsdata, attr)[t] @@ -883,10 +902,10 @@ def _calculate_mgxs_elem_mat(this, types, library, temperature=294., nuclides = {this._macroscopic: (this._macroscopic, this.density)} else: # Expand elements in to nuclides with atomic densities - nuclides = this.get_nuclide_atom_densities(ce_cross_sections) + nuclides = this.get_nuclide_atom_densities() # For ease of processing split out nuc and nuc_density - nuc_multiplier = [nuclide[1][1] for nuclide in nuclides.items()] + nuc_fraction = [nuclide[1][1] for nuclide in nuclides.items()] else: T = temperature # Expand elements in to nuclides with atomic densities @@ -894,7 +913,7 @@ def _calculate_mgxs_elem_mat(this, types, library, temperature=294., cross_sections=ce_cross_sections) # For ease of processing split out nuc and nuc_fractions - nuc_multiplier = [nuclide[1] for nuclide in nuclides] + nuc_fraction = [nuclide[1] for nuclide in nuclides] nuc_data = [] for nuclide in nuclides.items(): @@ -908,6 +927,6 @@ def _calculate_mgxs_elem_mat(this, types, library, temperature=294., data[line, :] = 1. else: for n in range(len(nuclides)): - data[line, :] += nuc_multiplier[n] * nuc_data[n][line, :] + data[line, :] += nuc_fraction[n] * nuc_data[n][line, :] return data From 7199858fc09314d67697794ab9dcf45e35e531aa Mon Sep 17 00:00:00 2001 From: Adam Nelson Date: Sat, 19 Nov 2016 21:28:50 -0500 Subject: [PATCH 05/14] made calculate_mgxs functions return same parameters as calculate_mgxs --- openmc/plotter.py | 45 ++++++++++++++++++++------------------------- 1 file changed, 20 insertions(+), 25 deletions(-) diff --git a/openmc/plotter.py b/openmc/plotter.py index b811d6f10..801f06b9e 100644 --- a/openmc/plotter.py +++ b/openmc/plotter.py @@ -267,21 +267,6 @@ def plot_mgxs(this, types, divisor_types=None, temperature=294., axis=None, if divisor_types[line] != 'unity': types[line] = types[line] + ' / ' + divisor_types[line] - # Modify the data such that the it plots the group values as distinct - # horizontal lines in an efficient manner - E_plot = [] - data_plot = [] - for line in range(len(types)): - data_plot.append([]) - for g in range(len(E) - 1): - if line == 0: - E_plot.append(E[g]) - E_plot.append(E[g + 1]) - E_plot.append(None) - data_plot[-1].append(data[line, g]) - data_plot[-1].append(data[line, g]) - data_plot[-1].append(None) - # Generate the plot if axis is None: fig = plt.figure(**kwargs) @@ -296,8 +281,8 @@ def plot_mgxs(this, types, divisor_types=None, temperature=294., axis=None, else: plot_func = ax.loglog # Plot the data - for i in range(len(data_plot)): - plot_func(E_plot, data_plot[i], label=types[i]) + for i in range(len(data)): + plot_func(E, data[i], label=types[i]) ax.set_xlabel('Energy [eV]') if divisor_types: @@ -758,10 +743,10 @@ def calculate_mgxs(this, types, temperature=294., cross_sections=None, Returns ------- - numpy.array - Energy group structure in units of eV + energy_grid : numpy.ndarray + Energies at which cross sections are calculated, in units of eV data : numpy.ndarray - Multi-Group Cross sections + Cross sections calculated at the energy grid described by energy_grid """ @@ -774,14 +759,24 @@ def calculate_mgxs(this, types, temperature=294., cross_sections=None, library = openmc.MGXSLibrary.from_hdf5(cross_sections) if isinstance(this, (openmc.Nuclide, openmc.Macroscopic)): - data = _calculate_mgxs_nuc_macro(this, types, library, temperature) + mgxs = _calculate_mgxs_nuc_macro(this, types, library, temperature) elif isinstance(this, (openmc.Element, openmc.Material)): - data = _calculate_mgxs_elem_mat(this, types, library, temperature, + mgxs = _calculate_mgxs_elem_mat(this, types, library, temperature, ce_cross_sections, enrichment) else: raise TypeError("Invalid type") - return np.flipud(library.energy_groups.group_edges), data + # Convert the data to the format needed + data = np.zeros((len(types), 2 * library.energy_groups.num_groups)) + energy_grid = np.zeros(2 * library.energy_groups.num_groups) + for line in range(len(types)): + i = 0 + for g in range(library.energy_groups.num_groups): + data[line, i: i + 2] = mgxs[line, g] + energy_grid[i: i + 2] = library.energy_groups.group_edges[g: g + 2] + i += 2 + + return np.flipud(energy_grid), data def _calculate_mgxs_nuc_macro(this, types, library, temperature=294.): @@ -806,7 +801,7 @@ def _calculate_mgxs_nuc_macro(this, types, library, temperature=294.): Returns ------- data : numpy.ndarray - Cross sections values of the requested types + Cross sections calculated at the energy grid described by energy_grid """ @@ -881,7 +876,7 @@ def _calculate_mgxs_elem_mat(this, types, library, temperature=294., Returns ------- data : numpy.ndarray - Cross sections values of the requested types + Cross sections calculated at the energy grid described by energy_grid """ From f76ee0867ca2f46c4e84a3cda6511b0ab64eb6a5 Mon Sep 17 00:00:00 2001 From: Adam Nelson Date: Sun, 20 Nov 2016 16:11:04 -0500 Subject: [PATCH 06/14] Some major simplifications: combined plot_xs and plot_mgxs so now the same interface works for both, and added support in a very generic way for all the different types of data one would expect to plot for MGXS plots (i.e., all the types in the library itself including choices of certain orders/delayed groups) --- openmc/plotter.py | 358 +++++++++++++++++++++------------------------- 1 file changed, 161 insertions(+), 197 deletions(-) diff --git a/openmc/plotter.py b/openmc/plotter.py index 3d56e46d3..8a89e39ac 100644 --- a/openmc/plotter.py +++ b/openmc/plotter.py @@ -13,11 +13,14 @@ PLOT_TYPES = ['total', 'scatter', 'elastic', 'inelastic', 'fission', # Supported keywoards for multi-group cross section plotting PLOT_TYPES_MGXS = ['total', 'absorption', 'scatter', 'fission', - 'kappa-fission', 'chi', 'chi-prompt', 'nu-fission', - 'prompt-nu-fission', 'inverse-velocity', 'unity'] -# Add on values for scattering moments -PLOT_TYPES_MGXS += ['scatter-' + str(i) - for i in range(0, openmc.mgxs.MAX_LEGENDRE + 1)] + 'kappa-fission', 'nu-fission', 'prompt-nu-fission', + 'deleyed-nu-fission', 'chi', 'chi-prompt', 'chi-delayed', + 'inverse-velocity', 'beta', 'decay rate', 'unity'] +# Create a dictionary which can be used to convert PLOT_TYPES_MGXS to the +# openmc.XSdata attribute name needed to access the data +_PLOT_ATTR = {line: line.replace(' ', '_').replace('-', '_') + for line in PLOT_TYPES_MGXS} +_PLOT_ATTR['scatter'] = 'scatter_matrix' # Special MT values UNITY_MT = -1 @@ -56,7 +59,9 @@ PLOT_TYPES_LINEAR = {'nu-fission / fission', 'nu-scatter / scatter', def plot_xs(this, types, divisor_types=None, temperature=294., axis=None, - sab_name=None, cross_sections=None, enrichment=None, **kwargs): + sab_name=None, ce_cross_sections=None, mg_cross_sections=None, + enrichment=None, plot_CE=True, orders=None, divisor_orders=None, + **kwargs): """Creates a figure of continuous-energy cross sections for this item Parameters @@ -80,138 +85,24 @@ def plot_xs(this, types, divisor_types=None, temperature=294., axis=None, sab_name : str, optional Name of S(a,b) library to apply to MT=2 data when applicable; only used for items which are instances of openmc.Element or openmc.Nuclide - cross_sections : str, optional + ce_cross_sections : str, optional Location of cross_sections.xml file. Default is None. - enrichment : float, optional - Enrichment for U235 in weight percent. For example, input 4.95 for - 4.95 weight percent enriched U. Default is None. This is only used for - items which are instances of openmc.Element - **kwargs - All keyword arguments are passed to - :func:`matplotlib.pyplot.figure`. - - Returns - ------- - fig : matplotlib.figure.Figure - If axis is None, then a Matplotlib Figure of the generated - cross section will be returned. Otherwise, a value of - None will be returned as the figure and axes have already been - generated. - - """ - - from matplotlib import pyplot as plt - - if isinstance(this, openmc.Nuclide): - data_type = 'nuclide' - elif isinstance(this, openmc.Element): - data_type = 'element' - elif isinstance(this, openmc.Material): - data_type = 'material' - else: - raise TypeError("Invalid type for plotting") - - E, data = calculate_xs(this, types, temperature, sab_name, cross_sections, - enrichment) - - if divisor_types: - cv.check_length('divisor types', divisor_types, len(types), - len(types)) - Ediv, data_div = calculate_xs(this, divisor_types, temperature, - sab_name, cross_sections, enrichment) - - # Create a new union grid, interpolate data and data_div on to that - # grid, and then do the actual division - Enum = E[:] - E = np.union1d(Enum, Ediv) - data_new = np.zeros((len(types), len(E))) - - for line in range(len(types)): - data_new[line, :] = \ - np.divide(np.interp(E, Enum, data[line, :]), - np.interp(E, Ediv, data_div[line, :])) - if divisor_types[line] != 'unity': - types[line] = types[line] + ' / ' + divisor_types[line] - data = data_new - - # Generate the plot - if axis is None: - fig = plt.figure(**kwargs) - ax = fig.add_subplot(111) - else: - fig = None - ax = axis - # Set to loglog or semilogx depending on if we are plotting a data - # type which we expect to vary linearly - if set(types).issubset(PLOT_TYPES_LINEAR): - plot_func = ax.semilogx - else: - plot_func = ax.loglog - # Plot the data - for i in range(len(data)): - data[i, :] = np.nan_to_num(data[i, :]) - if np.sum(data[i, :]) > 0.: - plot_func(E, data[i, :], label=types[i]) - - ax.set_xlabel('Energy [eV]') - if divisor_types: - if data_type == 'nuclide': - ylabel = 'Nuclidic Microscopic Data' - elif data_type == 'element': - ylabel = 'Elemental Microscopic Data' - elif data_type == 'material': - ylabel = 'Macroscopic Data' - else: - if data_type == 'nuclide': - ylabel = 'Microscopic Cross Section [b]' - elif data_type == 'element': - ylabel = 'Elemental Cross Section [b]' - elif data_type == 'material': - ylabel = 'Macroscopic Cross Section [1/cm]' - ax.set_ylabel(ylabel) - ax.legend(loc='best') - # Set to the most likely expected range - ax.set_xlim((1.E-5, 20.E6)) - if this.name is not None: - ax.set_title('Cross Section for ' + this.name) - - return fig - - -def plot_mgxs(this, types, divisor_types=None, temperature=294., axis=None, - energy_range=(1.E-5, 20.E6), cross_sections=None, - ce_cross_sections=None, enrichment=None, **kwargs): - """Creates a figure of multi-group cross sections for this item - - Parameters - ---------- - this : {openmc.Element, openmc.Nuclide, openmc.Material, openmc.Macroscopic} - Object to source data from - types : Iterable of values of PLOT_TYPES - The type of cross sections to include in the plot. - divisor_types : Iterable of values of PLOT_TYPES, optional - Cross section types which will divide those produced by types - before plotting. A type of 'unity' can be used to effectively not - divide some types. - temperature : float, optional - Temperature in Kelvin to plot. If not specified, a default - temperature of 294K will be plotted. Note that the nearest - temperature in the library for each nuclide will be used as opposed - to using any interpolation. - axis : matplotlib.axes, optional - A previously generated axis to use for plotting. If not specified, - a new axis and figure will be generated. - energy_range : tuple of floats - Energy range (in eV) to plot the cross section within - cross_sections : str, optional + mg_cross_sections : str, optional Location of MGXS HDF5 Library file. Default is None. - cross_sections : str, optional - Location of continuous-energy cross_sections.xml file. Default is None. - This is used only for expanding an openmc.Element object passed as this enrichment : float, optional Enrichment for U235 in weight percent. For example, input 4.95 for 4.95 weight percent enriched U. Default is None. This is only used for items which are instances of openmc.Element + plot_CE : bool + Denotes whether or not continuous-energy will be plotted. Defaults to + plotting the continuous-energy data. + orders : Iterable of Integral + The scattering order or delayed group index to use for the + corresponding entry in types. Defaults to the 0th order for scattering + and the total delayed neutron data. This only applies to plots of + multi-group data. + divisor_orders : Iterable of Integral + Same as orders, but for divisor_types **kwargs All keyword arguments are passed to :func:`matplotlib.pyplot.figure`. @@ -228,6 +119,8 @@ def plot_mgxs(this, types, divisor_types=None, temperature=294., axis=None, from matplotlib import pyplot as plt + cv.check_type("plot_CE", plot_CE, bool) + if isinstance(this, openmc.Nuclide): data_type = 'nuclide' elif isinstance(this, openmc.Element): @@ -239,21 +132,49 @@ def plot_mgxs(this, types, divisor_types=None, temperature=294., axis=None, else: raise TypeError("Invalid type for plotting") - E, data = calculate_mgxs(this, types, temperature, cross_sections, - ce_cross_sections, enrichment) + if plot_CE: + # Calculate for the CE cross sections + E, data = calculate_cexs(this, types, temperature, sab_name, + ce_cross_sections, enrichment) + if divisor_types: + cv.check_length('divisor types', divisor_types, len(types), + len(types)) + Ediv, data_div = calculate_cexs(this, divisor_types, temperature, + sab_name, ce_cross_sections, + enrichment) - if divisor_types: - cv.check_length('divisor types', divisor_types, len(types), - len(types)) - Ediv, data_div = calculate_mgxs(this, divisor_types, temperature, - cross_sections, ce_cross_sections, - enrichment) + # Create a new union grid, interpolate data and data_div on to that + # grid, and then do the actual division + Enum = E[:] + E = np.union1d(Enum, Ediv) + data_new = np.zeros((len(types), len(E))) - # Perform the division - for line in range(len(types)): - data[line, :] = np.divide(data[line, :], data_div[line, :]) - if divisor_types[line] != 'unity': - types[line] = types[line] + ' / ' + divisor_types[line] + for line in range(len(types)): + data_new[line, :] = \ + np.divide(np.interp(E, Enum, data[line, :]), + np.interp(E, Ediv, data_div[line, :])) + if divisor_types[line] != 'unity': + types[line] = types[line] + ' / ' + divisor_types[line] + data = data_new + else: + # Calculate for MG cross sections + E, data = calculate_mgxs(this, types, orders, temperature, + mg_cross_sections, ce_cross_sections, + enrichment) + + if divisor_types: + cv.check_length('divisor types', divisor_types, len(types), + len(types)) + Ediv, data_div = calculate_mgxs(this, divisor_types, + divisor_orders, temperature, + mg_cross_sections, + ce_cross_sections, enrichment) + + # Perform the division + for line in range(len(types)): + data[line, :] = np.divide(data[line, :], data_div[line, :]) + if divisor_types[line] != 'unity': + types[line] = types[line] + ' / ' + divisor_types[line] # Generate the plot if axis is None: @@ -268,9 +189,12 @@ def plot_mgxs(this, types, divisor_types=None, temperature=294., axis=None, plot_func = ax.semilogx else: plot_func = ax.loglog + # Plot the data for i in range(len(data)): - plot_func(E, data[i], label=types[i]) + data[i, :] = np.nan_to_num(data[i, :]) + if np.sum(data[i, :]) > 0.: + plot_func(E, data[i, :], label=types[i]) ax.set_xlabel('Energy [eV]') if divisor_types: @@ -289,16 +213,14 @@ def plot_mgxs(this, types, divisor_types=None, temperature=294., axis=None, ylabel = 'Macroscopic Cross Section [1/cm]' ax.set_ylabel(ylabel) ax.legend(loc='best') - ax.set_xlim(energy_range) if this.name is not None: - title = 'Cross Section for ' + this.name - ax.set_title(title) + ax.set_title('Cross Section for ' + this.name) return fig -def calculate_xs(this, types, temperature=294., sab_name=None, - cross_sections=None, enrichment=None): +def calculate_cexs(this, types, temperature=294., sab_name=None, + cross_sections=None, enrichment=None): """Calculates continuous-energy cross sections of a requested type Parameters @@ -338,8 +260,8 @@ def calculate_xs(this, types, temperature=294., sab_name=None, cv.check_type('enrichment', enrichment, Real) if isinstance(this, openmc.Nuclide): - energy_grid, xs = _calculate_xs_nuclide(this, types, temperature, - sab_name, cross_sections) + energy_grid, xs = _calculate_cexs_nuclide(this, types, temperature, + sab_name, cross_sections) # Convert xs (Iterable of Callable) to a grid of cross section values # calculated on @ the points in energy_grid for consistency with the # element and material functions. @@ -347,20 +269,20 @@ def calculate_xs(this, types, temperature=294., sab_name=None, for line in range(len(types)): data[line, :] = xs[line](energy_grid) elif isinstance(this, openmc.Element): - energy_grid, data = _calculate_xs_elem_mat(this, types, temperature, - cross_sections, sab_name, - enrichment) + energy_grid, data = _calculate_cexs_elem_mat(this, types, temperature, + cross_sections, sab_name, + enrichment) elif isinstance(this, openmc.Material): - energy_grid, data = _calculate_xs_elem_mat(this, types, temperature, - cross_sections) + energy_grid, data = _calculate_cexs_elem_mat(this, types, temperature, + cross_sections) else: raise TypeError("Invalid type") return energy_grid, data -def _calculate_xs_nuclide(this, types, temperature=294., sab_name=None, - cross_sections=None): +def _calculate_cexs_nuclide(this, types, temperature=294., sab_name=None, + cross_sections=None): """Calculates continuous-energy cross sections of a requested type Parameters @@ -548,8 +470,9 @@ def _calculate_xs_nuclide(this, types, temperature=294., sab_name=None, return energy_grid, xs -def _calculate_xs_elem_mat(this, types, temperature=294., cross_sections=None, - sab_name=None, enrichment=None): +def _calculate_cexs_elem_mat(this, types, temperature=294., + cross_sections=None, sab_name=None, + enrichment=None): """Calculates continuous-energy cross sections of a requested type Parameters @@ -637,7 +560,8 @@ def _calculate_xs_elem_mat(this, types, temperature=294., cross_sections=None, name = nuclide[0] nuc = nuclide[1] sab_tab = sabs[name] - temp_E, temp_xs = calculate_xs(nuc, types, T, sab_tab, cross_sections) + temp_E, temp_xs = calculate_cexs(nuc, types, T, sab_tab, + cross_sections) E.append(temp_E) # Since the energy grids are different, store the cross sections as # a tabulated function so they can be calculated on any grid needed. @@ -664,8 +588,9 @@ def _calculate_xs_elem_mat(this, types, temperature=294., cross_sections=None, return energy_grid, data -def calculate_mgxs(this, types, temperature=294., cross_sections=None, - ce_cross_sections=None, enrichment=None): +def calculate_mgxs(this, types, orders=None, temperature=294., + cross_sections=None, ce_cross_sections=None, + enrichment=None): """Calculates continuous-energy cross sections of a requested type Parameters @@ -674,6 +599,10 @@ def calculate_mgxs(this, types, temperature=294., cross_sections=None, Object to source data from types : Iterable of values of PLOT_TYPES The type of cross sections to calculate + orders : Iterable of Integral + The scattering order or delayed group index to use for the + corresponding entry in types. Defaults to the 0th order for scattering + and the total delayed neutron data. temperature : float, optional Temperature in Kelvin to plot. If not specified, a default temperature of 294K will be plotted. Note that the nearest @@ -702,15 +631,18 @@ def calculate_mgxs(this, types, temperature=294., cross_sections=None, cv.check_type('temperature', temperature, Real) if enrichment: cv.check_type('enrichment', enrichment, Real) + cv.check_iterable_type('types', types, string_types) cv.check_type("cross_sections", cross_sections, str) library = openmc.MGXSLibrary.from_hdf5(cross_sections) if isinstance(this, (openmc.Nuclide, openmc.Macroscopic)): - mgxs = _calculate_mgxs_nuc_macro(this, types, library, temperature) + mgxs = _calculate_mgxs_nuc_macro(this, types, library, orders, + temperature) elif isinstance(this, (openmc.Element, openmc.Material)): - mgxs = _calculate_mgxs_elem_mat(this, types, library, temperature, - ce_cross_sections, enrichment) + mgxs = _calculate_mgxs_elem_mat(this, types, library, orders, + temperature, ce_cross_sections, + enrichment) else: raise TypeError("Invalid type") @@ -727,7 +659,8 @@ def calculate_mgxs(this, types, temperature=294., cross_sections=None, return np.flipud(energy_grid), data -def _calculate_mgxs_nuc_macro(this, types, library, temperature=294.): +def _calculate_mgxs_nuc_macro(this, types, library, orders=None, + temperature=294.): """Determines the multi-group cross sections of a nuclide or macroscopic object @@ -740,6 +673,10 @@ def _calculate_mgxs_nuc_macro(this, types, library, temperature=294.): in openmc.PLOT_TYPES_MGXS library : openmc.MGXSLibrary MGXS Library containing the data of interest + orders : Iterable of Integral + The scattering order or delayed group index to use for the + corresponding entry in types. Defaults to the 0th order for scattering + and the total delayed neutron data. temperature : float, optional Temperature in Kelvin to plot. If not specified, a default temperature of 294K will be plotted. Note that the nearest @@ -753,10 +690,17 @@ def _calculate_mgxs_nuc_macro(this, types, library, temperature=294.): """ - # Check the parameters - for line in types: + # Check the parameters and grab order/delayed groups + if orders: + cv.check_iterable_type('orders', orders, Integral, + min_depth=len(types), max_depth=len(types)) + else: + orders = [None] * len(types) + for i, line in enumerate(types): cv.check_type("line", line, str) cv.check_value("line", line, PLOT_TYPES_MGXS) + if orders[i]: + cv.check_greater_than("order value", orders[i], 0, equality=True) xsdata = library[this.name] @@ -767,26 +711,46 @@ def _calculate_mgxs_nuc_macro(this, types, library, temperature=294.): # Get the data data = np.zeros((len(types), library.energy_groups.num_groups)) for i, line in enumerate(types): - if line == 'unity': + if 'fission' in line and not xsdata.fissionable: + continue + elif line == 'unity': data[i, :] = 1. - elif line.startswith('scatter'): - # We have to remove the outgoing dependence - attr = line.replace(' ', '_').replace('-', '_') - matrix = xsdata.scatter_matrix[t] - # Sum over outgoing groups - vector = np.sum(matrix, axis=1) - # Now get the actual order of interest - if line == 'scatter': - order = 0 - else: - order = int(line.split('-')[1]) - if order < xsdata.xs_shapes["[G][G'][Order]"][-1]: - data[i, :] = vector[:, order] - else: - data[i, :] = 0. else: - attr = line.replace(' ', '_').replace('-', '_') - data[i, :] = getattr(xsdata, attr)[t] + attr = _PLOT_ATTR[line] + temp_data = getattr(xsdata, attr)[t] + if temp_data.shape in (xsdata.xs_shapes["[G']"], + xsdata.xs_shapes["[G]"]): + data[i, :] = temp_data + elif temp_data.shape == xsdata.xs_shapes["[G][G']"]: + data[i, :] = np.sum(temp_data, axis=1) + elif temp_data.shape == xsdata.xs_shapes["[DG]"]: + if orders[i]: + if orders[i] < len(temp_data.shape[0]): + data[i, :] = temp_data[orders[i]] + else: + data[i, :] = np.sum(temp_data[:]) + elif temp_data.shape in (xsdata.xs_shapes["[G'][DG]"], + xsdata.xs_shapes["[G][DG]"]): + if orders[i]: + if orders[i] < len(temp_data.shape[1]): + data[i, :] = temp_data[:, orders[i]] + else: + data[i, :] = np.sum(temp_data[:, :], axis=1) + elif temp_data.shape == xsdata.xs_shapes["[G][G'][DG]"]: + temp_data = np.sum(temp_data, axis=1) + if orders[i]: + if orders[i] < len(temp_data.shape[1]): + data[i, :] = temp_data[:, orders[i]] + else: + data[i, :] = np.sum(temp_data[:, :], axis=1) + elif temp_data.shape == xsdata.xs_shapes["[G][G'][Order]"]: + temp_data = np.sum(temp_data, axis=1) + if orders[i]: + order = orders[i] + else: + order = 0 + if order < temp_data.shape[1]: + data[i, :] = temp_data[:, order] else: raise ValueError("{} not present in provided MGXS " "library".format(this.name)) @@ -794,8 +758,9 @@ def _calculate_mgxs_nuc_macro(this, types, library, temperature=294.): return data -def _calculate_mgxs_elem_mat(this, types, library, temperature=294., - ce_cross_sections=None, enrichment=None): +def _calculate_mgxs_elem_mat(this, types, library, orders=None, + temperature=294., ce_cross_sections=None, + enrichment=None): """Determines the multi-group cross sections of an element or material object @@ -808,6 +773,10 @@ def _calculate_mgxs_elem_mat(this, types, library, temperature=294., in openmc.PLOT_TYPES_MGXS library : openmc.MGXSLibrary MGXS Library containing the data of interest + orders : Iterable of Integral + The scattering order or delayed group index to use for the + corresponding entry in types. Defaults to the 0th order for scattering + and the total delayed neutron data. temperature : float, optional Temperature in Kelvin to plot. If not specified, a default temperature of 294K will be plotted. Note that the nearest @@ -828,11 +797,6 @@ def _calculate_mgxs_elem_mat(this, types, library, temperature=294., """ - # Check the parameters - for line in types: - cv.check_type("line", line, str) - cv.check_value("line", line, PLOT_TYPES_MGXS) - if isinstance(this, openmc.Material): if this.temperature is not None: T = this.temperature @@ -861,7 +825,7 @@ def _calculate_mgxs_elem_mat(this, types, library, temperature=294., nuc_data = [] for nuclide in nuclides.items(): nuc_data.append(_calculate_mgxs_nuc_macro(nuclide[0], types, library, - T)) + orders, T)) # Combine across the nuclides data = np.zeros((len(types), library.energy_groups.num_groups)) From 823d6fe1bed1b16651fce543c15a1a62333a6c0a Mon Sep 17 00:00:00 2001 From: Adam Nelson Date: Sun, 20 Nov 2016 20:13:40 -0500 Subject: [PATCH 07/14] Added plot_xs to mgxs-part-iv notebook --- .../pythonapi/examples/mgxs-part-iv.ipynb | 192 ++++++++++++------ openmc/plotter.py | 19 +- 2 files changed, 146 insertions(+), 65 deletions(-) diff --git a/docs/source/pythonapi/examples/mgxs-part-iv.ipynb b/docs/source/pythonapi/examples/mgxs-part-iv.ipynb index 312bb8ee6..5f26c7cdb 100644 --- a/docs/source/pythonapi/examples/mgxs-part-iv.ipynb +++ b/docs/source/pythonapi/examples/mgxs-part-iv.ipynb @@ -26,16 +26,12 @@ }, "outputs": [], "source": [ - "import math\n", - "import pickle\n", - "\n", "from IPython.display import Image\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import os\n", "\n", "import openmc\n", - "import openmc.mgxs\n", "\n", "%matplotlib inline" ] @@ -429,7 +425,7 @@ "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "" ] @@ -462,7 +458,7 @@ "cell_type": "code", "execution_count": 16, "metadata": { - "collapsed": true + "collapsed": false }, "outputs": [], "source": [ @@ -486,7 +482,7 @@ }, "outputs": [], "source": [ - "# Initialize an 2-group MGXS Library for OpenMOC\n", + "# Initialize a 2-group MGXS Library for OpenMOC\n", "mgxs_lib = openmc.mgxs.Library(geometry)\n", "mgxs_lib.energy_groups = groups" ] @@ -731,8 +727,8 @@ " Copyright | 2011-2016 Massachusetts Institute of Technology\n", " License | http://openmc.readthedocs.io/en/latest/license.html\n", " Version | 0.8.0\n", - " Git SHA1 | 1a921e7d08fc41b72bf1dd65cd17e922222b78b1\n", - " Date/Time | 2016-11-13 15:24:57\n", + " Git SHA1 | f76ee0867ca2f46c4e84a3cda6511b0ab64eb6a5\n", + " Date/Time | 2016-11-20 20:12:40\n", " OpenMP Threads | 8\n", "\n", " ===========================================================================\n", @@ -819,20 +815,20 @@ "\n", " =======================> TIMING STATISTICS <=======================\n", "\n", - " Total time for initialization = 2.4361E-01 seconds\n", - " Reading cross sections = 1.6584E-01 seconds\n", - " Total time in simulation = 7.3766E+00 seconds\n", - " Time in transport only = 7.3482E+00 seconds\n", - " Time in inactive batches = 8.5442E-01 seconds\n", - " Time in active batches = 6.5222E+00 seconds\n", - " Time synchronizing fission bank = 4.9435E-03 seconds\n", - " Sampling source sites = 3.3815E-03 seconds\n", - " SEND/RECV source sites = 1.5249E-03 seconds\n", - " Time accumulating tallies = 9.5694E-05 seconds\n", - " Total time for finalization = 2.9260E-06 seconds\n", - " Total time elapsed = 7.6377E+00 seconds\n", - " Calculation Rate (inactive) = 58519.0 neutrons/second\n", - " Calculation Rate (active) = 30664.7 neutrons/second\n", + " Total time for initialization = 3.3283E-01 seconds\n", + " Reading cross sections = 2.4897E-01 seconds\n", + " Total time in simulation = 8.0427E+00 seconds\n", + " Time in transport only = 7.7850E+00 seconds\n", + " Time in inactive batches = 9.2530E-01 seconds\n", + " Time in active batches = 7.1174E+00 seconds\n", + " Time synchronizing fission bank = 5.0076E-03 seconds\n", + " Sampling source sites = 3.4455E-03 seconds\n", + " SEND/RECV source sites = 1.5240E-03 seconds\n", + " Time accumulating tallies = 1.1716E-04 seconds\n", + " Total time for finalization = 3.6200E-06 seconds\n", + " Total time elapsed = 8.3927E+00 seconds\n", + " Calculation Rate (inactive) = 54036.4 neutrons/second\n", + " Calculation Rate (active) = 28100.0 neutrons/second\n", "\n", " ============================> RESULTS <============================\n", "\n", @@ -975,11 +971,11 @@ "name": "stderr", "output_type": "stream", "text": [ - "/home/nelsonag/git/openmc/openmc/tallies.py:1944: RuntimeWarning: invalid value encountered in true_divide\n", + "/home/nelsonag/git/openmc/openmc/tallies.py:1974: RuntimeWarning: invalid value encountered in true_divide\n", " self_rel_err = data['self']['std. dev.'] / data['self']['mean']\n", - "/home/nelsonag/git/openmc/openmc/tallies.py:1945: RuntimeWarning: invalid value encountered in true_divide\n", + "/home/nelsonag/git/openmc/openmc/tallies.py:1975: RuntimeWarning: invalid value encountered in true_divide\n", " other_rel_err = data['other']['std. dev.'] / data['other']['mean']\n", - "/home/nelsonag/git/openmc/openmc/tallies.py:1946: RuntimeWarning: invalid value encountered in true_divide\n", + "/home/nelsonag/git/openmc/openmc/tallies.py:1976: RuntimeWarning: invalid value encountered in true_divide\n", " new_tally._mean = data['self']['mean'] / data['other']['mean']\n" ] } @@ -1019,19 +1015,19 @@ "# Now re-define our materials to use the Multi-Group macroscopic data\n", "# instead of the continuous-energy data.\n", "# 1.6 enriched fuel UO2\n", - "fuel = openmc.Material(name='UO2')\n", - "fuel.add_macroscopic(fuel_macro)\n", + "fuel_mg = openmc.Material(name='UO2')\n", + "fuel_mg.add_macroscopic(fuel_macro)\n", "\n", "# cladding\n", - "zircaloy = openmc.Material(name='Clad')\n", - "zircaloy.add_macroscopic(zircaloy_macro)\n", + "zircaloy_mg = openmc.Material(name='Clad')\n", + "zircaloy_mg.add_macroscopic(zircaloy_macro)\n", "\n", "# moderator\n", - "water = openmc.Material(name='Water')\n", - "water.add_macroscopic(water_macro)\n", + "water_mg = openmc.Material(name='Water')\n", + "water_mg.add_macroscopic(water_macro)\n", "\n", "# Finally, instantiate our Materials object\n", - "materials_file = openmc.Materials((fuel, zircaloy, water))\n", + "materials_file = openmc.Materials((fuel_mg, zircaloy_mg, water_mg))\n", "\n", "# Set the location of the cross sections file\n", "materials_file.cross_sections = './mgxs.h5'\n", @@ -1076,12 +1072,82 @@ "source": [ "Finally, since we want similar tally data in the end, we will leave our pre-existing `tallies.xml` file for this calculation.\n", "\n", - "At this point, the problem is set up and we can run the multi-group calculation." + "Before running the calculation let's visually compare a subset of the newly-generated multi-group cross section data to the continuous-energy data. We will do this using the cross section plotting functionality built-in to the OpenMC Python API." ] }, { "cell_type": "code", "execution_count": 34, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\nrb+2zezZxYktqaIkHrd693/2bkHPgZvt0pwKUlVVRYcOHX4btzImLiJuSucmm7j9YcANMXz6qZuN\n8c03bobH0qXuza9TJzd1d8013eOZM+Ghh+Dkk+Gf/4S//Q2OOMIN9VSKb76pW08DYNttXcLlT539\nxz/yb6t5Hn9Znn664fm9egWfm22c/Vbvr9ruu7u1XNZc0/1bpbMej+jeecclpqm3CRPc8OSsWfWT\nuk6d3E7DG2zgNn70H2+wgUtMSp2UT5sG667rfsfWX9/17C1c6Iqnc/E3l0v9fZozx30P/pAkJDep\nLVlxqapG2t+lElRXV1txqSmZNm3csEu+NVm//73rkr74Yre8+wUXwPHHu03vevUKX+So6noANtnE\nLSFfqPQ37wUL3AqltbVwwAGux2e//eqeb9PGLcx2883hr+Vfx589dMstMHRo3f20afWHVvzzW7d2\nOxXvumv99n74wZ1z8MF1tSA+v6hvrbXc/XnnwdlnN4wpqW8OlWCHHYJ7osAl499+65KRadNcjc6U\nKe7+3XddrY2f9DVr5nodUhOTzTZzvYUbbVSc2WZTp9bNklp/fXf/zTcNp3YH8ROPmTPrjg0Y4D6U\nBE3tztfMma5X9YADoreRj6jFpWWe9GeMCWPrreGpp+Czz+CGG9wb7YgRLnHYfntXY7LpprCic/Z2\n5s51U/QeecT9YR47FlZaKXpcqrD55nUJEbg3C3Cb7+20k+vZ6du3/uv82Fdf3Q0jZTNmDFx/Pfzn\nP3VDLf4byeGHu4Rj2DB3y1ast8subshrt93qjvl/+O+/3y1wFqSLVzq/eLF7s1t33YY/gyB9+rjY\nTTStWtUlEkGWLq1LSFJvn3zikl6/2LNVK/c72qMHbLWV+13s06fwWWcffliXUPuJx9dfh0s8Uns8\nPvussHiOP95t+wAJToZVNfQN2AV4GvgSmIyr++gfpa0k3IDegI4ZM0aNqSRLl6q+9JLqxRerDhqk\n2rGjKqjSZYzyd3TljcZo9+6q226rusceqrvtptq3r2rr1qorr6z697+rtmqlet55ma8xZozqwIGq\nCxYEPz9rluq0ae66LVvWHX/jDXds771V77rLPf7mm+A2fv3VxeT+VNa/+Xr3dl8vW+biAdX+/eue\n79Sp7jWffBLcRqr06/ixB8UAqlde6e6rqtx5p5yS+VxQHTzY3Y8aVXds663rHl9/ffbXN6VbMc2a\npfrKK6o33qh68smqO+6o2r593bU33FD1j390/07Ll4dre8YM18b997uvV6xQbdNG9dpr83v9Zpu5\n1/foUXcs/WeS/nw26b9TpTJmzBgFFOitebznRllA7EjgLuBx4EZAgB2Bl0XkWFV9oPB0yBiTj5Yt\n3dTQgQPrjs2dC09/CMe+CweeMJGWC2D+fFfI1qo5rN0aBhwB++ztehq+bwFX3QKvTnI9Kp07u8Wx\nWrVyt9tvhwmfwZX3uKEIv15i6VJXR3H55V7tRBdo3gbGfgf33AMPP+KOfbEQ/nID7HQYzG4JszMs\nh35ElXtdutMudzUAY79z7b09BX5q7x4vXtU7Dgy/A/7sVZ29M5V6k/vHBlzz/Wmw3XZ1X2sLd959\nL8ORRzY8f0Fb1+bXS9x5J18Cv6wWHDPAz6u48+e1qYtlTqu6x2NmwMYDsk8DbiqC/n3i1GEz2Gkz\n9zsIbmhm2jTXuzBxIrz3Ptx/rCtc3WorV+zas6frtchWzHrffdCiK3TpXfc9bNQfXvoMds3je5qh\n0G5jmLYs5Wfg/X6kfp36e57JvPlw5j/J+XtfDBN/CLcToqiG64sRkYnAHapanXb8LOAkVd08VIMJ\nICK9gTFjxoyxGg/TKEyeM5lNbs6xQYkxxsRhBnAHAH1UdWyu06MkHkuAHqr6ZdrxjYBPVLVNqAYT\nwE88BgwYYLNaTKMxec7kSEumr1jhFvNautTdWrd2n/o+/NDVQixa5IrfWrRwRZrrrANvvOEK7C7+\nG3yZ8gl+yy1dgd9RR7n7fCxe7HpofvrJzdzJ5sAD3Qwf38KfYNddGp6XrcYitSYu9bzly+v3iFRX\nQ1WVqw3xp9CCu/6zzzZsd//94Zln3PTKww5zPUWvvgqffgZ/OtVNi164EB57zNWWbLZZ9kLjm26C\n007L/HwlS1oNzK+/ugLRjz5yt48/rtulWMT9n/jlF1ew+q/bYbVV61779tuuXunhh2HDDTNf47vv\n3O/I0Ue7OqgnnnD/h/zfAf9n0qePu2aLFvDCC65gO8iCBW7mVapi/1xfeOIFRj05ioU/LmTc++Mg\nz8Qj51hM+g1X13FKwPFTgMlh20vCDavxMCY2S5e6Ooy4LF/u6leCagOCakbC1hA8/3zm81LbeO01\nd7/vvvXPmTIl+JonnujuP/5YdaWVVGtq3PlvvumOn322qzsA1c8/d8+JZK+DKHctRiXWeMRl9mz3\nu3L77arXXKP65JPudz3d4sWq7dqp/vWv2dt77z33vT/yiLt/9VX3u576M/n11/o/p1GjMrc3b175\nfmSE0ZwAAB0ESURBVK5Fr/EArgVuFJFtgHe8i+0MHAucEaE9Y0wjEvc6Cs2bu9k3p54KDz5Yd3yv\nveqmMaaaOjXzDIggPXpkfm6VVdxeHFC3KdxWW9U/Z4MNXK1L+tRF/+ewdGn9DfBSjw8d6hZS22ST\nuueWLs0/dlM6HTvC3nnsHdqmDZx4optxduaZmaeq+0vub7tt3df+9gFQlz7kK2g6vWoy9xIKvSaH\nqt4GHAFsBVwP3ABsCRyuqrdne60xxkTRoYNbdv6DD+qOdewYfO7667si2HylT4tNVZuy9vJKK7lC\nxBEjGp63774Nj51/PuyzT8Nplf6ib8uWuWnBqcMrlbgirWno/PPdv+0pp2ReWG7SJFfc3bWr+12e\nOrV+grp4ccPEI0wiAu53zLdihZvSngSRFgNT1SdUdWdV7ejddlbVp+IOzhhjUvXt69Y8uOSS4ATA\nd+21+beZ7RNhal2KiKvDCFqEqlnAX9Ju3dzKm61b1z/uJxepbwq+TAtcjR+fOcZi8VfYNeGttZbb\nQ+iJJ1yvVtC/9cSJ7vdJxM2gGTeu/g7NP/7YMGnJlnj46+akWrKk7jXDh8PGG4fbmqBYQiceItJP\nRLYLOL6diPQNeo0xxsSlc2e3g2y24ZTU56qqol9r7bXrHgclF1H4PR5BQyqZEg9/L5NSOvPM0l+z\nMTn4YLjzTpeADBzoilV9qvDWW3VL+Pfu7RbxS929euHChonGxx8HX2vLLYOHDD//3P3eirjicHDJ\nSLlF+a90C9A14Pg63nPGGFN2W2/t7lesyH3uH/4QfDx1T5h8x8qvuy57j0u2Ho9yDbWccELDY5tt\nVvf4xhtLF0tjcsIJbon+KVPcz/PCC10tx6hRLhE59FB3Xr9+7uvUocSgxOP884Ov8+mn9b+++253\nP2lS3TG/rSTUfERJPLYAgqbLjPOeq1hVVVUMHjyYmpqacodijCmQX5+RPsUwyP335x4/z/cP9qab\nwllnZX4+tbg0nd/jcdFF+V0rLrk2uGus03hLYaedXAJw9tluyf+uXV3tz847u31ZwBWttmnjklbf\nrFnRNh4cObJu35vp0+uOF2MTw5qaGgYPHkxVyG7FKInHEmDNgONdgOUBxytGdXU1tbW1toaHMY1A\nt27uU+OBBxbeDuQeajn5ZHefK0FJLS5N97vfufstSvwRLuqbUvreO1HstFPhbSRdu3auJum779z6\nHg8+CP/9b12P2iqruF63CRPc8F6bNvDFF+GLScHNutpoIzeb5sIL6477K+Squv2M/M0PCzFkyBBq\na2uprq7OfXKKKInHf4ErRKSDf0BEVgUuB16M0J4xxhRFu3aFt+EnCrmGQdp4SyfmSlD8dpYHfEy7\n5hq3tH2m5CVoJk8cXef5DEcFue22hsdeeSVcG2+9Fe3alahDB5dcHn54w00Zr7rKLZh39dWu12z8\n+GiJR5cu7nfw+OPrH5861d0vX+6m+h57bKRvIRZREo9zcDUe34jIqyLyKjAVWAsI2CzaGGMql594\n5NpS3U88ciUCfjtBiUezZm533ExrPwTN5ImSeKRPId544/Bt+I45pu7xcce5lV1V69apyCa1eLep\n69jRTRn/wx9cL93DDwf/DHMlI2t64xGZeqP8KbvlrPWIso7Ht8DWwHnAZ8AY3MJhW6nq9GyvNcaY\nSuMnFOnTYtP5n2BzvTH4PR7t22c+Z489XFf8OuvUP37KKfULBiHaG0j6UE4+Qya3B6zSpArnnFP/\na1967EE++ST3OU3R6ae74Rd/1kuq1Cm3QfxEec2gggjqNlKsqMQDQFV/VtU7VHWoqp6jqveqasCI\npTHGVLZ//ct1gXfokP08P0HJNV2xTRv4z3/gjjuynzdoUMNptCKuGz79WFjpw0H5dOkff7zrok+3\n5ZZul9dsttsueJG11VbLfd2mqGNHeP314Cnj+e6/0rlz8PEXXnD3/vTacoiyjscxIrJfytdXich8\nEXlHRLrFG54xxpRX376uCzzXG7yfeOT6RApw5JGZV15N9eCDbn2HbKKsL5I6TTiXVVZx9y1a1H1a\n9vmfqrt6CywcfXT952fPdlNxn3yy7pj/xmey22QTt27HZZfVP3bYYfD++3XHUutzUofoMiUe6d58\n0y1mVkpRejwuBBYDiMgOwDDcsMtsIFxpqzHGNBJ+F3ecCzS1bx/c3Z7KT4i6dKn/JpVNUL2Kv1Lp\nX/4Cf/yje/zUU5kTn++/r9srp10712uy2271z+nY0U3FXWutuqmj/fvnF6NxCeKFF7qf9RtvuELc\nDTd0u9rOnw+33ur+3X3PP1/3ePXV3fDYrFmZ2xdx/y6lnkUVJfHoituhFuAg4FFVvQO4ALBfKWNM\nk+T3IhRjvYR0Tz9d93jECNcrMWOGe5OaOjV4qm4qv7jUTwJ69ICLL4ZddnFriNx3nzs+eHDmrd07\ndQoX87nnujfQtm3dAlflWAa+UnXq5P6tOnVyGybOmQP/+Idbjn3vvV3i8Le/NazVOflk1/Nx1VW5\nrzFlSvDxmTPrF0LfeSc89pjb9+X882GbbervN5QP0ZDzdUTke2AvVR0nIuOAalW9V0Q2BD5S1Rgm\nsJWWiPQGxowZM4bevXuXOxxjTAWaMwf2288NK6y1VvGv5/d0ZPoT7q+YGbQq6bBhcPPNMHq0WzUz\nzuua4uvZ0w3DdOjgkjm/ty0b1dzDcmPGuETFT0zPO89N7wU46CC3BHv6sMxqq0GzZmOZM6cPQB9V\nzTE4CDkmiAV6ERjpJR2bAM96x3sAX0dozxhjKl7HjvDee6W9ZrY9XHbdtWG9yeOPu655f3FmSx4q\n04YbusRjiy3ySzrAJYwrVrhN4jIVSvs9F1OmwIsvut4Nn1+nc+ihrq2ZM93zm23mhuPC9HpESTyG\nAiNwQy6HquocP2agotcar6qqokOHDgwZMsRWLzXGJNr8+bnfdPbay31iHTECFixwG5eBq92AaIWp\nL78cz8JsJrr113f3G20U7nXNmrlhuV12cbNmMkndlbmqyvVy7LEHnHRSXbExuCXTzzuvhgULFoSK\nI/RQS2NkQy3GmMbsu+/ctul+DcDPP7vpvGeemYxNw0w4N94IZ5zh6nIuvTRaGzvuCO++6+p7nn66\nfrKR6v77M2+i6Bs7dix9+hR3qMVfIv0EYHNAgYnAv1U1XNpjjDGm6Lp0qT/7YeWV3SdZU5n86cu5\nVtPN5oYb3NTmiy+u27Bw+HAYOBDmzXNDKD17Bq+/UqjQYYtIX2AUbkrtaECAKuBCEdkzn2zHGGOM\nMdH07evWjRk0KHob/frVFRa3agVz58Kqq9bvAfv558LizCRKvlQN1AInqepyABFpAYwErgcGxBee\nMcYYY1J17ZrfQnVhlHIV2SiJR19Skg4AVV0uIlcBZVyE1RhjjDFJF2UBsR+B9QKOdwUWFhaOMcYY\nYxqzKInHQ8C/ReRwEekqIuuKyBG4oZaKnk5rjDHGmOKKMtRyDm4my70pr18G3Ab8Jaa4jDHGGNMI\nhU48VHUpcIaIXABsiJvV8qWqLoo7OGOMMcY0LqESD2/2yi/ANqr6CTChKFEZY4wxplEKVePhzWSZ\nBjQvTjjxEZHHRWSuiDxc7liMMcYY40QpLr0MuFxEVo87mJjdABxV7iCMMcYYUydKcekwYCNghoh8\nA9Rb20xVE7HZiaq+LiK7lDsOY4wxxtSJkng8GXsUxhhjjGkSosxqGR53ECLSHzgX6AN0AQ5S1dq0\nc4bipvKuBXwEnKaqH8QdizHGGGOKJ3SNh4j0E5HtAo5v520gF8XKwHhgKG6NkPS2DweuBS4BeuES\nj1EiskbKOX8WkXEiMlZEWkeMwxhjjDFFFKW49Bbc8ujp1vGeC01VX1DVv6nqk7h1QdJVAber6r2q\nOgk4FVgEHJ/Sxq2q2ktVe6vqEu+wZGjPGGOMMWUQJfHYAhgbcHyc91ysRKQlbgjmZf+YqirwErBD\nlte9iFvefR8RmRbUS2OMMcaY0opSXLoEWBOYkna8C7C84ekFWwO3bsistOOzgE0zvUhVB4W9UFVV\nFR06dKh3bMiQIQwZMiRsU8YYY0yjU1NTQ83/t3fvwXLW9R3H3x8RAiYKAnITEdNAGZRbAlSuQRkm\nrZaLlGsZwAawNNh2tE4GaJUZS+2IQC9OGesgEAaMpQqUUkrGcDFQ7rkQkyJCCSGGW0IgXAwQON/+\n8Xs2PNmchH327D7PL+d8XjM755zdZ5/9nOc8+5zv/G47fe2PZVu5cmWlfSg1HlR4gjSdVGQcGxEr\ni/u2Is12eTEiTqq0w3X3P0BpcKmkHYGlwEER8WBpu0uAQyPi4KG8XrGv8cDs2bNnM358FrOBzczM\nNgpz5sxhwoQJABMiYrAekbV0+yFxs4DFkuYW9+1LaoHox4Jdy4F3Sa0sZduxbiuImZmZZayb6bRL\nJe0NnAbsA6wCrgamR8TqHucjIlZLmg0cCbRaQVT8/M+9fK1WV4u7V8zMzDas1e3S966WfpA0mrQa\nqkgDV78O3AWsiIglkk4CpgF/CjxEmuVyArBHRCzrweu7q8XMzKwLdXS1ACBpT2AXYLPy/e0Lf3Vo\nf1KhEcXtsuL+acDkiLihWLPj26Qul3nApF4UHWZmZlafbgaXjgVuAvYiFQmtdTICICKy/+Tadq0W\nj8MPP9xdLWZmZh0od7XMmjULOmzx6Kbw+E/SYM9zSFNqDwS2IbVSfCMi7qkavmnuajEzM+tOHV0t\nBwGfj4hlxdTXgYi4V9IFpMGe+3WxTzMzMxsBulm5dBPg9eL75cBOxfeL2cCCXmZmZmbdtHgsAPYm\ndbM8CEyV9DbwFdZdzXSj4um0ZmZmnaltOq2kScDoiLhR0jjgVmB34CXg5Ii4s9IOM+AxHmZmZt3p\n+xiPiJhR+v5JYA9JWwMvRw6LgpiZmVm2ul7HoywiVvRiP2ZmZja8dVx4SLqqk+0iYnL3cZrlMR5m\nZmad6fsYj2Lq7GJgLu8tGraOiPhSpQQZ8BgPMzOz7vRzjMcPgFOAscBVwHXuYjEzM7MqOl7HIyKm\nADsC3wWOBpZIukHSpOLTYs3MzMw2qNICYhHxVkRMj4ijgD2BhcAVwGJJY/oR0MzMzIaPocxqaX2S\nrOhuBdTseHCpmZlZZ2pZQEzSKOB4YDJwKGnxsKuB2yNioNIrZ8SDS83MzLrTt8Glkq4gDS59hlRs\nnBIRL3Ub1MzMzEaeKl0t55KKjkXARGDiYGNKI+L43kQzMzOz4aZK4XEtaUyHmZmZWVc6Ljwi4st9\nzGFmZmYjQE8+q2W48KwWMzOzztQyq2W48qwWMzOz7lSd1TIs1t8wMzOzjYMLDzMzM6uNCw8zMzOr\njQsPMzMzq40LDzMzM6uNp9OWeDqtmZlZZzyddgg8ndbMzKw7nk5rZmZm2XLhYWZmZrVx4WFmZma1\nceFhZmZmtXHhYWZmZrVx4WFmZma1ceFhZmZmtXHhYWZmZrVx4WFmZma18ZLpJV4y3czMrDNeMn0I\nvGS6mZlZd7xkupmZmWXLhYeZmZnVxoWHmZmZ1caFh5mZmdXGhYeZmZnVxoWHmZmZ1caFh5mZmdXG\nhYeZmZnVxoWHmZmZ1WZYFh6SdpZ0l6SFkuZJOqHpTGZmZjZ8P6vlHeAvI2K+pO2B2ZL+KyJWNR3M\nzMxsJBuWLR4R8XxEzC++fwFYDmzdbKrqpk+f3nSEQTlXNc7VuRwzgXNV5VydyzET9DfXsCw8yiRN\nAD4QEUubzlLVSDwhh8K5qskxV46ZwLmqcq7O5ZgJRkDhIekwSbdIWippQNIxg2xznqRFklZJekDS\nAR3sd2tgGnBOP3KbmZlZNVkUHsBoYB5wHhDtD0o6GbgMuAjYD3gUmCFp29I2UyTNlTRH0ihJmwE3\nAd+JiAfr+CV6benSPBtpnKsa5+pcjpnAuapyrs7lmAn6myuLwaURcTtwO4AkDbLJ14B/jYhri23O\nBb4ITAYuKfZxBXBF6wmSpgN3RMSP+5u+f0biCTkUzlVNjrlyzATOVZVzdS7HTDACCo8NkbQpMAH4\n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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAh4AAAGNCAYAAABe2Xg6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAPYQAAD2EBqD+naQAAIABJREFUeJzs3XecVNXdx/HPjyIKCqgoYiMBGxoLLGosWMKDRqPEEqNE\njIbYHtGYVR+Nmmj0sUSjosZgbLHEuGqKSmLF3tsiYgEfjQWCEUUUQVApv+ePc0eG2dnduXfutJ3v\n+/Wa187cuXPub4dl57fn/M455u6IiIiIlEOnSgcgIiIi9UOJh4iIiJSNEg8REREpGyUeIiIiUjZK\nPERERKRslHiIiIhI2SjxEBERkbJR4iEiIiJlo8RDREREykaJh4hULTN71MweqdC1NzCzB8zsUzNb\nYmYjKxFHPmZ2g5m9k3KbS83sjDTbFMlHiYdICsxsgJldZWb/MrOFZjbXzJ40s5+Z2YqVjq9QZtbH\nzC4zs6lmtsDMZpnZc2b2GzPrXqJrDjKzM81s/TxPO7C0FNctwE3AZsBpwCHAi6W+oJmtEr0Xk81s\nXvRv8IqZnW9m/bJO9egmUnO6VDoAkVpnZnsCfwG+IHxYvQqsAOwIXAhsChxdsQALZGarAs3AysAf\ngWnA6sAQ4DhgPDC9BJfeFDgTeCRP+yNKcL12mVk3YFvgHHcfX6ZrDgAeBNYl/DxdBSwCNgd+CuwL\nbFKOWERKSYmHSBHM7BvArcA7wHfc/cOsp680s18B32vj9Qas4O5fljLOAh1O+NDb3t2fy37CzHoB\nC0t0XaOVv97dfXGJrtmevoS45qbVoJl1d/cFrTzXGfg7sAaws7s/k/P86cApacUiUkkaahEpzilA\nD+CnOUkHAO7+trv/LvM4Gke/3Mx+ZGavEnpJdo+e625mF5vZdDP7wsymmdmJuW2a2Qgze8LMPom6\n46eZ2bk55xxnZq+a2edmNsfMXjCzg9r5XgYAS3KTjuj7mOvuX+VcY1szuy+qgfg8qsfYPk+8a5vZ\ndWY2M/q+3jaz8WbWxcwOBW6PTn00en+WmNlO0WsfNbOHc9pbI2rvg2hYa7KZ/TjnnP5RWyeY2RFm\n9lZ07efNbGhbb4KZnQm8S0iGLoraeTvr+cFmdm80nDbPzB40s21z2jg0et1O0fc6C5jRxmV/AGxB\n6GF5JvdJd5/v7r9qJ+6TzOwpM5sdDdG8aGb75zlvBTMbZ2YfmtlnZnanma3TVtsiaVKPh0hx9gLe\nzvdh3YbhwAHA74HZhA85gH8AOwPXAZMJCclvzWxtdz8RwMw2jc6bDPwK+BLYAPj6A9/MjgAuI3yg\nXwqsSPhQ25bQO9Oa94AuZvZjd7+prW/AzL4D3EOoe/g1oQ7jJ8DDZraju78YndcPeAHoSRg6eANY\nh/BB2x14HLicMJRzDmF4B2Bq9HW5npCoXuZRYCDwO8J7dwBwg5n1yk7yIgcTho7+ELV1CvA3Mxvg\n7kta+fb+BnxCeO9uib7P+dH1N4tingv8BlgMHEVImnZy9xdy2hoPfAicRUhQWzMyiu/mNs5pz8+A\nu6I2VgAOAm43s73c/d6s864DfgT8GXgG+A5wN6oZkXJxd9100y3BDViF8IH79xivWUoYt9845/j3\no+d+kXP8NsKH2zejx8cDS4BV27jGHcCUBN/PGsCsKI7XCR+aBwE985z7BnB3zrFuwL+A+7KO3Rh9\nv4PbuO7+0fe0U57nHgEeznqc+f4PyjrWGXiKkAz0iI71j76PD7PjB/aOXr9nO+9F5vUn5HlvFwL9\ns46tFV37kaxjh0avfxSwAt77ZmBOjH+r6wkJ73Lvf87jzsAUYGLWsS2iuC7POffm6H05o1T/X3TT\nLXPTUItIcj2jr/Nivu5Rd38j59gehAQj9y/2SwhDontEjz+Nvu4b1Yfk8ymwbntDCrnc/SPCB9OV\nQG/CX/K3AB+a2S8z55nZVsCGQJOZrZ65ERKxh4DMMIkREqoJ7v5SnFjasAfwgbt/3XPjoefickLP\nxs4559/q7p9lPX6CULsxIO6FzawTodj1Dnd/L+v6HxDep2FmtnLWSxy4xt0L6UnoSfyfo+V4Vp2Q\nmfUGViV8v0OyTtsziiv35+xSwvsiUnJKPESSy3ygrRLzde/mOdYfeN/dP885PjXreQg9IE8B1wCz\nzKzJzA7ISUIuIAwNPG9m/2dmV+SrvcjH3We5+1h3XxvYmDAE8iFwlpmNiU7bMPp6E/BR1u1DQoHq\nClEx6hqED9TXCrl2gfoDb+Y5PpXwwdk/5/hydRXunkncVk1w7TUIw0P/18b118s5/m6BbX9G/J+j\n5ZjZXmb2jJktBOYQ/j3+G+iVdVqmJ+dfOS/PTYRFSkaJh0hC7j4PeJ8w3TGOfLNDWvtrc7m/lt39\nC3ffCfgvwgf/5oRk5IFM8uHu0whJw4GEv3j3A56MiiYL5u5vufvvCb0ITqiXgGW/N06M4si97UZI\nfErxF3TcNlur40gSW5LXFDoTaBrQK2mRp5kNI9R3LCAkG3sQ/i1uYfm41ashFafEQ6Q4/wQG5M5q\nSOBdYG0zyy1A3DT6+l72QXd/xN1PcvdvAacTCgR3zXp+obv/xd1/CqxPKB483cxWiBuYu79DKLbM\nLGCV+Wt5nrs/3MptCeEv7s+Ab7V3iRjhvMuyHpdsg6Kv7+V5Li0fEj7YN27l+k7bM1fa8g9CUjA6\n4ev3IyQ5u7v7De5+v7s/TMtE413C7/2BOce1PoiUjRIPkeJcSPgwutbM1sx90swGmtnPCmjnHsIs\ns2NzjjcSusbvjdrLN0TwMuEDplt0zmrZT3pYC2Mq4f9719YCMLNtLM/qpGa2NWEhscyMk2ZC8nFS\nnkQJM+sTXdeBO4G9zWxI7nlZPo/i793GORn3AGuZ2YFZ1+tMGBKaBzxWQBuJuPtS4AHg+5a1yqqZ\n9QVGAY+7+/yEzf8VeIWQHH4790kLK5qe08brlxASn69nKlpYY+b7OefdS3ivc38mf45mtUiZaDqt\nSBHc/W0z+xFhmupUM8teuXR7wlTP6wtoZ0K0XsW5FlawzEyn3RsYF/U6AJwRrXFxN+Gv+76ErvXp\nwJPROQ+Y2QeEWpBZhF6TscA/8tSQZDsEONjM7iAkF19Fr/0J4a/p86NY3cwOJyQBr5nZ9cBMwjTZ\nXQkzPDIfeKcRCjIfN7OrCQnQ2oTptDtEhZ+TCR+cp0RFkV8CD7n77DwxXk0oer0hKp59l/Aebwcc\n3873l4ZfEoYwnjKz8VHcRxL+vU/OObfgYQ13X2xm+wETCe/V7YR/v0WEZdt/RKjb+GUrTfwTOAG4\n38xuIfxcHEOoh9ki6zovm1kTcEz0Xj9NmN49ME68IkWp9LSaUt0IKzA+Qihsmwz8oNIx6dZxb4Rf\n3H8g9AQsJMwseZyQFHTNOm8JcFkrbXQHLiJ0139B6GFozDlnF8IKlzOi68wA/gQMzDrn8OhnPzM0\n8H+EpGHldr6HzQhrU7xAKBb9Evg30ARsmef8LQhLe38YxfJ2dO4uOeetS0i+PojieZOwzkiXrHPG\nRMe/ImtqbfR9PJTTXh/gWkJStTD6/31Izjn9o3Ya88S9BPhVO+9FW6/fkpB0zSX0skwEtsk559Do\n9UNi/hz1JCwfPzlq+3NCj9b/AmtmnXc98K+c1x4W/cwsiH7v/Thqa0nOeSsA41g2FHYHIRls933R\nTbc0bubeMXvXzGwtwn/UKVFXaDOwobuXatlnERERaUeHrfFw9w/cfUp0fxZhhcjV2n6ViIiIlFKH\nTTyymVkD0MndZ1Y6FhERkXpWlYmHmQ0zswkWNpVaamYj85wz1szesbBJ1LNR5X2+tlYjLNt8RKnj\nFhERkbZVZeJB2ExpMqESv0URSjSV7mJC4dRgQvHV/ZlpfFnnrUAonDrP423iJSIiIiVQ9cWlZrYU\n2MfdJ2QdexZ4zt2Pjx4bobr/cne/MOu8JmCqu59d5rBFREQkj5pbx8PMugINwHmZY+7uZvYgYS5/\n5rwdCPP7p5jZvoSek0PcvcW+EdEGV7sT1gT4oqTfgIiISMeyIvAN4H53/7i9k2su8SDM4e9MmMOf\nbRZZSxm7+1MU/v3tDvw5lehERETq08GE/YHaVIuJR2uM5Ev+vgtw8803M2jQoHZOLa8RI0YwceLE\nSofRQjXGVY0xgeKKS3EVrhpjAsUVV63HNXXqVEaPHg0F7sZci4nHbMIKe31zjq9Jy16QQn0BcPXV\nV9OrVy9GjRrFqFGjiggxPV27dmXIkLa2uaiMaoyrGmMCxRWX4ipcNcYEiiuuWo2rqamJpqYm5s6d\nmzlUUKlCzSUe7r7IzJoJ+wtMgK+LS4cDlxfT9rhx46ruH3+ddRLtkl1y1RhXNcYEiisuxVW4aowJ\nFFdctRpX5o/0SZMm0dDQUHC7VZl4RDtebsCyTYsGmNmWwBx3nwFcAtwYJSDPE3bw7A7cUIFwS6pW\nfyAroRpjAsUVl+IqXDXGBIorrnqLqyoTD2AoYXMoj24XR8dvBMa4++3Rmh1nE4ZcJgO7u/tHxVy0\nsbGx6oZaREREqlGeoZaCVGXi4e6P0c7iZu4+Hhif5nWrcailWhOgaoyrGmMCxRWX4ipcNcYEiiuu\nWo0r6VBL1S8gVg5mNgRobm5urrrEQ0REpJplJR4N7j6pvfOrssejUjTUIiIiUpikQy3q8UA9HiIi\nIknF7fGo1k3iREREpAPSUEsWDbWIiIgURkMtRdBQi4iISDIaahEREZGqpcRDREREykY1HllU4yEi\nIlIY1XgUQTUeIiIiyajGQ0RERKqWEg8REREpGyUeIiIiUjYqLs2i4lIREZHCqLi0CCouFRERSUbF\npSIiIlK1lHiIiIhI2SjxEBERkbJR4iEiIiJlo8RDREREykbTabNoOq2ICCxYAN27VzoKqXaaTlsE\nTacVEQmmTYNBg2DiRPiv/6p0NFILNJ1WREQSe/PN8PWFFyobh3RcSjxERKQFdYZLqSjxEBERkbJR\n4iEiIi2YVToC6aiUeIiISAsaapFSUeIhIiJfU0+HlJoSDxER+Zp6OqTUtIBYFi0gJiIiUpikC4gp\n8cgybtw4LSAmInUtzlDL/PnQpQusuGLp4pHqlfkjPWsBsYJoqEVERL4WZ6hllVVg881LF4t0TAX1\neJjZzxK0fb27z0vwOhERqRFvvVXpCKTWFDrUcinwb2BJgeevB/wTUOIhIlJDMkMtKjKVUolT4zHU\n3T8s5EQzU8IhIiIiLRRa43EWMD9Gu+cBc+KHIyIiIh1ZQYmHu5/l7gsKbdTdz3f3T5OHlQ4z+7uZ\nzTGz2ysdi4iIiHT8WS2XAYdUOggREREJYiceZra6mf3ezF43s9lRj8LXt1IEmZS7P0a8ISIREREp\noSQLiP0J2AC4DpgFqPZZRERECpIk8RgG7OjuL6cdTIaZDQP+B2gA+gH7uPuEnHPGAicBawEvA8e5\n+wuliklEpJ5oOq2USpIaj2nASmkHkqMHMBkYS54eFTM7ELgYOBMYTEg87jezPiWOS0RERIqQJPE4\nBjjXzHaO6j16Zt/SCMrd73P3M9z9TiDfzgGNwFXufpO7TwOOBhYAY/Kca620ISIiImWWZKjlU6An\n8HDOcSP0TnQuNqi2mFlXwhDMeZlj7u5m9iCwXc65E4EtgB5mNh04wN2fK2V8IiK1LM4mcSJJJEk8\n/gwsAn5EZYpL+xCSm1k5x2cBG2cfcPcR5QpKRKQjiVvj8fnnMHs29O9fmnik40iSeHwLGOzub6Qd\nTJEyPS6JNTY20qtXr+WOZbb9FRGpB0l7PPbeGx55REWpHV1TUxNNTU3LHZs7d26sNpIkHi8SNoGr\nVOIxm7BZXd+c42vSshcklnHjxjFkyJBimhAR6RDiJhCPPVaaOKS65PtjfNKkSTQ0NBTcRpLE43fA\nZWb2W+AVwrDL19x9SoI2C+bui8ysGRgOTAAwM4seX15M25keD/VyiEi9KsXutM8+C926weDB6bUp\nlZfp/ShHj8dt0dc/Zh1zUiwuNbMehEXKMp1+A8xsS2COu88ALgFujBKQ5wmzXLoDNxRzXfV4iEi9\nK0Vx6XZR2b+GYTqWzB/p5ejx+GaC18Q1FHiEkMg4Yc0OgBuBMe5+e7Rmx9mEIZfJwO7u/lEZYhMR\n6fCUJEipxE483P29UgSSc43HaGeNEXcfD4xP87oaahGReqfptFKosg21mNmpwCx3/2PO8THAGu5+\nQdw2q4WGWkREAvV4SHuSDrUkWbn0KMKy6bleI6wgKiIiNSppj0ecRGXhQnjnnWTXkdqXpMZjLeA/\neY5/RNjQrWZpqEVEJChlj8eoUXDXXepVqXXlnNUyA9gByM1XdwDeT9Be1dBQi4jUu1JMp8319NOl\na1vKp5yzWq4BLo32TMns1zIcuJBls09ERKQGlaO4tHNJd/SSapck8fgtsDphRskK0bEvgAvc/fy0\nAqsEDbWIiCRjVngvSdLEY+lSuPlmGD0aOiWpUJRUJR1qMU/Yn2ZmKwODgIXAm+7+ZaKGqoCZDQGa\nm5ubNdQiInXtwQdhxAg4/XQ455y2z80eluncOSQG+T5Scodv1l8fZsyIP5xz++1w4IHhflMTHHRQ\nvNdLaWQNtTS4+6T2zi84ZzSz6WZ2hZntZmZd3X2+u7/g7q/WctIhIiLLlKPGI9Nb8ckncOuthb9u\n3rxl93/603RjkvKJ01n1Y+BL4PfAR2Z2m5kdbGa9SxOaiIiUWzmm02YSj8MPDzNcvsz60/Xqq2Gd\ndZLFILWh4BoPd38UeBQ40cw2A0YCxwHXmdnThA3bJrj72yWIsyxU4yEiEpSjx+PDD1s+d8op8Omn\npbu2pKec02lx99cIC4adb2Z9CUnISOA8M3sbOMXd707SdiVpOq2I1LtyDrUsWZK8Da0BUnnlnE67\nHHefRZhie42ZdQd2JwzJiIhIjSnHdNpM4rF0aemvJdWn6MQjw8y6AH3c/Y602hQRkY4njR4PbWZX\nu9KcCb0ZLVczFRGRGqShFimV1Ho8OgIVl4pIvSvnUEsxiYdUXsmLS82svUVBVop15Sqk4lIRkaCU\nPQqZ5EaJR20rR3HppsCttD6c0g/YKEZ7IiJSZco5q0XFpfUpTuLxKvCcu1+Z70kz2wo4IpWoRESk\nIpImHkn2alGPR32Kk3g8CWzcxvPzgMeLC0dERCqpGms81DPSscRZufTn7Tz/L2DXoiMSEZGaEydh\niZt4dOsGQ4bAsGHx45Lqo1ktIiLSQjmKSwvtyVi8GJ5/Ptyk9hWUeJjZFsCr7l7Qj0m0l8sb7r64\nmODKTdNpRaTeVeNQi1SnUk+nfQlYC/iowPOfAbYCamrDOE2nFREJStnjoeLSjqHU02kN+F8zW1Dg\n+SsUHIGIiFSNYma1FKqtHo9C29HKpbWr0MTjcdqe0ZLrGWBh/HBERKSSyrGOhxYQq28FJR7uvkuJ\n4xARkSqQSQouvRTGjSvNNbSAWH1Lc5M4ERGpU6WcTlvs9aS6KPEQEZGyaqu4tNAhHtV41C4lHiIi\nUrRy93hI7VLiISIiZdXWAmJxezJ+/nN4/fXiY5Ly0cqlWbSAmIhI6eUWl2YnGzHXouKyy+CZZ+C5\n59KJTQqXdAEx8wQDZWa2EbALsCY5vSbufnbsBivMzIYAzc3NzVpATETq2jPPwPbbh/vtfTxkT73t\n1g2++ir/a3Kn6OYOyyxcCCuumP/cfOdDOH/hwvDcNtso8aikrAXEGtx9Unvnx+7xMLMjgCuB2cAH\nQPaPmQM1l3iIiEhxipllohkq9SXJUMsvgdPd/YK0gxERESlEdo+IZrjUliTFpasCf0k7EBERkQwz\nePzx1p9XslG7kiQefwF2SzsQERGpvGr6QL/77kpHIKWQZKjlLcKGcd8GXgEWZT/p7penEVglXHkl\n/P73sIK2uBMRiaXcdRrVlCBJPEkSjyOB+cDO0S2bA1WTeJjZXsBFhN11L3T369o6//rr4dlnw9eh\nQ8sSooiIJKAaj9oVe6jF3b/Zxm1AKYJMwsw6AxcTpv0OAf7HzHq39Zqbb4auXeHb34ZTT4UvvihD\noCIiVSTph3gxPR5KHOpLUSuXWiStYFK2DfCqu3/g7p8D9wC7t/WCjTYKc8HPOgsuuQQGDw5z2kVE\npLooWaldiRIPM/uxmb0CLAQWmtkUMzsk3dCKtjYwM+vx+8A67b2oa1c4/XSYNAl69oQddoATT4QF\nC0oWp4iIxKTEo3bFTjzM7ATCAmL3AD8EDgTuA/5gZo1pBGVmw8xsgpnNNLOlZjYyzzljzewdM1to\nZs+a2da5p+RpuuAf1c02g6eeggsuCAWnW27Z9tQuEREpH9V41K4kPR7HAf/t7qe4+wR3v8vdTwaO\nAX6WUlw9gMnAWPIkC2Z2IKF+40xgMPAycL+Z9ck6bSawbtbjdYD/xAmiSxf4n/+Bl1+Gvn1h553h\nuONg/vx434yISK2oRI2H1JckiUc/4Ok8x5+Oniuau9/n7me4+53k77loBK5y95vcfRpwNLAAGJN1\nzvPAZmbWz8xWBr4L3J8kno03hsceg0svheuugy22gIcfTtKSiIikQb0ctStJ4vEWYYgl14HAm8WF\n0z4z6wo0AA9ljnnY6e5BYLusY0uAE4FHgUnARe7+SdLrdu4Mxx8Pr7wC/fvD8OFw1FHw2WdJWxQR\nEak/SdbxOBO4zcx2Ap4iDIXsCAwnf0KStj5AZ2BWzvFZwMbZB9z9n8A/C224sbGRXr16LXds1KhR\njBo16uvHAwfCQw/BVVfBySfDPffA+PGw994xvwsRkSpUiZ6EYq+p3o/yaWpqoqmpabljc+fOjdVG\n7MTD3f9mZtsShjv2IQyFvA5s4+4vxW0vRUaM4tF8xo0bx5AhQ9o9r1Mn+O//hj33DF9HjoQDDoDL\nLoN+qQw2iYjUFtV41IfcP8YBJk2aRENDQ8FtJJpO6+7N7j7a3RvcfUh0v1xJx2xgCdA35/iatOwF\nKan+/cNeAk1NoQZk0CC4+mpYurScUYiIiNSOghIPM+uZfb+tW+lCDdx9EdBMGNrJxGTR43xFrwVr\nbGxk5MiRLbqR2mIGBx0EU6fC/vuHuo9ddoFp04qJRESkMjRsIYVqampi5MiRNDbGW0mj0KGWT8ys\nn7t/CHxK/iGNzFBH51gR5GvIrAewActmtAwwsy2BOe4+A7gEuNHMmgmzVxqB7sANxVy30KGWfFZb\nLcx4GT0ajjwyrPtx2mnwi19At27FRCUiIm1RslQZmWGXuEMthSYe3wHmRPd3jRtcAkOBRwiJjBPW\n7AC4ERjj7rdHa3acTRhymQzs7u4fFXPRTHFpvjGsQu26K0yZAuecE2633RaGX3bcsZjIRESqm2o8\n6k+m0DRucal5zFTRzNYHZnjOC6PhjvXcfXqsBquAmQ0BmpubmxP3eOTzyitwxBFh/5ejjoLzz4dV\nV02teRGR1D3+eFgsEdrvScgkG+6wyiphccV8r8k+L/txxoIFsNJKLZ87+eSwenRrSY17eG7w4LDN\nhVRGVo9Hg7u3+y+RpLj0HWCNPMdXi56TyOabh2XXf/c7uOWWsBDZDTeo+FREqpdWLpVSS5J4tDZt\ndWWgpjeST1Jc2p7OneHYY+GNN2DECPjJT2DYMJg8ObVLiIjUtGL/GFONR2WUurgUM7skuuvA/5pZ\n9n6tnYFtCbUWNauY4tL29OsHf/5zGHoZOxYaGsLXs8+G3r1LckkRkaqSGRrJpV7g2pS0uDROj8fg\n6GbA5lmPBwObEDZqOyxGe3Vpl11Cb8eFF8L118Mmm8Cf/qSMXUSqQyl/Fy1enP/4kiWlu6ZUn4IT\nD3ff1d13Jcws2SPzOLrt7u5HuXvJ92rpCLp2hRNPDGt97LIL/PjHsNNO0Nxc6chERJIppMbjq6/y\nH1fiUV+S1Hj8nDxDNGa2WjkWECulUtR4tGWddeDWW+HBB+GTT2DoUDj0UJg5syyXFxEpq9YSD9V4\n1KakNR5JEo9bgYPyHP9h9FzNGjduHBMmTEi8hkdSw4eH4Zc//AHuvRc23BB+/Wv4/POyhiEiUlLq\n8ehYRo0axYQJExg3blys1yVJPLYlLO6V69HoOUmgS5ew1sdbb8HPfhbW/NhwQ02/FZHyKmXvgRIP\ngWSJRzfyz4bpCqxUXDjSsyf85jeh/mOnncL024aGsBmduhNFpFoVU+OhP67qS5LE43ngyDzHjyZs\n3lazyl3j0ZZvfjPUfzz1VFgRcK+9YIcd4OGHKx2ZiEgyixblP15sj4f+KKuMkq/jkeWXwIPRpm0P\nRceGA1sDuyVor2qUch2PpLbfHh57DCZOhF/+MtSDfOc7YR+Y7bardHQi0tGUcuVSDbV0LOVYxwMA\nd38K2A74N6GgdG/gLWALd38ibnvSPjPYbbew58udd8JHH4WEZI894Am94yJSRdpKXKp1qOXzz+Hc\nc8Pv1Mcfr2ws9SDJUAvuPtndf+Tum7n7UHcfozU8Ss8Mvv/9MAOmqQlmzAh1IDvuCP/8p7obRSRd\naf1O6dw5fP3yy+WPd+sWvpajx+PJJ0PR/rPPLv99vfMObLFF6EWeNg1Gj4bMZquLF8Mxx8CNN7bd\n9uefw/PP63dwoZIMtWBmA4GfAAOAn7v7h2a2BzDd3V9LM0BpqVMnOOgg+OEPQ9Hp+efD3nuHTelO\nPBEOPBBWXLHSUYpILcr+8Fy0CFZYIf7rc4ddevSAzz4Lu9dmmzABdt+9ZUIS15QpoRD/iy9CW/lu\nU6YsO3/YsDB70AxOOinMKnz11fD1W98Kx665Bq69Fq68Mty6dQu/d/PZc8/QU3LkkWEphH79ivt+\nOrrYPR5mtjPwCmHq7P6EzeEAtgTOSi+08qum4tJCdOoUEo6nngp1IOuuC4cdBuutB6edBtOnVzpC\nEallH35Y+Llt1Xj0jJaW/Oyz5Y9nygJeeSVeXBC2m8j2f/8Hs2bBwoVhdejVVw9F+ltuGRKNE06A\nRx6Bf/wD5s2DAw6AH/wA+vSBhx6CgQOhf3+46KKQcEycCGeeCYccEnqazzorLPSY6V1euDAkO/vu\nG5KOddYJr9t559B+U9OynpOOKmlxKe4e6wY8A5wQ3Z8HDIjubwPMjNteNdyAIYA3Nzd7rXvjDffj\nj3fv2dOZsIb1AAAgAElEQVS9Uyf3ffd1v+8+98WLKx2ZiNSCBx90Dx+t7s891/a5mfPc3VddNdzP\n97tmk03Cc9de2/J1Q4e677NPyzbB/eSTWx7L3FZe2X3p0nD/mmvifY9Ll7q//777v/8d7mdbssR9\n4MDQbrdu7u+9537XXctf+9573a+6avlj8+eH9wvcd945fD3vvHhx1arm5mYnbCA7xAv4zE1S47E5\ncEee4x8CqydoT1K00UZw6aVh2fXf/z78FfDd74ZekJNPDt2JIiKFSGv7hk7RJ01ujweEXtp//CP8\nropj/nx4771wv5AZNdnMwnDIOuu0fG2nTnDBBbDqqmFH8fXXhxEjYO21Q08KwO23wyWXwH77hXNv\nvTUMJw0dCmuuGXqgAa6+OtR/PPggNDaGoXFJVlz6KZBvBGswoF1GqsTKK8PRR4cuzOefh/33hz/+\nMdSBDBkS6kKmTat0lCJSbbJrPN6MMWUgMzOlrQLLfInHT38akoATTii8OHOVVUI9xj33FB5fHPvv\nDx9/HL4CrLRSeC/eew9OPTXsLP7GGyHmk08OdXUQkpbNNw/3L7wQ/vOfMOQzYkRYhXqvvWDSpNLE\nXEuS7tVygZmtReha6WRmOwAXATelGZwUzwy23hp+9zt4//0wHXfgwFDBPWhQuJ16aqj0bm3LahGp\nP+uuCy+9VPj5maSha9fwoZxPvpqHFVeE8eNDb8Cvf13YtVZbLUx9vfzywuOLK7cnpHv3kCAdcEB4\nvNVWYVmDXFddBT//ORx7LNxxR9h9/JFHwjIIAwbAxReHJObFF0sXe7VLknicBkwDZhAKS18HHgee\nBs5JLzRJ2worhCKpv/wFZs+Gu+4Ki5Bdc0342qcP7LMPXHEFTJ2qqWEi9WybbULRZKFrbGSf98AD\nyz+X+V3y8cf5X7v33nDeeXD22csfb22arTv87//GH55Jw+DB8MIL8Mwz+Yd4Bg6EceNCL8kee4Th\nll12CT00Rx8Nf/1rKHbdeuvS9dhUuyQLiH3l7kcQptLuBYwGNnH3Q9y9ptefq7VZLcVYaSUYOTIM\nv3zwQZgZc+KJoWr7hBNg001hjTXCNLGzzoL77oM5cyodtYiUWiZJ2Hff0Eta6IJa2X+otJasvP9+\n668/9dTQM5tt4cLWz99ySxgzpu3rlcrQocmWLDjssLCI2qxZ4fHo0WEdkVpVziXTAXD3GcAMM+sC\ndIhVI6pxyfRy6NIldBluvz386lehGOrJJ8Pwy3PPhe7MTNKx9tphnvu3vgWbbRYSlIEDQ29J3AIv\nKa03P36TeV/Nq3QYUmPenA/0g96DYMOd4Gfnw7UDw++JFqJqv0n/gcVrANG02emLwrGMhauGc/+1\nIDqe9bps2+8P1w6Aww8Pj1+cufz5GV+tHo5v+V3gHnhuOjTktFWtvjUiFPnffXdY9+M7B4dpu9/6\n1rIi3Fqx8S4b8+tdfs3UKVN5PMaSr+YF9qeb2d7A6u5+Q9ax04FfERKYh4ED3f2TOIFXAzMbAjQ3\nNzfXZeLRHnd4660wJvnaa+E/zauvwttvL/srp0ePMGc+c+vfH9ZaC/r2DV/XWitUidfaf6xa9ebH\nb7LRFRtVOgwRqQfvA1cD0ODu7ZbPxunxOAH4a+aBmW0PnA2cAUwFziUkISfEaFNqgBlsuGG4ZVuw\nIBSRvfPO8reJE8PiZZ9/vvz5XbqEqWarrgq9e4db9v3evcNCQz16hKGg7t2X3XIfd+sW2lMvS36Z\nno6b972ZQWsMqnA0UkuefRbGjg0LZfXrt2whrZ49w9DGHnuEWSWwbAGw5mbYdttlBeo/+xkceuiy\nNvffHz79NNyeeirstJ15XWvcQ/3ZVVe1fK5v31AfMXNmGDLeffdQI1KLliwJRbwPPQR//3v4Pfu7\nK2DV3pWOrHBTp0xl9NWjCz4/TuKxGcsnFT8AJrr7uQBm9gVwGTWceEz9aCrUSHdd1VgLvrEWfGM7\n2DXnqQULQjHZnDnh6+zZ4f68ectu78+BedNhfvQ4N1lpT+fOIQHJ3Lp2Xf5x9vHOnUOPS6dOIWHJ\nvZ/3WCfoZG0fy5U5lvs1935rz+V7XWvntHbs405ToRtMbBrEKz6k3VjSvl+u69RyjJ06Lf/zm/uz\n3NZzXbu2TMwz+6EUa3YP4D+weR9Yvx8M+THsv33YHfuiE+GyX4QP+u9+l69/Xw7pB0tnAlGtRd+l\n4VjGip/AN1aEyf+BNRYv/7q2NJwJ05+De+9d/njXzuG1ay4Jba0yv/22qtnW68KRe8Pkw8J7e+x+\nIeFbd91KR1agmJ+bcRKPVYDsmuQdgb9kPX4NWDve5avL6L+PhmcrHUUH1wnoFd1SsCS6FbnVQ4f1\nyP2r0DVaOyF7VLWU98t1nY4UYxq6dVs+EenVKxSIZ25rrhmGQDfcMCw33qNH2+1lJ0sbbBAWyfrP\nf8KiWhMmhF6RjCuuWL7AM7fY0z1ce/Lk+Fs57L9/SDz23LPlLJBM3cmiRfHarFZbbRXq6/7rv8JM\nw3Hjwvff0Xp24yQeM4FBwHQzW5mwN0t2KevqwIIUYyu7m/e7mUFbqFtaOoZVVliFDc/csP0TpSLc\nQzf7kiVhiCJzy37c2nNffRVmfCxYkP+2cGGYofbRR2H48/nnw0yKTz8N1+7cOUwLHTEizLTYqMBy\noH79wgZqJ50U1uSYOjV8OP7858ufl5kG++WX8JvfhMRgvfXCscxqo4XadNPwNd++MZmVRDtK4gEh\nMXzyyTD19oADQgJy8cXha0cRJ/H4C3CpmZ0H7Al8wPL9A0OBVpaNqQ2D1hjEkH4qLhWR0jNbNnSS\n2R6+1D79NKx9MXkyPPEE/OEPYRXjww8PH249exbeE9OrF3z723DbbWEY9d57w2JZEB5DWK0zsyhY\nt26hyDxuj8daay1r8667wlpEGZkej462+OF664VZLw89FJK87bcPu5FfeWVYPK3WxZljcDbwAnA5\nsBUwOmfdjlHAP1KMTUREUtS7d1gY7Mgj4U9/CutqXHFFSB6+973l182I073fp0/YxfWDD8Ljq64K\n+5VkJwRmYbglbuLROyqynDs3FJLCsuSoow1B5Bo+PBTg3nhjSEK22aZlvUstKjjxcPeF7v5jd1/V\n3Qe5+xM5z+/q7hekH2L51NMCYiIiK64YajUeeCCsxvmb3xTXXt++IXnZccfwF3omEclYf/34Qy2Z\nGTTZ+7zk9sp05FWWO3UKPUnPPRd6QvbcMxT2tjUjqFySLiBW8DoeHZnW8RCRenfKKWHPlD/9Kaxa\nOmNG8lkVH34YFhjMDLlAGDKAsF/UW2+F+4V8/LgvW//HPfRyrLtuiG/evDA8NGJEy2XaOyL3MNx0\n8slhv5ettgr/VvvtF97vJD1A06eHXpTJk+Hll8O/Xc+eYUGznXcO7+3667fdxqRJk2gIc6sLWsdD\nyzmJiAhjxoSt5u+7r/i21lwzfDhmMwsfYHGHWtqaVp5RL38/m4X9tKZODWt+bLIJXHRR2BF3k03C\nsvMvvND++/HBB2F5+h12CMNfY8eGgtYBA0ISM3RoWCzyyCPhG98Iyc1jj6X3PideMl1ERDqOjTcO\nHzJPPhkeF1s/MXp0y+Sjf/8wI6dYJ0SrRXX0Go/WdO4ckoF99w0zhzKLj11zTRguW2+9kEB8//th\nJWkIK00//HBYH+SFF0Ibu+8eerhGjgy9HLnmzoXbb4dLLw0b3W2/fbi/9dbFxa8eDxERAWDIkPCX\nbhr65VnQKzOlthjuLafv1rNu3ULdx7XXhp6Mhx9etgv5d76zbBuL4cPDLKZvfjNsDjprVliddvTo\n/EkHhJlLRxwRtsi4554wtLXNNmEKdvYwWlypJB5mVkOLu4qISD6bb55ue9mrqZqlPxU00+NRL0Mt\n7enSBXbdNQyjzJgRajYeeADuvx9efz3Ub9x6a0gc4vxbmIWl8l96KSQvEybAoEFwyy3J3vvYiYeZ\nnWJmB2Y9vh342MxmmtmW8UMQEZFqkN0jkcYwRm6X/KqrFt+mFKZTJ9hii1AcuttuIVEodpPOzp3h\nqKNCjcnw4XDwwWGGzeuvx4wtwbWPAmYAmNkIYASwB3Av8NsE7YmISBVIe2+Q3BqPVVZJb08ZUI9H\npfTtG3pOJkwI06MPOSTe65MkHv2IEg9gL+B2d38AuBAosuQkPWb2dzObE/XIiIhIO1ZfPd32hg1b\ndt8s3NTr0XHsvXeoCTr33HivS5J4fAJkOuS+CzwY3TcgxVy2aJcBMfMwEZH61TurWi+NoZbVVmvZ\nvZ9m4qEej8rr3DnaqTiGJInH34FbzGwiYWO4zAKuWwFvJWivJNz9MWB+peMQEakVvVLaNTqjU6ew\nnHq23pqKUPeSJB6NwBXA68AId898uPcDxqcVmIiIlFfaiQeExcRgWe9E9+7pta0ej9oUO/Fw90Xu\nfpG7H+/uL2Udv9Tdr00ShJkNM7MJ0cyYpWY2Ms85Y83sHTNbaGbPmlnV1JOIiHQEK6yQfpu5Qysr\nrZT+NaS2JJlOe6iZfS/r8YVm9qmZPW1m/RPG0QOYDIwFWuSu0fTdi4EzgcHAy8D9ZtYn65xjzOwl\nM5tkZmXaZFpEpGNKa1XQlVde/nGaiUe9rlxa65IMtZwGLAQws+2AY4GTgdnAuCRBuPt97n6Gu99J\nKFLN1Qhc5e43ufs04GhgATAmq43x7j7Y3Ye4+5fRYWulPRERKYMePcLXUgy1ZGiopbYk2atlPZYV\nke4D/NXdrzazp4BH0wosw8y6Ag3AeZlj7u5m9iCwXRuvmwhsAfQws+nAAe7+XNrxiYhI6zKJR4Z6\nPCRJ4jGfMJtlOrAby3o5vgBKMXrXhzBNd1bO8VnAxq29yN1HxL1QY2MjvXKqq0aNGsWoUaPiNiUi\nUtPS+lAvZeKRoR6P8mlqaqKpqWm5Y3Pnzo3VRpLEYyJwrZm9BGwE3B0d3wx4N0F7SRl56kGKMW7c\nOIYMGZJmkyIidS1T45FJZDKJR+6qpkmox6P88v0xPmnSJBoaGgpuI0niMRY4hzDksr+7fxwdbwCa\nWn1VcrOBJUDfnONr0rIXpCiZHg/1coiIpCO3piOTeOT2hBRDPR6Vken9KHmPh7t/SigozT1+Zty2\nCrzeIjNrBoYDEwDMzKLHl6d5LfV4iIikK3eKbrcU5xyqx6OyMn+kl6PHAzPrDfwUGEQY7pgKXOfu\n8dKeZe31ADZg2QyUAdFOt3PcfQZwCXBjlIA8T5jl0h24Icn1RESkbWl9qHftunx7mcdSv2InHmY2\nFLifMKX2eUKy0AicZma7ufukBHEMBR4hJDFOWLMD4EZgjLvfHq3ZcTZhyGUysLu7f5TgWq3SUIuI\nSLpyE40uif7cbZuGWiqjbEMthFksE4Aj3H0xgJl1Aa4FLgV2ittgtK9Km2uKuPt4Srwku4ZaRETS\nlZt4pNnjoaGWyirnUMtQspIOAHdfbGYXAi8maE9ERKpM2kMtGZkejzTaV09HbUqSeHwGrA9Myzm+\nHjCv6IgqSEMtIiLpyiQeixcv/3jp0vSuoZ6PyijnUMttwHVmdhLwNKEmY0fgt5RmOm3ZaKhFROpd\n586wZEl67WVmtWQSj0yPx6JF6V1DKqOcQy0nEZKNm7Jevwi4EvhFgvZERKRKdOoUEo+0h1oyiUYm\n8Vi8OP/50vElWcfjK+B4MzsVGEiY1fKWuy9IO7hy01CLiNS7Tkm2Dm1DJvH46qvlHyvxqH1lGWqJ\nZq98AWzl7q8Cr8S6WpXTUIuI1LvOndNtr7UeDw211L6kQy2xcttoJst0wqZtIiLSwaTd45FJZDIz\nUNTjIUl+xM4FzjOz1dIORkREKiuTeKRV45FpLzOLRT0ekqS49FjC8ubvm9l7wOfZT7p7zY5VqMZD\nROpd2kMtuYmHejw6jnJOp70zwWtqgmo8RKTepT3UkmkvM9SSSWyUeNS+sk2ndfez4r5GRERqQ6mH\nWnITEak/Bee2ZraqmR1nZj3zPNertedERKR2pD3Ukmkvk3hkEpo0Vy6V2hKnU+1YYCd3/yz3CXef\nCwwDjksrMBERKb9S1XhkejjU4yFxhlr2B05s4/mrgIsIs15qkopLRaTelarGQz0eHU85iksHAm+2\n8fyb0Tk1S8WlIlLvMomBajykPeVYQGwJsHYbz68NKIcVEZGvtTbUkmaPh5KY2hIn8XgJ2KeN5/eN\nzhERkRqV9hbzpRxqSTtWKY84Qy1XALea2b+BK919CYCZdQaOARqBH6UfooiIlJuGWqRUCk483P1v\nZnYhcDlwrpm9DTihrmNl4Lfu/tfShCkiIuVQqh6PTKKRaV+JR/2KtYCYu59uZncBBxOWTTfgceAW\nd3++BPGJiEgZlXqoRT0ekmTl0ueBDplkaDqtiEhQ6qEWTaetfeXcq6XD0nRaEZF0aR2Pjqsc02lF\nRKSD01CLlJoSDxER+VotTaeV2qTEQ0REWki7xiP3sXo86lfsxMPMvmlmG+Y5vqGZfSONoEREpDJK\ntShXKVculdqSpMfjBmD7PMe3jZ4TEREBWiYyGmqRJInHYOCpPMefBbYqLhwREakGper50FCLJEk8\nHFglz/FeQOfiwhERkUpKO+FQj4fkSrKOx+PAqWY2Kme/llOBJ9MMrty0gJiI1LtSb7ymHo+Oo5wL\niJ1CSD7eMLMnomPDgJ7AdxK0VzW0gJiI1LtS9XiouLTjKdsCYu7+OrAFcDuwJmHY5SZgE3d/NW57\nIiJSfUrV86GhFkm0ZLq7vw+clnIsIiJSYaWu8dBQixSUeJjZFsCr7r40ut8qd5+SSmQiIlLzSllc\n2qkTnH46jBlTfFtSPoX2eEwG1gI+jO47kC8vdjSzRUSk5qXd85Fb45FGj4cZnHNO8e1IeRWaeHwT\n+CjrvoiIdEAaapFSKyjxcPf38t2vVma2LvAnQvHrIuAcd/9rZaMSEal+pZ5Oq+JSSVRcamYbA8cB\ngwjDK9OA37n7GynGVozFwPHuPsXM+gLNZna3uy+sdGAiIrUgrQSktem06vGoX0k2idsfeBVoAF4G\npgBDgFej5yrO3T/IFLm6+yxgNrBaZaMSEal+6vGQUkvS43EhcL67n5F90MzOip77WxqBpcXMGoBO\n7j6z0rGIiNQb1XhIriR7tfQjLBiW6+boudjMbJiZTTCzmWa21MxG5jlnrJm9Y2YLzexZM9u6gHZX\nA24EjkgSl4hIvSnXkulLlpT2OlK9kiQejxKWSM+1I/BEnuOF6EGYpjuWUDOyHDM7ELgYOJOwO+7L\nwP1m1ifrnGPM7CUzm2Rm3cxsBeAO4Dx3fy5hXCIidSntGo+025XalWSoZQJwQTSE8Wx07NvAAcCZ\n2b0V7j6hkAbd/T7gPgCzvD+WjcBV7n5TdM7RwPeAMYThHdx9PDA+8wIzawIecvdbYn13IiJ1rNR7\ntWRoqKV+JUk8Mh/ux0S3fM9BSouJmVlXQiHreV837O5m9iCwXSuv2YGQCE0xs32jWA5x99eKjUdE\nRJJTj4fETjzcPcnwTDH6EBKYWTnHZwEb53uBuz9FwqnCIiJSuqGWDPV41K9a/nA28tSDFKOxsZFe\nvXotdyyz7a+ISD0o13RaqU1NTU00NTUtd2zu3Lmx2ki6gNjOwEksW0BsKvBbd09aXNqW2cASoG/O\n8TVp2QtSlHHjxjFkyJA0mxQRqSmq8ZC25PtjfNKkSTQ0NBTcRpIFxEYDDwILgMuBK4CFwENm9qO4\n7bXH3RcBzcDwrBgsevx0mtdqbGxk5MiRLbI5EZF6oR4PKVRTUxMjR46ksbEx1uuS9HicDpzs7uOy\njl1mZicAvwJizyIxsx7ABizb8XaAmW0JzHH3GcAlwI1m1gw8T5jl0h24IUH8rVKPh4hIoBoPaU+m\n9yNuj0eSxGMA8I88xyeQNfMkpqHAI4RhGyes2QFh8a8x7n57tGbH2YQhl8nA7u7+Ub7GREQkmVIP\ntajHQ5IkHjMIwxxv5RwfHj0Xm7s/RjvDPrnrdJRCprhUBaUiIqWlHo/alyk0LUdx6cXA5Wa2FaHG\nwgmrlh4GHJ+gvaqhoRYRkUArl0p7yjbU4u5XmtkHwInAD6PDU4ED3f2uuO2JiEj1KFdioB6P+pVo\nOq2730HYB6VD0VCLiNS7tBMC9Xh0XGUbaol2he2Uu/GamW0LLHH3F+O2WS001CIiEpQqQVDi0XEk\nHWpJsvz574H18hxfJ3pORERqlBYQk1JLMtSyKTApz/GXoudqloZaRERKSz0eHUc5Z7V8SVhL4+2c\n4/2AxQnaqxoaahERSZcSjY6rnEMtDwDnm9nXu6mZWW/C4mETE7QnIiJVJu3ptFpATDKS9HicBDwO\nvGdmL0XHtiJs2HZIWoGJiEjHpRqP+pVkHY+ZZrYFcDCwJWGDuOuBpmhDt5qlGg8RkXRpOm3HVc4a\nD9z9c+DqJK+tZqrxEBEJ0k4Q1MPR8ZStxsPMDjWz72U9vtDMPjWzp82sf9z2RESk41KPh+RKUlx6\nGmF4BTPbDjgWOBmYDYxLLzQRESk3JQZSakmGWtZj2c60+wB/dferzewp4NG0AhMRkfLTkulSakkS\nj/nA6sB0YDeW9XJ8AayUUlwVoeJSEZGg1AmCaj5qXzmLSycC10ZTaTcC7o6Obwa8m6C9qqHiUhGp\nd6VaMr1U7UvllHMBsbHAM8AawP7u/nF0vAFoStCeiIh0UK3t1SL1K8k6Hp8SCkpzj5+ZSkQiIlJx\nGmqRUkm0jke0RPpPgUGAA1OB69w93kCPiIh0aBpakVxJ1vEYCvwLaARWA/pE9/9lZiqQEBGRFnJ7\nONTjUb+S9HiMAyYAR7j7YgAz6wJcC1wK7JReeCIiUsvU4yG5kiQeQ8lKOgDcfbGZXQi8mFpkFaDp\ntCIigRIGaU85p9N+BqwPTMs5vh4wL0F7VUPTaUVE0pXWrJZ11ik+FklX0um0SRKP24DrzOwk4GlC\ncemOwG/RdFoREcmSRs/J++9D9+7FtyPVIUnicRIh2bgp6/WLgCuBX6QUl4iICAD9+lU6AklTknU8\nvgKON7NTgYGAAW+5+4K0gxMRkdrWWo+HZrXUr1iJRzR75QtgK3d/FXilJFGJiEhFqKhUSi3WOh7R\nTJbpQOfShCMiIh2REhrJSLJXy7nAeWa2WtrBiIhIx6K9WiRXkuLSY4ENgPfN7D3g8+wn3V3zUUVE\npE1KROpXksTjztSjqBJaQExE6t3w4fBiCZaCzB1qUeJR+5IuIGauf32iPWaam5ubtYCYiNS1JUvg\nk0+gT5902lu0CFZYAb79bXjmmXDMDPr3h3ffTecaUllZC4g1uPuk9s5Psknc1ma2bZ7j20YbyImI\nSI3q3Dm9pANU4yEtJSku/T1hefRc60TPiYiIiOSVJPHYFMjXlfJS9JyIiMhyNJ1WMpIkHl8CffMc\n7wcsznNcRETqlIZaJFeSxOMB4Hwz65U5YGa9gfOAiWkFJiIiHZcSkfqVdJO4x4H3zOyl6NhWwCzg\nkLQCK0aUFD1IWGG1C3C5u19b2ahEROqXhlokI8kmcTPNbAvgYGBLYCFwPdDk7otSji+pz4Bh7v6F\nma0EvGZmf3P3TyodmIhIPWkt4TjssLKGIVUkSY8H7v45cHXKsaTGw+IkX0QPV4q+Kt8WEakCGmap\nb4kSDwAz2xRYH1gh+7i7Tyg2qDREwy2PEZZ3/x93n1PhkEREROpekgXEBpjZy8CrwN2EJdTvBO6I\nbrGZ2TAzm2BmM81sqZmNzHPOWDN7x8wWmtmzZrZ1W226+1x33wr4JnCwma2RJDYREUlOtR2SK8ms\nlsuAdwhTahcAmwE7AS8CuySMowcwGRgLtOiEM7MDgYuBM4HBwMvA/WbWJ+ucY8zsJTObZGbdMsfd\n/SNgCjAsYWwiIiKSkiSJx3bAGdEH+lJgqbs/CZwKXJ4kCHe/z93PcPc7yV+L0Qhc5e43ufs04GhC\n0jMmq43x7j442h23t5mtDF8PuQwD3kgSm4iIiKQnSeLRGZgf3Z8NrB3dfw/YOI2gsplZV6ABeChz\nLCoefZCQBOWzPvBENN33MeAyd38t7dhERKRtGmqRXEmKS18FtgDeBp4DTjazr4Ajo2Np60NIdmbl\nHJ9FK4mOu79AGJKJpbGxkV69ei13bNSoUYwaNSpuUyIiIh1OU1MTTU1Nyx2bO3durDaSJB7nEGoy\nAM4A/gk8AXwMHJigvaSMPPUgxRg3bhxDhgxJs0kREQG6dWv/HKl++f4YnzRpEg0NDQW3kWQBsfuz\n7r8FbGJmqwGfREMgaZsNLKHl/jBr0rIXREREqszll8N++1U6CqkWidfxyFbKNTLcfZGZNQPDgQkA\nZmbR40TFrK3JDLVoeEVEJD3HHVfpCKQUMsMucYdarNBOCjP7YyHnufuY9s9q0XYPwkJfBkwCTgAe\nAea4+wwz+yFwI3AU8DxhlssPgE2i2TVFMbMhQHNzc7OGWkRERGLIGmppcPdJ7Z0fp8fjMMLMlZdI\nf/nxoYREw6PbxdHxG4Ex7n57tGbH2YQhl8nA7mkkHdnU4yEiIlKYcvR4jAcOAqYDfwRu7ijLkKvH\nQ0REJJm4PR4Fr+Ph7scA/YALgL2BGWZ2u5ntHtVciIiIiLQpVnGpu38JNAFNZtafMPwyHuhqZpu6\n+/y2Xl/tNNQiIiJSmJIPtbR4odn6hMTjMMIOtZvUauKhoRYREZFkSjbUAmBm3cxslJlNJOx9sjlw\nLLB+rSYdIiIiUj4FD7XkFJdeDxzk7h+XKjARERHpeOLUeBxNSDreAXYGds5XU+ruNbs+nWo8RERE\nClOO6bQ3UMDeKO7+k1gRVAHVeIiIiCRTsgXE3P2wIuISERERiVdcKiIiIlKMVDaJ6yhU4yEiIlKY\nsq/j0ZGoxkNERCSZkq7jISIiIlIMJR4iIiJSNko8REREpGxUXJpFxaUiIiKFUXFpEVRcKiIikoyK\nS0VERKRqKfEQERGRslHiISIiImWjxENERETKRrNasmhWi4iISGE0q6UImtUiIiKSjGa1iIiISNVS\n4tsLL2EAAA2YSURBVCEiIiJlo8RDREREykaJh4iIiJSNEg8REREpGyUeIiIiUjZKPERERKRstIBY\nFi0gJiIiUhgtIFYELSAmIiKSjBYQExERkaqlxENERETKRomHiIiIlI0SDxERESkbJR4iIiJSNko8\nREREpGw6dOJhZiuZ2btmdmGlYxEREZEOnngApwPPVjoIERERCTps4mFmGwAbA/dUOpZiNDU1VTqE\nvKoxrmqMCRRXXIqrcNUYEyiuuOotrg6beAAXAacCVulAilFvP5DFqMaYQHHFpbgKV40xgeKKq97i\nqorEw8yGmdkEM5tpZkvNbGSec8aa2TtmttDMnjWzrdtobyTwhru/lTlUqthFRESkcFWReAA9gMnA\nWKDF5jFmdiBwMXAmMBh4GbjfzPpknXOMmb1kZpOAnYGDzOxtQs/H4Wb2y9J/G+mbOXNmpUPIqxrj\nqsaYQHHFpbgKV40xgeKKq97iqordad39PuA+ADPL1zvRCFzl7jdF5xwNfA8YA1wYtTEeGJ/1mhOj\ncw8FNnP3c0r2DZRQvf1AFqMaYwLFFZfiKlw1xgSKK656i6sqEo+2mFlXoAE4L3PM3d3MHgS2S+ky\nKwJMnTo1pebSs2jRIiZNanezv7KrxriqMSZQXHEprsJVY0yguOKq9biyPjtXLKRdc28xslFRZrYU\n2MfdJ0SP+wEzge3c/bms8y4AdnL3opMPM/sR8Odi2xEREaljB7v7Le2dVPU9Hm0w8tSDJHQ/cDDw\nLvBFSm2KiIjUgxWBbxA+S9tVC4nHbGAJ0Dfn+JrArDQu4O4fA+1maSIiIpLX04WeWC2zWlrl7ouA\nZmB45lhUgDqcGN+oiIiIVF5V9HiYWQ9gA5attzHAzLYE5rj7DOAS4EYzawaeJ8xy6Q7cUIFwRURE\nJKGqKC41s52BR2hZs3Gju4+JzjkGOJkw5DIZOM7dXyxroCIiIlKUqkg8REREpD5UfY1HtTCzd81s\ncrQ66kOVjiebma0UxXdhpWMBMLNeZvaCmU0ysylmdnilYwIws3XN7BEzey36t/xBpWPKMLO/m9kc\nM7u90rEAmNleZjbNzN4ws59WOp6ManufoHp/rqr1/yFU3+8sqN7f8Wb2DTN7OPr5etnMVqqCmDbK\nrBQefV2Qb6uTVl+vHo/CRMuvb+buCysdSy4zO4dQIzPd3U+ugngM6ObuX0T/SV4DGtz9kwrHtRaw\nprtPMbO+hKLlDavh3zQablwZONTdf1jhWDoDrxO2HphHeJ++7e6fVjIuqK73KaNaf66q9f8hVN/v\nLKje3/Fm9ihwmrs/bWa9gc/cfWmFw/paVKP5DtC/0PdOPR6FM6rw/TKzDYCNgXsqHUuGB5n1UDLZ\necU36nP3D9x9SnR/FmGq9mqVjSpw98eA+ZWOI7IN8Gr0fn1O+NnavcIxAVX3PgHV+3NVrf8Pq/F3\nVqTqfseb2abAV+7+NIC7f1pNSUdkJPBQnIStqt7kKrcUeNTMnotWOq0WFwGnUgW/ULJF3byTgenA\nb919TqVjymZmDUAnd6/OTRIqa23CasEZ7wPrVCiWmlJtP1dV+v+wKn9nUZ2/4zcEPjezu8zsRTM7\ntdIB5fFD4LY4L+iQiYeZDTOzCWY208yW5ht7MrP/b+/+Y6+q6ziOP19TpBLFHyhqSkrW2tIwBWtQ\niTlm2RRmUbEmVlozdG39GGOUspXV1sxqrq05BHGazrSYYxQT1JDEKeBUXCEmKU5UCAMiAuX77o/P\nuV/O9/JFvud+zz33fL+8HtvZ93vPz9c999xz3/ucz7n3WkkbJO2S9LikcQdZ7YSIGAdMBmZL+nCn\nc2XLr4uIFxqjimZqRy6AiNgWEecAZwBfkXRCHXJlyxwHLAC+UTRTO3OVoaRsvR1H/bomW9d9Vmau\n/h5X7chVxvuwzExlnbPKzpXp9zm+DbmGAJ8AvgWMByZJuqh5PR3I1ZjvqCxXodarQVl4AEeSbrm9\nll5OmJK+BPwCmAN8FHgaWCJpRG6eGdrXeWZoRLwGqVmVtJPP63Qu0jX4Lytdm7wJuFrSDzudS9LQ\nxviI2Aw8A3yyDrkkHQH8Efhp/rd/Op2rxRxtyUZq7Tg19/i9wKYa5GqHUnKVdFyVnquhn+/DMjN9\nnHLOWWXnoqRzfNm5XgGejIhXI2JPluucGuRqmAwsybL1XUQM6oHUfHZZ07jHgV/nHov0As88wDre\nAwzL/h8GrCJ10uporqZlrwR+XpP9NTK3v4YDz5I6bXV8fwF3AzfU6fjKzTcR+H2nswGHAeuAk7Pj\n/W/AsZ3O1a79VEauso+rkl7H0t+HZb2G2fRSzlkl7avSz/El5TqM1Fl5OKmh4AHgkk7nyk17APhc\n0e0O1haPA5I0hFTJdt8uFWkPLgUO9Eu3I4EVkp4ifU377RGxuga52q7FXKOAR7P99RfSQfxcp3NJ\nmgBMBabkWhv61ZxaRq5suQdJ10k/K+llSR8rM1eRbBGxF/ge8AiwBrgp2ngnRJF9VsV+KpqriuOq\nlVxU8D5sIVOlCuRq+zm+lVzZe3E28CipleL5iGhbp9yC78WjgXH08Yfh8mrxlekVG0GqIpt/YO51\nUk/r/UTEBvrfvFV6rryIWNCOULS2v54kNdG1Uyu5/kr7j/mWXseImNTOUJk+Z4uIRcCiCjIVzVXF\nfmroU66KjqtWclXxPiyUKa+N56y8vu6rKs7xhXMBRMQSWvhwryDXdlKraGGHXIvHOxD97EDXJs5V\njHMVV9dszlVMHXPVMRM4V1Gl5joUC48twF5S01reiexf5VXJuYpxruLqms25iqljrjpmAucqqpJc\nh1zhERFvkTrrdN+SJEnZ48ecy7kGYy6obzbnGvi56pjJueqba1D28VD6Ctcz2XeP+GhJY4CtEbER\nuBlYIGk18ATwHVKv5tudy7kGaq46Z3OugZ+rjpmca4DmKuu2nDoNpO+36CI1GeWHebl5ZgD/BHYB\nK4GxzuVcAzlXnbM518DPVcdMzjUwc/lH4szMzKwyh1wfDzMzM+scFx5mZmZWGRceZmZmVhkXHmZm\nZlYZFx5mZmZWGRceZmZmVhkXHmZmZlYZFx5mZmZWGRceZmZmVhkXHmZmZlYZFx5mNihJmiOpS9Je\nSd9uw/o3ZOvvknR02es3G6xceJgZkubnPqS7cv8v7nS2floLnATc2peZJX1X0lZJR/Qy7d2Stkm6\nLhs1Fvg84B+8MivAhYeZNfyJ9CHdGE4GprVzg5KGtHP9wNsRsTki/tfH+e8g/QT45b1MmwoMAe4E\niIh/AVtLSWl2CHHhYWYNu7MP6Tdyw7bGxKwV5CpJf5C0U9Lzki7Nr0DSWZIWS9oh6TVJd0g6Pjf9\nYUm3SPqlpM3An7PxH5K0QtIuSWslXZRt77Js+jJJtzRta4Sk3ZImFnmSkoZLmivpjawFY6mkjwBE\nxBZgEfD1Xhb9GrAwIv5dZHtm1pMLDzMr4gbgHuBsYDFwl6RjIH2gA8uA1cC5wMXAicC9TeuYDuwG\nxgPXSBKwENgBjAO+CfyEnpcw5gLTmlpIrgBeiYhHCj6H+4Djs3znAmuApY3nAdwGfFrSaY0FJI0G\nPpXlMLN+cOFhZg2XZi0VjWG7pFlN88yPiHsj4kVgNnAkcH427TpgTURcHxHrI+Jp4GrgQkln5tbx\nQkTMyuZZTyoAzgCmR8TaiHgM+AGg3DL3Z38n58ZdCcwv8gQlTSD1zfhiRDwVEf+IiJnANuAL2WxL\ngE2kFo6GrwIvRcRDRbZnZvs7vNMBzKw2HgKuoecHfnMfhmcb/0TEfyXtILVqAIwhtRTsaFomgPcD\nL2SPVzVN/yCwMSI258Y90WMFEXsk3Um6BHKfpHOBs4Ael3r6YAxwFLA1NbR0e1eWkYjokrSAVGz8\nKGuRmU5qCTGzfnLhYWYNOyNiw0HmeavpcbCv5XQY8AAwk57FC6QWhO7tNE0TfbszZC7wlKRTSK0R\nyyJiYx+WyxsGvApc0EvGfN+NecAsSReSzpOnArcX3JaZ9cKFh5mVZQ3pbpCXIqKrwHJ/B0ZJOiHX\n6nF+80wRsVbSKlIfkGnAjBYzngTsjYiXDzRTRLwoaTlwFalAWdpCkWNmvXAfDzNrGCppZNNw/MEX\n6/Yb4DjgHkljJY2WdLGkeWq6rtHkQeBF4A5JZ2f9MG4ktYI0t4TcBswiFQMLC2QDICKWAiuBhZIm\nSXqfpPGSbswu3zRv63JgCr7MYlYaFx5m1vAZ0mWI/PBobnpvl0O6x0XEJmAC6byyBHgGuBl4MyKi\nef7ccl2kTqNHkvp23Ar8mFRcNH//xt3A28BdEbGn2NPrdgmwnHQ5ZR3wO2AU8HrTfPeT7r7ZSQtF\njpn1TvvOB2Zm9ZC1eiwHzsz3O5F0OqmT6nnZXTPvtI45wOSIaG7JKDPnRNItxMdGxPZ2bcdsMHEf\nDzPrOElTgP8A64EPAL8CVjSKDkmHA6cAPwNWHqzoyDlb0nZgZkT8tuTMa4HR+CvTzQpxi4eZdZyk\nK4DrSXePbCH1+/h+RLyZTb8AeJjUEXVqRDzXh3UeQ+pzArA5Ippv8+1v5tNIX6FO9r0mZtYHLjzM\nzMysMu5camZmZpVx4WFmZmaVceFhZmZmlXHhYWZmZpVx4WFmZmaVceFhZmZmlXHhYWZmZpVx4WFm\nZmaVceFhZmZmlfk/5oOPgFlJQ7YAAAAASUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAh4AAAGNCAYAAABe2Xg6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAPYQAAD2EBqD+naQAAIABJREFUeJzs3XecVNX9//HXZylSVFRExBKV2BADChobYMEadcXuIpaQ\naGyoo8Zu/KqxoQZj1Nhji2uMJT+MxoINWywLiChWrKhYECyAtM/vj3MnzA6zu3PvTtvd9/PxuI+Z\nPbd9dlmdz557zueYuyMiIiJSClXlDkBERETaDiUeIiIiUjJKPERERKRklHiIiIhIySjxEBERkZJR\n4iEiIiIlo8RDRERESkaJh4iIiJSMEg8REREpGSUeIlJWZva0mT1Vpnuva2aPmdksM1tkZtXliEOk\nLVHiIZInM+ttZteb2ftmNtfMZpvZc2Z2vJl1Knd8+TKzlc3sz2Y21czmmNkMM3vJzC4xsy5Fumcf\nMzvXzH6WY7cDi4tx3zzcDvQFzgQOAV4txk3MrIeZLTazMTn2XRXtOzfHvtvNbH7c3y8z293MzmlO\nzCLFYlqrRaRpZvYr4J/APMKH1RSgIzAI2Be41d2PKl+E+TGzFYFJwLLALcBbQHdgALAn0MfdPy7C\nffcl/Py2c/fxWfvaA7j7wkLft4mYlgHmAH9096U+9Itwv3eA2e6+eVb7K0A/4Bl33zlr33vAl+6+\ndcx7/RX4jbt3bGbYIgXXvtwBiFQ6M1sbuBv4ANjB3b/M2P3X6C/L3Rs534CO7v5TMePM02+BNYCt\n3f2lzB1m1g2YW6T7GqFnYymlTjgy9CTENbtQFzSzLu4+p4HdzwEjMo+Jepj6A/8A9jKzKndfHO1b\nFegNPJAklATnNH1Rs07uPq8Y15a2Q49aRJp2GtCV8Bfkl9k73X2au/8l/XXUbX6VmQ03symEXpJd\non1dzOwKM/vYzOaZ2VtmdnL2Nc1sJzN71sy+NbPvo+MuzDpmlJlNMbMfzWymmb1iZgc18b30BhZl\nJx3R9zHb3edn3WMLM3skGgPxYzQeY6m/vs1sNTO72cymR9/XNDO71szam9lhwD3RoU9HP59FZjYk\nOvdpM3sy63o9out9ET3WmmRmh2Yds1Z0rZPM7Agzey+698tmtlljP4ToscaHhGTo8ug60zL2b2pm\n/4kep31vZuPMbIusaxwWnTck+l5nAJ80ctvngHbAlhltW0ZtlxN6ofpn7Nsmiu+5jHtua2b/zPj9\n+cjMLo96b9LH3AEcCbSL4ltsZvMz9lv0M3sjusbnUfzLZ31/n5rZ/Wa2q5m9ambzgJGNfH8ieVGP\nh0jT9gCm5fqwbsRQYH/gGuBrwoccwIPAtsDNhEceuwCXmdlq7n4ygJltFB03CTgH+AlYF/jfB76Z\nHQH8mfCBfiXQidBdvwWhd6YhHwHtzexQd7+9sW/AzHYAHiaMe/g/wjiMXwNPmtkgd381Oq4X8Aqw\nPHA98DawOrAf0AUYD1wFjAL+SHi8AzA1eq3XExKNZ3ga+DnwF8LPbn/gVjPrlpnkRQ4mfGhfF13r\nNOA+M+vt7osa+PbuA74l/Ozuir7PH6L7941ing1cAiwEfkdImoa4+ytZ17oW+BI4j5CgNuQ5Qk/E\nICCdaG0NvOPur5nZp4RkY2K0b1D0+nzGNQ4AlgGuBmYSEpcTgF7RzwHC71wvwu/ZodE9M8fQ3ALU\nRK9XEpLRUUB/Mxuc7nEh/Cz7AncSfrbXs+TfTCQ5d9emTVsDG7Ac4X/a98c4ZzGwANggq32vaN/p\nWe3/IHy4rRN9fQKwCFixkXs8AExO8P30AGZEcbxJ+NA8CFg+x7FvAw9ltS0DvA88ktF2W/T9btrI\nffeNvqchOfY9BTyZ8XX6+z8oo60d4QN4NtA1alsr+j6+zIyfMFZlEfCrJn4W6fNPyvGznQusldG2\nanTvpzLaDovOf5povFweP/8vgMcyvv4PcFP0/m7g7ox9LwNTs3/+Oa55VvT70yuj7a/A/BzHbhfF\nvG9W+25R+34ZbZ9EP8ftCvnflDZtetQi0rh09/P3Mc972t3fzmrbjfABkf0X+58Ijz13i76eFb3u\nHY0PyWUWsEZTjxSyuftXhJ6RvwIrEP6Svwv40szOTh9nZpsA6wG1ZtY9vRESsSeA9GMSIyRUY919\nIoWxG/CFu/+v58ZDz8VVhJ6NbbOOv9vdv8v4+lnCX/m9497YzKqAnYAH3P2jjPt/Qfg5DTazZTNO\nceBGd893lP4LwBZmVhX97LaM2iAkVttEcXQGNiHjMUsUx//GCUWP7bpH51t0fFP2I/SUPJ317/oq\nIdnaPuv499z96Ty/N5G8KPEQaVz6A225mOd9mKNtLeAzd/8xq31qxn4IPSDPAzcCM8ys1sz2z0pC\nLiU8GnjZzN4xs6tzjb3Ixd1nuPux7r4asAGhm/1L4DwzSz/DXy96vR34KmP7kjBAtaOFwag9CMnZ\nG/ncO09rAe/maJ9K+IBdK6u93rgKd08nbismuHcPwuOhdxq5/5pZ7R/GuP5zLBnLsTHhZ5d+lPIC\nsJqFKcdbEh6F10s8onEtt5vZN4R//68IiSBAtzzuvx6wEvX/Tb8i9IJ1AlbJOn4aIgWmMR4ijXD3\n783sM+AXMU/NNTukod6Len8te5g1MMTMtifMltkVOBB4wsx29uAtM9uAMP5kV2Af4BgzO8/dz8s3\nSHd/D3jPzB4mfNgfTHj2n/6j5GTgtQZO/4HwYVVocWdkNDSOI8nMjiTnxJkJlDnOYwEwM6NnbFJ0\nrUGE3prsgaXtgHGEJPgiwqOwOcDPqP9v1pgq4DNCzZJc32v24OlizXKSNkyJh0jT/g0cYWZbeLwB\nptk+BHYws65ZvR4bRa8fZR7s7k8Rxj+cYmZnEAZmbk80MNHd5xJqY/zTQi2MB4CzzOxiz5qd0hR3\n/8DMviUMSoQwjgPge3d/soHTMLMvCb1CGzd1ixjhfEjuRK9P9PpRjn2F8iXhw3yDBu7vND5zpSkT\nousPAuYDL6Z3uPsiCzU9BgHrEOp3vJ9x7iaEAbc17v6PdKOZ7ZrjPg39vN8HBgPPufuCZnwfIonp\nUYtI00YTPixuMrPsrmjM7Odmdnwe13mYkOwfl9WeIgzs+090vVyPCF4j/IW6THTMSpk7PdTCmEr4\nb7pDQwGY2S8tR3VSM9ucUEgsPeOkjvAhdYqZLTVTw8xWju7rwL+APc1sQEP3BX6M4l+hkWPSHgZW\nNbMDM+7XjvBI6HvgmTyukYiHGR2PEWpq/K/Kqpn1JMwEGe/uPzTj+gsJg0YHEWa0vJB1yAuE8TNb\nkvWYhSU9O//7/3b0+O0Elk40fiRMp83+t76HUPju7Kx2LEx9Xj67XaTQ1OMh0gR3n2ZmwwmzDqaa\nWWbl0q0JUz3/lsd1xlqoV3GhmfVmyXTaPYEx7v5BdOgfLNS4eIjw131P4GjgY5Z8GD1mZl8QxgfM\nIPSaHAs8mGMMSaZDgIPN7AFCcjE/OvfXhG71i6NY3cx+S0gC3jCzvwHTCdNktyfM8NgruuaZhAGZ\n483sBkICtBphIOM20cDPSYQPztPMbAXCFOEn3P3rHDHeQBj0ems0ePZDws94K+CEJr6/Qjgb2BF4\n3syujeI+kvDvfWrWsUkezTxHmF3i1J8qCyHxOIOsxyyRNwhF7K40s7UIj7r2Y8kA6Ex10evVZjYO\nWODu/3T3J83sZuDsKFEcRxjwvH50raOBsQm+J5H8lXtaTTE2QmXGpwj/oU4iY4qYNm1JN0I393WE\nnoC5hJkl4wn/s+6Qcdwi4M8NXKMLoVjUJ4TCYm8BqaxjtgPuj46ZG73eAfw845jfRr/j6UcD7xCS\nhmWb+B76EmpTvEIYVPgT8ClQC/TPcXw/wuOcL6NYpkXHbpd13BqE5OuLKJ53CXVG2mccMzJqn0/G\n1Nro+3gi63orAzcRkqq50X/Hh2Qds1Z0nVSOuBcB5zTxs2js/P6EpGs2oZflceCXWcccFp0/IObv\n0U7RefOATln7Voz2LQQG5ji3TxTLd9HP+poo1kXA8Izjqgizp2ZE15qfdZ0jot+BHwj1TCYCFwKr\nZBzzMXBfuf+709b6tla5VouFUsOruPvkqIu0DljPwzNxERERKZNWOcbD3b9w98nR+xmEypErNX6W\niIiIFFurTDwymdlAoMrdp5c7FhERkbau4hIPMxtsZmMtLDa12MyqcxxzrJl9YGHxqP9GI/JzXWsl\nQjnnI4odt4iIiDSt4hIPwiJLkwgj9JcagBJNsbsCOBfYlDDN8NH09L6M4zoS6hpc5M2rvSAiIiIF\nUtGDS81sMTDM3cdmtP0XeMndT4i+NsKo/6vcfXTGcbWEBZbOL3HYIiIi0oAWVcfDzDoAAwnlgoH/\n1RsYR5jjnz5uG8K8/8lmtjeh5+QQd8+5nkS0SNIuhHoB84r2DYiIiLQ+nYC1gUfd/ZumDm5RiQdh\nbn87wtz0TDPIKHHs7s8T73vbBfh7s6MTERFpuw4mrOLcqJaWeDTEiLcWRLYPAe6880769OnTxKGl\ns9NOO/H444+XO4ylKK54FFf+KjEmUFxxKa78VWJMEC+uqVOnMmLECMhzpeaWlnh8TajQ1zOrfRWW\n7gWJYx5Anz59GDCgseUmSqtDhw4VFU+a4opHceWvEmMCxRWX4spfJcYEiePKa6hCi0o83H2BmdUB\nQ4nWE4gGlw4Frmru9VOpFN26daOmpoaamprmXq7ZVl999XKHkJPiikdx5a8SYwLFFZfiyl8lxgT5\nxVVbW0ttbS2zZ8+Ode2KSzyilTDXZcniS73NrD8w090/Af4E3BYlIC8TVvbsAtza3HuPGTOmojLP\nlvwLWQ6KK55KjKsSYwLFFZfiyl8lxgT5xZX+I33ChAkMHDgw72tXXOIBbEZYNMqj7Yqo/TZgpLvf\nE9XsOJ/wyGUSsIu7f1WOYEVERCR/FZd4uPszNFHYzN2vBa4tTUTlUwmPe3JRXPEorvxVYkyguOJS\nXPmrxJiguHFVdAGxUjGzAUDdkCFDKmqMh4iISKXKHOMxfvx4gIHuPqGp85R4sCTxqKurq6gxHiIi\nIpUuY4xHXolHJa7VIiIiIq2UEg8REREpGSUeIiIiUjIVN6ulnCqtgJiIiEilSlpATINL0eBSERGR\npDS4VERERCqWEg8REREpGSUeGRYuLHcEIiIirZsGl2bYY48UW2zRjeHDNbhURESkMRpc2gzpwaVV\nVXWMGDGAW26Bdu3KHZWIiEjl0+DSZvjjH+HOO+F3v4PFi8sdjYiISOujRy0ZdtkF1lwTDj0UOnSA\na68Fs3JHJSIi0noo8cgyYgQsWAAjR4bk489/VvIhIiJSKEo8cvj1r0Py8bvfheTj8suVfIiIiBSC\nEo8MmSXTjzyyhgUL4LjjQvJx8cVKPkRERNI0q6UZGiuZfuWVkErBOefA+eeXJz4REZFKFXdWi3o8\nmnDiieGxy6mnhp6Pc84pd0QiIiItlxKPPPz+9zB/Ppx9NnTsCKedVu6IREREWiYlHnk666zQ83H6\n6aHn46STyh2RiIhIy6PEI4Zzzw09HyefHJKPUaPKHZGIiEjLosQjBjO48MLQ83H88SH5OOqockcl\nIiLScijxiMkMRo8OycfRR4fk4ze/KXdUIiIiLYMSjwyZdTwaW53WDMaMCY9djjgiJB+HHlrCQEVE\nRMpMdTyaobE6Ho1ZvDhUN73lFrjjDhg+vHgxioiIVCLV8Sihqiq4/npYuHDJwnL771/uqERERCqX\nEo9mqqqCm24KYz6GDw/Jx7Bh5Y5KRESkMlWVO4DWoF07uPVW2GcfOOAA+Pe/yx2RiIhIZVLiUSDt\n28Odd8Kee8K++8Ijj5Q7IhERkcqjxKOAOnSA2lrYZZfwuGXcuHJHJCIiUlmUeBRYx47wz3/CDjtA\ndTU8/XS5IxIREakceQ0uNbPjE1z7b+7+fYLzWrxlloH77w+Jxx57hMcugwaVOyoREZHyy6uOh5kt\nBj4FFuV53TWB9d19WjNiK5l0HY8hQ4bkVUAsX3PmhMTjlVfg8cdhyy2bH6uIiEglyCwgNn78eMiz\njkecxGNVd/8yn2DM7Hugf0tLPOIWEMvHjz/CbrvBa6/BE0/AZpsV9PIiIiJlFbeAWL5jPM4DfogR\nx0XAzBjHt1pdu8JDD0HfvrDTTjBxYrkjEhERKZ+8Eg93P8/d5+R7UXe/2N1nJQ+rdVluOfjPf2D9\n9WHHHWHy5HJHJCIiUh6a1VIi3bqFQaZrrx2SjzffLHdEIiIipRc78TCz7mZ2jZm9aWZfm9nMzK0Y\nQbYWK64Ijz0Gq60Wptu+/Xa5IxIRESmtJGu13AGsC9wMzAC0vG0M3buHGS7bbx+Sj2eegXXXLXdU\nIiIipZEk8RgMDHL31wodTFvRo0eY4bLddiEBGT8e1lmn3FGJiIgUX5IxHm8BnQsdSFvTsyc8+SR0\n7hySj48+KndEIiIixZck8TgGuNDMto3GeyyfuRU6wNasV6+QfLRrFx67fPppuSMSEREpriSJxyxg\neeBJ4Evg22ibFb1KDGusEZKPRYtC8vHZZ+WOSEREpHiSjPH4O7AAGI4GlxbEWmuF5GPbbWHo0LCw\nXM+e5Y5KRESk8JIkHhsDm7q7JoMWUO/e8NRTMGRISD6eeioMQhUREWlNkjxqeZWwCJwU2LrrhoTj\n669DkbFvvil3RCIiIoWVpMfjL8Cfzewy4HXCY5f/cfcWWxA8lUoVdHXaJDbYIDx22W472HlnGDcu\nFB4TERGpJJmr08aR1+q09U4IK9Vmc8AAd/d2sS5YAYq5Om1SkyeHabY//3koONatW7kjEhERWVrc\n1WmT9Hio1FUJ9OsXejt22AF22w0efTQsNiciItKSxU483F2lrkpk003D2i477gi77x5WuO3atdxR\niYiIJJdkkbgzzGxkjvaRZnZaYcKStM03D70dEyfCnnvCnDnljkhERCS5JLNafkcom57tDeCo5oUj\nuWy5ZejtePllGDYM5s0rd0QiIiLJJEk8VgU+z9H+FdCreeFIQwYNgn//G557DvbZB376qdwRiYiI\nxJck8fgE2CZH+zaACn4X0XbbwdixodbH/vvD/PnljkhERCSeJInHjcCVZvZrM1sr2kYCY6J9UkQ7\n7ggPPBDGfdTUwIIFTZ8jIiJSKZJMp70M6A5cC3SM2uYBl7r7xYUKTBq2665w333hkcshh8Cdd0L7\nJP+SIiIiJZZkOq0Dp5nZBUAfYC7wrrtr1EEJ7bEH3HNPeOTSvj3cdhu0a3Gl20REpK3JO/Ews4+B\nsdH2lLv/ALxSrMCkacOGwV13hUcuHTrAzTdDVZKHZyIiIiUSp8fjUGBP4Bqgh5k9SkhCHnL3WcUI\nTpq2//5hnMchh4Tk47rrlHyIiEjlyjvxcPengaeBk82sL1ANjAJuNrMXiHpD3H1aEeKURgwfDgsX\nwuGHh+Tj6qvBrNxRiYiILC3RkER3f4NQMOxiM+tJSEKqgYvMbBpwmrs/VLgwpSmHHhp6Pn7725B8\njBmj5ENERCpPs+dCuPsMwjTaG82sC7ALUPaBpmZ2P7AdMM7dDyhzOCXxm9+E5OPoo0PyMXq0kg8R\nEaksBZuEaWbtgZXd/YFCXbOZ/gzcDBxW7kBK6aijQvJx/PHQsSP88Y9KPkREpHIUsvpDX2ACUBGT\nOt39GTPbttxxlMOoUSH5OPnkkHyce265IxIREQlUdqqVOumkkHycfnp47HLmmeWOSEREJF4djwlN\nHNK5mbGk7zMY+D0wkLDo3DB3H5t1zLHAKYQF614DRrm7aopkOe20sJ7LWWeF5OP3vy93RCIi0tbF\n6fHYCLgb+KCB/b2A9ZsdEXQFJgG3APdl7zSzA4ErgCOBl4EU8KiZre/uXxfg/q3KOeeEno9TTw3J\nx4knljsiERFpy+IkHlOAl9z9r7l2mtkmwBHNDcjdHwEeia6Za1hkCrje3W+PjjkK2B0YCYzODiva\n2rTzzgvJRyoVBpqecEK5IxIRkbYqTuLxHLBBI/u/B8Y3L5zGmVkHwiOYi9Jt7u5mNg7YKuvYx4F+\nQNeo3Pv+7v5SMeOrVGZw0UXgvqTHQ8mHiIiUQ5zKpY120rv7+8D2zY6ocSsTZs3MyGqfQVZS5O47\nxb14KpWiW7du9dpqamqoqamJe6mKYwYXR2sHK/kQEZEkamtrqa2trdc2e/bsWNdoLbNaDPDmXmTM\nmDEMGDCgAOFUJiUfIiLSHLn+GJ8wYQIDBw7M+xp5JR5m1g+Y4u6L8zy+L/C2uy/MO5L8fA0sAnpm\nta/C0r0gkoOSDxERKad8ezwmEqaufpXn8S8CmwAFXTDO3ReYWR0wlLAoXXoA6lDgqkLeqzVT8iEi\nIuWSb+JhwAVmNifP4zsmjAcz6wqsy5LZKL3NrD8w090/Af4E3BYlIOnptF2AW5PeMy09xqO1jOto\njJIPERFpjvR4j7hjPMy96aERZvY08cdQDHf3z2OeQ1Tm/Kkc97vN3UdGxxwDnEp45DKJUEDs1bj3\nyrjnAKCurq6uVY/xyMUdzjgDLr00rGirOh8iIhJHxhiPge7eVLHR/Ho83H27ZsaVN3d/Bqhq4phr\ngWtLE1HrltnzkUqFVyUfIiJSLK1lVos0g5IPEREpFSUeGdrSGI9sSj5ERCSOoo7xaO3a8hiPbBrz\nISIicRRljIe0HemeDzP1fIiISOEp8ZClpNd2ASUfIiJSWIkSDzNbH9iOUDG03gwUdz+/+WGVR1se\n45FNyYeIiDSmZGM8zOwI4K+E8uVfUL/ehrt7ixskoTEeDXOHM8+ESy6BP/1pSRIiIiICpRnjcTZw\nlrtfmuBcaWEyez5OOim8KvkQEZGkkiQeKwL/LHQgUrmUfIiISKEkSTz+CewMXFfgWKSCKfkQEZFC\nSJJ4vEdYMG5L4HVgQeZOd9cqsa2Ukg8REWmuJInHkcAPwLbRlslpwcvTa1ZL05R8iIgIqHJps2hW\nS3ya7SIiIlDiyqVmZhDm0DbnOtLyqOdDRESSSFpA7FDg98B60dfvAJe5+x0FjE0qXHby4b4kCRER\nEcklduJhZicBFwBXA88DBmwDXGdmK7v7mMKGKJUsnXyYwcknw8KFcOqp5Y5KREQqVZIej1HA0e5+\ne0bb/zOzN4D/A5R4tDFmcOGF0L49nHYazJsH55wT2kVERDIlSTx6AS/kaH8h2tdiaVZLcmZw/vnQ\nqROcdVZIPi68UMmHiEhrVcq1WqYAd7n7RVntZwMHuvsvYl2wAmhWS2GNGRPGepx4YpjxouRDRKT1\nKsWslnOBf5jZEMIYDwcGAUOBAxJcT1qZVAqWWQaOPRZ++gmuvhqqqpo+T0REWr/YiYe732dmWwAp\nYBhhcOmbwC/dfWKB45MW6phjwmOX3/42PHa58UZo167cUYmISLklmk7r7nXAiALHIq3MyJGh5+Ow\nw0LPx223hQGoIiLSduX1MWBmy7v7d+n3jR2bPk4E4OCDQ/JRUwNz50JtbfhaRETapnz//vzWzHq5\n+5fALMK4jmwWtatDXerZbz/o3Dm87r47/OtfsOyy5Y5KRETKId/EYwdgZvR++yLFUnaaTls8u+8O\njzwCe+4JO+4IDz8MK61U7qhERCSpUk6n/RnwSfb6LNG6LWu6+8exLlgBNJ22dOrqYNddYdVV4bHH\noFeLrvwiIiJxp9MmmeT4AdAjR/tK0T6RBg0cCM8+C7NmwaBB8IF+Y0RE2pQkiUd6LEe2ZYF5zQtH\n2oINN4Tnngu1PbbZBt54o9wRiYhIqeQ9udHM/hS9deACM5uTsbsdsAUwqYCxSSu21loh+dhlFxgy\nJIz/2HzzckclIiLFFqfHY9NoM+AXGV9vCmwIvAYcXuD4pBXr2ROefjr0gOywAzz1VLkjEhGRYsu7\nx8Pdtwcws78BJ6hehxTCCiuEQab77AO77QZ//zvsu2+5oxIRkWJJMsbjRHIkLGa2UlPFxURy6doV\nxo6FvfeG/fcPa7uIiEjrlCTxuBs4KEf7AdE+kdiWWSb0dpx0EowaBaefDosXlzsqEREptCQrZ2wB\nnJSj/WngwmZFI21aVRVcfjmsvnpIQKZPh5tvho4dyx2ZiIgUSpLEY5kGzusAdG5eOOWlyqWVIZWC\n1VaDQw+FL76A++6D5fUQT0SkopSyculTwBR3H5XVfg3Qz90Hx7pgBVDl0sr09NMwbBiss04osa4q\npyIilSdu5dIkPR5nA+PMrD/wRNQ2FNgc2DnB9URy2m67UOV0t91gyy3hwQehX79yRyUiIs0Re3Cp\nuz8PbAV8ShhQuifwHqG349nChidt3S9+Af/9L3TvHqqcPvhguSMSEZHmSDKrBXef5O7D3b2vu2/m\n7iPd/d1CBycCsMYaoedjxx1hr73giisg5hNCERGpEIkSDzP7uZn90czuMrNVorbdzKxvYcMTCbp2\nDYNMTzsNTjkFjjgC5s8vd1QiIhJX7MTDzLYFXidMq92XsDgcQH/gvMKFJlJfVRVcfDHceivcfntY\n5+Wbb8odlYiIxJGkx+MS4Gx33wnI/JvzScLYD5GiOuwwePJJmDIFfvlLeO21ckckIiL5SpJ4/AJ4\nIEf7l0D35oUjkp9Bg+CVV0J9j622gtrackckIiL5SJJ4zAJyVVTYFJjevHBE8rf22vD882FRueHD\nQ7XTBQvKHZWIiDQm6Votl5rZqoADVWa2DXA5cHshgxNpSpcuYbzHVVfBX/4SZr5MV/orIlKxkiQe\nZwJvAZ8QBpa+CYwHXgD+WLjQRPJjFhaWe/JJeP996N8fHnqo3FGJiEguSQqIzXf3I4DewB7ACGBD\ndz/E3RcVOkCRfA0eDJMmhSqne+wRpt1qyq2ISGVJVMcDwN0/cfeHgfuBzwsXkkhyK68cqptecUV4\n/DJoEEybVu6oREQkLe/Ew8z2NLPDs9rOAn4AZpnZY2a2YoHjK6lUKkV1dTW1miLRopmFgabPPx/q\nfPTvDzfcoGqnIiKFVFtbS3V1NalUKtZ5ea9OG61Ke6+7XxN9vTXwLPAHYCpwIfAfdz8pVgQVQKvT\ntl7ffQcnnww33RQKjt10UyjBLiIihRF3ddo4j1r6EgaQpu0HPO7uF7r7/cDJhAXjRCrG8svDjTfC\nww/D66+QYzldAAAgAElEQVTDxhvDbbep90NEpFziJB7LAZkFqgcBT2R8/QawWiGCEim03XYLlU6r\nq+Hww2GnneDtt8sdlYhI2xMn8ZgO9AEws2UJa7Nk9oB0B+YULjSRwlpxxVDz4+GH4YMPoF8/+MMf\nYO7cckcmItJ2xEk8/glcaWaHADcCXwD/zdi/GaC/IaXipXs/Tj0VLrkkPH659149fhERKYU4icf5\nwCvAVcAmwIisuh01wIMFjE2kaDp3hgsuCOM+NtgA9t8ftt46zIQREZHiyTvxcPe57n6ou6/o7n3c\n/dms/du7+6WFD1GkeDbYIDx6GTcOfvop1P3Ye2+YPLnckYmItE6JC4iJtCZDh8Krr8Idd4Tqp/37\nhwRkQpMTw0REJI725Q6gkkz9aqpqsLZxGw2Ff2wbekFuvgUG7gFbbAE1NbDNNlDVglL15Toux3rd\n1yt3GCIi9SjxyDDi/hH1h8tK2/ar8PIS8NJUQpm8Fuad495R8iEiFUWJR4Y797mTPv36lDsMqTDu\nYcxHbW1YAdcsLEi3556hF6R9Bf5XNPWrqYx4YATfz/++3KGIiNRTkP9lmtkK7j6rENcqpz49+jCg\nl0qmy9IGrga/3hW++gruugtuvRVOuissSlddDcOGhaJknTqVO1IRkcoW+4m1mZ1mZgdmfH0P8I2Z\nTTez/gWNTqTC9OgBJ5wAEyeGQai/+Q0891xIPlZeOQxIveYaeOst1QUREcklyVC53wGfAJjZTsBO\nwG7Af4DLCheaSGXr3z8UIHv7bXjzTTjzzLAabioFffqExegOPhiuugpefFEVUkVEINmjll5EiQew\nB3CPuz9mZh8SxuFVBDPbA7gcMGC0u99c5pCkFevTJ2xnngk//hh6QZ54Ap55JlRFnT8/jAXZeGMY\nMAA22ihsffrAz37WsmbLiIg0R5LE41tgTULysStwdtRuQLsCxdUsZtYOuALYFvgeqDOz+1rDOBSp\nfF27wi67hA1C0vH66/DKK2GbNAnuvhvmRCsbdekC664La68Na61Vf+vVKzzeWWaZsn07IiIFlSTx\nuB+4y8zeJSwM95+ofRPgvUIF1ky/BKa4+xcAZvYwsAvwj7JGJW1Sx44wcGDYjjoqtC1eDJ98Eh7R\nvPkmvP8+fPhh6CX56KPQa5JphRVglVXqbyuuCN26hW355Ze879YNPl8Qzps7L9xLPSoiUimSJB4p\n4ENCr8ep7v5D1N4LuLZAcTXXaoTVdNM+A1YvUywiS6mqWtKrsdtu9fe5w8yZIQH54gv48sv624wZ\nMG0azJoFs2eHbfHirBv0An4Hg7YBPg89Jp06hTVqOneu/75z57C/Q4ewtW8ftvT7XG3Z+9u1C99T\nejOr/1qo92b1t+y2JMdU0nVF2oLYiYe7LyCMnchuv7IQAZnZYOD3wEDC/z6HufvYrGOOBU4BVgVe\nA0a5+yuZh+QKvRDxiRSbGXTvHrZ8uIfHNukkZPZsePUzGPV6WAivF2Fga+Y2b97SX//0U+hpWbgQ\nFiwIr9nvG9u3eHGIZfHiJe81sye+5iY07dqFXraOHUNCmc9r586w7LJhW265+q/p98stF2ZuLbec\nkiRpntiJh5kdBnzt7g9FX48GjgTeBGrc/aNmxtQVmATcAtyX4/4HEsZvHAm8TOiBedTM1nf3r6PD\npgNrZJy2OhU08FWkkMzCuJKuXWG11UJbx8+B1+FXv4IBvcoXWzr5SCck2YlJnPeZyUyu6+b7dSmP\nKcd1Fy0K44rmzw/JZPbrTz+FRHP27CVtc+fCDz+E7fvvQ1tDOnQICUj37uF15ZXDo7811liyrbkm\nrL56SGhEsiV51HImcDSAmW0FHAecSJjhMgbYpzkBufsjwCPR9XPl1Sngene/PTrmKGB3YCQwOjrm\nZaCvmfUiDC7dFTi/OXGJSHyZjxDaVcTQc8nHggWh9+v775ckJLNnh+niX3+95DW9vfMOfPppeESY\naeWVw8DpDTaADTcM2wYbhLYOHcrzvUn5JUk81mTJINJhwL3ufoOZPQ88XajAcjGzDoRHMBel29zd\nzWwcsFVG2yIzOzmKx4BL3f3bYsYmItJadOgQBjSvsEK88+bMCQnIp5+GwdMffwzvvQdTp8K//hWS\nFwhjjPr1CwOuBwwIr337hsc+0volSTx+IMxm+RjYmdDLATAPKHbH2sqEKbszstpnABtkNrj7v4F/\nx7l4KpWiW7du9dpqamqoqamJH6mISBvTpQusv37YsrmHgdFvvQWvvQZ1dTB+PFx/fXhM1LEj/PKX\nsO22Ydtmm3A9qSy1tbXU1tbWa5udzijzlCTxeBy4ycwmAusDD0XtfQmzXcrBKMDg0TFjxjBggNZq\nEREpNDNYddWwbbfdkvYffwyJyCuvLElELrww9IrsvHNYhmCPPcJjGym/XH+MT5gwgYEDB+Z9jSSz\n+48FXgR6APu6+zdR+0CgtsGzCuNrYBHQM6t9FZbuBRERkQrXtStsvXVYA+m++8KU8SlTwoysb76B\nkSNDsrLHHmH//PnljliaK8l02lmEAaXZ7ecWJKLG773AzOqAocBY+N8A1KHAVc29fvpRix6viIiU\nh1kY79G3L5xySqhl88ADYUXo/fYLs2kOPhh+/WvYZJNyR9u2pR+7xH3UYp5gor2ZrQD8BuhDeMQx\nFbjZ3ePdPfe1uwLrEh6fTABOAp4CZrr7J2Z2AHAbYbG69HTa/YAN3f2rhPccANTV1dXpUYu0ChM+\nn8DAGwZSd2QdA3rpd1pahzffhL/9De64I4wX2WQTOPFEGD5cs2TKKeNRy0B3n9DU8bEftZjZZsD7\nhA/8lQgDPlPA+9EHeHNtBkwE6ghJzRWEBOQ8AHe/BziZMD12ItAP2CVp0iEiIi3DRhvBZZeFGTNj\nx4aaIYcfHqbn/uUvS9Y/ksqWZIzHGMJjjrXdfR933xtYhzCDpNnVS939GXevcvd2WdvIjGOudfe1\n3b2zu2/l7q82974iItIydOgAe+4JDz4YFmAcPDj0fKy9NlxxRSiIJpUrSeKxGaEuxsJ0Q/R+dLSv\nxUqlUlRXVy81VUhERCrTxhvDnXfCu+/CsGFw2mmw3nrhkcxSaxhJQdXW1lJdXU0qlYp1XpLE4zvg\nZzna1yRUCW2xxowZw9ixYzWwVESkhendG264IRQrGzw4zIbZemt4Vf3hRVNTU8PYsWMZM2ZM0wdn\nSJJ4/AO42cwONLM1zWwNMzsIuIniT6cVERFp0HrrQW1tqAkyZ04oSnbUUWFqbjE9/HBYNVqaliTx\nOAW4H7idUDDsI+BW4F7gtEIFJiIiktTgwTBhAlx5ZUhE1l8/FCdbtKjw93KH3XcP406kabETD3ef\n7+4nACsCmwCbAiu5e8rdG1nTUEREpHTat4fjjw+L2FVXh56PLbaAlwq8VvmsWeH1zTcLe93WKlYB\nMTNrT1iTZRN3nwK8XpSoykQFxKS1mfrV1HKHIFIRRl0E2x4El1wCW+4dan+MGlWYhemmTQN6hfcT\nPm/+9VqKRx54hEf/9SjffxdveGfsAmJmNg3Y291fi3ViBVMBMWlt3v3mXda/OsdKXSIihfYZcAOQ\nZwGxJIvEXQhcZGaHuPvMBOeLSJGt13093jnuHb6f36InmokUzdSpcMYZ8O23cNnl8MvNk1/r4Yfh\nnHPC+xdfLEwvSksydfJURtwwIu/jkyQexxFKmn9mZh8BP2budHd1GYhUgPW6r1fuEEQq1oBesPuj\ncMABcNw+cO65IRFpn+BT8YmZQPSIZfUqWLNXQUOtfDEfLyVJPP6V4BwREZGKssIKobfi/PPh//4P\nHn0U/v53WGuteNf54ov679dcs6BhtjpJVqc9rxiBVAINLhURaVvatw+Jx847w4gRMHAg3HMP7LBD\n/tf4/HPYYAN4++36SUhrV/TVac1sRWAEcJu7f5e1rxtwaK59LYEGl4qIyMyZcNBB8OSTcPnlcMIJ\nYNb0edtvDz16wH33wXXXwRFHFD/WSlLM1WmPA4bkSizcfTYwGBgV43oiIiIVY6WVwqOXVCpshx+e\n34Jzn30WVsrt0aNt9XgkFSfx2Be4rpH91wP7NS8cERGR8mnfHi67LCw8d889MGQIfPJJw8cvXgwf\nfRRWxl11VSUe+YiTePwceLeR/e9Gx4iIiLRoBx8Mzz8PM2bAZpvBs8/mPu6LL+Cnn2CddZR45CtO\n4rEIWK2R/asBWoRYRERahQEDwuq2ffqEwabXXRfWZcn0/vvhVT0e+YuTeEwEhjWyf+/omBYrlUpR\nXV1Nba0W2RUREVhlFXj8cTj66LCdcUb95OPFF6FLF9hww7aXeNTW1lJdXU0qlYp1XpzptFcDd5vZ\np8Bf3X0RgJm1A44BUsDwWHevMGPGjNGsFhERqadDB7jqKujdOww6nTQJLr0U+vWDsWNh0KBwTDrx\ncM9vNkxLly49kTGrJS95Jx7ufp+ZjQauAi6M1mxxwriOZYHL3P3emHGLiIi0CCeeGMZynHoqbLpp\nSETefz8kHxASjzlz4IcfYLnlyhtrJYvzqAV3PwvYEriVsCzMF8DfgK3c/fSCRyciIlJB9toLpkyB\nW2+FHXcMlU733DPsWy0aBfnxx2ULr0VIUrn0ZeDlIsQiIiJS8Tp0gEMPDVumfv3Ca10d9O1b+rha\nilg9HiIiIpLbCiuE0ukvvVTuSCqbEg8REZEC2WGHUP00n9VI3nwT+veH6dOLH1clUeIhIiJSIPvs\nAx9+2HDBsUwPPACTJ4e1YdoSJR4ZVMdDRESaY4cdwviOSy5p+tj0oq6ff97wMW+9BfPmFSa2QitF\nHQ8AzGwdoL27v5vVvh6wwN0/jHvNSqE6HiIi0hxVVXDmmaHk+hNPwNChDR+bnv3S2KOWPn3CINbb\nbitsnIWQtI5Hkh6PW4Gtc7RvEe0TERFpsw46KCwud+SR8OOPDR+XXnzus88av15dXeFiqwRJEo9N\ngedztP8X2KR54YiIiLRsVVVw442hiunvftfwQNN0j0dm4vHll/D998WPsZySJB4O5KrJ1g1o17xw\nREREWr7114ebbw4FxkaPXnr/woUh4VhppfqJx6abhnVfWrMkicd44IxojRbgf+u1nAE8V6jARERE\nWrKDDoKzz4bTT4dbbqm/7/PPYfFi2HLLkHgsjtZ2/+yzph+9tHSxB5cCpxGSj7fNLD1haDCwPLBD\noQITERFp6c4/H776Co44IvRuDIvWeJ82Lbxuu22o+/H557D66uWLs5Ri93i4+5tAP+AeYBXCY5fb\ngQ3dfUphwxMREWm5zOCaa2C//eDAA+Ff/wrtdXXQuTPstlv4Op2ItAVJejxw98+AMwsci4iISKvT\nrh3ccQeMGBEKjF1wAfy//wdbbw3rrhuOmTYNBg8ub5ylklfiYWb9gCnuvjh63yB3n1yQyMoglUrR\nrVu3/81NFhERKYSOHeHuu0ONj3POCT0h//536PVYe+1QwTSfMuuVpLa2ltraWmanK6HlyTyP79TM\nFgOruvuX0XsHLMeh7u4tbmaLmQ0A6urq6lRATEREiuqzz+Cnn2CddcLXBx0En34Kjz8OXbqEtvRH\ns1mohDqlggcyZBQQG+juE5o6Pt9HLesAX2W8FxERkQRWW63+11tuCWecUX82y7x50KlTaeMqlbwG\nl7r7Rx51jUTvG9yKG66IiEjrsssuIdG4664lbbNnL+n1mD8/1ANpaY9iGpJokTgz28DMrjazJ8xs\nXPR+g0IHJyIi0tr16QP9+8Olly5pmzVrSaLx7rthYOrzuWqGt0CxEw8z2xeYAgwEXgMmAwOAKdE+\nERERieGUU+qv65KZeKQ1tu5LS5JkOu1o4GJ3/0Nmo5mdF+27rxCBiYiItBXDh4eejQ4dwqyXDz+E\n7LkO+TxqmTs3rBXz3XfQo0dRQm22JI9aehEKhmW7M9onIiIiMVRVwXnnhRLrq64Kb7yxpIx6WlOJ\nR3pWTKdOsMoqxYu1uZIkHk8TSqRnGwQ8m6NdRERE8rT55jBu3NKJRmOJx7ffws47FzeuQknyqGUs\ncKmZDQT+G7VtCewPnGtm1ekD3X1s80MUERFpOw49FPbfH159tX77GWfAr36V+5z584sfV6EkSTyu\njV6PibZc+yAUGWtxxcRERETKaa+9YMMN4fjj67dPbrF1weuLnXi4e6IpuCIiItK0Dh3g6qthxx3L\nHUlxKIkQERGpMEOHwrBh5Y6iOJIWENvWzB40s/fM7F0zG2tmbWRdPRERkeKrrc3/WMu1elqFSlJA\nbAQwDpgDXAVcDcwFnjCz4YUNr7RSqRTV1dXUxvnXFhERKYJOneDee+u3LVhQnlhyqa2tpbq6mlQq\nFeu8vFanrXeC2VTgBncfk9V+EnCEu/eJdcEKoNVpRUSkUvXpA2+9Fd5/+CGstVb9/YccAnfeufR5\nixeXpick7uq0SR619AYezNE+Fq1cKyIiUlAvvQR33BHeP/ro0vtzJR0ACxcWL6bmSJJ4fAIMzdE+\nNNonIiIiBbL88mGRuL32gtGj808oKumxTKYkdTyuAK4ys02AFwj1OgYBhwMnFC40ERERSTvvPNhk\nE7j9dhg5sunjKzXxiN3j4e5/BQ4CfgFcCfwZ2Bg40N2vL2x4IiIiAtC/P+y3H1x8ccPl0y+4AA44\nILzPTDzcl177pVwSTad19wfcfZC7d4+2Qe7+/wodnIiIiCxx9NHw3ntLl1NP22mnUHIdYObM8PXn\nn8NNN0G7dmH12nJLMp12czPbIkf7Fma2WWHCEhERkWxDhkDnzvBsA0uy9uoFPXuG93ffHRabW201\neOCB0DZnTmnibEySHo9rgDVztK8e7RMREZEiaN8eNt4YpkwJPRnZi8Otuiqst154P336kvaYlTOK\nKknisRGQa57uxGifiIiIFMnPfgZ//zussQZslvWcoWNH6NYNVl8d3nxzSXs68aiECqdJEo+fgJ45\n2nsBFTprWEREpHVYY43Q09GhA3zzTe5jdt4ZnntuydctvcfjMeBiM+uWbjCzFYCLgMcLFZiIiIgs\nbc1osMOwYfDii0vaM3s/tsgaifnZZ8WPK19JEo9TCGM8PjKzp8zsKeADYFXg5EIGJyIiIvX17h1e\ne/YMj10OPjh8/cQTS45ZYYX650yZEl4roecjSR2P6UA/4FTgTaCOUDjsF+6uyqUiIiJFlB482ida\nGe3OO0NCsfzyS45Zdtnc5y5aFMZ5/OUvxY2xMUkql+LuPwI3FDgWERERacLGG8Mzz8CgQQ0fs9xy\nudvTRcVuvRVGjSp4aHlJUsfjMDPbPePr0WY2y8xeMLO1Gju3lMzsfjObaWb3lDsWERGRQhoyBKoa\n+QRfaaXc7T/9FF7LObslyRiPM4G5AGa2FXAc4bHL18CYwoXWbH8GDil3ECIiIqXWo0fu9nTiUU5J\nEo81gfei98OAe939BuAMYHChAmsud38G+KHccYiIiJRajx5w2GFLt28UVdtqaT0ePwDdo/c7A+Oi\n9/OAzoUISkRERJKrqgrjON59N/f+RYtKGk49SRKPx4GbzOwmYH3goai9L/BhkiDMbLCZjTWz6Wa2\n2MyqcxxzrJl9YGZzzey/ZrZ5knuJiIi0Feuum7t94sTSxpEpSeJxLPAi0APY193TddMGArUJ4+gK\nTIquvdQsYzM7ELgCOBfYFHgNeNTMVs445hgzm2hmE8xsmYRxiIiISBHFnk7r7rMIA0qz289NGoS7\nPwI8AmCW88lTCrje3W+PjjkK2B0YCYyOrnEtcG3WeRZtIiIibdJ998G++y7dPnMm3HtvKEK2666l\niydRHY+oRPpvgD6EHoqpwM3uPruAsaXv1YHQm3JRus3d3czGAVs1ct7jhEJnXc3sY2B/d3+p0PGJ\niIhUsn32gU8/DWu8ZOrefcn7UlY0jZ14mNlmwKOEKbUvE3oUUsCZZrazu+daubY5VgbaATOy2mcA\nGzR0krvvFPdGqVSKbt261WurqamhpqYm7qVEREQqxuqrF+Y6tbW11NbWH1Uxe3a8PgfzmGmOmT1L\nmE57hLsvjNraAzcBvd19SKwLLn39xcAwdx8bfd0LmA5sldljYWajgUHuvnVz7hddawBQV1dXx4AB\nA5p7ORERkYozbRpcdx1cdtnS+5rT4zFhwgQGDhwIMDCfzockg0s3Ay5NJx0A0fvR0b5C+xpYBPTM\nal+FpXtBREREJIfevWH06Ib3pcupF1uSxOM74Gc52tcEvm9eOEtz9wWEheiGptuiAahDgRcKfT8R\nEZG25oMP4Jtvmj6uEJIkHv8AbjazA81sTTNbw8wOIjxqSTSd1sy6mll/M9skauodfb1m9PWfgCPN\n7FAz2xC4DugC3Jrkfg1JpVJUV1cv9fxKRESktdhmm9ztvXrBlVfmf53a2lqqq6tJpVKx7p9kjEdH\n4DLgKJYMTl0A/BU43d1jV4I3s22Bp1i6hsdt7j4yOuYYwpowPQk1P0a5+6tx79XA/TXGQ0RE2ow+\nfeCtt3LvmzULunWDSZPCKrhHHQXLNFIdq+hjPNx9vrufAKwIbEIo6LWSu6eSJB3RNZ9x9yp3b5e1\njcw45lp3X9vdO7v7VoVKOkRERNqazIko995bf18qBXPmwHbbwYknQqdOhb13rMTDzNqb2UIz29jd\n57j76+4+2d3nFDYsERERKZbf/x66dAn1PbbKqoj1t79B1671k5NCipV4RLNXPibU1Wh1NMZDRETa\nglQKfvwx1PdYbrmGj0uXtho0CL7+uv6+Uo7x+A2wD3CIu8+MdXKF0hgPERFpqxYvhhVXhNtug+uv\nh0ceCY9X5s2DHXeEceOWHHvAAaHtiCOWtMUd45GkZPpxwLrAZ2b2EfBj5k531ye3iIhIC1FVteSx\nyq67wsKFcOCB8PDDUF0dSqv/4x9h/z33wEMP1U884kqSePwr+e1ERESkUqUHktbUhMRjm21g1Ci4\n++4wCPUPf4CpU0Pdj3XWSXaP2I9aWqP0o5YhQ4bQrVs3rc8iIiJt3nvvwbrr1m97/vkw3gNg++1r\n6dq1lu++m8348eMhz0ctScZ4bA5UZa/0amZbAIta4jRXjfEQERHJz8knw5/+FN63bw+XXTaBVKq4\na7VcQyiPnm31aJ+IiIi0UpddFmbFbLxxGA8Sc1JLosRjIyBXRjMx2iciIiKtVFVV6PF4/nm44IIE\n5ye4508svVIsQC9gYY52ERERaWWWXx5OPz3+eUkSj8eAi82sW7rBzFYALgIeT3A9ERERaYHM4p+T\nZDrtKcB44CMzmxi1bQLMAA5JcL2KkUqlNKtFREQkD7W1tVGl73i11RNNpzWzrsDBQH9gLjAZqHX3\nBbEvVgE0q0VERCQZswlAcSuX4u4/AjckOVdERETarkSJB4CZbQT8DOiY2e7uY5sblIiIiLQMZhDn\n4UnsxMPMegMPAL8AHEgPLUnftlWuXCsiIiJLi5t4JJnV8mfgA8KU2jlAX2AI8CqwXYLriYiISAtV\nFTOTSJJ4bAX8wd2/AhYDi939OeAM4KoE16sYqVSK6urqaJSuiIiINKS2tpbq6moWLYpXujTJWi3f\nEkauTjOz94HfuvtTZvZz4HV37xLrghVAs1pERESS6dhxAgsWFHdWyxSgHzANeAk41czmA0dGbSIi\nItJGxH3UkiTx+CPQNXr/B+DfwLPAN8CBCa4nIiIiLVTc6qWxEw93fzTj/XvAhma2EvCtJ6lGJiIi\nIi3WvHnxjk9cxyOTu88sxHVERESkdcs78TCzW/I5zt1HJg9HREREWrM4Q0IOB7YHVgBWbGRrsTSd\nVkREJD/p6bSbb16k6bRmdi1wEPAxcAtwZ2t5xKLptCIiIslMmDCBgQPzn06bd4+Hux8D9AIuBfYE\nPjGze8xsF7O4Y1pFRESkLYo1+9bdf3L3WnffCdgIeAO4FvjIzJYtRoAiIiLSeiQpmZ7mLFkkrjnX\nERERkTYiVsJgZsuYWY2ZPQ68TVih9jjgZ+7+QzECFBERkdYjznTazMGlfwMOcvdvihWYiIiItD5x\nCogdRUg6PgC2BbbNNabU3fcpTGgiIiLS2sRJPG4njOkQERERSSTvxMPdDy9iHCIiItIGFGStltYi\nlUrRrVs3ampqqKmpKXc4IiIiFau2tpba2lpmz54d67y8K5e2ZqpcKiIikkzRKpeKiIiINJcSDxER\nESkZJR4iIiJSMko8REREpGSUeIiIiEjJKPEQERGRklHiISIiIiWjxENERERKRomHiIiIlIwSDxER\nESkZJR4iIiJSMko8REREpGS0Om0GrU4rIiKSH61O2wxanVZERCQZrU4rIiIiFUuJh4iIiJSMEg8R\nEREpGSUeIiIiUjJKPERERKRklHiIiIhIySjxEBERkZJR4iEiIiIlo8RDRERESkaJh4iIiJSMEg8R\nEREpGSUeIiIiUjJKPERERKRkWmXiYWZrmNlTZvaGmU0ys/3KHZOIiIhA+3IHUCQLgRPcfbKZ9QTq\nzOwhd59b7sBERETaslbZ4+HuX7j75Oj9DOBrYKXyRhVfbW1tuUPISXHFo7jyV4kxgeKKS3HlrxJj\nguLG1SoTj0xmNhCocvfp5Y4lrrb4C9kciiueSoyrEmMCxRWX4spfJcYEbSDxMLPBZjbWzKab2WIz\nq85xzLFm9oGZzTWz/5rZ5nlcdyXgNuCIYsQtIiIi8VRE4gF0BSYBxwKevdPMDgSuAM4FNgVeAx41\ns5UzjjnGzCaa2QQzW8bMOgIPABe5+0ul+CYKbfr0yuykUVzxKK78VWJMoLjiUlz5q8SYoLhxVcTg\nUnd/BHgEwMwsxyEp4Hp3vz065ihgd2AkMDq6xrXAtekTzKwWeMLd7ypu9MXTFn8hm0NxxVOJcVVi\nTKC44lJc+avEmKANJB6NMbMOwEDgonSbu7uZjQO2auCcbYD9gclmtjehF+UQd3+jgdt0Apg6dWoh\nQ2+2BQsWMGHChHKHsRTFFY/iyl8lxgSKKy7Flb9KjAnixZXx2dkpn+PNfaknG2VlZouBYe4+Nvq6\nF8a6Xo0AAAuHSURBVDAd2CrzkYmZXQoMcfecyUfMew4H/t7c64iIiLRhB+fzlKHiezwaYeQYD5LQ\no8DBwIfAvAJdU0REpC3oBKxN+CxtUktIPL4GFgE9s9pXAWYU4gbu/g3QYseCiIiIlNkL+R5YKbNa\nGuTuC4A6YGi6LRqAOpQY36iIiIiUX0X0eJhZV2BdwuMTgN5m1h+Y6e6fAH8CbjOzOuBlwiyXLsCt\nZQhXREREEqqIwaVmti3wFEuP2bjN3UdGxxwDnEp45DIJGOXur5Y0UBEREWmWikg8REREpG2o+DEe\nlcLMPjSzSVF11CfKHU8mM+scxTe63LEAmFk3M3slqiI72ez/t3fvsXKUdRjHv49QKlLul3K/1IJG\nQJBSJFQEJARFoQQBJQZQQYNATLykKVUgUdREETXExJByKQFBBKyEVBsKlIsFobRSWqWArRTkViy0\npRQKPT//eGdPp8spPbtnduft6fNJNuecncs+Z3bm3V/eeWdW59adCUDS7pLulTSveC9PrTsTgKTb\nJS2RdEvdWRokfUHSk5LmSzqn7jwNuW2rjPepLI/BhtzaLMi3jZe0t6R7in3scUmb15xnv9JdwmdL\nerOvrzl533W4x6N/JC0A9o+IlXVnaSbpMtIYmUURMS6DPAKGRsRbxUEyDxgVEa/VnGtnYKeImCNp\nOGnQ8r51v6fFqcZhwNkRcXqdWYo8mwD/BI4ClpO20+ER8XqtwchyW+W6T2V5DDbk1mZBvm28pOnA\nhIiYIWkbYFlE9NQcC+gdn7kQ2KuV7eYej/4TGW4vSSOBjwBT6s7SEEnjfiiN6ryvW+F3VUS8FBFz\nit9fJl2qvV29qSAi7gPeqDtHyWHA3GJ7rSDtW8fXnAnIb1tlvE9leQxCnm1WIbs2XtLHgFURMQMg\nIl7PpegonET6apKWirWsNnLmeoDpkv5e3Ok0F5cDF5FJo9JQdPX+A1gE/CIiltSdqUzSKOADEZHn\nFyXUa1fS3YIbXgB2qynLBiO3fSrjYzDLNos82/h9gRWS/ixppqSL6g7U5HTgD60uNCgLD0lHSrpD\n0n8l9fR1/knSBZIWSlop6WFJo9ez2jERMRoYC0yQtH/duYrl50fEM42nWs3UiVwAEbE0Ig4G9gG+\nImnHHHIVy2wHTAK+kUumqlSUr6/9aEDnZHPcblVmGsg+1alcVRyDVeeqqs2qOldhwG18B3INAT4F\nfAs4AjhO0rHN6+lypsZ8WxaZWu65GpSFB7AF6ZLbC+ijwZT0JeCXwKXAJ4DHgamSdijNc77WDKAZ\nGhEvQepaJW3oUXXnIp2D/7LSucnLgXMl/bDuXJKGNp6PiMXAHODIHHJJ2gz4E/DT8nf/1JmpjQwd\nzUfq7di99PduwIsZ5KpaJZkq2Kc6kqthgMdg1bkOp5o2q+pcVNTGV53reeDRiHghIlYVuQ6uOVPD\nWGBqkas1ETGoH6Tus5OannsY+E3pb5He4HHrWMeHgGHF78OAmaSBWrXmalr2bODnmWyv4aXttTXw\nBGnQVu3bC7gJuCSXfas039HAH6vINdB8wCbAfGCXYn//F7Bt3bly3FZV71MVvoeVH4NVvofF9Era\nrIq2V+VtfEW5NiENWN6a1FFwB3BCDu9hkeXz7bz2YO3xWCdJQ0iVbO/lUpG24jRgXd90Oxx4UNJs\n0m3ar4uIxzLI1XFt5toTeKDYXveRduR5deeSNAY4DTi51OMwoO7UgWYqlruLdJ70c5IWSfpkVZna\nyRcRq4HvAdOBWcDl0cGrIVrZbrltq07vU+3mogvHYJu5uqqFXB1v49vJVRyLE4AHSD0VT0VERwbl\ntngcbgWMpp9fCtcsi1umd9kOpCqy+QvmXiaNtH6PiFjIwLq3OpKrLCImdSIU7W2vR0nddJ3UTq6/\n0dl9vq33MCKO62Cmsn7ni4g7gTszzJXVturCPtVurm4cgy3nKutgm1XW3+3VjTa+5VwAETGVNj/g\nO5hpGalHtC0bXY/H+xADHEDXIc7Vmhxz5ZipLNd8OebKMRM4V6ucq/8qz7QxFh6vAqtJXWtlO/He\nSq+bnKs1OebKMVNZrvlyzJVjJnCuVjlX/3Ut00ZXeETEO6TBOr2XJElS8fcM53KuwZSpLNd8OebK\nMZNzOddgyTQox3go3cZ1JGuuER8h6SBgSUQ8B1wBTJL0GPAI8B3SqObrnMu5NrRMG0K+HHPlmMm5\nnKuTubLJVMVlObk9SPe36CF1G5Uf15TmOR/4D7ASeAg41Lmca0PMtCHkyzFXjpmcy7k2hkz+kjgz\nMzPrmo1ujIeZmZnVx4WHmZmZdY0LDzMzM+saFx5mZmbWNS48zMzMrGtceJiZmVnXuPAwMzOzrnHh\nYWZmZl3jwsPMzMy6xoWHmZmZdY0LDzMblCRdKqlH0mpJ3+7A+hcW6++RtFXV6zcbrFx4mBmSri19\nSPeUfp9Sd7YBmgvsDFzVn5klfVfSEkmb9TFtc0lLJV1YPHUo8EXAX3hl1gIXHmbW8BfSh3TjsQtw\nRidfUNKQTq4feDciFkfEW/2c/3rS14Cf0se004AhwA0AEfE/YEklKc02Ii48zKzh7eJD+pXSY2lj\nYtELco6k2yWtkPSUpBPLK5B0gKQpkpZLeknS9ZK2L02/V9KVkn4laTHw1+L5j0p6UNJKSXMlHVu8\n3knF9LslXdn0WjtIelvS0a38k5K2ljRR0itFD8Y0SR8HiIhXgTuBr/ex6NeAyRHxeiuvZ2Zrc+Fh\nZq24BLgZOBCYAtwoaRtIH+jA3cBjwCHA8cBOwC1N6zgLeBs4AjhPkoDJwHJgNPBN4CesfQpjInBG\nUw/JmcDzETG9xf/hVmD7It8hwCxgWuP/AK4GPiNpj8YCkkYAny5ymNkAuPAws4YTi56KxmOZpPFN\n81wbEbdExAJgArAFcFgx7UJgVkRcHBFPR8TjwLnAMZJGltbxTESML+Z5mlQA7AOcFRFzI2IG8ANA\npWVuK36OLT13NnBtK/+gpDGksRmnR8TsiPh3RIwDlgKnFrNNBV4k9XA0fBV4NiLuaeX1zOy9Nq07\ngJll4x7gPNb+wG8ew/BE45eIeFPSclKvBsBBpJ6C5U3LBPBh4Jni75lN0/cDnouIxaXnHllrBRGr\nJN1AOgVyq6RDgAOAtU719MNBwJbAktTR0uuDRUYiokfSJFKx8aOiR+YsUk+ImQ2QCw8za1gREQvX\nM887TX8Ha3pOhwF3AONYu3iB1IPQ+zpN00T/rgyZCMyWtCupN+LuiHiuH8uVDQNeAI7qI2N57MY1\nwHhJx5Dayd2B61p8LTPrgwsPM6vKLNLVIM9GRE8Lyz0J7Clpx1Kvx2HNM0XEXEkzSWNAzgDObzPj\nzsDqiFi0rpkiYoGk+4FzSAXKtDaKHDPrg8d4mFnDUEnDmx7br3+xXr8FtgNulnSopBGSjpd0jZrO\nazS5C1gAXC/pwGIcxmWkXpDmnpCrgfGkYmByC9kAiIhpwEPAZEnHSdpL0hGSLitO3zS/1inAyfg0\ni1llXHiYWcNnSachyo8HStP7Oh3S+1xEvAiMIbUrU4E5wBXAaxERzfOXlushDRrdgjS24yrgx6Ti\novn+GzcB7wI3RsSq1v69XicA95NOp8wHfg/sCbzcNN9tpKtvVtBGkWNmfdOa9sDMLA9Fr8f9wMjy\nuBNJe5MGqY4qrpp5v3VcCoyNiOaejCpzHk26hHjbiFjWqdcxG0w8xsPMaifpZOAN4GlgX+DXwION\nokPSpsCuwM+Ah9ZXdJQcKGkZMC4ifldx5rnACHzLdLOWuMfDzGon6UzgYtLVI6+Sxn18PyJeK6Yf\nBdxLGoh6WkTM68c6tyGNOQFYHBHNl/kONPMepFuoU9zXxMz6wYWHmZmZdY0Hl5qZmVnXuPAwMzOz\nrnHhYWZmZl3jwsPMzMy6xoWHmZmZdY0LDzMzM+saFx5mZmbWNS48zMzMrGtceJiZmVnX/B8eGJ8j\nuCVeMgAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# First lets plot the fuel data\n", + "# We will first add the continuous-energy data\n", + "fig = openmc.plot_xs(fuel, ['total'])\n", + "# We will now add in the corresponding multi-group data\n", + "openmc.plot_xs(fuel_mg, ['total'], plot_CE=False, mg_cross_sections='./mgxs.h5', axis=fig.axes[0])\n", + "fig.axes[0].legend().set_visible(False)\n", + "plt.show()\n", + "plt.close()\n", + "\n", + "# Then repeat for the zircaloy data\n", + "fig = openmc.plot_xs(zircaloy, ['total'])\n", + "openmc.plot_xs(zircaloy_mg, ['total'], plot_CE=False, mg_cross_sections='./mgxs.h5', axis=fig.axes[0])\n", + "fig.axes[0].legend().set_visible(False)\n", + "plt.show()\n", + "plt.close()\n", + "\n", + "# Then finally repeat for the water data\n", + "fig = openmc.plot_xs(water, ['total'])\n", + "openmc.plot_xs(water_mg, ['total'], plot_CE=False, mg_cross_sections='./mgxs.h5', axis=fig.axes[0])\n", + "fig.axes[0].legend().set_visible(False)\n", + "plt.show()\n", + "plt.close()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "At this point, the problem is set up and we can run the multi-group calculation." + ] + }, + { + "cell_type": "code", + "execution_count": 35, "metadata": { "collapsed": false, "scrolled": true @@ -1120,8 +1186,8 @@ " Copyright | 2011-2016 Massachusetts Institute of Technology\n", " License | http://openmc.readthedocs.io/en/latest/license.html\n", " Version | 0.8.0\n", - " Git SHA1 | 1a921e7d08fc41b72bf1dd65cd17e922222b78b1\n", - " Date/Time | 2016-11-13 15:25:05\n", + " Git SHA1 | f76ee0867ca2f46c4e84a3cda6511b0ab64eb6a5\n", + " Date/Time | 2016-11-20 20:12:55\n", " OpenMP Threads | 8\n", "\n", " ===========================================================================\n", @@ -1205,24 +1271,24 @@ "\n", " =======================> TIMING STATISTICS <=======================\n", "\n", - " Total time for initialization = 2.5229E-02 seconds\n", - " Reading cross sections = 1.1001E-02 seconds\n", - " Total time in simulation = 7.3074E+00 seconds\n", - " Time in transport only = 7.2846E+00 seconds\n", - " Time in inactive batches = 6.2995E-01 seconds\n", - " Time in active batches = 6.6774E+00 seconds\n", - " Time synchronizing fission bank = 4.8069E-03 seconds\n", - " Sampling source sites = 3.3693E-03 seconds\n", - " SEND/RECV source sites = 1.3618E-03 seconds\n", - " Time accumulating tallies = 8.0542E-05 seconds\n", - " Total time for finalization = 2.9260E-06 seconds\n", - " Total time elapsed = 7.3508E+00 seconds\n", - " Calculation Rate (inactive) = 79370.9 neutrons/second\n", - " Calculation Rate (active) = 29951.7 neutrons/second\n", + " Total time for initialization = 5.1234E-02 seconds\n", + " Reading cross sections = 4.1626E-03 seconds\n", + " Total time in simulation = 8.7422E+00 seconds\n", + " Time in transport only = 8.1461E+00 seconds\n", + " Time in inactive batches = 6.9527E-01 seconds\n", + " Time in active batches = 8.0470E+00 seconds\n", + " Time synchronizing fission bank = 5.3647E-03 seconds\n", + " Sampling source sites = 3.6250E-03 seconds\n", + " SEND/RECV source sites = 1.6626E-03 seconds\n", + " Time accumulating tallies = 1.2803E-04 seconds\n", + " Total time for finalization = 3.1250E-06 seconds\n", + " Total time elapsed = 8.8120E+00 seconds\n", + " Calculation Rate (inactive) = 71914.1 neutrons/second\n", + " Calculation Rate (active) = 24854.1 neutrons/second\n", "\n", " ============================> RESULTS <============================\n", "\n", - " k-effective (Collision) = 1.02315 +/- 0.00205\n", + " k-effective (Collision) = 1.02316 +/- 0.00205\n", " k-effective (Track-length) = 1.02384 +/- 0.00235\n", " k-effective (Absorption) = 1.02372 +/- 0.00194\n", " Combined k-effective = 1.02369 +/- 0.00173\n", @@ -1236,7 +1302,7 @@ "0" ] }, - "execution_count": 34, + "execution_count": 35, "metadata": {}, "output_type": "execute_result" } @@ -1259,7 +1325,7 @@ }, { "cell_type": "code", - "execution_count": 35, + "execution_count": 36, "metadata": { "collapsed": false }, @@ -1279,7 +1345,7 @@ }, { "cell_type": "code", - "execution_count": 36, + "execution_count": 37, "metadata": { "collapsed": true }, @@ -1297,7 +1363,7 @@ }, { "cell_type": "code", - "execution_count": 37, + "execution_count": 38, "metadata": { "collapsed": false }, @@ -1308,7 +1374,7 @@ "text": [ "Continuous-Energy keff = 1.024739\n", "Multi-Group keff = 1.023689\n", - "bias [pcm]: 105.0\n" + "bias [pcm]: 105.1\n" ] } ], @@ -1345,7 +1411,7 @@ }, { "cell_type": "code", - "execution_count": 38, + "execution_count": 39, "metadata": { "collapsed": false }, @@ -1371,7 +1437,7 @@ }, { "cell_type": "code", - "execution_count": 39, + "execution_count": 40, "metadata": { "collapsed": false }, @@ -1397,7 +1463,7 @@ }, { "cell_type": "code", - "execution_count": 40, + "execution_count": 41, "metadata": { "collapsed": false }, @@ -1405,18 +1471,18 @@ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 40, + "execution_count": 41, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ - "" + "" ] }, "metadata": {}, diff --git a/openmc/plotter.py b/openmc/plotter.py index 8a89e39ac..f93c716ed 100644 --- a/openmc/plotter.py +++ b/openmc/plotter.py @@ -197,6 +197,10 @@ def plot_xs(this, types, divisor_types=None, temperature=294., axis=None, plot_func(E, data[i, :], label=types[i]) ax.set_xlabel('Energy [eV]') + if plot_CE: + ax.set_xlim(1.E-5, 20.E6) + else: + ax.set_xlim(E[-1], E[0]) if divisor_types: if data_type == 'nuclide': ylabel = 'Nuclidic Microscopic Data' @@ -214,7 +218,10 @@ def plot_xs(this, types, divisor_types=None, temperature=294., axis=None, ax.set_ylabel(ylabel) ax.legend(loc='best') if this.name is not None: - ax.set_title('Cross Section for ' + this.name) + if len(types) > 1: + ax.set_title('Cross Sections for ' + this.name) + else: + ax.set_title('Cross Section for ' + this.name) return fig @@ -649,11 +656,19 @@ def calculate_mgxs(this, types, orders=None, temperature=294., # Convert the data to the format needed data = np.zeros((len(types), 2 * library.energy_groups.num_groups)) energy_grid = np.zeros(2 * library.energy_groups.num_groups) + i = 0 + for g in range(library.energy_groups.num_groups): + energy_grid[i: i + 2] = library.energy_groups.group_edges[g: g + 2] + i += 2 + # Ensure the energy will show on a log-axis by replacing 0s with a + # sufficiently small number + if energy_grid[0] <= 0.: + energy_grid[0] = 1.E-5 + for line in range(len(types)): i = 0 for g in range(library.energy_groups.num_groups): data[line, i: i + 2] = mgxs[line, g] - energy_grid[i: i + 2] = library.energy_groups.group_edges[g: g + 2] i += 2 return np.flipud(energy_grid), data From d2979851f07f4162f0f02d95a847019bf9f2068d Mon Sep 17 00:00:00 2001 From: Adam Nelson Date: Tue, 29 Nov 2016 19:29:41 -0500 Subject: [PATCH 08/14] Added ability to treat angle-dependent cross sections in plotting routines --- openmc/plotter.py | 49 +++++++++++++++++++++++++++++++---------------- 1 file changed, 33 insertions(+), 16 deletions(-) diff --git a/openmc/plotter.py b/openmc/plotter.py index 482041d7b..76f8c93f4 100644 --- a/openmc/plotter.py +++ b/openmc/plotter.py @@ -19,9 +19,9 @@ PLOT_TYPES_MGXS = ['total', 'absorption', 'scatter', 'fission', 'inverse-velocity', 'beta', 'decay rate', 'unity'] # Create a dictionary which can be used to convert PLOT_TYPES_MGXS to the # openmc.XSdata attribute name needed to access the data -_PLOT_ATTR = {line: line.replace(' ', '_').replace('-', '_') +_PLOT_MGXS_ATTR = {line: line.replace(' ', '_').replace('-', '_') for line in PLOT_TYPES_MGXS} -_PLOT_ATTR['scatter'] = 'scatter_matrix' +_PLOT_MGXS_ATTR['scatter'] = 'scatter_matrix' # Special MT values UNITY_MT = -1 @@ -605,6 +605,10 @@ def calculate_mgxs(this, types, orders=None, temperature=294., enrichment=None): """Calculates continuous-energy cross sections of a requested type + If the data for the nuclide or macroscopic object in the library is + represented as angle-dependent data then this method will return the + average cross section over all angles. + Parameters ---------- this : openmc.Element, openmc.Nuclide, or openmc.Material @@ -684,6 +688,10 @@ def _calculate_mgxs_nuc_macro(this, types, library, orders=None, """Determines the multi-group cross sections of a nuclide or macroscopic object + If the data for the nuclide or macroscopic object in the library is + represented as angle-dependent data then this method will return the + average cross section over all angles. + Parameters ---------- this : {openmc.Nuclide, openmc.Macroscopic} @@ -736,40 +744,45 @@ def _calculate_mgxs_nuc_macro(this, types, library, orders=None, elif line == 'unity': data[i, :] = 1. else: - attr = _PLOT_ATTR[line] - temp_data = getattr(xsdata, attr)[t] - if temp_data.shape in (xsdata.xs_shapes["[G']"], - xsdata.xs_shapes["[G]"]): + temp_data = getattr(xsdata, _PLOT_MGXS_ATTR[line])[t] + shape = temp_data.shape[:] + # If we have angular data, then we will plot the average + # over all provided angles. Since the angles are equi-distant, + # un-weighted averaging will suffice + if xsdata.representation == 'angle': + temp_data = np.mean(temp_data, axis=(0, 1)) + if shape in (xsdata.xs_shapes["[G']"], + xsdata.xs_shapes["[G]"]): data[i, :] = temp_data - elif temp_data.shape == xsdata.xs_shapes["[G][G']"]: + elif shape == xsdata.xs_shapes["[G][G']"]: data[i, :] = np.sum(temp_data, axis=1) - elif temp_data.shape == xsdata.xs_shapes["[DG]"]: + elif shape == xsdata.xs_shapes["[DG]"]: if orders[i]: - if orders[i] < len(temp_data.shape[0]): + if orders[i] < len(shape[0]): data[i, :] = temp_data[orders[i]] else: data[i, :] = np.sum(temp_data[:]) - elif temp_data.shape in (xsdata.xs_shapes["[G'][DG]"], - xsdata.xs_shapes["[G][DG]"]): + elif shape in (xsdata.xs_shapes["[G'][DG]"], + xsdata.xs_shapes["[G][DG]"]): if orders[i]: - if orders[i] < len(temp_data.shape[1]): + if orders[i] < len(shape[1]): data[i, :] = temp_data[:, orders[i]] else: data[i, :] = np.sum(temp_data[:, :], axis=1) - elif temp_data.shape == xsdata.xs_shapes["[G][G'][DG]"]: + elif shape == xsdata.xs_shapes["[G][G'][DG]"]: temp_data = np.sum(temp_data, axis=1) if orders[i]: - if orders[i] < len(temp_data.shape[1]): + if orders[i] < len(shape[1]): data[i, :] = temp_data[:, orders[i]] else: data[i, :] = np.sum(temp_data[:, :], axis=1) - elif temp_data.shape == xsdata.xs_shapes["[G][G'][Order]"]: + elif shape == xsdata.xs_shapes["[G][G'][Order]"]: temp_data = np.sum(temp_data, axis=1) if orders[i]: order = orders[i] else: order = 0 - if order < temp_data.shape[1]: + if order < shape[1]: data[i, :] = temp_data[:, order] else: raise ValueError("{} not present in provided MGXS " @@ -784,6 +797,10 @@ def _calculate_mgxs_elem_mat(this, types, library, orders=None, """Determines the multi-group cross sections of an element or material object + If the data for the nuclide or macroscopic object in the library is + represented as angle-dependent data then this method will return the + average cross section over all angles. + Parameters ---------- this : {openmc.Element, openmc.Material} From b226241e3e04b014e0183f56c2a39bfdcee1d9dc Mon Sep 17 00:00:00 2001 From: Adam Nelson Date: Wed, 30 Nov 2016 19:41:49 -0500 Subject: [PATCH 09/14] Updating the mgxs-ii example notebook --- .../pythonapi/examples/mgxs-part-ii.ipynb | 1170 ++++++++++------- 1 file changed, 700 insertions(+), 470 deletions(-) diff --git a/docs/source/pythonapi/examples/mgxs-part-ii.ipynb b/docs/source/pythonapi/examples/mgxs-part-ii.ipynb index c43fab6ff..43bec06fa 100644 --- a/docs/source/pythonapi/examples/mgxs-part-ii.ipynb +++ b/docs/source/pythonapi/examples/mgxs-part-ii.ipynb @@ -34,7 +34,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/home/romano/miniconda3/envs/default/lib/python3.5/site-packages/matplotlib/__init__.py:1350: UserWarning: This call to matplotlib.use() has no effect\n", + "/usr/lib/python3.5/site-packages/matplotlib/__init__.py:1357: UserWarning: This call to matplotlib.use() has no effect\n", "because the backend has already been chosen;\n", "matplotlib.use() must be called *before* pylab, matplotlib.pyplot,\n", "or matplotlib.backends is imported for the first time.\n", @@ -453,9 +453,9 @@ " Copyright | 2011-2016 Massachusetts Institute of Technology\n", " License | http://openmc.readthedocs.io/en/latest/license.html\n", " Version | 0.8.0\n", - " Git SHA1 | da5563eddb5f2c2d6b2c9839d518de40962b78f2\n", - " Date/Time | 2016-10-31 12:29:16\n", - " OpenMP Threads | 4\n", + " Git SHA1 | d2979851f07f4162f0f02d95a847019bf9f2068d\n", + " Date/Time | 2016-11-30 19:38:02\n", + " OpenMP Threads | 8\n", "\n", " ===========================================================================\n", " ========================> INITIALIZATION <=========================\n", @@ -465,11 +465,11 @@ " Reading geometry XML file...\n", " Reading materials XML file...\n", " Reading cross sections XML file...\n", - " Reading U235 from /home/romano/openmc/scripts/nndc_hdf5/U235.h5\n", - " Reading U238 from /home/romano/openmc/scripts/nndc_hdf5/U238.h5\n", - " Reading O16 from /home/romano/openmc/scripts/nndc_hdf5/O16.h5\n", - " Reading H1 from /home/romano/openmc/scripts/nndc_hdf5/H1.h5\n", - " Reading Zr90 from /home/romano/openmc/scripts/nndc_hdf5/Zr90.h5\n", + " Reading U235 from /opt/xsdata/nndc/U235.h5\n", + " Reading U238 from /opt/xsdata/nndc/U238.h5\n", + " Reading O16 from /opt/xsdata/nndc/O16.h5\n", + " Reading H1 from /opt/xsdata/nndc/H1.h5\n", + " Reading Zr90 from /opt/xsdata/nndc/Zr90.h5\n", " Maximum neutron transport energy: 2.00000E+07 eV for U235\n", " Reading tallies XML file...\n", " Building neighboring cells lists for each surface...\n", @@ -531,7 +531,7 @@ " 48/1 1.21610 1.22612 +/- 0.00251\n", " 49/1 1.22199 1.22602 +/- 0.00245\n", " 50/1 1.20860 1.22558 +/- 0.00243\n", - " Triggers unsatisfied, max unc./thresh. is 1.25496 for flux in tally 10050\n", + " Triggers unsatisfied, max unc./thresh. is 1.25496 for flux in tally 10057\n", " The estimated number of batches is 73\n", " Creating state point statepoint.050.h5...\n", " 51/1 1.21850 1.22541 +/- 0.00237\n", @@ -557,7 +557,7 @@ " 71/1 1.19720 1.22444 +/- 0.00195\n", " 72/1 1.23770 1.22465 +/- 0.00193\n", " 73/1 1.23894 1.22488 +/- 0.00191\n", - " Triggers unsatisfied, max unc./thresh. is 1.00243 for flux in tally 10050\n", + " Triggers unsatisfied, max unc./thresh. is 1.00243 for flux in tally 10057\n", " The estimated number of batches is 74\n", " 74/1 1.22437 1.22487 +/- 0.00188\n", " Triggers satisfied for batch 74\n", @@ -570,20 +570,20 @@ "\n", " =======================> TIMING STATISTICS <=======================\n", "\n", - " Total time for initialization = 5.0262E-01 seconds\n", - " Reading cross sections = 3.4207E-01 seconds\n", - " Total time in simulation = 1.2843E+02 seconds\n", - " Time in transport only = 1.2831E+02 seconds\n", - " Time in inactive batches = 8.1328E+00 seconds\n", - " Time in active batches = 1.2030E+02 seconds\n", - " Time synchronizing fission bank = 2.9797E-02 seconds\n", - " Sampling source sites = 2.1385E-02 seconds\n", - " SEND/RECV source sites = 8.2632E-03 seconds\n", - " Time accumulating tallies = 1.4577E-03 seconds\n", - " Total time for finalization = 1.3462E-02 seconds\n", - " Total time elapsed = 1.2901E+02 seconds\n", - " Calculation Rate (inactive) = 12295.9 neutrons/second\n", - " Calculation Rate (active) = 3325.12 neutrons/second\n", + " Total time for initialization = 3.0758E-01 seconds\n", + " Reading cross sections = 2.2344E-01 seconds\n", + " Total time in simulation = 2.7832E+01 seconds\n", + " Time in transport only = 2.7708E+01 seconds\n", + " Time in inactive batches = 1.7095E+00 seconds\n", + " Time in active batches = 2.6122E+01 seconds\n", + " Time synchronizing fission bank = 1.4982E-02 seconds\n", + " Sampling source sites = 1.0718E-02 seconds\n", + " SEND/RECV source sites = 4.2104E-03 seconds\n", + " Time accumulating tallies = 4.1146E-04 seconds\n", + " Total time for finalization = 1.5648E-02 seconds\n", + " Total time elapsed = 2.8184E+01 seconds\n", + " Calculation Rate (inactive) = 58495.1 neutrons/second\n", + " Calculation Rate (active) = 15312.7 neutrons/second\n", "\n", " ============================> RESULTS <============================\n", "\n", @@ -719,6 +719,14 @@ "\n", "\n" ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/nelsonag/git/openmc/openmc/tallies.py:1974: RuntimeWarning: invalid value encountered in true_divide\n", + " self_rel_err = data['self']['std. dev.'] / data['self']['mean']\n" + ] } ], "source": [ @@ -782,6 +790,16 @@ "collapsed": false }, "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/nelsonag/git/openmc/openmc/tallies.py:1974: RuntimeWarning: invalid value encountered in true_divide\n", + " self_rel_err = data['self']['std. dev.'] / data['self']['mean']\n", + "/usr/lib/python3.5/site-packages/numpy/lib/shape_base.py:873: VisibleDeprecationWarning: using a non-integer number instead of an integer will result in an error in the future\n", + " return c.reshape(shape_out)\n" + ] + }, { "data": { "text/html": [ @@ -993,6 +1011,14 @@ "collapsed": false }, "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/usr/lib/python3.5/site-packages/numpy/lib/shape_base.py:873: VisibleDeprecationWarning: using a non-integer number instead of an integer will result in an error in the future\n", + " return c.reshape(shape_out)\n" + ] + }, { "data": { "text/html": [ @@ -1120,7 +1146,20 @@ "metadata": { "collapsed": false }, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/nelsonag/git/openmc/openmc/tallies.py:1974: RuntimeWarning: invalid value encountered in true_divide\n", + " self_rel_err = data['self']['std. dev.'] / data['self']['mean']\n", + "/home/nelsonag/git/openmc/openmc/tallies.py:1975: RuntimeWarning: invalid value encountered in true_divide\n", + " other_rel_err = data['other']['std. dev.'] / data['other']['mean']\n", + "/home/nelsonag/git/openmc/openmc/tallies.py:1976: RuntimeWarning: invalid value encountered in true_divide\n", + " new_tally._mean = data['self']['mean'] / data['other']['mean']\n" + ] + } + ], "source": [ "# Get all OpenMOC cells in the gometry\n", "openmoc_cells = openmoc_geometry.getRootUniverse().getAllCells()\n", @@ -1172,169 +1211,239 @@ "text": [ "[ NORMAL ] Importing ray tracing data from file...\n", "[ NORMAL ] Computing the eigenvalue...\n", - "[ NORMAL ] Iteration 0:\tk_eff = 0.574672\tres = 0.000E+00\n", - "[ NORMAL ] Iteration 1:\tk_eff = 0.679815\tres = 4.253E-01\n", - "[ NORMAL ] Iteration 2:\tk_eff = 0.660826\tres = 1.830E-01\n", - "[ NORMAL ] Iteration 3:\tk_eff = 0.658941\tres = 2.793E-02\n", - "[ NORMAL ] Iteration 4:\tk_eff = 0.643012\tres = 2.852E-03\n", - "[ NORMAL ] Iteration 5:\tk_eff = 0.625810\tres = 2.417E-02\n", - "[ NORMAL ] Iteration 6:\tk_eff = 0.606678\tres = 2.675E-02\n", - "[ NORMAL ] Iteration 7:\tk_eff = 0.587485\tres = 3.057E-02\n", - "[ NORMAL ] Iteration 8:\tk_eff = 0.569029\tres = 3.164E-02\n", - "[ NORMAL ] Iteration 9:\tk_eff = 0.551707\tres = 3.142E-02\n", - "[ NORMAL ] Iteration 10:\tk_eff = 0.536035\tres = 3.044E-02\n", - "[ NORMAL ] Iteration 11:\tk_eff = 0.522274\tres = 2.841E-02\n", - "[ NORMAL ] Iteration 12:\tk_eff = 0.510609\tres = 2.567E-02\n", - "[ NORMAL ] Iteration 13:\tk_eff = 0.501106\tres = 2.234E-02\n", - "[ NORMAL ] Iteration 14:\tk_eff = 0.493831\tres = 1.861E-02\n", - "[ NORMAL ] Iteration 15:\tk_eff = 0.488780\tres = 1.452E-02\n", - "[ NORMAL ] Iteration 16:\tk_eff = 0.485923\tres = 1.023E-02\n", - "[ NORMAL ] Iteration 17:\tk_eff = 0.485210\tres = 5.846E-03\n", - "[ NORMAL ] Iteration 18:\tk_eff = 0.486569\tres = 1.467E-03\n", - "[ NORMAL ] Iteration 19:\tk_eff = 0.489903\tres = 2.801E-03\n", - "[ NORMAL ] Iteration 20:\tk_eff = 0.495103\tres = 6.852E-03\n", - "[ NORMAL ] Iteration 21:\tk_eff = 0.502053\tres = 1.061E-02\n", - "[ NORMAL ] Iteration 22:\tk_eff = 0.510627\tres = 1.404E-02\n", - "[ NORMAL ] Iteration 23:\tk_eff = 0.520693\tres = 1.708E-02\n", - "[ NORMAL ] Iteration 24:\tk_eff = 0.532117\tres = 1.971E-02\n", - "[ NORMAL ] Iteration 25:\tk_eff = 0.544764\tres = 2.194E-02\n", - "[ NORMAL ] Iteration 26:\tk_eff = 0.558501\tres = 2.377E-02\n", - "[ NORMAL ] Iteration 27:\tk_eff = 0.573195\tres = 2.522E-02\n", - "[ NORMAL ] Iteration 28:\tk_eff = 0.588718\tres = 2.631E-02\n", - "[ NORMAL ] Iteration 29:\tk_eff = 0.604946\tres = 2.708E-02\n", - "[ NORMAL ] Iteration 30:\tk_eff = 0.621759\tres = 2.756E-02\n", - "[ NORMAL ] Iteration 31:\tk_eff = 0.639047\tres = 2.779E-02\n", - "[ NORMAL ] Iteration 32:\tk_eff = 0.656702\tres = 2.780E-02\n", - "[ NORMAL ] Iteration 33:\tk_eff = 0.674624\tres = 2.763E-02\n", - "[ NORMAL ] Iteration 34:\tk_eff = 0.692722\tres = 2.729E-02\n", - "[ NORMAL ] Iteration 35:\tk_eff = 0.710910\tres = 2.683E-02\n", - "[ NORMAL ] Iteration 36:\tk_eff = 0.729109\tres = 2.625E-02\n", - "[ NORMAL ] Iteration 37:\tk_eff = 0.747248\tres = 2.560E-02\n", - "[ NORMAL ] Iteration 38:\tk_eff = 0.765263\tres = 2.488E-02\n", - "[ NORMAL ] Iteration 39:\tk_eff = 0.783094\tres = 2.411E-02\n", - "[ NORMAL ] Iteration 40:\tk_eff = 0.800690\tres = 2.330E-02\n", - "[ NORMAL ] Iteration 41:\tk_eff = 0.818005\tres = 2.247E-02\n", - "[ NORMAL ] Iteration 42:\tk_eff = 0.834999\tres = 2.163E-02\n", - "[ NORMAL ] Iteration 43:\tk_eff = 0.851638\tres = 2.078E-02\n", - "[ NORMAL ] Iteration 44:\tk_eff = 0.867892\tres = 1.993E-02\n", - "[ NORMAL ] Iteration 45:\tk_eff = 0.883736\tres = 1.909E-02\n", - "[ NORMAL ] Iteration 46:\tk_eff = 0.899149\tres = 1.826E-02\n", - "[ NORMAL ] Iteration 47:\tk_eff = 0.914115\tres = 1.744E-02\n", - "[ NORMAL ] Iteration 48:\tk_eff = 0.928622\tres = 1.664E-02\n", - "[ NORMAL ] Iteration 49:\tk_eff = 0.942659\tres = 1.587E-02\n", - "[ NORMAL ] Iteration 50:\tk_eff = 0.956221\tres = 1.512E-02\n", - "[ NORMAL ] Iteration 51:\tk_eff = 0.969305\tres = 1.439E-02\n", - "[ NORMAL ] Iteration 52:\tk_eff = 0.981909\tres = 1.368E-02\n", - "[ NORMAL ] Iteration 53:\tk_eff = 0.994035\tres = 1.300E-02\n", - "[ NORMAL ] Iteration 54:\tk_eff = 1.005685\tres = 1.235E-02\n", - "[ NORMAL ] Iteration 55:\tk_eff = 1.016866\tres = 1.172E-02\n", - "[ NORMAL ] Iteration 56:\tk_eff = 1.027584\tres = 1.112E-02\n", - "[ NORMAL ] Iteration 57:\tk_eff = 1.037846\tres = 1.054E-02\n", - "[ NORMAL ] Iteration 58:\tk_eff = 1.047661\tres = 9.986E-03\n", - "[ NORMAL ] Iteration 59:\tk_eff = 1.057040\tres = 9.457E-03\n", - "[ NORMAL ] Iteration 60:\tk_eff = 1.065994\tres = 8.953E-03\n", - "[ NORMAL ] Iteration 61:\tk_eff = 1.074533\tres = 8.470E-03\n", - "[ NORMAL ] Iteration 62:\tk_eff = 1.082671\tres = 8.011E-03\n", - "[ NORMAL ] Iteration 63:\tk_eff = 1.090418\tres = 7.573E-03\n", - "[ NORMAL ] Iteration 64:\tk_eff = 1.097790\tres = 7.156E-03\n", - "[ NORMAL ] Iteration 65:\tk_eff = 1.104797\tres = 6.760E-03\n", - "[ NORMAL ] Iteration 66:\tk_eff = 1.111453\tres = 6.383E-03\n", - "[ NORMAL ] Iteration 67:\tk_eff = 1.117770\tres = 6.025E-03\n", - "[ NORMAL ] Iteration 68:\tk_eff = 1.123764\tres = 5.684E-03\n", - "[ NORMAL ] Iteration 69:\tk_eff = 1.129446\tres = 5.362E-03\n", - "[ NORMAL ] Iteration 70:\tk_eff = 1.134828\tres = 5.056E-03\n", - "[ NORMAL ] Iteration 71:\tk_eff = 1.139924\tres = 4.765E-03\n", - "[ NORMAL ] Iteration 72:\tk_eff = 1.144746\tres = 4.491E-03\n", - "[ NORMAL ] Iteration 73:\tk_eff = 1.149306\tres = 4.230E-03\n", - "[ NORMAL ] Iteration 74:\tk_eff = 1.153617\tres = 3.983E-03\n", - "[ NORMAL ] Iteration 75:\tk_eff = 1.157688\tres = 3.751E-03\n", - "[ NORMAL ] Iteration 76:\tk_eff = 1.161534\tres = 3.530E-03\n", - "[ NORMAL ] Iteration 77:\tk_eff = 1.165163\tres = 3.322E-03\n", - "[ NORMAL ] Iteration 78:\tk_eff = 1.168586\tres = 3.124E-03\n", - "[ NORMAL ] Iteration 79:\tk_eff = 1.171813\tres = 2.938E-03\n", - "[ NORMAL ] Iteration 80:\tk_eff = 1.174855\tres = 2.762E-03\n", - "[ NORMAL ] Iteration 81:\tk_eff = 1.177721\tres = 2.596E-03\n", - "[ NORMAL ] Iteration 82:\tk_eff = 1.180419\tres = 2.439E-03\n", - "[ NORMAL ] Iteration 83:\tk_eff = 1.182960\tres = 2.291E-03\n", - "[ NORMAL ] Iteration 84:\tk_eff = 1.185350\tres = 2.152E-03\n", - "[ NORMAL ] Iteration 85:\tk_eff = 1.187599\tres = 2.021E-03\n", - "[ NORMAL ] Iteration 86:\tk_eff = 1.189713\tres = 1.897E-03\n", - "[ NORMAL ] Iteration 87:\tk_eff = 1.191700\tres = 1.780E-03\n", - "[ NORMAL ] Iteration 88:\tk_eff = 1.193567\tres = 1.670E-03\n", - "[ NORMAL ] Iteration 89:\tk_eff = 1.195321\tres = 1.567E-03\n", - "[ NORMAL ] Iteration 90:\tk_eff = 1.196967\tres = 1.469E-03\n", - "[ NORMAL ] Iteration 91:\tk_eff = 1.198513\tres = 1.378E-03\n", - "[ NORMAL ] Iteration 92:\tk_eff = 1.199964\tres = 1.291E-03\n", - "[ NORMAL ] Iteration 93:\tk_eff = 1.201326\tres = 1.211E-03\n", - "[ NORMAL ] Iteration 94:\tk_eff = 1.202602\tres = 1.135E-03\n", - "[ NORMAL ] Iteration 95:\tk_eff = 1.203800\tres = 1.062E-03\n", - "[ NORMAL ] Iteration 96:\tk_eff = 1.204922\tres = 9.959E-04\n", - "[ NORMAL ] Iteration 97:\tk_eff = 1.205974\tres = 9.321E-04\n", - "[ NORMAL ] Iteration 98:\tk_eff = 1.206961\tres = 8.732E-04\n", - "[ NORMAL ] Iteration 99:\tk_eff = 1.207884\tres = 8.175E-04\n", - "[ NORMAL ] Iteration 100:\tk_eff = 1.208748\tres = 7.646E-04\n", - "[ NORMAL ] Iteration 101:\tk_eff = 1.209558\tres = 7.159E-04\n", - "[ NORMAL ] Iteration 102:\tk_eff = 1.210316\tres = 6.699E-04\n", - "[ NORMAL ] Iteration 103:\tk_eff = 1.211025\tres = 6.262E-04\n", - "[ NORMAL ] Iteration 104:\tk_eff = 1.211689\tres = 5.864E-04\n", - "[ NORMAL ] Iteration 105:\tk_eff = 1.212310\tres = 5.481E-04\n", - "[ NORMAL ] Iteration 106:\tk_eff = 1.212891\tres = 5.124E-04\n", - "[ NORMAL ] Iteration 107:\tk_eff = 1.213434\tres = 4.792E-04\n", - "[ NORMAL ] Iteration 108:\tk_eff = 1.213942\tres = 4.477E-04\n", - "[ NORMAL ] Iteration 109:\tk_eff = 1.214416\tres = 4.189E-04\n", - "[ NORMAL ] Iteration 110:\tk_eff = 1.214861\tres = 3.907E-04\n", - "[ NORMAL ] Iteration 111:\tk_eff = 1.215275\tres = 3.660E-04\n", - "[ NORMAL ] Iteration 112:\tk_eff = 1.215663\tres = 3.414E-04\n", - "[ NORMAL ] Iteration 113:\tk_eff = 1.216025\tres = 3.188E-04\n", - "[ NORMAL ] Iteration 114:\tk_eff = 1.216363\tres = 2.981E-04\n", - "[ NORMAL ] Iteration 115:\tk_eff = 1.216679\tres = 2.776E-04\n", - "[ NORMAL ] Iteration 116:\tk_eff = 1.216974\tres = 2.599E-04\n", - "[ NORMAL ] Iteration 117:\tk_eff = 1.217250\tres = 2.427E-04\n", - "[ NORMAL ] Iteration 118:\tk_eff = 1.217507\tres = 2.263E-04\n", - "[ NORMAL ] Iteration 119:\tk_eff = 1.217747\tres = 2.115E-04\n", - "[ NORMAL ] Iteration 120:\tk_eff = 1.217970\tres = 1.970E-04\n", - "[ NORMAL ] Iteration 121:\tk_eff = 1.218180\tres = 1.834E-04\n", - "[ NORMAL ] Iteration 122:\tk_eff = 1.218375\tres = 1.718E-04\n", - "[ NORMAL ] Iteration 123:\tk_eff = 1.218557\tres = 1.602E-04\n", - "[ NORMAL ] Iteration 124:\tk_eff = 1.218726\tres = 1.496E-04\n", - "[ NORMAL ] Iteration 125:\tk_eff = 1.218885\tres = 1.387E-04\n", - "[ NORMAL ] Iteration 126:\tk_eff = 1.219032\tres = 1.301E-04\n", - "[ NORMAL ] Iteration 127:\tk_eff = 1.219169\tres = 1.211E-04\n", - "[ NORMAL ] Iteration 128:\tk_eff = 1.219298\tres = 1.127E-04\n", - "[ NORMAL ] Iteration 129:\tk_eff = 1.219418\tres = 1.058E-04\n", - "[ NORMAL ] Iteration 130:\tk_eff = 1.219529\tres = 9.828E-05\n", - "[ NORMAL ] Iteration 131:\tk_eff = 1.219633\tres = 9.100E-05\n", - "[ NORMAL ] Iteration 132:\tk_eff = 1.219730\tres = 8.530E-05\n", - "[ NORMAL ] Iteration 133:\tk_eff = 1.219820\tres = 7.940E-05\n", - "[ NORMAL ] Iteration 134:\tk_eff = 1.219904\tres = 7.409E-05\n", - "[ NORMAL ] Iteration 135:\tk_eff = 1.219983\tres = 6.876E-05\n", - "[ NORMAL ] Iteration 136:\tk_eff = 1.220056\tres = 6.455E-05\n", - "[ NORMAL ] Iteration 137:\tk_eff = 1.220124\tres = 5.969E-05\n", - "[ NORMAL ] Iteration 138:\tk_eff = 1.220187\tres = 5.603E-05\n", - "[ NORMAL ] Iteration 139:\tk_eff = 1.220246\tres = 5.166E-05\n", - "[ NORMAL ] Iteration 140:\tk_eff = 1.220301\tres = 4.829E-05\n", - "[ NORMAL ] Iteration 141:\tk_eff = 1.220352\tres = 4.510E-05\n", - "[ NORMAL ] Iteration 142:\tk_eff = 1.220400\tres = 4.199E-05\n", - "[ NORMAL ] Iteration 143:\tk_eff = 1.220445\tres = 3.939E-05\n", - "[ NORMAL ] Iteration 144:\tk_eff = 1.220486\tres = 3.630E-05\n", - "[ NORMAL ] Iteration 145:\tk_eff = 1.220525\tres = 3.362E-05\n", - "[ NORMAL ] Iteration 146:\tk_eff = 1.220561\tres = 3.181E-05\n", - "[ NORMAL ] Iteration 147:\tk_eff = 1.220594\tres = 2.977E-05\n", - "[ NORMAL ] Iteration 148:\tk_eff = 1.220626\tres = 2.745E-05\n", - "[ NORMAL ] Iteration 149:\tk_eff = 1.220655\tres = 2.569E-05\n", - "[ NORMAL ] Iteration 150:\tk_eff = 1.220682\tres = 2.376E-05\n", - "[ NORMAL ] Iteration 151:\tk_eff = 1.220707\tres = 2.201E-05\n", - "[ NORMAL ] Iteration 152:\tk_eff = 1.220730\tres = 2.071E-05\n", - "[ NORMAL ] Iteration 153:\tk_eff = 1.220752\tres = 1.925E-05\n", - "[ NORMAL ] Iteration 154:\tk_eff = 1.220772\tres = 1.793E-05\n", - "[ NORMAL ] Iteration 155:\tk_eff = 1.220791\tres = 1.669E-05\n", - "[ NORMAL ] Iteration 156:\tk_eff = 1.220809\tres = 1.554E-05\n", - "[ NORMAL ] Iteration 157:\tk_eff = 1.220826\tres = 1.457E-05\n", - "[ NORMAL ] Iteration 158:\tk_eff = 1.220841\tres = 1.372E-05\n", - "[ NORMAL ] Iteration 159:\tk_eff = 1.220855\tres = 1.249E-05\n", - "[ NORMAL ] Iteration 160:\tk_eff = 1.220868\tres = 1.138E-05\n", - "[ NORMAL ] Iteration 161:\tk_eff = 1.220881\tres = 1.104E-05\n", - "[ NORMAL ] Iteration 162:\tk_eff = 1.220892\tres = 1.028E-05\n" + "[ NORMAL ] Iteration 0:\tk_eff = 0.423123\tres = 0.000E+00\n", + "[ NORMAL ] Iteration 1:\tk_eff = 0.475922\tres = 5.769E-01\n", + "[ NORMAL ] Iteration 2:\tk_eff = 0.491444\tres = 1.248E-01\n", + "[ NORMAL ] Iteration 3:\tk_eff = 0.487441\tres = 3.261E-02\n", + "[ NORMAL ] Iteration 4:\tk_eff = 0.483949\tres = 8.144E-03\n", + "[ NORMAL ] Iteration 5:\tk_eff = 0.477326\tres = 7.164E-03\n", + "[ NORMAL ] Iteration 6:\tk_eff = 0.469012\tres = 1.369E-02\n", + "[ NORMAL ] Iteration 7:\tk_eff = 0.460422\tres = 1.742E-02\n", + "[ NORMAL ] Iteration 8:\tk_eff = 0.450721\tres = 1.832E-02\n", + "[ NORMAL ] Iteration 9:\tk_eff = 0.441532\tres = 2.107E-02\n", + "[ NORMAL ] Iteration 10:\tk_eff = 0.432168\tres = 2.039E-02\n", + "[ NORMAL ] Iteration 11:\tk_eff = 0.423131\tres = 2.121E-02\n", + "[ NORMAL ] Iteration 12:\tk_eff = 0.414705\tres = 2.091E-02\n", + "[ NORMAL ] Iteration 13:\tk_eff = 0.406943\tres = 1.991E-02\n", + "[ NORMAL ] Iteration 14:\tk_eff = 0.399627\tres = 1.872E-02\n", + "[ NORMAL ] Iteration 15:\tk_eff = 0.393329\tres = 1.798E-02\n", + "[ NORMAL ] Iteration 16:\tk_eff = 0.387699\tres = 1.576E-02\n", + "[ NORMAL ] Iteration 17:\tk_eff = 0.382949\tres = 1.431E-02\n", + "[ NORMAL ] Iteration 18:\tk_eff = 0.379028\tres = 1.225E-02\n", + "[ NORMAL ] Iteration 19:\tk_eff = 0.375935\tres = 1.024E-02\n", + "[ NORMAL ] Iteration 20:\tk_eff = 0.373785\tres = 8.161E-03\n", + "[ NORMAL ] Iteration 21:\tk_eff = 0.372655\tres = 5.719E-03\n", + "[ NORMAL ] Iteration 22:\tk_eff = 0.372273\tres = 3.023E-03\n", + "[ NORMAL ] Iteration 23:\tk_eff = 0.372879\tres = 1.024E-03\n", + "[ NORMAL ] Iteration 24:\tk_eff = 0.374353\tres = 1.629E-03\n", + "[ NORMAL ] Iteration 25:\tk_eff = 0.376678\tres = 3.952E-03\n", + "[ NORMAL ] Iteration 26:\tk_eff = 0.379854\tres = 6.211E-03\n", + "[ NORMAL ] Iteration 27:\tk_eff = 0.383870\tres = 8.433E-03\n", + "[ NORMAL ] Iteration 28:\tk_eff = 0.388664\tres = 1.057E-02\n", + "[ NORMAL ] Iteration 29:\tk_eff = 0.394216\tres = 1.249E-02\n", + "[ NORMAL ] Iteration 30:\tk_eff = 0.400506\tres = 1.429E-02\n", + "[ NORMAL ] Iteration 31:\tk_eff = 0.407502\tres = 1.596E-02\n", + "[ NORMAL ] Iteration 32:\tk_eff = 0.415145\tres = 1.747E-02\n", + "[ NORMAL ] Iteration 33:\tk_eff = 0.423426\tres = 1.876E-02\n", + "[ NORMAL ] Iteration 34:\tk_eff = 0.432299\tres = 1.995E-02\n", + "[ NORMAL ] Iteration 35:\tk_eff = 0.441713\tres = 2.095E-02\n", + "[ NORMAL ] Iteration 36:\tk_eff = 0.451665\tres = 2.178E-02\n", + "[ NORMAL ] Iteration 37:\tk_eff = 0.462081\tres = 2.253E-02\n", + "[ NORMAL ] Iteration 38:\tk_eff = 0.472952\tres = 2.306E-02\n", + "[ NORMAL ] Iteration 39:\tk_eff = 0.484221\tres = 2.352E-02\n", + "[ NORMAL ] Iteration 40:\tk_eff = 0.495862\tres = 2.383E-02\n", + "[ NORMAL ] Iteration 41:\tk_eff = 0.507836\tres = 2.404E-02\n", + "[ NORMAL ] Iteration 42:\tk_eff = 0.520110\tres = 2.415E-02\n", + "[ NORMAL ] Iteration 43:\tk_eff = 0.532648\tres = 2.417E-02\n", + "[ NORMAL ] Iteration 44:\tk_eff = 0.545419\tres = 2.411E-02\n", + "[ NORMAL ] Iteration 45:\tk_eff = 0.558389\tres = 2.398E-02\n", + "[ NORMAL ] Iteration 46:\tk_eff = 0.571526\tres = 2.378E-02\n", + "[ NORMAL ] Iteration 47:\tk_eff = 0.584803\tres = 2.353E-02\n", + "[ NORMAL ] Iteration 48:\tk_eff = 0.598190\tres = 2.323E-02\n", + "[ NORMAL ] Iteration 49:\tk_eff = 0.611658\tres = 2.289E-02\n", + "[ NORMAL ] Iteration 50:\tk_eff = 0.625182\tres = 2.252E-02\n", + "[ NORMAL ] Iteration 51:\tk_eff = 0.638739\tres = 2.211E-02\n", + "[ NORMAL ] Iteration 52:\tk_eff = 0.652303\tres = 2.168E-02\n", + "[ NORMAL ] Iteration 53:\tk_eff = 0.665851\tres = 2.124E-02\n", + "[ NORMAL ] Iteration 54:\tk_eff = 0.679365\tres = 2.077E-02\n", + "[ NORMAL ] Iteration 55:\tk_eff = 0.692822\tres = 2.030E-02\n", + "[ NORMAL ] Iteration 56:\tk_eff = 0.706205\tres = 1.981E-02\n", + "[ NORMAL ] Iteration 57:\tk_eff = 0.719497\tres = 1.932E-02\n", + "[ NORMAL ] Iteration 58:\tk_eff = 0.732680\tres = 1.882E-02\n", + "[ NORMAL ] Iteration 59:\tk_eff = 0.745741\tres = 1.832E-02\n", + "[ NORMAL ] Iteration 60:\tk_eff = 0.758665\tres = 1.783E-02\n", + "[ NORMAL ] Iteration 61:\tk_eff = 0.771440\tres = 1.733E-02\n", + "[ NORMAL ] Iteration 62:\tk_eff = 0.784054\tres = 1.684E-02\n", + "[ NORMAL ] Iteration 63:\tk_eff = 0.796496\tres = 1.635E-02\n", + "[ NORMAL ] Iteration 64:\tk_eff = 0.808757\tres = 1.587E-02\n", + "[ NORMAL ] Iteration 65:\tk_eff = 0.820828\tres = 1.539E-02\n", + "[ NORMAL ] Iteration 66:\tk_eff = 0.832701\tres = 1.493E-02\n", + "[ NORMAL ] Iteration 67:\tk_eff = 0.844370\tres = 1.446E-02\n", + "[ NORMAL ] Iteration 68:\tk_eff = 0.855828\tres = 1.401E-02\n", + "[ NORMAL ] Iteration 69:\tk_eff = 0.867071\tres = 1.357E-02\n", + "[ NORMAL ] Iteration 70:\tk_eff = 0.878094\tres = 1.314E-02\n", + "[ NORMAL ] Iteration 71:\tk_eff = 0.888893\tres = 1.271E-02\n", + "[ NORMAL ] Iteration 72:\tk_eff = 0.899465\tres = 1.230E-02\n", + "[ NORMAL ] Iteration 73:\tk_eff = 0.909808\tres = 1.189E-02\n", + "[ NORMAL ] Iteration 74:\tk_eff = 0.919919\tres = 1.150E-02\n", + "[ NORMAL ] Iteration 75:\tk_eff = 0.929799\tres = 1.111E-02\n", + "[ NORMAL ] Iteration 76:\tk_eff = 0.939445\tres = 1.074E-02\n", + "[ NORMAL ] Iteration 77:\tk_eff = 0.948857\tres = 1.037E-02\n", + "[ NORMAL ] Iteration 78:\tk_eff = 0.958037\tres = 1.002E-02\n", + "[ NORMAL ] Iteration 79:\tk_eff = 0.966984\tres = 9.675E-03\n", + "[ NORMAL ] Iteration 80:\tk_eff = 0.975699\tres = 9.339E-03\n", + "[ NORMAL ] Iteration 81:\tk_eff = 0.984185\tres = 9.012E-03\n", + "[ NORMAL ] Iteration 82:\tk_eff = 0.992442\tres = 8.697E-03\n", + "[ NORMAL ] Iteration 83:\tk_eff = 1.000473\tres = 8.390E-03\n", + "[ NORMAL ] Iteration 84:\tk_eff = 1.008281\tres = 8.092E-03\n", + "[ NORMAL ] Iteration 85:\tk_eff = 1.015867\tres = 7.804E-03\n", + "[ NORMAL ] Iteration 86:\tk_eff = 1.023234\tres = 7.524E-03\n", + "[ NORMAL ] Iteration 87:\tk_eff = 1.030387\tres = 7.253E-03\n", + "[ NORMAL ] Iteration 88:\tk_eff = 1.037327\tres = 6.990E-03\n", + "[ NORMAL ] Iteration 89:\tk_eff = 1.044059\tres = 6.736E-03\n", + "[ NORMAL ] Iteration 90:\tk_eff = 1.050586\tres = 6.489E-03\n", + "[ NORMAL ] Iteration 91:\tk_eff = 1.056911\tres = 6.251E-03\n", + "[ NORMAL ] Iteration 92:\tk_eff = 1.063039\tres = 6.021E-03\n", + "[ NORMAL ] Iteration 93:\tk_eff = 1.068972\tres = 5.798E-03\n", + "[ NORMAL ] Iteration 94:\tk_eff = 1.074717\tres = 5.582E-03\n", + "[ NORMAL ] Iteration 95:\tk_eff = 1.080275\tres = 5.373E-03\n", + "[ NORMAL ] Iteration 96:\tk_eff = 1.085652\tres = 5.172E-03\n", + "[ NORMAL ] Iteration 97:\tk_eff = 1.090851\tres = 4.977E-03\n", + "[ NORMAL ] Iteration 98:\tk_eff = 1.095877\tres = 4.789E-03\n", + "[ NORMAL ] Iteration 99:\tk_eff = 1.100733\tres = 4.607E-03\n", + "[ NORMAL ] Iteration 100:\tk_eff = 1.105424\tres = 4.432E-03\n", + "[ NORMAL ] Iteration 101:\tk_eff = 1.109955\tres = 4.262E-03\n", + "[ NORMAL ] Iteration 102:\tk_eff = 1.114329\tres = 4.098E-03\n", + "[ NORMAL ] Iteration 103:\tk_eff = 1.118550\tres = 3.941E-03\n", + "[ NORMAL ] Iteration 104:\tk_eff = 1.122623\tres = 3.789E-03\n", + "[ NORMAL ] Iteration 105:\tk_eff = 1.126552\tres = 3.641E-03\n", + "[ NORMAL ] Iteration 106:\tk_eff = 1.130340\tres = 3.499E-03\n", + "[ NORMAL ] Iteration 107:\tk_eff = 1.133992\tres = 3.362E-03\n", + "[ NORMAL ] Iteration 108:\tk_eff = 1.137511\tres = 3.231E-03\n", + "[ NORMAL ] Iteration 109:\tk_eff = 1.140902\tres = 3.103E-03\n", + "[ NORMAL ] Iteration 110:\tk_eff = 1.144169\tres = 2.981E-03\n", + "[ NORMAL ] Iteration 111:\tk_eff = 1.147314\tres = 2.863E-03\n", + "[ NORMAL ] Iteration 112:\tk_eff = 1.150342\tres = 2.750E-03\n", + "[ NORMAL ] Iteration 113:\tk_eff = 1.153257\tres = 2.639E-03\n", + "[ NORMAL ] Iteration 114:\tk_eff = 1.156062\tres = 2.534E-03\n", + "[ NORMAL ] Iteration 115:\tk_eff = 1.158761\tres = 2.432E-03\n", + "[ NORMAL ] Iteration 116:\tk_eff = 1.161357\tres = 2.334E-03\n", + "[ NORMAL ] Iteration 117:\tk_eff = 1.163854\tres = 2.240E-03\n", + "[ NORMAL ] Iteration 118:\tk_eff = 1.166253\tres = 2.150E-03\n", + "[ NORMAL ] Iteration 119:\tk_eff = 1.168560\tres = 2.062E-03\n", + "[ NORMAL ] Iteration 120:\tk_eff = 1.170777\tres = 1.978E-03\n", + "[ NORMAL ] Iteration 121:\tk_eff = 1.172907\tres = 1.897E-03\n", + "[ NORMAL ] Iteration 122:\tk_eff = 1.174953\tres = 1.819E-03\n", + "[ NORMAL ] Iteration 123:\tk_eff = 1.176918\tres = 1.745E-03\n", + "[ NORMAL ] Iteration 124:\tk_eff = 1.178805\tres = 1.672E-03\n", + "[ NORMAL ] Iteration 125:\tk_eff = 1.180617\tres = 1.603E-03\n", + "[ NORMAL ] Iteration 126:\tk_eff = 1.182356\tres = 1.537E-03\n", + "[ NORMAL ] Iteration 127:\tk_eff = 1.184025\tres = 1.473E-03\n", + "[ NORMAL ] Iteration 128:\tk_eff = 1.185626\tres = 1.412E-03\n", + "[ NORMAL ] Iteration 129:\tk_eff = 1.187163\tres = 1.352E-03\n", + "[ NORMAL ] Iteration 130:\tk_eff = 1.188637\tres = 1.296E-03\n", + "[ NORMAL ] Iteration 131:\tk_eff = 1.190050\tres = 1.241E-03\n", + "[ NORMAL ] Iteration 132:\tk_eff = 1.191406\tres = 1.189E-03\n", + "[ NORMAL ] Iteration 133:\tk_eff = 1.192704\tres = 1.139E-03\n", + "[ NORMAL ] Iteration 134:\tk_eff = 1.193949\tres = 1.090E-03\n", + "[ NORMAL ] Iteration 135:\tk_eff = 1.195144\tres = 1.044E-03\n", + "[ NORMAL ] Iteration 136:\tk_eff = 1.196287\tres = 1.001E-03\n", + "[ NORMAL ] Iteration 137:\tk_eff = 1.197383\tres = 9.567E-04\n", + "[ NORMAL ] Iteration 138:\tk_eff = 1.198433\tres = 9.157E-04\n", + "[ NORMAL ] Iteration 139:\tk_eff = 1.199438\tres = 8.775E-04\n", + "[ NORMAL ] Iteration 140:\tk_eff = 1.200401\tres = 8.388E-04\n", + "[ NORMAL ] Iteration 141:\tk_eff = 1.201324\tres = 8.030E-04\n", + "[ NORMAL ] Iteration 142:\tk_eff = 1.202206\tres = 7.682E-04\n", + "[ NORMAL ] Iteration 143:\tk_eff = 1.203051\tres = 7.348E-04\n", + "[ NORMAL ] Iteration 144:\tk_eff = 1.203860\tres = 7.028E-04\n", + "[ NORMAL ] Iteration 145:\tk_eff = 1.204634\tres = 6.722E-04\n", + "[ NORMAL ] Iteration 146:\tk_eff = 1.205375\tres = 6.429E-04\n", + "[ NORMAL ] Iteration 147:\tk_eff = 1.206084\tres = 6.153E-04\n", + "[ NORMAL ] Iteration 148:\tk_eff = 1.206762\tres = 5.883E-04\n", + "[ NORMAL ] Iteration 149:\tk_eff = 1.207411\tres = 5.617E-04\n", + "[ NORMAL ] Iteration 150:\tk_eff = 1.208031\tres = 5.377E-04\n", + "[ NORMAL ] Iteration 151:\tk_eff = 1.208623\tres = 5.137E-04\n", + "[ NORMAL ] Iteration 152:\tk_eff = 1.209191\tres = 4.906E-04\n", + "[ NORMAL ] Iteration 153:\tk_eff = 1.209733\tres = 4.694E-04\n", + "[ NORMAL ] Iteration 154:\tk_eff = 1.210251\tres = 4.486E-04\n", + "[ NORMAL ] Iteration 155:\tk_eff = 1.210747\tres = 4.280E-04\n", + "[ NORMAL ] Iteration 156:\tk_eff = 1.211220\tres = 4.098E-04\n", + "[ NORMAL ] Iteration 157:\tk_eff = 1.211673\tres = 3.908E-04\n", + "[ NORMAL ] Iteration 158:\tk_eff = 1.212105\tres = 3.738E-04\n", + "[ NORMAL ] Iteration 159:\tk_eff = 1.212518\tres = 3.567E-04\n", + "[ NORMAL ] Iteration 160:\tk_eff = 1.212913\tres = 3.409E-04\n", + "[ NORMAL ] Iteration 161:\tk_eff = 1.213290\tres = 3.260E-04\n", + "[ NORMAL ] Iteration 162:\tk_eff = 1.213650\tres = 3.104E-04\n", + "[ NORMAL ] Iteration 163:\tk_eff = 1.213995\tres = 2.965E-04\n", + "[ NORMAL ] Iteration 164:\tk_eff = 1.214322\tres = 2.838E-04\n", + "[ NORMAL ] Iteration 165:\tk_eff = 1.214637\tres = 2.701E-04\n", + "[ NORMAL ] Iteration 166:\tk_eff = 1.214937\tres = 2.587E-04\n", + "[ NORMAL ] Iteration 167:\tk_eff = 1.215222\tres = 2.469E-04\n", + "[ NORMAL ] Iteration 168:\tk_eff = 1.215494\tres = 2.348E-04\n", + "[ NORMAL ] Iteration 169:\tk_eff = 1.215755\tres = 2.242E-04\n", + "[ NORMAL ] Iteration 170:\tk_eff = 1.216004\tres = 2.144E-04\n", + "[ NORMAL ] Iteration 171:\tk_eff = 1.216241\tres = 2.048E-04\n", + "[ NORMAL ] Iteration 172:\tk_eff = 1.216467\tres = 1.950E-04\n", + "[ NORMAL ] Iteration 173:\tk_eff = 1.216683\tres = 1.857E-04\n", + "[ NORMAL ] Iteration 174:\tk_eff = 1.216889\tres = 1.778E-04\n", + "[ NORMAL ] Iteration 175:\tk_eff = 1.217085\tres = 1.696E-04\n", + "[ NORMAL ] Iteration 176:\tk_eff = 1.217273\tres = 1.614E-04\n", + "[ NORMAL ] Iteration 177:\tk_eff = 1.217452\tres = 1.543E-04\n", + "[ NORMAL ] Iteration 178:\tk_eff = 1.217623\tres = 1.465E-04\n", + "[ NORMAL ] Iteration 179:\tk_eff = 1.217785\tres = 1.405E-04\n", + "[ NORMAL ] Iteration 180:\tk_eff = 1.217940\tres = 1.335E-04\n", + "[ NORMAL ] Iteration 181:\tk_eff = 1.218088\tres = 1.269E-04\n", + "[ NORMAL ] Iteration 182:\tk_eff = 1.218229\tres = 1.218E-04\n", + "[ NORMAL ] Iteration 183:\tk_eff = 1.218363\tres = 1.157E-04\n", + "[ NORMAL ] Iteration 184:\tk_eff = 1.218492\tres = 1.101E-04\n", + "[ NORMAL ] Iteration 185:\tk_eff = 1.218615\tres = 1.056E-04\n", + "[ NORMAL ] Iteration 186:\tk_eff = 1.218731\tres = 1.007E-04\n", + "[ NORMAL ] Iteration 187:\tk_eff = 1.218841\tres = 9.536E-05\n", + "[ NORMAL ] Iteration 188:\tk_eff = 1.218947\tres = 9.039E-05\n", + "[ NORMAL ] Iteration 189:\tk_eff = 1.219048\tres = 8.671E-05\n", + "[ NORMAL ] Iteration 190:\tk_eff = 1.219144\tres = 8.281E-05\n", + "[ NORMAL ] Iteration 191:\tk_eff = 1.219236\tres = 7.903E-05\n", + "[ NORMAL ] Iteration 192:\tk_eff = 1.219323\tres = 7.535E-05\n", + "[ NORMAL ] Iteration 193:\tk_eff = 1.219406\tres = 7.153E-05\n", + "[ NORMAL ] Iteration 194:\tk_eff = 1.219485\tres = 6.803E-05\n", + "[ NORMAL ] Iteration 195:\tk_eff = 1.219561\tres = 6.458E-05\n", + "[ NORMAL ] Iteration 196:\tk_eff = 1.219633\tres = 6.195E-05\n", + "[ NORMAL ] Iteration 197:\tk_eff = 1.219701\tres = 5.920E-05\n", + "[ NORMAL ] Iteration 198:\tk_eff = 1.219766\tres = 5.593E-05\n", + "[ NORMAL ] Iteration 199:\tk_eff = 1.219829\tres = 5.350E-05\n", + "[ NORMAL ] Iteration 200:\tk_eff = 1.219887\tres = 5.127E-05\n", + "[ NORMAL ] Iteration 201:\tk_eff = 1.219944\tres = 4.821E-05\n", + "[ NORMAL ] Iteration 202:\tk_eff = 1.219998\tres = 4.617E-05\n", + "[ NORMAL ] Iteration 203:\tk_eff = 1.220048\tres = 4.406E-05\n", + "[ NORMAL ] Iteration 204:\tk_eff = 1.220097\tres = 4.167E-05\n", + "[ NORMAL ] Iteration 205:\tk_eff = 1.220143\tres = 4.017E-05\n", + "[ NORMAL ] Iteration 206:\tk_eff = 1.220188\tres = 3.759E-05\n", + "[ NORMAL ] Iteration 207:\tk_eff = 1.220230\tres = 3.628E-05\n", + "[ NORMAL ] Iteration 208:\tk_eff = 1.220270\tres = 3.429E-05\n", + "[ NORMAL ] Iteration 209:\tk_eff = 1.220307\tres = 3.268E-05\n", + "[ NORMAL ] Iteration 210:\tk_eff = 1.220343\tres = 3.102E-05\n", + "[ NORMAL ] Iteration 211:\tk_eff = 1.220377\tres = 2.945E-05\n", + "[ NORMAL ] Iteration 212:\tk_eff = 1.220410\tres = 2.801E-05\n", + "[ NORMAL ] Iteration 213:\tk_eff = 1.220441\tres = 2.693E-05\n", + "[ NORMAL ] Iteration 214:\tk_eff = 1.220470\tres = 2.516E-05\n", + "[ NORMAL ] Iteration 215:\tk_eff = 1.220498\tres = 2.414E-05\n", + "[ NORMAL ] Iteration 216:\tk_eff = 1.220525\tres = 2.300E-05\n", + "[ NORMAL ] Iteration 217:\tk_eff = 1.220550\tres = 2.205E-05\n", + "[ NORMAL ] Iteration 218:\tk_eff = 1.220575\tres = 2.056E-05\n", + "[ NORMAL ] Iteration 219:\tk_eff = 1.220598\tres = 2.005E-05\n", + "[ NORMAL ] Iteration 220:\tk_eff = 1.220620\tres = 1.878E-05\n", + "[ NORMAL ] Iteration 221:\tk_eff = 1.220640\tres = 1.785E-05\n", + "[ NORMAL ] Iteration 222:\tk_eff = 1.220660\tres = 1.689E-05\n", + "[ NORMAL ] Iteration 223:\tk_eff = 1.220679\tres = 1.624E-05\n", + "[ NORMAL ] Iteration 224:\tk_eff = 1.220697\tres = 1.546E-05\n", + "[ NORMAL ] Iteration 225:\tk_eff = 1.220714\tres = 1.473E-05\n", + "[ NORMAL ] Iteration 226:\tk_eff = 1.220731\tres = 1.431E-05\n", + "[ NORMAL ] Iteration 227:\tk_eff = 1.220747\tres = 1.359E-05\n", + "[ NORMAL ] Iteration 228:\tk_eff = 1.220762\tres = 1.274E-05\n", + "[ NORMAL ] Iteration 229:\tk_eff = 1.220776\tres = 1.210E-05\n", + "[ NORMAL ] Iteration 230:\tk_eff = 1.220789\tres = 1.159E-05\n", + "[ NORMAL ] Iteration 231:\tk_eff = 1.220801\tres = 1.069E-05\n", + "[ NORMAL ] Iteration 232:\tk_eff = 1.220813\tres = 1.043E-05\n" ] } ], @@ -1367,8 +1476,8 @@ "output_type": "stream", "text": [ "openmc keff = 1.223474\n", - "openmoc keff = 1.220892\n", - "bias [pcm]: -258.1\n" + "openmoc keff = 1.220813\n", + "bias [pcm]: -266.0\n" ] } ], @@ -1396,7 +1505,20 @@ "metadata": { "collapsed": false }, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/nelsonag/git/openmc/openmc/tallies.py:1974: RuntimeWarning: invalid value encountered in true_divide\n", + " self_rel_err = data['self']['std. dev.'] / data['self']['mean']\n", + "/home/nelsonag/git/openmc/openmc/tallies.py:1975: RuntimeWarning: invalid value encountered in true_divide\n", + " other_rel_err = data['other']['std. dev.'] / data['other']['mean']\n", + "/home/nelsonag/git/openmc/openmc/tallies.py:1976: RuntimeWarning: invalid value encountered in true_divide\n", + " new_tally._mean = data['self']['mean'] / data['other']['mean']\n" + ] + } + ], "source": [ "openmoc_geometry = get_openmoc_geometry(sp.summary.opencg_geometry)\n", "openmoc_cells = openmoc_geometry.getRootUniverse().getAllCells()\n", @@ -1443,237 +1565,347 @@ "text": [ "[ NORMAL ] Importing ray tracing data from file...\n", "[ NORMAL ] Computing the eigenvalue...\n", - "[ NORMAL ] Iteration 0:\tk_eff = 0.495816\tres = 0.000E+00\n", - "[ NORMAL ] Iteration 1:\tk_eff = 0.557477\tres = 5.042E-01\n", - "[ NORMAL ] Iteration 2:\tk_eff = 0.518301\tres = 1.244E-01\n", - "[ NORMAL ] Iteration 3:\tk_eff = 0.509212\tres = 7.027E-02\n", - "[ NORMAL ] Iteration 4:\tk_eff = 0.496490\tres = 1.754E-02\n", - "[ NORMAL ] Iteration 5:\tk_eff = 0.488581\tres = 2.498E-02\n", - "[ NORMAL ] Iteration 6:\tk_eff = 0.482897\tres = 1.593E-02\n", - "[ NORMAL ] Iteration 7:\tk_eff = 0.479775\tres = 1.163E-02\n", - "[ NORMAL ] Iteration 8:\tk_eff = 0.478834\tres = 6.465E-03\n", - "[ NORMAL ] Iteration 9:\tk_eff = 0.479871\tres = 1.960E-03\n", - "[ NORMAL ] Iteration 10:\tk_eff = 0.482684\tres = 2.165E-03\n", - "[ NORMAL ] Iteration 11:\tk_eff = 0.487084\tres = 5.860E-03\n", - "[ NORMAL ] Iteration 12:\tk_eff = 0.492900\tres = 9.116E-03\n", - "[ NORMAL ] Iteration 13:\tk_eff = 0.499971\tres = 1.194E-02\n", - "[ NORMAL ] Iteration 14:\tk_eff = 0.508153\tres = 1.435E-02\n", - "[ NORMAL ] Iteration 15:\tk_eff = 0.517312\tres = 1.637E-02\n", - "[ NORMAL ] Iteration 16:\tk_eff = 0.527325\tres = 1.802E-02\n", - "[ NORMAL ] Iteration 17:\tk_eff = 0.538079\tres = 1.936E-02\n", - "[ NORMAL ] Iteration 18:\tk_eff = 0.549472\tres = 2.039E-02\n", - "[ NORMAL ] Iteration 19:\tk_eff = 0.561410\tres = 2.117E-02\n", - "[ NORMAL ] Iteration 20:\tk_eff = 0.573807\tres = 2.173E-02\n", - "[ NORMAL ] Iteration 21:\tk_eff = 0.586585\tres = 2.208E-02\n", - "[ NORMAL ] Iteration 22:\tk_eff = 0.599674\tres = 2.227E-02\n", - "[ NORMAL ] Iteration 23:\tk_eff = 0.613007\tres = 2.231E-02\n", - "[ NORMAL ] Iteration 24:\tk_eff = 0.626528\tres = 2.223E-02\n", - "[ NORMAL ] Iteration 25:\tk_eff = 0.640181\tres = 2.206E-02\n", - "[ NORMAL ] Iteration 26:\tk_eff = 0.653920\tres = 2.179E-02\n", - "[ NORMAL ] Iteration 27:\tk_eff = 0.667700\tres = 2.146E-02\n", - "[ NORMAL ] Iteration 28:\tk_eff = 0.681483\tres = 2.107E-02\n", - "[ NORMAL ] Iteration 29:\tk_eff = 0.695234\tres = 2.064E-02\n", - "[ NORMAL ] Iteration 30:\tk_eff = 0.708921\tres = 2.018E-02\n", - "[ NORMAL ] Iteration 31:\tk_eff = 0.722515\tres = 1.969E-02\n", - "[ NORMAL ] Iteration 32:\tk_eff = 0.735993\tres = 1.918E-02\n", - "[ NORMAL ] Iteration 33:\tk_eff = 0.749331\tres = 1.865E-02\n", - "[ NORMAL ] Iteration 34:\tk_eff = 0.762510\tres = 1.812E-02\n", - "[ NORMAL ] Iteration 35:\tk_eff = 0.775514\tres = 1.759E-02\n", - "[ NORMAL ] Iteration 36:\tk_eff = 0.788326\tres = 1.705E-02\n", - "[ NORMAL ] Iteration 37:\tk_eff = 0.800935\tres = 1.652E-02\n", - "[ NORMAL ] Iteration 38:\tk_eff = 0.813328\tres = 1.599E-02\n", - "[ NORMAL ] Iteration 39:\tk_eff = 0.825497\tres = 1.547E-02\n", - "[ NORMAL ] Iteration 40:\tk_eff = 0.837433\tres = 1.496E-02\n", - "[ NORMAL ] Iteration 41:\tk_eff = 0.849130\tres = 1.446E-02\n", - "[ NORMAL ] Iteration 42:\tk_eff = 0.860583\tres = 1.397E-02\n", - "[ NORMAL ] Iteration 43:\tk_eff = 0.871788\tres = 1.349E-02\n", - "[ NORMAL ] Iteration 44:\tk_eff = 0.882742\tres = 1.302E-02\n", - "[ NORMAL ] Iteration 45:\tk_eff = 0.893442\tres = 1.256E-02\n", - "[ NORMAL ] Iteration 46:\tk_eff = 0.903887\tres = 1.212E-02\n", - "[ NORMAL ] Iteration 47:\tk_eff = 0.914077\tres = 1.169E-02\n", - "[ NORMAL ] Iteration 48:\tk_eff = 0.924012\tres = 1.127E-02\n", - "[ NORMAL ] Iteration 49:\tk_eff = 0.933693\tres = 1.087E-02\n", - "[ NORMAL ] Iteration 50:\tk_eff = 0.943122\tres = 1.048E-02\n", - "[ NORMAL ] Iteration 51:\tk_eff = 0.952299\tres = 1.010E-02\n", - "[ NORMAL ] Iteration 52:\tk_eff = 0.961228\tres = 9.730E-03\n", - "[ NORMAL ] Iteration 53:\tk_eff = 0.969911\tres = 9.377E-03\n", - "[ NORMAL ] Iteration 54:\tk_eff = 0.978351\tres = 9.033E-03\n", - "[ NORMAL ] Iteration 55:\tk_eff = 0.986552\tres = 8.702E-03\n", - "[ NORMAL ] Iteration 56:\tk_eff = 0.994517\tres = 8.382E-03\n", - "[ NORMAL ] Iteration 57:\tk_eff = 1.002250\tres = 8.074E-03\n", - "[ NORMAL ] Iteration 58:\tk_eff = 1.009755\tres = 7.776E-03\n", - "[ NORMAL ] Iteration 59:\tk_eff = 1.017037\tres = 7.488E-03\n", - "[ NORMAL ] Iteration 60:\tk_eff = 1.024099\tres = 7.211E-03\n", - "[ NORMAL ] Iteration 61:\tk_eff = 1.030947\tres = 6.944E-03\n", - "[ NORMAL ] Iteration 62:\tk_eff = 1.037584\tres = 6.687E-03\n", - "[ NORMAL ] Iteration 63:\tk_eff = 1.044016\tres = 6.438E-03\n", - "[ NORMAL ] Iteration 64:\tk_eff = 1.050247\tres = 6.199E-03\n", - "[ NORMAL ] Iteration 65:\tk_eff = 1.056282\tres = 5.969E-03\n", - "[ NORMAL ] Iteration 66:\tk_eff = 1.062125\tres = 5.746E-03\n", - "[ NORMAL ] Iteration 67:\tk_eff = 1.067781\tres = 5.531E-03\n", - "[ NORMAL ] Iteration 68:\tk_eff = 1.073255\tres = 5.326E-03\n", - "[ NORMAL ] Iteration 69:\tk_eff = 1.078552\tres = 5.126E-03\n", - "[ NORMAL ] Iteration 70:\tk_eff = 1.083676\tres = 4.936E-03\n", - "[ NORMAL ] Iteration 71:\tk_eff = 1.088632\tres = 4.751E-03\n", - "[ NORMAL ] Iteration 72:\tk_eff = 1.093425\tres = 4.573E-03\n", - "[ NORMAL ] Iteration 73:\tk_eff = 1.098058\tres = 4.403E-03\n", - "[ NORMAL ] Iteration 74:\tk_eff = 1.102537\tres = 4.237E-03\n", - "[ NORMAL ] Iteration 75:\tk_eff = 1.106866\tres = 4.079E-03\n", - "[ NORMAL ] Iteration 76:\tk_eff = 1.111049\tres = 3.926E-03\n", - "[ NORMAL ] Iteration 77:\tk_eff = 1.115090\tres = 3.779E-03\n", - "[ NORMAL ] Iteration 78:\tk_eff = 1.118995\tres = 3.638E-03\n", - "[ NORMAL ] Iteration 79:\tk_eff = 1.122766\tres = 3.501E-03\n", - "[ NORMAL ] Iteration 80:\tk_eff = 1.126408\tres = 3.370E-03\n", - "[ NORMAL ] Iteration 81:\tk_eff = 1.129925\tres = 3.244E-03\n", - "[ NORMAL ] Iteration 82:\tk_eff = 1.133320\tres = 3.122E-03\n", - "[ NORMAL ] Iteration 83:\tk_eff = 1.136597\tres = 3.005E-03\n", - "[ NORMAL ] Iteration 84:\tk_eff = 1.139761\tres = 2.892E-03\n", - "[ NORMAL ] Iteration 85:\tk_eff = 1.142815\tres = 2.783E-03\n", - "[ NORMAL ] Iteration 86:\tk_eff = 1.145761\tres = 2.679E-03\n", - "[ NORMAL ] Iteration 87:\tk_eff = 1.148605\tres = 2.579E-03\n", - "[ NORMAL ] Iteration 88:\tk_eff = 1.151348\tres = 2.482E-03\n", - "[ NORMAL ] Iteration 89:\tk_eff = 1.153994\tres = 2.388E-03\n", - "[ NORMAL ] Iteration 90:\tk_eff = 1.156547\tres = 2.299E-03\n", - "[ NORMAL ] Iteration 91:\tk_eff = 1.159009\tres = 2.212E-03\n", - "[ NORMAL ] Iteration 92:\tk_eff = 1.161384\tres = 2.129E-03\n", - "[ NORMAL ] Iteration 93:\tk_eff = 1.163674\tres = 2.049E-03\n", - "[ NORMAL ] Iteration 94:\tk_eff = 1.165882\tres = 1.972E-03\n", - "[ NORMAL ] Iteration 95:\tk_eff = 1.168012\tres = 1.898E-03\n", - "[ NORMAL ] Iteration 96:\tk_eff = 1.170064\tres = 1.827E-03\n", - "[ NORMAL ] Iteration 97:\tk_eff = 1.172043\tres = 1.757E-03\n", - "[ NORMAL ] Iteration 98:\tk_eff = 1.173951\tres = 1.692E-03\n", - "[ NORMAL ] Iteration 99:\tk_eff = 1.175790\tres = 1.628E-03\n", - "[ NORMAL ] Iteration 100:\tk_eff = 1.177562\tres = 1.566E-03\n", - "[ NORMAL ] Iteration 101:\tk_eff = 1.179269\tres = 1.507E-03\n", - "[ NORMAL ] Iteration 102:\tk_eff = 1.180916\tres = 1.450E-03\n", - "[ NORMAL ] Iteration 103:\tk_eff = 1.182502\tres = 1.396E-03\n", - "[ NORMAL ] Iteration 104:\tk_eff = 1.184030\tres = 1.343E-03\n", - "[ NORMAL ] Iteration 105:\tk_eff = 1.185503\tres = 1.292E-03\n", - "[ NORMAL ] Iteration 106:\tk_eff = 1.186922\tres = 1.244E-03\n", - "[ NORMAL ] Iteration 107:\tk_eff = 1.188288\tres = 1.197E-03\n", - "[ NORMAL ] Iteration 108:\tk_eff = 1.189606\tres = 1.151E-03\n", - "[ NORMAL ] Iteration 109:\tk_eff = 1.190874\tres = 1.108E-03\n", - "[ NORMAL ] Iteration 110:\tk_eff = 1.192096\tres = 1.066E-03\n", - "[ NORMAL ] Iteration 111:\tk_eff = 1.193273\tres = 1.026E-03\n", - "[ NORMAL ] Iteration 112:\tk_eff = 1.194407\tres = 9.870E-04\n", - "[ NORMAL ] Iteration 113:\tk_eff = 1.195499\tres = 9.504E-04\n", - "[ NORMAL ] Iteration 114:\tk_eff = 1.196550\tres = 9.140E-04\n", - "[ NORMAL ] Iteration 115:\tk_eff = 1.197563\tres = 8.792E-04\n", - "[ NORMAL ] Iteration 116:\tk_eff = 1.198538\tres = 8.468E-04\n", - "[ NORMAL ] Iteration 117:\tk_eff = 1.199477\tres = 8.140E-04\n", - "[ NORMAL ] Iteration 118:\tk_eff = 1.200382\tres = 7.837E-04\n", - "[ NORMAL ] Iteration 119:\tk_eff = 1.201253\tres = 7.539E-04\n", - "[ NORMAL ] Iteration 120:\tk_eff = 1.202091\tres = 7.257E-04\n", - "[ NORMAL ] Iteration 121:\tk_eff = 1.202898\tres = 6.979E-04\n", - "[ NORMAL ] Iteration 122:\tk_eff = 1.203676\tres = 6.716E-04\n", - "[ NORMAL ] Iteration 123:\tk_eff = 1.204424\tres = 6.465E-04\n", - "[ NORMAL ] Iteration 124:\tk_eff = 1.205144\tres = 6.217E-04\n", - "[ NORMAL ] Iteration 125:\tk_eff = 1.205838\tres = 5.979E-04\n", - "[ NORMAL ] Iteration 126:\tk_eff = 1.206505\tres = 5.760E-04\n", - "[ NORMAL ] Iteration 127:\tk_eff = 1.207148\tres = 5.532E-04\n", - "[ NORMAL ] Iteration 128:\tk_eff = 1.207767\tres = 5.325E-04\n", - "[ NORMAL ] Iteration 129:\tk_eff = 1.208363\tres = 5.125E-04\n", - "[ NORMAL ] Iteration 130:\tk_eff = 1.208936\tres = 4.935E-04\n", - "[ NORMAL ] Iteration 131:\tk_eff = 1.209487\tres = 4.744E-04\n", - "[ NORMAL ] Iteration 132:\tk_eff = 1.210018\tres = 4.559E-04\n", - "[ NORMAL ] Iteration 133:\tk_eff = 1.210529\tres = 4.392E-04\n", - "[ NORMAL ] Iteration 134:\tk_eff = 1.211021\tres = 4.223E-04\n", - "[ NORMAL ] Iteration 135:\tk_eff = 1.211495\tres = 4.060E-04\n", - "[ NORMAL ] Iteration 136:\tk_eff = 1.211951\tres = 3.914E-04\n", - "[ NORMAL ] Iteration 137:\tk_eff = 1.212390\tres = 3.763E-04\n", - "[ NORMAL ] Iteration 138:\tk_eff = 1.212812\tres = 3.623E-04\n", - "[ NORMAL ] Iteration 139:\tk_eff = 1.213217\tres = 3.480E-04\n", - "[ NORMAL ] Iteration 140:\tk_eff = 1.213608\tres = 3.344E-04\n", - "[ NORMAL ] Iteration 141:\tk_eff = 1.213984\tres = 3.223E-04\n", - "[ NORMAL ] Iteration 142:\tk_eff = 1.214347\tres = 3.097E-04\n", - "[ NORMAL ] Iteration 143:\tk_eff = 1.214695\tres = 2.985E-04\n", - "[ NORMAL ] Iteration 144:\tk_eff = 1.215031\tres = 2.869E-04\n", - "[ NORMAL ] Iteration 145:\tk_eff = 1.215352\tres = 2.763E-04\n", - "[ NORMAL ] Iteration 146:\tk_eff = 1.215663\tres = 2.648E-04\n", - "[ NORMAL ] Iteration 147:\tk_eff = 1.215962\tres = 2.552E-04\n", - "[ NORMAL ] Iteration 148:\tk_eff = 1.216249\tres = 2.460E-04\n", - "[ NORMAL ] Iteration 149:\tk_eff = 1.216526\tres = 2.362E-04\n", - "[ NORMAL ] Iteration 150:\tk_eff = 1.216792\tres = 2.279E-04\n", - "[ NORMAL ] Iteration 151:\tk_eff = 1.217048\tres = 2.188E-04\n", - "[ NORMAL ] Iteration 152:\tk_eff = 1.217294\tres = 2.100E-04\n", - "[ NORMAL ] Iteration 153:\tk_eff = 1.217531\tres = 2.024E-04\n", - "[ NORMAL ] Iteration 154:\tk_eff = 1.217759\tres = 1.948E-04\n", - "[ NORMAL ] Iteration 155:\tk_eff = 1.217978\tres = 1.872E-04\n", - "[ NORMAL ] Iteration 156:\tk_eff = 1.218189\tres = 1.799E-04\n", - "[ NORMAL ] Iteration 157:\tk_eff = 1.218393\tres = 1.733E-04\n", - "[ NORMAL ] Iteration 158:\tk_eff = 1.218588\tres = 1.668E-04\n", - "[ NORMAL ] Iteration 159:\tk_eff = 1.218776\tres = 1.600E-04\n", - "[ NORMAL ] Iteration 160:\tk_eff = 1.218957\tres = 1.544E-04\n", - "[ NORMAL ] Iteration 161:\tk_eff = 1.219131\tres = 1.485E-04\n", - "[ NORMAL ] Iteration 162:\tk_eff = 1.219298\tres = 1.428E-04\n", - "[ NORMAL ] Iteration 163:\tk_eff = 1.219459\tres = 1.374E-04\n", - "[ NORMAL ] Iteration 164:\tk_eff = 1.219614\tres = 1.321E-04\n", - "[ NORMAL ] Iteration 165:\tk_eff = 1.219763\tres = 1.270E-04\n", - "[ NORMAL ] Iteration 166:\tk_eff = 1.219906\tres = 1.221E-04\n", - "[ NORMAL ] Iteration 167:\tk_eff = 1.220044\tres = 1.175E-04\n", - "[ NORMAL ] Iteration 168:\tk_eff = 1.220177\tres = 1.130E-04\n", - "[ NORMAL ] Iteration 169:\tk_eff = 1.220304\tres = 1.084E-04\n", - "[ NORMAL ] Iteration 170:\tk_eff = 1.220427\tres = 1.045E-04\n", - "[ NORMAL ] Iteration 171:\tk_eff = 1.220545\tres = 1.007E-04\n", - "[ NORMAL ] Iteration 172:\tk_eff = 1.220659\tres = 9.678E-05\n", - "[ NORMAL ] Iteration 173:\tk_eff = 1.220768\tres = 9.304E-05\n", - "[ NORMAL ] Iteration 174:\tk_eff = 1.220874\tres = 8.984E-05\n", - "[ NORMAL ] Iteration 175:\tk_eff = 1.220975\tres = 8.640E-05\n", - "[ NORMAL ] Iteration 176:\tk_eff = 1.221073\tres = 8.326E-05\n", - "[ NORMAL ] Iteration 177:\tk_eff = 1.221166\tres = 7.985E-05\n", - "[ NORMAL ] Iteration 178:\tk_eff = 1.221256\tres = 7.662E-05\n", - "[ NORMAL ] Iteration 179:\tk_eff = 1.221343\tres = 7.371E-05\n", - "[ NORMAL ] Iteration 180:\tk_eff = 1.221426\tres = 7.091E-05\n", - "[ NORMAL ] Iteration 181:\tk_eff = 1.221506\tres = 6.827E-05\n", - "[ NORMAL ] Iteration 182:\tk_eff = 1.221583\tres = 6.560E-05\n", - "[ NORMAL ] Iteration 183:\tk_eff = 1.221657\tres = 6.320E-05\n", - "[ NORMAL ] Iteration 184:\tk_eff = 1.221729\tres = 6.067E-05\n", - "[ NORMAL ] Iteration 185:\tk_eff = 1.221797\tres = 5.829E-05\n", - "[ NORMAL ] Iteration 186:\tk_eff = 1.221863\tres = 5.641E-05\n", - "[ NORMAL ] Iteration 187:\tk_eff = 1.221927\tres = 5.382E-05\n", - "[ NORMAL ] Iteration 188:\tk_eff = 1.221987\tres = 5.196E-05\n", - "[ NORMAL ] Iteration 189:\tk_eff = 1.222046\tres = 4.968E-05\n", - "[ NORMAL ] Iteration 190:\tk_eff = 1.222102\tres = 4.810E-05\n", - "[ NORMAL ] Iteration 191:\tk_eff = 1.222157\tres = 4.617E-05\n", - "[ NORMAL ] Iteration 192:\tk_eff = 1.222209\tres = 4.456E-05\n", - "[ NORMAL ] Iteration 193:\tk_eff = 1.222260\tres = 4.287E-05\n", - "[ NORMAL ] Iteration 194:\tk_eff = 1.222308\tres = 4.122E-05\n", - "[ NORMAL ] Iteration 195:\tk_eff = 1.222355\tres = 3.971E-05\n", - "[ NORMAL ] Iteration 196:\tk_eff = 1.222399\tres = 3.805E-05\n", - "[ NORMAL ] Iteration 197:\tk_eff = 1.222442\tres = 3.657E-05\n", - "[ NORMAL ] Iteration 198:\tk_eff = 1.222484\tres = 3.521E-05\n", - "[ NORMAL ] Iteration 199:\tk_eff = 1.222523\tres = 3.381E-05\n", - "[ NORMAL ] Iteration 200:\tk_eff = 1.222561\tres = 3.262E-05\n", - "[ NORMAL ] Iteration 201:\tk_eff = 1.222598\tres = 3.107E-05\n", - "[ NORMAL ] Iteration 202:\tk_eff = 1.222634\tres = 2.985E-05\n", - "[ NORMAL ] Iteration 203:\tk_eff = 1.222668\tres = 2.902E-05\n", - "[ NORMAL ] Iteration 204:\tk_eff = 1.222700\tres = 2.804E-05\n", - "[ NORMAL ] Iteration 205:\tk_eff = 1.222732\tres = 2.639E-05\n", - "[ NORMAL ] Iteration 206:\tk_eff = 1.222762\tres = 2.577E-05\n", - "[ NORMAL ] Iteration 207:\tk_eff = 1.222792\tres = 2.487E-05\n", - "[ NORMAL ] Iteration 208:\tk_eff = 1.222820\tres = 2.400E-05\n", - "[ NORMAL ] Iteration 209:\tk_eff = 1.222847\tres = 2.291E-05\n", - "[ NORMAL ] Iteration 210:\tk_eff = 1.222872\tres = 2.200E-05\n", - "[ NORMAL ] Iteration 211:\tk_eff = 1.222897\tres = 2.121E-05\n", - "[ NORMAL ] Iteration 212:\tk_eff = 1.222921\tres = 2.040E-05\n", - "[ NORMAL ] Iteration 213:\tk_eff = 1.222944\tres = 1.964E-05\n", - "[ NORMAL ] Iteration 214:\tk_eff = 1.222967\tres = 1.882E-05\n", - "[ NORMAL ] Iteration 215:\tk_eff = 1.222988\tres = 1.821E-05\n", - "[ NORMAL ] Iteration 216:\tk_eff = 1.223009\tres = 1.763E-05\n", - "[ NORMAL ] Iteration 217:\tk_eff = 1.223029\tres = 1.690E-05\n", - "[ NORMAL ] Iteration 218:\tk_eff = 1.223048\tres = 1.630E-05\n", - "[ NORMAL ] Iteration 219:\tk_eff = 1.223067\tres = 1.572E-05\n", - "[ NORMAL ] Iteration 220:\tk_eff = 1.223084\tres = 1.507E-05\n", - "[ NORMAL ] Iteration 221:\tk_eff = 1.223101\tres = 1.427E-05\n", - "[ NORMAL ] Iteration 222:\tk_eff = 1.223117\tres = 1.394E-05\n", - "[ NORMAL ] Iteration 223:\tk_eff = 1.223133\tres = 1.330E-05\n", - "[ NORMAL ] Iteration 224:\tk_eff = 1.223148\tres = 1.298E-05\n", - "[ NORMAL ] Iteration 225:\tk_eff = 1.223163\tres = 1.241E-05\n", - "[ NORMAL ] Iteration 226:\tk_eff = 1.223177\tres = 1.167E-05\n", - "[ NORMAL ] Iteration 227:\tk_eff = 1.223190\tres = 1.151E-05\n", - "[ NORMAL ] Iteration 228:\tk_eff = 1.223203\tres = 1.073E-05\n", - "[ NORMAL ] Iteration 229:\tk_eff = 1.223215\tres = 1.050E-05\n", - "[ NORMAL ] Iteration 230:\tk_eff = 1.223227\tres = 1.000E-05\n" + "[ NORMAL ] Iteration 0:\tk_eff = 0.366907\tres = 0.000E+00\n", + "[ NORMAL ] Iteration 1:\tk_eff = 0.391217\tres = 6.331E-01\n", + "[ NORMAL ] Iteration 2:\tk_eff = 0.393027\tres = 6.626E-02\n", + "[ NORMAL ] Iteration 3:\tk_eff = 0.381142\tres = 4.627E-03\n", + "[ NORMAL ] Iteration 4:\tk_eff = 0.375065\tres = 3.024E-02\n", + "[ NORMAL ] Iteration 5:\tk_eff = 0.369644\tres = 1.594E-02\n", + "[ NORMAL ] Iteration 6:\tk_eff = 0.365597\tres = 1.445E-02\n", + "[ NORMAL ] Iteration 7:\tk_eff = 0.363111\tres = 1.095E-02\n", + "[ NORMAL ] Iteration 8:\tk_eff = 0.361532\tres = 6.802E-03\n", + "[ NORMAL ] Iteration 9:\tk_eff = 0.361339\tres = 4.349E-03\n", + "[ NORMAL ] Iteration 10:\tk_eff = 0.362062\tres = 5.320E-04\n", + "[ NORMAL ] Iteration 11:\tk_eff = 0.363777\tres = 2.001E-03\n", + "[ NORMAL ] Iteration 12:\tk_eff = 0.366396\tres = 4.735E-03\n", + "[ NORMAL ] Iteration 13:\tk_eff = 0.369859\tres = 7.199E-03\n", + "[ NORMAL ] Iteration 14:\tk_eff = 0.374042\tres = 9.454E-03\n", + "[ NORMAL ] Iteration 15:\tk_eff = 0.378972\tres = 1.131E-02\n", + "[ NORMAL ] Iteration 16:\tk_eff = 0.384524\tres = 1.318E-02\n", + "[ NORMAL ] Iteration 17:\tk_eff = 0.390678\tres = 1.465E-02\n", + "[ NORMAL ] Iteration 18:\tk_eff = 0.397373\tres = 1.600E-02\n", + "[ NORMAL ] Iteration 19:\tk_eff = 0.404563\tres = 1.714E-02\n", + "[ NORMAL ] Iteration 20:\tk_eff = 0.412208\tres = 1.809E-02\n", + "[ NORMAL ] Iteration 21:\tk_eff = 0.420270\tres = 1.890E-02\n", + "[ NORMAL ] Iteration 22:\tk_eff = 0.428695\tres = 1.956E-02\n", + "[ NORMAL ] Iteration 23:\tk_eff = 0.437463\tres = 2.005E-02\n", + "[ NORMAL ] Iteration 24:\tk_eff = 0.446530\tres = 2.045E-02\n", + "[ NORMAL ] Iteration 25:\tk_eff = 0.455867\tres = 2.073E-02\n", + "[ NORMAL ] Iteration 26:\tk_eff = 0.465443\tres = 2.091E-02\n", + "[ NORMAL ] Iteration 27:\tk_eff = 0.475229\tres = 2.101E-02\n", + "[ NORMAL ] Iteration 28:\tk_eff = 0.485199\tres = 2.103E-02\n", + "[ NORMAL ] Iteration 29:\tk_eff = 0.495328\tres = 2.098E-02\n", + "[ NORMAL ] Iteration 30:\tk_eff = 0.505592\tres = 2.088E-02\n", + "[ NORMAL ] Iteration 31:\tk_eff = 0.515970\tres = 2.072E-02\n", + "[ NORMAL ] Iteration 32:\tk_eff = 0.526441\tres = 2.053E-02\n", + "[ NORMAL ] Iteration 33:\tk_eff = 0.536986\tres = 2.029E-02\n", + "[ NORMAL ] Iteration 34:\tk_eff = 0.547587\tres = 2.003E-02\n", + "[ NORMAL ] Iteration 35:\tk_eff = 0.558228\tres = 1.974E-02\n", + "[ NORMAL ] Iteration 36:\tk_eff = 0.568894\tres = 1.943E-02\n", + "[ NORMAL ] Iteration 37:\tk_eff = 0.579570\tres = 1.911E-02\n", + "[ NORMAL ] Iteration 38:\tk_eff = 0.590242\tres = 1.877E-02\n", + "[ NORMAL ] Iteration 39:\tk_eff = 0.600898\tres = 1.841E-02\n", + "[ NORMAL ] Iteration 40:\tk_eff = 0.611527\tres = 1.805E-02\n", + "[ NORMAL ] Iteration 41:\tk_eff = 0.622119\tres = 1.769E-02\n", + "[ NORMAL ] Iteration 42:\tk_eff = 0.632663\tres = 1.732E-02\n", + "[ NORMAL ] Iteration 43:\tk_eff = 0.643149\tres = 1.695E-02\n", + "[ NORMAL ] Iteration 44:\tk_eff = 0.653571\tres = 1.658E-02\n", + "[ NORMAL ] Iteration 45:\tk_eff = 0.663920\tres = 1.620E-02\n", + "[ NORMAL ] Iteration 46:\tk_eff = 0.674190\tres = 1.583E-02\n", + "[ NORMAL ] Iteration 47:\tk_eff = 0.684373\tres = 1.547E-02\n", + "[ NORMAL ] Iteration 48:\tk_eff = 0.694464\tres = 1.510E-02\n", + "[ NORMAL ] Iteration 49:\tk_eff = 0.704458\tres = 1.475E-02\n", + "[ NORMAL ] Iteration 50:\tk_eff = 0.714349\tres = 1.439E-02\n", + "[ NORMAL ] Iteration 51:\tk_eff = 0.724134\tres = 1.404E-02\n", + "[ NORMAL ] Iteration 52:\tk_eff = 0.733809\tres = 1.370E-02\n", + "[ NORMAL ] Iteration 53:\tk_eff = 0.743369\tres = 1.336E-02\n", + "[ NORMAL ] Iteration 54:\tk_eff = 0.752812\tres = 1.303E-02\n", + "[ NORMAL ] Iteration 55:\tk_eff = 0.762135\tres = 1.270E-02\n", + "[ NORMAL ] Iteration 56:\tk_eff = 0.771336\tres = 1.238E-02\n", + "[ NORMAL ] Iteration 57:\tk_eff = 0.780412\tres = 1.207E-02\n", + "[ NORMAL ] Iteration 58:\tk_eff = 0.789363\tres = 1.177E-02\n", + "[ NORMAL ] Iteration 59:\tk_eff = 0.798184\tres = 1.147E-02\n", + "[ NORMAL ] Iteration 60:\tk_eff = 0.806878\tres = 1.118E-02\n", + "[ NORMAL ] Iteration 61:\tk_eff = 0.815440\tres = 1.089E-02\n", + "[ NORMAL ] Iteration 62:\tk_eff = 0.823872\tres = 1.061E-02\n", + "[ NORMAL ] Iteration 63:\tk_eff = 0.832173\tres = 1.034E-02\n", + "[ NORMAL ] Iteration 64:\tk_eff = 0.840341\tres = 1.007E-02\n", + "[ NORMAL ] Iteration 65:\tk_eff = 0.848378\tres = 9.816E-03\n", + "[ NORMAL ] Iteration 66:\tk_eff = 0.856281\tres = 9.563E-03\n", + "[ NORMAL ] Iteration 67:\tk_eff = 0.864053\tres = 9.316E-03\n", + "[ NORMAL ] Iteration 68:\tk_eff = 0.871694\tres = 9.076E-03\n", + "[ NORMAL ] Iteration 69:\tk_eff = 0.879202\tres = 8.842E-03\n", + "[ NORMAL ] Iteration 70:\tk_eff = 0.886580\tres = 8.614E-03\n", + "[ NORMAL ] Iteration 71:\tk_eff = 0.893828\tres = 8.392E-03\n", + "[ NORMAL ] Iteration 72:\tk_eff = 0.900946\tres = 8.175E-03\n", + "[ NORMAL ] Iteration 73:\tk_eff = 0.907936\tres = 7.964E-03\n", + "[ NORMAL ] Iteration 74:\tk_eff = 0.914798\tres = 7.758E-03\n", + "[ NORMAL ] Iteration 75:\tk_eff = 0.921534\tres = 7.558E-03\n", + "[ NORMAL ] Iteration 76:\tk_eff = 0.928144\tres = 7.363E-03\n", + "[ NORMAL ] Iteration 77:\tk_eff = 0.934630\tres = 7.173E-03\n", + "[ NORMAL ] Iteration 78:\tk_eff = 0.940992\tres = 6.988E-03\n", + "[ NORMAL ] Iteration 79:\tk_eff = 0.947233\tres = 6.807E-03\n", + "[ NORMAL ] Iteration 80:\tk_eff = 0.953353\tres = 6.633E-03\n", + "[ NORMAL ] Iteration 81:\tk_eff = 0.959355\tres = 6.461E-03\n", + "[ NORMAL ] Iteration 82:\tk_eff = 0.965239\tres = 6.295E-03\n", + "[ NORMAL ] Iteration 83:\tk_eff = 0.971007\tres = 6.133E-03\n", + "[ NORMAL ] Iteration 84:\tk_eff = 0.976660\tres = 5.975E-03\n", + "[ NORMAL ] Iteration 85:\tk_eff = 0.982199\tres = 5.822E-03\n", + "[ NORMAL ] Iteration 86:\tk_eff = 0.987627\tres = 5.672E-03\n", + "[ NORMAL ] Iteration 87:\tk_eff = 0.992946\tres = 5.526E-03\n", + "[ NORMAL ] Iteration 88:\tk_eff = 0.998156\tres = 5.385E-03\n", + "[ NORMAL ] Iteration 89:\tk_eff = 1.003259\tres = 5.247E-03\n", + "[ NORMAL ] Iteration 90:\tk_eff = 1.008257\tres = 5.113E-03\n", + "[ NORMAL ] Iteration 91:\tk_eff = 1.013151\tres = 4.982E-03\n", + "[ NORMAL ] Iteration 92:\tk_eff = 1.017944\tres = 4.854E-03\n", + "[ NORMAL ] Iteration 93:\tk_eff = 1.022636\tres = 4.730E-03\n", + "[ NORMAL ] Iteration 94:\tk_eff = 1.027230\tres = 4.609E-03\n", + "[ NORMAL ] Iteration 95:\tk_eff = 1.031726\tres = 4.492E-03\n", + "[ NORMAL ] Iteration 96:\tk_eff = 1.036126\tres = 4.377E-03\n", + "[ NORMAL ] Iteration 97:\tk_eff = 1.040434\tres = 4.265E-03\n", + "[ NORMAL ] Iteration 98:\tk_eff = 1.044649\tres = 4.157E-03\n", + "[ NORMAL ] Iteration 99:\tk_eff = 1.048774\tres = 4.052E-03\n", + "[ NORMAL ] Iteration 100:\tk_eff = 1.052810\tres = 3.949E-03\n", + "[ NORMAL ] Iteration 101:\tk_eff = 1.056758\tres = 3.848E-03\n", + "[ NORMAL ] Iteration 102:\tk_eff = 1.060621\tres = 3.751E-03\n", + "[ NORMAL ] Iteration 103:\tk_eff = 1.064400\tres = 3.655E-03\n", + "[ NORMAL ] Iteration 104:\tk_eff = 1.068096\tres = 3.563E-03\n", + "[ NORMAL ] Iteration 105:\tk_eff = 1.071711\tres = 3.472E-03\n", + "[ NORMAL ] Iteration 106:\tk_eff = 1.075247\tres = 3.384E-03\n", + "[ NORMAL ] Iteration 107:\tk_eff = 1.078705\tres = 3.299E-03\n", + "[ NORMAL ] Iteration 108:\tk_eff = 1.082086\tres = 3.216E-03\n", + "[ NORMAL ] Iteration 109:\tk_eff = 1.085392\tres = 3.135E-03\n", + "[ NORMAL ] Iteration 110:\tk_eff = 1.088624\tres = 3.056E-03\n", + "[ NORMAL ] Iteration 111:\tk_eff = 1.091784\tres = 2.977E-03\n", + "[ NORMAL ] Iteration 112:\tk_eff = 1.094875\tres = 2.903E-03\n", + "[ NORMAL ] Iteration 113:\tk_eff = 1.097895\tres = 2.831E-03\n", + "[ NORMAL ] Iteration 114:\tk_eff = 1.100847\tres = 2.759E-03\n", + "[ NORMAL ] Iteration 115:\tk_eff = 1.103734\tres = 2.689E-03\n", + "[ NORMAL ] Iteration 116:\tk_eff = 1.106555\tres = 2.622E-03\n", + "[ NORMAL ] Iteration 117:\tk_eff = 1.109312\tres = 2.556E-03\n", + "[ NORMAL ] Iteration 118:\tk_eff = 1.112007\tres = 2.492E-03\n", + "[ NORMAL ] Iteration 119:\tk_eff = 1.114640\tres = 2.429E-03\n", + "[ NORMAL ] Iteration 120:\tk_eff = 1.117214\tres = 2.368E-03\n", + "[ NORMAL ] Iteration 121:\tk_eff = 1.119728\tres = 2.309E-03\n", + "[ NORMAL ] Iteration 122:\tk_eff = 1.122186\tres = 2.251E-03\n", + "[ NORMAL ] Iteration 123:\tk_eff = 1.124587\tres = 2.195E-03\n", + "[ NORMAL ] Iteration 124:\tk_eff = 1.126934\tres = 2.140E-03\n", + "[ NORMAL ] Iteration 125:\tk_eff = 1.129226\tres = 2.086E-03\n", + "[ NORMAL ] Iteration 126:\tk_eff = 1.131465\tres = 2.034E-03\n", + "[ NORMAL ] Iteration 127:\tk_eff = 1.133653\tres = 1.983E-03\n", + "[ NORMAL ] Iteration 128:\tk_eff = 1.135791\tres = 1.934E-03\n", + "[ NORMAL ] Iteration 129:\tk_eff = 1.137879\tres = 1.886E-03\n", + "[ NORMAL ] Iteration 130:\tk_eff = 1.139918\tres = 1.839E-03\n", + "[ NORMAL ] Iteration 131:\tk_eff = 1.141911\tres = 1.792E-03\n", + "[ NORMAL ] Iteration 132:\tk_eff = 1.143857\tres = 1.748E-03\n", + "[ NORMAL ] Iteration 133:\tk_eff = 1.145758\tres = 1.704E-03\n", + "[ NORMAL ] Iteration 134:\tk_eff = 1.147615\tres = 1.662E-03\n", + "[ NORMAL ] Iteration 135:\tk_eff = 1.149428\tres = 1.621E-03\n", + "[ NORMAL ] Iteration 136:\tk_eff = 1.151199\tres = 1.580E-03\n", + "[ NORMAL ] Iteration 137:\tk_eff = 1.152929\tres = 1.541E-03\n", + "[ NORMAL ] Iteration 138:\tk_eff = 1.154618\tres = 1.503E-03\n", + "[ NORMAL ] Iteration 139:\tk_eff = 1.156268\tres = 1.465E-03\n", + "[ NORMAL ] Iteration 140:\tk_eff = 1.157878\tres = 1.429E-03\n", + "[ NORMAL ] Iteration 141:\tk_eff = 1.159452\tres = 1.393E-03\n", + "[ NORMAL ] Iteration 142:\tk_eff = 1.160988\tres = 1.359E-03\n", + "[ NORMAL ] Iteration 143:\tk_eff = 1.162488\tres = 1.325E-03\n", + "[ NORMAL ] Iteration 144:\tk_eff = 1.163953\tres = 1.292E-03\n", + "[ NORMAL ] Iteration 145:\tk_eff = 1.165384\tres = 1.261E-03\n", + "[ NORMAL ] Iteration 146:\tk_eff = 1.166780\tres = 1.229E-03\n", + "[ NORMAL ] Iteration 147:\tk_eff = 1.168144\tres = 1.198E-03\n", + "[ NORMAL ] Iteration 148:\tk_eff = 1.169476\tres = 1.169E-03\n", + "[ NORMAL ] Iteration 149:\tk_eff = 1.170776\tres = 1.140E-03\n", + "[ NORMAL ] Iteration 150:\tk_eff = 1.172045\tres = 1.111E-03\n", + "[ NORMAL ] Iteration 151:\tk_eff = 1.173284\tres = 1.084E-03\n", + "[ NORMAL ] Iteration 152:\tk_eff = 1.174493\tres = 1.057E-03\n", + "[ NORMAL ] Iteration 153:\tk_eff = 1.175674\tres = 1.031E-03\n", + "[ NORMAL ] Iteration 154:\tk_eff = 1.176828\tres = 1.005E-03\n", + "[ NORMAL ] Iteration 155:\tk_eff = 1.177953\tres = 9.813E-04\n", + "[ NORMAL ] Iteration 156:\tk_eff = 1.179052\tres = 9.563E-04\n", + "[ NORMAL ] Iteration 157:\tk_eff = 1.180125\tres = 9.324E-04\n", + "[ NORMAL ] Iteration 158:\tk_eff = 1.181172\tres = 9.100E-04\n", + "[ NORMAL ] Iteration 159:\tk_eff = 1.182194\tres = 8.877E-04\n", + "[ NORMAL ] Iteration 160:\tk_eff = 1.183192\tres = 8.650E-04\n", + "[ NORMAL ] Iteration 161:\tk_eff = 1.184167\tres = 8.445E-04\n", + "[ NORMAL ] Iteration 162:\tk_eff = 1.185117\tres = 8.233E-04\n", + "[ NORMAL ] Iteration 163:\tk_eff = 1.186045\tres = 8.028E-04\n", + "[ NORMAL ] Iteration 164:\tk_eff = 1.186951\tres = 7.831E-04\n", + "[ NORMAL ] Iteration 165:\tk_eff = 1.187836\tres = 7.636E-04\n", + "[ NORMAL ] Iteration 166:\tk_eff = 1.188699\tres = 7.452E-04\n", + "[ NORMAL ] Iteration 167:\tk_eff = 1.189541\tres = 7.265E-04\n", + "[ NORMAL ] Iteration 168:\tk_eff = 1.190363\tres = 7.087E-04\n", + "[ NORMAL ] Iteration 169:\tk_eff = 1.191166\tres = 6.911E-04\n", + "[ NORMAL ] Iteration 170:\tk_eff = 1.191949\tres = 6.742E-04\n", + "[ NORMAL ] Iteration 171:\tk_eff = 1.192714\tres = 6.578E-04\n", + "[ NORMAL ] Iteration 172:\tk_eff = 1.193460\tres = 6.414E-04\n", + "[ NORMAL ] Iteration 173:\tk_eff = 1.194188\tres = 6.255E-04\n", + "[ NORMAL ] Iteration 174:\tk_eff = 1.194899\tres = 6.097E-04\n", + "[ NORMAL ] Iteration 175:\tk_eff = 1.195593\tres = 5.957E-04\n", + "[ NORMAL ] Iteration 176:\tk_eff = 1.196270\tres = 5.807E-04\n", + "[ NORMAL ] Iteration 177:\tk_eff = 1.196931\tres = 5.660E-04\n", + "[ NORMAL ] Iteration 178:\tk_eff = 1.197576\tres = 5.523E-04\n", + "[ NORMAL ] Iteration 179:\tk_eff = 1.198204\tres = 5.389E-04\n", + "[ NORMAL ] Iteration 180:\tk_eff = 1.198819\tres = 5.250E-04\n", + "[ NORMAL ] Iteration 181:\tk_eff = 1.199418\tres = 5.125E-04\n", + "[ NORMAL ] Iteration 182:\tk_eff = 1.200003\tres = 5.002E-04\n", + "[ NORMAL ] Iteration 183:\tk_eff = 1.200574\tres = 4.878E-04\n", + "[ NORMAL ] Iteration 184:\tk_eff = 1.201131\tres = 4.760E-04\n", + "[ NORMAL ] Iteration 185:\tk_eff = 1.201674\tres = 4.637E-04\n", + "[ NORMAL ] Iteration 186:\tk_eff = 1.202206\tres = 4.523E-04\n", + "[ NORMAL ] Iteration 187:\tk_eff = 1.202724\tres = 4.421E-04\n", + "[ NORMAL ] Iteration 188:\tk_eff = 1.203229\tres = 4.306E-04\n", + "[ NORMAL ] Iteration 189:\tk_eff = 1.203722\tres = 4.200E-04\n", + "[ NORMAL ] Iteration 190:\tk_eff = 1.204203\tres = 4.099E-04\n", + "[ NORMAL ] Iteration 191:\tk_eff = 1.204673\tres = 3.998E-04\n", + "[ NORMAL ] Iteration 192:\tk_eff = 1.205131\tres = 3.903E-04\n", + "[ NORMAL ] Iteration 193:\tk_eff = 1.205578\tres = 3.802E-04\n", + "[ NORMAL ] Iteration 194:\tk_eff = 1.206014\tres = 3.706E-04\n", + "[ NORMAL ] Iteration 195:\tk_eff = 1.206440\tres = 3.618E-04\n", + "[ NORMAL ] Iteration 196:\tk_eff = 1.206855\tres = 3.530E-04\n", + "[ NORMAL ] Iteration 197:\tk_eff = 1.207261\tres = 3.443E-04\n", + "[ NORMAL ] Iteration 198:\tk_eff = 1.207657\tres = 3.359E-04\n", + "[ NORMAL ] Iteration 199:\tk_eff = 1.208043\tres = 3.282E-04\n", + "[ NORMAL ] Iteration 200:\tk_eff = 1.208419\tres = 3.196E-04\n", + "[ NORMAL ] Iteration 201:\tk_eff = 1.208787\tres = 3.116E-04\n", + "[ NORMAL ] Iteration 202:\tk_eff = 1.209145\tres = 3.039E-04\n", + "[ NORMAL ] Iteration 203:\tk_eff = 1.209495\tres = 2.962E-04\n", + "[ NORMAL ] Iteration 204:\tk_eff = 1.209836\tres = 2.895E-04\n", + "[ NORMAL ] Iteration 205:\tk_eff = 1.210170\tres = 2.824E-04\n", + "[ NORMAL ] Iteration 206:\tk_eff = 1.210495\tres = 2.756E-04\n", + "[ NORMAL ] Iteration 207:\tk_eff = 1.210812\tres = 2.687E-04\n", + "[ NORMAL ] Iteration 208:\tk_eff = 1.211122\tres = 2.619E-04\n", + "[ NORMAL ] Iteration 209:\tk_eff = 1.211423\tres = 2.559E-04\n", + "[ NORMAL ] Iteration 210:\tk_eff = 1.211718\tres = 2.491E-04\n", + "[ NORMAL ] Iteration 211:\tk_eff = 1.212006\tres = 2.430E-04\n", + "[ NORMAL ] Iteration 212:\tk_eff = 1.212286\tres = 2.376E-04\n", + "[ NORMAL ] Iteration 213:\tk_eff = 1.212560\tres = 2.313E-04\n", + "[ NORMAL ] Iteration 214:\tk_eff = 1.212827\tres = 2.257E-04\n", + "[ NORMAL ] Iteration 215:\tk_eff = 1.213088\tres = 2.203E-04\n", + "[ NORMAL ] Iteration 216:\tk_eff = 1.213341\tres = 2.149E-04\n", + "[ NORMAL ] Iteration 217:\tk_eff = 1.213590\tres = 2.092E-04\n", + "[ NORMAL ] Iteration 218:\tk_eff = 1.213831\tres = 2.047E-04\n", + "[ NORMAL ] Iteration 219:\tk_eff = 1.214068\tres = 1.990E-04\n", + "[ NORMAL ] Iteration 220:\tk_eff = 1.214298\tres = 1.945E-04\n", + "[ NORMAL ] Iteration 221:\tk_eff = 1.214523\tres = 1.900E-04\n", + "[ NORMAL ] Iteration 222:\tk_eff = 1.214743\tres = 1.850E-04\n", + "[ NORMAL ] Iteration 223:\tk_eff = 1.214956\tres = 1.807E-04\n", + "[ NORMAL ] Iteration 224:\tk_eff = 1.215166\tres = 1.760E-04\n", + "[ NORMAL ] Iteration 225:\tk_eff = 1.215370\tres = 1.724E-04\n", + "[ NORMAL ] Iteration 226:\tk_eff = 1.215569\tres = 1.677E-04\n", + "[ NORMAL ] Iteration 227:\tk_eff = 1.215762\tres = 1.637E-04\n", + "[ NORMAL ] Iteration 228:\tk_eff = 1.215951\tres = 1.595E-04\n", + "[ NORMAL ] Iteration 229:\tk_eff = 1.216136\tres = 1.554E-04\n", + "[ NORMAL ] Iteration 230:\tk_eff = 1.216316\tres = 1.518E-04\n", + "[ NORMAL ] Iteration 231:\tk_eff = 1.216492\tres = 1.479E-04\n", + "[ NORMAL ] Iteration 232:\tk_eff = 1.216663\tres = 1.446E-04\n", + "[ NORMAL ] Iteration 233:\tk_eff = 1.216831\tres = 1.411E-04\n", + "[ NORMAL ] Iteration 234:\tk_eff = 1.216994\tres = 1.377E-04\n", + "[ NORMAL ] Iteration 235:\tk_eff = 1.217153\tres = 1.341E-04\n", + "[ NORMAL ] Iteration 236:\tk_eff = 1.217309\tres = 1.307E-04\n", + "[ NORMAL ] Iteration 237:\tk_eff = 1.217461\tres = 1.279E-04\n", + "[ NORMAL ] Iteration 238:\tk_eff = 1.217608\tres = 1.246E-04\n", + "[ NORMAL ] Iteration 239:\tk_eff = 1.217752\tres = 1.215E-04\n", + "[ NORMAL ] Iteration 240:\tk_eff = 1.217893\tres = 1.183E-04\n", + "[ NORMAL ] Iteration 241:\tk_eff = 1.218031\tres = 1.156E-04\n", + "[ NORMAL ] Iteration 242:\tk_eff = 1.218165\tres = 1.129E-04\n", + "[ NORMAL ] Iteration 243:\tk_eff = 1.218296\tres = 1.104E-04\n", + "[ NORMAL ] Iteration 244:\tk_eff = 1.218423\tres = 1.072E-04\n", + "[ NORMAL ] Iteration 245:\tk_eff = 1.218548\tres = 1.045E-04\n", + "[ NORMAL ] Iteration 246:\tk_eff = 1.218669\tres = 1.024E-04\n", + "[ NORMAL ] Iteration 247:\tk_eff = 1.218788\tres = 9.969E-05\n", + "[ NORMAL ] Iteration 248:\tk_eff = 1.218903\tres = 9.716E-05\n", + "[ NORMAL ] Iteration 249:\tk_eff = 1.219016\tres = 9.478E-05\n", + "[ NORMAL ] Iteration 250:\tk_eff = 1.219126\tres = 9.241E-05\n", + "[ NORMAL ] Iteration 251:\tk_eff = 1.219233\tres = 9.028E-05\n", + "[ NORMAL ] Iteration 252:\tk_eff = 1.219338\tres = 8.820E-05\n", + "[ NORMAL ] Iteration 253:\tk_eff = 1.219440\tres = 8.585E-05\n", + "[ NORMAL ] Iteration 254:\tk_eff = 1.219540\tres = 8.383E-05\n", + "[ NORMAL ] Iteration 255:\tk_eff = 1.219638\tres = 8.191E-05\n", + "[ NORMAL ] Iteration 256:\tk_eff = 1.219732\tres = 8.000E-05\n", + "[ NORMAL ] Iteration 257:\tk_eff = 1.219825\tres = 7.789E-05\n", + "[ NORMAL ] Iteration 258:\tk_eff = 1.219915\tres = 7.582E-05\n", + "[ NORMAL ] Iteration 259:\tk_eff = 1.220003\tres = 7.393E-05\n", + "[ NORMAL ] Iteration 260:\tk_eff = 1.220089\tres = 7.210E-05\n", + "[ NORMAL ] Iteration 261:\tk_eff = 1.220173\tres = 7.026E-05\n", + "[ NORMAL ] Iteration 262:\tk_eff = 1.220255\tres = 6.882E-05\n", + "[ NORMAL ] Iteration 263:\tk_eff = 1.220335\tres = 6.737E-05\n", + "[ NORMAL ] Iteration 264:\tk_eff = 1.220412\tres = 6.552E-05\n", + "[ NORMAL ] Iteration 265:\tk_eff = 1.220488\tres = 6.380E-05\n", + "[ NORMAL ] Iteration 266:\tk_eff = 1.220562\tres = 6.221E-05\n", + "[ NORMAL ] Iteration 267:\tk_eff = 1.220635\tres = 6.069E-05\n", + "[ NORMAL ] Iteration 268:\tk_eff = 1.220705\tres = 5.922E-05\n", + "[ NORMAL ] Iteration 269:\tk_eff = 1.220774\tres = 5.778E-05\n", + "[ NORMAL ] Iteration 270:\tk_eff = 1.220842\tres = 5.661E-05\n", + "[ NORMAL ] Iteration 271:\tk_eff = 1.220907\tres = 5.519E-05\n", + "[ NORMAL ] Iteration 272:\tk_eff = 1.220971\tres = 5.373E-05\n", + "[ NORMAL ] Iteration 273:\tk_eff = 1.221033\tres = 5.234E-05\n", + "[ NORMAL ] Iteration 274:\tk_eff = 1.221094\tres = 5.116E-05\n", + "[ NORMAL ] Iteration 275:\tk_eff = 1.221153\tres = 4.958E-05\n", + "[ NORMAL ] Iteration 276:\tk_eff = 1.221211\tres = 4.859E-05\n", + "[ NORMAL ] Iteration 277:\tk_eff = 1.221268\tres = 4.726E-05\n", + "[ NORMAL ] Iteration 278:\tk_eff = 1.221323\tres = 4.630E-05\n", + "[ NORMAL ] Iteration 279:\tk_eff = 1.221377\tres = 4.510E-05\n", + "[ NORMAL ] Iteration 280:\tk_eff = 1.221429\tres = 4.409E-05\n", + "[ NORMAL ] Iteration 281:\tk_eff = 1.221481\tres = 4.282E-05\n", + "[ NORMAL ] Iteration 282:\tk_eff = 1.221531\tres = 4.223E-05\n", + "[ NORMAL ] Iteration 283:\tk_eff = 1.221579\tres = 4.097E-05\n", + "[ NORMAL ] Iteration 284:\tk_eff = 1.221627\tres = 3.991E-05\n", + "[ NORMAL ] Iteration 285:\tk_eff = 1.221673\tres = 3.900E-05\n", + "[ NORMAL ] Iteration 286:\tk_eff = 1.221719\tres = 3.805E-05\n", + "[ NORMAL ] Iteration 287:\tk_eff = 1.221763\tres = 3.705E-05\n", + "[ NORMAL ] Iteration 288:\tk_eff = 1.221806\tres = 3.605E-05\n", + "[ NORMAL ] Iteration 289:\tk_eff = 1.221848\tres = 3.540E-05\n", + "[ NORMAL ] Iteration 290:\tk_eff = 1.221889\tres = 3.451E-05\n", + "[ NORMAL ] Iteration 291:\tk_eff = 1.221929\tres = 3.361E-05\n", + "[ NORMAL ] Iteration 292:\tk_eff = 1.221968\tres = 3.264E-05\n", + "[ NORMAL ] Iteration 293:\tk_eff = 1.222006\tres = 3.194E-05\n", + "[ NORMAL ] Iteration 294:\tk_eff = 1.222043\tres = 3.100E-05\n", + "[ NORMAL ] Iteration 295:\tk_eff = 1.222079\tres = 3.021E-05\n", + "[ NORMAL ] Iteration 296:\tk_eff = 1.222114\tres = 2.963E-05\n", + "[ NORMAL ] Iteration 297:\tk_eff = 1.222149\tres = 2.899E-05\n", + "[ NORMAL ] Iteration 298:\tk_eff = 1.222183\tres = 2.802E-05\n", + "[ NORMAL ] Iteration 299:\tk_eff = 1.222216\tres = 2.767E-05\n", + "[ NORMAL ] Iteration 300:\tk_eff = 1.222248\tres = 2.667E-05\n", + "[ NORMAL ] Iteration 301:\tk_eff = 1.222279\tres = 2.625E-05\n", + "[ NORMAL ] Iteration 302:\tk_eff = 1.222309\tres = 2.557E-05\n", + "[ NORMAL ] Iteration 303:\tk_eff = 1.222339\tres = 2.475E-05\n", + "[ NORMAL ] Iteration 304:\tk_eff = 1.222368\tres = 2.429E-05\n", + "[ NORMAL ] Iteration 305:\tk_eff = 1.222396\tres = 2.362E-05\n", + "[ NORMAL ] Iteration 306:\tk_eff = 1.222423\tres = 2.316E-05\n", + "[ NORMAL ] Iteration 307:\tk_eff = 1.222450\tres = 2.258E-05\n", + "[ NORMAL ] Iteration 308:\tk_eff = 1.222476\tres = 2.210E-05\n", + "[ NORMAL ] Iteration 309:\tk_eff = 1.222502\tres = 2.143E-05\n", + "[ NORMAL ] Iteration 310:\tk_eff = 1.222527\tres = 2.108E-05\n", + "[ NORMAL ] Iteration 311:\tk_eff = 1.222551\tres = 2.047E-05\n", + "[ NORMAL ] Iteration 312:\tk_eff = 1.222575\tres = 1.989E-05\n", + "[ NORMAL ] Iteration 313:\tk_eff = 1.222598\tres = 1.935E-05\n", + "[ NORMAL ] Iteration 314:\tk_eff = 1.222621\tres = 1.921E-05\n", + "[ NORMAL ] Iteration 315:\tk_eff = 1.222643\tres = 1.851E-05\n", + "[ NORMAL ] Iteration 316:\tk_eff = 1.222665\tres = 1.815E-05\n", + "[ NORMAL ] Iteration 317:\tk_eff = 1.222686\tres = 1.771E-05\n", + "[ NORMAL ] Iteration 318:\tk_eff = 1.222707\tres = 1.734E-05\n", + "[ NORMAL ] Iteration 319:\tk_eff = 1.222727\tres = 1.689E-05\n", + "[ NORMAL ] Iteration 320:\tk_eff = 1.222746\tres = 1.648E-05\n", + "[ NORMAL ] Iteration 321:\tk_eff = 1.222766\tres = 1.591E-05\n", + "[ NORMAL ] Iteration 322:\tk_eff = 1.222784\tres = 1.559E-05\n", + "[ NORMAL ] Iteration 323:\tk_eff = 1.222802\tres = 1.522E-05\n", + "[ NORMAL ] Iteration 324:\tk_eff = 1.222820\tres = 1.491E-05\n", + "[ NORMAL ] Iteration 325:\tk_eff = 1.222837\tres = 1.449E-05\n", + "[ NORMAL ] Iteration 326:\tk_eff = 1.222854\tres = 1.405E-05\n", + "[ NORMAL ] Iteration 327:\tk_eff = 1.222870\tres = 1.371E-05\n", + "[ NORMAL ] Iteration 328:\tk_eff = 1.222886\tres = 1.337E-05\n", + "[ NORMAL ] Iteration 329:\tk_eff = 1.222902\tres = 1.321E-05\n", + "[ NORMAL ] Iteration 330:\tk_eff = 1.222917\tres = 1.281E-05\n", + "[ NORMAL ] Iteration 331:\tk_eff = 1.222932\tres = 1.247E-05\n", + "[ NORMAL ] Iteration 332:\tk_eff = 1.222947\tres = 1.215E-05\n", + "[ NORMAL ] Iteration 333:\tk_eff = 1.222961\tres = 1.201E-05\n", + "[ NORMAL ] Iteration 334:\tk_eff = 1.222975\tres = 1.163E-05\n", + "[ NORMAL ] Iteration 335:\tk_eff = 1.222988\tres = 1.122E-05\n", + "[ NORMAL ] Iteration 336:\tk_eff = 1.223001\tres = 1.090E-05\n", + "[ NORMAL ] Iteration 337:\tk_eff = 1.223014\tres = 1.070E-05\n", + "[ NORMAL ] Iteration 338:\tk_eff = 1.223027\tres = 1.047E-05\n", + "[ NORMAL ] Iteration 339:\tk_eff = 1.223039\tres = 1.015E-05\n", + "[ NORMAL ] Iteration 340:\tk_eff = 1.223051\tres = 1.002E-05\n" ] } ], @@ -1699,8 +1931,8 @@ "output_type": "stream", "text": [ "openmc keff = 1.223474\n", - "openmoc keff = 1.223227\n", - "bias [pcm]: -24.7\n" + "openmoc keff = 1.223051\n", + "bias [pcm]: -42.3\n" ] } ], @@ -1741,7 +1973,9 @@ "source": [ "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.\n", "\n", - "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.data` module to parse continuous-energy cross sections from an openly available ACE cross section library distributed by NNDC. First, we instantiate a `openmc.data.IncidentNeutron` object for U-235 as follows." + "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.\n", + "\n", + "There is a simpler way to plot the MGXS data (using the same interface as is used for the continuous-energy data), however this example series has not yet introduced the pre-requisite information and so we will do this manually here." ] }, { @@ -1750,44 +1984,30 @@ "metadata": { "collapsed": false }, - "outputs": [], - "source": [ - "# Parse ACE data into memory\n", - "u235 = openmc.data.IncidentNeutron.from_ace('../../../../scripts/nndc/293.6K/U_235_293.6K.ace')\n", - "\n", - "# Extract the continuous-energy U-235 fission cross section data\n", - "fission = u235[18]" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now, we use [`matplotlib`](http://matplotlib.org/) and [`seaborn`](http://stanford.edu/~mwaskom/software/seaborn/) to plot the continuous-energy and multi-group cross sections on a single plot." - ] - }, - { - "cell_type": "code", - "execution_count": 31, - "metadata": { - "collapsed": false - }, "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/nelsonag/git/openmc/openmc/tallies.py:1974: RuntimeWarning: invalid value encountered in true_divide\n", + " self_rel_err = data['self']['std. dev.'] / data['self']['mean']\n" + ] + }, { "data": { "text/plain": [ - "(9.9999999999999991e-06, 20000000.0)" + "(1.0000000000000001e-05, 20000000.0)" ] }, - "execution_count": 31, + "execution_count": 30, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -1795,30 +2015,31 @@ } ], "source": [ - "# Create a loglog plot of the U-235 continuous-energy fission cross section \n", - "plt.loglog(fission.xs['294K'].x, fission.xs['294K'].y, color='b', linewidth=1)\n", + "# Create a figure of the U-235 continuous-energy fission cross section \n", + "fig = openmc.plot_xs(u235, ['fission'])\n", + "\n", + "# Get the axis to use for plotting the MGXS\n", + "ax = fig.gca()\n", "\n", "# Extract energy group bounds and MGXS values to plot\n", - "nufission = xs_library[fuel_cell.id]['fission']\n", - "energy_groups = nufission.energy_groups\n", + "fission = xs_library[fuel_cell.id]['fission']\n", + "energy_groups = fission.energy_groups\n", "x = energy_groups.group_edges\n", - "y = nufission.get_xs(nuclides=['U235'], order_groups='decreasing', xs_type='micro')\n", + "y = fission.get_xs(nuclides=['U235'], order_groups='decreasing', xs_type='micro')\n", "y = np.squeeze(y)\n", "\n", - "# Fix low energy bound to the value defined by the ACE library\n", - "x[0] = fission.xs['294K'].x[0]\n", + "# Fix low energy bound\n", + "x[0] = 1.e-5\n", "\n", "# Extend the mgxs values array for matplotlib's step plot\n", "y = np.insert(y, 0, y[0])\n", "\n", "# Create a step plot for the MGXS\n", - "plt.plot(x, y, drawstyle='steps', color='r', linewidth=3)\n", + "ax.plot(x, y, drawstyle='steps', color='r', linewidth=3)\n", "\n", - "plt.title('U-235 Fission Cross Section')\n", - "plt.xlabel('Energy [eV]')\n", - "plt.ylabel('Micro Fission XS')\n", - "plt.legend(['Continuous', 'Multi-Group'])\n", - "plt.xlim((x.min(), x.max()))" + "ax.set_title('U-235 Fission Cross Section')\n", + "ax.legend(['Continuous', 'Multi-Group'])\n", + "ax.set_xlim((x.min(), x.max()))" ] }, { @@ -1830,11 +2051,20 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": 31, "metadata": { "collapsed": false }, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/usr/lib/python3.5/site-packages/numpy/lib/shape_base.py:873: VisibleDeprecationWarning: using a non-integer number instead of an integer will result in an error in the future\n", + " return c.reshape(shape_out)\n" + ] + } + ], "source": [ "# Construct a Pandas DataFrame for the microscopic nu-scattering matrix\n", "nuscatter = xs_library[moderator_cell.id]['nu-scatter']\n", @@ -1862,16 +2092,16 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": 32, "metadata": { "collapsed": false }, "outputs": [ { "data": { - "image/png": "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\nfn35+EIOpHUAAAAASUVORK5CYII=\n", + "image/png": "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\n", "text/plain": [ - "" + "" ] }, "metadata": {}, From caab2c1c2dd627231a29bfd9c04ca6f6dd294bae Mon Sep 17 00:00:00 2001 From: Adam Nelson Date: Wed, 30 Nov 2016 19:55:59 -0500 Subject: [PATCH 10/14] Replaced some numerical constants with named constants --- openmc/plotter.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/openmc/plotter.py b/openmc/plotter.py index 76f8c93f4..ac11e4073 100644 --- a/openmc/plotter.py +++ b/openmc/plotter.py @@ -58,6 +58,10 @@ PLOT_TYPES_OP = {'total': (np.add,), PLOT_TYPES_LINEAR = {'nu-fission / fission', 'nu-scatter / scatter', 'nu-fission / absorption', 'fission / absorption'} +# Minimum and maximum energies for plotting (units of eV) +_MIN_E = 1.E-5 +_MAX_E = 20.E6 + def plot_xs(this, types, divisor_types=None, temperature=294., axis=None, sab_name=None, ce_cross_sections=None, mg_cross_sections=None, @@ -199,7 +203,7 @@ def plot_xs(this, types, divisor_types=None, temperature=294., axis=None, ax.set_xlabel('Energy [eV]') if plot_CE: - ax.set_xlim(1.E-5, 20.E6) + ax.set_xlim(_MIN_E, _MAX_E) else: ax.set_xlim(E[-1], E[0]) if divisor_types: @@ -672,7 +676,7 @@ def calculate_mgxs(this, types, orders=None, temperature=294., # Ensure the energy will show on a log-axis by replacing 0s with a # sufficiently small number if energy_grid[0] <= 0.: - energy_grid[0] = 1.E-5 + energy_grid[0] = _MIN_E for line in range(len(types)): i = 0 From 9245ebda77509ba4bc2123e62a8c07fe6eb696d6 Mon Sep 17 00:00:00 2001 From: Adam Nelson Date: Wed, 30 Nov 2016 20:16:05 -0500 Subject: [PATCH 11/14] Docstring changes (forgot optional on some optional attribs) --- openmc/plotter.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/openmc/plotter.py b/openmc/plotter.py index ac11e4073..b3febb525 100644 --- a/openmc/plotter.py +++ b/openmc/plotter.py @@ -98,15 +98,15 @@ def plot_xs(this, types, divisor_types=None, temperature=294., axis=None, Enrichment for U235 in weight percent. For example, input 4.95 for 4.95 weight percent enriched U. Default is None. This is only used for items which are instances of openmc.Element - plot_CE : bool + plot_CE : bool, optional Denotes whether or not continuous-energy will be plotted. Defaults to plotting the continuous-energy data. - orders : Iterable of Integral + orders : Iterable of Integral, optional The scattering order or delayed group index to use for the corresponding entry in types. Defaults to the 0th order for scattering and the total delayed neutron data. This only applies to plots of multi-group data. - divisor_orders : Iterable of Integral + divisor_orders : Iterable of Integral, optional Same as orders, but for divisor_types **kwargs All keyword arguments are passed to @@ -619,7 +619,7 @@ def calculate_mgxs(this, types, orders=None, temperature=294., Object to source data from types : Iterable of values of PLOT_TYPES The type of cross sections to calculate - orders : Iterable of Integral + orders : Iterable of Integral, optional The scattering order or delayed group index to use for the corresponding entry in types. Defaults to the 0th order for scattering and the total delayed neutron data. @@ -705,7 +705,7 @@ def _calculate_mgxs_nuc_macro(this, types, library, orders=None, in openmc.PLOT_TYPES_MGXS library : openmc.MGXSLibrary MGXS Library containing the data of interest - orders : Iterable of Integral + orders : Iterable of Integral, optional The scattering order or delayed group index to use for the corresponding entry in types. Defaults to the 0th order for scattering and the total delayed neutron data. @@ -814,7 +814,7 @@ def _calculate_mgxs_elem_mat(this, types, library, orders=None, in openmc.PLOT_TYPES_MGXS library : openmc.MGXSLibrary MGXS Library containing the data of interest - orders : Iterable of Integral + orders : Iterable of Integral, optional The scattering order or delayed group index to use for the corresponding entry in types. Defaults to the 0th order for scattering and the total delayed neutron data. From 346deb258f969a2522bef0774ae1576043ac0de7 Mon Sep 17 00:00:00 2001 From: Adam Nelson Date: Thu, 1 Dec 2016 19:27:03 -0500 Subject: [PATCH 12/14] for some reason fissionable setter still there --- openmc/mgxs_library.py | 7 ------- 1 file changed, 7 deletions(-) diff --git a/openmc/mgxs_library.py b/openmc/mgxs_library.py index 3c2bffcef..10fda4593 100644 --- a/openmc/mgxs_library.py +++ b/openmc/mgxs_library.py @@ -360,13 +360,6 @@ class XSdata(object): check_greater_than('atomic_weight_ratio', atomic_weight_ratio, 0.0) self._atomic_weight_ratio = atomic_weight_ratio - @fissionable.setter - def fissionable(self, fissionable): - - # Check validity of type - check_type('fissionable', fissionable, bool) - self._fissionable = fissionable - @temperatures.setter def temperatures(self, temperatures): From a45652d78540bee2d8a40b2674275ceb64f50882 Mon Sep 17 00:00:00 2001 From: Adam Nelson Date: Fri, 2 Dec 2016 18:57:09 -0500 Subject: [PATCH 13/14] Used more pythonic commands in plotter module and commented the block which obtains MGXS data for plotting --- .../pythonapi/examples/mgxs-part-ii.ipynb | 2 +- .../pythonapi/examples/mgxs-part-iv.ipynb | 113 +++++++++--------- openmc/plotter.py | 68 +++++++---- 3 files changed, 105 insertions(+), 78 deletions(-) diff --git a/docs/source/pythonapi/examples/mgxs-part-ii.ipynb b/docs/source/pythonapi/examples/mgxs-part-ii.ipynb index 43bec06fa..cd563521c 100644 --- a/docs/source/pythonapi/examples/mgxs-part-ii.ipynb +++ b/docs/source/pythonapi/examples/mgxs-part-ii.ipynb @@ -1975,7 +1975,7 @@ "\n", "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.\n", "\n", - "There is a simpler way to plot the MGXS data (using the same interface as is used for the continuous-energy data), however this example series has not yet introduced the pre-requisite information and so we will do this manually here." + "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." ] }, { diff --git a/docs/source/pythonapi/examples/mgxs-part-iv.ipynb b/docs/source/pythonapi/examples/mgxs-part-iv.ipynb index 5f26c7cdb..b070748ba 100644 --- a/docs/source/pythonapi/examples/mgxs-part-iv.ipynb +++ b/docs/source/pythonapi/examples/mgxs-part-iv.ipynb @@ -425,7 +425,7 @@ "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "" ] @@ -727,8 +727,8 @@ " Copyright | 2011-2016 Massachusetts Institute of Technology\n", " License | http://openmc.readthedocs.io/en/latest/license.html\n", " Version | 0.8.0\n", - " Git SHA1 | f76ee0867ca2f46c4e84a3cda6511b0ab64eb6a5\n", - " Date/Time | 2016-11-20 20:12:40\n", + " Git SHA1 | 346deb258f969a2522bef0774ae1576043ac0de7\n", + " Date/Time | 2016-12-02 18:12:03\n", " OpenMP Threads | 8\n", "\n", " ===========================================================================\n", @@ -815,20 +815,20 @@ "\n", " =======================> TIMING STATISTICS <=======================\n", "\n", - " Total time for initialization = 3.3283E-01 seconds\n", - " Reading cross sections = 2.4897E-01 seconds\n", - " Total time in simulation = 8.0427E+00 seconds\n", - " Time in transport only = 7.7850E+00 seconds\n", - " Time in inactive batches = 9.2530E-01 seconds\n", - " Time in active batches = 7.1174E+00 seconds\n", - " Time synchronizing fission bank = 5.0076E-03 seconds\n", - " Sampling source sites = 3.4455E-03 seconds\n", - " SEND/RECV source sites = 1.5240E-03 seconds\n", - " Time accumulating tallies = 1.1716E-04 seconds\n", - " Total time for finalization = 3.6200E-06 seconds\n", - " Total time elapsed = 8.3927E+00 seconds\n", - " Calculation Rate (inactive) = 54036.4 neutrons/second\n", - " Calculation Rate (active) = 28100.0 neutrons/second\n", + " Total time for initialization = 4.7681E-01 seconds\n", + " Reading cross sections = 3.4878E-01 seconds\n", + " Total time in simulation = 7.8339E+00 seconds\n", + " Time in transport only = 7.6987E+00 seconds\n", + " Time in inactive batches = 9.5272E-01 seconds\n", + " Time in active batches = 6.8812E+00 seconds\n", + " Time synchronizing fission bank = 4.8350E-03 seconds\n", + " Sampling source sites = 3.3404E-03 seconds\n", + " SEND/RECV source sites = 1.4577E-03 seconds\n", + " Time accumulating tallies = 1.0196E-04 seconds\n", + " Total time for finalization = 2.6290E-06 seconds\n", + " Total time elapsed = 8.3293E+00 seconds\n", + " Calculation Rate (inactive) = 52481.1 neutrons/second\n", + " Calculation Rate (active) = 29064.6 neutrons/second\n", "\n", " ============================> RESULTS <============================\n", "\n", @@ -1086,7 +1086,7 @@ "data": { "image/png": "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\nrb+2zezZxYktqaIkHrd693/2bkHPgZvt0pwKUlVVRYcOHX4btzImLiJuSucmm7j9YcANMXz6qZuN\n8c03bobH0qXuza9TJzd1d8013eOZM+Ghh+Dkk+Gf/4S//Q2OOMIN9VSKb76pW08DYNttXcLlT539\nxz/yb6t5Hn9Znn664fm9egWfm22c/Vbvr9ruu7u1XNZc0/1bpbMej+jeecclpqm3CRPc8OSsWfWT\nuk6d3E7DG2zgNn70H2+wgUtMSp2UT5sG667rfsfWX9/17C1c6Iqnc/E3l0v9fZozx30P/pAkJDep\nLVlxqapG2t+lElRXV1txqSmZNm3csEu+NVm//73rkr74Yre8+wUXwPHHu03vevUKX+So6noANtnE\nLSFfqPQ37wUL3AqltbVwwAGux2e//eqeb9PGLcx2883hr+Vfx589dMstMHRo3f20afWHVvzzW7d2\nOxXvumv99n74wZ1z8MF1tSA+v6hvrbXc/XnnwdlnN4wpqW8OlWCHHYJ7osAl499+65KRadNcjc6U\nKe7+3XddrY2f9DVr5nodUhOTzTZzvYUbbVSc2WZTp9bNklp/fXf/zTcNp3YH8ROPmTPrjg0Y4D6U\nBE3tztfMma5X9YADoreRj6jFpWWe9GeMCWPrreGpp+Czz+CGG9wb7YgRLnHYfntXY7LpprCic/Z2\n5s51U/QeecT9YR47FlZaKXpcqrD55nUJEbg3C3Cb7+20k+vZ6du3/uv82Fdf3Q0jZTNmDFx/Pfzn\nP3VDLf4byeGHu4Rj2DB3y1ast8subshrt93qjvl/+O+/3y1wFqSLVzq/eLF7s1t33YY/gyB9+rjY\nTTStWtUlEkGWLq1LSFJvn3zikl6/2LNVK/c72qMHbLWV+13s06fwWWcffliXUPuJx9dfh0s8Uns8\nPvussHiOP95t+wAJToZVNfQN2AV4GvgSmIyr++gfpa0k3IDegI4ZM0aNqSRLl6q+9JLqxRerDhqk\n2rGjKqjSZYzyd3TljcZo9+6q226rusceqrvtptq3r2rr1qorr6z697+rtmqlet55ma8xZozqwIGq\nCxYEPz9rluq0ae66LVvWHX/jDXds771V77rLPf7mm+A2fv3VxeT+VNa/+Xr3dl8vW+biAdX+/eue\n79Sp7jWffBLcRqr06/ixB8UAqlde6e6rqtx5p5yS+VxQHTzY3Y8aVXds663rHl9/ffbXN6VbMc2a\n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\ndbM8CEyV9DbwFdZdzXSj4um0ZmZmnaltOq2kScDoiLhR0jjgVmB34CXg5Ii4s9IOM+AxHmZmZt3p\n+xiPiJhR+v5JYA9JWwMvRw6LgpiZmVm2ul7HoywiVvRiP2ZmZja8dVx4SLqqk+0iYnL3cZrlMR5m\nZmad6fsYj2Lq7GJgLu8tGraOiPhSpQQZ8BgPMzOz7vRzjMcPgFOAscBVwHXuYjEzM7MqOl7HIyKm\nADsC3wWOBpZIukHSpOLTYs3MzMw2qNICYhHxVkRMj4ijgD2BhcAVwGJJY/oR0MzMzIaPocxqaX2S\nrOhuBdTseHCpmZlZZ2pZQEzSKOB4YDJwKGnxsKuB2yNioNIrZ8SDS83MzLrTt8Glkq4gDS59hlRs\nnBIRL3Ub1MzMzEaeKl0t55KKjkXARGDiYGNKI+L43kQzMzOz4aZK4XEtaUyHmZmZWVc6Ljwi4st9\nzGFmZmYjQE8+q2W48KwWMzOzztQyq2W48qwWMzOz7lSd1TIs1t8wMzOzjYMLDzMzM6uNCw8zMzOr\njQsPMzMzq40LDzMzM6uNp9OWeDqtmZlZZzyddgg8ndbMzKw7nk5rZmZm2XLhYWZmZrVx4WFmZma1\nceFhZmZmtXHhYWZmZrVx4WFmZma1ceFhZmZmtXHhYWZmZrVx4WFmZma18ZLpJV4y3czMrDNeMn0I\nvGS6mZlZd7xkupmZmWXLhYeZmZnVxoWHmZmZ1caFh5mZmdXGhYeZmZnVxoWHmZmZ1caFh5mZmdXG\nhYeZmZnVxoWHmZmZ1WZYFh6SdpZ0l6SFkuZJOqHpTGZmZjZ8P6vlHeAvI2K+pO2B2ZL+KyJWNR3M\nzMxsJBuWLR4R8XxEzC++fwFYDmzdbKrqpk+f3nSEQTlXNc7VuRwzgXNV5VydyzET9DfXsCw8yiRN\nAD4QEUubzlLVSDwhh8K5qskxV46ZwLmqcq7O5ZgJRkDhIekwSbdIWippQNIxg2xznqRFklZJekDS\nAR3sd2tgGnBOP3KbmZlZNVkUHsBoYB5wHhDtD0o6GbgMuAjYD3gUmCFp29I2UyTNlTRH0ihJmwE3\nAd+JiAfr+CV6benSPBtpnKsa5+pcjpnAuapyrs7lmAn6myuLwaURcTtwO4AkDbLJ14B/jYhri23O\nBb4ITAYuKfZxBXBF6wmSpgN3RMSP+5u+f0biCTkUzlVNjrlyzATOVZVzdS7HTDACCo8NkbQpMAH4\n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\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -1096,7 +1096,7 @@ "data": { "image/png": "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\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -1106,7 +1106,7 @@ "data": { "image/png": "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\nuCVeMgAAAABJRU5ErkJggg==\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -1117,7 +1117,8 @@ "# First lets plot the fuel data\n", "# We will first add the continuous-energy data\n", "fig = openmc.plot_xs(fuel, ['total'])\n", - "# We will now add in the corresponding multi-group data\n", + "\n", + "# We will now add in the corresponding multi-group data and show the result\n", "openmc.plot_xs(fuel_mg, ['total'], plot_CE=False, mg_cross_sections='./mgxs.h5', axis=fig.axes[0])\n", "fig.axes[0].legend().set_visible(False)\n", "plt.show()\n", @@ -1130,7 +1131,7 @@ "plt.show()\n", "plt.close()\n", "\n", - "# Then finally repeat for the water data\n", + "# And finally repeat for the water data\n", "fig = openmc.plot_xs(water, ['total'])\n", "openmc.plot_xs(water_mg, ['total'], plot_CE=False, mg_cross_sections='./mgxs.h5', axis=fig.axes[0])\n", "fig.axes[0].legend().set_visible(False)\n", @@ -1186,8 +1187,8 @@ " Copyright | 2011-2016 Massachusetts Institute of Technology\n", " License | http://openmc.readthedocs.io/en/latest/license.html\n", " Version | 0.8.0\n", - " Git SHA1 | f76ee0867ca2f46c4e84a3cda6511b0ab64eb6a5\n", - " Date/Time | 2016-11-20 20:12:55\n", + " Git SHA1 | 346deb258f969a2522bef0774ae1576043ac0de7\n", + " Date/Time | 2016-12-02 18:12:18\n", " OpenMP Threads | 8\n", "\n", " ===========================================================================\n", @@ -1253,15 +1254,15 @@ " 39/1 0.98827 1.02090 +/- 0.00289\n", " 40/1 1.01740 1.02079 +/- 0.00279\n", " 41/1 1.02920 1.02106 +/- 0.00272\n", - " 42/1 1.02496 1.02118 +/- 0.00263\n", - " 43/1 1.04288 1.02184 +/- 0.00264\n", - " 44/1 1.03749 1.02230 +/- 0.00260\n", - " 45/1 1.04338 1.02290 +/- 0.00259\n", - " 46/1 1.03146 1.02314 +/- 0.00253\n", - " 47/1 1.04668 1.02377 +/- 0.00254\n", - " 48/1 1.02707 1.02386 +/- 0.00248\n", - " 49/1 1.02589 1.02391 +/- 0.00241\n", - " 50/1 1.02100 1.02384 +/- 0.00235\n", + " 42/1 1.02541 1.02119 +/- 0.00263\n", + " 43/1 1.01457 1.02099 +/- 0.00256\n", + " 44/1 1.00618 1.02056 +/- 0.00252\n", + " 45/1 1.03521 1.02098 +/- 0.00248\n", + " 46/1 1.01586 1.02083 +/- 0.00242\n", + " 47/1 1.03337 1.02117 +/- 0.00238\n", + " 48/1 1.01726 1.02107 +/- 0.00232\n", + " 49/1 1.03974 1.02155 +/- 0.00231\n", + " 50/1 1.04169 1.02205 +/- 0.00230\n", " Creating state point statepoint.50.h5...\n", "\n", " ===========================================================================\n", @@ -1271,27 +1272,27 @@ "\n", " =======================> TIMING STATISTICS <=======================\n", "\n", - " Total time for initialization = 5.1234E-02 seconds\n", - " Reading cross sections = 4.1626E-03 seconds\n", - " Total time in simulation = 8.7422E+00 seconds\n", - " Time in transport only = 8.1461E+00 seconds\n", - " Time in inactive batches = 6.9527E-01 seconds\n", - " Time in active batches = 8.0470E+00 seconds\n", - " Time synchronizing fission bank = 5.3647E-03 seconds\n", - " Sampling source sites = 3.6250E-03 seconds\n", - " SEND/RECV source sites = 1.6626E-03 seconds\n", - " Time accumulating tallies = 1.2803E-04 seconds\n", - " Total time for finalization = 3.1250E-06 seconds\n", - " Total time elapsed = 8.8120E+00 seconds\n", - " Calculation Rate (inactive) = 71914.1 neutrons/second\n", - " Calculation Rate (active) = 24854.1 neutrons/second\n", + " Total time for initialization = 4.3487E-02 seconds\n", + " Reading cross sections = 3.0800E-03 seconds\n", + " Total time in simulation = 8.6325E+00 seconds\n", + " Time in transport only = 8.0901E+00 seconds\n", + " Time in inactive batches = 6.8907E-01 seconds\n", + " Time in active batches = 7.9435E+00 seconds\n", + " Time synchronizing fission bank = 5.1527E-03 seconds\n", + " Sampling source sites = 3.5060E-03 seconds\n", + " SEND/RECV source sites = 1.5677E-03 seconds\n", + " Time accumulating tallies = 1.1610E-04 seconds\n", + " Total time for finalization = 3.1340E-06 seconds\n", + " Total time elapsed = 8.6927E+00 seconds\n", + " Calculation Rate (inactive) = 72561.5 neutrons/second\n", + " Calculation Rate (active) = 25177.9 neutrons/second\n", "\n", " ============================> RESULTS <============================\n", "\n", - " k-effective (Collision) = 1.02316 +/- 0.00205\n", - " k-effective (Track-length) = 1.02384 +/- 0.00235\n", - " k-effective (Absorption) = 1.02372 +/- 0.00194\n", - " Combined k-effective = 1.02369 +/- 0.00173\n", + " k-effective (Collision) = 1.02178 +/- 0.00213\n", + " k-effective (Track-length) = 1.02205 +/- 0.00230\n", + " k-effective (Absorption) = 1.02440 +/- 0.00198\n", + " Combined k-effective = 1.02354 +/- 0.00179\n", " Leakage Fraction = 0.00000 +/- 0.00000\n", "\n" ] @@ -1373,8 +1374,8 @@ "output_type": "stream", "text": [ "Continuous-Energy keff = 1.024739\n", - "Multi-Group keff = 1.023689\n", - "bias [pcm]: 105.1\n" + "Multi-Group keff = 1.023545\n", + "bias [pcm]: 119.4\n" ] } ], @@ -1471,7 +1472,7 @@ { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 41, @@ -1480,9 +1481,9 @@ }, { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAgMAAAEPCAYAAADf8cexAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAPYQAAD2EBqD+naQAAIABJREFUeJzt3XecFdX5x/HPAyIICtg1WBGMJWoEo4kF7L3FxASw/mLs\nsWCJiQ2jiYkaRU00UWPDAmLQWKJgjYpdFwuKBQSxURSlisJyfn+cuXJ39u7uPMvuvbvM9/163Rfs\n3OfOOXNnzrnPnGkWQkBERETyq02lKyAiIiKVpWRAREQk55QMiIiI5JySARERkZxTMiAiIpJzSgZE\nRERyTsmAiIhIzikZEBERyTklAyIiIjm31CQDZvY/M3uy0vWQlsXMRpvZI80w39vN7P2mnq+Ul5ld\nYGaLMsYeaWaLzGyd5q7X0sDMdkm+r22beL4bJPMd0JTzzbtGJQNm1t3MrjOzCWb2tZnNTDrdk82s\nQ1NXsqjcjc1sUB2NMQCZGvXSwswmJY2i1OuhStevOZlZ33qW/c6i0JC8mlpFtreijrDwqjazL8zs\nQTPbegnmu13StpZvyvouCTM7omg5S/6gmNlHyfv3N7KYWtuHmf3ezA7IElsfiw43s0fMbLqZfWtm\nU81slJkdbWbLNrLOFZfsfJVqe9VmtmFRaHPd774i99FPdgKKl3e+mb2TtJ1Gr08zO8fM9mvKunot\n4/2Ame0N3A3MB4YAY4Flge2BS4FNgOOasI7FNgEGAU8Ck1Pv7dZMZbZkARgD/BWw1Huflr86FXEl\n8Epq2qSi/+9E83QcR1L7Oy+n24BRQFvg+8CJwBNmtlUI4Z1GzG974HzgBmBOk9WyaXwNDACeK55o\nZn2BbsS+qCmdTezj7ktNHwIMDSF829AMkp2i/wC7A88ClwFTgZWAvsA1wNbA0U1X7bIKwEfA76ij\n7wkhPG5my2X5vlwFhzChOeabtXhgLnAMcbm7AgcSf5fWA/6vkfM9l9imH1jyKjaOKxkws/WAYcBE\nYOcQwrSit/9hZucB+zRZ7UpUgTo69hDCwmYstyX7JIQwtNKVgNgBhhCaumNuyOgQwj11vdlc20UI\nobo55uvwagjhuxEQM3ue2JEcB5zaiPlVMrFpyEPAwWZ2cgiheDRmADERXKUclQjxqW5Zf4CuJO6g\nnBxC+HvqvcFmtgEN7MCYWVugTQhhgbuy5TGzob6nuX6wK5QIFCxILfe1ZvYicJiZnR5CmFGpii2R\nEELmF/APoBrYJmN8W+A8YDwxe58I/BFYNhU3Cbgf2A54kbgnMAE4rCjmCOKwbHXyb+H/fZL3/wc8\nURTfN4k5GDiHmMV+DTwGbFCi/JtK1L/GPJNpqwI3AlOS+b0GHJ6KKZTdJzV93WT64UXTVgduTuo3\nn5hV/wdYJ8P3OxG4P0PcLcBs4HvJvGcD04h7K5aKNeKPydhk+aYA/wS61rHOdgdeTup+cvJeB+Bq\nYDowKynze8myn5/E7JT8fUCJ+g5I3qtzOyv6jg9qYNlHA4+kpp0CvEXM8GcALwEHF73fOan/pGS5\nphL3wjcrirkdeD813+WBwUXrchxwaok2sQi4Ajgo+Z7nA28Cu2ZYlxsknz85Nb1zMv2B1PQtgFuB\nD5L1+Rlx73/FopiLKN22vpdqf68A84AvgDuK309iNgTuYXHbmJzEdfL0M6kyq5PvaSGwR9F77ZJ6\nnEqqHeBrf4OA6qK/09/DIpK+gTgatIgG2iawFjFpeNCxrIW6nZZsn+OBBcDmzdTv3ELsB9ZPtu05\nwCfAeRnr+yTwRgMxuyTlbuvZRoA9ie32q6SO7wAXlmgDA1Ll7UochZkLfJmUs2Eq5o/JZ9cjjvR8\nlcTeALTPsNy3ATNKTL8i2W56p6afldTpC2LbeRk4sER/kN7mri+K6Zasryks7iuOKFGHevu1hl7e\nwwT7Ah+EEF7MGH8jcDgwnDiUvQ1xCG5j4GdFcQHoSRyauzFZ8F8BN5vZKyGEccDTxA76JOIKLQyF\njiuaRym/I37RlwFdiCvnduAnqfJLSR9L7EBMEDYA/kb8sTgYuMXMuoQQ/pZhnmn3EL+Pq4EPgdWI\newzrUPtQSCntzGzlEtPnhsV76YF4fsgo4AXgdGLDOY3Y6VxX9LnrievsJuAqYmdxEvBDM9suLN4j\nDsBGwJ3J568H3k3euxX4ObGxvUjspP5L0XcSQnjSzCYDh1B7OPYQYHzG7WyFEss/IyStg9rr8Hji\nD/bQ5N/lgM2J2+bdSdgNwH7EdfwOcc9ze+J6erNovqFovpYs43bJ598A9gKuMLM1Qwhnpeq4I3Hb\nuZbYEZ8KjDCzdUIIMzMsd9r6yb9fpqbvQdyWCj8kPwCOTZZl+yRmONAD+AXwG2IHCbFDwcwGEQ8h\n3Jks22rEjmdrM9syhDDHzNoDjxC3syuJCdRaxO+xM7GDaqxJxO22P3EbBtg7me+wpC5pjT00dCjx\nu3qRuE1D3DEpzDPLfPcidvJ3NKL8XwHtiW3qG2BGM/U7hT5hJPA8cCbxR/gPZtY2hHBBhnm0LdH2\n5ocQitd1cRtpcBsxs82I/cGrxKHzb4i/DfWehGhmewAPAu8Rd0A7EbeLZ5Nt9OOi+gRgBLHvOwvY\nivi9T0k+2xh1tb+Tk7JuJx5OH0Bs53uFEB4JIVSb2aHEHcLRxG2PpG6Y2RrEH/Vvib8RXxC3/ZvN\nrFMI4dokLku/Vj9H5roCMWO5J2P85kn8P1PTLyX+OPctmjYxmVacQa5CzBwvLZr2M4pGA0pkqqVG\nBsYCbYumn5TMY5NU+aVGBtLzPCX5bL9UZvcsMJMku03KrlVPUhk6MTlZBJyWdT2k5jeRmtlk8V7d\nb4vibk6mnZ36/KvAS0V/b598/pepuN2S6f1SZVeT2psFtkxi/5qaflMSf37RtD8Rs+UVUuv9WxrY\nQylav+mMupqiPTfgGYpGBohD6VUNzHsWcEUDMbcB76W2zUXAGam4EcQ9vHWKtpdFyXIX17PwvR3T\nQLmFvaLfAysTf5h3IO61VwP7peJr7e0Qk60aI3zETrHGaEAyvTtxr/z01PTNkuU6I/m7d1Kv/eqr\nv3P7LowM9AJOICYp7ZP37gIeK9oW0yMDDba/ZFqNkYFk2mxK9weF+jQ0MnB5ErdZanq7ZJ0VXiuV\nqNuXxdOT95q030mmFfqEwanYB4j97koNLOOTlO53biqK2YWifj3LNkLcUammqE+opw0MKJr2JnFk\no7gv+WEyrxuKphVGwa5NzfM+4NMM2+RtyToqrMPuwG+Tcl4pEd8+9fcyxL33h1PTv6ZoNKBo+i3E\nncIuqenDgc+BdkXrrd5+raGX52qCzsm/szPG703MwAanpl9OHIpOn1vwdgjhuxOEQgifE/c0uzvq\nWMpNoebx3WeS8hsz372AKSGEYYUJybyvJg4R93XO72viD9+OZta1EfWBuMe0C3FPv/DajZghpl2X\n+vsZan4PPyd2uI+b2cqFF/EkxTnEof1iE0MIj6Wm7Ulc7/9ITf8btY9LDyEeUvh50bR++Paq/kDt\nZZ9ST/xXwDpmtmU9MTOBHydZeVZ7EdflNanpVxCXZ8/U9JEhhO9GfkIIY4h7z1m3yz8SD8NMAZ4i\n7tmfEkKocQJSCOGbwv/NrH2yPl8kroteGcopjOCNSG0TnxEPPRS2icJowl7NdEXRcKAjsG9yxcO+\nNG7PuxwKfWX6RMy9ieus8JpU4rP/DrWPOTd1v1Msvb3+nbgHu2uGz06kZt+zG3Fnry5ZtpFCzE8z\nlA+Ama0FbArcGEL47vcphPAa8AS1f2sCpfvC1TNuu11YvA7HA38hjlwflA5Mtb+uxBMOR5Oh7SWj\njT8lJirLpNrfI8CKxIQHsvVr9fIcJpiV/LtCxvhCNjq+eGIIYaqZfZW8X6zUkPiXxAVeEh+VmCeN\nnO+6QKlry8cRO9f0MtUrhPCtmZ1FPIQy1cxeIA51DQkhTAUws87EIZ+Cb0MIxUNRn4cQnsxQ3PwQ\nwhepaenvtydxY51GbYG4F1psYom4wnpPvzc+HRhCeNfMXibuqd6cTB4AvBBC+KDUQpQwNoTwRMZY\ngD8Th+hftXifgEeAO0IILxTFnEkcyfjYzF4hnsA2JIQwqZ75rgt8HEL4OjV9XNH7xdLbJcQGnXW7\n/AfxENNyxA75N8Sko4ak47iAeAhg1aK3ArFTa0gP4rBuqfURSPqFEM/wvoo4LHqEmT1NPKfk9uIO\nurFCCJ+b2WPE7aNTUqd/L+l8l0Q9bbOwvOnLNEez+Ef2t5Qe+p5UYlqT9jtFFlF7vb7nmOfcjH0P\nkHkbuZPFh4gvI57jdQ9xRLquQyCFur5X4r1xwM5m1i7UPBEz/XtT/LvwWQOLMgc4gLgNrkUcVVuN\nuHNXg5ntTzw0vgXx8E9BlhMg1yD+3p5AvFoorbhPztKv1StzMhBCmG1mnxKHB7Mo7AXWtQLT6jo7\ne0nPcs4y37rq2JY4ROqtS33zqxkYwlXJNdIHEo/vXgj83sx2CiG8Tjxuf0TRR/4H7JyxHsWynP3e\nhngcbwCll3V66u9aG3896vpOhgBXmtn3iB3rj4kbf7MIIbxtZt8n7lnuSdzzPdHMzgsh/CmJGWZm\nTxGz8t2IycFZZnZAiZGQAu92uqTb+3tFSdB/404EfzWz/yXbTcEI4vDsJcTzGOYSh6sfItt9RtoQ\n20B6ZKOgeE9soJndSOwodyfuZZ5lZj8OIdQ3WpNV4ZyFNYnDrHUlGZnb3xKqq22+Q1yPP2DxOSYk\nyfgTAGZ2WB3zLNWmmrzfqUezXlXS0DYSQvjazLYnjjjtQ9zu+hN/3OraBhtT5yVpfwuLk6AkSR1H\nTNB/XjR9J+Be4jo/jjiKt4B4OWnxOXN1KbTPW4nnHJTyOmTr1xriPYHwQeBoM9smNHxy1yTiwvRk\n8YllmNlqxL3PD51lQ/PdaOJLYp3S1mXxyUMQl6lUMrRx8m9hmb5k8TWoxdYrVXgIYSLxcErhkqPX\nicfODid24rel6tpcJhD3Mp8rHt5y+pC43ten5ne3YelwhhKH0vsTh4G/JQ4JN5sQwrykjOFm1o44\nDHeemf2lcEgphPAZ8eS+a81sVeI6OZu4p1LKJGD75Prn4g49vW00l4uAo5J/94fvRgX6AL8PIVxS\nCDSzjUp8vq62NYH4Y/JBAyMjcSYhjCWep/OnpFN/mnhN9oWZl6Ru9xKHd7cBfllPnKv9lZC1n6mr\nbT5M/LE5hNKH67wm0Qz9DrGddqfmqF2hnTbb9trQNpKMADyRvE5PLlm/wMz6hBCeLjHLScm/3y/x\n3kbA1NCMl2eGED5JRjzONrNeIYSq5K2DiMn3nsWHqs3s2FKzKTFtSvL5NllGP7P0a/Xx3oHwUuKJ\nT/9KftRrsHh3tJOTPx9i8WVqxU4nLvh/nWVD/GJKbexLagLxGPF3yVFyN6i1U3EPAWuY2S+L4toS\nT0qcTTx2C7EhVRM74mInUPPs2uWSM2yLTUzm1R4ghPBOCOGJoteYRi5jFsOJCeL56TfMrK2ZZRlW\nHkVcR+m9+5MoscEnx0cfBg4jdp4jSxwzbTJmtlKq/AXEPbk2xCsz2prZCqmY6cShw/S6KvYQ8Vhr\nerkHEreFh5ew6vVKhqdvAPYxs02TyYUOIN3OB1J7XRTOAE+3rRFJ7KBS5Ra+TzPrbGbpcsYmn63v\ne8ssxLPUjyMe9qjv5iyZ2l895pKhj6mrbYYQPiIeZtrLzEoN74Kv723SfiflNyX+/hZ43FG/TLJs\nI+n2mSiMdJXcjkK8UmAscGRx2zWzLYgjNQ8uYdWzuIp45cPviqYVTm7+bmTGzLoTr55Iq7XNJT/g\n9wK/MLON0x8ws1WK/l9vv5ZlAVwjAyGEDyzeD3oYMM7Miu9AuC3xcpebk9g3zOxW4BgzW5G4wW5D\n3Nu9J4TwVKkyGvAa8Qs+KzkZ4xvg8eRkwyXxL+LwzigzG048W/VQah/nvp54WdYtZrYViy/x+Qnx\n5K25ACGEWWZ2N3ByMnw7gbgBpG+OsiHxZL3hwNvE4diDiMeBsu5RdDOzQ0pMnxNCSF+yV68QwtNm\ndh3wOzP7IXFobkFSz58Tj/XVeYOfZB5VZjYCODXZWF8gnuDUsxBS4mNDiMd/A/Fyoub0hMVLGp8n\nHhLZlNhZ3hdCmJ/sTU9M1t+bxEa6O/FEnZPrmCfERvs0cImZ9WDxpYX7AJclPxDN7UriD8RZxDPH\nvzKz54iHnZYj3sNiT+Klhunh0FeTaX9Oln0B8J8QwvsWLy28MBm1up94zLQ78TDK34gnsu1GHNm6\nm3h8ux1xCH0BDWwzDahRzxDCbXUFFsVkbX91eRXY1cwGEr+ziSGEl1y1jjtB6wFXm1k/YvIyLanD\ndkl9xtX56Zqaut8p+AbYM+mnXyCe4LgX8KcS5xc1VvH6q28bGZHE/MHMfkxMnj8kHjc/Ifl/jTtQ\nppxB/NF/3sxuIp6vcRLx8timGJWqV3JOy63Ar82sRwhhfFKfk4m/K0OJh7dOII6Ub5qaxavA7mZ2\nKnHHY0II4RXiuSV9gJfM7AbiNrMS8XLIHYjfDzTQr2VdCPeL+GP5T+LG9jXxxKengeNJLnVI4toQ\nO/fCTYcmEYcx26Xm90FS6VKXrzyemvYr4ob0LTVvOlQjlsWX2RyU+vy6yfT0DTtOJZ5UMo+YuGxZ\nR/mrEJOHqSy++cdhJeq+MnFPezbxEpBriMN635WdrNSriZeazCJuuM+l61zPepiYzK/U64OiuJuJ\ndwtLf34Q8fhXevpRxGtb5yTr9jXgYmD1htZZ8l7xTYdmEn/oexCz5DNLxLdLvqMvSd2Qqp5lL7l+\nS8Q9A4wq+vvYZP1OS9b1e8RLHAuXZy1LHP4dkyz7TGJDPSo139uAd1PTOhEPeXxM3N7fIXbWxTFt\nk3pfXqKuk4HrMrS9auCkOt4fQuzkC5cydiN2tDNYfLOgNZN5/D712fOIJzYuoPZNhw4itvFZyest\nYvLRPXm/O7FdvE9MoKYBj1LiMmBHP3NEUo9eDcTV2hbJ0P7qagPE5PfJZPv/7nI5Ml5aWDQfI+78\nPJq0hW+I/cYjwK+Lt3UW90sD65hXk/U7RX3CLGLCMjKJ/xTfTYdebyAmfWlhg9sIcU/+XhbfJG5y\nsk2vX6INpG86tAuxvc8h9iUjgJ6pmIuSz3ZOTT8qvc3XsUy3AV/U8V4PYtu5PjXfd4l9zVjiTuZF\nxJNNiz+7EfGck8I2VzyPVYnnVkwi9iufEEdgjyiKqbdfy/KyZEYizSoZaagCDgmpW5gmQ56fEjv0\nYypRP5E8MbObgZ+FEDo3GCy5sNQ8wlhajhLnQUAceakm7l2m/ZS45zOkOeslIiKluZ9aKJLBb82s\nN3HYayHxWOQexCHwTwpBFh+5uwXxUFJVCGF0BeoqIpJ7SgakOTxPPFnoXOKJPJOJx2YvTsUdT7yC\nYAyNf/SniDSOjhHLd3TOgIiISM61+JGB5FKvPVh8JqWINE4H4tnjo0LTXTrW5NTmRZpUpnbf4pMB\nYqfQUh9IItIaHUK8tW9LpTYv0vTqbfcVSQaSu3KdQbxhwuvEa6ZfriN8UvznduKlmMUGUvuhiBDv\nieTR3xkPnOQ7vHL1Ef4r5k4++/rSb4wZCFvWXu4TLr7CXca1o09zxe+1w72u+DHB/xCtKaPXK/3G\nDQPh6NrLvev2/huMPfafUjcBq0dDjy4pxXsE7qk6PvDZQFiz9nL/cHhDdwRPVWfcp7x+6J+g9MNw\nmp2j3U8CoOft0DF147WJA2H9Um2eeBW3h/fxPo3ZBo71bQSrHlr3valmDryYLoPPrjV9+t/TN0qt\n3xonTXLFAxzFjb4POLf9g96u+wadAwfD4IEliljkK+N/m/3Y9wFgofMnsj3+u7i/weYlpz828FF2\nHbxbrel9S16QVbcvx/Vm4KHDoIF2X/ZkILml5uXEe1G/RPxFH2VmG4bSdxJMhgk3ovZTH7uWmAbx\nMd8eWZ7kmtLNt7X36JX1YY9FVqqjXu26lnyvW69ad4hu2BTfsq/Uq6rhoCLLhvSNtjKYUuoW40Cn\nrtCjdn1X7OX9FQDGNGKde3mTgeXq+EDbrrBc7fou38t31+awuLmXfejd2e5j/TpuDMunlrttl9rT\nvivEWanlGg6pWbYzHmAt30awbK+6L/tv03UFlu1Voj2t0cNVRvteHV3xAOuysu8DznPRetXzw95l\neehV4mka3mTgo3q+27osyHYn3+90cD27LZrGmiWnt+/SnjV61X7v+/jW3+eLHzZbb7uvxH0GBhIv\nMRsSQniHeK/xecQ7C4rI0kntXqQFK2sykDxJqTdFD8EI8XKGx4j32RaRpYzavUjLV+6RgVWIg21T\nU9OnsviBCyKydFG7F2nhWsrVBEaDR1gHUvupous0U3VauHX7VboGldE3p8vdxb/c04c+yfShT9aY\nFmbOa6oaNZX62/3EgfEcgWLtvWf9LT2W67dvpatQEf13r3QNKmOT/v7zrR4Z+iWPDv2qxrRvZ87K\n9NlyJwOfE+9Pv3pq+mrU3mtIGUyjTvRbGq3biKsflgZ9c7rcXf3LvWr/nVi1/041poWqiTzb+9im\nqpVH49r9+oPrPlkwhzr2z2kysEela1AZm/b/gfszu/dfkd37r1hj2udVfdmv99UNfrashwlCCAuI\nj4PdpTDN4oO3d6H+Z1WLSCuldi/S8lXiMMEVwK1m9iqLLzHqCNxSgbqISHmo3Yu0YGVPBkIIw81s\nFeBC4rDha8AeIYTp5a6LiJSH2r1Iy1aREwhDCNcC11aibBGpDLV7kZarpVxN0LBjDNbMeIuxf57k\nm/fURjy58QXf7c72OesJdxHn3HmOK74Tc91lVG/gu63aFLo0HFTkGOq4pXI9Jo+v4w6EddjDRrnL\nWPuoum/7WsoVI851l8Hrvu2q2xvjXfGj393VFd95su/ukRV3PLChI/5M5/w39q2fPm82YjsLvu3s\njoN+7S4D3w0IWTb4b5n760Nvd8Vfc4fvXlJX9T7aFQ9wylY3uOIP+Osj7jLe2rm7K/4/HOgu49Rw\npSt+1ZfmuOKrPs92VUIl7kAoIiIiLYiSARERkZxTMiAiIpJzSgZERERyTsmAiIhIzikZEBERyTkl\nAyIiIjmnZEBERCTnlAyIiIjknJIBERGRnFMyICIiknNKBkRERHKu1TyoaI1jJrJsr46ZYif/0Peg\nm1UPmOyuz3B+4Yr/MqzoLuNAHnbF/9H9pBZYbuUZrvj5wfegop782RUPUL2v7+FJFqrdZYTPfGVM\n+tl67jLu6XqIK/6Tyeu64rtt6HuwUfs5HzPL9YkKuzvAio6HCb36rG/+Z2znCn/hix/75g88+cje\nrvjb7vE/qGhTfA+gGjvxR+4yuH2RK/zE+337mVfsd7wrHiC86quTbeDf9910+w9c8bOHPO4u4xHb\n3RW/1davuOJnVK2QKU4jAyIiIjmnZEBERCTnlAyIiIjknJIBERGRnFMyICIiknNKBkRERHJOyYCI\niEjOKRkQERHJOSUDIiIiOadkQEREJOeUDIiIiORcq3k2wZStPgWyPZsAuvvmveP67vrYE7774bcZ\n6i6CVQf4npnQ1vz39z59lctd8bMWXuKKv/yZha54gOV7TXPFz7nG95wBgN1P+I8r/lH2c5cRJvnq\ndf4uv3PFX2/HuuLbWjtXfMXtbtDdsse/73vWgA3xVWf+L33P5QB49lDHsxWAdv23cJdxAAe64ldb\n50N3Gac4n3vSfr8TXfHTbHVXPMBTwfesiGnj93WXcbDd74pfm1XcZawQZrviN/zS97swZ362+Wtk\nQEREJOeUDIiIiOSckgEREZGcUzIgIiKSc0oGREREck7JgIiISM4pGRAREck5JQMiIiI5p2RAREQk\n55QMiIiI5JySARERkZxTMiAiIpJzreZBRQz4CazWK1Poc5dniytoc73vYSIA4SrfQ2iqN3cXwbO2\npSt+fOjpLuNX1/qeoPTtCcu64jfb6U1XPMCL+B5AcsmJJ7vLOMjuccWfGN53l7H1UQe74ocywBU/\n/al1XPGdJ3zuiq+4GQE6Odrmv33tuNsG413xT4XDXPEAfc/wxYeTx7rL2PUvj7niN+z4rruMc3/r\ne6BZ1aUbu+J73T3OFQ8wf29ffHVb/76vt59f7Tj/b8lFXc5zxW+wom+77dxhXeDOBuM0MiAiIpJz\nSgZERERyTsmAiIhIzikZEBERyTklAyIiIjmnZEBERCTnlAyIiIjknJIBERGRnFMyICIiknNKBkRE\nRHJOyYCIiEjOtZ5nEzzXBjpky12261blmnX16eauztNs44rfes4r7jK2D77PTLB+7jIuO/43rvjT\n+buvgFf9+ebveg9yxf8FXzxAmOGr18gVd3SXsRdPuOKv5llfAd184cx0xlfaWkCP7OFduk11zX4y\nvmd53GsrueIB2MzXt9ih1e4iZj7nu3/+btve5y6DSxe5wp+3X7viV/+Zb90BdDPnszb2bMS+byff\n+mv3W9/3BHA0P3DF/9TudcXvbZMzxZV1ZMDMBpnZotTr7XLWQUTKS+1epOWrxMjAWGAXoJByLaxA\nHUSkvNTuRVqwSiQDC0MI0ytQrohUjtq9SAtWiRMIe5rZJ2Y2wcxuN7O1K1AHESkvtXuRFqzcycAL\nwJHAHsBxwPrA02bWqcz1EJHyUbsXaeHKepgghDCq6M+xZvYS8CHwC+Dmej88dSC07VJzWuf+8SUi\nNT0wFB4cVmPSvNlfVaQqjW731w2ETl1rTtuxH+ykNi9SyryhDzJv6IM1po2c+XWmz1b00sIQwkwz\ne48sFxCtPhg69Gr+SoksDfbrH19FOr5dxawDtqpQhRbL3O6PHQw91eZFsurYf1869t+3xrQ9qyZz\nfe/dGvxsRW86ZGbLAxsAn1WyHiJSPmr3Ii1Pue8zcJmZ9TGzdc1sW+Be4iVGQ8tZDxEpH7V7kZav\n3IcJ1gLuBFYGpgOjgR+HEL4ocz1EpHzU7kVauHKfQKgzf0RyRu1epOXTg4pERERyrvU8qGjSm8CC\nTKGhq+8hQm3v8j9conu/G13xo5ff3l1G+2m+B5B0Xb3hM0bTXmqztSt+ZNjJFf927+Nd8QB/m+V7\neNIvOvsY2pH4AAATnklEQVQe9AEwbsWDXPEb2zh3Gf0W3eqKH/PnI3wF/NsX3upS/5uA5bOHh76+\nh8q0vSu44h/65TxXPIBd5CsjfOpr8wBttvGV8diN+7vLCGv7vtt3dv+LK36dD6a54gEWPuj7rqrv\nchdBu3t93+2ic/3r70erOR9O1bXhkGJzbHamuNbWPYiIiEgTUzIgIiKSc0oGREREck7JgIiISM4p\nGRAREck5JQMiIiI5p2RAREQk55QMiIiI5JySARERkZxTMiAiIpJzSgZERERyrtU8m+BnL7/Oqr2y\nPfH05lk9XfM2fPefBriYs13xn1g3dxl7rfYvV/zVnOQuYy4dXfHXcYwr/r6n/Q+s273Pfa74b62d\nu4zq4LuHeK8X/c8mGNbl/1zxR599gyt+tyMed8Xz1rewp+8jFbWdQbfs98SfdfnqrtnvdPZ/XfFP\n08cVD7DtW8+54lf4/UJ3GVv1fcoV//e+/n5im+fecMVPt9Vc8U9t4HtGCoAN8fXbg0850V3GmbOu\nccWP/6O/n9+fYa749nzriu9Zla0NaWRAREQk55QMiIiI5JySARERkZxTMiAiIpJzSgZERERyTsmA\niIhIzikZEBERyTklAyIiIjmnZEBERCTnlAyIiIjknJIBERGRnFMyICIiknOt5kFFz7TZgWXbbJop\n9vjO/3TN+wr7vb9C/3vQFR4Ozf7AlYKqj37i+8CuVe4ytrvV9/AO+161Kz7M9eebC2b6vqtlu/jq\nBHAJQ13x/Tf8t7uMdl199dr5Ot/Dk7ikvS9+2WV98ZX2VIDlsz+M5qrRvodoncT1rvhh+B4kBbD8\nRs5tc/widxmDbFdX/JSwhrsMtn3NFT50M1+7v/gtf/+4fbXvuzrzTH9fNPoKX722P3myu4w9OdIV\nf9xnQ1zxVXMG8IcMcRoZEBERyTklAyIiIjmnZEBERCTnlAyIiIjknJIBERGRnFMyICIiknNKBkRE\nRHJOyYCIiEjOKRkQERHJOSUDIiIiOadkQEREJOdazbMJNg1vsWKYmyn2ymd8zxp4r88Id30O7bu/\nK37SR+u7y7iW913x3R59wl3G8fzDFX9AdQdX/CF73e2KBzidy13xO53rvKc/cM+R2e95D3BXD9/6\nBjhoJV+9hn/xU18Bx/uewUHnKb74SntzIbAgc/ipy2zpmv0qC33fd/+77nfFAzDQF35JOMVdxNmT\nH3LFP72O85knAJf7tuU2f/PN/pz3fe0RINzuq9PZlw1yl/Hnk7Lc1X+xq9v6+6KTX/It+7wf+J6X\nsGC5bHEaGRAREck5JQMiIiI5p2RAREQk55QMiIiI5JySARERkZxTMiAiIpJzSgZERERyTsmAiIhI\nzikZEBERyTklAyIiIjmnZEBERCTnWs2zCZ58fi/4vFem2BN3v8w17042z12fzcJYV/yRM251l/H1\njJVc8ef0PNddxhdhZVd8x7nfuuIP6HKfKx7gldDbFb/TwhfcZTzeYztXfL8z/fel/8NMX/xR9pTv\nA2P+7Yt/twr6Xej7TAVt8/KzdO6V/XkKj3Y73jX/l+0rV3z/Dv5t+d8n7uOKP+t65039gTWOmeqK\nf4Y+7jK2+9EYV/x9fXZzxR/Q81FXPIAd4run/5/n+54zAHDHsb74k511Arih96Gu+HP5oyt+/7Yf\nAHc2GNekIwNmtoOZ3W9mn5jZIjOr9XQXM7vQzD41s3lm9qiZ9WjKOohIeandi7R+TX2YoBPwGnAi\nUCtFMrOzgN8AxwJbA3OBUWa2bBPXQ0TKR+1epJVr0sMEIYSRwEgAMyv1nMVTgItCCA8kMYcDU4ED\ngeFNWRcRKQ+1e5HWr2wnEJrZ+sAawOOFaSGEWcCLQCMesC0iLZ3avUjrUM6rCdYgDiGmz3aZmrwn\nIksftXuRVqAlXFpolDjOKCJLNbV7kRaknJcWTiF2AKtTcy9hNaDh61auGwidutactmM/2Kl/09VQ\nZGnx8FAYOazGpHlzfZfSNZFGt/t3T7uRZbp0qjFtjX47sGZ//6VxInkwf+h9fDPsgRrTHv1qbqbP\nli0ZCCFMNLMpwC7AGwBm1hnYBrimwRkcOxh6ZrvPgEju7dU/vop0fLeKWf22Kms1lqTdf/+Ko+jc\na4Pmr6TIUqJD/wPo0P+AGtN2q/qAG7faucHPNmkyYGadgB7EPQGA7ma2BTAjhPARcCVwrpmNByYB\nFwEfA/67eYhIi6B2L9L6NfXIwFbAk8RjgQG4PJl+K/CrEMKlZtYRuA7oCjwD7BVC8N3WTkRaErV7\nkVauqe8z8BQNnJQYQrgAuKApyxWRylG7F2n9WsLVBCIiIlJBreZBRctsPAfbYlam2AOdhyJ3CaP9\nFVrL99CLKz7zPXQIwKqrXfEX7+vP7cLPSt0wrm525CJX/NGv+es0cou+vg/8xVcngK2r2/s+0Nb3\nPQEMcq6/d2x9V/zVWxztip9aPZc/uT5RWePCxiwTNssc3/2Tt1zzv4Lfu+IX7HSOKx5gOqv4PnCM\nf1s+4gFfG3tqv23cZdDHV6+xbX112v9Yf/viSV/7sq39fdGAS5z1OsNXJ4CjnetvzP5buuLXs+Uz\nxWlkQEREJOeUDIiIiOSckgEREZGcUzIgIiKSc0oGREREck7JgIiISM4pGRAREck5JQMiIiI5p2RA\nREQk55QMiIiI5JySARERkZxrNc8mOKbr9XRbebVMsf+041zzHrxohLs+/3Xe3vuEnwd3GeFfbV3x\nnz+Q7R7UxQZwhyv+kRN8dbru2sNd8QBr85ErPjzhqxPAtzt3dMVbnwXuMhZd5avXkac84Yp/qc2P\nXPGdO78GDHN9ppJmTVsJPs7W5gF+vc6/fAV8srkrvN1/fbMHOH7fW13xb689xF3GxtN98Vt987K7\njD909G3Lg3b1zd/ea0T/eLGvTuEDdxG0meCr16Jb/H3RxUee5opfnamu+E4Z9/k1MiAiIpJzSgZE\nRERyTsmAiIhIzikZEBERyTklAyIiIjmnZEBERCTnlAyIiIjknJIBERGRnFMyICIiknNKBkRERHJO\nyYCIiEjOKRkQERHJuVbzoKJxbMwU1ssUe++tA1zzXvgT/9cQRizyfeACf9717wv2ccUfOetmdxkj\nuvzcFT/x2tVd8bfwf654gJc/3doVP2bnLdxlbHbhBFd8ON+5voEuc31PkJnz+KrOEsY74z93xlfY\nzcvAqu0yh1/660Gu2S/YMvu8AS4/5mxXPIDd72v3m5zhf2APY53hfX7gLmLQxDdc8bO/75t/5219\n8QDc7vuu5n1j7iI6/qPaFW/D/P38ajbNFT+bFVzx7Vg5U5xGBkRERHJOyYCIiEjOKRkQERHJOSUD\nIiIiOadkQEREJOeUDIiIiOSckgEREZGcUzIgIiKSc0oGREREck7JgIiISM4pGRAREcm5VvNsgjfY\njHZku6d26Oq7B/VJPS911+dv77d1xQ8edLy7jNO4xhX/86n+3G7cir7vqnu1717dXe0+VzzAtDVX\nccWvzFx3GVPP7+qKX3Gmb30DbNFllCv+2e/v4CyhhzN+ljO+wt406OjYPh/3zX7wnb5nDVz5gv+5\nAeef8FtX/KD9/+IuA+f98O/lp+4itlnnNVf8O19v7oq/Oxzsige41M5zxXe8sBH7vhc72/3e/iKO\nfX2I7wNzfOEDvqjKFKeRARERkZxTMiAiIpJzSgZERERyTsmAiIhIzikZEBERyTklAyIiIjmnZEBE\nRCTnlAyIiIjknJIBERGRnFMyICIiknNKBkRERHJOyYCIiEjOtZoHFX0xdC0Y3T1b8A99877H/A/u\nmN1zBVf8aVzuLiP08z0k44thndxlbNLH95Cf19nIFd/fuzKAYdbfFX/CRP9DhK7ufo4rfs0un7nL\neHbIrq74Ew+7zBV/DQNc8fC5M76y1rtzHB16ZY//aO7arvnPHb+qKz586AoH4KLpvofpjFv1VncZ\nw/+7yPeBQ/wPXJqz0Nd/XbzoXVf8pdcMcsUD8NEFvvje/iLu6benK/7gDx5wl3FQ9ztc8dvynCt+\n+ar1uDNDXJOODJjZDmZ2v5l9YmaLzGz/1Ps3J9OLXw81ZR1EpLzU7kVav6Y+TNAJeA04Eagr/XwY\nWB1YI3n5dgNFpKVRuxdp5Zr0MEEIYSQwEsDM6noQ+TchhOlNWa6IVI7avUjrV4kTCHc0s6lm9o6Z\nXWtmK1WgDiJSXmr3Ii1YuU8gfBgYAUwENgD+DDxkZj8JIfjPahGR1kDtXqSFK2syEEIYXvTnW2b2\nJjAB2BF4st4P3zsQlutac1qvftBbhx5FavsPcF+NKfPmza5ITRrb7qcOvJy2XWtetdO53x507u87\nw1skL8YMfZ8xw96vMW2Zrzpm+mxFLy0MIUw0s8+BHjSUDPx0MKztuM5IJNcOTF6Ldez4FrNmVf6H\nNGu7X33w6XTotXH5KibSym3Zvydb9u9ZY9ryVetx3FZnNfjZit50yMzWAlYG/Bdxi0irpHYv0vI0\n6ciAmXUiZvuFM4q7m9kWwIzkNYh47HBKEncJ8B4wqinrISLlo3Yv0vo19WGCrYjDfiF5FW5bdStw\nArA5cDjQFfiU2BmcH0JY0MT1EJHyUbsXaeWa+j4DT1H/oYfKH7AUkSaldi/S+rWaZxPwjEHnuu5n\nkrLQd7XSSX3+7q7OOWf57tW99SUvucvY5J/vNxxUZPVBs9xl9HzydVd8b6tyxXcPE1zxAH/a5U+u\n+Lse/6W7jNFjd/N94C13EWx6+Cuu+GteP9NZwh+c8TOc8ZU16byNYOUts3/gB84Cujivarzc+31D\n90t9zz0ZPuAIdxkM+8QXf0o3dxHXPn+6K/62LQ5zxc/6Yg1XPAAzfesv+LtHNrG3XfE9ur/pLuPu\nqw93xbc9cL4rfsCs1zLF6amFIiIiOadkQEREJOeUDIiIiOSckgEREZGcUzIgIiKSc607GZgytNI1\nqIi7RlS6BhUyNZ/rm4dzutylTMzxd/FhPpd96NhK16Ayhr5a3md4KRlohfKbDAyrdA0qY2ROl7uU\nSTn+Lj7M57LnNRkY5ruKe4m17mRARERElpiSARERkZxTMiAiIpJzreF2xB0AmDuu9jsLZ8KsEgdW\nPvadePFJ1TR/rab6Duh8VPW5u4gxs0tPnzkLxpS4i3D4zH+QaX7Ve674GfahK365MMUVD8DsOpZj\n4Vcl35tT5bttMwATVvbFT/QX8XXVO74PvFdHbj7nKxhX6jvxPQG4unpm4b8dXB8sv1i/mSW+vwVf\nwRd1bB/Ou/Iys+GQGoL/icvzq0r0W/WZsbDu9xZ8BTNKLbuz/5o21RcP8K4vvDr4bn1dVc9XO/Ob\nOt53dqlhsi8eYFLVN674+cG5voGqj0r/Xs38uo73xo5xzX/Gx9+tvHrbvYVQ3jMWvcxsAHBHpesh\nshQ5JIRwZ6UrURe1eZFmUW+7bw3JwMrAHsAkwPeEBhEp1gFYDxgVQviiwnWpk9q8SJPK1O5bfDIg\nIiIizUsnEIqIiOSckgEREZGcUzIgIiKSc0oGREREck7JgIiISM61ymTAzE40s4lm9rWZvWBmP6p0\nnZqbmQ0ys0Wp19uVrldTM7MdzOx+M/skWcb9S8RcaGafmtk8M3vUzHpUoq5NqaHlNrObS6z/hypV\n30rIW7tXm68Rs9S1eWhZ7b7VJQNm9kvgcmAQsCXwOjDKzFapaMXKYyywOrBG8tq+stVpFp2A14AT\ngVrXvZrZWcBvgGOBrYG5xPW/bDkr2QzqXe7Ew9Rc//3LU7XKy3G7V5tfets8tKB23xpuR5w2ELgu\nhDAEwMyOA/YBfgVcWsmKlcHCEML0SleiOYUQRgIjAczMSoScAlwUQnggiTkcmAocCAwvVz2bWobl\nBvhmaV//9chru1ebX0rbPLSsdt+qRgbMrB3QG3i8MC3EuyY9BvykUvUqo57JcNIEM7vdzNaudIXK\nyczWJ2bGxet/FvAi+Vj/O5rZVDN7x8yuNbOVKl2hcsh5u1ebz3ebhzK1+1aVDACrAG2JWWGxqcQN\nZmn2AnAk8TatxwHrA0+bWadKVqrM1iAOpeVx/T8MHA7sDPwW6As8VM/exNIkr+1ebT7fbR7K2O5b\n42GCUoy6j7csFUIIo4r+HGtmLwEfAr8Abq5MrVqMPKz/4uHQt8zsTWACsCPwZEUqVXlL9XpXm6/X\nUr3uC8rZ7lvbyMDnQDXxZIpiq1E7c1yqhRBmAu8BS8VZtRlNIXYCWv8hTCS2hzysf7V71OZT03O1\n7guas923qmQghLAAeBXYpTAtGS7ZBXiuUvWqBDNbHtgA70PtW7GkIUyh5vrvDGxD/tb/WsDK5GD9\nq91HavNRXts8NG+7b42HCa4AbjWzV4GXiGcZdwRuqWSlmpuZXQY8QBwm7Ab8AVgIDK1kvZpacjy0\nB3FvAKC7mW0BzAghfARcCZxrZuOJj7i9CPgYuK8C1W0y9S138hoEjCB2jD2AS4h7iaNqz22plLt2\nrza/dLd5aGHtPoTQ6l7ACcSN4mvgeWCrStepDMs8lNgAvgYmA3cC61e6Xs2wnH2BRcRh4eLXTUUx\nFwCfAvOSRtGj0vVuzuUmPo98ZNIhzAc+AP4BrFrpepf5O8pVu1ebX7rbfEPLXu52b0mFREREJKda\n1TkDIiIi0vSUDIiIiOSckgEREZGcUzIgIiKSc0oGREREck7JgIiISM4pGRAREck5JQMiIiI5p2RA\nREQk55QMiIiI5JySARERkZz7f51qWb6Hdgj4AAAAAElFTkSuQmCC\n", + "image/png": "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\n7AAAAABJRU5ErkJggg==\n", "text/plain": [ - "" + "" ] }, "metadata": {}, diff --git a/openmc/plotter.py b/openmc/plotter.py index b3febb525..f32f0cebc 100644 --- a/openmc/plotter.py +++ b/openmc/plotter.py @@ -67,7 +67,7 @@ def plot_xs(this, types, divisor_types=None, temperature=294., axis=None, sab_name=None, ce_cross_sections=None, mg_cross_sections=None, enrichment=None, plot_CE=True, orders=None, divisor_orders=None, **kwargs): - """Creates a figure of continuous-energy cross sections for this item + """Creates a figure of continuous-energy cross sections for this item. Parameters ---------- @@ -233,7 +233,7 @@ def plot_xs(this, types, divisor_types=None, temperature=294., axis=None, def calculate_cexs(this, types, temperature=294., sab_name=None, cross_sections=None, enrichment=None): - """Calculates continuous-energy cross sections of a requested type + """Calculates continuous-energy cross sections of a requested type. Parameters ---------- @@ -295,7 +295,7 @@ def calculate_cexs(this, types, temperature=294., sab_name=None, def _calculate_cexs_nuclide(this, types, temperature=294., sab_name=None, cross_sections=None): - """Calculates continuous-energy cross sections of a requested type + """Calculates continuous-energy cross sections of a requested type. Parameters ---------- @@ -489,7 +489,7 @@ def _calculate_cexs_nuclide(this, types, temperature=294., sab_name=None, def _calculate_cexs_elem_mat(this, types, temperature=294., cross_sections=None, sab_name=None, enrichment=None): - """Calculates continuous-energy cross sections of a requested type + """Calculates continuous-energy cross sections of a requested type. Parameters ---------- @@ -607,11 +607,11 @@ def _calculate_cexs_elem_mat(this, types, temperature=294., def calculate_mgxs(this, types, orders=None, temperature=294., cross_sections=None, ce_cross_sections=None, enrichment=None): - """Calculates continuous-energy cross sections of a requested type + """Calculates continuous-energy cross sections of a requested type. If the data for the nuclide or macroscopic object in the library is represented as angle-dependent data then this method will return the - average cross section over all angles. + geometric average cross section over all angles. Parameters ---------- @@ -669,20 +669,16 @@ def calculate_mgxs(this, types, orders=None, temperature=294., # Convert the data to the format needed data = np.zeros((len(types), 2 * library.energy_groups.num_groups)) energy_grid = np.zeros(2 * library.energy_groups.num_groups) - i = 0 for g in range(library.energy_groups.num_groups): - energy_grid[i: i + 2] = library.energy_groups.group_edges[g: g + 2] - i += 2 + energy_grid[g * 2: g * 2 + 2] = \ + library.energy_groups.group_edges[g: g + 2] # Ensure the energy will show on a log-axis by replacing 0s with a # sufficiently small number - if energy_grid[0] <= 0.: - energy_grid[0] = _MIN_E + energy_grid[0] = max(energy_grid[0], _MIN_E) for line in range(len(types)): - i = 0 for g in range(library.energy_groups.num_groups): - data[line, i: i + 2] = mgxs[line, g] - i += 2 + data[g * 2: g * 2 + 2] = mgxs[line, g] return np.flipud(energy_grid), data @@ -690,11 +686,11 @@ def calculate_mgxs(this, types, orders=None, temperature=294., def _calculate_mgxs_nuc_macro(this, types, library, orders=None, temperature=294.): """Determines the multi-group cross sections of a nuclide or macroscopic - object + object. If the data for the nuclide or macroscopic object in the library is represented as angle-dependent data then this method will return the - average cross section over all angles. + geometric average cross section over all angles. Parameters ---------- @@ -748,19 +744,34 @@ def _calculate_mgxs_nuc_macro(this, types, library, orders=None, elif line == 'unity': data[i, :] = 1. else: + # Now we have to get the cross section data and properly + # treat it depending on the requested type. + # First get the data in a generic fashion temp_data = getattr(xsdata, _PLOT_MGXS_ATTR[line])[t] shape = temp_data.shape[:] - # If we have angular data, then we will plot the average - # over all provided angles. Since the angles are equi-distant, - # un-weighted averaging will suffice + # If we have angular data, then want the geometric + # average over all provided angles. Since the angles are + # equi-distant, un-weighted averaging will suffice if xsdata.representation == 'angle': temp_data = np.mean(temp_data, axis=(0, 1)) + + # Now we can look at the shape of the data to identify how + # it should be modified to produce an array of values + # with groups. if shape in (xsdata.xs_shapes["[G']"], xsdata.xs_shapes["[G]"]): + # Then the data is already an array vs groups so copy + # and move along data[i, :] = temp_data elif shape == xsdata.xs_shapes["[G][G']"]: + # Sum the data over outgoing groups to create our array vs + # groups data[i, :] = np.sum(temp_data, axis=1) elif shape == xsdata.xs_shapes["[DG]"]: + # Then we have a constant vs groups with a value for each + # delayed group. The user-provided value of orders tells us + # which delayed group we want. If none are provided, then + # we sum all the delayed groups together. if orders[i]: if orders[i] < len(shape[0]): data[i, :] = temp_data[orders[i]] @@ -768,24 +779,39 @@ def _calculate_mgxs_nuc_macro(this, types, library, orders=None, data[i, :] = np.sum(temp_data[:]) elif shape in (xsdata.xs_shapes["[G'][DG]"], xsdata.xs_shapes["[G][DG]"]): + # Then we have an array vs groups with values for each + # delayed group. The user-provided value of orders tells us + # which delayed group we want. If none are provided, then + # we sum all the delayed groups together. if orders[i]: if orders[i] < len(shape[1]): data[i, :] = temp_data[:, orders[i]] else: data[i, :] = np.sum(temp_data[:, :], axis=1) elif shape == xsdata.xs_shapes["[G][G'][DG]"]: + # Then we have a delayed group matrix. We will first + # remove the outgoing group dependency temp_data = np.sum(temp_data, axis=1) + # And then proceed in exactly the same manner as the + # "[G'][DG]" of "[G][DG]" shapes in the previous block. if orders[i]: if orders[i] < len(shape[1]): data[i, :] = temp_data[:, orders[i]] else: data[i, :] = np.sum(temp_data[:, :], axis=1) elif shape == xsdata.xs_shapes["[G][G'][Order]"]: + # This is a scattering matrix with angular data + # First remove the outgoing group dependence temp_data = np.sum(temp_data, axis=1) + # The user either provided a specific order or we resort + # to the default 0th order if orders[i]: order = orders[i] else: order = 0 + # If the order is available, store the data for that order + # if it is not available, then the expansion coefficient + # is zero and thus we already have the correct value. if order < shape[1]: data[i, :] = temp_data[:, order] else: @@ -799,11 +825,11 @@ def _calculate_mgxs_elem_mat(this, types, library, orders=None, temperature=294., ce_cross_sections=None, enrichment=None): """Determines the multi-group cross sections of an element or material - object + object. If the data for the nuclide or macroscopic object in the library is represented as angle-dependent data then this method will return the - average cross section over all angles. + geometric average cross section over all angles. Parameters ---------- From 698d543973495837a5560931b497f3b29807d2d0 Mon Sep 17 00:00:00 2001 From: Adam Nelson Date: Sun, 11 Dec 2016 13:10:07 -0500 Subject: [PATCH 14/14] Resolving comments for clarity by @paulromano --- openmc/plotter.py | 30 ++++++++++++++---------------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/openmc/plotter.py b/openmc/plotter.py index f32f0cebc..83f5722cc 100644 --- a/openmc/plotter.py +++ b/openmc/plotter.py @@ -20,7 +20,7 @@ PLOT_TYPES_MGXS = ['total', 'absorption', 'scatter', 'fission', # Create a dictionary which can be used to convert PLOT_TYPES_MGXS to the # openmc.XSdata attribute name needed to access the data _PLOT_MGXS_ATTR = {line: line.replace(' ', '_').replace('-', '_') - for line in PLOT_TYPES_MGXS} + for line in PLOT_TYPES_MGXS} _PLOT_MGXS_ATTR['scatter'] = 'scatter_matrix' # Special MT values @@ -59,8 +59,8 @@ PLOT_TYPES_LINEAR = {'nu-fission / fission', 'nu-scatter / scatter', 'nu-fission / absorption', 'fission / absorption'} # Minimum and maximum energies for plotting (units of eV) -_MIN_E = 1.E-5 -_MAX_E = 20.E6 +_MIN_E = 1.e-5 +_MAX_E = 20.e6 def plot_xs(this, types, divisor_types=None, temperature=294., axis=None, @@ -71,7 +71,7 @@ def plot_xs(this, types, divisor_types=None, temperature=294., axis=None, Parameters ---------- - this : {openmc.Element, openmc.Nuclide, openmc.Material} + this : openmc.Element, openmc.Nuclide, or openmc.Material Object to source data from types : Iterable of values of PLOT_TYPES The type of cross sections to include in the plot. @@ -142,8 +142,7 @@ def plot_xs(this, types, divisor_types=None, temperature=294., axis=None, E, data = calculate_cexs(this, types, temperature, sab_name, ce_cross_sections, enrichment) if divisor_types: - cv.check_length('divisor types', divisor_types, len(types), - len(types)) + cv.check_length('divisor types', divisor_types, len(types)) Ediv, data_div = calculate_cexs(this, divisor_types, temperature, sab_name, ce_cross_sections, enrichment) @@ -168,8 +167,7 @@ def plot_xs(this, types, divisor_types=None, temperature=294., axis=None, enrichment) if divisor_types: - cv.check_length('divisor types', divisor_types, len(types), - len(types)) + cv.check_length('divisor types', divisor_types, len(types)) Ediv, data_div = calculate_mgxs(this, divisor_types, divisor_orders, temperature, mg_cross_sections, @@ -177,9 +175,9 @@ def plot_xs(this, types, divisor_types=None, temperature=294., axis=None, # Perform the division for line in range(len(types)): - data[line, :] = np.divide(data[line, :], data_div[line, :]) + data[line, :] /= data_div[line, :] if divisor_types[line] != 'unity': - types[line] = types[line] + ' / ' + divisor_types[line] + types[line] += ' / ' + divisor_types[line] # Generate the plot if axis is None: @@ -615,9 +613,9 @@ def calculate_mgxs(this, types, orders=None, temperature=294., Parameters ---------- - this : openmc.Element, openmc.Nuclide, or openmc.Material + this : openmc.Element, openmc.Nuclide, openmc.Material, or openmc.Macroscopic Object to source data from - types : Iterable of values of PLOT_TYPES + types : Iterable of values of PLOT_TYPES_MGXS The type of cross sections to calculate orders : Iterable of Integral, optional The scattering order or delayed group index to use for the @@ -680,7 +678,7 @@ def calculate_mgxs(this, types, orders=None, temperature=294., for g in range(library.energy_groups.num_groups): data[g * 2: g * 2 + 2] = mgxs[line, g] - return np.flipud(energy_grid), data + return energy_grid[::-1], data def _calculate_mgxs_nuc_macro(this, types, library, orders=None, @@ -694,7 +692,7 @@ def _calculate_mgxs_nuc_macro(this, types, library, orders=None, Parameters ---------- - this : {openmc.Nuclide, openmc.Macroscopic} + this : openmc.Nuclide or openmc.Macroscopic Object to source data from types : Iterable of str The type of cross sections to calculate; values can either be those @@ -734,7 +732,7 @@ def _calculate_mgxs_nuc_macro(this, types, library, orders=None, if xsdata is not None: # Obtain the nearest temperature - t = (np.abs(xsdata.temperatures - temperature)).argmin() + t = np.abs(xsdata.temperatures - temperature).argmin() # Get the data data = np.zeros((len(types), library.energy_groups.num_groups)) @@ -833,7 +831,7 @@ def _calculate_mgxs_elem_mat(this, types, library, orders=None, Parameters ---------- - this : {openmc.Element, openmc.Material} + this : openmc.Element or openmc.Material Object to source data from types : Iterable of str The type of cross sections to calculate; values can either be those