Skip to content

Statistical Thermodynamic Models

Group Contribution in Cebule SDK

Cebule currently supports two specialized UNIFAC parameter sets:

  1. UNIFAC Surfactant Parameters: These parameters are specifically optimized for systems containing surfactants, allowing for better prediction of properties in detergents, cosmetics, and micellar systems. These parameters are based on the research presented in "Thermodynamic Modelling of Surfactant Solutions".

  2. UNIFAC Viscosity Ionic Liquid Parameters (UNIFAC-VISCO-IL): This parameter set is designed for predicting viscosities of ionic liquid mixtures and their solutions. The model has been adapted to account for the unique structure and interactions present in ionic liquids, as detailed in "New Method for the Estimation of Viscosity of Pure and Mixtures of Ionic Liquids Based on the UNIFAC–VISCO Model".

Cebule SDK TaskType: GROUP_CONTRIBUTION

  • Perform group contribution analysis on molecules to obtain functional group parameters
  • Inputs:
  • smiles_list: List[str] - List of SMILES representations of molecules
  • gc_type: str - Type of group contribution method from [unifac_surfactant, unifac_visco_il]
  • Cebule max_processors: Not used
  • Output: Dictionary containing:
  • counts: List of dictionaries mapping group names to their occurrences in each molecule
  • indices: List of dictionaries mapping group names to atom indices for each occurrence
  • params: Dictionary mapping group names to their volume (R) and surface area (Q) parameters
  • interaction: Dictionary containing group-group interaction parameters between all groups present among all molecules

Example:

session.cebule.create_task("gc", TaskType.GROUP_CONTRIBUTION, smiles_list=["CCO", "[Na+].[Cl-]"], gc_type="unifac_surfactant")

# Result:
{
  "counts": [{"CH3": 1, "CH2": 1}, {"Na+": 1}], 
  "indices": [{"CH3": [[3]], "CH2": [[4]]}, {"Na+": [[0]]}], 
  "params": {
    "CH3": {"R": 0.9011, "Q": 0.848}, 
    "CH2": {"R": 0.6744, "Q": 0.54}, 
    "Na+": {"R": 1.0612, "Q": 1.0404}
  }, 
  "interaction": {
    "CH3": {"CH3": 0.0, "CH2": 0.0, "Na+": 0.0}, 
    "CH2": {"CH3": 0.0, "CH2": 0.0, "Na+": 2500.0}, 
    "Na+": {"CH3": 0.0, "CH2": -129.4, "Na+": 0.0}
  }
}

The results provide: 1. counts: Number of each functional group in each molecule 2. indices: Atom indices corresponding to each functional group (see Atom Order) 3. params: Volume (R) and surface area (Q) parameters for each group 4. interaction: Interaction parameters between different functional groups

The next sections will give an overview of different thermodynamic models ranging from Non-random Two-liquid (NRTL) to group contribution (GC) models. Many of these models found on common theory and can even be combined to obtain fine-tuned parameter sets.

Currently the Cebule engine supports the following models:

  • COSMO-RS & COSMO-SAC: Link

  • Non-random Two-liquid (NRTL, eNRTL) and Wilson models: Link

  • Group contribution (GC) models including UNIQUAC, Original UNIFAC, UNIFAC (Dortmund), UNIFAC (Lyngby), UNIFAC 2.0 (Kaiserslautern) and Predictive Soave-Redlich Kwong (PSRK): This section

  • Hybrid models: UNIFAC-VISCO, COSMO-NRTL: Link

Group contribution models theory

Group contribution methods are computational approaches that estimate molecular properties by summing the contributions of constituent chemical groups. These methods are based on the principle that the behavior of a molecule can be predicted by understanding the properties of its functional groups. By decomposing molecules into these fundamental building blocks, it's possible to predict physical and thermodynamic properties with reasonable accuracy while avoiding computationally expensive simulations.

UNIQUAC

The universal quasi-chemical (UNIQUAC) model is a only two parameters. With those two parameters per binary compound systems a thermodynamic equilibrium equilibrium of a chemical system can sufficiently be described. The extension to multi-component systems does not require any additional parameters (ternary or higher order).

The Gibbs free energy is decomposed into a combinatorial and residual part:

\[ G^E = (G^E)^C + (G^E)^R \]

The Stavermann–Guggenheim equation [@] is applied to approximate the combinatorial contribution:

\[ ln \gamma_i^C = (1 - V_i + ln V_i) - \frac{z}{2} q_i (1 - \frac{V_i}{F_i} + ln \frac{V_i}{F_i}) \]

The volume fraction is calculated via the following equation: $$ V_i = \frac{r_i x_i}{\sum_j x_j r_j} $$

and the surface fraction with $$ F_i = \frac{q_i x_i}{\sum_j x_i q_j} $$ , where the parameters \(r\) and \(q\) are the volume and surface areas of the pure compounds.

The coordiniation number z is set to ... for the UNIQUAC model.

The residual contribution is ...

$$ ln \gamma_i^R = q_i (1 - ln \frac{\sum_j q_j x_j \tau_{ji}}{\sum_j q_j x_j} - \sum_j \frac{q_j x_j \tau_{ij}}{\sum_k q_k x_k \tau_{kj}}) $$ where \(\tau_{ij} = e^{-\Delta u_{ij}/RT}\)

Original UNIFAC

The UNIFAC (UNIversal quasichemical Functional group Activity Coefficients) method is a well-established group contribution approach primarily used for predicting activity coefficients in non-ideal liquid mixtures. It combines combinatorial terms (accounting for molecular size and shape differences) with residual terms (representing energetic interactions between groups). UNIFAC has been widely applied in chemical engineering for designing separation processes, estimating phase equilibria, and predicting thermodynamic properties of complex systems.

The Original UNIFAC model consists of the following equations where similar to the UNIQAC model the activity coefficient is composed of a combinatorial and residual term:

\[ln \gamma_i = ln \gamma_i^C + ln \gamma_i^R\]
\[ln \gamma_i^C = 1 - V_i + ln V_i - 5 q_i(1 - \frac{V_i}{F_i} + ln \frac{V_i}{F_i}) \]

Volume/mole fraction ratio for component i (j: component index) in the mixture:

\[ V_i = \frac{r_i}{\sum_j r_j x_j} \]

Surface area/mole fraction ratio for component i (j: component index) in the mixture:

\[ F_i = \frac{q_i}{\sum_j q_j x_j} \]

Molecular volume parameter for component i (k: subgroup index):

\[ r_i = \sum_k \nu_k^{(i)} R_k \]

Molecular surface area parameter for component i (k: subgroup index):

\[ q_i = \sum_k \nu_k^{(i)} Q_k \]
\[ ln \gamma_i^R = \sum_i \nu_k^{(i)} (ln \Gamma_k - ln \Gamma^{(i)}_k ) = \sum_i \nu_k^{(i)} \frac{ln \Gamma_k}{ln \Gamma^{(i)}_k} \]

For \( ln \Gamma_k \) group mole fractions (\(X_k\) and surface area fractions ($$ \Theta_m \(\() are calculated with the composition (\)\)x_j$$) of the mixture.

For $$ ln \Gamma^{(i)}_k $$ group mole fractions (\(\(X_k^{(i)}\)\)) and surface area fractions ($$ \Theta_m $$) are calculated with \(\(x^{(i)} = 1\)\) for the pure component i.

\[ ln \Gamma_k = Q_k [ 1 - ln (\sum_m \Theta_m \Psi_{mk}) - \sum_m \frac{\Theta_m \Psi_{km}}{\sum_n \Theta_n \Psi_{nm}}] \]
\[ \Theta_m = \frac{Q_m X_m}{\sum_n Q_n X_n} \]
\[ X_m = \frac{\sum_j \nu_m^{(j)} x_j}{\sum_j \sum_n \nu_n^{(j)} x_j} \]
\[ \Psi_{nm} = exp(- { {a_{nm} } \over {T} }) \]

The UNIFAC consortium manages the parameter database for the original UNIFAC, modified UNIFAC, PSRK and VTPR models.

Modified UNIFAC (Dortmund)

The following modifications are made to the Original UNIFAC model :

Combinatorial part of liquid activity coefficient:

\[ ln \gamma^C_i = 1 - V'_i + ln V'_i - 5 q_i (1 - \frac{V_i}{F_i} + ln \frac{V_i}{F_i}) \]

Volume/mole fraction ratio:

\[ V_i' = \frac{r_i^{3/4}}{\sum_j r_j^{3/4} x_j} \]

Main group interaction parameter matrix:

\[ \Psi_{nm} = exp(- { {a_{nm} + b_{nm} T + c_{nm} T^2} \over {T} }) \]

Overview table

Equation UNIQUAC Original UNIFAC Mod. UNIFAC (DO)
Combinatorial term
Volume fraction
Surface fraction
Coordination number
Volume parameter
Surface area parameter
------------------------------- --------- ----------------- ------------------
Residual term
Residual activity coefficient
Group area fraction
Group mole fraction

Molecular volume parameter for component i (k: subgroup index) :

:$$ r_i = \sum_k \nu_k^{(i)} R_k $$

Molecular surface area parameter for component i (k: subgroup index):

:$$ q_i = \sum_k \nu_k^{(i)} Q_k $$

where \(\(\nu\)\) is the number of the particular subgroups which a component i can be divided into. \(\(R_k\)\) is the volume parameter and \(\(Q_k\)\) the surface area parameter for subgroup k. \(\(R_k\)\) and \(\(Q_k\)\) are tabulated parameters and provided by the UNIFAC Consortium (http://unifac.ddbst.de/). Each subgroup can be assigned to a main group.

Modified volume fraction :

:$$ \omega_i = {{x_i r_i^{2/3}} \over {\sum_j x_j r_j^{2/3}}} $$

Group mole fraction of subgroup k in component i :

:$$ X_k^{(i)} = {{\sum_i \nu_k^{(i)} x_i} \over {\sum_i \sum_l \nu_l^{(i)} x_i}} $$

Surface area fraction of subgroup k in component i:

:$$ \theta_k^{(i)} = \frac{X_k^{(i)} Q_k^{(i)}}{\sum_l X_l^{(i)} Q_l^{(i)}} $$

\(\(\theta\)\) is a matrix where the columns make up the components in the mixture and the rows are made up by the subgroups.

Local surface area fraction for j around i (the dot-product is performed of every single subgroup-row of matrix \(\(\theta\)\) with the columns of matrix \(\(\tau\)\)):

:$$ \theta_{ji} = { {\theta_j \tau_{ji}} \over {\sum_m \theta_m \tau_{mi}} } $$

where

:$$ \tau_{mi} = \Psi_{nm} $$

and \(\(\tau_{mi}\)\) is the Boltzmann factor and can be calculated by transposing the main group interaction parameter matrix:

:$$ \Psi_{nm} = exp(- { {a_{nm} + b_{nm} T + c_{nm} T^2} \over {T} }) $$

:\(\(a_{nm}\)\), \(\(b_{nm}\)\) and \(\(c_{nm}\)\) are the binary interaction parameters representing the interaction between the main groups where the following applies:

:$$ a_{nm} \ne a_{mn} \(\(; :\)\) b_{nm} \ne b_{mn} \(\(; :\)\) c_{nm} \ne c_{mn} $$

Interaction parameters between identical main groups become 0.

The indexes n and m refer to subgroups. Thus, parameters a,b and c of different subgroups belonging to the same main group are identical. A subgroup to maingroup lookup has to be made when generating the data matrices for a, b and c.

The binary interaction parameters are also tabulated parameters and provided by the UNIFAC Consortium (http://unifac.ddbst.de/). The original UNIFAC model uses only $$ a_{nm} \ne a_{mn} $$ as interaction parameters. Modified UNIFAC and PSRK include $$ b_{nm} \ne b_{mn} $$ and $$ c_{nm} \ne c_{mn} $$ for describing main group interactions.

The UNIFAC consortium has published all parameters for the original UNIFAC model: http://www.ddbst.com/published-parameters-unifac.html

For obtaining the parameters for applying the modified UNIFAC (Dortmund) model one has to become a member of the UNIFAC consortium or has to have access to the appendix of the following paper: https://doi.org/10.1016/j.fluid.2004.11.002