|

Расчет равновесного состава сложных термодинамических систем с использованием языка Julia и библиотеки Ipopt

Авторы: Белов Г.В. Опубликовано: 10.09.2021
Опубликовано в выпуске: #3(136)/2021  
DOI: 10.18698/0236-3933-2021-3-24-45

 
Раздел: Информатика, вычислительная техника и управление | Рубрика: Математическое моделирование, численные методы и комплексы программ  
Ключевые слова: термодинамическое равновесие, язык программирования Julia, библиотека Ipopt

Рассмотрены возможности использования библиотеки оптимизации Ipopt для расчета фазового и равновесного составов многокомпонентной гетерогенной термодинамической системы. Приведены две функции, предназначенные для расчета равновесного состава и свойств сложных термодинамических систем, написанные на языке программирования Julia. Указанные функции являются ключевыми в программе, интегрированной с базой данных по термодинамическим свойствам индивидуальных веществ ИВТАНТЕРМО и использованной для проведения тестовых расчетов. Как показали проведенные тестовые расчеты, библиотека Ipopt позволяет определять фазовый и химический составы простых и сложных термодинамических систем с достаточно высоким быстродействием. Использование библиотеки JuMP существенно упрощает подготовку исходных данных для библиотеки Ipopt, поэтому приведенные в статье функции очень компактны. Показано, как можно использовать библиотеку Ipopt, когда неизвестно значение температуры термодинамической системы. Предлагаемый в работе подход применим как для анализа равновесий отдельных химических реакций, так и для расчета равновесного состава сложных химически реагирующих систем. Простота предлагаемых функций позволяет легко интегрировать их в прикладные программы, встраивать в другие библиотеки, использовать в сочетании с более сложными моделями (реальный газ, неидеальные растворы, равновесия с ограничениями) и при необходимости модифицировать. Универсальность языка моделирования JuMP позволяет заменить библиотеку Ipopt на другую без существенной модификации текста программы

Литература

[1] Brinkley Jr. S.R. Calculation of the equilibrium composition of systems of many constituents. J. Chem. Phys., 1947, vol. 15, no. 2, pp. 107--110. DOI: https://doi.org/10.1063/1.1746420

[2] Kandiner H.J., Brinkley Jr. S.R. Calculation of complex equilibrium relations. Ind. Eng. Chem., 1950, vol. 42, no. 5, pp. 850--855. DOI: https://doi.org/10.1021/ie50485a030

[3] Huff V.N., Gordon S., Morrell V.E. General method and thermodynamic tables for computation of equilibrium composition and temperature of chemical reactions. Report NACA-TR-1037. NASA, 1951.

[4] White W.B., Johnson S.M., Dantzig G.B. Chemical equilibrium in complex mixtures. J. Chem. Phys., 1958, vol. 28, no. 5, pp. 751--755. DOI: https://doi.org/10.1063/1.1744264

[5] Синярев Г.Б. Полные термодинамические функции и использование их при расчете равновесных состояний сложных термодинамических систем. Известия вузов. Транспорт и энергетическое машиностроение, 1966, № 2, с. 99--110.

[6] Passy U., Wilde D.J. A geometric programming algorithm for solving chemical equilibrium problems. SIAM J. Appl. Math., 1968, vol. 16, no. 2, pp. 363--373.

[7] Zeleznik F.J., Gordon S. Calculation of complex chemical equilibria. Ind. Eng. Chem., 1968, vol. 60, no. 6, pp. 27--57. DOI: https://doi.org/10.1021/ie50702a006

[8] Алемасов В.Е., Тишин А.П., Дрегалин А.Ф. Общий математический метод расчета и исследования горения при высокой температуре. Физика горения и взрыва, 1971, т. 7, № 1, с. 77--84.

[9] Gordon S., McBride B.J. Computer program for calculation of complex chemical equilibrium compositions, rocket performance, incident and reflected shocks, and Chapman --- Jouguet detonations. Report NASA/SP-273. Cleveland, Ohio, Lewis Research Center, 1976.

[10] Karpov I.K., Chudnenko K.V., Kulik D.A., et al. The convex programming minimization of five thermodynamic potentials other than Gibbs energy in geochemical modeling. Am. J. Sc., 2002, vol. 302, no. 4, pp. 281--311. DOI: https://doi.org/10.2475/ajs.302.4.281

[11] Smith W.R., Missen R.W. Chemical reaction equilibrium analysis: theory and algorithms. John Wiley, 1983.

[12] Гурвич Л.В., Вейц И.В., Медведев В.А. и др. Термодинамические свойства индивидуальных веществ. Т. 1. М., Наука, 1978.

[13] Chase Jr. M.W., Davies C. JANAF thermochemical tables. I, Al--Co. II, Cr--Zr. J. Phys. Chem. Ref. Data, 1985, vol. 14. DOI: https://doi.org/10.18434/T42S31

[14] Синярев Г.Б., Ватолин Н.А., Трусов Б.Г. и др. Применение ЭВМ для термодинамических расчетов металлургических процессов. М., Наука, 1982.

[15] Алемасов В.Е., Дрегалин А.Ф., Тишин А.П. и др. Термодинамические и теплофизические свойства продуктов сгорания. Т. 1. М., ВИНИТИ, 1971.

[16] McBride B.J., Zehe M.J., Gordon S. NASA Glenn coefficients for calculating thermodynamic properties of individual species. Report NASA/TP-2002-211556. Cleveland, Ohio, Glenn Research Center, 2002.

[17] Agundez M., Martinez J.I., de Andres P.L., et al. Chemical equilibrium in AGB atmospheres: successes, failures, and prospects for small molecules, clusters, and condensates. Astron. Astrophys., 2020, vol. 637, art. A59. DOI: https://doi.org/10.1051/0004-6361/202037496

[18] McBride B.J., Gordon S. Computer program for calculation of complex chemical equilibrium compositions and applications. NASA Reference Publication. Cleveland, Ohio, Lewis Research Center, 1994.

[19] Белов Г.В., Трусов Б.Г. Термодинамическое моделирование химически реагирующих систем. М., Изд-во МГТУ им. Н.Э. Баумана, 2013.

[20] Shobu K., Tabaru T. Development of new equilibrium calculation software: CaTCalc. Mater. Trans., 2004, vol. 68, no. 12, pp. 938--987. DOI: https://doi.org/10.2320/jinstmet.68.983

[21] Белов Г.В. Использование методов линейного программирования для расчета равновесного состава гетерогенных систем с растворами. Вычислительные методы и программирование, 2009, т. 10, № 1, с. 56--61.

[22] Belov G. On linear programming approach for the calculation of chemical equilibrium in complex thermodynamic systems. J. Math. Сhem., 2010, vol. 47, no. 1, art. 446. DOI: https://doi.org/10.1007/s10910-009-9580-y

[23] Piro M.H.A., Simunovic S., Besmann T.M., et al. The thermochemistry library Thermochimica. Comput. Mater. Sc., 2013, vol. 67, pp. 266--272. DOI: https://doi.org/10.1016/j.commatsci.2012.09.011

[24] Ewing M.E., Isaac D.A. Mathematical modeling of multiphase chemical equilibrium. J. Thermophys. Heat Trans., 2015, vol. 29, no. 3, pp. 551--562. DOI: https://doi.org/10.2514/1.T4397

[25] Leal A.M.M., Kulik D.A., Kosakowski G. Computational methods for reactive transport modeling: а Gibbs energy minimization approach for multiphase equilibrium calculations. Adv. Water Resour., 2016, vol. 88, pp. 231--240. DOI: https://doi.org/10.1016/j.advwatres.2015.11.021

[26] Otis R., Liu Z.K. Pycalphad: Calphad-based computational thermodynamics in Python. J. Open Res. Softw., 2017, vol. 5, no. 1. DOI: http://dx.doi.org/10.5334/jors.140

[27] Keck J.C. Rate-controlled constrained-equilibrium theory of chemical reactions in complex systems. Prog. Energy Combust. Sc., 1990, vol. 16, no. 2, pp. 125--154.DOI: https://doi.org/10.1016/0360-1285(90)90046-6

[28] Koukkari P., Pajarre R. Calculation of constrained equilibria by Gibbs energy minimization. Calphad, 2006, vol. 30, no. 1, pp. 18--26. DOI: https://doi.org/10.1016/j.calphad.2005.11.007

[29] Koukkari P. Introduction to constrained Gibbs energy methods in process and materials research. VTT Technical Research Centre of Finland, 2014.

[30] Pajarre R., Koukkari P., Kangas P. Constrained and extended free energy minimization for modelling of processes and materials. Chem. Eng. Sc., 2016, vol. 146, pp. 244--258. DOI: https://doi.org/10.1016/j.ces.2016.02.033

[31] Ren Z., Lu Z., Gao Y., et al. A kinetics-based method for constraint selection in rate-controlled constrained equilibrium. Combust. Theory Model., 2017, vol. 21, no. 2, pp. 159--182. DOI: https://doi.org/10.1080/13647830.2016.1201596

[32] Белов Г.В. Об определении фазового состава сложных термодинамических систем. ЖТФ, 2019, т. 93, № 6, с. 810--817. DOI: https://doi.org/10.1134/S0044453719060074

[33] Dorn W.S. Variational principles for chemical equilibrium. J. Chem. Phys., 1960, vol. 32, no. 5, pp. 1490--1492. DOI: https://doi.org/10.1063/1.1730947

[34] Пригожин И., Дефэй Р. Химическая термодинамика. Новосибирск, Наука, 1966.

[35] Belov G.V., Dyachkov S.A., Levashov P.R., et al. The IVTANTHERMO --- оnline database for thermodynamic properties of individual substances with web interface. J. Phys.: Conf. Ser., 2018, vol. 946, art. 012120. DOI: https://doi.org/10.1088/1742-6596/946/1/012120

[36] Bezanson J., Edelman A., Karpinsky S., et al. Julia: a fresh approach to numerical computing. SIAM Rev., 2017, vol. 59, no. 1, pp. 65--98. DOI: https://doi.org/10.1137/141000671

[37] Dunning I., Huchette J., Lubin M. JuMP: a modeling language for mathematical optimization. SIAM Rev., 2017, vol. 59, no. 2, pp. 295--320. DOI: https://doi.org/10.1137/15M1020575

[38] Legat B., Dowson O., Garcia J.D., et al. MathOptInterface: a data structure for mathematical optimization problems. arxiv.org: веб-сайт. URL: https://arxiv.org/abs/2002.03447 (дата обращения: 15.04.2021).

[39] Brooke A., Kendrick D., Meeraus A., et al. GAMS: a user’s guide. Scientific Press, 1999.

[40] Fourer R., Gay D.M., Kernighan B.W. AMPL: a modeling language for mathematical programming. Thomson/Brooks/Cole, 2003.

[41] Lofberg J. YALMIP: a toolbox for modeling and optimization in MATLAB. Proc. 2004 IEEE Int. Symp. Comp. Aided Control Syst. Des., 2004, pp. 284--289. DOI: https://doi.org/10.1109/CACSD.2004.1393890

[42] Grant M., Boyd S. CVX: MATLAB software for disciplined convex programming. cvxr.com: веб-сайт. URL: http://cvxr.com/cvx (дата обращения: 15.04.2021).

[43] Hart W.E., Laird C., Watson J.P., et al. Pyomo-optimization modeling in Python. Springer, 2017.

[44] Wachter A., Biegler L.T. On the implementation of an interior-point filter line-search algorithm for large-scale nonlinear programming. Math. Program., 2006, vol. 106, no. 1, pp. 25--57. DOI: https://doi.org/10.1007/s10107-004-0559-y