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")