An open source python library for equilibrium calculation based on global minimization of Gibbs free energy.
Simply put, a library for calculating equilibrium and related properties, like phase diagrams, by means of formulating the equilibrium as a optimization problem instead of non-linear flash calculations systems.
The main ideas are based in this paper written by Nichita et al. However, instead Tunneling method proposed there, here a derivative-free and stochastic global optimization method named Differential Evolution (DE for short) is employed.
There are two main advantages when compared with the Tunneling method:
- No need to compute derivatives such as Jacobians and Hessians, which can add computational cost. Also, such quantities can be very hard to calculate exactly or even numerically;
- No need to provide initial estimates for components molar fraction due to the stochastic characteristic of DE method, which is population-based.
Nonetheless, the price is paid by means of computational demand because several computations are performed for each solution candidate over the population.
By now, gibbs
can perform the following features:
- Classic cubic Equations of State:
- Soave-Redlich-Kwong;
- Peng-Robinson;
- Peng-Robinson 78.
- Equation of States for both mixtures and pure components;
- Perform fugacities computations from the cubic EoS, as well as compressibility factor;
- Reduced TPD stability analysis with DE;
- Equilibrium calculations: phase component compositions and phase molar fractions.
Contributions are not allowed right now, but I plan to allow it soon! If you want to contribute, just wait a little more! The project needs to mature a bit!
- Golden rule: master is always passing.
gibbs
is under Test Driven Development strategy. New features must be implemented in a proper branch, then it can be merged in master if it pass in all the proposed tests.
My name is Diego Volpatto, I'm a Numerical Dev at ESSS. Check it out some of our public repos clicking here. Also, I'm currently DSc. student in Computational Modeling at brazilian National Laboratory for Scientific Computing, where I do research in Mixed Hybrid and Discontinuous Galerkin Finite Element Methods. One can contact me through the email: [email protected]