Vapor Pressure and Sublimation Pressure (thermo.vapor_pressure)¶
This module contains implementations of thermo.utils.TDependentProperty
representing vapor pressure and sublimation pressure. A variety of estimation
and data methods are available as included in the chemicals library.
For reporting bugs, adding feature requests, or submitting pull requests, please use the GitHub issue tracker.
Vapor Pressure¶
- class thermo.vapor_pressure.VaporPressure(Tb=None, Tc=None, Pc=None, omega=None, CASRN='', extrapolation='AntoineAB|DIPPR101_ABC', **kwargs)[source]¶
Bases:
TDependentPropertyClass for dealing with vapor pressure as a function of temperature. Consists of six coefficient-based methods and five data sources, one source of tabular information, four corresponding-states estimators, any provided equation of state, the external library CoolProp, and one substance-specific formulation.
- Parameters:
- Tb
float,optional Boiling point, [K]
- Tc
float,optional Critical temperature, [K]
- Pc
float,optional Critical pressure, [Pa]
- omega
float,optional Acentric factor, [-]
- CASRN
str,optional The CAS number of the chemical
- eos
object,optional Equation of State object after
thermo.eos.GCEOS- load_databool,
optional If False, do not load property coefficients from data sources in files; this can be used to reduce the memory consumption of an object as well, [-]
- extrapolation
strorNone None to not extrapolate; see
TDependentPropertyfor a full list of all options, [-]- method
strorNone,optional If specified, use this method by default and do not use the ranked sorting; an exception is raised if this is not a valid method for the provided inputs, [-]
- Tb
Methods
calculate(T, method)Method to calculate vapor pressure of a fluid at temperature T with a given method.
Function to make the data-based interpolation as linear as possible.
log(P) interpolation transformation by default.
exp(P) interpolation transformation by default; reverses
interpolation_property_inv.test_method_validity(T, method)Method to test the validity of a specified method for a given temperature.
See also
chemicals.vapor_pressure.Wagner_originalchemicals.vapor_pressure.Wagnerchemicals.vapor_pressure.TRC_Antoine_extendedchemicals.vapor_pressure.Antoinechemicals.vapor_pressure.boiling_critical_relationchemicals.vapor_pressure.Lee_Keslerchemicals.vapor_pressure.Ambrose_Waltonchemicals.vapor_pressure.Sanjarichemicals.vapor_pressure.Edalatchemicals.iapws.iapws95_Psat
Notes
To iterate over all methods, use the list stored in
vapor_pressure_methods.- WAGNER_MCGARRY:
The Wagner 3,6 original model equation documented in
chemicals.vapor_pressure.Wagner_original, with data for 245 chemicals, from [1],- WAGNER_POLING:
The Wagner 2.5, 5 model equation documented in
chemicals.vapor_pressure.Wagnerin [2], with data for 104 chemicals.- ANTOINE_EXTENDED_POLING:
The TRC extended Antoine model equation documented in
chemicals.vapor_pressure.TRC_Antoine_extendedwith data for 97 chemicals in [2].- ANTOINE_POLING:
Standard Antoine equation, as documented in the function
chemicals.vapor_pressure.Antoineand with data for 325 fluids from [2]. Coefficients were altered to be in units of Pa and Kelvin.- ANTOINE_WEBBOOK:
Standard Antoine equation, as documented in the function
chemicals.vapor_pressure.Antoineand with data for ~1400 fluids from [6]. Coefficients were altered to be in units of Pa and Kelvin.- DIPPR_PERRY_8E:
A collection of 341 coefficient sets from the DIPPR database published openly in [5]. Provides temperature limits for all its fluids.
chemicals.dippr.EQ101is used for its fluids.- VDI_PPDS:
Coefficients for a equation form developed by the PPDS, published openly in [4].
- 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 [3]. Very slow.
- BOILING_CRITICAL:
Fundamental relationship in thermodynamics making several approximations; see
chemicals.vapor_pressure.boiling_critical_relationfor details. Least accurate method in most circumstances.- LEE_KESLER_PSAT:
CSP method documented in
chemicals.vapor_pressure.Lee_Kesler. Widely used.- AMBROSE_WALTON:
CSP method documented in
chemicals.vapor_pressure.Ambrose_Walton.- SANJARI:
CSP method documented in
chemicals.vapor_pressure.Sanjari.- EDALAT:
CSP method documented in
chemicals.vapor_pressure.Edalat.- VDI_TABULAR:
Tabular data in [4] along the saturation curve; interpolation is as set by the user or the default.
- EOS:
Equation of state provided by user; must implement
thermo.eos.GCEOS.Psat- IAPWS_PSAT:
IAPWS-95 formulation documented in
chemicals.iapws.iapws95_Psat.- ALCOCK_ELEMENTS:
A collection of vapor pressure data for metallic elements, in
chemicals.dippr.EQ101form [7]- HEOS_FIT:
A series of higher-order polynomial fits to the calculated results from fundamental helmholtz equations of state as calculated with REFPROP
- LANDOLT:
Antoine coefficients in [8], [9], and [10] for organic species
References
[1]McGarry, Jack. “Correlation and Prediction of the Vapor Pressures of Pure Liquids over Large Pressure Ranges.” Industrial & Engineering Chemistry Process Design and Development 22, no. 2 (April 1, 1983): 313-22. doi:10.1021/i200021a023.
[2] (1,2,3)Poling, Bruce E. The Properties of Gases and Liquids. 5th edition. New York: McGraw-Hill Professional, 2000.
[3]Bell, Ian H., Jorrit Wronski, Sylvain Quoilin, and Vincent Lemort. “Pure and Pseudo-Pure Fluid Thermophysical Property Evaluation and the Open-Source Thermophysical Property Library CoolProp.” Industrial & Engineering Chemistry Research 53, no. 6 (February 12, 2014): 2498-2508. doi:10.1021/ie4033999. http://www.coolprop.org/
[4] (1,2)Gesellschaft, V. D. I., ed. VDI Heat Atlas. 2nd edition. Berlin; New York:: Springer, 2010.
[5]Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. McGraw-Hill Professional, 2007.
[6]Shen, V.K., Siderius, D.W., Krekelberg, W.P., and Hatch, H.W., Eds., NIST WebBook, NIST, http://doi.org/10.18434/T4M88Q
[7]Alcock, C. B., V. P. Itkin, and M. K. Horrigan. “Vapour Pressure Equations for the Metallic Elements: 298-2500K.” Canadian Metallurgical Quarterly 23, no. 3 (July 1, 1984): 309-13. https://doi.org/10.1179/cmq.1984.23.3.309.
[8]Hall, K. R. Vapor Pressure and Antoine Constants for Hydrocarbons, and S, Se, Te, and Halogen Containing Organic Compounds. Springer, 1999.
[9]Dykyj, J., and K. R. Hall. “Vapor Pressure and Antoine Constants for Oxygen Containing Organic Compounds”. 2000.
[10]Hall, K. R. Vapor Pressure and Antoine Constants for Nitrogen Containing Organic Compounds. Springer, 2001.
- calculate(T, method)[source]¶
Method to calculate vapor pressure of a fluid at temperature T with a given method.
This method has no exception handling; see
thermo.utils.TDependentProperty.T_dependent_propertyfor that.
- static interpolation_T(T)[source]¶
Function to make the data-based interpolation as linear as possible. This transforms the input T into the 1/T domain.
- static interpolation_property_inv(P)[source]¶
exp(P) interpolation transformation by default; reverses
interpolation_property_inv.
- name = 'Vapor pressure'¶
- property_max = 10000000000.0¶
Maximum valid value of vapor pressure. Set slightly above the critical point estimated for Iridium; Mercury’s 160 MPa critical point is the highest known.
- property_min = 0¶
Mimimum valid value of vapor pressure.
- ranked_methods = ['IAPWS_PSAT', 'HEOS_FIT', 'WAGNER_MCGARRY', 'WAGNER_POLING', 'ANTOINE_EXTENDED_POLING', 'DIPPR_PERRY_8E', 'VDI_PPDS', 'COOLPROP', 'ANTOINE_POLING', 'VDI_TABULAR', 'ANTOINE_WEBBOOK', 'ALCOCK_ELEMENTS', 'LANDOLT', 'AMBROSE_WALTON', 'LEE_KESLER_PSAT', 'EDALAT', 'BOILING_CRITICAL', 'EOS', 'SANJARI']¶
Default rankings of the available methods.
- test_method_validity(T, method)¶
Method to test the validity of a specified method for a given temperature. Demo function for testing only; must be implemented according to the methods available for each individual method. Include the interpolation check here.
- units = 'Pa'¶
- thermo.vapor_pressure.vapor_pressure_methods = ['IAPWS_PSAT', 'HEOS_FIT', 'WAGNER_MCGARRY', 'WAGNER_POLING', 'ANTOINE_EXTENDED_POLING', 'DIPPR_PERRY_8E', 'VDI_PPDS', 'COOLPROP', 'ANTOINE_POLING', 'VDI_TABULAR', 'ANTOINE_WEBBOOK', 'ALCOCK_ELEMENTS', 'LANDOLT', 'AMBROSE_WALTON', 'LEE_KESLER_PSAT', 'EDALAT', 'EOS', 'BOILING_CRITICAL', 'SANJARI']¶
Holds all methods available for the VaporPressure class, for use in iterating over them.
Sublimation Pressure¶
- class thermo.vapor_pressure.SublimationPressure(CASRN=None, Tt=None, Pt=None, Hsub_t=None, extrapolation='Arrhenius', **kwargs)[source]¶
Bases:
TDependentPropertyClass for dealing with sublimation pressure as a function of temperature. Consists of one estimation method, IAPWS for ice, metallic element data, and some data for organic species.
- Parameters:
- CASRN
str,optional The CAS number of the chemical
- Tt
float,optional Triple temperature, [K]
- Pt
float,optional Triple pressure, [Pa]
- Hsub_t
float,optional Sublimation enthalpy at the triple point, [J/mol]
- load_databool,
optional If False, do not load property coefficients from data sources in files; this can be used to reduce the memory consumption of an object as well, [-]
- extrapolation
strorNone None to not extrapolate; see
TDependentPropertyfor a full list of all options, [-]- method
strorNone,optional If specified, use this method by default and do not use the ranked sorting; an exception is raised if this is not a valid method for the provided inputs, [-]
- CASRN
Methods
calculate(T, method)Method to calculate sublimation pressure of a fluid at temperature T with a given method.
Function to make the data-based interpolation as linear as possible.
log(P) interpolation transformation by default.
exp(P) interpolation transformation by default; reverses
interpolation_property_inv.test_method_validity(T, method)Method to test the validity of a specified method for a given temperature.
Notes
To iterate over all methods, use the list stored in
sublimation_pressure_methods.- PSUB_CLAPEYRON:
Clapeyron thermodynamic identity,
Psub_Clapeyron- IAPWS_PSUB:
IAPWS formulation for sublimation pressure of ice,
iapws11_Psub- ALCOCK_ELEMENTS:
A collection of sublimation pressure data for metallic elements, in
chemicals.dippr.EQ101form [2]- LANDOLT:
Antoine coefficients in [3], [4], and [5] for organic species
References
[1]Goodman, B. T., W. V. Wilding, J. L. Oscarson, and R. L. Rowley. “Use of the DIPPR Database for the Development of QSPR Correlations: Solid Vapor Pressure and Heat of Sublimation of Organic Compounds.” International Journal of Thermophysics 25, no. 2 (March 1, 2004): 337-50. https://doi.org/10.1023/B:IJOT.0000028471.77933.80.
[2]Alcock, C. B., V. P. Itkin, and M. K. Horrigan. “Vapour Pressure Equations for the Metallic Elements: 298-2500K.” Canadian Metallurgical Quarterly 23, no. 3 (July 1, 1984): 309-13. https://doi.org/10.1179/cmq.1984.23.3.309.
[3]Hall, K. R. Vapor Pressure and Antoine Constants for Hydrocarbons, and S, Se, Te, and Halogen Containing Organic Compounds. Springer, 1999.
[4]Dykyj, J., and K. R. Hall. “Vapor Pressure and Antoine Constants for Oxygen Containing Organic Compounds”. 2000.
[5]Hall, K. R. Vapor Pressure and Antoine Constants for Nitrogen Containing Organic Compounds. Springer, 2001.
- calculate(T, method)[source]¶
Method to calculate sublimation pressure of a fluid at temperature T with a given method.
This method has no exception handling; see
T_dependent_propertyfor that.
- static interpolation_T(T)¶
Function to make the data-based interpolation as linear as possible. This transforms the input T into the 1/T domain.
- static interpolation_property(P)¶
log(P) interpolation transformation by default.
- static interpolation_property_inv(P)¶
exp(P) interpolation transformation by default; reverses
interpolation_property_inv.
- name = 'Sublimation pressure'¶
- property_max = 1000000.0¶
Maximum valid value of sublimation pressure. Set to 1 MPa tentatively.
- property_min = 1e-300¶
Mimimum valid value of sublimation pressure.
- ranked_methods = ['IAPWS_PSUB', 'ALCOCK_ELEMENTS', 'LANDOLT', 'PSUB_CLAPEYRON']¶
Default rankings of the available methods.
- test_method_validity(T, method)¶
Method to test the validity of a specified method for a given temperature. Demo function for testing only; must be implemented according to the methods available for each individual method. Include the interpolation check here.
- units = 'Pa'¶
- thermo.vapor_pressure.sublimation_pressure_methods = ['PSUB_CLAPEYRON', 'ALCOCK_ELEMENTS', 'IAPWS_PSUB', 'LANDOLT']¶
Holds all methods available for the SublimationPressure class, for use in iterating over them.