mirror of
https://github.com/openmc-dev/openmc.git
synced 2026-07-27 13:45:36 -04:00
commit
a8d90844a3
3 changed files with 22 additions and 24 deletions
|
|
@ -97,16 +97,17 @@ class Summary(object):
|
|||
self._macroscopics = name.decode()
|
||||
|
||||
def _read_geometry(self):
|
||||
if "dagmc" in self._f['geometry'].attrs.keys():
|
||||
return
|
||||
|
||||
# Read in and initialize the Materials and Geometry
|
||||
# Read in and initialize the Materials
|
||||
self._read_materials()
|
||||
self._read_surfaces()
|
||||
cell_fills = self._read_cells()
|
||||
self._read_universes()
|
||||
self._read_lattices()
|
||||
self._finalize_geometry(cell_fills)
|
||||
|
||||
# Read native geometry only
|
||||
if "dagmc" not in self._f['geometry'].attrs.keys():
|
||||
self._read_surfaces()
|
||||
cell_fills = self._read_cells()
|
||||
self._read_universes()
|
||||
self._read_lattices()
|
||||
self._finalize_geometry(cell_fills)
|
||||
|
||||
def _read_materials(self):
|
||||
for group in self._f['materials'].values():
|
||||
|
|
|
|||
|
|
@ -212,13 +212,12 @@ class VolumeCalculation(object):
|
|||
ids.append(domain_id)
|
||||
group = f[obj_name]
|
||||
volume = ufloat(*group['volume'][()])
|
||||
volumes[domain_id] = volume
|
||||
nucnames = group['nuclides'][()]
|
||||
atoms_ = group['atoms'][()]
|
||||
|
||||
atom_dict = OrderedDict()
|
||||
for name_i, atoms_i in zip(nucnames, atoms_):
|
||||
atom_dict[name_i.decode()] = ufloat(*atoms_i)
|
||||
volumes[domain_id] = volume
|
||||
atoms[domain_id] = atom_dict
|
||||
|
||||
# Instantiate some throw-away domains that are used by the constructor
|
||||
|
|
|
|||
|
|
@ -311,22 +311,20 @@ void VolumeCalculation::to_hdf5(const std::string& filename,
|
|||
// Create array of nuclide names from the vector
|
||||
auto n_nuc = result.nuclides.size();
|
||||
|
||||
if (!result.nuclides.empty()) {
|
||||
std::vector<std::string> nucnames;
|
||||
for (int i_nuc : result.nuclides) {
|
||||
nucnames.push_back(data::nuclides[i_nuc]->name_);
|
||||
}
|
||||
|
||||
// Create array of total # of atoms with uncertainty for each nuclide
|
||||
xt::xtensor<double, 2> atom_data({n_nuc, 2});
|
||||
xt::view(atom_data, xt::all(), 0) = xt::adapt(result.atoms);
|
||||
xt::view(atom_data, xt::all(), 1) = xt::adapt(result.uncertainty);
|
||||
|
||||
// Write results
|
||||
write_dataset(group_id, "nuclides", nucnames);
|
||||
write_dataset(group_id, "atoms", atom_data);
|
||||
std::vector<std::string> nucnames;
|
||||
for (int i_nuc : result.nuclides) {
|
||||
nucnames.push_back(data::nuclides[i_nuc]->name_);
|
||||
}
|
||||
|
||||
// Create array of total # of atoms with uncertainty for each nuclide
|
||||
xt::xtensor<double, 2> atom_data({n_nuc, 2});
|
||||
xt::view(atom_data, xt::all(), 0) = xt::adapt(result.atoms);
|
||||
xt::view(atom_data, xt::all(), 1) = xt::adapt(result.uncertainty);
|
||||
|
||||
// Write results
|
||||
write_dataset(group_id, "nuclides", nucnames);
|
||||
write_dataset(group_id, "atoms", atom_data);
|
||||
|
||||
close_group(group_id);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue