Source code for pyrk.data.decay_heat

# Licensed under a 3-clause BSD style license - see LICENSE
"""
This subpackage contains ANS standard data for decay heat from fission product
groups.
"""


[docs]class DecayData(object): """ The DecayData class contains fission decay heat data. It is used to contain decay heat data retrieved from ANS/ANSI standards for decay heat from fission products. The traits are documented close to their definition by using a special comment ``#:`` prefix. .. note:: The ANS/ANSI standards can be found at the ans store: http://www.ans.org/store/i_240256 """ def __init__(self, nuc, e, n): """Initializes the decay group data for the fissioning nuclide (u235, pu238, etc.... currently only u235 and sfr are supported). :param e: The energy spectrum type. This should be 'thermal' or 'fast' to indicate the energy spectrum. :type e: str. :param n: The number of decay heat groups. Currently, only 11 is supported. :type n: int. :returns: A DecayData object. """ self._lambdas = self._get_lambdas(nuc, e) self._kappas = self._get_kappas(nuc, e) self._nuc = nuc self._e = e self._n = n
[docs] def lambdas(self): """ :returns: a list of floats the lambdas (decay constants) for each decay heat group """ return self._lambdas
[docs] def kappas(self): """ :returns: a list of floats the kappas (decay heat values) for each decay heat group """ return self._kappas
[docs] def _get_lambdas(self, nuc, e): """ Returns the heat decay constant for fissioning nuclide nuc, spectrum e :param e: The energy spectrum type. This should be 'thermal' or 'fast' \ to indicate the energy spectrum. :type e: str. :param nuc: The fissioning nuclide or custom reactor type. Currently \ only u235, sfr, or pu239 are supported :type nuc: str. :returns: a list of floats the lambdas (decay constants) for each decay heat group """ lambda_dict = {} lambda_dict["u235"] = {} lambda_dict["sfr"] = {} lambda_dict["pu239"] = {} lambda_dict["fhr"] = {} # ANS/ANSI 5.1-1971 for 235U thermal fission standard, 11 groups lambda_dict["u235"]["thermal"] = [2.658*10**0, 4.619*10**(-1), 6.069*10**(-2), 5.593*10**(-3), 6.872*10**(-4), 6.734*10**(-5), 6.413*10**(-6), 6.155*10**(-7), 8.288*10**(-8), 1.923*10**(-8), 1.214*10**(-9)] lambda_dict["u235"]["fast"] = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0] lambda_dict["sfr"]["fast"] = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0] lambda_dict["pu239"]["thermal"] = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0] lambda_dict["pu239"]["fast"] = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0] lambda_dict["fhr"]["thermal"] = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0] lambda_dict["fhr"]["multipt"] = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0] return lambda_dict[nuc][e]
[docs] def _get_kappas(self, nuc, e): """ Returns the decay heat value for fissioning nuclide nuc and spectrum e :param e: The energy spectrum type. This should be 'thermal' or 'fast' \ to indicate the energy spectrum. :type e: str. :param nuc: The fissioning nuclide or custom reactor type. Currently \ only u235, sfr, or pu239 are supported :type nuc: str. :returns: a list of floats :returns: a list of floats the kappas (decay heat values) for each decay heat group """ kappa_dict = {} kappa_dict["sfr"] = {} kappa_dict["u235"] = {} kappa_dict["pu239"] = {} kappa_dict["fhr"] = {} # Decay heat data, ANS/ANSI 5.1-1971 for 235U thermal fission, 11grps kappa_dict["u235"]["thermal"] = [6.587*10**0, 1.490*10**(-1), 2.730*10**(-1), 2.173*10**(-2), 1.961*10**(-3), 1.025*10**(-4), 4.923*10**(-6), 2.679*10**(-7), 1.452*10**(-8), 1.893*10**(-9), 1.633*10**(-10)] kappa_dict["u235"]["fast"] = [0.0, 0.0, 0.0] kappa_dict["sfr"]["fast"] = [0.0, 0.0, 0.0] kappa_dict["pu239"]["thermal"] = [0.0, 0.0, 0.0] kappa_dict["pu239"]["fast"] = [0.0, 0.0, 0.0] kappa_dict["fhr"]["thermal"] = [0.0, 0.0, 0.0] kappa_dict["fhr"]["multipt"] = [0.0, 0.0, 0.0] return kappa_dict[nuc][e]