Example #1
0
 def thermalConductivity(self, Tc=None, Tk=None):
     Tc = getTc(Tc, Tk)
     (TLowerLimit, TUpperLimit
      ) = self.propertyValidTemperature["thermal conductivity"][0]
     self.checkTempRange(TLowerLimit, TUpperLimit, Tc,
                         "thermal conductivity")
     return (52000 * math.exp(-1.24e-5 * Tc)) / (Tc + 437)
Example #2
0
    def thermalConductivity(self, Tk=None, Tc=None):
        r"""
        Calculates the thermal conductivity of Hastelloy N. 
        Second order polynomial fit to data from [Haynes]_.

        Parameters
        ----------
        Tk : float
            Temperature in (K)

        Tc : float
            Temperature in (C)

        Returns
        -------
        Hastelloy N thermal conductivity (W/m-K)

        """
        Tc = getTc(Tc, Tk)
        Tk = getTk(Tc, Tk)
        (TLowerLimit, TUpperLimit
         ) = self.propertyValidTemperature["thermal conductivity"][0]
        self.checkTempRange(TLowerLimit, TUpperLimit, Tk,
                            "thermal conductivity")
        return 1.92857e-05 * Tc**2 + 3.12857e-03 * Tc + 1.17743e01  # W/m-K
Example #3
0
 def cumulativeLinearExpansion(self, Tk=None, Tc=None):
     Tc = getTc(Tc, Tk)
     (TLowerLimit, TUpperLimit
      ) = self.propertyValidTemperature["cumulative linear expansion"][0]
     self.checkTempRange(TLowerLimit, TUpperLimit, Tc,
                         "cumulative linear expansion")
     return (4.22 + 8.33e-4 * Tc - 3.51 * math.exp(-0.00527 * Tc)) * 1.0e-6
Example #4
0
 def linearExpansionPercent(self, Tk=None, Tc=None):
     """Boron carbide expansion. Very preliminary"""
     Tc = getTc(Tc, Tk)
     self.checkTempRange(25, 500, Tc, "linear expansion percent")
     deltaT = Tc - 25
     dLL = deltaT * 4.5e-6 * 100  # percent
     return dLL
Example #5
0
    def linearExpansion(self, Tk=None, Tc=None):
        r"""
        From http://www.specialmetals.com/documents/Inconel%20alloy%20600.pdf

        Using the correlation for linearExpansionPercent, the 2nd order polynomial is divided by 100 to convert
        from percent strain to strain, then differentiated with respect to temperature to find the correlation
        for instantaneous linear expansion.

        i.e. for a linearExpansionPercent correlation of a*Tc**2 + b*Tc + c, the linearExpansion correlation is 2*a/100*Tc + b/100

        2*(3.722e-7/100.0)*Tc + 1.303e-3/100.0

        Parameters
        ----------
        Tk : float
            temperature in (K)
        Tc : float
            Temperature in (C)

        Returns
        -------
        linExp in m/m/C

        """
        Tc = getTc(Tc, Tk)
        self.checkTempRange(21.0, 900.0, Tc, "linear expansion")
        linExp = 7.444e-9 * Tc + 1.303e-5
        return linExp
Example #6
0
    def heatCapacity(self, Tk=None, Tc=None):
        r"""
        Calculates the specific heat capacity of Hastelloy N.
        Sixth order polynomial fit to data from Table 2-20 [SAB]_ (R^2=0.97). 
        
        Parameters
        ----------
        Tk : float
            Temperature in (K)

        Tc : float
            Temperature in (C)

        Returns
        -------
        Hastelloy N specific heat capacity (J/kg-C)

        """
        Tc = getTc(Tc, Tk)
        Tk = getTk(Tc, Tk)
        (TLowerLimit,
         TUpperLimit) = self.propertyValidTemperature["heat capacity"][0]
        self.checkTempRange(TLowerLimit, TUpperLimit, Tk, "heat capacity")
        return (+3.19981e02 + 2.47421e00 * Tc - 2.49306e-02 * Tc**2 +
                1.32517e-04 * Tc**3 - 3.58872e-07 * Tc**4 +
                4.69003e-10 * Tc**5 - 2.32692e-13 * Tc**6)
Example #7
0
File: siC.py Project: ntouran/armi
 def density(self, Tc=None, Tk=None):
     Tc = getTc(Tc, Tk)
     (TLowerLimit, TUpperLimit) = self.propertyValidTemperature["density"][0]
     self.checkTempRange(TLowerLimit, TUpperLimit, Tc, "density")
     rho0 = 3.16
     Tc0 = 0.0
     cA = self.cumulativeLinearExpansion(Tc=Tc)
     return rho0 * (1 + cA * (Tc - Tc0)) ** (-3)
Example #8
0
    def linearExpansionPercent(self, Tk=None, Tc=None):
        """
        This is dL/L0 for graphite.

        From  [INL-EXT-16-38241]_, page 4.
        """
        Tc = units.getTc(Tc, Tk)
        return 100 * (-1.454e-4 + 4.812e-6 * Tc + 1.145e-9 * Tc**2)
Example #9
0
    def _computeReferenceDensity(self, Tk=None, Tc=None):
        r"""AAA Materials Handbook 45803"""
        Tc = getTc(Tc, Tk)
        Tk = getTk(Tc, Tk)
        self.checkTempRange(293, 1800, Tk, "density")

        if Tk < 1135:
            return -3.29256e-8 * Tk ** 2 - 9.67145e-5 * Tk + 6.60176
        else:
            return -2.61683e-8 * Tk ** 2 - 1.11331e-4 * Tk + 6.63616
Example #10
0
    def linearExpansionPercent(self, Tk=None, Tc=None):
        r"""
        average thermal expansion dL/L. Used for computing hot dimensions

        Parameters
        ----------
        Tk : float
            temperature in (K)
        Tc : float
            Temperature in (C)

        Returns
        -------
        %dLL(T) in m/m/K

        """
        Tc = getTc(Tc, Tk)
        refTempC = getTc(Tk=self.p.refTempK)
        return 100.0 * self.meanCoefficientThermalExpansion(Tc=Tc) * (Tc - refTempC)
Example #11
0
    def thermalConductivity(self, Tk=None, Tc=None):
        """
        Thermal conductivity in W/mK.

        Reference: AAA Fuels handbook. ANL.
        """
        Tc = getTc(Tc, Tk)
        Tk = getTk(Tc, Tk)
        self.checkTempRange(298, 2000, Tk, "thermal conductivity")
        return 8.853 + (0.007082 * Tk) + (0.000002533 * Tk ** 2) + (2992.0 / Tk)
Example #12
0
 def density(self, Tk=None, Tc=None, check_range=True):
     r"""
     Calculates the density of molten Potassium in g/cc
     From Foust, O.J. Sodium-NaK Engineering Handbook Vol. 1. New York: Gordon and Breach, 1972.
     Page 18.
     """
     Tc = getTc(Tc, Tk)
     Tk = getTk(Tc, Tk)
     if check_range:
         self.checkTempRange(63.38, 759, Tk, "density")
     return 0.8415 - 2.172e-4 * Tc - 2.70e-8 * Tc**2 + 4.77e-12 * Tc**3
Example #13
0
    def linearExpansion(self, Tk=None, Tc=None):
        r"""linear expansion in m/mK

        Reference: Y.S. Touloukian, R.K. Kirby, R.E. Taylor and P.D. Desai, Thermal Expansion,
                   Thermophysical Properties of Matter, Vol. 12, IFI/Plenum, New York-Washington (1975)

        See page 400
        """
        Tc = getTc(Tc, Tk)
        Tk = getTk(Tc, Tk)
        self.checkTempRange(293, 1800, Tk, "linear expansion")
        return interp(Tk, self.linearExpansionTableK, self.linearExpansionTable)
Example #14
0
File: mgO.py Project: ntouran/armi
    def linearExpansionPercent(self, Tk=None, Tc=None):
        """THE COEFFICIENT OF EXPANSION OF MAGNESIUM OXIDE
        Milo A. Durand

        Journal of Applied Physics 7, 297 (1936); doi: 10.1063/1.174539

        This is based on a 3rd order polynomial fit of the data in Table I.
        """
        # Note: This is in C! Others are mostly in K. Depends on reference.
        Tc = getTc(Tc, Tk)
        Tk = getTk(Tc, Tk)
        self.checkTempRange(273.15, 1273.15, Tk, "deltaL")
        return 1.0489e-5 * Tc + 6.0458e-9 * Tc ** 2 - 2.6875e-12 * Tc ** 3
Example #15
0
    def polyfitLinearExpansionPercent(self, power=2):
        r"""
        Calculates the coefficients of a polynomial fit for linearExpansionPercent.
        Based on data from http://www.specialmetals.com/documents/Inconel%20alloy%20600.pdf

        Uses mean CTE values to find percent thermal strain values. Fits a polynomial
        to the data set and returns the coefficients.

        Parameters
        ----------
        power : int, optional
            power of the polynomial fit equation

        Returns
        -------
        list of length 'power' containing the polynomial fit coefficients for linearExpansionPercent

        """
        refTempC = getTc(None, Tk=self.p.refTempK)
        Tc = [100.0, 200.0, 300.0, 400.0, 500.0, 600.0, 700.0, 800.0, 900.0]
        alpha_mean = [
            1.33e-05,
            1.38e-05,
            1.42e-05,
            1.45e-05,
            1.49e-05,
            1.53e-05,
            1.58e-05,
            1.61e-05,
            1.64e-05,
        ]

        linExpPercent = [0.0]
        for i, alpha in enumerate(alpha_mean):
            linExpPercentVal = 100.0 * alpha * (Tc[i] - refTempC)
            linExpPercent.append(linExpPercentVal)

        Tc.insert(0, refTempC)

        return numpy.polyfit(
            numpy.array(Tc), numpy.array(linExpPercent), power
        ).tolist()
Example #16
0
    def polyfitLinearExpansionPercent(self, power=2):
        r"""
        Calculates the coefficients of a polynomial fit for linearExpansionPercent.
        Based on data from http://www.specialmetals.com/documents/Inconel%20alloy%20X-750.pdf

        Uses mean CTE values to find percent thermal strain values. Fits a polynomial
        to the data set and returns the coefficients.

        Parameters
        ----------
        power : int, optional
            power of the polynomial fit equation

        Returns
        -------
        list of length 'power' containing the polynomial fit coefficients for linearExpansionPercent

        """
        refTempC = getTc(None, Tk=self.p.refTempK)
        Tc = [93.3, 204.4, 315.6, 426.7, 537.8, 648.9, 760.0, 871.1, 982.2]
        alpha_mean = [
            1.260e-05,
            1.296e-05,
            1.350e-05,
            1.404e-05,
            1.458e-05,
            1.512e-05,
            1.584e-05,
            1.674e-05,
            1.764e-05,
        ]

        linExpPercent = [0.0]
        for i, alpha in enumerate(alpha_mean):
            linExpPercentVal = 100.0 * alpha * (Tc[i] - refTempC)
            linExpPercent.append(linExpPercentVal)

        Tc.insert(0, refTempC)

        return numpy.polyfit(
            numpy.array(Tc), numpy.array(linExpPercent), power
        ).tolist()
Example #17
0
    def linearExpansionPercent(self, Tk=None, Tc=None):
        r"""
        Returns percent linear thermal expansion of Alloy 200

        Parameters
        ----------
        Tk : float, optional
            temperature in degrees Kelvin
        Tc : float, optional
            temperature in degrees Celsius

        Returns
        -------
        linearExpansionPercent : float
            percent linear thermal expansion of Alloy 200 (%)
        """
        Tc = getTc(Tc, Tk)
        self.checkTempRange(-200, 1000, Tc, "linear expansion percent")
        linearExpansionPercent = self.calcLinearExpansionPercentMetal(T=Tc)
        return linearExpansionPercent
Example #18
0
    def linearExpansion(self, Tk=None, Tc=None):
        r"""
        Returns instantaneous coefficient of thermal expansion of Alloy 200

        Parameters
        ----------
        Tk : float, optional
            temperature in degrees Kelvin
        Tc : float, optional
            temperature in degrees Celsius

        Returns
        -------
        linearExpansion : float
            instantaneous coefficient of thermal expansion of Alloy 200 (1/C)
        """
        Tc = getTc(Tc, Tk)
        self.checkTempRange(-200, 1000, Tc, "linear expansion")
        linearExpansion = self.calcLinearExpansionMetal(T=Tc)
        return linearExpansion
Example #19
0
    def linearExpansionPercent(self, Tk=None, Tc=None):
        r"""linear expansion in dL/L

        Reference: Y.S. Touloukian, R.K. Kirby, R.E. Taylor and P.D. Desai, Thermal Expansion,
                   Thermophysical Properties of Matter, Vol. 12, IFI/Plenum, New York-Washington (1975)

        See page 400
        """
        Tc = getTc(Tc, Tk)
        Tk = getTk(Tc, Tk)
        self.checkTempRange(293, 1800, Tk, "linear expansion percent")

        if Tk >= 293 and Tk < 1137:
            return (
                -0.111 + (2.325e-4 * Tk) + (5.595e-7 * Tk ** 2) - (1.768e-10 * Tk ** 3)
            )
        elif Tk >= 1137:
            return (
                -0.759 + (1.474e-3 * Tk) - (5.140e-7 * Tk ** 2) + (1.559e-10 * Tk ** 3)
            )
Example #20
0
    def linearExpansionPercent(self, Tk=None, Tc=None):
        r"""
        Returns percent linear expansion of InconelX750.

        Parameters
        ----------
        Tk : float
            temperature in (K)
        Tc : float
            Temperature in (C)

        Returns
        -------
        linExpPercent in %-m/m/C

        """
        Tc = getTc(Tc, Tk)
        self.checkTempRange(21.1, 982.2, Tc, "linear expansion percent")
        linExpPercent = 6.8378e-7 * Tc ** 2 + 1.056e-3 * Tc - 1.3161e-2
        return linExpPercent
Example #21
0
    def linearExpansionPercent(self, Tk=None, Tc=None):
        r"""
        Returns percent linear expansion of Inconel625.

        Parameters
        ----------
        Tk : float
            temperature in (K)
        Tc : float
            Temperature in (C)

        Returns
        -------
        linExpPercent in %-m/m/C

        """
        Tc = getTc(Tc, Tk)
        self.checkTempRange(21.0, 927.0, Tc, "linear expansion percent")
        linExpPercent = 5.083e-7 * Tc ** 2 + 1.125e-3 * Tc - 1.804e-2
        return linExpPercent
Example #22
0
    def density(self, Tk=None, Tc=None, check_range=True):
        """
        Returns density of Sodium in g/cc.

        This is from 1.3.1 in [ANL-RE-95-2]_.

        Parameters
        ----------
        Tk : float, optional
            temperature in degrees Kelvin
        Tc : float, optional
            temperature in degrees Celsius
        check_range : Boolean, optional
            Set check_range=False to avoid "zillions" of print-out warnings that occur if
            the input temperature (Tc or Tk) is out of the applicability range of properties.

        Returns
        -------
        density : float
            mass density in g/cc
        """
        Tk = getTk(Tc, Tk)
        Tc = getTc(Tc, Tk)
        if check_range:
            self.checkTempRange(97.85, 2230.55, Tc, "density")

        if check_range and (Tc is not None) and (Tc <= 97.72):
            runLog.warning(
                "Sodium frozen at Tc: {0}".format(Tc),
                label="Sodium frozen at Tc={0}".format(Tc),
                single=True,
            )

        critDens = 219  # critical density
        f = 275.32  #
        g = 511.58
        h = 0.5
        Tcrit = 2503.7  # critical temperature
        return (critDens + f * (1 - (Tc + 273.15) / Tcrit) + g *
                (1 - (Tc + 273.15) / Tcrit)**h
                ) / 1000.0  # convert from kg/m^3 to g/cc.
Example #23
0
    def thermalConductivity(self, Tk=None, Tc=None):
        r"""
        Returns the thermal conductivity of Inconel600.

        Parameters
        ----------
        Tk : float, optional
            temperature in (K)
        Tc : float, optional
            Temperature in (C)

        Returns
        -------
        thermalCond : float
            thermal conductivity in W/m/C

        """
        Tc = getTc(Tc, Tk)
        self.checkTempRange(20.0, 800.0, Tc, "thermal conductivity")
        thermalCond = 3.4938e-6 * Tc ** 2 + 1.3403e-2 * Tc + 14.572
        return thermalCond  # W/m-C
Example #24
0
    def heatCapacity(self, Tk=None, Tc=None):
        r"""
        Returns the specific heat capacity of Inconel600.

        Parameters
        ----------
        Tk : float, optional
            Temperature in Kelvin.
        Tc : float, optional
            Temperature in degrees Celsius.

        Returns
        -------
        heatCapacity : float
            heat capacity in J/kg/C

        """
        Tc = getTc(Tc, Tk)
        self.checkTempRange(20, 900, Tc, "heat capacity")
        heatCapacity = 7.4021e-6 * Tc ** 2 + 0.20573 * Tc + 441.3
        return heatCapacity  # J/kg-C
Example #25
0
    def heatCapacity(self, Tk=None, Tc=None):
        r"""
        Returns the specific heat capacity of Inconel625.

        Parameters
        ----------
        Tk : float, optional
            Temperature in Kelvin.
        Tc : float, optional
            Temperature in degrees Celsius.

        Returns
        -------
        heatCapacity : float
            heat capacity in J/kg/C

        """
        Tc = getTc(Tc, Tk)
        self.checkTempRange(21.0, 1093.0, Tc, "heat capacity")
        heatCapacity = -5.3777e-6 * Tc ** 2 + 0.25 * Tc + 404.26
        return heatCapacity  # J/kg-C
Example #26
0
    def thermalConductivity(self, Tk=None, Tc=None):
        r"""
        Returns the thermal conductivity of InconelX750.

        Parameters
        ----------
        Tk : float, optional
            Temperature in Kelvin.
        Tc : float, optional
            Temperature in degrees Celsius.

        Returns
        -------
        thermalCond : float
            thermal conductivity in W/m/C

        """
        Tc = getTc(Tc, Tk)
        self.checkTempRange(-156.7, 871.1, Tc, "thermal conductivity")
        thermalCond = 1.4835e-6 * Tc ** 2 + 1.2668e-2 * Tc + 11.632
        return thermalCond  # W/m-C
Example #27
0
    def thermalConductivity(self, Tk=None, Tc=None):
        r"""
        Returns the thermal conductivity of Inconel625.

        Parameters
        ----------
        Tk : float, optional
            Temperature in Kelvin.
        Tc : float, optional
            Temperature in degrees Celsius.

        Returns
        -------
        thermalCond : float
            thermal conductivity in W/m/C

        """
        Tc = getTc(Tc, Tk)
        self.checkTempRange(21.0, 982.0, Tc, "thermal conductivity")
        thermalCond = 2.7474e-6 * Tc ** 2 + 0.012907 * Tc + 9.62532
        return thermalCond  # W/m-C
Example #28
0
    def densityTimesHeatCapacity(self, Tk=None, Tc=None):
        r"""
        Return heat capacity * density at a temperature
        Parameters
        ----------
        Tk : float, optional
            Temperature in Kelvin.
        Tc : float, optional
            Temperature in degrees Celsius.

        Returns
        -------
        rhoCP : float
            Calculated value for the HT9 density* heat capacity
            unit (J/m^3-K)

        """
        Tc = getTc(Tc, Tk)

        rhoCp = self.density(Tc=Tc) * 1000.0 * self.heatCapacity(Tc=Tc)

        return rhoCp
Example #29
0
    def meanCoefficientThermalExpansion(self, Tk=None, Tc=None):
        r"""
        Mean coefficient of thermal expansion for Incoloy 800.
        Third order polynomial fit of table 5 from [SM]_.

        Parameters
        ----------
        Tk : float
            temperature in (K)
        Tc : float
            Temperature in (C)

        Returns
        -------
        mean coefficient of thermal expansion in m/m/C

        """
        Tc = getTc(Tc, Tk)
        (TLowerLimit,
         TUpperLimit) = self.propertyValidTemperature["thermal expansion"][0]
        self.checkTempRange(TLowerLimit, TUpperLimit, Tc, "thermal expansion")
        return (2.52525e-14 * Tc**3 - 3.77814e-11 * Tc**2 + 2.06360e-08 * Tc +
                1.28071e-05)
Example #30
0
    def heatCapacity(self, Tk=None, Tc=None):
        r"""
        Returns the specific heat capacity of InconelX750.

        Parameters
        ----------
        Tk : float, optional
            Temperature in Kelvin.
        Tc : float, optional
            Temperature in degrees Celsius.

        Returns
        -------
        heatCapacity : float
            heat capacity in J/kg/C

        """
        Tc = getTc(Tc, Tk)
        self.checkTempRange(-18.0, 1093.0, Tc, "heat capacity")
        heatCapacity = (
            9.2261e-7 * Tc ** 3 - 9.6368e-4 * Tc ** 2 + 4.7778e-1 * Tc + 420.55
        )
        return heatCapacity  # J/kg-C