Added new opencg_geometry property to openmc.mgxs.Library

This commit is contained in:
Will Boyd 2015-10-29 19:55:40 -04:00
parent e44ac1341d
commit 8adde7d396
2 changed files with 19 additions and 2 deletions

View file

@ -43,6 +43,10 @@ class Library(object):
----------
openmc_geometry : openmc.Geometry
An geometry which has been initialized with a root universe
opencg_geometry : opencg.Geometry
An OpenCG geometry object equivalent to the OpenMC geometry
encapsulated by the summary file. Use of this attribute requires
installation of the OpenCG Python module.
by_nuclide : bool
If true, computes cross sections for each nuclide in each domain
mgxs_types : Iterable of str
@ -71,6 +75,7 @@ class Library(object):
self._name = ''
self._openmc_geometry = None
self._opencg_geometry = None
self._by_nuclide = None
self._mgxs_types = []
self._domain_type = None
@ -95,6 +100,7 @@ class Library(object):
clone = type(self).__new__(type(self))
clone._name = self.name
clone._openmc_geometry = self.openmc_geometry
clone._opencg_geometry = self.opencg_geometry
clone._by_nuclide = self.by_nuclide
clone._mgxs_types = self.mgxs_types
clone._domain_type = self.domain_type
@ -123,6 +129,17 @@ class Library(object):
def openmc_geometry(self):
return self._openmc_geometry
@property
def openmc_geometry(self):
return self._openmc_geometry
@property
def opencg_geometry(self):
if self._opencg_geometry is None:
from openmc.opencg_compatible import get_opencg_geometry
self._opencg_geometry = get_opencg_geometry(self._openmc_geometry)
return self._opencg_geometry
@property
def name(self):
return self._name

View file

@ -47,7 +47,7 @@ class Summary(object):
def opencg_geometry(self):
if self._opencg_geometry is None:
from openmc.opencg_compatible import get_opencg_geometry
self._opencg_geometry = get_opencg_geometry(self._openmc_geometry)
self._opencg_geometry = get_opencg_geometry(self.openmc_geometry)
return self._opencg_geometry
def _read_metadata(self):
@ -488,7 +488,7 @@ class Summary(object):
# Set the root universe for the Geometry
root_universe = self.get_universe_by_id(0)
self._openmc_geometry.root_universe = root_universe
self.openmc_geometry.root_universe = root_universe
def _read_tallies(self):
# Initialize dictionaries for the Tallies