Year 2023,
Volume: 26 Issue: 4, 77 - 83, 01.12.2023
Gleb Belov
,
N. M. Aristova
Project Number
State Assignment No. 075-01056-22-00
References
- D. S. Villars, “A method of successive approximations for computing combustion equilibria on a high speed digital computer,” J. Phys. Chem., vol. 63, pp. 521-525, Apr. 1959, doi: 10.1021/j150574a016.
- W. R. Smith and R. W. Missen, Chemical Reaction Equilibrium Analysis: Theory and Algorithms, New York, NY, USA: Wiley, 1982.
- W. D. White, S. M. Johnson and G. B. Dantzig, "Chemical equilibrium in complex mixtures," J. Chem. Phys., vol. 28, pp. 751-755, May 1958, doi: 10.1063/1.1744264.
- R. J Duffin and C. Zener, "Geometric programming, chemical equilibrium, and the anti-entropy function," Proc. Natl. Acad. Sci. U.S.A., vol. 63, pp. 629-636, Apr. 1969, doi: 10.1073/pnas.63.3.629.
- G. Eriksson, "Thermodynamic study of high temperature equilibria," Acta. Chem. Scand. vol. 25, pp. 2651-2658, Jul. 1971, doi: 10.3891/acta.chem.scand.25-2651.
- B. A. Murtagh and M. A. Saunders, "Large-scale linearly constrained optimization," Math. Program., vol. 14, pp.41-72, Dec. 1978, doi: 10.1007/BF01588950.
- H. Greiner, "Computing complex chemical equilibria by generalized linear programming," Math. Comput. Model., vol. 10, pp. 529-550, Jul. 1988, doi: 10.1016/0895-7177(88)90082-9.
- M. H. A. Piro and S. Simunovic, "Global optimization algorithms to compute thermodynamic equilibria in large complex systems with performance considerations," Comput. Mater. Sci., vol. 118, pp. 87-96, Jun. 2016, doi: 10.1016/j.commatsci.2016.02.043.
- C. Tsanas, E. H. Stenby and W. Yan, "Calculation of multiphase chemical equilibrium by the modified RAND method," Ind. Eng. Chem. Res., vol. 56, pp. 11983–11995, Oct. 2017, doi: 10.1021/acs.iecr.7b02714.
- B. Sundman, N. Dupin and B. Hallstedt, "Algorithms useful for calculating multi-component equilibria, phase diagrams and other kinds of diagrams," Calphad, vol. 75, p. 102330, Dec. 2021, doi: 10.1016/j.calphad.2021.102330.
- W. A. Roos and J. H. Zietsman, “Accelerating complex chemical equilibrium calculations - A review,” Calphad, vol. 77, p. 102380, Jun. 2022, doi: 10.1016/j.calphad.2021.102380.
- Available: https://www.factsage.com/ (accessed Aug. 27, 2023).
- “Thermo-Calc Software.” Available: https://thermocalc.com/ (accessed Aug. 27, 2023).
- Y. Lwin, "Chemical equilibrium by Gibbs energy minimization on spreadsheets," Int. J. Eng. Educ. vol. 16, pp.335-339, Apr. 2000.
- L. Eriksson, "CHEPP-a chemical equilibrium program package for Matlab," SAE trans. , vol. 113, pp. 730-741, 2004.
- M. H. A. Piro, S. Simunovic, T. M. Besmann, B. J. Lewis and W. T. Thompson, "The thermochemistry library Thermochimica," Comput. Mater. Sci., vol. 67, pp.266-272, Feb. 2013, doi: 10.1016/j.commatsci.2012.09.011.
- “ORNL-CEES / thermochimica.” Available: https://github.com/ORNL-CEES/thermochimica (accessed Aug. 27, 2023).
- A. Wächter and L. T. Biegler, “On the implementation of an interior-point filter line-search algorithm for large-scale nonlinear programming,” Math. Program., vol. 106, pp. 25–57, Mar. 2005. doi: 10.1007/s10107-004-0559-y.
- I. Prigogine and R. Defay, Treatise on thermodynamics: Based on the methods of Gibbs and De Donder, London: Longmans, 1954.
- J. Bezanson, A. Edelman, S. Karpinsky and V. B. Shah, “Julia: A fresh approach to numerical computing,” SIAM Rev., vol. 59, pp. 65-98, Jan. 2017, doi: 10.1137/141000671.
- Available: https://coin-or.github.io/Ipopt/index.html (accessed Aug. 27, 2023).
- I. Dunning, J. Huchette and M. Lubin, “JuMP: A modeling language for mathematical optimization,” SIAM Rev., vol. 59, pp. 295-320, Feb. 2017, doi: 10.1137/15M1020575.
- B. Legat, O. Dowson, J. D. Garcia and M. Lubin, “MathOptInterface: a data structure for mathematical optimization problems,” INFORMS J. Comput., vol. 34, pp. 672-689, Feb. 2022, doi: 10.1287/ijoc.2021.1067.
- J. Lofberg, "YALMIP : a toolbox for modeling and optimization in MATLAB," in Proc. 2004 IEEE Int. Con. on Robotics and Automation (IEEE Cat. No.04CH37508), Taipei, Taiwan, Sep. 2004, pp. 284-289, doi: 10.1109/CACSD.2004.1393890.
- “CVX: Matlab Software for Disciplined Convex Programming.” Available: http://cvxr.com/cvx/ (accessed Aug. 27, 2023).
- W. E. Hart, C. D. Laird, J.-P. Watson, D. L. Woodruff, G. A. Hackebeil, B. L. Nicholson and J. D. Siirola, Pyomo-optimization modeling in Python. Berlin: Springer, 2017.
- “JuliaMath / Roots.jl .” Available: https://github.com/JuliaMath/Roots.jl (accessed Aug. 27, 2023).
- L. V. Gurvich and I. V. Veyts, Thermodynamic Properties of Individual Substances, New York: Hemisphere Publishing Corp., 1989.
- G. V. Belov, S. A. Dyachkov, P. R. Levashov, I. V. Lomonosov, D. V. Minakov, I. V. Morozov, M. A. Sineva and V. N. Smirnov, “The IVTANTHERMO — оnline database for thermodynamic properties of individual substances with web interface,” J. Phys.: Conf. Ser., vol. 946, p. 012120, 2018, doi: 10.1088/1742-6596/946/1/012120.
- “NIST Chemistry WebBook, SRD 69.” Available: webbook.nist.gov (accessed Aug. 27, 2023).
- B. J. McBride, “NASA Glenn coefficients for calculating thermodynamic properties of individual species,” NASA, Cleveland, Ohio, USA, Tech. Rep. NASA/TP-2002-211556, Sep. 2002. Available: https://ntrs.nasa.gov/api/citations/20020085330/downloads/20020085330.pdf (accessed Aug. 27, 2023).
- G. Belov, “On linear programming approach for the calculation of chemical equilibrium in complex thermodynamic systems,” J. Math. Chem., vol. 47, pp. 446-456, Jan. 2010, doi: 10.1007/s10910-009-9580-y.
- A. D. Pelton, "Thermodynamic modeling and phase equilibrium calculations in nuclear materials," Pure Appl. Chem., vol. 69, pp. 2245-2252, Nov. 1997, doi: 10.1351/pac199769112245.
- “CEARUN.” Available: https://cearun.grc.nasa.gov/ (accessed Aug. 27, 2023).
- G. P. Sutton and O. Biblartz, Rocket Propulsion Elements, New York, NY, USA: Wiley, 2017.
- “gvbelov / Heterogeneous-Equilibrium .” Available: https://github.com/gvbelov/Heterogeneous-Equilibrium (accessed Aug. 27, 2023).
Calculation of Complex Chemical Equilibrium Using Optimization Package Ipopt
Year 2023,
Volume: 26 Issue: 4, 77 - 83, 01.12.2023
Gleb Belov
,
N. M. Aristova
Abstract
An approach to the calculation of complex chemical equilibrium using the open-source optimization package Ipopt and the open-source package JuMP is proposed. The code of two procedures written in the open-source Julia programming language for calculating the equilibrium composition and properties of multicomponent heterogeneous thermodynamic systems is presented. The results of the test calculations showed a good performance of the code and a relatively high speed of calculations. Due to the compactness and simplicity of the code, it can be easily integrated into other applications, or used in combination with more complex models.
Supporting Institution
Ministry of Science and Higher Education of the Russian Federation
Project Number
State Assignment No. 075-01056-22-00
Thanks
The authors are grateful to Dr. Igor Morozov for his help in preparing the manuscript
References
- D. S. Villars, “A method of successive approximations for computing combustion equilibria on a high speed digital computer,” J. Phys. Chem., vol. 63, pp. 521-525, Apr. 1959, doi: 10.1021/j150574a016.
- W. R. Smith and R. W. Missen, Chemical Reaction Equilibrium Analysis: Theory and Algorithms, New York, NY, USA: Wiley, 1982.
- W. D. White, S. M. Johnson and G. B. Dantzig, "Chemical equilibrium in complex mixtures," J. Chem. Phys., vol. 28, pp. 751-755, May 1958, doi: 10.1063/1.1744264.
- R. J Duffin and C. Zener, "Geometric programming, chemical equilibrium, and the anti-entropy function," Proc. Natl. Acad. Sci. U.S.A., vol. 63, pp. 629-636, Apr. 1969, doi: 10.1073/pnas.63.3.629.
- G. Eriksson, "Thermodynamic study of high temperature equilibria," Acta. Chem. Scand. vol. 25, pp. 2651-2658, Jul. 1971, doi: 10.3891/acta.chem.scand.25-2651.
- B. A. Murtagh and M. A. Saunders, "Large-scale linearly constrained optimization," Math. Program., vol. 14, pp.41-72, Dec. 1978, doi: 10.1007/BF01588950.
- H. Greiner, "Computing complex chemical equilibria by generalized linear programming," Math. Comput. Model., vol. 10, pp. 529-550, Jul. 1988, doi: 10.1016/0895-7177(88)90082-9.
- M. H. A. Piro and S. Simunovic, "Global optimization algorithms to compute thermodynamic equilibria in large complex systems with performance considerations," Comput. Mater. Sci., vol. 118, pp. 87-96, Jun. 2016, doi: 10.1016/j.commatsci.2016.02.043.
- C. Tsanas, E. H. Stenby and W. Yan, "Calculation of multiphase chemical equilibrium by the modified RAND method," Ind. Eng. Chem. Res., vol. 56, pp. 11983–11995, Oct. 2017, doi: 10.1021/acs.iecr.7b02714.
- B. Sundman, N. Dupin and B. Hallstedt, "Algorithms useful for calculating multi-component equilibria, phase diagrams and other kinds of diagrams," Calphad, vol. 75, p. 102330, Dec. 2021, doi: 10.1016/j.calphad.2021.102330.
- W. A. Roos and J. H. Zietsman, “Accelerating complex chemical equilibrium calculations - A review,” Calphad, vol. 77, p. 102380, Jun. 2022, doi: 10.1016/j.calphad.2021.102380.
- Available: https://www.factsage.com/ (accessed Aug. 27, 2023).
- “Thermo-Calc Software.” Available: https://thermocalc.com/ (accessed Aug. 27, 2023).
- Y. Lwin, "Chemical equilibrium by Gibbs energy minimization on spreadsheets," Int. J. Eng. Educ. vol. 16, pp.335-339, Apr. 2000.
- L. Eriksson, "CHEPP-a chemical equilibrium program package for Matlab," SAE trans. , vol. 113, pp. 730-741, 2004.
- M. H. A. Piro, S. Simunovic, T. M. Besmann, B. J. Lewis and W. T. Thompson, "The thermochemistry library Thermochimica," Comput. Mater. Sci., vol. 67, pp.266-272, Feb. 2013, doi: 10.1016/j.commatsci.2012.09.011.
- “ORNL-CEES / thermochimica.” Available: https://github.com/ORNL-CEES/thermochimica (accessed Aug. 27, 2023).
- A. Wächter and L. T. Biegler, “On the implementation of an interior-point filter line-search algorithm for large-scale nonlinear programming,” Math. Program., vol. 106, pp. 25–57, Mar. 2005. doi: 10.1007/s10107-004-0559-y.
- I. Prigogine and R. Defay, Treatise on thermodynamics: Based on the methods of Gibbs and De Donder, London: Longmans, 1954.
- J. Bezanson, A. Edelman, S. Karpinsky and V. B. Shah, “Julia: A fresh approach to numerical computing,” SIAM Rev., vol. 59, pp. 65-98, Jan. 2017, doi: 10.1137/141000671.
- Available: https://coin-or.github.io/Ipopt/index.html (accessed Aug. 27, 2023).
- I. Dunning, J. Huchette and M. Lubin, “JuMP: A modeling language for mathematical optimization,” SIAM Rev., vol. 59, pp. 295-320, Feb. 2017, doi: 10.1137/15M1020575.
- B. Legat, O. Dowson, J. D. Garcia and M. Lubin, “MathOptInterface: a data structure for mathematical optimization problems,” INFORMS J. Comput., vol. 34, pp. 672-689, Feb. 2022, doi: 10.1287/ijoc.2021.1067.
- J. Lofberg, "YALMIP : a toolbox for modeling and optimization in MATLAB," in Proc. 2004 IEEE Int. Con. on Robotics and Automation (IEEE Cat. No.04CH37508), Taipei, Taiwan, Sep. 2004, pp. 284-289, doi: 10.1109/CACSD.2004.1393890.
- “CVX: Matlab Software for Disciplined Convex Programming.” Available: http://cvxr.com/cvx/ (accessed Aug. 27, 2023).
- W. E. Hart, C. D. Laird, J.-P. Watson, D. L. Woodruff, G. A. Hackebeil, B. L. Nicholson and J. D. Siirola, Pyomo-optimization modeling in Python. Berlin: Springer, 2017.
- “JuliaMath / Roots.jl .” Available: https://github.com/JuliaMath/Roots.jl (accessed Aug. 27, 2023).
- L. V. Gurvich and I. V. Veyts, Thermodynamic Properties of Individual Substances, New York: Hemisphere Publishing Corp., 1989.
- G. V. Belov, S. A. Dyachkov, P. R. Levashov, I. V. Lomonosov, D. V. Minakov, I. V. Morozov, M. A. Sineva and V. N. Smirnov, “The IVTANTHERMO — оnline database for thermodynamic properties of individual substances with web interface,” J. Phys.: Conf. Ser., vol. 946, p. 012120, 2018, doi: 10.1088/1742-6596/946/1/012120.
- “NIST Chemistry WebBook, SRD 69.” Available: webbook.nist.gov (accessed Aug. 27, 2023).
- B. J. McBride, “NASA Glenn coefficients for calculating thermodynamic properties of individual species,” NASA, Cleveland, Ohio, USA, Tech. Rep. NASA/TP-2002-211556, Sep. 2002. Available: https://ntrs.nasa.gov/api/citations/20020085330/downloads/20020085330.pdf (accessed Aug. 27, 2023).
- G. Belov, “On linear programming approach for the calculation of chemical equilibrium in complex thermodynamic systems,” J. Math. Chem., vol. 47, pp. 446-456, Jan. 2010, doi: 10.1007/s10910-009-9580-y.
- A. D. Pelton, "Thermodynamic modeling and phase equilibrium calculations in nuclear materials," Pure Appl. Chem., vol. 69, pp. 2245-2252, Nov. 1997, doi: 10.1351/pac199769112245.
- “CEARUN.” Available: https://cearun.grc.nasa.gov/ (accessed Aug. 27, 2023).
- G. P. Sutton and O. Biblartz, Rocket Propulsion Elements, New York, NY, USA: Wiley, 2017.
- “gvbelov / Heterogeneous-Equilibrium .” Available: https://github.com/gvbelov/Heterogeneous-Equilibrium (accessed Aug. 27, 2023).