ReactionKinetics - A Mathematica package with applications II. Computational problems when building a reaction kinetics package

A. L. Nagy,D. Papp,J. Tóth
DOI: https://doi.org/10.48550/arXiv.1107.3098
2011-07-16
Abstract:Treating a realistic problem in any field of reaction kinetics raises a series of problems: we review these illustrated with examples using ReactionKinetics, a Mathematica based package.
Numerical Analysis
What problem does this paper attempt to address?
This paper attempts to solve a series of complex problems encountered in the construction and use of computational tools in the field of reaction kinetics. Specifically, the paper focuses on the following main issues: 1. **Parsing**: - How to automatically construct the induced kinetic differential equations from the reaction steps provided by chemists, especially when the reactions are not based on the law of mass action. - Formula representation: \[ \sum_{m = 1}^{M}\alpha(m, r)X(m)\xrightarrow{k_r}\sum_{m = 1}^{M}\beta(m, r)X(m)\quad(r = 1, 2,\ldots, R) \] where \(\alpha\) and \(\beta\) are molecular matrices, \(k_r\) is the reaction rate coefficient, and \(c\) is the concentration vector. 2. **Combinatorics**: - How to visualize the reaction network diagrams (such as Volpert diagrams) so that users can better understand the complex reaction mechanisms. - The Volpert diagram is a directed bipartite graph, with nodes including species and reaction steps, and edges representing the conversion relationships from species to reaction steps or vice versa. 3. **Linear (Diophantine) Equations**: - How to reconstruct the network of simple reaction steps behind complex overall reactions by solving linear Diophantine equations. - For example, when dealing with the potassium permanganate/oxalic acid reaction, it is necessary to determine the possible species and reaction steps and select chemically reasonable combinations from them. 4. **Numerics**: - How to deal with the stiffness problem, that is, the time scales of different reaction steps vary greatly, resulting in difficulties in numerical solution. - For example, the Robertson problem shows a difference in reaction rate coefficients of nine orders of magnitude. How to accurately solve it in the time interval \([0, 10^{11}]\). 5. **Stochastic Simulation**: - How to simulate chemical reactions in small systems, especially in the case close to the unstable steady state. - Use the continuous - time discrete - state Markov jump process model to define the probability transition law: \[ P(R_r\text{ occurs in }[t, t + h)\vert X(t))=\kappa_r(X(t))h+\epsilon(h)\quad(\epsilon(h)\to 0\text{ as }h\to 0) \] 6. **Estimation Methods**: - How to estimate the reaction rate coefficients and even Arrhenius parameters based on experimental data. - For example, use the maximum likelihood estimation method or other optimization methods, such as the FindFit function. 7. **Visualization**: - How to generate high - quality graphics for papers and other publications, supporting multiple formats (such as eps, jpg, pdf, etc.). 8. **Further Plans**: - Including the treatment of temperature dependence, the symbolic processing of reaction - diffusion equations, the reduction of the number of variables, etc. In summary, this paper aims to develop a powerful and easy - to - use reaction kinetics computational package to solve the above problems and provide reliable tools for users.