A. L. Nagy,D. Papp,J. Tóth
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.
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.