This repository is part of our study on mixture critical points calculation using the Perturbed-Chain Statistical Associating Fluid Theory (PC-SAFT) Equation of State (EOS) via two distinct computational methods, namely the root-finding and optimization formulations. It specifically focuses on the computational methods and their performance comparison when combined with PC-SAFT EOS.
The repository provides reproducible code to calculate:
- Pure-compound and multicomponent critical points
- Composition-dependent binary critical loci
Two distinct computational strategies are implemented in this study:
- Newton–Raphson (NR) formulation of the Heidemann-Khalil (HK) criticality conditions based on PC-SAFT EOS
- Global Optimization (GO) formulation solved with Differential Evolution (DE) based on PC-SAFT EOS
In this study, 11 pure compounds (hydrocarbon and hon-hydrocarbon) and 44 mixtures (from 2 components to 11 components) are tested. Additionally, 6 binary mixtures from a different compilations are used to build composition-dependent critical loci using both computational methods.
Pure component PC-SAFT EOS parameters and experimental critical data:
File: data/pure_components_pcsaft_params.csv
Utilized Data:
Component: identifier (Thermopack ID, e.g., C1, C2, nC4, CO2, N2)m: segment number (dimensionless)sigma_A: segment diameter [Å]eps_k: segment energy parameter [K]omega: acentric factor (dimensionless)Tc_exp: experimental critical temperature [K]Pc_exp: experimental critical pressure [MPa]Source: reference for the EOS parameters and critical data
Multicomponent mixture:
File: data/44_mix_dim_wen_2014.csv
Utilized Data:
-
Mixture_No: index (1–44, as in Table S1 of your manuscript) -
CO2,N2,C1,C2,C3,iC4,nC4,iC5,nC5,nC6,nC7: mole fractions of each component (dimensionless). -
Columns not used in a given mixture are left blank (or zero).
Binary critical loci:
File: data/6_binary_mix_crit_loci_hicks_young_1975.csv
Utilized Data:
-
Mixture: label (e.g., C1–C2) -
Comp_1,Comp_2: component identifiers (Thermopack IDs) -
z1: mole fraction ofComp\_1 -
Tc_K: critical temperature \[K] -
Pc_MPa: critical pressure \[MPa]
src/→ Core solvers (NR and GO implementations)examples/→ Example scripts and generated plotsbinary_c1_n2_go/→ GO results for C1–N2binary_c1_n2_nr/→ NR results for C1–N2binary_c1_n2_nr_go/→ Combined NR+GO overlay for C1–N2go_surface/→ Example GO objective function surface plotsnr_surface/→ Example NR residual norm plots
data/→ Input datasetspure_components_pcsaft_params.csv44_mix_dim_wen_2014.csv6_binary_mix_crit_loci_hicks_young_1975.csv
- Python 3.10+
- Thermopack (install via pip: pip install thermopack)
- NumPy ≥ 1.24
- SciPy ≥ 1.11
- JAX ≥ 0.4.20 (with jax_enable_x64=True)
- Pandas ≥ 2.0
- Matplotlib ≥ 3.8
Below are representative plots generated by the example scripts implemented in this work:

Norm of the residuals (log ||F_HK(T,v)||) calculated using the NR formulation of the HK conditions for Mixture No. 41, an 11-component system (CO₂–N₂–C₁–C₂–C₃–iC₄–nC₄–iC₅–nC₅–nC₆–nC₇). Results are shown over a grid with T ∈ [150, 300] K and v ∈ [0.60 × 10⁻⁴, 1.40 × 10⁻⁴] m³/mol. The red star marks the converged critical point (Tc, vc) identified by the NR solver. PC-SAFT EOS pure-compound parameters are given in data/pure_components_pcsaft_params.csv.

Objective function (log F(T,v)) for Mixture No. 41, an 11-component system (CO₂–N₂–C₁–C₂–C₃–iC₄–nC₄–iC₅–nC₅–nC₆–nC₇). Results are shown over a grid with T ∈ [150, 300] K and v ∈ [1.00 × 10⁻⁴, 1.30 × 10⁻⁴] m³/mol. Density is obtained from the molar volume via ρ = M(z)/v. Differential Evolution (DE) settings: NP = 20, F ∈ [0.5, 1.0], CR = 0.7, 600 generations, and tolerance 10⁻⁶. The red star indicates the optimum (T, v) located by the search. PC-SAFT EOS pure-compound parameters are given in data/pure_components_pcsaft_params.csv.

Critical loci for the C1–N2 binary mixture based on the PC-SAFT EOS, with composition parameterized by the mole fraction of C1 (z₁). Representative compositions (z₁ = 0.1, 0.5, 0.9) illustrate the transition from N₂-rich to C1-rich mixtures. Results are shown for the Newton–Raphson (red line with square markers) and Global Optimization (teal line with circle markers) solvers, compared against experimental data (open triangles). Performance is quantified via RMSE against experiment:
- NR: ΔT = 2.03 K, ΔP = 0.108 MPa
- GO: ΔT = 2.01 K, ΔP = 0.102 MPa
- All binary interaction parameters (
k_ij) are set to zero in this work. This was intentional to highlight the predictive ability of the computational methods without any parameter fitting. - This project implements the readily available PC-SAFT EOS from Thermopack and assesses the performance of two computational techniques when combined with the provided model. The model used in this work is based on original PC-SAFT EOS given by Gross and Sadowski.
- Numerical settings (grid resolution, DE population size, tolerance, etc.) are consistent with the manuscript. Changing these may slightly alter the reported RMSE values.
For any questions and/or issues encountered while reproducing the work and/or you would like to chat about thermodynamics, please do not hesitate to email me at safarov@ualberta.ca or send me a direct message at LinkedIn.
This repository is released under the MIT License.
You are free to use, modify, and distribute this code with proper attribution. See the LICENSE file for details.
If you use this repository, please ensure you cite the work as follows:
Safarov, M., Jayaprakash, V., Wu, C., & Li, H. (2025). Numerically Stable Determination of Mixture Critical Points and Loci with PC-SAFT EOS. The Journal of Supercritical Fluids. https://doi.org/10.1016/j.supflu.2025.106817
[1] J. Gross, G. Sadowski, Perturbed-chain SAFT: An equation of state based on a perturbation theory for chain molecules, Ind. Eng. Chem. Res. 40 (2001) 1244–1260. https://doi.org/10.1021/ie0003887
[2] SINTEF Energy Research, NTNU, ThermoPack [software], GitHub repository. https://github.com/thermotools/thermopack
[3] J. Shi, C. Wu, H. Liu, H. Li, Application of volume-translated rescaled perturbed-chain statistical associating fluid theory equation of state to pure compounds using an expansive experimental database, AIChE J. 70 (2024) e18466. https://doi.org/10.1002/aic.18466
[4] D. Bücker, W. Wagner, A reference equation of state for the thermodynamic properties of ethane for temperatures from the melting line to 675 K and pressures up to 900 MPa, J. Phys. Chem. Ref. Data 35 (2006) 205–266. https://doi.org/10.1063/1.1859286
[5] E.W. Lemmon, M.O. McLinden, W. Wagner, Thermodynamic properties of propane. III. A reference equation of state for temperatures from the melting line to 650 K and pressures up to 1000 MPa, J. Chem. Eng. Data 54 (2009) 3141–3180. https://doi.org/10.1021/je900217v
[6] D. Bücker, W. Wagner, Reference equations of state for the thermodynamic properties of fluid phase n-butane and isobutane, J. Phys. Chem. Ref. Data 35 (2006) 929–1019. https://doi.org/10.1063/1.1901687
[7] D. Ambrose, J. Walton, Vapour pressures up to their critical temperatures of normal alkanes and 1-alkanols: A critical evaluation, Pure Appl. Chem. 61 (1989) 1395–1403. https://doi.org/10.1351/pac198961081395
[8] R. Span, W. Wagner, A new equation of state for carbon dioxide covering the fluid region from the triple-point temperature to 1100 K at pressures up to 800 MPa, J. Phys. Chem. Ref. Data 25 (1996) 1509–1596. https://doi.org/10.1063/1.555991
[9] R. Span, E.W. Lemmon, R.T. Jacobsen, W. Wagner, A. Yokozeki, A reference equation of state for the thermodynamic properties of nitrogen for temperatures from 63.151 to 1000 K and pressures to 2200 MPa, J. Phys. Chem. Ref. Data 29 (2000) 1361–1433. https://doi.org/10.1063/1.1349047
[10] U. Setzmann, W. Wagner, A new equation of state and tables of thermodynamic properties for methane, J. Phys. Chem. Ref. Data 20 (1991) 1061–1155. https://doi.org/10.1063/1.555898
[11] P. Dimitrakopoulos, W. Jia, C. Li, An improved computational method for the calculation of mixture liquid–vapor critical points, Int. J. Thermophys. 35 (2014) 865–889. https://doi.org/10.1007/s10765-014-1680-7
[12] C.P. Hicks, C.L. Young, Gas–liquid critical properties of binary mixtures, Chem. Rev. 75 (1975) 119–175. https://doi.org/10.1021/cr60294a001