Source code for armi.materials.siC

# Copyright 2019 TerraPower, LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

"""
Silicon Carbide
"""

import math

from armi.materials.material import Material
from armi.nucDirectory import nuclideBases as nb
from armi.nucDirectory import thermalScattering as tsl
from armi.utils.units import getTc


[docs]class SiC(Material): r"""Silicon Carbide""" name = "Silicon Carbide" thermalScatteringLaws = ( tsl.byNbAndCompound[nb.byName["C"], tsl.SIC], tsl.byNbAndCompound[nb.byName["SI"], tsl.SIC], ) references = { "heat capacity": [ "Munro, Material Properties of a-SiC, J. Phys. Chem. Ref. Data, Vol. 26, No. 5, 1997" ], "cumulative linear expansion": [ "Munro, Material Properties of a-SiC, J. Phys. Chem. Ref. Data, Vol. 26, No. 5, 1997" ], "density": [ "Munro, Material Properties of a-SiC, J. Phys. Chem. Ref. Data, Vol. 26, No. 5, 1997" ], "thermal conductivity": [ "Munro, Material Properties of a-SiC, J. Phys. Chem. Ref. Data, Vol. 26, No. 5, 1997" ], } propertyEquation = { "heat capacity": "1110 + 0.15*Tc - 425*math.exp(-0.003*Tc)", "cumulative linear expansion": "(4.22 + 8.33E-4*Tc-3.51*math.exp(-0.00527*Tc))*1.0E-6", "density": "(rho0*(1 + cA*(Tc - Tc0))**(-3))*1.0E3", "thermal conductivity": "(52000*math.exp(-1.24E-5*Tc))/(Tc+437)", } propertyUnits = { "melting point": "K", "heat capacity": "J kg^-1 K^-1", "cumulative linear expansion": "K^-1", "density": "kg m^-3", "thermal conductivity": "W m^-1 K^-1", } propertyNotes = {} propertyValidTemperature = { "cumulative linear expansion": ((0, 1500), "C"), "density": ((0, 1500), "C"), "heat capacity": ((0, 2000), "C"), "thermal conductivity": ((0, 2000), "C"), }
[docs] def setDefaultMassFracs(self): self.setMassFrac("C", 0.299547726) self.setMassFrac("SI", 0.700452274) self.p.refTempK = 298.15 self.p.refDens = 3.21
[docs] def meltingPoint(self): return 3003.0
[docs] def heatCapacity(self, Tc=None, Tk=None): Tc = getTc(Tc, Tk) self.checkPropertyTempRange("heat capacity", Tc) return 1110 + 0.15 * Tc - 425 * math.exp(-0.003 * Tc)
[docs] def cumulativeLinearExpansion(self, Tk=None, Tc=None): Tc = getTc(Tc, Tk) self.checkPropertyTempRange("cumulative linear expansion", Tc) return (4.22 + 8.33e-4 * Tc - 3.51 * math.exp(-0.00527 * Tc)) * 1.0e-6
[docs] def density(self, Tc=None, Tk=None): Tc = getTc(Tc, Tk) self.checkPropertyTempRange("density", Tc) rho0 = 3.16 Tc0 = 0.0 cA = self.cumulativeLinearExpansion(Tc=Tc) return rho0 * (1 + cA * (Tc - Tc0)) ** (-3)
[docs] def thermalConductivity(self, Tc=None, Tk=None): Tc = getTc(Tc, Tk) self.checkPropertyTempRange("thermal conductivity", Tc) return (52000 * math.exp(-1.24e-5 * Tc)) / (Tc + 437)