Skip to content

Add an implementation of the simple reversible chemical reaction model from Saltelli et al. (2005) #407

@damar-wicaksono

Description

@damar-wicaksono

The model describes the temporal evolution of species concentrations in the reversible reaction:

$$ A \leftrightarrow B $$

with $k_1$ as the forward reaction rate (from $A$ to $B$) and $k_{-1}$ as the reverse reaction rate (from $B$ to $A$).

The initial concentrations of and are defined as:

$$\begin{aligned} \left[A\right] (t = 0) & \equiv [A]_0 \\\ \left[B\right] (t = 0) & \equiv [B]_0 \end{aligned}$$

The solutions for the concentrations of $A$ and $B$ as functions of time $t$ are given by:

$$\begin{aligned} \left[A\right](t) & = \frac{1}{k_1 + k_{-1}} \left[ k_{-1} \left( [A]_0 + [B]_0 \right) - \left( k_{-1} [B]_0 - k_1 [A]_0 \right) e^{-(k_1 + k_{-1}) \, t} \right] \\\ \left[B\right](t) & = \frac{1}{k_1 + k_{-1}} \left[ \left( k_{-1} [B]_0 - k_1 [A]_0 \right) e^{-(k_1 + k_{-1}) \, t} + k_1 \left( [A]_0 + [B]_0 \right) \right] \end{aligned}$$

The solutions satisfy the relationship:

$$[B](t) = [A]_0 - [A](t) + [B]_0,$$

In UQTestFuns, the computational model describes the concentration of $A$ as a function time
expressed as a two-dimensional vector-valued function:

$$\mathcal{M}(\boldsymbol{x}; \boldsymbol{p}, t_i) = \frac{1}{k_1 + k_{-1}} \left[ k_{-1} \left( [A]_0 + [B]_0 \right) - \left( k_{-1} [B]_0 - k_1 [A]_0 \right) e^{-(k_1 + k_{-1}) \, t_i} \right], \; t_i = i \, \Delta_t, i = 0, \ldots, \lceil \frac{t_{\text{end}}}{\Delta_t} \rceil - 1$$

where $\boldsymbol{x} = \left( k_1, k_{-1} \right)$ is the two-dimensional vector of uncertain input variables and $\boldsymbol{p} = \{ [A]_0, [B]_0, t_{\text{end}} , \Delta_t \}$ is the set of fixed parameters.

The function was introduced in Saltelli et al. (2005)1 as a test case to illustrate sensitivity analysis methods, leveraging a model familiar to the chemistry community.

In Saltelli et al. (2005)1, the uncertain inputs are specified as follows:

$$\begin{aligned} k_1 & \sim \mathcal{N}(3.0, 0.3) \\\ k_{-1} & \sim \mathcal{N}(3.0, 1.0). \end{aligned}$$

Using the following parameters2:

  • $[A]_0 = 1.0$
  • $[B]_0 = 0.0$

the formula is simplified to:

$$[A](t) = \frac{[A]_0}{k_1 + k_{-1}} \left[ k_1 \exp{\left( -1 (k_1 + k_{-1}) t \right)} + k_{-1} \right].$$

Footnotes

  1. A. Saltelli, M. Ratto, S. Tarantola, and F. Campolongo, “Sensitivity Analysis for Chemical Models,” Chem. Rev., vol. 105, no. 7, pp. 2811–2828, Jul. 2005, doi: 10.1021/cr040659d. 2 3

  2. see Eqs. (1) - (2), Section 2.1, p. 2814 in 1.

Metadata

Metadata

Labels

documentationImprovements or additions to documentationenhancementNew feature or requestsensitivityIssues related to sensitivity analysis test functionsuq-test-functionNew test function to the code base

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions