Bondi Group Contribution Method (thermo.group_contribution.fedors)

This module contains an implementation of the Bondi group-contribution method. This functionality requires the RDKit library to work.

thermo.group_contribution.bondi.bondi_van_der_waals_surface_area_volume(rdkitmol)[source]

Calculate the van der Waals volume V_vdw and surface area A_vdw for a given molecule using Bondi group contributions.

This function identifies the Bondi groups present in the molecule using SMARTS-based fragmentation and computes the total van der Waals volume and surface area from the Bondi group contributions method.

Parameters:
rdkitmolrdkit.Chem.Mol

RDKit molecule object representing the chemical structure of the molecule.

Returns:
V_vdwfloat

Van der Waals volume, [m^3/mol]

A_vdwfloat

Van der Waals surface area, [m^2/mol]

Raises:
ValueError

If the molecule cannot be fragmented successfully.

Notes

The secondary contributions from Table XVII in [1] are:

  • Decrement per cyclohexyl and per cyclopentyl ring in free and transcondensed cyclic naphthenes

  • Decrement per ring in cis-condensed cyclic naphthenes

  • Decrement per methylene ring condensed to benzene or other aromatic ring system

  • Decrement per dioxane ring

  • Decrement per single bond between conjugated double bonds

  • Decrement per single bond adjacent to carboxyl or amide group

The implementation follows Bondi’s 1964 paper.

References

[1]

Bondi, A. “Van Der Waals Volumes and Radii.” The Journal of Physical Chemistry 68, no. 3 (March 1, 1964): 441-451. https://doi.org/10.1021/j100785a001.

Examples

>>> from rdkit import Chem
>>> from thermo import Chemical
>>> mol = Chemical('decane').rdkitmol
>>> bondi_van_der_waals_surface_area_volume(mol)
(0.00010918, 1504000.0)
thermo.group_contribution.bondi.R_from_Van_der_Waals_volume(V_vdw)[source]

Calculates the UNIFAC R parameter from a species’ Van der Waals molar volume.

Rk=Vwk15.17R_k = \frac{V_{wk}}{15.17}
Parameters:
V_vdwfloat

Unnormalized Van der Waals volume, [m^3/mol]

Returns:
Rfloat

R UNIFAC parameter (normalized Van der Waals Volume) [-]

Notes

This function is the inverse of Van_der_Waals_volume().

Examples

>>> R_from_Van_der_Waals_volume(6.826196599999999e-05)
4.4998
thermo.group_contribution.bondi.Q_from_Van_der_Waals_area(A_vdw)[source]

Calculates the UNIFAC Q parameter from a species’ Van der Waals molar surface area.

Qk=Awk2.5×109Q_k = \frac{A_{wk}}{2.5 \times 10^9}
Parameters:
A_vdwfloat

Unnormalized Van der Waals surface area, [m^2/mol]

Returns:
Qfloat

Q UNIFAC parameter (normalized Van der Waals Area) [-]

Notes

This function is the inverse of Van_der_Waals_area().

Examples

>>> Q_from_Van_der_Waals_area(964000.0)
3.856