# Deterministic Reaction-Diffusion Simulators

**DOI:**https://doi.org/10.1007/978-1-4614-7320-6_185-2

## Keywords

Diffusion Equation Finite Volume Method Kinetic Scheme Computational Neuroscience Cartesian Mesh## Definition

A deterministic reaction–diffusion simulator is software designed to approximate the dynamics of a system governed by the diffusion and interaction of species within a domain in a deterministic fashion.

## Detailed Description

In neuroscience, these species can be one of many classes of molecules: ions, enzymes, polypeptides, globular proteins, microRNAs, etc. The interactions are chemical reactions, such as phosphorylation or binding, the synthesis of a new molecule out of substrates, or the breakdown of a molecule. Unlike stochastic simulators, which approximate these dynamics using pseudorandom processes, deterministic simulators solve a system of partial differential equations (PDEs). Thus, while stochastic simulators need to be run many times to identify the range of likely outcomes, deterministic simulators need only be run once, as the result is unique.

### Theory

Deterministic simulators are most appropriate when they can rely on the law of large numbers (Kotelenez 1986), which implies that noise variation of concentration becomes small as the number of molecules in the population increases. That is, when a large number of molecules are present, the dynamics of the population becomes well approximated by the mean dynamics. This assumption underlies a key trade-off between deterministic and stochastic simulators. Deterministic simulations allow the use of a single number to represent the concentration in a given volume over a relatively large time step in the setting of large numbers of particles. Stochastic simulations are needed when the number of molecules is small, but exact stochastic methods generally require either a state variable for each molecule (which is inefficient if the number of molecules is large) and/or small time steps (Rathinam et al. 2003; Kerr et al. 2008).

*u*(

*x*,

*t*) at position

*x*(in 1, 2, or 3 dimensions) at time

*t*within a domain is governed by

*D*, the diffusion constant) to the Laplacian of the concentration

*u*, a measure of its unevenness. A reaction–diffusion equation for a single species is the diffusion equation except with an additional term

*f*(

*u*,

*t*) added to the right-hand side to account for the net effects of the reactions:

When multiple species are present, the system of PDEs consists of many equations of this form, where the reaction term may depend on all species present. Initial and boundary conditions complete the mathematical description (Fife 1979). In neuroscience, Neumann boundary conditions are common, as they describe the flux across the boundary, such as occurs through ion channels.

### Practice

Since every deterministic reaction–diffusion simulator must provide tools to fully specify the PDE, existing tools require the same conceptual steps, although the order may vary: 1. the domain is specified (whole cell or part of cell) and discretized, 2. the species are specified, 3. the reactions are specified, and 4. the equations are integrated. Results may then be analyzed, either within the simulator or with external tools.

NEURON (Carnevale and Hines 2006), STEPS (Hepburn et al. 2012), and Virtual Cell (Loew and Schaff 2001) – widely used tools in the computational neuroscience community that support deterministic reaction–diffusion – illustrate much of the variation possible within the shared conceptual framework. NEURON and STEPS are primarily targeted at computational neuroscientists, while Virtual Cell is primarily targeted at cell biologists but supports the spatial variation and membrane-associated ion channels essential for computational neuroscience (Brown et al. 2011). Other simulators also provide facilities for deterministic diffusion, including Chemesis (Blackwell and Kotaleski 2003) and MOOSE (Ray and Bhalla 2008).

The domain may be specified and discretized in a variety of ways. Discretization is the process of choosing finitely many locations to represent the infinitely many points in a domain. Virtual Cell simulates on 1-, 2-, or 3-dimensional domains specified either analytically or via segmented images. It then discretizes the domain using a regular Cartesian mesh. A variation on this approach would be to use unequally sized cubes chosen at either the beginning or repeatedly throughout a simulation to focus computational effort as needed. STEPS works with (possibly unequally sized) tetrahedra, but the discretization must be done using another tool. NEURON works on 1-dimensional branching geometries either described programmatically or imported from tracing programs such as Neurolucida (Glaser and Glaser 1990). This one-dimensional branched geometry is then discretized into short segments.

Reaction dynamics are typically specified as either kinetic schemes directly linked to the biology or directly as terms in the underlying PDEs. Simulators that support kinetic schemes typically internally translate them into PDEs so that they can be integrated.

Multiple integration options are possible. The STEPS solver uses “Wmrk4,” an explicit Runge–Kutta method (Kutta 1901). NEURON supports first- and second-order implicit fixed-step integration via implicit Euler and Crank-Nicholson (Crank and Nicolson 1947), respectively. NEURON also supports variable-step variable-order implicit methods from the SUNDIALS (Hindmarsh et al. 2005) library. Virtual Cell supports a variety of explicit, implicit, and semi-implicit finite volume methods. Finite elements are an alternative strategy.

## Notes

### Acknowledgment

This work was partially supported by NIH R01MH086638 and NIH 2T15LM007056.

## References

- Blackwell KT, Kotaleski JH (2003) Modeling the dynamics of second messenger pathways. In: neuroscience databases: a practical guide. Springer Science + Business Media, New York, pp 63–79Google Scholar
- Brown SA, Moraru II, Schaff JC, Loew LM (2011) Virtual NEURON: a strategy for merged biochemical and electrophysiological modeling. J Comput Neurosci 31:385–400PubMedCentralPubMedCrossRefGoogle Scholar
- Carnevale NT, Hines ML (2006) The NEURON book. Cambridge University Press, CambridgeCrossRefGoogle Scholar
- Crank J, Nicolson P (1947) A practical method for numerical evaluation of solutions of partial differential equations of the heat-conduction type. Math Proc Camb Philos Soc 43:50–67CrossRefGoogle Scholar
- Fife PC (1979) Mathematical aspects of reacting and diffusing systems. Springer, BerlinCrossRefGoogle Scholar
- Glaser JR, Glaser EM (1990) Neuron imaging with Neurolucida – a PC-based system for image combining microscopy. Comput Med Imaging Graph 14:307–317PubMedCrossRefGoogle Scholar
- Hepburn I, Chen W, Wils S, De Schutter E (2012) STEPS: efficient simulation of stochastic reaction–diffusion models in realistic morphologies. BMC Syst Biol 6:36PubMedCentralPubMedCrossRefGoogle Scholar
- Hindmarsh AC, Brown PN, Grant KE, Lee SL, Serban R, Shumaker DE, Woodward CS (2005) SUNDIALS: suite of nonlinear and differential/algebraic equation solvers. ACM Trans Math Softw 31:363–396CrossRefGoogle Scholar
- Kerr RA, Bartol TM, Kaminsky B, Dittrich M, Chang JJ, Baden SB, Sejnowski TJ, Stiles JR (2008) Fast Monte Carlo simulation methods for biological reaction–diffusion systems in solution and on surfaces. SIAM J Sci Computing 30:3126–3149CrossRefGoogle Scholar
- Kotelenez P (1986) Law of large numbers and central limit theorem for linear chemical reactions with diffusion. Ann Probab 14:173–193CrossRefGoogle Scholar
- Kutta MW (1901) Beitrag zur näherungsweisen Integration totaler Differentialgleichungen. Zeitschrift Math Phys 46:435–453Google Scholar
- Loew LM, Schaff JC (2001) The virtual cell: a software environment for computational cell biology. Trends Biotechnol 19:401–406PubMedCrossRefGoogle Scholar
- Rathinam M, Petzold LR, Cao Y, Gillespie DT (2003) Stiffness in stochastic chemically reacting systems: the implicit tau-leaping method. J Chem Phys 119:12784–12794CrossRefGoogle Scholar
- Ray S, Bhalla US (2008) PYMOOSE: interoperable scripting in Python for MOOSE. Front Neuroinform 2(6):1–16Google Scholar