thermo.phase_change module¶

thermo.phase_change.
Tb
(CASRN, AvailableMethods=False, Method=None, IgnoreMethods=['PSAT_DEFINITION'])[source]¶ This function handles the retrieval of a chemical’s boiling point. Lookup is based on CASRNs. Will automatically select a data source to use if no Method is provided; returns None if the data is not available.
Prefered sources are ‘CRC Physical Constants, organic’ for organic chemicals, and ‘CRC Physical Constants, inorganic’ for inorganic chemicals. Function has data for approximately 13000 chemicals.
Parameters: CASRN : string
CASRN []
Returns: Tb : float
Boiling temperature, [K]
methods : list, only returned if AvailableMethods == True
List of methods which can be used to obtain Tb with the given inputs
Other Parameters: Method : string, optional
A string for the method name to use, as defined by constants in Tb_methods
AvailableMethods : bool, optional
If True, function will determine which methods can be used to obtain Tb for the desired chemical, and will return methods instead of Tb
IgnoreMethods : list, optional
A list of methods to ignore in obtaining the full list of methods, useful for for performance reasons and ignoring inaccurate methods
Notes
A total of four methods are available for this function. They are:
 ‘CRC_ORG’, a compillation of data on organics as published in [R452].
 ‘CRC_INORG’, a compillation of data on inorganic as published in [R452].
 ‘YAWS’, a large compillation of data from a variety of sources; no data points are sourced in the work of [R453].
 ‘PSAT_DEFINITION’, calculation of boiling point from a vapor pressure calculation. This is normally off by a fraction of a degree even in the best cases. Listed in IgnoreMethods by default for performance reasons.
References
[R452] (1, 2, 3) Haynes, W.M., Thomas J. Bruno, and David R. Lide. CRC Handbook of Chemistry and Physics, 95E. Boca Raton, FL: CRC press, 2014. [R453] (1, 2) Yaws, Carl L. Thermophysical Properties of Chemicals and Hydrocarbons, Second Edition. Amsterdam Boston: Gulf Professional Publishing, 2014. Examples
>>> Tb('7732185') 373.124

thermo.phase_change.
Tm
(CASRN, AvailableMethods=False, Method=None, IgnoreMethods=[])[source]¶ This function handles the retrieval of a chemical’s melting point. Lookup is based on CASRNs. Will automatically select a data source to use if no Method is provided; returns None if the data is not available.
Prefered sources are ‘Open Notebook Melting Points’, with backup sources ‘CRC Physical Constants, organic’ for organic chemicals, and ‘CRC Physical Constants, inorganic’ for inorganic chemicals. Function has data for approximately 14000 chemicals.
Parameters: CASRN : string
CASRN []
Returns: Tm : float
Melting temperature, [K]
methods : list, only returned if AvailableMethods == True
List of methods which can be used to obtain Tm with the given inputs
Other Parameters: Method : string, optional
A string for the method name to use, as defined by constants in Tm_methods
AvailableMethods : bool, optional
If True, function will determine which methods can be used to obtain Tm for the desired chemical, and will return methods instead of Tm
IgnoreMethods : list, optional
A list of methods to ignore in obtaining the full list of methods
Notes
A total of three sources are available for this function. They are:
 ‘OPEN_NTBKM, a compillation of data on organics as published in [R454] as Open Notebook Melting Points; Averaged (median) values were used when multiple points were available. For more information on this invaluable and excellent collection, see http://onswebservices.wikispaces.com/meltingpoint.
 ‘CRC_ORG’, a compillation of data on organics as published in [R455].
 ‘CRC_INORG’, a compillation of data on inorganic as published in [R455].
References
[R454] (1, 2) Bradley, JeanClaude, Antony Williams, and Andrew Lang. “JeanClaude Bradley Open Melting Point Dataset”, May 20, 2014. https://figshare.com/articles/Jean_Claude_Bradley_Open_Melting_Point_Datset/1031637. [R455] (1, 2, 3) Haynes, W.M., Thomas J. Bruno, and David R. Lide. CRC Handbook of Chemistry and Physics, 95E. Boca Raton, FL: CRC press, 2014. Examples
>>> Tm(CASRN='7732185') 273.15

thermo.phase_change.
Clapeyron
(T, Tc, Pc, dZ=1, Psat=101325)[source]¶ Calculates enthalpy of vaporization at arbitrary temperatures using the Clapeyron equation.
The enthalpy of vaporization is given by:
\[\Delta H_{vap} = RT \Delta Z \frac{\ln (P_c/Psat)}{(1T_{r})}\]Parameters: T : float
Temperature of fluid [K]
Tc : float
Critical temperature of fluid [K]
Pc : float
Critical pressure of fluid [Pa]
dZ : float
Change in compressibility factor between liquid and gas, []
Psat : float
Saturation pressure of fluid [Pa], optional
Returns: Hvap : float
Enthalpy of vaporization, [J/mol]
Notes
No original source is available for this equation. [R456] claims this equation overpredicts enthalpy by several percent. Under Tr = 0.8, dZ = 1 is a reasonable assumption. This equation is most accurate at the normal boiling point.
Internal units are bar.
WARNING: I believe it possible that the adjustment for pressure may be incorrect
References
[R456] (1, 2) Poling, Bruce E. The Properties of Gases and Liquids. 5th edition. New York: McGrawHill Professional, 2000. Examples
Problem from Perry’s examples.
>>> Clapeyron(T=294.0, Tc=466.0, Pc=5.55E6) 26512.354585061985

thermo.phase_change.
Pitzer
(T, Tc, omega)[source]¶ Calculates enthalpy of vaporization at arbitrary temperatures using a fit by [R458] to the work of Pitzer [R457]; requires a chemical’s critical temperature and acentric factor.
The enthalpy of vaporization is given by:
\[\frac{\Delta_{vap} H}{RT_c}=7.08(1T_r)^{0.354}+10.95\omega(1T_r)^{0.456}\]Parameters: T : float
Temperature of fluid [K]
Tc : float
Critical temperature of fluid [K]
omega : float
Acentric factor []
Returns: Hvap : float
Enthalpy of vaporization, [J/mol]
Notes
This equation is listed in [R459], page 2487 as method #2 for estimating Hvap. This cites [R458].
The recommended range is 0.6 to 1 Tr. Users should expect up to 5% error. T must be under Tc, or an exception is raised.
The original article has been reviewed and found to have a set of tabulated values which could be used instead of the fit function to provide additional accuracy.
References
[R457] (1, 2) Pitzer, Kenneth S. “The Volumetric and Thermodynamic Properties of Fluids. I. Theoretical Basis and Virial Coefficients.” Journal of the American Chemical Society 77, no. 13 (July 1, 1955): 342733. doi:10.1021/ja01618a001 [R458] (1, 2, 3) Poling, Bruce E. The Properties of Gases and Liquids. 5th edition. New York: McGrawHill Professional, 2000. [R459] (1, 2, 3) Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. McGrawHill Professional, 2007. Examples
Example as in [R459], p2487; exp: 37.51 kJ/mol
>>> Pitzer(452, 645.6, 0.35017) 36696.736640106414

thermo.phase_change.
SMK
(T, Tc, omega)[source]¶ Calculates enthalpy of vaporization at arbitrary temperatures using a the work of [R460]; requires a chemical’s critical temperature and acentric factor.
The enthalpy of vaporization is given by:
\[ \begin{align}\begin{aligned}\frac{\Delta H_{vap}} {RT_c} = \left( \frac{\Delta H_{vap}} {RT_c} \right)^{(R1)} + \left( \frac{\omega  \omega^{(R1)}} {\omega^{(R2)}  \omega^{(R1)}} \right) \left[\left( \frac{\Delta H_{vap}} {RT_c} \right)^{(R2)}  \left( \frac{\Delta H_{vap}} {RT_c} \right)^{(R1)} \right]\\\left( \frac{\Delta H_{vap}} {RT_c} \right)^{(R1)} = 6.537 \tau^{1/3}  2.467 \tau^{5/6}  77.251 \tau^{1.208} + 59.634 \tau + 36.009 \tau^2  14.606 \tau^3\\\left( \frac{\Delta H_{vap}} {RT_c} \right)^{(R2)}  \left( \frac{\Delta H_{vap}} {RT_c} \right)^{(R1)}=0.133 \tau^{1/3}  28.215 \tau^{5/6}  82.958 \tau^{1.208} + 99.00 \tau + 19.105 \tau^2 2.796 \tau^3\\\tau = 1T/T_c\end{aligned}\end{align} \]Parameters: T : float
Temperature of fluid [K]
Tc : float
Critical temperature of fluid [K]
omega : float
Acentric factor []
Returns: Hvap : float
Enthalpy of vaporization, [J/mol]
Notes
The original article has been reviewed and found to have coefficients with slightly more precision. Additionally, the form of the equation is slightly different, but numerically equivalent.
The refence fluids are:
\(\omega_0\) = benzene = 0.212
\(\omega_1\) = carbazole = 0.461
A sample problem in the article has been verified. The numerical result presented by the author requires high numerical accuracy to obtain.
References
[R460] (1, 2, 3) Sivaraman, Alwarappa, Joe W. Magee, and Riki Kobayashi. “Generalized Correlation of Latent Heats of Vaporization of CoalLiquid Model Compounds between Their Freezing Points and Critical Points.” Industrial & Engineering Chemistry Fundamentals 23, no. 1 (February 1, 1984): 97100. doi:10.1021/i100013a017. Examples
Problem in [R460]:
>>> SMK(553.15, 751.35, 0.302) 39866.17647797959

thermo.phase_change.
MK
(T, Tc, omega)[source]¶ Calculates enthalpy of vaporization at arbitrary temperatures using a the work of [R461]; requires a chemical’s critical temperature and acentric factor.
The enthalpy of vaporization is given by:
\[ \begin{align}\begin{aligned}\Delta H_{vap} = \Delta H_{vap}^{(0)} + \omega \Delta H_{vap}^{(1)} + \omega^2 \Delta H_{vap}^{(2)}\\\frac{\Delta H_{vap}^{(i)}}{RT_c} = b^{(j)} \tau^{1/3} + b_2^{(j)} \tau^{5/6} + b_3^{(j)} \tau^{1.2083} + b_4^{(j)}\tau + b_5^{(j)} \tau^2 + b_6^{(j)} \tau^3\\\tau = 1T/T_c\end{aligned}\end{align} \]Parameters: T : float
Temperature of fluid [K]
Tc : float
Critical temperature of fluid [K]
omega : float
Acentric factor []
Returns: Hvap : float
Enthalpy of vaporization, [J/mol]
Notes
The original article has been reviewed. A total of 18 coefficients are used:
WARNING: The correlation has been implemented as described in the article, but its results seem different and with some error. Its results match with other functions however.
Has poor behavior for lowtemperature use.
References
[R461] (1, 2) Morgan, David L., and Riki Kobayashi. “Extension of Pitzer CSP Models for Vapor Pressures and Heats of Vaporization to LongChain Hydrocarbons.” Fluid Phase Equilibria 94 (March 15, 1994): 5187. doi:10.1016/03783812(94)870519. Examples
Problem in article for SMK function.
>>> MK(553.15, 751.35, 0.302) 38727.993546377205

thermo.phase_change.
Velasco
(T, Tc, omega)[source]¶ Calculates enthalpy of vaporization at arbitrary temperatures using a the work of [R462]; requires a chemical’s critical temperature and acentric factor.
The enthalpy of vaporization is given by:
\[\Delta_{vap} H = RT_c(7.2729 + 10.4962\omega + 0.6061\omega^2)(1T_r)^{0.38}\]Parameters: T : float
Temperature of fluid [K]
Tc : float
Critical temperature of fluid [K]
omega : float
Acentric factor []
Returns: Hvap : float
Enthalpy of vaporization, [J/mol]
Notes
The original article has been reviewed. It is regressed from enthalpy of vaporization values at 0.7Tr, from 121 fluids in REFPROP 9.1. A value in the article was read to be similar, but slightly too low from that calculated here.
References
[R462] (1, 2, 3) Velasco, S., M. J. Santos, and J. A. White. “Extended Corresponding States Expressions for the Changes in Enthalpy, Compressibility Factor and ConstantVolume Heat Capacity at Vaporization.” The Journal of Chemical Thermodynamics 85 (June 2015): 6876. doi:10.1016/j.jct.2015.01.011. Examples
From graph, in [R462] for perfluoronheptane.
>>> Velasco(333.2, 476.0, 0.5559) 33299.41734936356

thermo.phase_change.
Riedel
(Tb, Tc, Pc)[source]¶ Calculates enthalpy of vaporization at the boiling point, using the Ridel [R463] CSP method. Required information are critical temperature and pressure, and boiling point. Equation taken from [R464] and [R465].
The enthalpy of vaporization is given by:
\[\Delta_{vap} H=1.093 T_b R\frac{\ln P_c1.013}{0.930T_{br}}\]Parameters: Tb : float
Boiling temperature of fluid [K]
Tc : float
Critical temperature of fluid [K]
Pc : float
Critical pressure of fluid [Pa]
Returns: Hvap : float
Enthalpy of vaporization at the normal boiling point, [J/mol]
Notes
This equation has no example calculation in any source. The source has not been verified. It is equation 4144 in Perry’s. Perry’s also claims that errors seldom surpass 5%.
[R464] is the source of example work here, showing a calculation at 0.0% error.
Internal units of pressure are bar.
References
[R463] (1, 2) Riedel, L. “Eine Neue Universelle Dampfdruckformel Untersuchungen Uber Eine Erweiterung Des Theorems Der Ubereinstimmenden Zustande. Teil I.” Chemie Ingenieur Technik 26, no. 2 (February 1, 1954): 8389. doi:10.1002/cite.330260206. [R464] (1, 2, 3, 4) Poling, Bruce E. The Properties of Gases and Liquids. 5th edition. New York: McGrawHill Professional, 2000. [R465] (1, 2) Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. McGrawHill Professional, 2007. Examples
Pyridine, 0.0% err vs. exp: 35090 J/mol; from Poling [R464].
>>> Riedel(388.4, 620.0, 56.3E5) 35089.78989646058

thermo.phase_change.
Chen
(Tb, Tc, Pc)[source]¶ Calculates enthalpy of vaporization using the Chen [R466] correlation and a chemical’s critical temperature, pressure and boiling point.
The enthalpy of vaporization is given by:
\[\Delta H_{vb} = RT_b \frac{3.978 T_r  3.958 + 1.555 \ln P_c}{1.07  T_r}\]Parameters: Tb : float
Boiling temperature of the fluid [K]
Tc : float
Critical temperature of fluid [K]
Pc : float
Critical pressure of fluid [Pa]
Returns: Hvap : float
Enthalpy of vaporization, [J/mol]
Notes
The formulation presented in the original article is similar, but uses units of atm and calorie instead. The form in [R467] has adjusted for this. A method for estimating enthalpy of vaporization at other conditions has also been developed, but the article is unclear on its implementation. Based on the Pitzer correlation.
Internal units: bar and K
References
[R466] (1, 2) Chen, N. H. “Generalized Correlation for Latent Heat of Vaporization.” Journal of Chemical & Engineering Data 10, no. 2 (April 1, 1965): 20710. doi:10.1021/je60025a047 [R467] (1, 2) Poling, Bruce E. The Properties of Gases and Liquids. 5th edition. New York: McGrawHill Professional, 2000. Examples
Same problem as in Perry’s examples.
>>> Chen(294.0, 466.0, 5.55E6) 26705.893506174052

thermo.phase_change.
Liu
(Tb, Tc, Pc)[source]¶ Calculates enthalpy of vaporization at the normal boiling point using the Liu [R468] correlation, and a chemical’s critical temperature, pressure and boiling point.
The enthalpy of vaporization is given by:
\[\Delta H_{vap} = RT_b \left[ \frac{T_b}{220}\right]^{0.0627} \frac{ (1T_{br})^{0.38} \ln(P_c/P_A)}{1T_{br} + 0.38 T_{br} \ln T_{br}}\]Parameters: Tb : float
Boiling temperature of the fluid [K]
Tc : float
Critical temperature of fluid [K]
Pc : float
Critical pressure of fluid [Pa]
Returns: Hvap : float
Enthalpy of vaporization, [J/mol]
Notes
This formulation can be adjusted for lower boiling points, due to the use of a rationalized pressure relationship. The formulation is taken from the original article.
A correction for alcohols and organic acids based on carbon number, which only modifies the boiling point, is available but not implemented.
No sample calculations are available in the article.
Internal units: Pa and K
References
[R468] (1, 2) LIU, ZHIYONG. “Estimation of Heat of Vaporization of Pure Liquid at Its Normal Boiling Temperature.” Chemical Engineering Communications 184, no. 1 (February 1, 2001): 22128. doi:10.1080/00986440108912849. Examples
Same problem as in Perry’s examples
>>> Liu(294.0, 466.0, 5.55E6) 26378.566319606754

thermo.phase_change.
Vetere
(Tb, Tc, Pc, F=1)[source]¶ Calculates enthalpy of vaporization at the boiling point, using the Vetere [R469] CSP method. Required information are critical temperature and pressure, and boiling point. Equation taken from [R470].
The enthalpy of vaporization is given by:
\[\frac {\Delta H_{vap}}{RT_b} = \frac{\tau_b^{0.38} \left[ \ln P_c  0.513 + \frac{0.5066}{P_cT_{br}^2}\right]} {\tau_b + F(1\tau_b^{0.38})\ln T_{br}}\]Parameters: Tb : float
Boiling temperature of fluid [K]
Tc : float
Critical temperature of fluid [K]
Pc : float
Critical pressure of fluid [Pa]
F : float, optional
Constant for a fluid, []
Returns: Hvap : float
Enthalpy of vaporization at the boiling point, [J/mol]
Notes
The equation cannot be found in the original source. It is believed that a second article is its source, or that DIPPR staff have altered the formulation.
Internal units of pressure are bar.
References
[R469] (1, 2) Vetere, Alessandro. “Methods to Predict the Vaporization Enthalpies at the Normal Boiling Temperature of Pure Compounds Revisited.” Fluid Phase Equilibria 106, no. 12 (May 1, 1995): 1–10. doi:10.1016/03783812(94)02627D. [R470] (1, 2, 3) Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. McGrawHill Professional, 2007. Examples
Example as in [R470], p2487; exp: 25.73
>>> Vetere(294.0, 466.0, 5.55E6) 26363.430021286465

thermo.phase_change.
Watson
(T, Hvap_ref, T_Ref, Tc, exponent=0.38)[source]¶ Adjusts enthalpy of vaporization of enthalpy for another temperature, for one temperature.

thermo.phase_change.
enthalpy_vaporization_methods
= ['DIPPR_PERRY_8E', 'VDI_PPDS', 'COOLPROP', 'VDI_TABULAR', 'MORGAN_KOBAYASHI', 'SIVARAMAN_MAGEE_KOBAYASHI', 'VELASCO', 'PITZER', 'ALIBAKHSHI', 'CRC_HVAP_TB', 'CRC_HVAP_298', 'GHARAGHEIZI_HVAP_298', 'CLAPEYRON', 'RIEDEL', 'CHEN', 'VETERE', 'LIU']¶ Holds all methods available for the EnthalpyVaporization class, for use in iterating over them.

class
thermo.phase_change.
EnthalpyVaporization
(CASRN='', Tb=None, Tc=None, Pc=None, omega=None, similarity_variable=None, Psat=None, Zl=None, Zg=None)[source]¶ Bases:
thermo.utils.TDependentProperty
Class for dealing with heat of vaporization as a function of temperature. Consists of three constant value data sources, one source of tabular information, three coefficientbased methods, nine correspondingstates estimators, and the external library CoolProp.
Parameters: Tb : float, optional
Boiling point, [K]
Tc : float, optional
Critical temperature, [K]
Pc : float, optional
Critical pressure, [Pa]
omega : float, optional
Acentric factor, []
similarity_variable : float, optional
similarity variable, n_atoms/MW, [mol/g]
Psat : float or callable, optional
Vapor pressure at T or callable for the same, [Pa]
Zl : float or callable, optional
Compressibility of liquid at T or callable for the same, []
Zg : float or callable, optional
Compressibility of gas at T or callable for the same, []
CASRN : str, optional
The CAS number of the chemical
Notes
To iterate over all methods, use the list stored in
enthalpy_vaporization_methods
. CLAPEYRON:
 The Clapeyron fundamental model desecribed in
Clapeyron
. This is the model which uses Zl, Zg, and Psat, all of which must be set at each temperature change to allow recalculation of the heat of vaporization.  MORGAN_KOBAYASHI:
 The MK CSP model equation documented in
MK
.  SIVARAMAN_MAGEE_KOBAYASHI:
 The SMK CSP model equation documented in
SMK
.  VELASCO:
 The Velasco CSP model equation documented in
Velasco
.  PITZER:
 The Pitzer CSP model equation documented in
Pitzer
.  RIEDEL:
 The Riedel CSP model equation, valid at the boiling point only,
documented in
Riedel
. This is adjusted with theWatson
equation unless Tc is not available.  CHEN:
 The Chen CSP model equation, valid at the boiling point only,
documented in
Chen
. This is adjusted with theWatson
equation unless Tc is not available.  VETERE:
 The Vetere CSP model equation, valid at the boiling point only,
documented in
Vetere
. This is adjusted with theWatson
equation unless Tc is not available.  LIU:
 The Liu CSP model equation, valid at the boiling point only,
documented in
Liu
. This is adjusted with theWatson
equation unless Tc is not available.  CRC_HVAP_TB:
 The constant value available in [R474] at the normal boiling point. This
is adusted with the
Watson
equation unless Tc is not available. Data is available for 707 chemicals.  CRC_HVAP_298:
 The constant value available in [R474] at 298.15 K. This
is adusted with the
Watson
equation unless Tc is not available. Data is available for 633 chemicals.  GHARAGHEIZI_HVAP_298:
 The constant value available in [R475] at 298.15 K. This
is adusted with the
Watson
equation unless Tc is not available. Data is available for 2730 chemicals.  COOLPROP:
 CoolProp external library; with select fluids from its library. Range is limited to that of the equations of state it uses, as described in [R473]. Very slow but accurate.
 VDI_TABULAR:
 Tabular data in [R474] along the saturation curve; interpolation is as set by the user or the default.
 VDI_PPDS:
 Coefficients for a equation form developed by the PPDS, published openly in [R473]. Extrapolates poorly at low temperatures.
 DIPPR_PERRY_8E:
 A collection of 344 coefficient sets from the DIPPR database published
openly in [R476]. Provides temperature limits for all its fluids.
thermo.dippr.EQ106
is used for its fluids.  ALIBAKHSHI:
 Oneconstant limited temperature range regression method presented in [R477], with constants for ~2000 chemicals from the DIPPR database. Valid up to 100 K below the critical point, and 50 K under the boiling point.
References
[R471] Poling, Bruce E. The Properties of Gases and Liquids. 5th edition. New York: McGrawHill Professional, 2000. [R472] Bell, Ian H., Jorrit Wronski, Sylvain Quoilin, and Vincent Lemort. “Pure and PseudoPure Fluid Thermophysical Property Evaluation and the OpenSource Thermophysical Property Library CoolProp.” Industrial & Engineering Chemistry Research 53, no. 6 (February 12, 2014): 24982508. doi:10.1021/ie4033999. http://www.coolprop.org/ [R473] (1, 2, 3) Gesellschaft, V. D. I., ed. VDI Heat Atlas. 2nd edition. Berlin; New York:: Springer, 2010. [R474] (1, 2, 3, 4) Haynes, W.M., Thomas J. Bruno, and David R. Lide. CRC Handbook of Chemistry and Physics. [Boca Raton, FL]: CRC press, 2014. [R475] (1, 2) Gharagheizi, Farhad, Poorandokht IlaniKashkouli, William E. Acree Jr., Amir H. Mohammadi, and Deresh Ramjugernath. “A Group Contribution Model for Determining the Vaporization Enthalpy of Organic Compounds at the Standard Reference Temperature of 298 K.” Fluid Phase Equilibria 360 (December 25, 2013): 27992. doi:10.1016/j.fluid.2013.09.021. [R476] (1, 2) Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. McGrawHill Professional, 2007. [R477] (1, 2) Alibakhshi, Amin. “Enthalpy of Vaporization, Its Temperature Dependence and Correlation with Surface Tension: A Theoretical Approach.” Fluid Phase Equilibria 432 (January 25, 2017): 6269. doi:10.1016/j.fluid.2016.10.013. Attributes
T_cached interpolation_T interpolation_property interpolation_property_inv method Methods
T_dependent_property
(T)Method to calculate the property with sanity checking and without specifying a specific method. T_dependent_property_derivative
(T[, order])Method to obtain a derivative of a property with respect to temperature, of a given order. T_dependent_property_integral
(T1, T2)Method to calculate the integral of a property with respect to temperature, using a specified method. T_dependent_property_integral_over_T
(T1, T2)Method to calculate the integral of a property over temperature with respect to temperature, using a specified method. __call__
(T)Convenience method to calculate the property; calls T_dependent_property
.calculate
(T, method)Method to calculate heat of vaporization of a liquid at temperature T with a given method. calculate_derivative
(T, method[, order])Method to calculate a derivative of a property with respect to temperature, of a given order using a specified method. calculate_integral
(T1, T2, method)Method to calculate the integral of a property with respect to temperature, using a specified method. calculate_integral_over_T
(T1, T2, method)Method to calculate the integral of a property over temperature with respect to temperature, using a specified method. extrapolate_tabular
(T)interpolate
(T, name)Method to perform interpolation on a given tabular data set previously added via set_tabular_data
.load_all_methods
()Method which picks out coefficients for the specified chemical from the various dictionaries and DataFrames storing it. plot_T_dependent_property
([Tmin, Tmax, ...])Method to create a plot of the property vs temperature according to either a specified list of methods, or user methods (if set), or all methods. select_valid_methods
(T)Method to obtain a sorted list of methods which are valid at T according to test_method_validity. set_tabular_data
(Ts, properties[, name, ...])Method to set tabular data to be used for interpolation. set_user_methods
(user_methods[, forced])Method used to select certain property methods as having a higher priority than were set by default. solve_prop
(goal[, reset_method])Method to solve for the temperature at which a property is at a specified value. test_method_validity
(T, method)Method to check the validity of a method. test_property_validity
(prop)Method to test the validity of a calculated property. 
CSP_methods
= ['MORGAN_KOBAYASHI', 'SIVARAMAN_MAGEE_KOBAYASHI', 'VELASCO', 'PITZER']¶

Tmax
= None¶ Maximum temperature at which no method can calculate the heat of vaporization above.

Tmin
= None¶ Minimum temperature at which no method can calculate the heat of vaporization under.

Watson_exponent
= 0.38¶ Exponent used in the Watson equation

all_methods
= None¶ Set of all methods available for a given CASRN and properties; filled by
load_all_methods
.

boiling_methods
= ['RIEDEL', 'CHEN', 'VETERE', 'LIU']¶

calculate
(T, method)[source]¶ Method to calculate heat of vaporization of a liquid at temperature T with a given method.
This method has no exception handling; see T_dependent_property for that.
Parameters: T : float
Temperature at which to calculate heat of vaporization, [K]
method : str
Name of the method to use
Returns: Hvap : float
Heat of vaporization of the liquid at T, [J/mol]

interpolation_T
= None¶ No interpolation transformation by default.

interpolation_property
= None¶ No interpolation transformation by default.

interpolation_property_inv
= None¶ No interpolation transformation by default.

load_all_methods
()[source]¶ Method which picks out coefficients for the specified chemical from the various dictionaries and DataFrames storing it. All data is stored as attributes. This method also sets
Tmin
,Tmax
, andall_methods
as a set of methods for which the data exists for.Called on initialization only. See the source code for the variables at which the coefficients are stored. The coefficients can safely be altered once the class is initialized. This method can be called again to reset the parameters.

name
= 'Enthalpy of vaporization'¶

property_max
= 1000000.0¶ Maximum valid of heat of vaporization. Set to twice the value in the available data.

property_min
= 0¶ Mimimum valid value of heat of vaporization. This occurs at the critical point exactly.

ranked_methods
= ['COOLPROP', 'DIPPR_PERRY_8E', 'VDI_PPDS', 'VDI_TABULAR', 'MORGAN_KOBAYASHI', 'SIVARAMAN_MAGEE_KOBAYASHI', 'VELASCO', 'PITZER', 'ALIBAKHSHI', 'CRC_HVAP_TB', 'CRC_HVAP_298', 'GHARAGHEIZI_HVAP_298', 'CLAPEYRON', 'RIEDEL', 'CHEN', 'VETERE', 'LIU']¶ Default rankings of the available methods.

sorted_valid_methods
= None¶ sorted_valid_methods, list: Stored methods which were found valid at a specific temperature; set by T_dependent_property.

tabular_data
= None¶ tabular_data, dict: Stored (Ts, properties) for any tabular data; indexed by provided or autogenerated name.

tabular_data_interpolators
= None¶ tabular_data_interpolators, dict: Stored (extrapolator, spline) tuples which are interp1d instances for each set of tabular data; indexed by tuple of (name, interpolation_T, interpolation_property, interpolation_property_inv) to ensure that if an interpolation transform is altered, the old interpolator which had been created is no longer used.

tabular_extrapolation_permitted
= True¶ Allow tabular extrapolation by default; values below 0 will be obtained at high temperatures.

test_method_validity
(T, method)[source]¶ Method to check the validity of a method. For CSP methods, the models are considered valid from 0 K to the critical point. For tabular data, extrapolation outside of the range is used if
tabular_extrapolation_permitted
is set; if it is, the extrapolation is considered valid for all temperatures.It is not guaranteed that a method will work or give an accurate prediction simply because this method considers the method valid.
The constant methods CRC_HVAP_TB, CRC_HVAP_298, and GHARAGHEIZI_HVAP are adjusted for temperature dependence according to the
Watson
equation, with a temperature exponent as set inWatson_exponent
, usually regarded as 0.38. However, if Tc is not set, then the adjustment cannot be made. In that case the methods are considered valid for within 5 K of their boiling point or 298.15 K as appropriate.Parameters: T : float
Temperature at which to test the method, [K]
method : str
Name of the method to test
Returns: validity : bool
Whether or not a method is valid

units
= 'J/mol'¶

user_methods
= None¶ user_methods, list: Stored methods which were specified by the user in a ranked order of preference; set by T_dependent_property.

thermo.phase_change.
Hfus
(T=298.15, P=101325, MW=None, AvailableMethods=False, Method=None, CASRN='')[source]¶ This function handles the calculation of a chemical’s enthalpy of fusion. Generally this, is used by the chemical class, as all parameters are passed. Calling the function directly works okay.
Enthalpy of fusion is a weak function of pressure, and its effects are neglected.
This API is considered experimental, and is expected to be removed in a future release in favor of a more complete objectoriented interface.

thermo.phase_change.
Hsub
(T=298.15, P=101325, MW=None, AvailableMethods=False, Method=None, CASRN='')[source]¶ This function handles the calculation of a chemical’s enthalpy of sublimation. Generally this, is used by the chemical class, as all parameters are passed.
This API is considered experimental, and is expected to be removed in a future release in favor of a more complete objectoriented interface.

thermo.phase_change.
Tliquidus
(Tms=None, ws=None, xs=None, CASRNs=None, AvailableMethods=False, Method=None)[source]¶ This function handles the retrival of a mixtures’s liquidus point.
This API is considered experimental, and is expected to be removed in a future release in favor of a more complete objectoriented interface.
>>> Tliquidus(Tms=[250.0, 350.0], xs=[0.5, 0.5]) 350.0 >>> Tliquidus(Tms=[250, 350], xs=[0.5, 0.5], Method='Simple') 300.0 >>> Tliquidus(Tms=[250, 350], xs=[0.5, 0.5], AvailableMethods=True) ['Maximum', 'Simple', 'None']