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)