Abstract
Reaction–diffusion mechanisms are a robust paradigm that can be used to represent many biological and physical phenomena over multiple spatial scales. Applications include intracellular dynamics, the migration of cells and the patterns formed by vegetation in semi-arid landscapes. Moreover, domain growth is an important process for embryonic growth and wound healing. There are many numerical modelling frameworks capable of simulating such systems on growing domains; however, each of these may be well suited to different spatial scales and particle numbers. Recently, spatially extended hybrid methods on static domains have been produced to bridge the gap between these different modelling paradigms in order to represent multi-scale phenomena. However, such methods have not been developed with domain growth in mind. In this paper, we develop three hybrid methods on growing domains, extending three of the prominent static-domain hybrid methods. We also provide detailed algorithms to allow others to employ them. We demonstrate that the methods are able to accurately model three representative reaction–diffusion systems accurately and without bias.
Keywords: reaction–diffusion, domain growth, hybrid methods
1. Introduction
The reaction–diffusion paradigm can be employed to model a range of biological and physical scenarios over multiple length scales, from representing vegetation patterns in semi-arid landscapes [1] and the study of epidemics [2] to intracellular dynamics [3–5]. These systems couple the random movement of particles (which when considered at a continuum level manifests as the movement of particle density down the concentration gradient) and the interaction of particles with each other and potentially with the domain boundaries.
Domain growth is a process which underpins many biological processes, and it is therefore important that we have accurate and efficient modelling methods to represent it. Examples span many biological applications, including the growth and shrinkage of tissue [6,7] and neural crest cell migration [8–10]. Domain growth has also been shown to play an important role in theoretical studies of pattern formation in reaction–diffusion systems [11–13].
Reaction–diffusion systems can be modelled in several different ways, each of which has different suitabilities depending on the scale of the system being modelled. The coarsest of the three methods that we focus on is the macroscale, which uses partial differential equations (PDEs) to represent the system. PDEs model how the continuum density of particles evolve in time, and are only suitable if the number of particles is high enough to consider a continuum limit. The reaction–diffusion PDE on a growing domain consists of four components (see equation (2.1)): a first-order differential of density with respect to time which describes the change of concentration in time; a second-order differential of density with respect to space which represents diffusion; a first-order differential of density with respect to space representing domain growth; and finally a term which represents reactions, if any are present. The macroscale is generally quick to implement using a number of established techniques (for example, see Brenner & Carstensen [14], Eymard et al. [15], Morton & Mayers [16], Smith [17]), and there are often analytical approaches that can be employed to investigate such systems. However, if particle numbers are too low, the assumption that the continuum limit holds may break down, and stochastic fluctuations may be found to play a more pivotal role. Moreover, the deterministic mean-field PDE may not fully agree with its stochastic counterparts described below. Attempts to derive a deterministic equivalent to a nonlinear stochastic model may result in an infinite hierarchy of interrelated equations. This results in the need for moment closure, which necessarily leads to the loss of some of the information encapsulated in the higher-order moments.
The second modelling paradigm that we consider is the mesoscale, where we split the spatial domain into a series of compartments, within which particles reside. These particles are able to jump between neighbouring compartments, and are able to interact/react with others within their own compartment. These events are given exponential waiting times whose rates dictate the evolution of the system. There are a large number of algorithms to simulate such systems, both exact [18–20] and approximate [21,22]. This middle scale is generally slower than the macroscale, but provides more fine-grained accuracy when particle numbers are lower. In order to incorporate domain growth, at least two methods have been proposed. The first is a local method proposed by Baker et al. [23], which chooses a compartment uniformly at random to instantaneously double in size and then divide. The particles in the parent compartment are distributed into the two daughter compartments according to some symmetric probability distribution. This method causes a build-up of particles at the boundaries when growth occurs on a faster time scale than diffusion [24]. The second method (and the method we will employ in this work) is a global method introduced by Smith et al. [24]. Compartments grow uniformly until a growth event is due to occur. At this point, the boundaries between compartments are redrawn to include one extra compartment, and the particles are redistributed appropriately. This method works well in both high and low diffusion regimes.
Finally, at the microscale, we investigate Brownian-based dynamics. At this, the smallest scale that we employ, individual particles are tracked and updated in continuous space. There are several techniques that can be employed in order to simulate a system at this scale, including the time-driven mechanisms of Brownian motion for purely diffusive processes and Smoluchowski dynamics [25] when reactions are involved, or the event-driven Green’s function reaction dynamics (GFRD) [26]. Under time-driven algorithms, particles diffuse and are diluted according to an appropriate stochastic differential equation (SDE). As well as each particle’s location, if the system requires second- or higher-order reactions, we also need to calculate the pairwise distances between all particles at every time step, which means that while this modelling paradigm is the most accurate, it is also the slowest. Added to this, if the system in question is diffusion limited, a very small time step is required to accurately resolve the dynamics. More efficient time stepping is employed by the event-driven GFRD. This sets a maximum time step and updates the solution to the Smoluchowski equation in order to combine diffusion and interactions, while accounting for the additional error which is introduced in doing so.
There is another, even finer, scale of spatially resolved model known as molecular dynamics, which we do not consider in this paper. We direct the interested reader to [27,28] for more information.
Many biological problems of interest are genuinely multiscale [29–32]. Consequently, we require methods that are able to resolve the dynamics at the appropriate scale. Spatially extended hybrid methods [33] are one such class of techniques that are able to do this. These methods employ two or more reaction–diffusion modelling paradigms (described above) to represent the dynamics in different areas of the domain in the most appropriate way. In regions with low particle numbers, for example, one of the finer-grained stochastic methods might be employed at the cost of reduced simulation efficiency. However, in regions of high particle numbers—enough to consider a continuum limit—the more computationally efficient PDE may be used. There are many examples of spatially extended hybrid methods [32,34–43], all of which focus on a static (non-growing) domain. This paper extends three of these methods onto uniformly growing domains. The pseudo-compartment method (PCM) [34] is a macroscopic-to-mesoscopic method which uses an interface to divide the domain into two subdomains. Particles are able to jump between the two subdomains via a ‘pseudo-compartment’ adjacent to the interface within the PDE subdomain. The ghost cell method (GCM) proposed by Flegg et al. [37] is a mesoscopic-to-microscopic method that makes similar use of an extra compartment, coined the ghost cell, adjacent to the interface in the microscopic subdomain in order to couple compartment-based and Brownian dynamics. Finally, the auxiliary region method (ARM) [39] is a macroscopic-to-microscopic method which, similar to the PCM and GCM, employs a mesoscale auxiliary region at the interface to allow particles to jump between the two subdomians.
The rest of this paper will be set out as follows. In §2, we briefly explain how the macroscopic, mesoscopic and microscopic scales can be considered equivalent to each other. In §§3–5, we introduce the PCM, GCM and ARM, explain the key differences between the algorithms for a static and growing domain and present the algorithms in full. We present representative results for multiple test problems in §6, and discuss our findings in §7.
2. Equivalence framework
In this section, we present each of the three modelling paradigms that are the constituent parts of our three hybrid methods. In §2.1, we introduce the PDE approach. We present the mesoscopic approach in §2.2 and briefly demonstrate how we can consider it to be equivalent to the PDE in the appropriate limit. Finally, in §2.3, we do the same for the individual, particle-based dynamics. All numerical algorithms can be found in the electronic supplementary material.
2.1. Macroscopic modelling
Firstly, we consider the macroscale PDE representation. Consider a population with density u(x, t) undergoing diffusion at a position x on an exponentially growing one-dimensional domain at time t > 0. We consider just a single dimension and exponential growth (with rate ρ) for ease of description here, but the methods outlined can be extended to higher dimensions and will work for any form of uniform growth. Under these assumptions, the length of the domain is L(t) = L0exp{ρt}, where L0 is the initial length of the domain, and the concentration evolves according to the following PDE:
| 2.1 |
which holds for x ∈ (0, L(t)) and for t > 0. This description of domain growth is known as the Eulerian representation in Eulerian coordinates, x and t. The first term on the right-hand side represents the spread of particles due to diffusion (with Fickian diffusion coefficient D) and the second term is the dilution and spread of concentration caused by the stretching of the spatial domain. We will employ this PDE in order to demonstrate the equivalence of the two finer-scale methods to this first one.
To simulate this PDE, we need to switch from the Eulerian coordinates above, in which the domain grows in time, to Lagrangian coordinates, in which the domain remains static in time. We do this through the following change of coordinates:
| 2.2 |
and
| 2.3 |
Note now that the length of the domain in the Lagrangian spatial variable X ranges between 0 and the fixed value L0. Furthermore, the Lagrangian and Eulerian temporal variables, τ and t, respectively, coincide here. There are times when it is useful to rescale time, such as when finding analytical solutions to the diffusion equation on uniformly growing domains [44]. For more details on the Lagrangian PDE and how we solve it numerically, please see §S1.2 of the electronic supplementary material.
2.2. Mesoscopic modelling
In this section, we describe the mesoscale representation, which is the ‘middle’ scale that we will consider. In order to model at this level, we will divide the spatial domain (0, L(t)) into a number of compartments labelled Ci(t) for i ∈ {1, …, K(t)}, where K(t) is the (time-dependent) number of compartments at time t. Particles lie within these compartments and are able to jump between neighbouring compartments mimicking diffusion. They can also interact with one another within the same compartment through R reaction channels. We will define the state of the system at time t to be N(t) = (N1(t), …, Ni(t), …, NK(t)(t)), where Ni(t) is the number of particles at time t in compartment i. Throughout this paper, we will implement the modified next reaction method [20] in order to advance the system forwards in time. This method is used for explicit time-varying propensity functions (the propensity function is a proxy for the rate of that event occurring), which are important owing to the domain growth. The main difference between this and the more commonly employed Gillespie algorithm [18] is conceptual. Each reaction channel has an ‘internal clock’, denoted by Ti for event i, which corresponds to a unit rate Poisson process. The internal time until the event next fires is calculated by drawing Pi ∼ Exp(1). For a full explanation of the method and the algorithm, see electronic supplementary material, §S.2.1.
To extend the domain, we use the stretching method of Smith et al. [24]. As the domain grows through a series of discrete fixed size extensions, the compartments grow in length uniformly. Once a stretch event has been determined to occur, the compartment boundaries are redrawn, making each compartment smaller and making way for a new compartment. The particles are then appropriately redistributed assuming a uniform distribution of particles across each compartment. This algorithm can be included in the main mesoscale algorithm in two ways. Firstly, propensity functions for the splitting events (events where a new compartment is added) can be added to the list of propensity functions, making this stochastic in time and space. Alternatively (and the method we use here), we calculate the deterministic time at which new compartments should be added to effect a particular domain growth pattern, and add them at this time. In this way, the growth events are still stochastic in space, but are now time-deterministic.
It can be shown, in the limit of small compartment size and fast inter-compartment jumping rate, that the average behaviour of this mesoscopic model can be described by the Eulerian PDE (2.1). We briefly present the main steps of the calculation in electronic supplementary material, §S.2.3. For a more complete calculation please see [24] for the mean equations and §S.2.3 in the electronic supplementary material for the small compartment limit.
2.3. Microscopic modelling
Within this section, we introduce the finest scale modelling paradigm that we will employ for the hybrid methods presented in this paper. The microscale tracks the individual locations of particles which diffuse and are repositioned (owing to domain growth) according to an SDE as well as interacting depending on proximity to one another. Particles diffuse through a Brownian motion, and the growth is implemented using a deterministic drift term. In practice, this means that each particle is ‘pulled along’ as the domain stretches.
Let Xt ∈ (0, L(t)) be the position of a particle at time t. Then this evolves according to
| 2.4 |
Here, the term on the left-hand side denotes the change in position, the first term on the right-hand side is the drift term representing the repositioning of the particles caused by the stretching of the domain and the second term on the right-hand side is the diffusion. Note also that dWt is a standard Weiner process.
In order to show that the density of particles evolving according to this SDE is described by the Eulerian PDE (2.1), we look to the Fokker–Planck equation (otherwise known as the Kolmogorov forward equation) [45]. As with the mesoscopic case, we briefly outline the derivation in electronic supplementary material, §S.3.1, and refer the interested reader to the aforementioned reference.
3. The pseudo-compartment method
The first hybrid method we will adapt to incorporate uniform domain growth is the macroscopic-to-mesoscopic PCM [34]. At time t, we decompose the domain as follows. The PDE subdomain occupies the region , where I(t) is the location of the interface at time t, and the mesoscopic subdomain is , where L(t) is the total length of the domain. The values of I(t) and L(t) will be calculated deterministically from the initial position of these boundaries, and the growth process, via the following pair of equations:
and
In order to couple the macroscale and mesoscale, we allow particles to jump between the first mesoscopic compartment (next to the interface (vertical red line) in figure 1) and the so-called ‘pseudo-compartment’, which is a region of space the width of one compartment next to the interface on the PDE side of the domain. Mass may only cross the interface through this jumping mechanism and not though continuum PDE mass flowing over the boundary. As such, a zero-flux boundary condition is imposed on the PDE at the interface.
Figure 1.

A schematic of the static PCM [34]. The green line denotes the density of particles in the macroscopic domain, while the blue rectangles represent particles within each compartment. The red line is the interface, and the green rectangles represent the number of ‘pseudo-particles’, obtained by direct integration of the PDE solution over the pseudo-compartment. The arrows crossing the interface denote the movement of the pseudo-particles between the two subdomains.
Suppose that the number of particles in compartment C1(t) at time t is n1(t), and that it is of width hc(t). Then the region of space occupied by the pseudo-compartment of length hPC(t) is denoted C−1(t) and contains n−1(t) particles, where
| 3.1 |
In order to incorporate jumps into and out of the pseudo-compartment, we introduce two events into the list of mesoscopic events, one for a jump into the pseudo-compartment from compartment 1 and one for a jump in the other direction. This gives 2K(t) + 1 events in total (these comprise a jump to the left and the right for each compartment, as well as the extra jump from the pseudo-compartment to compartment 1). Since, on the growing domain, these compartments are potentially of different widths, the appropriate jumping rates would be D/(hc(t)2) and D/(hPC(t)hc(t)), respectively. The second of these takes into account the differing compartment sizes. In the case that hc(t) and hPC(t) are the same, this collapses to the usual diffusive jump rate.
The reasons that the length of a ‘regular’ compartment hc(t) is typically different from the length of the pseudo-compartment hPC(t) are subtle and are due to the differences between the Lagrangian (static) and Eulerian (growing) coordinates. The PDE is being solved using a fixed mesh-width in Lagrangian coordinates, and, as such, the mesh grows when considered in Eulerian coordinates. On the other hand, the compartment size is fixed in Eulerian coordinates; as a result, the number of Lagrangian PDE points per Eulerian compartment decreases in time.
On the growing domain, the lengths of these compartments are calculated using other simulation parameters. The length of the compartments Ci(t) for i ∈ {1, …, K(t)} is given by the length of the mesoscopic part of the domain, divided by the number of compartments K(t). Therefore,
| 3.2 |
The pseudo-compartment size is calculated from the current compartment size as follows. As well as having compartment properties we also need to solve the PDE in the region occupied by the pseudo-compartment. As such, we will set its length to be an integer number of PDE mesh points. The PDE mesh, when considered from the Eulerian perspective, has width hp(t) = hp(0)exp{ρt}, and we calculate the number of PDE mesh points that would be in the pseudo-compartment, if it was of length hc(t), to be
The value of pc(t) is generally not an integer, so in order to obtain an integer we round (up or down or to the nearest integer) the value of pc(t) and multiply this by hp(t) to find hPC(t).
If a particle is chosen to jump out of C1(t) and into C−1(t), we firstly reduce n1(t) by 1, and then add a particle’s worth of mass to the pseudo-compartment according to
| 3.3 |
where the vector UPC is the numerical approximation to the solution u(x, t) at the PDE nodes contained within the pseudo-compartment, and 1 is a vector of 1s of the appropriate size. If a particle jumps out of the pseudo-compartment and into C1(t), we add one particle to n1(t) and remove a particle’s worth of mass uniformly across the pseudo-compartment
| 3.4 |
The algorithm for the implementation of the growing pseudo-compartment method (gPCM) can be found in algorithm 1, and a schematic for the static case is given in figure 1. The algorithm is given for diffusion only; however, reactions may be incorporated through any appropriate method (e.g. [46]). The algorithm proceeds by considering multiple time scales: one for the PDE updates, one for re-meshing, one for mesoscopic growth events (all on fixed meshes) and one for the (event-driven) mesoscopic updates. Whichever of these events has the soonest putative time is the one that occurs next.
Algorithm 1.
The growing pseudo-compartment method (diffusion only).
| Initialize: Initial time — t = 0; Final time — tf; Initial compartment size — hc; Initial pseudo-compartment size — hPC; Numerical approximation to the PDE solution — U; Number of pseudo-particles — n−1; Number of compartments — K; Compartment particle numbers — n; Propensity functions — ai for i ∈ {1, ..., 2K + 1}; Internal clock times — Ti for i ∈ {1, ..., 2K + 1}; Next firing times — Pi for i ∈ {1, ..., 2K + 1}; Times until next event — Δti for i ∈ {1, ..., 2K + 1}; PDE update step — Δt; Time until next PDE update — tp; Time until next split event — ts; Time until next PDE re-mesh event — tr. | ||||||
| (1a) At time t > 0: | ||||||
| ||||||
| (1b) If t < tf, return to (1a). Otherwise, end. |
4. The ghost cell method
Within this section, we describe the growing ghost cell method (gGCM), the static counterpart of which was proposed by Flegg et al. [37]. This hybrid method couples the mesoscopic and microscopic descriptions of reaction–diffusion systems. We define the two spatial domains to be for the microscopic, Brownian-based dynamics, and for the compartment-based subdomain. The definitions of I(t) and L(t) are the same as for gPCM.
The coupling is implemented in a similar way to the PCM. A ghost cell (which is analogous to the pseudo-compartment for the PCM) is created within the microscopic subdomain, adjacent to the interface. Transport of mass over the interface is implemented using the mesoscopic approach. As such, the microscopic subdomain has a reflective boundary at the interface to ensure that no particles are able to move through that medium.
Unlike in the PCM, since we do not have two different discretization lengths being used in the numerical realization of the algorithm (PDE and compartment meshes), we are free to choose the ghost cell to be the same size as the other compartments in the simulation (as they change in size), and we set it to hc(t) as defined in equation (3.2). The ghost cell therefore occupies the region . The propensity function for particles to jump from the ghost cell into the first compartment in the compartment-based regime is D/(hGC(t)2), multiplied by the number of particles in the ghost cell. is calculated simply by counting the number of particles within the ghost cell, so
where is the indicator function that is 1 if A is true and 0 otherwise, yi(t) is the location of Brownian particle i at time t and is the total number of particles in the Brownian-based subdomain at time t.
When a particle jumps from the ghost cell to the first compartment, we increase n1(t) by 1 and remove one of the ghost cell particles uniformly at random whilst simultaneously reducing by 1. When a jump occurs from the first compartment into the ghost cell, we reduce n1(t) by 1 and add a new particle to the ghost cell by sampling a uniform position within the ghost cell (that is, add a new particle at a position y* ∼ Unif(I(t) − hc(t), I(t))) and subsequently increase by 1. Domain growth is implemented using the stretching method [24] for the mesoscale, and via the SDE for the microscale. The algorithm for the gGCM can be found in algorithm 2, and a schematic for the static case is given in figure 2.
Figure 2.

A schematic for the static GCM [37]. The blue rectangles and red line are the same as in figure 1. The yellow dots denote the positions of the individual particles, with arrows denoting the next jump size and direction. Note that we have given each particle a different height to aid clarity, but all particles lie on the axis in reality. The yellow rectangles are the number of ghost cell particles, while the arrows over the interface denote the direction of travel for the ghost cell particles. We further note that this diagram has the two subdomains in the opposite order to the description in the text.
Algorithm 2.
The growing ghost cell method (diffusion only).
| Initialize: Initial time — t = 0; Final time — tf; Compartment size — hc; Positions of particles — y; Number of compartments — K; Compartment particle numbers — n; Propensity functions — ai for i ∈ {1, ..., 2K + 1}; Internal clock times — Ti for i ∈ {1, ..., 2K + 1}; Next firing times — Pi for i ∈ {1, ..., 2K + 1}; Times until next event — Δti for i ∈ {1, ..., 2K + 1}; Brownian update step — Δt; Time until next Brownian update — tb; Time until next splitting event — ts. | |||||
| (2a) At time t > 0: | |||||
| |||||
| (2b) If t < tf, return to (2a). Otherwise, end. |
5. The auxiliary region method
Within this section, we describe the third and final of our growing hybrid methods, the growing auxiliary region method (gARM) [39]. This method couples the macro- and microscales, using a similar methodology to both the gPCM and the gGCM. Auxiliary regions are set up on either side of the interface, which act as compartments for the purpose of allowing particles to move between the two subdomains. A schematic for the static version of the method is in figure 3.
Figure 3.

A schematic for the static ARM [39]. The green and red lines are the same as in figure 1, while the yellow dots and arrows are the same as in figure 2. The green and yellow rectangles denote the number of PDE and Brownian auxiliary particles, respectively. The arrows over the interface denote the movement of these auxiliary particles.
The two auxiliary regions are equally sized compartments (although it is possible to have them at different sizes), where particle numbers in the PDE auxiliary region are calculated as in the pseudo-compartment of the gPCM for the macroscopic subdomain, and particles in the Brownian auxiliary region are calculated as in the ghost cell of the gGCM for the microscopic domain. As is the case in each of those other hybrid methods, compartment-based jumping via the auxiliary regions is the only mechanism by which particles may pass between the subdomains. As such, the PDE requires a zero-flux boundary condition at the interface, and the Brownian-based dynamics need an equivalent reflective boundary.
In order to calculate the size of the auxiliary regions, we use a similar idea to that employed in the gPCM. We set the size of a compartment to be h initially, and use this to find the actual auxiliary region size, , by firstly calculating how many PDE mesh points lie within this initial size, via
where hp(t) is as in §3, the mesh-width in Eulerian coordinates. We convert this to an integer number of PDE mesh points by rounding it to the nearest integer, and convert it back to a length by multiplying by hp(t). Using this, we can write the regions occupied by the auxiliary regions to be for the PDE auxiliary region and for the Brownian-based auxiliary region.
Particle numbers for the PDE auxiliary region, , and the Brownian auxiliary region, , are calculated as in the PCM and GCM, respectively, and are given by
| 5.1 |
and
| 5.2 |
The implementation of the gARM is described in algorithm 3.
Algorithm 3.
The growing auxiliary region method (diffusion only).
| Initialize: Initial time — t = 0; Final time — tf; Numerical approximation to the PDE solution — U; Positions of particles — y; Propensity functions — ai for i = 1, 2; Internal clock times — Ti for i = 1, 2; Next firing times — Pi for i = 1, 2; Times until next event — Δti for i = 1, 2; PDE/Brownian update step — Δt; Time until next PDE/Brownian update — tb; Time until next re-mesh event — tr; Auxiliary region size . | |||||
| (3a) At time t > 0: | |||||
| |||||
| (3b) If t < tf, return to (3a). Otherwise, end. |
6. Results
Within this section, we present results from three test problems, for all three of the methods described in §§3–5. The three test problems are designed to evaluate the performance of the algorithms in comparison with the corresponding PDE solutions. As such, the examples are relatively simple so that the PDE is in exact correspondence with the expected behaviour of the individual-based methods (i.e. no reactions of order higher than 1). These choices mean that discrepancies between the mean behaviour of the hybrid methods and the PDE solutions can be attributed directly to the hybridization. All examples will be on a one-dimensional, exponentially growing domain, but can be straightforwardly extended to higher dimensions on Cartesian domains, and to other forms of uniform domain growth.
The next three subsections will be devoted to the three test problems. They will each assess a different aspect of the performance of the three hybrid algorithms.
6.1. Test problem 1: maintaining uniformity
The first test problem verifies that the algorithms are able to maintain a uniform particle distribution under pure diffusion. For this, we will use the growing domain diffusion equation,
| 6.1 |
| 6.2 |
| 6.3 |
| 6.4 |
Here, M is the number of particles in the system, and all other parameters are as in §§3—5. This PDE system has an analytical solution of
| 6.5 |
We run this example with a diffusion coefficient of D = 0.0025, an exponential growth rate of ρ = 0.001 and M = 500 particles. Each hybrid simulation is averaged over 1000 independent repeats for comparison and error plotting purposes.
In figure 4, we present the results for each of the hybrid methods (gPCM in column 1, gGCM in column 2 and gARM in column 3), with snapshots of the solution at the initial time (row 1) and final time tf = 500 (row 2), and then the relative errors in the left (row 3) and right (row 4) halves of the domain. The relative error is calculated as
| 6.6 |
for the left side of the domain. Here, is the relative error in the left side of the domain at time t, is the number of particles in the left subdomain of the hybrid method at time t and is the number of particles calculated in the left-hand side of the PDE solution at time t. As can be seen from the plots, each hybrid method is able to correctly maintain uniformity with no bias in particle numbers to either subdomain.
Figure 4.
Results for test problem 1. We present results for the gPCM (§3) in column 1, the gGCM (§4) in column 2 and the gARM (§5) in column 3. Parts (a–f) are snapshots of each method at the initial (row 1) and final (tf = 500, row 2) times of the simulation for the three methods. Green lines denote the PDE solution of the hybrid methods, blue bars are the particle densities for the mesoscale within the hybrid methods, and the microscale densities are denoted by the yellow bars, where we have binned particles onto the same mesh as the compartments. The red vertical lines on each plot denote the position of the interface at that time, and the black dashed line is the solution of the PDE across the whole domain, which we consider as our ground truth. Parts (g–l) display the relative errors in the left subdomain (row 3) and right subdomain (row 4) corresponding to the different modelling paradigms in the hybrid methods. The red curves denoting the relative error are given by the formula (6.6) for the left subdomain, with an analogous formula for the right side. The black dashed line corresponds to an error of 0. There is no bias in the error in the positive or negative direction for any of the methods.
6.2. Test problem 2: testing flux
The second test problem is designed to assess the ability of each of the hybrid methods to cope with a non-zero flux acrosss the interface. For this, we use the same PDE from test problem 1, but change the boundary conditions to ensure a flux over the entire domain. The PDE with its boundary and initial conditions is as follows:
| 6.7 |
| 6.8 |
| 6.9 |
| 6.10 |
Equation (6.9) specifies a Robin boundary condition and equation (6.8) is the corresponding condition which ensures periodic boundaries: particles that exit the domain at the right-hand end will re-enter the domain at the left-hand end. The resultant steady state (when the domain is not growing) is a linear gradient in density.
We present our results for this test problem in figure 5. As in the case with the first test problem, we can see that all three of the hybrid methods perform accurately with no discernible bias in particle numbers on either side of the domain. This demonstrates that the hybrid methods are able to resolve gradients over the interface.
Figure 5.
Results for test problem 2. Figure descriptions are as in figure 4.
6.3. Test problem 3: morphogen gradient formation
For the final test problem, we investigate the formation of a morphogen gradient on a growing domain. This example is designed to determine whether the hybrid methods are able to accurately perform when zeroth- and first-order reactions are incorporated.1 The PDE, boundary and initial conditions are
| 6.11 |
| 6.12 |
| 6.13 |
| 6.14 |
The regular diffusion and dilution in the PDE is augmented with a sink term, −μu. This degradation of mass manifests as a first-order reaction of the form
in both of the mesoscopic and microscopic representations, where A represents a particle whose density is given by u. The boundary condition at the left-hand end of the domain represents an influx of particles with rate Dλ. This can be thought of as a zeroth-order reaction at the left-hand boundary, of the form
where κ is the rate of introduction of new particles which is related to λ via κ = λD.
We present the results for test problem 3 in figure 6. As with each of the previous test problems, we see that there is a very good qualitative agreement with all three methods and the ground truth numerical PDE solution in figure 6a–f and this is further confirmed by the relative error plots, which show no discernible bias in either direction for any of the hybrid methods.
Figure 6.
Results for test problem 3. Figure descriptions are as in figure 4.
7. Discussion
In this paper, we have developed three spatially extended hybrid methods which are capable of simulating multi-scale reaction–diffusion processes on uniformly growing domains. Each method has been extended from previous methods originally specified on static domains [34,37,39]. We have provided descriptions, schematics and detailed algorithms for the implementation of these methods. Furthermore, we have demonstrated that each of these methods is accurate and unbiased under three test problems: pure diffusion with zero-flux boundaries, diffusion with partially absorbing periodic boundaries and the formation of a morphogen gradient with particle degradation and an influx boundary.
We have focused on exponential growth; however, it should be noted that the methods set out here will work for any type of uniform growth, provided that there is an equivalence framework between the three individual modelling paradigms. For example, if the domain were to grow linearly with rate ρ, the domain length at time t (given it is of length L0 to begin with) would be L(t) = L0(1 + ρt). The advection term in equation (2.1) would become ρ(ux)x/(1 + ρt), where the subscript here denotes differentiation with respect to the x variable. In order for the mesoscale to be equivalent, domain growth events must occur with rate ρ/(hcK) [23]. We must also be careful to adapt the calculation of the internal times of the mesoscopic events in each of the algorithms for this altered domain growth scenario [20].
We have presented each of our examples here in one dimension for simplicity and clarity of explanation; however, it would be straightforward to extend the methods to higher dimensions which have (hyper-)planar interfaces. Care must be taken so that, if domain growth is to be implemented in higher dimensions, the interface remains coherent. For example, when implementing domain growth in the compartment-based method, it makes sense to employ deterministic growth as in [24] (rather than stochastic growth [23]) so that the rate of domain growth along the interface matches each of the coupled methodologies.
We note here that the methods presented in this paper have associated practical considerations which are in common with their static domain counterparts. The main consideration that must be taken into account occurs when using one of the methods with a PDE component (PCM or ARM). Care needs to be taken to ensure that negative density does not occur. To demonstrate a situation where this might happen, consider the PCM. If the mass in the pseudo-compartment were to drop so low that the number of pseudo-particles in that compartment is less than 1 but greater than 0, then the rate of a particle jumping across the interface is positive despite there not being enough mass to remove a particle. If enacted, this movement would result in negative density in the pseudo-compartment. There is a discussion on how to fix such a problem in Yates & Flegg [34], to which we direct the interested reader.
Furthermore, the coupling of stochastic and deterministic regimes can cause issues when considering the variance in the solution. The deterministic system damps the stochastic fluctuations, reducing the variance in the stochastic subdomain, while the stochastic system influences the deterministic subdomain through the random addition or removal of mass. Several solutions to the variance damping have been discussed in the literature, including the addition of an ‘overlap region’ in place of the interface (e.g. [47]) or to replace the PDE with an appropriate stochastic PDE (see [48] for an example hybrid method). In the opposite direction, every time mass is randomly added or removed from the PDE subdomain, the solution to the PDE becomes discontinuous; as a result, the PDE method that is employed must be able to handle such small discontinuities.
Care also needs to be taken when incorporating domain growth in the PDE. Even though the mesh used for simulation is fixed in Lagrangian coordinates, as the domain grows, it gets wider when considered in Eulerian coordinates and correspondingly loses resolution. If the mesh gets too large, numerical errors will begin to dominate. In order to rectify this, once the mesh doubles in size, we re-mesh in order to improve resolution and hence reduce error.
While we have only tested our method on three varied problems, there is no reason to believe that our method will not work for systems which contain up to first-order reactions. Our method has been formulated assuming that there is no underlying volume exclusion. As a result, caution should be exercised when introducing production reactions, such as those from proliferation when modelling situations in which volume exclusion is important. For example, Fadai et al. [49] demonstrate some of the problems that need to be considered when modelling proliferation and volume exclusion.
There are several extensions (many adapted from the static hybrid literature) that might be included in order to render these growing hybrid methods more versatile. The inclusion of an adaptive interface, for example, would allow the methods to more robustly and efficiently deal with examples in which the concentration profile changes significantly. Static interfaces (interfaces which remain in the same place when considered in Lagrangian coordinates) are useful either when we know something about what the solution looks like a priori, and hence we can place the interface in an appropriate position, or if there is a region of the spatial domain that requires a more detailed representation (such as around ion channels when considering transmembrane transport, e.g. [50]). However, if neither of these is true, an adaptive interface may be required. Implementing an adaptive interface requires the use of local densities around the interface in order to determine its position; if the density in the finer scale subdomain is too high, the interface can move into that subdomain—extending the coarser subdomain, and vice versa if the local density in the coarser subdomain is too low [24,32,47]. Adaptive interfaces might also be implemented using a Stefan condition. The Stefan condition is used to move the boundary traditionally during phase transitions, with the position of the interface between the two phases governed by a differential equation. Stefan boundary conditions are important in biological applications such as the Fisher–Stefan model [51] to investigate the spreading–extinction dichotomy.
While domain growth is an important phenomenon in many biological scenarios [23], domain shrinkage also has equally important applications. As an example, directed apoptosis is an important component of wound healing, and requires models that incorporate domain shrinkage [6]. The hybrid methods presented in this paper would extend equally well to a domain that uniformly shrinks in size as they do to those that grow.
The hybrid methods presented here provide accurate ways of simulating reaction–diffusion systems on uniformly growing domains, and will be of interest to those who model such systems that either have a scale difference in particle numbers across their domain or have regions of space which need to be modelled in more detail than others. The methods developed here will allow members of the modelling community to probe the important effects of stochasticity in their multi-scale systems without suffering the potential simulation penalties that modelling the entire system using a fine-scale methodology might bring.
Footnotes
In this proof of principle paper, we do not include examples of second- or higher-order interactions. We know that the mean-field PDE model does not correspond exactly to the mean of the stochastic models in these cases due to the necessity for moment closure when deriving the continuum equations from the individual-based models. To accurately determine whether our hybrid coupling introduces bias, we consider only examples in which the expected behaviour of the individual-based method matches the behaviour of the equivalent continuum model.
Data accessibility
The codes accompanying this article have been uploaded as part of the electronic supplementary material.
Authors' contributions
Both authors contributed equally to the writing of the manuscript. C.A.S. produced the code and figures.
Competing interests
We declare we have no competing interests.
Funding
C.A.S. is supported by a scholarship from the EPSRC Centre for Doctoral Training in Statistical Applied Mathematics at Bath (SAMBa), under project no. EP/L015684/1.
References
- 1.Sherratt JA. 2005. An analysis of vegetation stripe formation in semi-arid landscapes. J. Math. Biol. 51, 183-197. ( 10.1007/s00285-005-0319-5) [DOI] [PubMed] [Google Scholar]
- 2.Volpert V, Petrovskii S. 2009. Reaction–diffusion waves in biology. Phys. Life Rev. 6, 267-310. ( 10.1016/j.plrev.2009.10.002) [DOI] [PubMed] [Google Scholar]
- 3.Khan S, Zou Y, Amjad A, Gardezi A, Smith CL, Winters C, Reese TS. 2011. Sequestration of CaMKII in dendritic spines in silico. J. Comput. Neurosci. 31, 581-594. ( 10.1007/s10827-011-0323-2) [DOI] [PubMed] [Google Scholar]
- 4.Andasari V, Roper RT, Swat MH, Chaplain MAJ. 2012. Integrating intracellular dynamics using CompuCell3D and Bionetsolver: applications to multiscale modelling of cancer cell growth and invasion. PLoS ONE 7, e33726. ( 10.1371/journal.pone.0033726) [DOI] [PMC free article] [PubMed] [Google Scholar]
- 5.ZhuGe R, Fogarty KE, Tuft RA, Lifshitz LM, Sayar K, Walsh JV. 2000. Dynamics of signaling between Ca2+ sparks and Ca2+-activated K+ channels studied with a novel image-based method for direct intracellular measurement of ryanodine receptor Ca2+ current. J. Gen. Physiol. 116, 845-864. ( 10.1085/jgp.116.6.845) [DOI] [PMC free article] [PubMed] [Google Scholar]
- 6.Yates CA. 2014. Discrete and continuous models for tissue growth and shrinkage. J. Theor. Biol. 350, 37-48. ( 10.1016/j.jtbi.2014.01.041) [DOI] [PubMed] [Google Scholar]
- 7.Wolpert L, Tickle C, Arias AM. 2015. Principles of development, 5th edn. Oxford, UK: Oxford University Press. [Google Scholar]
- 8.Mort RL, et al. 2016. Reconciling diverse mammalian pigmentation patterns with a fundamental mathematical model. Nat. Commun. 7, 10288. ( 10.1038/ncomms10288) [DOI] [PMC free article] [PubMed] [Google Scholar]
- 9.Kulesa PM, Bailey CM, Kasemeier-Kulesa JC, McLennan R. 2010. Cranial neural crest migration: new rules for an old road. Dev. Biol. 344, 543-554. ( 10.1016/j.ydbio.2010.04.010) [DOI] [PMC free article] [PubMed] [Google Scholar]
- 10.McLennan R, Dyson L, Prather KW, Morrison JA, Baker RE, Maini PK, Kulesa PM. 2012. Multiscale mechanisms of cell migration during development: theory and experiment. Development 139, 2935-2944. ( 10.1242/dev.081471) [DOI] [PMC free article] [PubMed] [Google Scholar]
- 11.Crampin EJ, Gaffney EA, Maini PK. 1999. Reaction and diffusion on growing domains: scenarios for robust pattern formation. Bull. Math. Biol. 61, 1093-1120. ( 10.1006/bulm.1999.0131) [DOI] [PubMed] [Google Scholar]
- 12.Taylor PR, Baker RE, Yates CA. 2015. Deriving appropriate boundary conditions, and accelerating position-jump simulations, of diffusion using non-local jumping. Phys. Biol. 12, 016006. ( 10.1088/1478-3975/12/1/016006) [DOI] [PubMed] [Google Scholar]
- 13.Woolley TE, Baker RE, Gaffney EA, Maini PK. 2011. Stochastic reaction and diffusion on growing domains: understanding the breakdown of robust pattern formation. Phys. Rev. E 84, 046216. ( 10.1103/PhysRevE.84.046216) [DOI] [PubMed] [Google Scholar]
- 14.Brenner SC, Carstensen C. 2004. Finite element methods. In Encyclopedia of computational mechanics (eds Stein E, de Borst R, Hughes TJR). Chichester, UK: Wiley.
- 15.Eymard R, Gallouët T, Herbin R. 2000. Finite volume methods. In Handbook of numerical analysis (eds PG Ciarlet, JL Lions), vol. 7, pp 713–1018. Amsterdam, NL: Elsevier. [Google Scholar]
- 16.Morton KW, Mayers DF. 2005. Numerical solution of partial differential equations. Cambridge, UK: Cambridge University Press. [Google Scholar]
- 17.Smith GD. 1985. Numerical solution of partial differential equations: finite difference methods. Oxford, UK: Oxford University Press. [Google Scholar]
- 18.Gillespie DT. 1977. Exact stochastic simulation of coupled chemical reactions. J. Phys. Chem. 81, 2340-2361. ( 10.1021/j100540a008) [DOI] [Google Scholar]
- 19.Gibson MA, Bruck J. 2000. Efficient exact stochastic simulation of chemical systems with many species and many channels. J. Phys. Chem. A 104, 1876-1889. ( 10.1021/jp993732q) [DOI] [Google Scholar]
- 20.Anderson DF. 2007. A modified next reaction method for simulating chemical systems with time dependent propensities and delays. J. Chem. Phys. 127, 214107. ( 10.1063/1.2799998) [DOI] [PubMed] [Google Scholar]
- 21.Gillespie DT. 2001. Approximate accelerated stochastic simulation of chemically reacting systems. J. Chem. Phys. 115, 1716-1733. ( 10.1063/1.1378322) [DOI] [Google Scholar]
- 22.Auger A, Chatelain P, Koumoutsakos P. 2006. R-leaping: accelerating the stochastic simulation algorithm by reaction leaps. J. Chem. Phys. 125, 084103. ( 10.1063/1.2218339) [DOI] [PubMed] [Google Scholar]
- 23.Baker RE, Yates CA, Erban R. 2010. From microscopic to macroscopic descriptions of cell migration on growing domains. Bull. Math. Biol. 72, 719-762. ( 10.1007/s11538-009-9467-x) [DOI] [PubMed] [Google Scholar]
- 24.Smith CA, Mailler C, Yates CA. 2019. Unbiased on-lattice domain growth. Phys. Rev. E 100, 063307. ( 10.1103/PhysRevE.100.063307) [DOI] [PubMed] [Google Scholar]
- 25.Smoluchowski M. 1917. Versuch einer mathematischen Theorie der Koagulationskinetik kolloider Lösungen. Z. Phys. Chem. 92, 9. ( 10.1515/zpch-1918-9209) [DOI] [Google Scholar]
- 26.van Zon JS, ten Wolde PR. 2005. Green’s-function reaction dynamics: a particle-based approach for simulating biochemical networks in time and space. J. Chem. Phys. 123, 234910. ( 10.1063/1.2137716) [DOI] [PubMed] [Google Scholar]
- 27.Holley R. 1971. The motion of a heavy particle in an infinite one dimensional gas of hard spheres. Probab. Theory. Rel. 17, 181-219. ( 10.1007/bf00536757) [DOI] [Google Scholar]
- 28.Dürr D, Goldstein S, Lebowitz JL. 1981. A mechanical model of Brownian motion. Commun. Math. Phys. 78, 507-530. ( 10.1007/BF02046762) [DOI] [Google Scholar]
- 29.Markevich NI, Hoek JB, Kholodenko BN. 2004. Signaling switches and bistability arising from multisite phosphorylation in protein kinase cascades. J. Cell Biol. 164, 353-359. ( 10.1083/jcb.200308060) [DOI] [PMC free article] [PubMed] [Google Scholar]
- 30.Black AJ, McKane AJ. 2012. Stochastic formulation of ecological models and their applications. Trends Ecol. Evol. 27, 337-345. ( 10.1016/j.tree.2012.01.014) [DOI] [PubMed] [Google Scholar]
- 31.Gillespie DT, Hellander A, Petzold LR. 2013. Perspective: stochastic algorithms for chemical kinetics. J. Chem. Phys. 138, 170901. ( 10.1063/1.4801941) [DOI] [PMC free article] [PubMed] [Google Scholar]
- 32.Robinson M, Flegg MB, Erban R. 2014. Adaptive two-regime method: application to front propagation. J. Chem. Phys. 140, 124109. ( 10.1063/1.4868652) [DOI] [PubMed] [Google Scholar]
- 33.Smith CA, Yates CA. 2018. Spatially extended hybrid methods: a review. J. R. Soc. Interface 15, 20170931. ( 10.1098/rsif.2017.0931) [DOI] [PMC free article] [PubMed] [Google Scholar]
- 34.Yates CA, Flegg MB. 2015. The pseudo-compartment method for coupling partial differential equation and compartment-based models of diffusion. J. R. Soc. Interface 12, 20150141. ( 10.1098/rsif.2015.0141) [DOI] [PMC free article] [PubMed] [Google Scholar]
- 35.Moro E. 2004. Hybrid method for simulating front propagation in reaction-diffusion systems. Phys. Rev. E 69, 060101. ( 10.1103/PhysRevE.69.060101) [DOI] [PubMed] [Google Scholar]
- 36.Spill F, Guerrero P, Alarcon T, Maini PK, Byrne H. 2015. Hybrid approaches for multiple-species stochastic reaction–diffusion models. J. Comput. Phys. 299, 429-445. ( 10.1016/j.jcp.2015.07.002) [DOI] [PMC free article] [PubMed] [Google Scholar]
- 37.Flegg MB, Hellander S, Erban R. 2015. Convergence of methods for coupling of microscopic and mesoscopic reaction-diffusion simulations. J. Comput. Phys. 289, 1-17. ( 10.1016/j.jcp.2015.01.030) [DOI] [PMC free article] [PubMed] [Google Scholar]
- 38.Flegg MB, Chapman SJ, Erban R. 2012. The two-regime method for optimizing stochastic reaction–diffusion simulations. J. R. Soc. Interface. 9, 859-868. ( 10.1098/rsif.2011.0574) [DOI] [PMC free article] [PubMed] [Google Scholar]
- 39.Smith CA, Yates CA. 2018. The auxiliary region method: a hybrid method for coupling a PDE to Brownian-based dynamics for reaction-diffusion systems. R. Soc. Open Sci. 5, 180920. ( 10.1098/rsos.180920) [DOI] [PMC free article] [PubMed] [Google Scholar]
- 40.Franz B, Flegg MB, Chapman SJ, Erban R. 2013. Multiscale reaction-diffusion algorithms: PDE-assisted Brownian dynamics. SIAM J. Appl. Math. 73, 1224-1247. ( 10.1137/120882469) [DOI] [Google Scholar]
- 41.Alexander FJ, Garcia AL, Tartakovsky DM. 2002. Algorithm refinement for stochastic partial differential equations: I. Linear diffusion. J. Comput. Phys. 182, 47-66. ( 10.1006/jcph.2002.7149) [DOI] [Google Scholar]
- 42.Erban R. 2014. From molecular dynamics to Brownian dynamics. Proc. R. Soc. A 470, 20140036. ( 10.1098/rspa.2014.0036) [DOI] [PMC free article] [PubMed] [Google Scholar]
- 43.Erban R. 2016. Coupling all-atom molecular dynamics simulations of ions in water with Brownian dynamics. Proc. R. Soc. A 472, 20150556. ( 10.1098/rspa.2015.0556) [DOI] [PMC free article] [PubMed] [Google Scholar]
- 44.Simpson MJ. 2015. Exact solutions of linear reaction-diffusion processes on a uniformly growing domain: criteria for successful colonization. PLoS ONE 10, e0117949. ( 10.1371/journal.pone.0117949) [DOI] [PMC free article] [PubMed] [Google Scholar]
- 45.Risken H. 1996. Fokker-Planck equation. In The Fokker-Planck equation, pp. 63–95. New York, NY: Springer.
- 46.Erban R, Chapman SJ. 2009. Stochastic modelling of reaction–diffusion processes: algorithms for bimolecular reactions. Phys. Biol. 6, 1-18. ( 10.1088/1478-3975/6/4/046001) [DOI] [PubMed] [Google Scholar]
- 47.Harrison JU, Yates CA. 2016. A hybrid algorithm for coupling PDE and compartment-based dynamics. J. R. Soc. Interface 13, 20160335. ( 10.1098/rsif.2016.0335) [DOI] [PMC free article] [PubMed] [Google Scholar]
- 48.Kang HW, Erban R. 2019. Multiscale stochastic reaction–diffusion algorithms combining Markov chain models with stochastic partial differential equations. Bull. Math. Biol. 81, 3185-3213. ( 10.1007/s11538-019-00613-0) [DOI] [PMC free article] [PubMed] [Google Scholar]
- 49.Fadai NT, Baker RE, Simpson MJ. 2019. Accurate and efficient discretizations for stochastic models providing near agent-based spatial resolution at low computational cost. J. R. Soc. Interface 16, 20190421. ( 10.1098/rsif.2019.0421) [DOI] [PMC free article] [PubMed] [Google Scholar]
- 50.Dobramysl U, Rüdiger S, Erban R. 2015. Particle-based multiscale modeling of intracellular calcium dynamics. Multiscale Model. Simul. 14, 997-1016. ( 10.1137/15M1015030) [DOI] [Google Scholar]
- 51.El-Hachem M, McCue SW, Jin W, Du Y, Simpson MJ. 2019. Revisiting the Fisher–Kolmogorov–Petrovsky-Piskunov equation to interpret the spreading–extinction dichotomy. Proc. R. Soc. A 475, 20190378. ( 10.1098/rspa.2019.0378) [DOI] [PMC free article] [PubMed] [Google Scholar]
Associated Data
This section collects any data citations, data availability statements, or supplementary materials included in this article.
Data Availability Statement
The codes accompanying this article have been uploaded as part of the electronic supplementary material.



