6. Thermodynamic Property Data¶
Raw data obtained from [RWO+07] and [GP07]
6.1. Heat Capacity¶
-
class
realgas.cp.
CpIdealGas
(dippr_no: str = None, compound_name: str = None, cas_number: str = None, T_min_fit: float = None, T_max_fit: float = None, n_points_fit: int = 1000, poly_order: int = 2, T_units='K', Cp_units='J/mol/K')[source]¶ Heat Capacity \(C_{\mathrm{p}}^{\mathrm{IG}}\) [J/mol/K] at Constant Pressure of Inorganic and Organic Compounds in the Ideal Gas State Fit to Hyperbolic Functions [RWO+07]
(1)¶\[C_{\mathrm{p}}^{\mathrm{IG}} = C_1 + C_2\left[\frac{C_3/T}{\sinh{(C_3/T)}}\right] + C_4 \left[\frac{C_5/T}{\cosh{(C_5/T)}}\right]^2\]where \(C_{\mathrm{p}}^{\mathrm{IG}}\) is in J/mol/K and \(T\) is in K.
Computing integrals of Equation (1) is challenging. Instead, the function is fit to a polynomial within a range of interest so that it can be integrated by using an antiderivative that is a polynomial.
- Parameters
dippr_no (str, optional) – dippr_no of compound by DIPPR table, defaults to None
compound_name (str, optional) – name of chemical compound, defaults to None
cas_number (str, optional) – CAS registry number for chemical compound, defaults to None
MW (float, derived from input) – molecular weight in g/mol
T_min (float, derived from input) – minimum temperature of validity for relationship [K]
T_max (float, derived from input) – maximum temperature of validity [K]
T_min_fit – minimum temperature for fitting, defaults to Tmin
T_max_fit – maximum temperature for fitting, defaults to Tmax
C1 (float, derived from input) – parameter in Equation (1)
C2 (float, derived from input) – parameter in Equation (1)
C3 (float, derived from input) – parameter in Equation (1)
C4 (float, derived from input) – parameter in Equation (1)
C5 (float, derived from input) – parameter in Equation (1)
Cp_units (str, optional) – units for \(C_{\mathrm{p}}^{\mathrm{IG}}\), defaults to J/mol/K (SI units)
T_units (str, optional) – units for \(T\), defaults to K
n_points_fit (int, optional) – number of points for fitting polynomial and plotting, defaults to 1000
poly_order (int, optional) – order of polynomial for fitting, defaults to 2
-
cp_integral
(T_a, T_b)[source]¶ Evaluate integral
(2)¶\[\int_{T_a}^{T_b}C_{\mathrm{p}}^{\mathrm{IG}}(T^\prime) \mathrm{d}T^\prime\]- Parameters
T_a – start temperature in K
T_b – finish temperature in K
- Returns
integral
-
eval
(T, f_sinh=<ufunc 'sinh'>, f_cosh=<ufunc 'cosh'>)[source]¶ Evaluate heat capacity
- Parameters
T – temperature in K
f_sinh (callable) – function for hyperbolic sine, defaults to
np.sinh
f_cosh (callable) – function for hyperbolic cosine, defaults to
np.cosh
- Returns
\(C_{\mathrm{p}}^{\mathrm{IG}}\) J/mol/K (see equation (1))
-
class
realgas.cp.
CpStar
(T_ref: float, **kwargs)[source]¶ Dimensionless Heat Capacity at Constant Pressure of Inorganic and Organic Compounds in the Ideal Gas State Fit to Hyperbolic Functions [RWO+07]
The dimensionless form is obtained by introducing the following variables
\[\begin{split}\begin{align} C_{\mathrm{p}}^\star &= \frac{C_\mathrm{p}^\mathrm{IG}}{\text{R}} \\ T^\star &= \frac{T}{T_\text{ref}} \end{align}\end{split}\]where R is the gas constant in units of J/mol/K, and \(T_\text{ref}\) is a reference temperature [K] input by the user (see
T_ref
)The heat capacity in dimensionless form becomes
(3)¶\[C_{\mathrm{p}}^\star = C_1^\star + C_2^\star \left[\frac{C_3^\star/T^\star}{\sinh{(C_3^\star/T^\star)}}\right] + C_4^\star \left[\frac{C_5^\star/T^\star}{\cosh{(C_5^\star/T^\star)}}\right]^2\]where
\[\begin{split}\begin{align} C_1^\star &= \frac{C_1}{\text{R}} \\ C_2^\star &= \frac{C_2}{\text{R}} \\ C_3^\star &= \frac{C_3}{T_\text{ref}} \\ C_4^\star &= \frac{C_4}{\text{R}} \\ C_5^\star &= \frac{C_5}{T_\text{ref}} \end{align}\end{split}\]- Parameters
T_ref (float) – reference temperature [K] for dimensionless computations
-
eval
(T, f_sinh=<ufunc 'sinh'>, f_cosh=<ufunc 'cosh'>)[source]¶ - Parameters
T – temperature in K
f_sinh (callable) – function for hyperbolic sine, defaults to
np.sinh
f_cosh (callable) – function for hyperbolic cosine, defaults to
np.cosh
- Returns
\(C_{\mathrm{p}}^{\star}\) [dimensionless] (see equation (3))
-
class
realgas.cp.
CpRawData
(T_raw: list, Cp_raw: list, T_min_fit: float = None, T_max_fit: float = None, poly_order: int = 2, T_units='K', Cp_units='J/mol/K')[source]¶ Obtain heat capacity relationships from raw data
Using input raw data # fit to polynomial of temperature # fit polynomial to antiderivative
- Parameters
T_min_fit (float, optional) – minimum temperature for fitting function [K]
T_max_fit (float, optional) – maximum temperature for fitting function [K]
poly_order (int, optional) – order of polynomial for fitting, defaults to 2
T_raw (list) – raw temperatures in K
Cp_raw (list) – raw heat capacities in J/K/mol
Cp_units (str, optional) – units for \(C_{\mathrm{p}}\), defaults to J/mol/K
T_units (str, optional) – units for \(T\), defaults to K
6.2. Critical Properties¶
-
class
realgas.critical_constants.
CriticalConstants
(dippr_no: str = None, compound_name: str = None, cas_number: str = None, MW: float = None, P_c: float = None, V_c: float = None, Z_c: float = None, T_c: float = None, w: float = None)[source]¶ Get critical constants of a compound
If critical constants are not passed in, reads from DIPPR table
- Parameters
dippr_no (str, optional) – dippr_no of compound by DIPPR table, defaults to None
compound_name (str, optional) – name of chemical compound, defaults to None
cas_number (str, optional) – CAS registry number for chemical compound, defaults to None
MW – molecular weight in g/mol
T_c – critical temperature [K]
P_c – critical pressure [Pa]
V_c – critical molar volume [m^3/mol]
Z_c – critical compressibility factor [dimensionless]
w – accentric factor [dimensionless]
tol (float, hard-coded) – tolerance for percent difference in Zc calulcated and tabulated, set to 0.5
6.3. Thermal Conductivity¶
-
class
realgas.thermal_conductivity.
ThermalConductivity
(dippr_no: str = None, compound_name: str = None, cas_number: str = None, T_min_fit: float = None, T_max_fit: float = None, n_points_fit: int = 1000, poly_order: int = 2)[source]¶ Thermal Conductivity of Inorganic and Organic Substances [W/m/K] [RWO+07]
(4)¶\[k = \frac{C_1T^{C_2}}{1 + C_3/T + C_4 / T^2}\]where \(k\) is the thermal conductivity in W/m/K and \(T\) is in K. Thermal conductivites are either at 1 atm or the vapor pressure, whichever is lower.
- Parameters
dippr_no (str, optional) – dippr_no of compound by DIPPR table, defaults to None
compound_name (str, optional) – name of chemical compound, defaults to None
cas_number (str, optional) – CAS registry number for chemical compound, defaults to None
MW (float, derived from input) – molecular weight in g/mol
T_min (float, derived from input) – minimum temperature of validity for relationship [K]
T_max (float, derived from input) – maximum temperature of validity [K]
C1 (float, derived from input) – parameter in Equation (4)
C2 (float, derived from input) – parameter in Equation (4)
C3 (float, derived from input) – parameter in Equation (4)
C4 (float, derived from input) – parameter in Equation (4)
units (str) – units for \(k\), set to W/m/K
T_min_fit – minimum temperature for fit, defaults to T_min
T_max_fit – maximum temperature for fit, defaults to T_max
-
class
realgas.thermal_conductivity.
ThermalConductivityMixture
(name_to_cas: dict, mixing_rule='Simple')[source]¶ Viscosity of vapor mixture using Wilke mixing rule
- Parameters
name_to_cas (dict[
components
, str]) – mapping of chemical name to cas registry numbermixing_rule (str, optional) – mixing rule for calculation of viscosity, defaults to
Simple
pure (dict[
components
, Viscosity]) – pure component viscosity info, obtained romrealgas.vapor_viscosity.Viscosity
6.4. Viscosity¶
-
class
realgas.viscosity.
Viscosity
(dippr_no: str = None, compound_name: str = None, cas_number: str = None, T_min_fit: float = None, T_max_fit: float = None, n_points_fit: int = 1000, poly_order: int = 2)[source]¶ Vapor Viscosity of Inorganic and Organic Substances [W/m/K] [RWO+07]
(5)¶\[\mu = \frac{C_1T^{C_2}}{1 + C_3/T + C_4 / T^2}\]where \(\mu\) is the thermal conductivity in W/m/K and \(T\) is in K. Viscosities are either at 1 atm or the vapor pressure, whichever is lower.
- Parameters
dippr_no (str, optional) – dippr_no of compound by DIPPR table, defaults to None
compound_name (str, optional) – name of chemical compound, defaults to None
cas_number (str, optional) – CAS registry number for chemical compound, defaults to None
MW (float, derived from input) – molecular weight in g/mol
T_min (float, derived from input) – minimum temperature of validity for relationship [K]
T_max (float, derived from input) – maximum temperature of validity [K]
C1 (float, derived from input) – parameter in Equation (5)
C2 (float, derived from input) – parameter in Equation (5)
C3 (float, derived from input) – parameter in Equation (5)
C4 (float, derived from input) – parameter in Equation (5)
units (str) – units for \(\mu\), set to Pa*s
T_min_fit – minimum temperature for fit, defaults to T_min
T_max_fit – maximum temperature for fit, defaults to T_max
-
class
realgas.viscosity.
ViscosityMixture
(name_to_cas: dict = None, mixing_rule='Herning Zipperer', **kwargs)[source]¶ Viscosity of vapor mixture using Wilke or HR mixing rule
- Parameters
name_to_cas (dict[
components
, str]) – mapping of chemical name to cas registry numbermixing_rule (str, optional) – mixing rule for calculation of viscosity, defaults to Herning Zipperer
pure (dict[
components
, Viscosity]) – pure component viscosity info, obtained romViscosity