Wilson-Jasperson Group Contribution Method (thermo.group_contribution.wilson_jasperson)¶
This module contains an implementation of the Wilson-Jasperson group-contribution method. This functionality requires the RDKit library to work.
- thermo.group_contribution.Wilson_Jasperson(mol, Tb, second_order=True)[source]¶
Estimate the critical temperature and pressure of a molecule using the molecule itself, and a known or estimated boiling point using the Wilson-Jasperson method.
- Parameters
- molstr or rdkit.Chem.rdchem.Mol, optional
Smiles string representing a chemical or a rdkit molecule, [-]
- Tbfloat
Known or estimated boiling point, [K]
- second_orderbool
Whether to use the first order method (False), or the second order method, [-]
- Returns
- Tcfloat
Estimated critical temperature, [K]
- Pcfloat
Estimated critical pressure, [Pa]
- missing_Tc_incrementsbool
Whether or not there were missing atoms for the Tc calculation, [-]
- missing_Pc_incrementsbool
Whether or not there were missing atoms for the Pc calculation, [-]
Notes
Raises an exception if rdkit is not installed, or smi or rdkitmol is not defined.
Calculated values were published in [3] for 448 compounds, as calculated by NIST TDE. There appear to be further modifications to the method in NIST TDE, as ~25% of values have differences larger than 5 K.
References
- 1
Wilson, G. M., and L. V. Jasperson. “Critical Constants Tc, Pc, Estimation Based on Zero, First and Second Order Methods.” In Proceedings of the AIChE Spring Meeting, 21, 1996.
- 2
Poling, Bruce E. The Properties of Gases and Liquids. 5th edition. New York: McGraw-Hill Professional, 2000.
- 3
Yan, Xinjian, Qian Dong, and Xiangrong Hong. “Reliability Analysis of Group-Contribution Methods in Predicting Critical Temperatures of Organic Compounds.” Journal of Chemical & Engineering Data 48, no. 2 (March 1, 2003): 374-80. https://doi.org/10.1021/je025596f.
Examples
Example for 2-ethylphenol in [2]:
>>> Tc, Pc, _, _ = Wilson_Jasperson('CCC1=CC=CC=C1O', Tb=477.67) >>> (Tc, Pc) (693.567, 3743819.6667) >>> Tc, Pc, _, _ = Wilson_Jasperson('CCC1=CC=CC=C1O', Tb=477.67, second_order=False) >>> (Tc, Pc) (702.883, 3794106.49)