Source code for pyrk.materials.kernel

from utilities.ur import units
from materials.material import Material
from density_model import DensityModel


[docs]class Kernel(Material): """This class represents a material of the system it has material properties essential to thermal modeling and heat transfer in support of calculations related to the thermal hydraulics subblock """ def __init__(self, name="kernel"): """Initalizes a material based on the fuel kernel in a TRISO particle. A material has intensive (as opposed to extensive) material properties. :param name: The name of the material (i.e., "fuel" or "cool") :type name: str. :param vol: The volume of the material :param T0: The initial temperature of the material :type T0: float. :param alpha_temp: temperature coefficient of reactivity :type alpha_temp: float :param timer: The timer instance for the sim :type timer: Timer object :param heatgen: is this material a heat generator (fuel) :type heatgen: bool """ Material.__init__(self, name=name, k=self.thermal_conductivity(), cp=self.specific_heat_capacity(), dm=self.density())
[docs] def thermal_conductivity(self): """TRISO Kernel thermal conductivity in [W/m-K] A first order, constant value approximation was made based on Petti, Martin, Phelip, Fig 1.11 Petti, Martin, Phelip et al http://www.sciencedirect.com/science/article/pii/S0022311510003284#bib9 Note that temperature dependent thermal conductivity model could be implemented in the place of this constant model based on Powers and Wirth: http://www.sciencedirect.com/science/article/pii/S0022311510003284 """ return 1.5*units.watt/(units.meter*units.kelvin)
[docs] def specific_heat_capacity(self): """Specific heat capacity for TRISO kernel [J/kg/K] The value 0.3 J/g/K was extracted from Ortensi et al in Figure 11, page 12. Ortensi, J., and A. M. Ougouag. 2009. "Improved Prediction of the Doppler Effect in TRISO Fuel." In Proceedings of International Conference on Mathematics, Computational Methods, and Reactor Physics (M&C 2009), Saratoga Springs, NY. http://www.inl.gov/technicalpublications/Documents/4187480.pdf. Note that a temperature dependent model could be implemented based on that work. """ ortensi = 0.3*units.joule/(units.g*units.kelvin) # [J/g/K] return ortensi.to('joule/kg/kelvin') # [J/kg/K]
[docs] def density(self): """ Kernel density for TRISO kernel is 10500.0kg/m^3 A constant density model appears sufficiently accurate according to most sources - Andreades et al in particular: Andreades, C., A.T. Cisneros, J.K. Choi, A.Y.K Chong, David L. Krumwiede, Lakshana Huddar, Kathryn D. Huff, et al. 2014. Technical Description of the 'Mark 1' Pebble-Bed, Fluoride-Salt-Cooled, High-Temperature Reactor Power Plant. Thermal Hydraulics Group UCBTH-14-002. FHR Project. Berkeley, CA: University of California, Berkeley, Department of Nuclear Engineering. """ return DensityModel(a=10500.0*units.kg/(units.meter**3), model="constant")