Statistical Thermodynamic Models¶
Group Contribution in Cebule SDK¶
Cebule currently supports two specialized UNIFAC parameter sets:
-
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".
-
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 moleculesgc_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 moleculeindices
: List of dictionaries mapping group names to atom indices for each occurrenceparams
: Dictionary mapping group names to their volume (R) and surface area (Q) parametersinteraction
: 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:
The Stavermann–Guggenheim equation [@] is applied to approximate the combinatorial contribution:
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:
Volume/mole fraction ratio for component i (j: component index) in the mixture:
Surface area/mole fraction ratio for component i (j: component index) in the mixture:
Molecular volume parameter for component i (k: subgroup index):
Molecular surface area parameter for component i (k: subgroup index):
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.
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:
Volume/mole fraction ratio:
Main group interaction parameter matrix:
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