Skip to content

Statistical Thermodynamic Models: COSMO-RS, COSMO-SAC

The next sections will give an overview of different thermodynamic models ranging from implicit solvation models to Non-random Two-liquid (NRTL) and 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 (already supported in the SDK) and various extensions: COSMO-RS + dispersion, COSMO-SAC-dsp, eCOSMO-RS/-SAC

  • Non-random Two-liquid (NRTL, eNRTL) and Wilson models (upcoming integration in SDK)

  • Group contribution (GC) models including modified UNIFAC (Dortmund; supported by SDK), UNIFAC (Lyngby; upcoming integration in SDK), UNIFAC 2.0 (Kaiserslautern; upcoming integration in SDK)

  • Hybrid models: UNIFAC-VISCO (supported by SDK), UNIFAC-VISCO-IL (supported by SDK) and COSMO-NRTL (Docs Link)

On this page we first present how the software development kit (SDK) can be utilized to retrieve sigma profiles and sigma-moments from the COSMO-RS and COSMO-SAC models, different parameterisations and model extensions. The theoretical theory of the models is covered after the SDK description.

COnductor like Screening MOdel for Real Solvents (COSMO-RS)

Three years after inventing the most efficient dielectric continuum model COSMO, Andreas Klamt realized that all dielectric continuum solvation models have two fundamental deficiencies:

1) The dielectric continuum theory is only applicable, if the polarization of solvent is in the linear response regime, i.e. of the orientation of the permanent dipoles moments of the solute molecules only slightly deviates from randomness. But the electric fields of polar molecules are so strong, that on their surface typical dipole moments of polar solvent molecules (1 – 2 Debye) get perfectly oriented. Hence the polarization is far out of linear response for even moderately polar solutes in moderately polar solvents.

2) Dielectric continuum solvation theory is completely non-thermodynamic, because the solvation energy in these models has no (or at least no plausible) dependence on the temperature, nor on the composition of the solvent.

On the other hand, Klamt realized, that the result of dielectric continuum models show plausible agreement with experimental solvation energies, too good to be completely accidental. Hence Klamt developed a statistical thermodynamic model based on COSMO, which he called COSMO for realistic solvation (COSMO-RS). COSMO-RS theory starts from the surface segments and screening charge densities of molecules virtually swimming in a perfect conductor, which can be easily calculated using COSMO with \(\epsilon\)=infinity. The key approximation of COSMO-RS is considering the surface segments as independent of each other and forming segment pairs in the liquid system, which is composed of solvent and solute. The pair interaction free energy of segments to first order only depend on the polarization charge densities \(\sigma\) and \(\sigma'\) of the two segments, where the optimal pairing is given, if the two polarization charge densities are opposite. Otherwise the residual charge of the pair causes a so-called misfit energy \(E_{misfit} = \alpha (\sigma + \sigma')^2/2\)

In addition to the misfit energy, strongly temperature dependent hydrogen bond interaction energies, also depending on \(\sigma\) and \(\sigma'\), have been added to the model. It must be noted, that the COSMO-RS can be easily extended to multiple segment descriptors beyond just \(\sigma\), e.g. a second polarization charge density describing the polarity of the surrounding of a segment, or the element of the atom, to which the segment belongs. Given the composition of the entire liquid ensemble with respect to the segment properties, i.e. with respect to \(\sigma\), the statistical thermodynamics of the pair formation has to be solved. Klamt found an extremely efficient algorithm for this task, later published under the name COSMOSPACE, directly delivering the chemical potentials of the surface segments of different \(\sigma\) in the solvent. Summing up the chemical potential of the surface segments of any molecule in the system, e.g. the solute, gives the so-called residual chemical potential of the compound in liquid mixture. Adding a small size-correction, usually called combinatorial contribution in chemical engineering literature, and adding the trivial concentration dependence of RTln(x), where x is the mole fraction of the compound under consideration, COSMO-RS thus delivers thermodynamically consistent chemical potentials of all compounds in the liquid system, from which all thermodynamic equilibrium properties, especially solubilities, partition properties, and enthalpies can be derived. Only afterwards Klamt’s model of pairwise interacting surface segments was identified to be equivalent to Guggenheim’s quasi-chemical model, being around in chemical engineering since the 1950th. Nevertheless, COSMO-RS must be considered as an extremely efficient combination of quantum chemical polarity information of molecules with solvation statistical thermodynamics, and it is widely considered as the most predictive thermodynamic model of solvation currently available. The first quantitative implementation of COSMO-RS was published in 1998. Later Klamt and his team further refined COSMO-RS under the brand name COSMOtherm. Meanwhile several re-implementations of COSMO-RS have been developed, including the COSMO-SAC, which often, but erroneously, is considered as an independent theoretical model, and the recently developed openCOSMO-RS.

Since the polarization charge density \(\sigma\) is the key property for the description of the molecular interactions in COSMO-RS, it is very informative to visualize \(\sigma\) color coded on the molecular surface, or to consider the histograms of \(\sigma\), called \(\sigma\)-profiles.

Create a COSMO-RS/-SAC task with the Cebule SDK

Cebule SDK TaskType: SIGMA

  • Calculates sigma profiles from COSMO surface charge densities
  • Requires: A completed COSMO task (must be connected via connected_task_id)
  • Inputs:
  • cosmo_method: str - Method for calculating sigma profiles, from [cosmo-rs, cosmo-sac]
  • For COSMO-SAC only:
    • Optional: num_profiles: int - Number of profiles to compute (1 or 3, default: 3 and 1 only works in certain molecules)
    • Optional: averaging: str - Averaging method (default: "Mullins"), from [Hsieh, Mullins]
  • Cebule max_processors: Not used
  • Output: Dictionary containing sigma profiles and related information:
  • For COSMO-RS:
    • Charge bins and charge densities across the molecular surface
    • Sigma moments list (6 sigma moments)
    • M0: Molecular surface area of the compound
    • M1: Negative of total charge of the compound
    • M2: Polarity of the compound
    • M3: Asymmetry of the sigma profile
    • M4-6: Higher-order moments (without well-established physical interpretations)
    • Hydrogen bond donor and acceptor sigma moments lists (6 sigma moments in each)
    • Mhbacc: Quantifies the molecule's hydrogen bond acceptor strength
    • Mhbdon: Quantifies the molecule's hydrogen bond donor strength
  • For COSMO-SAC:
    • Three separate sigma profiles for distinct surface types:
    • NHB: Non-hydrogen bonding surface segments. Generally correspond to hydrophobic or weakly polar regions of the molecule.
    • OH: Hydroxyl group surface segments. These areas have distinctive charge density distributions that reflect their strong hydrogen bond donor/acceptor capabilities.
    • OT: Other hydrogen bonding surface segments. This includes N, F, and O (outside of OH) atoms

Example:

# First create a COSMO calculation
cosmo_task = session.cebule.create_task("COSMO Ethanol",
                                     TaskType.COSMO,
                                     cosmo_input,
                                     nprocs=16)

# Then calculate sigma profiles using the COSMO results
sigma_task = session.cebule.create_task("Sigma Profile Ethanol",
                                     TaskType.SIGMA,
                                     connected_task_id=cosmo_task.id,
                                     cosmo_method="cosmo-sac")

# For COSMO-SAC with custom parameters
sigma_task_custom = session.cebule.create_task("Sigma Profile Custom",
                                           TaskType.SIGMA,
                                           connected_task_id=cosmo_task.id,
                                           cosmo_method="cosmo-sac",
                                           num_profiles=3,
                                           averaging="Hsieh")

# For COSMO-RS
sigma_task_rs = session.cebule.create_task("Sigma Profile COSMO-RS",
                                        TaskType.SIGMA,
                                        connected_task_id=cosmo_task.id,
                                        cosmo_method="cosmo-rs")

Cebule SDK TaskType: SOLUBILITY

  • Calculates solubility of a solute in solvent system using COSMO-SAC or COSMO-RS sigma profiles
  • Requires: Completed SIGMA tasks for both solute and solvent(s) (must be connected via connected_task_id). Pass all connected task IDs in a list, with the solute task first.
  • Inputs:
  • temperature: float - Temperature in Kelvin
  • melting_point: float - Melting point of the solute in Kelvin
  • enthalpy_melting: float - Enthalpy of fusion in J/mol
  • change_heat_capacity_melting: float - Heat capacity change upon melting in J/(molK). Note*: Only used for COSMO-SAC sigma profiles; ignored for COSMO-RS sigma profiles
  • sol_init: float - Initial guess for solubility value
  • solv_composition: List[float] - Molar fractions of solvents in a mixed solvent system. Should be in the same solvent component order as the connected task IDs (exclusing the first connected task ID which is for the solute).
  • Cebule max_processors: Not used
  • Output: Dictionary containing solubility results:
  • solubility: float- Predicted solubility value (mole fraction)
  • Optional: uncertainty: float- Uncertainty on the predicted solubility value, for COSMO-SAC

Example:

# First create SIGMA tasks for solute and solvents
# Assuming we already have COSMO tasks for each molecule
sigma_solute = session.cebule.create_task("Sigma Profile Solute",
                                       TaskType.SIGMA,
                                       connected_task_id=cosmo_solute_task.id,
                                       cosmo_method="cosmo-sac") # Can also use "cosmo-rs"

sigma_solvent1 = session.cebule.create_task("Sigma Profile Solvent1",
                                         TaskType.SIGMA,
                                         connected_task_id=cosmo_solvent1_task.id,
                                         cosmo_method="cosmo-sac")

sigma_solvent2 = session.cebule.create_task("Sigma Profile Solvent2",
                                         TaskType.SIGMA,
                                         connected_task_id=cosmo_solvent2_task.id,
                                         cosmo_method="cosmo-sac")

# Calculate solubility (first sigma task is assumed to be the solute)
solubility_task = session.cebule.create_task("Solubility Calculation",
                                          TaskType.SOLUBILITY,
                                          connected_task_id=[sigma_solute.id, 
                                                           sigma_solvent1.id, 
                                                           sigma_solvent2.id],
                                          temperature=298.15,
                                          melting_point=423.15,
                                          enthalpy_melting=25000.0,
                                          change_heat_capacity_melting=35.0, # Only specify this for COSMO-SAC
                                          sol_init=0.01,
                                          solv_composition=[0.7, 0.3])  # 70% solvent1, 30% solvent2

The SOLUBILITY task leverages COSMO-SAC/RS sigma profiles to predict the solubility of compounds in pure solvents or solvent mixtures.

  1. The first connected SIGMA task is treated as the solute
  2. The remaining connected SIGMA tasks are treated as solvents
  3. The solv_composition parameter must match the number of solvents
  4. All sigma profiles must be either all COSMO-SAC profiles, or all COSMO-RS profiles

This approach provides accurate solubility predictions for drug-like compounds and other organic molecules in common solvents, which is valuable for formulation development, crystallization process design, and other pharmaceutical and chemical applications.

Cebule SDK TaskType: ACTIVITY_COEFFICIENT

  • Calculates activity coefficients for mixture components using various thermodynamic models
  • Requires: Completed SIGMA tasks for all components (must be connected via connected_task_id)
  • Inputs:
  • calculation_method: str - Method for calculating activity coefficients, from [cosmo-rs, cosmo-sac, cosmo-sac-pdh-il, cosmo-sac-elec]
    • cosmo-rs: COSMO-RS activity coefficients using openCOSMO-RS implementation
    • cosmo-sac: COSMO-SAC 2010 activity coefficients
    • cosmo-sac-pdh-il: Pitzer-Debye-Hückel model for long-range electrostatic interactions in ionic liquids/electrolyte systems
    • cosmo-sac-elec: eCOSMO-SAC combined model (COSMO-SAC + PDH) for electrolyte activity coefficients
  • mole_fractions: List[float] - Mole fractions for each component in the mixture
  • temperature: float - Temperature in Kelvin
  • Optional: dielectric_constants: List[float] - Dielectric constants for each component (only for cosmo-sac-pdh-il and cosmo-sac-elec methods). If not provided, will be calculated using correlation for ionic species.
  • Cebule max_processors: Not used
  • Output: Dictionary containing activity coefficient results:
  • gamma: List[float] - Activity coefficients for each component
  • components: List[dict] - Component information (formula, molar mass, charge)
  • For PDH-IL and eCOSMO-SAC methods:
    • calculated_properties: dict - Auto-calculated properties including densities, radii sum, dielectric constants, and COSMO volumes/areas

Example:

# Calculate activity coefficients using COSMO-SAC
activity_coeff_task = session.cebule.create_task("Activity Coefficients",
                                              TaskType.ACTIVITY_COEFFICIENT,
                                              connected_task_id=[sigma_component1.id,
                                                               sigma_component2.id],
                                              calculation_method="cosmo-sac",
                                              mole_fractions=[0.5, 0.5],
                                              temperature=298.15)

# For electrolyte systems using eCOSMO-SAC
activity_coeff_elec = session.cebule.create_task("Electrolyte Activity Coefficients",
                                              TaskType.ACTIVITY_COEFFICIENT,
                                              connected_task_id=[sigma_IL1.id,
                                                               sigma_IL2.id],
                                              calculation_method="cosmo-sac-elec",
                                              mole_fractions=[0.5, 0.5],
                                              temperature=298.15)

# For PDH IL calculation
activity_coeff_pdh = session.cebule.create_task("PDH Activity Coefficients",
                                            TaskType.ACTIVITY_COEFFICIENT,
                                            connected_task_id=[sigma_IL1.id,
                                                             sigma_IL2.id],
                                            calculation_method="cosmo-sac-pdh-il",
                                            mole_fractions=[0.5, 0.5],
                                            temperature=298.15)

# For COSMO-RS activity coefficients
activity_coeff_rs = session.cebule.create_task("COSMO-RS Activity Coefficients",
                                          TaskType.ACTIVITY_COEFFICIENT,
                                          connected_task_id=[sigma_comp1.id,
                                                           sigma_comp2.id],
                                          calculation_method="cosmo-rs",
                                          mole_fractions=[0.6, 0.4],
                                          temperature=298.15)

The ACTIVITY_COEFFICIENT task provides flexible access to multiple activity coefficient models:

  1. Standard models (COSMO-RS, COSMO-SAC): For general mixture thermodynamics
  2. Electrolyte models (PDH-IL, eCOSMO-SAC): For ionic liquids and electrolyte solutions with long-range electrostatic interactions

This approach enables accurate activity coefficient predictions for complex systems including ionic liquids, electrolytes, and multi-component mixtures without requiring extensive user input.

Benchmarking different parameterisations of COSMO-RS/-SAC model versions and extensions

The aim of this detailed documentation of the COSMO-RS and COSMO-SAC models, their extensions and parameterisations, is to also lay the foundation to perform an extensive parameter fitting/fine-tuning and benchmarking framework for these models.

Therefore we present in the following all reported parameters and important data for comparing the models and their parameters in the future based on what the research community developed and benchmarked up to now.

COSMO-RS parameter tables 1 2

As documented by Klamt et al. 1998 1

Element-specific parameters

Element \(k\) Cavity radius \(R_k\) \([Å]\) Dispersion constant \(\gamma_k\) \([kcal/(mol*Å^2)]\)
H 1.30 -0.041
C 2.00 -0.037
N 1.83 -0.027
O 1.72 -0.042
Cl 2.05 -0.052

General COSMO-RS parameters

Parameter Unit Value
\(r_{av}\) [Å] 0.5
\(a^´\) [kcal/(mol Å^2)/e^2] 1288
\(f_{corr}\) - 2.4
\(c_{hb}\) [kcal/(mol Å^2/e^2)] 7400
\(\sigma_{hb}\) [e/Å^2] 0.0082
\(a_{eff}\) [Å^2] 7.1
\(\lambda\) - 0.14
\(\omega\) [kcal/mol] -0.21
\(\nu\) - 9.15

As documented by Gerlach et al. 2022 2

Parameter Unit Turbomole Orca-A Orca-B
Basis set - TZVP TZVPD TZVPD
\(\sigma^{}\) applied - yes no yes
\(r_{av}\) \([Å]\) 0.5 1 0.5 1 0.51
\(a_{eff}\) \([Å^2]\) 6.25 3 5.943 6.115
\(\alpha_{mf}\) \([kJ Å^2/(mol*e^2)]\) 5.950e6 3 5.953e6 7.584e6
\(f_{corr}\) - 2.4 1 2.4
\(c_{hb}\) \([kJ Å^2/(mol*e^2)]\) 3.670e7 3 3.671e7 3.093e7
\(\sigma_{hb}\) \([e/Å^2]\) 8.5e-3 3 7.469e-3 7.876e-3
\(c_{hb^T}\) - 1.5 4 1.5 4 1.5 4
\(A_{std}\) \([Å^2]\) 79.53 5 51.28 41.89

openCOSMO-RS parameter tables 2 6 7

As documented by Grigorash et al. 20257

Parameter Unit Value References
\(a_{eff}\) \([Å^2]\) 6.25 3
\(a_{eff}\) \([Å^2]\) 6.226 [] ORCA
\(r_{av}\) \([Å]\) 0.5 4
\(r_{av}^{cor}\) \([Å]\) 1 1
\(\alpha\) \([\frac{kJ*Å^2}{e^2*mol}]\) 5950.0e3 3 Turbomole
\(\alpha\) \([\frac{kJ*Å^2}{e^2*mol}]\) 7.579075e6 ORCA
\(f_{corr}\) - 2.4 1
\(\sigma_{hb}\) \([\frac{e}{Å^2}]\) 8.5e-03 3 Turbomole
\(\sigma_{hb}\) \([\frac{e}{Å^2}]\) 7.686e-03 ORCA
\(f_{e_I}\) - 1 1
\(c_{hb}\) \([\frac{kJ*Å^2}{e^2*mol}]\) 36700.0e3 3
\(c_{hb}\) \([\frac{kJ*Å^2}{e^2*mol}]\) 2.7488747e7 3
\(c_{hb}^T\) - 1.5 4
\(A_{std}\) \([Å]\) 79.53 5 Turbomole
\(A_{std}\) \([Å]\) 47.999 ORCA
\(z\) - 10
\(a_{sge}\) - 0.75 Turbomole

Parameterization of openCOSMO-RS 24a 6; gas and CPCM geometry optimizations at DFT/BP86/def2-TZVP level, gas and CPCM single point calculations at DFT/BP86/def2-TZVPD level with ORCA 6.0.

Parameter Unit Value
\(r_{av}^*\) \([Å]\) 0.5
\(a_{eff}\) \([Å^2]\) 5.925
\(\alpha_{mf}\) \([kJ*Å/(mol*e^2)]\) 7281
\(f_{corr}^*\) \([-]\) 2.4
\(c_{hb}\) \([kJ Å^2/(mol*e^2)]\) 43327
\(c_{hb}^{T*}\) \([-]\) 1.5
\(\sigma_{hb}\) \([e/Å^2]\) 0.00961
\(A_{std}\) \([Å^2]\) 41.624
\(\nu\) \([kJ/mol]\) -18.61
\(\omega_{ring}\) \([kJ/mol]\) 1.100
\(\tau_1\) \([kJ/(mol*Å^2)]\) 0.123
\(\tau_2\) \([kJ/(mol*Å^2)]\) 0.096
\(\tau_3\) \([kJ/(mol*Å^2)]\) 0.003
\(\tau_4\) \([kJ/(mol*Å^2)]\) 0.015
\(\tau_5\) \([kJ/(mol*Å^2)]\) 0.023
\(\tau_6\) \([kJ/(mol*Å^2)]\) 0.143
\(\tau_7\) \([kJ/(mol*Å^2)]\) 0.171
\(\tau_8\) \([kJ/(mol*Å^2)]\) 0.018
\(\tau_9\) \([kJ/(mol*Å^2)]\) 0.015
\(\tau_10\) \([kJ/(mol*Å^2)]\) 0.146

Calculated parameters based on openCOSMO-RS implementation 2

Calculated parameters Unit Values
COSMOSPACE thresh 10e-06
COSMOSPACE maxit 1000
\(\sigma_{min} / \sigma^{\perp}_{min}\) -0.15
\(\sigma_{max} / \sigma^{\perp}_{max}\) 0.15
\(\sigma_step / \sigma^{\perp}_{step}\) 0.001
HB donors [1,100:150]
HB acceptors [6,7,8,9,15,16,17,35,53]

Dispersion term support in openCOSMO-RS :

As documented by Grigorash et al. 2025

Combinatorial term Unit SG_6 SG_7 FH_6 FH_7 Elbro_6 Elbro_7
\(a_{eff}\) \([Å^2]\) 6.115 6.115 5.034 5.034 2.745619 2.773896
\(r^*_{av}\) \([Å^2]\) 0.5
\(\alpha_{mf}\) \([J/(mol Å^2)/e^2]\) 7.548e+06 7.548e+06 7.592e+06 7.592e+06 1.210e+07 1.198e+07
\(f^*_{corr}\) 2.4
\(c_{hb}\) \([J/(mol Å^2)/e^2]\) 3.093e+07 3.093e+07 3.094e+07 3.094e+07 3.093e+07 [] 3.093e+07 []
\(c_{hb}^{T^*}\) 1.5
\(\sigma_{hb}\) \([e/Å^2]\) 0.007876 0.007876 0.007276 0.007276 0.007876 [] 0.007876 []
\(A_{std}\) \([Å]\) 41.89 41.89
\(\tau_{C(sp^2)}^{vdW}\) \(J^{0.5}/Å\) 11.193 9.425 14.123 10.577 17.675 18.221
\(\tau_{C(sp^2)^{vdW}}\) \(J^{0.5}/Å\) 10.235 11.480 19.054
\(\tau_{H}^{vdW}\) \(J^{0.5}/Å\) 10.041 9.021 12.581 10.300 15.636 17.506
\(\tau_{F}^{vdW}\) \(J^{0.5}/Å\) 3.240 1.977 5.319 2.522 8.914 10.260
\(\tau_{Cl}^{vdW}\) \(J^{0.5}/Å\) 11.865 10.647 14.575 11.735 18.289 19.669
\(\tau_{Br}^{vdW}\) \(J^{0.5}/Å\) 17.602 16.414 20.796 17.545 25.965 27.218
\(\tau_{I}^{vdW}\) \(J^{0.5}/Å\) 19.578 18.236 22.823 20.031 26.716 28.244

Cross-interaction parameter values and deviations for the respective openCOSMO-RS dispersion parametrizations

Parameters SG_6_cross SG_7_cross FH_6_cross FH_7_cross Elbro_6_cross Elbro_7_c
\(k_{H-C(sp^3)}\) 0.18159 0.01833 0.24871 0.00159 0.15927 -0.81875
\(k_{H-C(sp^2)}\) -0.11976 0.15274 -0.34582
\(k_{H-F}\) 0.06897 0.66191 0.09735 0.74790 0.07372 -0.17848
\(k_{H-Cl}\) 0.22346 0.25723 0.16732 0.14724 0.14310 -0.04194
\(k_{H-Br}\) -0.10650 -0.24431 0.16923 0.16498 0.10780 -0.25552
\(k_{H-I}\) 0.56261 0.29858 0.29177 0.22584 0.36641 0.11027
\(k_{C(sp^3)-C(sp^2)}\) 0.13688 0.01047 -0.07518
\(k_{C(sp^3)-F}\) 0.25838 -0.73798 0.24347 -0.94343 0.07947 -0.63680
\(k_{C(sp^2)-F}\) -0.38252 0.01254 -0.14392
\(k_{C(sp^3)-Cl}\) -0.09500 -0.19281 -0.01799 -0.10530 -0.03320 -0.33904
\(k_{C(sp^2)-Cl}\) -0.19363 -0.03107 -0.11235
\(k_{C(sp^3)-Br}\) -0.13948 0.07020 -0.08836 -0.20372 -0.09358 -0.04681
\(k_{C(sp^2)-Br}\) -0.15348 0.00222 -0.04118
\(k_{C(sp^3)-I}\) -0.47451 -0.25369 -0.25303 -0.21984 -0.30310 -0.45880
\(k_{C(sp^2)-I}\) -0.42763 -0.37158 -0.28746
\(k_{F-Cl}\) -0.02230 -0.14832 -0.03033 -0.10208 -0.01986 -0.02610
\(k_{F-Br}\) -0.40404 -0.33715 -0.01564 -0.31896 -0.11410 0.02610
\(k_{F-I}\) -0.12331 0.02270 -0.19483 0.05881 -0.12197 -0.11127
\(k_{Cl-Br}\) 0.11674 0.00928 -0.00186 0.06092 0.04101 -0.02610
\(k_{Cl-I}\) -0.03422 -0.03802 -0.0192 -0.02616 -0.03001 -0.02558
\(k_{Br-I}\) 0.08028 -0.04237 0.01017 0.08432 0.05495 0.02172

Atomic polarizabilities 8

Element Polarizability [a.u.]
H 4.5
C 11.3
F 3.74
Cl 14.6
Br 21
I 32.9

In a follow up publication Grigorash et al. introduced a new dispersion term based on atomic polarizabilities in a perfect conductor calculated as atomic polarizability tensors projected on atom segments.

The parameter set comparison documented by Grigorash et al. is shown in the following table:

Parameters Unit no dispersion \(w_1\) \(w_5\) \(w_5\) + Eq. 20 \(w_5\) + Eq. 21
\(a_{eff}\) \([Å^2]\) 4.574 4.943 4.955 4.90825 4.706
\(r_{av}*\) \([Å]\) 0.5
\(\alpha_{mf}\) \([kJ/(mol*Å^2*)/e^2]\) 7613 7294 7672 7876 7322
\(f_{corr}*\) \([-]\) 2.4
\(c_{hb}\) \([kJ/(mol*Å^2)/e^2]\) 53447 43265 43457 49318 43421
\(c_{hb}^{T*}\) \([-]\) 1.5
\(\sigma_{hb}\) \([e/Å^2]\) 0.009739 0.009492 0.00960 0.009953 0.009355
\(E_{corr}^F\) \([J/mol]\) 349.18 350.37 346.82 340.73
\(m_{vdW}\) \([-]\) 339.58 2.4097 29.567 27.853
Parameters Unit no dispersion \(w_1\) \(w_5\) \(w_5\) + Eq. 20 \(w_5\) + Eq. 21
\(\tau_{1}\) \([kJ/(mol*Å^2)]\)
\(\tau_{6}\)
\(\tau_{7}\)
\(\tau_{8}\)
\(\tau_{9}\)
\(\tau_{17}\)
\(\tau_{35}\)
\(\tau_{53}\)
\(\tau_{14}\)
\(\tau_{15}\)
\(\tau_{16}\)
\(\mu\) \([kJ/mol]\)
\(\omega_{ring}\) \([kJ/mol]\)

COSMO segment activity coefficient model: COSMO-SAC (2010)

The original COSMO-SAC model from Lin and Sandler 5 was published in 2002 and refined by Wang, Sandler and Chen in 2007 followed by further improvement by Hsieh, Sandler and Lin in 2010 9. Conceptually and with respect to most model equations the COSMO-SAC is almost identical to the COSMO-RS model. We will highlight differences but most of the model performance deviations between COSMO-RS and COSMO-SAC are due to extensions and parameterizations with different experimental data sets.

In the following we will discuss the model equations for COSMO-SAC(2010) which has been further developed based on the COSMO-SAC(2007) model which has been refined with respect to: - Decoupled segments assumption and averaging methods - Definition of hydrogen bonding and the three classes of compounds - Regression of thermodynamic property data for pure compounds - Regression of thermodynamic vapour-liquid equilibrium data of binary and ternary mixtures

For more information on COSMO-SAC(2007), we recommend the respective paper .

The Gibbs energy is a foundational extensive thermodynamic state variable and the solvation Gibbs energy is made of summands which can be individually calculated via different models derived from quantum mechanical/chemical theory: $$ \Delta G_{sol} = \Delta G_{el} + \Delta G_{cav} + \Delta G_{disp} + \Delta G_{vib} + \Delta G_{lib} + \Delta G_{other} $$

To calculate the free solvation energy the COSMO-RS/-SAC models can be applied to quantify the charge density distribution of the cavity of a molecular structure. The COSMO-SAC(2007) model applied an empirical averaging method which is has been taken over by COSMO-SAC(2010):

\[\sigma_m = \frac{\sum_n \sigma_n^* (\frac{r_n^2 r_{eff}^2}{r_n^2 + r_{eff}^2}) exp[- f_{decay}(\frac{d_{mn}^2}{r_n^2+r_{eff}^2})]}{\sum_n \frac{r_n^2 r_{eff}^2}{r_n^2 + r_{eff}^2} + exp[-f_{decay}(\frac{d_{mn}^2}{r_n^2 + r_{eff}^2})]}\]

\(d_{mn}\) is the distance between segment \(m\) and \(n\). \(r_{eff}\) is the effective radius and in the COSMO-SAC(2010) publication 9 is mentioned that this should be the radius of the contact/standard surface area (\(r_{eff}=\sqrt{a_{eff}/\pi}\)).

An energy shift has to be applied because of the specific averaging method to correct for the dielectric change:

\[\Delta G_i*^{cc} = f_{pol}^{1/2}[E_{diel}(q) - E_{diel}(q*)]\]

where \(E_{diel}(q*) = 0.5 \sum_v \phi_v q_v*\) is the screening charge distribution and responsible for the dielectric polarization.

"In COSMO-RS and the COSMO-SAC(2002) model, the hydrogen-bonding effect in the segment exchange energy expression was included when the charge density of a segment exceeded an arbitrary threshold value \(\sigma_{hb}\) as follows" and Lin et al. have suggested to ... with the following hydrogen-bonding model equation by changing the COSMO-SAC(2002) hydrogen binding model:

\[ \begin{split} \Delta W(\sigma_m,\sigma_n) = &f_{pol} (\frac{0.3 a_{eff}^{3/2}}{2\epsilon_0})(\sigma_m + \sigma_n)^2 \\ &+ c_{hb}f_{hb}(T) min(0,min(\sigma_m,\sigma_n)+\sigma_{hb} max(0,max(\sigma_m,\sigma_n)-\sigma_{hb})) \end{split} \]

to

\[ \begin{split} \Delta W(\sigma_m^t, \sigma_n^s) = & f_{pol} (\frac{0.3 a_{eff}^{3/2}}{2 \epsilon} (\sigma_m^t + \sigma_n^s)^2) \\ & - c_{hb}(\sigma_m^t,\sigma_n^s)(\sigma_m^t - \sigma_n^s)^2 \end{split} \]

The superscripts \(t\) and \(s\) refer to a hydrogen bond (hb) or non-hydrogen bond (nhb) segment.

The \(c_{hb}(\sigma_m^t,\sigma_n^s)\) parameter is calculated as follows:

\[ c_{hb}(\sigma_m^t,\sigma_n^s) = \begin{cases} c_{hb} \text{ if } s=t=hb, \sigma_m^t * \sigma_n^s < 0 \\ 0 \end{cases} \]

The equation for calculating the activity coefficient with the COSMO-SAC(2007) model is also different from the COSMO-SAC(2002) model and has been changed from:

\[ ln \Gamma_{sol}(\sigma_m) = -ln( \sum_{\sigma_n} p(\sigma_n) \Gamma_{sol}(\sigma_n) exp(\frac{-\Delta W(\sigma_m,\sigma_n)}{RT})) \]

to

\[ ln(\Gamma_{sol}^t(\sigma_m^t)) = -ln(\sum_s^{nhb,hb} \sum_{\sigma_n} p^s(\sigma_n^s) \Gamma_{sol}^s(\sigma_n^s) exp(\frac{-\Delta W(\sigma_m^t,\sigma_n^s)}{RT})) \]

And then the solvation free energy can be calculated with the sigma profile data generated from the DFT-COSMO calculations for each molecule in a given mixture. The following equation from COSMO-SAC(2002):

\[ \frac{\Delta G*_{i/sol}^{res}}{RT} = n \sum_{\sigma_n} p(\sigma_m) ln(\Gamma_{sol}(\sigma_m)) \]

was modified to:

\[ \frac{\Delta G*_{i/sol}^{res}}{RT} = n \sum_{s}^{nhb,hb} p(\sigma_m) p(\sigma_m^s) ln(\Gamma_sol^s(\sigma_m^s)) \]

for COSMO-SAC(2007)

The COSMO-SAC(2010) introduced two modifications to the COSMO-SAC(2007) model:

  • (I) The electrostatic interaction parameter cES is treated as a temperature-dependent parameter: $$ C_{ES} = A_{ES} + \frac{B_{ES}}{T^2} $$

  • (II) The incorporation of hydrogen-bonding interactions for molecules where the hydrogen bonds with specific atom elements can be calculated correctly and thus differentiated: \(\(p_i^{hb}(\sigma) = p_i^{OH} + p_i^{OT}(\sigma)\)\)

with \(p_i^{OH}(\sigma)=(A_i^{OH}(\sigma)/A_i) x P^{HB}(\sigma)\) and \(p_i^{nhb}(\sigma) = (A^{OT}_i(\sigma)/A_i) x P^{HB}(\sigma)\)

With this second modification the surface type interactions are defined as:

\[ c_{hb}(\sigma_m^t, \sigma_n^s) = \begin{cases} c_{OH-OH} \text{ if } s=t=OH \text{ and } \sigma_m^t * \sigma_n^s < 0\\ c_{OT-OT} \text{ if } s=t=OH \text{ and } \sigma_m^t * \sigma_n^s < 0\\ c_{OH-OT} \text{ if } s=OH, t=OT, \text{ and } \sigma_m^t * \sigma_n^s <0\\ 0 \text{ otherwise } \end{cases} \]

Different parameters have been applied in the past, some even inconsistent and the parameter tables at the end of this COSMO-SAC section gives an overview of the parameter sets reported for COSMO-SAC(2007) and COSMO-SAC(2010).

COSMO-SAC (2007) and COSMO-SAC (2010) parameter tables

https://pubs.acs.org/doi/10.1021/ie404410v

Universal parameters

Parameter Unit COSMO-SAC (2007) COSMO-SAC (2010) 9
\(a_{eff}\) \(Å^2\) 7.25 7.25
\(f_{decay}\) - 3.575 3.575
\(r_{avg}\) \(Å\) - -
\(c_{es}\) \(kcal/mol*Å^4/e^2\) - \(6326 + [1.5*10^8]/T^2\)
\(c_{hb}\) \(kcal/mol*Å^4/e^2\) 3484 -
\(c_{OH-OH}\) \(kcal/mol*Å^4/e^2\) - 4014
\(c_{OH-OT}\) \(kcal/mol*Å^4/e^2\) - 3016
\(c_{OT-OT}\) \(kcal/mol*Å^4/e^2\) - 932
\(q_S\) - 0.5 -
\(\sigma_0\) \(e/Å^2\) 0.007 0.007
\(q_0\) \(Å^2\) 79.53 79.53
\(r_0\) \(Å^3\) 66.69 66.69

Atom bonding specific parameters and dispersion parameters (\(\epsilon/R^{\alpha}\) [\(K Å^3\)])

Atom type \(R_i^{el}\) [Å] COMSO-SAC (2007) COSMO-SAC 2010 []
H 1.30 0
C (sp3) 2.00 36053.60
C (sp2) 2.00 30089.74
C (sp) 2.00 22133.70
N (sp3) 1.83 11859.65
N (sp2) 1.83 12693.51
N (sp) 1.83 2589.76
O(sp3,-H) 1.72 6759.19
O(sp3) 1.72 8420.93
O(sp2) 1.72 3289.98
O(sp2,-N) 1.72 10092.63
F 1.72 6741.91
P 2.12 100952.74 or 83439 []
S 2.16 61073.65 or 60949 []
Cl 2.05 35624.08
Br 2.16 60949.17 or 61074 []
I 2.32 83438.54 or 100953 []

  1. Andreas Klamt, Volker Jonas, Thorsten Bürger, and John C. W. Lohrenz. Refinement and parametrization of cosmo-rs. The Journal of Physical Chemistry A, 102(26):5074–5085, 1998. doi:10.1021/jp980017s

  2. Thomas Gerlach, Simon Müller, Andrés González de Castilla, and Irina Smirnova. An open source cosmo-rs implementation and parameterization supporting the efficient implementation of multiple segment descriptors. Fluid Phase Equilibria, 560:113472, 2022. doi:https://doi.org/10.1016/j.fluid.2022.113472

  3. Frank Eckert and Andreas Klamt. Fast solvent screening via quantum chemistry: cosmo-rs approach. AIChE Journal, 48(2):369–385, 2002. doi:https://doi.org/10.1002/aic.690480220

  4. Andreas Klamt and Frank Eckert. Cosmo-rs: a novel and efficient method for the a priori prediction of thermophysical data of liquids. Fluid Phase Equilibria, 172(1):43–72, 2000. doi:https://doi.org/10.1016/S0378-3812(00)00357-5

  5. Shiang-Tai Lin and Stanley I. Sandler. A priori phase equilibrium prediction from a segment contribution solvation model. Industrial & Engineering Chemistry Research, 41(5):899–913, 2002. doi:10.1021/ie001047w

  6. Simon Müller, Thomas Nevolianis, Miquel Garcia-Ratés, Christoph Riplinger, Kai Leonhard, and Irina Smirnova. Predicting solvation free energies for neutral molecules in any solvent with opencosmo-rs. Fluid Phase Equilibria, 589:114250, 2025. doi:https://doi.org/10.1016/j.fluid.2024.114250

  7. Daria Grigorash, Simon Müller, Patrice Paricaud, Erling H. Stenby, Irina Smirnova, and Wei Yan. A comprehensive approach to incorporating intermolecular dispersion into the opencosmo-rs model. part 1. halocarbons. Chemical Engineering Science, 309:121425, 2025. doi:https://doi.org/10.1016/j.ces.2025.121425

  8. Peter Schwerdtfeger and Jeffrey K. Nagle and. 2018 table of static dipole polarizabilities of the neutral elements in the periodic table*. Molecular Physics, 117(9-12):1200–1225, 2019. doi:10.1080/00268976.2018.1535143

  9. Chieh-Ming Hsieh, Stanley I. Sandler, and Shiang-Tai Lin. Improvements of cosmo-sac for vapor–liquid and liquid–liquid equilibrium predictions. Fluid Phase Equilibria, 297(1):90–97, 2010. doi:https://doi.org/10.1016/j.fluid.2010.06.011

  10. Shu Wang, Yuhua Song, and Chau-Chyun Chen. Extension of cosmo-sac solvation model for electrolytes. Industrial & Engineering Chemistry Research, 50(1):176–187, 2011. doi:10.1021/ie100689g

  11. Thomas Ingram, Thomas Gerlach, Tanja Mehling, and Irina Smirnova. Extension of cosmo-rs for monoatomic electrolytes: modeling of liquid–liquid equilibria in presence of salts. Fluid Phase Equilibria, 314:29–37, 2012. doi:https://doi.org/10.1016/j.fluid.2011.09.021

  12. Thomas Gerlach, Simon Müller, and Irina Smirnova. Development of a cosmo-rs based model for the calculation of phase equilibria in electrolyte systems. AIChE Journal, 64(1):272–285, 2018. doi:https://doi.org/10.1002/aic.15875