Respond to @wbinventor comments on #704

This commit is contained in:
Paul Romano 2016-08-15 06:47:19 -05:00
parent 328c6a0e88
commit 8e0f3f4f79
3 changed files with 22 additions and 18 deletions

View file

@ -13,10 +13,10 @@ from openmc.settings import *
from openmc.surface import *
from openmc.universe import *
from openmc.mesh import *
from openmc.mgxs_library import *
from openmc.filter import *
from openmc.trigger import *
from openmc.tallies import *
from openmc.mgxs_library import *
from openmc.cmfd import *
from openmc.executor import *
from openmc.statepoint import *

View file

@ -13,6 +13,7 @@ import numpy as np
import openmc
import openmc.checkvalue as cv
from openmc.tallies import ESTIMATOR_TYPES
from openmc.mgxs import EnergyGroups
if sys.version_info[0] >= 3:
@ -39,7 +40,6 @@ MGXS_TYPES = ['total',
'inverse-velocity',
'prompt-nu-fission']
# Supported domain types
DOMAIN_TYPES = ['cell',
'distribcell',
@ -47,10 +47,6 @@ DOMAIN_TYPES = ['cell',
'material',
'mesh']
ESTIMATOR_TYPES = ['tracklength',
'collision',
'analog']
# Supported domain classes
_DOMAINS = (openmc.Cell,
openmc.Universe,
@ -148,7 +144,6 @@ class MGXS(object):
def __init__(self, domain=None, domain_type=None,
energy_groups=None, by_nuclide=False, name=''):
self._name = ''
self._rxn_type = None
self._by_nuclide = None
@ -165,6 +160,7 @@ class MGXS(object):
self._loaded_sp = False
self._derived = False
self._hdf5_key = None
self._valid_estimators = ESTIMATOR_TYPES
self.name = name
self.by_nuclide = by_nuclide
@ -375,7 +371,7 @@ class MGXS(object):
@estimator.setter
def estimator(self, estimator):
cv.check_value('estimator', estimator, ESTIMATOR_TYPES)
cv.check_value('estimator', estimator, self._valid_estimators)
self._estimator = estimator
@domain.setter
@ -2196,7 +2192,7 @@ class TransportXS(MGXS):
tally_keys : list of str
The keys into the tallies dictionary for each tally used to compute
the multi-group cross section
estimator : {'tracklength', 'collision', 'analog'}
estimator : 'analog'
The tally estimator used to compute the multi-group cross section
tallies : collections.OrderedDict
OpenMC tallies needed to compute the multi-group cross section. The keys
@ -2240,6 +2236,7 @@ class TransportXS(MGXS):
groups, by_nuclide, name)
self._rxn_type = 'transport'
self._estimator = 'analog'
self._valid_estimators = ['analog']
@property
def scores(self):
@ -2323,7 +2320,7 @@ class NuTransportXS(TransportXS):
tally_keys : list of str
The keys into the tallies dictionary for each tally used to compute
the multi-group cross section
estimator : {'tracklength', 'collision', 'analog'}
estimator : 'analog'
The tally estimator used to compute the multi-group cross section
tallies : collections.OrderedDict
OpenMC tallies needed to compute the multi-group cross section. The keys
@ -3181,6 +3178,7 @@ class NuScatterXS(MGXS):
groups, by_nuclide, name)
self._rxn_type = 'nu-scatter'
self._estimator = 'analog'
self._valid_estimators = ['analog']
class ScatterMatrixXS(MatrixMGXS):
@ -3268,7 +3266,7 @@ class ScatterMatrixXS(MatrixMGXS):
tally_keys : list of str
The keys into the tallies dictionary for each tally used to compute
the multi-group cross section
estimator : {'tracklength', 'collision', 'analog'}
estimator : 'analog'
The tally estimator used to compute the multi-group cross section
tallies : collections.OrderedDict
OpenMC tallies needed to compute the multi-group cross section. The keys
@ -3315,6 +3313,7 @@ class ScatterMatrixXS(MatrixMGXS):
self._legendre_order = 0
self._hdf5_key = 'scatter matrix'
self._estimator = 'analog'
self._valid_estimators = ['analog']
def __deepcopy__(self, memo):
clone = super(ScatterMatrixXS, self).__deepcopy__(memo)
@ -3930,7 +3929,7 @@ class NuScatterMatrixXS(ScatterMatrixXS):
tally_keys : list of str
The keys into the tallies dictionary for each tally used to compute
the multi-group cross section
estimator : {'tracklength', 'collision', 'analog'}
estimator : 'analog'
The tally estimator used to compute the multi-group cross section
tallies : collections.OrderedDict
OpenMC tallies needed to compute the multi-group cross section. The keys
@ -4052,7 +4051,7 @@ class MultiplicityMatrixXS(MatrixMGXS):
tally_keys : list of str
The keys into the tallies dictionary for each tally used to compute
the multi-group cross section
estimator : {'tracklength', 'collision', 'analog'}
estimator : 'analog'
The tally estimator used to compute the multi-group cross section
tallies : collections.OrderedDict
OpenMC tallies needed to compute the multi-group cross section. The keys
@ -4096,6 +4095,7 @@ class MultiplicityMatrixXS(MatrixMGXS):
by_nuclide, name)
self._rxn_type = 'multiplicity matrix'
self._estimator = 'analog'
self._valid_estimators = ['analog']
@property
def scores(self):
@ -4200,7 +4200,7 @@ class NuFissionMatrixXS(MatrixMGXS):
tally_keys : list of str
The keys into the tallies dictionary for each tally used to compute
the multi-group cross section
estimator : {'tracklength', 'collision', 'analog'}
estimator : 'analog'
The tally estimator used to compute the multi-group cross section
tallies : collections.OrderedDict
OpenMC tallies needed to compute the multi-group cross section. The keys
@ -4245,6 +4245,7 @@ class NuFissionMatrixXS(MatrixMGXS):
self._rxn_type = 'nu-fission'
self._hdf5_key = 'nu-fission matrix'
self._estimator = 'analog'
self._valid_estimators = ['analog']
class Chi(MGXS):
@ -4316,7 +4317,7 @@ class Chi(MGXS):
tally_keys : list of str
The keys into the tallies dictionary for each tally used to compute
the multi-group cross section
estimator : {'tracklength', 'collision', 'analog'}
estimator : 'analog'
The tally estimator used to compute the multi-group cross section
tallies : collections.OrderedDict
OpenMC tallies needed to compute the multi-group cross section. The keys
@ -4359,6 +4360,7 @@ class Chi(MGXS):
super(Chi, self).__init__(domain, domain_type, groups, by_nuclide, name)
self._rxn_type = 'chi'
self._estimator = 'analog'
self._valid_estimators = ['analog']
@property
def scores(self):
@ -4803,7 +4805,7 @@ class ChiPrompt(Chi):
tally_keys : list of str
The keys into the tallies dictionary for each tally used to compute
the multi-group cross section
estimator : {'tracklength', 'collision', 'analog'}
estimator : 'analog'
The tally estimator used to compute the multi-group cross section
tallies : collections.OrderedDict
OpenMC tallies needed to compute the multi-group cross section. The keys

View file

@ -40,6 +40,9 @@ _SCORE_CLASSES = (basestring, CrossScore, AggregateScore)
_NUCLIDE_CLASSES = (basestring, Nuclide, CrossNuclide, AggregateNuclide)
_FILTER_CLASSES = (Filter, CrossFilter, AggregateFilter)
# Valid types of estimators
ESTIMATOR_TYPES = ['tracklength', 'collision', 'analog']
def reset_auto_tally_id():
"""Reset counter for auto-generated tally IDs."""
@ -387,8 +390,7 @@ class Tally(object):
@estimator.setter
def estimator(self, estimator):
cv.check_value('estimator', estimator,
['analog', 'tracklength', 'collision'])
cv.check_value('estimator', estimator, ESTIMATOR_TYPES)
self._estimator = estimator
@triggers.setter