Lecture 4 Numerical Integration

4.1 From Mechanisms to Kinetic Data

One reason to study the kinetics of reactions is beacause kinetic data can provide us with information about reaction mechanisms. Often, we start by collecting experimental concentration-time data for some reaction, and using this to deduce an empirical rate law (see CH12002 Lecture 4). Once we have an empirical rate law, this can inform our thinking around possible reaction mechanisms. The rate law may be of the same form as for another reaction where we know the mechanism, and so we propose that our current reaction proceeds by an equivalent mechanism. Or our empirical rate law simply acts as a constraint: any proposed mechanisms must give a theoretical rate law that is consistent with out experimentally deduced rate law. Alternatively, we might start from some hypothetical reaction mechanism: perhaps proposed on the basis of some prior chemical knowledge we have about our specific reaction. From this proposed mechanism, we can predict the shape of concentration-time profiles we would expect in experiments, given that our mechanism is correct, and then compare our predicted concentration-time profiles to those obtained from experiments. If we find good agreement between our predicted concetration-time data and those recorded experimentally then this provides support for our proposed mechanism being correct. If our predicted concentration-time data, however, do not agree with our experimental results — in particular, if the predicted and experimental concentration-time profiles have qualitatively different shapes — then we can reject the proposed mechanism on the basis that it is inconsistent with experiment.

4.2 The Role of Integration in Chemical Kinetics

For simple reaction mechanisms, we can often derive analytical expressions for how concentrations change with time. Consider a first-order reaction \(\mathrm{A} \longrightarrow \mathrm{B}\). The differential rate equation is

\[\begin{equation} \frac{\mathrm{d}[\mathrm{A}]}{\mathrm{d}t} = -k[\mathrm{A}] \tag{4.1} \end{equation}\]

and we can solve this by integration to obtain

\[\begin{equation} [\mathrm{A}]_t = [\mathrm{A}]_0\mathrm{e}^{-kt} \tag{4.2} \end{equation}\]

However, for many reaction mechanisms, deriving analytical solutions becomes either extremely difficult or impossible. Consider, for example, the Lindemann mechanism for a unimolecular reaction:

\[\begin{align*} \mathrm{A} + \mathrm{M} &\rightleftharpoons \mathrm{A}^* + \mathrm{M} & k_1,\, k_{-1} \\ \mathrm{A}^* &\longrightarrow \mathrm{P} & k_2 \end{align*}\]

The corresponding differential rate equations are:

\[\begin{equation} \frac{\mathrm{d}[\mathrm{A}]}{\mathrm{d}t} = -k_1[\mathrm{A}][\mathrm{M}] + k_{-1}[\mathrm{A}^*][\mathrm{M}] \tag{4.3} \end{equation}\]

\[\begin{equation} \frac{\mathrm{d}[\mathrm{A}^*]}{\mathrm{d}t} = k_1[\mathrm{A}][\mathrm{M}] - k_{-1}[\mathrm{A}^*][\mathrm{M}] - k_2[\mathrm{A}^*] \tag{4.4} \end{equation}\]

\[\begin{equation} \frac{\mathrm{d}[\mathrm{P}]}{\mathrm{d}t} = k_2[\mathrm{A}^*] \tag{4.5} \end{equation}\]

While we can make approximations (such as the steady-state approximation) to derive approximate analytical solutions under certain conditions, numerical integration provides a general approach that can be applied to any mechanism, regardless of its complexity.

4.3 Principles of Numerical Integration

To understand how numerical integration works, let us return to our simple first-order reaction \(\mathrm{A} \longrightarrow \mathrm{B}\). The differential rate equations are:

\[\begin{equation} \frac{\mathrm{d}[\mathrm{A}]}{\mathrm{d}t} = -k[\mathrm{A}] \tag{4.6} \end{equation}\]

\[\begin{equation} \frac{\mathrm{d}[\mathrm{B}]}{\mathrm{d}t} = +k[\mathrm{A}] \tag{4.7} \end{equation}\]

The numerical integration approach recognises that these equations tell us the instantaneous rates of change of \([\mathrm{A}]\) and \([\mathrm{B}]\) at any point in time. If we know these rates at time \(t\), we can estimate the concentrations a short time later, at \(t + \Delta t\):

\[\begin{equation} [\mathrm{A}]_{t+\Delta t} = [\mathrm{A}]_t + \frac{\mathrm{d}[\mathrm{A}]}{\mathrm{d}t}\Delta t \tag{4.8} \end{equation}\]

\[\begin{equation} [\mathrm{B}]_{t+\Delta t} = [\mathrm{B}]_t + \frac{\mathrm{d}[\mathrm{B}]}{\mathrm{d}t}\Delta t \tag{4.9} \end{equation}\]

where \(\Delta t\) is called the time step. Starting with known initial concentrations at \(t = 0\), we can use these equations to “step forward” in time, calculating new concentrations at each step.

4.3.1 A Simple Example

Let us work through a specific example. Consider the first-order reaction above with \(k = 1\,\mathrm{s}^{-1}\) and initial conditions \([\mathrm{A}]_0 = 1\,\mathrm{M}\) and \([\mathrm{B}]_0 = 0\,\mathrm{M}\). Using a time step \(\Delta t = 0.1\,\mathrm{s}\):

At \(t = 0~\mathrm{s}\):

  • \([\mathrm{A}]_0 = 1~\mathrm{M}\)
  • \(\frac{\mathrm{d}[\mathrm{A}]}{\mathrm{d}t} = -(1~\mathrm{s}^{-1})(1~\mathrm{M}) = -1~\mathrm{M}~\mathrm{s}^{-1}\)
  • \([\mathrm{A}]_{0.1} = 1~\mathrm{M} + (-1~\mathrm{M}\mathrm{s}^{-1})(0.1\mathrm{s}) = 0.9~\mathrm{M}\)
  • Similarly, \([\mathrm{B}]_{0.1} = 0~\mathrm{M} + (1~\mathrm{M}\mathrm{s}^{-1})(0.1\mathrm{s}) = 0.1~\mathrm{M}\)

At \(t = 0.1~\mathrm{s}\):

  • \([\mathrm{A}]_{0.1} = 0.9~\mathrm{M}\)
  • \(\frac{\mathrm{d}[\mathrm{A}]}{\mathrm{d}t} = -(1~\mathrm{s}^{-1})(0.9~\mathrm{M}) = -0.9~\mathrm{M}~\mathrm{s}^{-1}\)
  • \([\mathrm{A}]_{0.2} = 0.9~\mathrm{M} + (-0.9~\mathrm{M}\mathrm{s}^{-1})(0.1\mathrm{s}) = 0.81~\mathrm{M}\)

This process continues, giving us approximate values for \([\mathrm{A}]_t\) and \([\mathrm{B}]_t\) at discrete time points.

4.4 Sources of Error

The numerical integration method makes one key approximation: it assumes the reaction rates remain constant over each time step. In reality, rates change continuously as concentrations change. This approximation introduces systematic errors that become larger when:

  • The time step \(\Delta t\) is increased
  • Reaction rates change more rapidly within each time step

We can improve accuracy by:

  • Using a smaller time step (at the cost of more computational steps)
  • Using more sophisticated algorithms (e.g., Runge-Kutta methods) that better approximate the changing reaction rates

4.5 The Role of Numerical Integration in Chemical Kinetics

Numerical integration is an essential tool for modern studies of complex reaction mechanisms. The methods outlined above can handle mechanisms of arbitrary complexity, from simple decomposition reactions through to complex biochemical networks. Where analytical solutions become intractable, numerical methods remain practical and reliable.

The accuracy of numerical solutions depends primarily on the chosen time step. While the simple Euler method presented here illustrates the key principles, modern numerical integration routines use more sophisticated algorithms. These “adaptive” methods automatically adjust their time steps based on how rapidly concentrations change. Small time steps maintain accuracy during periods of rapid change, while larger steps efficiently handle slower phases of the reaction. This automatic adaptation makes numerical integration both more reliable and more computationally efficient than fixed-step methods.

The real power of numerical integration emerges when comparing theoretical predictions with experimental data. Given a proposed mechanism, we can calculate concentration profiles and compare these directly with measurements. Agreement between calculation and experiment supports the proposed mechanism, while significant discrepancies suggest the mechanism needs revision. This approach proves especially valuable for complex mechanisms where analytical solutions cannot guide our intuition about expected behavior.

Beyond testing mechanisms, numerical methods help extract rate constants from experimental data and explore how changing conditions affects reaction outcomes. The principles developed in this chapter underpin much of modern chemical kinetics, complementing the analytical methods examined in earlier lectures.