Hotfix for Python summary API resulting from changes made in f8bfa401cb

This commit is contained in:
Will Boyd 2015-09-14 17:47:52 -04:00
parent f8bfa401cb
commit 61ed62b8cf
2 changed files with 42 additions and 41 deletions

View file

@ -31,18 +31,18 @@ class Summary(object):
def _read_metadata(self):
# Read OpenMC version
self.version = [self._f['version_major'][0],
self._f['version_minor'][0],
self._f['version_release'][0]]
self.version = [self._f['version_major'].value,
self._f['version_minor'].value,
self._f['version_release'].value]
# Read date and time
self.date_and_time = self._f['date_and_time'][...]
self.n_batches = self._f['n_batches'][0]
self.n_particles = self._f['n_particles'][0]
self.n_active = self._f['n_active'][0]
self.n_inactive = self._f['n_inactive'][0]
self.gen_per_batch = self._f['gen_per_batch'][0]
self.n_procs = self._f['n_procs'][0]
self.n_batches = self._f['n_batches'].value
self.n_particles = self._f['n_particles'].value
self.n_active = self._f['n_active'].value
self.n_inactive = self._f['n_inactive'].value
self.gen_per_batch = self._f['gen_per_batch'].value
self.n_procs = self._f['n_procs'].value
def _read_geometry(self):
# Read in and initialize the Materials and Geometry
@ -55,7 +55,7 @@ class Summary(object):
self._finalize_geometry()
def _read_nuclides(self):
self.n_nuclides = self._f['nuclides/n_nuclides'][0]
self.n_nuclides = self._f['nuclides/n_nuclides']
# Initialize dictionary for each Nuclide
# Keys - Nuclide ZAIDs
@ -66,9 +66,9 @@ class Summary(object):
if key == 'n_nuclides':
continue
index = self._f['nuclides'][key]['index'][0]
index = self._f['nuclides'][key]['index'].value
alias = self._f['nuclides'][key]['alias'][0]
zaid = self._f['nuclides'][key]['zaid'][0]
zaid = self._f['nuclides'][key]['zaid'].value
# Read the Nuclide's name (e.g., 'H-1' or 'U-235')
name = alias.split('.')[0]
@ -84,7 +84,7 @@ class Summary(object):
self.nuclides[zaid].zaid = zaid
def _read_materials(self):
self.n_materials = self._f['materials/n_materials'][0]
self.n_materials = self._f['n_materials'].value
# Initialize dictionary for each Material
# Keys - Material keys
@ -96,19 +96,20 @@ class Summary(object):
continue
material_id = int(key.lstrip('material '))
index = self._f['materials'][key]['index'][0]
index = self._f['materials'][key]['index'].value
name = self._f['materials'][key]['name'][0]
density = self._f['materials'][key]['atom_density'][0]
density = self._f['materials'][key]['atom_density'].value
nuc_densities = self._f['materials'][key]['nuclide_densities'][...]
nuclides = self._f['materials'][key]['nuclides'][...]
n_sab = self._f['materials'][key]['n_sab'][0]
n_sab = self._f['materials'][key]['n_sab'].value
sab_names = []
sab_xs = []
# Read the names of the S(a,b) tables for this Material
for i in range(1, n_sab+1):
sab_table = self._f['materials'][key]['sab_tables'][str(i)][0]
sab_table = \
self._f['materials'][key]['sab_tables'][str(i)].value
# Read the cross-section identifiers for each S(a,b) table
sab_names.append(sab_table.split('.')[0])
@ -140,7 +141,7 @@ class Summary(object):
self.materials[index] = material
def _read_surfaces(self):
self.n_surfaces = self._f['geometry/n_surfaces'][0]
self.n_surfaces = self._f['geometry/n_surfaces'].value
# Initialize dictionary for each Surface
# Keys - Surface keys
@ -152,9 +153,9 @@ class Summary(object):
continue
surface_id = int(key.lstrip('surface '))
index = self._f['geometry/surfaces'][key]['index'][0]
index = self._f['geometry/surfaces'][key]['index'].value
name = self._f['geometry/surfaces'][key]['name'][0]
surf_type = self._f['geometry/surfaces'][key]['type'][...][0]
surf_type = self._f['geometry/surfaces'][key]['type'][...]
bc = self._f['geometry/surfaces'][key]['boundary_condition'][...][0]
coeffs = self._f['geometry/surfaces'][key]['coefficients'][...]
@ -220,7 +221,7 @@ class Summary(object):
self.surfaces[index] = surface
def _read_cells(self):
self.n_cells = self._f['geometry/n_cells'][0]
self.n_cells = self._f['geometry/n_cells'].value
# Initialize dictionary for each Cell
# Keys - Cell keys
@ -240,16 +241,16 @@ class Summary(object):
continue
cell_id = int(key.lstrip('cell '))
index = self._f['geometry/cells'][key]['index'][0]
index = self._f['geometry/cells'][key]['index'].value
name = self._f['geometry/cells'][key]['name'][0]
fill_type = self._f['geometry/cells'][key]['fill_type'][...][0]
if fill_type == 'normal':
fill = self._f['geometry/cells'][key]['material'][0]
fill = self._f['geometry/cells'][key]['material'].value
elif fill_type == 'universe':
fill = self._f['geometry/cells'][key]['fill'][0]
fill = self._f['geometry/cells'][key]['fill'].value
else:
fill = self._f['geometry/cells'][key]['lattice'][0]
fill = self._f['geometry/cells'][key]['lattice'].value
if 'surfaces' in self._f['geometry/cells'][key].keys():
surfaces = self._f['geometry/cells'][key]['surfaces'][...]
@ -264,7 +265,7 @@ class Summary(object):
if maps > 0:
offset = self._f['geometry/cells'][key]['offset'][...]
cell.set_offset(offset)
cell.offsets = offset
translated = self._f['geometry/cells'][key]['translated'][0]
if translated:
@ -295,7 +296,7 @@ class Summary(object):
self.cells[index] = cell
def _read_universes(self):
self.n_universes = self._f['geometry/n_universes'][0]
self.n_universes = self._f['geometry/n_universes'].value
# Initialize dictionary for each Universe
# Keys - Universe keys
@ -307,7 +308,7 @@ class Summary(object):
continue
universe_id = int(key.lstrip('universe '))
index = self._f['geometry/universes'][key]['index'][0]
index = self._f['geometry/universes'][key]['index'].value
cells = self._f['geometry/universes'][key]['cells'][...]
# Create this Universe
@ -322,7 +323,7 @@ class Summary(object):
self.universes[index] = universe
def _read_lattices(self):
self.n_lattices = self._f['geometry/n_lattices'][0]
self.n_lattices = self._f['geometry/n_lattices'].value
# Initialize lattices for each Lattice
# Keys - Lattice keys
@ -334,11 +335,11 @@ class Summary(object):
continue
lattice_id = int(key.lstrip('lattice '))
index = self._f['geometry/lattices'][key]['index'][0]
name = self._f['geometry/lattices'][key]['name'][0]
index = self._f['geometry/lattices'][key]['index'].value
name = self._f['geometry/lattices'][key]['name'][...][0]
lattice_type = self._f['geometry/lattices'][key]['type'][...][0]
maps = self._f['geometry/lattices'][key]['maps'][0]
offset_size = self._f['geometry/lattices'][key]['offset_size'][0]
maps = self._f['geometry/lattices'][key]['maps'].value
offset_size = self._f['geometry/lattices'][key]['offset_size'].value
if offset_size > 0:
offsets = self._f['geometry/lattices'][key]['offsets'][...]
@ -348,7 +349,7 @@ class Summary(object):
lower_left = \
self._f['geometry/lattices'][key]['lower_left'][...]
pitch = self._f['geometry/lattices'][key]['pitch'][...]
outer = self._f['geometry/lattices'][key]['outer'][0]
outer = self._f['geometry/lattices'][key]['outer'].value
universe_ids = \
self._f['geometry/lattices'][key]['universes'][...]
@ -521,7 +522,7 @@ class Summary(object):
self.n_tallies = 0
return
self.n_tallies = self._f['tallies/n_tallies'][0]
self.n_tallies = self._f['tallies/n_tallies'].value
# OpenMC Tally keys
all_keys = self._f['tallies/'].keys()
@ -536,9 +537,9 @@ class Summary(object):
subbase = '{0}{1}'.format(base, tally_id)
# Read Tally name metadata
name_size = self._f['{0}/name_size'.format(subbase)][0]
name_size = self._f['{0}/name_size'.format(subbase)][...]
if (name_size > 0):
tally_name = self._f['{0}/name'.format(subbase)][0]
tally_name = self._f['{0}/name'.format(subbase)][...][0]
tally_name = tally_name.lstrip('[\'')
tally_name = tally_name.rstrip('\']')
else:
@ -555,7 +556,7 @@ class Summary(object):
tally.num_score_bins = num_score_bins
# Read filter metadata
num_filters = self._f['{0}/n_filters'.format(subbase)][0]
num_filters = self._f['{0}/n_filters'.format(subbase)].value
# Initialize all Filters
for j in range(1, num_filters+1):
@ -563,11 +564,11 @@ class Summary(object):
subsubbase = '{0}/filter {1}'.format(subbase, j)
# Read filter type (e.g., "cell", "energy", etc.)
filter_type_code = self._f['{0}/type'.format(subsubbase)][0]
filter_type_code = self._f['{0}/type'.format(subsubbase)].value
filter_type = openmc.FILTER_TYPES[filter_type_code]
# Read the filter bins
num_bins = self._f['{0}/n_bins'.format(subsubbase)][0]
num_bins = self._f['{0}/n_bins'.format(subsubbase)].value
bins = self._f['{0}/bins'.format(subsubbase)][...]
# Create Filter object

View file

@ -191,7 +191,7 @@ contains
! WRITE INFORMATION ON SURFACES
! Create surfaces group
surfaces_group = create_group(file_id, "surfaces")
surfaces_group = create_group(geom_group, "surfaces")
! Write information on each surface
SURFACE_LOOP: do i = 1, n_surfaces