1. Introduction

The proper functioning of the nervous system relies on the formation of correct neuronal connections. During development, neurons project long, thin extensions, called axons, which grow out, often over long distances, to form synaptic connections with appropriate target cells. Axons can find their target cells with remarkable precision by using molecular cues in the extracellular space (for reviews, see Tessier-Lavigne and Goodman, 1996; Dickson, 2002; Yamamoto et al., 2003). They steer axons by regulating cytoskeletal dynamics in the growth cone (Huber et al., 2003), a highly motile and sensitive structure at the tip of a growing axon. Extracellular cues can either attract or repel growth cones, and can either be relatively fixed or diffuse freely through the extracellular space. Target cells secrete diffusible attractants and create a gradient of increasing concentration, which the growth cone can sense and follow (Goodhill, 1997). Cells that the axons have to avoid or grow away from produce repellents. By integrating different molecular cues in their environment, growth cones guide axons along the appropriate pathways and via intermediate targets to their final destination, where they stop growing and form axonal arbors to establish synaptic connections. The responsiveness of growth cones to guidance cues is not static but can change dynamically during navigation. Growth cones can undergo consecutive phases of desensitization and resensitization (Ming et al., 2002), and can respond to the same cue in different ways at different points along their journey (Shirasaki et al., 1998; Zou et al., 2000; Shewan et al., 2002). Through modulation of the internal state of the growth cone, attraction can be converted to repulsion and vice versa (Song et al., 1998; Song and Poo, 1999).

Axon guidance is a very active field of research. Several families of molecules have been identified and a few general mechanisms can account for many guidance phenomena. The major challenge is now to understand, not only qualitatively but also quantitatively, how these molecules and mechanisms act in concert to generate the complex patterns of neuronal connections that are found in the nervous system.

To address this challenge, experimental work needs to be complemented by modeling studies. However, unlike for the study of electrical activity in neurons and neuronal networks (e.g., NEURON; Hines and Carnevale, 1997), there are currently no general simulation tools available for axon guidance.

In Hentschel and van Ooyen (1999) a model is presented in which growing axons on a plain are modeled by means of differential equations for the locations of the growth cones. These equations are coupled to diffusion equations that describe the concentration fields of diffusible chemoattractants and chemorepellents (henceforth referred to as guidance molecules). The system is simplified by using quasi-steady-state approximations for the concentration fields. This approach turns the problem of solving a system consisting of PDEs (partial differential equations) plus ODEs (ordinary differential equations) into a much simpler problem where only ODEs have to be solved. This works fine as long as the whole plain is used as a domain for the diffusion equations, but we also want to be able to consider more general domains with, for example, areas where diffusion cannot take place (“holes”) or with boundaries. Also, Krottje (2003a) showed that in Hentschel and van Ooyen’s approach moving growth cones that secrete diffusible guidance molecules upon which they respond themselves cause the speed of growth to be strongly dependent on the diameter of the growth cone (a phenomenon that was called self-interaction). The use of a quasi-steady-state approximation will then result in heavily distorted dynamics.

Here, we present a general framework for the simulation of axon guidance together with novel numerical methods for carrying out the simulations. The two major ingredients of the modeling framework are the concentration fields of the guidance molecules and the finite-dimensional state vectors representing the growth cones and target neurons. For the latter two, ODEs must be constructed that describe the interaction with the concentration fields. The dynamics of the fields is described by diffusion equations, where we allow for domains with holes or internal boundaries.

Numerical difficulties arise from small, moving sources for the diffusion equations (see Krottje, 2003a) and from the time integration of a system that is a combination of highly nonlinear, non-stiff ODEs and stiff diffusion equations (see Verwer and Sommeijer, 2001). To circumvent this last difficulty we consider the use of quasi-steady-state approximations, and we will discuss some criteria on the validity of such approximations.

The organization of the paper is as follows. We start with a description of the simulation framework in Section 2. In Section 3 we will discuss some features of the underlying mathematical model and in Section 4 the numerical methods are discussed. Some simulation examples are given in Section 5. We will finish with a discussion in Section 6.

2. Simulation framework

In this section, we will describe a modeling framework for axon guidance. In the models that can be defined within this framework one can incorporate different biological processes and mechanisms, some of which are displayed in Fig. 1. From a mathematical perspective the framework consists of states, fields and their coupling. We will now discuss these components and their biological interpretation, as well as show how they are related through the model equations.

Fig. 1
figure 1

Examples of biological concepts that can be incorporated in our framework.

2.1. States

We define states to be finite-dimensional state vectors that represent objects that interact with the concentration fields of guidance molecules. These objects can be, for example, growth cones that move in response to the concentration fields, target neurons that act as sources of guidance molecules, or locations where artificial injection of guidance molecules takes place.

We will assume that the first two variables of the state vector will always represent its two-dimensional location, which we will denote by r. Whereas in the model of Hentschel and van Ooyen a growth cone is completely characterized by its location r, our description allows for a more general approach in which the state can be extended with a vector s that further describes the characteristics of the growth cone. Possible characteristics of growth cones and targets that can be modeled with s are as follows:

  • Sensitivity: Growth cones can respond to different guidance molecules. Their sensitivity to a particular molecule may vary over time (Shewan et al., 2002) and can be influenced by the concentration levels of other guidance molecules as well as by the level of signaling molecules inside the growth cone (Song and Poo, 1999).

  • Growth cone geometry: It is known that growth cones can change their size while moving through the environment (Rehder and Kater, 1996). The vector s could model how this process depends on the concentration fields, or it could model the way in which changes in growth cone size change the growth cone’s sensitivity or behavior.

  • Internal state of growth cone: Inside a growth cone biochemical reactions take place that determine the growth cone’s dynamics (Song et al., 1998; Song and Poo, 1999). With s, the concentrations of the different reactants and their effect on growth cone dynamics and axon guidance can be modeled.

  • Production rates: The rate at which target cells produce guidance molecules may depend on the concentration fields measured at the locations of the targets. The vector s can be used to describe such dependencies. Alternatively, s can describe production rates that are given explicitly as functions of time.

For the dynamics of the states we allow for two possibilities. In the first one, the state (r, s) is given explicitly as a function of time t and the different concentration levels of guidance molecules ρ j and their gradients ∇ ρj evaluated at position r,

$$\left( {\matrix{ {\rm{r}} \cr {\rm{s}} \cr } }\right) = \left( {\matrix{ {{G^{\rm{r}}}(t)} \cr {{G^{\rm{s}}}(t,{\rho _1}({\rm{r}},t),\nabla {\rho _1}({\rm{r}},t), \ldots ,{\rho _M}({\rm{r}},t),\nabla {\rho _M}({\rm{r}},t))} \cr } }\right)$$
(1)

.

In the second possibility an ODE describes the dynamics of the states,

$${{\rm{d}} \over {{\rm{d}}t}}\left( {\matrix{ {\rm{r}} \cr {\rm{s}} \cr } } \right) = G(t,{\rm{s}},{\rho _1}({\rm{r}},t),\nabla {\rho _1}({\rm{r}},t), \ldots ,{\rho _M}({\rm{r}},t),\nabla {\rho _M}({\rm{r}},t))$$
(2)

.

The functions G r, G s and G are used to model the different biological processes and mechanisms. We will now discuss the fields ρ j (j = 1, …, M).

2.2. Fields

The fields in our framework represent the concentration fields of the guidance molecules. The dynamics of these fields are determined by diffusion, absorption and some highly localized sources. With ρ the concentration field, d the diffusion coefficient, k the absorption coefficient, and S tot a source term, this results in the diffusion equation

$${\partial _t}\rho = d\Delta \rho - k\rho + {S_{{\rm{tot}}}},{\rm{ on }}\Omega \subset {^{\rm{2}}}{\rm{, n}} \cdot \nabla \rho = 0,{\rm{ on }}\partial \Omega $$
(3)

, where the domain Ω may contain several holes (i.e., areas that are impenetrable for guidance molecules) with piecewise smooth boundaries. Thus, on the boundary of the domain we will assume that there is no in- or outflow of guidance molecules. A domain is defined by specifying an outer boundary and possibly several internal boundaries. In our framework all boundaries must be given by parameterizations γ i : [0, 1) → Ω. The parameterizations describe curves. If, for example, an internal boundary is described by a circle, there will be no guidance molecules and therefore no gradients within the area specified by the circle (see also Example 2 in Section 5).

A number of states is linked to a field. These states determine the total source function S tot, which is the sum of source functions S i , each of them belonging to a single state (r, s) i . To further specify the form of the S i , we make use of a translation operator T y, which can by applied to arbitrary functions η : Ω → ℝ and which is defined for y ∈ Ω by (T yη)(x) = η(x − y) for all x ∈ Ω. For the source functions S i : Ω → ℝ, we make the assumption that S i = σ i (s i )T r i S. Here, S is some general function profile and σ i (s i ) ∈ ℝ denotes the production rate.

We also allow for the possibility of having fields in steady state. A reason to incorporate such fields is that the field dynamics might by significantly faster than the dynamics of the growth cones or targets. In this case the fields equation will be

$$d\Delta \rho - k\rho + {S_{{\rm{tot}}}} = 0,{\rm{ on }}\Omega \subset {^{\rm{2}}}{\rm{, n}} \cdot \nabla \rho = 0,{\rm{ on }}\partial \Omega $$
(4)

, We will refer to them as quasi-steady-state equations because the source term S tot may depend on time due to time dependent s i and r i .

2.3. Coupling

The coupling between the states and the fields occurs through the arguments ρ j (r i ) and ∇ ρj (r i ) in G and the functions σ(s i ) in S tot. An example of the coupling is depicted in Fig. 2, where we have three states and two concentration fields. Here an arrow from one object to another means that the dynamics of the latter object depend on the former. For example, the dynamics of state 1 is determined by itself and the fields A and B, whereas the dynamics of field A depend on states 1 and 2.

Fig. 2
figure 2

Example of a setting with three dynamic states and two fields.

The system of equations in this case might be

$$\eqalign{ & {{\rm{d}} \over {{\rm{d}}t}}\left( {\matrix{ {{{\rm{r}}_{\rm{1}}}} \cr {{{\rm{s}}_{\rm{1}}}} \cr } } \right){G_1}(t,{{\rm{s}}_{\rm{1}}},{\rho _A}({{\rm{r}}_{\rm{1}}},t),\nabla {\rho _A}({{\rm{r}}_{\rm{1}}},t),{\rho _B}({{\rm{r}}_{\rm{1}}},t),\nabla {\rho _B}({{\rm{r}}_{\rm{1}}},t)), \cr & \left( {\matrix{ {{{\rm{r}}_{\rm{2}}}} \cr {{{\rm{s}}_{\rm{2}}}} \cr } } \right) = \left( {\matrix{ {G_2^{\rm{r}}(t)} \cr {G_2^{\rm{r}}(t,{\rho _B}({{\rm{r}}_{\rm{2}}},t),\nabla {\rho _B}({{\rm{r}}_{\rm{2}}},t))} \cr } } \right) \cr & \left( {\matrix{ {{{\rm{r}}_3}} \cr {{{\rm{s}}_3}} \cr } } \right) = {G_3}(t) \equiv \left( {\matrix{ {{\rm{r}}_3^0} \cr {{\rm{s}}_3^0} \cr } } \right), \cr & {\partial _t}{\rho _A} = d\Delta {\rho _A} - k{\rho _A} + {\sigma _{A,1}}({{\rm{s}}_1}){T_{{{\rm{r}}_1}}}S + {\sigma _{A,2}}({{\rm{s}}_2}){T_{{{\rm{r}}_2}}}S, \cr & 0 = d\Delta {\rho _B} - k{\rho _B} + {\sigma _{B,3}}({{\rm{s}}_3}){T_{{{\rm{r}}_{\rm{3}}}}}S \cr} $$
(5)

.

We see that only the dynamics of state 1 depends on the state itself, which is reflected in having an ODE for its dynamics, while the dynamics of the other two states are given in a more explicit form.

3. Underlying mathematical model

In the framework, the complete simulation model consists of a number of state vectors u i = (r T i s T i )T, i = 1, …, N, with their dynamics determined by (1) or (2), together with concentration fields ρ j , j = 1, …, M, defined by diffusion equations (3) or quasi-steady-state equations (4). We assume that for the first M d fields the dynamics are given by the full diffusion equations and that for the other fields the dynamics are given by quasi-steady-state equations. This results in field equations of the form

$${\partial _t}{\rho _j} = {L_j}{\rho _j} + \sum\limits_{i = 1}^N {{\sigma _{ji}}({{\rm{s}}_i}){T_{{{\rm{r}}_i}}}S,{\rm{ on }}\Omega {\rm{, }}j{\rm{ = 1,}} \ldots {M_d}} $$
(6)
$$0 = {L_j}{\rho _j} + \sum\limits_{i = 1}^N {{\sigma _{ji}}({{\rm{s}}_i}){T_{{{\rm{r}}_i}}}S,{\rm{ on }}\Omega {\rm{, }}j{\rm{ = }}{M_d} + {\rm{1,}} \ldots } ,M$$
(7)
$${\rm{n}} \cdot \nabla {\rho _j} = 0,{\rm{ on }}\partial \Omega ,{\rm{ }}j{\rm{ = 1,}} \ldots M$$
(8)

, where L j = d j Δ − k j . Here, we assume that S: Ω → ℝ is an L 2-function with compact support with the property that \(\int_\Omega {S({\rm{x}})d{\rm{x}} = 1} \). This means that we can interpret the σ ji as the production rate of the source attached to state (r, s) i with respect to field ρ j .

We assume that the dynamics of the first N o state vectors are given by ODEs, i.e., equations of the form (2), and that the dynamics of the other vectors are given explicitly as a function of time and the fields. When we make use of the notation for vectors ρ(r i ), ∂ x ρ(r i ) and ∂yρ(r i ), that are defined by

$$\rho {({{\rm{r}}_i})_j} = {\rho _j}({{\rm{r}}_i}),{\rm{ }}{\partial _x}\rho {({{\rm{r}}_i})_j} = {\partial _x}{\rho _j}({{\rm{r}}_i}),{\rm{ }}{\partial _y}\rho {({{\rm{r}}_i})_j} = {\partial _y}{\rho _j}({{\rm{r}}_i})$$

, this results in

$${\partial _t}{{\rm{u}}_i} = {G_i}(t,{{\rm{u}}_i},\rho ({{\rm{r}}_i}),{\rm{ }}{\partial _x}\rho ({{\rm{r}}_i}),{\rm{ }}{\partial _y}\rho ({{\rm{r}}_i})),{\rm{ }}i = 1, \ldots ,{N_o}$$
(9)
$$\left( {\matrix{ {{{\rm{r}}_i}} \cr {{{\rm{s}}_i}} \cr } }\right) = \left( {\matrix{ {G_i^{\rm{r}}(t)} \cr {G_i^{\rm{s}}(t,\rho ({{\rm{r}}_i}),{\rm{ }}{\partial _x}\rho ({{\rm{r}}_i}),{\rm{ }}{\partial _y}\rho ({{\rm{r}}_i}))} \cr } }\right),{\rm{ }}i = {N_o} + 1, \ldots ,N$$
(10)

.

In the functions G i we have to implement the different mechanisms that are involved in the behavior of the growth cones and targets when they measure the levels of particular concentration fields and their gradients. To complete the system we have to add initial conditions for the states u i and the fields ρ j .

3.1. Moving sources

Our framework also allows for the possibility that guidance molecules are released by the growth cones themselves, i.e., we allow for moving sources. Although the biological evidence for this is not so strong as for the release of guidance molecules by target cells, it is certainly not implausible. Growth cones secrete various chemicals that may operate as chemoattractants and chemorepellents. For example, migrating axons are capable of secreting neurotransmitters (Young and Poo, 1983), which have been implicated as chemoattractants (Zheng et al., 1994). The treatment of moving sources that respond to guidance molecules they themselves secrete is mathematically challenging and will be dealt with in the Appendix.

3.2. Quasi-steady-state approximation

When we run a simulation using the whole system (610), we should use a time integration technique that is suitable for the stiff diffusion equations in combination with the non-stiff ODEs. If the dynamics of all the diffusion equations are fast compared to the state-dynamics, then it is possible to approximate the ρ j , j = 1, …, M d with solutions of the steady-state equations

$$0 = {L_j}{\rho _j} + \sum\limits_{i = 1}^N {{\sigma _{ji}}({{\rm{s}}_i}){T_{{{\rm{r}}_i}}}S,{\rm{ on }}\Omega {\rm{, }}j{\rm{ = 1,}} \ldots {M_d}} $$
(6')

.

The original dynamical system, which had as its dependent variables the states u i and the fields ρ j , is now replaced by a dynamical system that has only the u i as its dependent variables. Although the system at hand is therefore reduced from an infinite-dimensional to a finite-dimensional system, evaluation of the right-hand side still involves solving a infinite-dimensional system. Determination of the values ρ j (r i ) requires solving Eqs. (6’7). From a numerical perspective the advantage is that we do not need a time integrator that can handle the combination of stiff PDEs and non-stiff ODEs, but we can simply make use of a standard explicit time integrator.

To investigate the validity of such an approximation we will consider a diffusion Eq. (11) and its steady-state approximation (12)

$$\left\{ {\matrix{ {{\partial _t}\rho = d\Delta \rho - k\rho + S,} \cr {\rho (0,{\rm{x}}) = {\rho _0}({\rm{x}})} \cr } } \right.{\rm{on }}{^{\rm{2}}}$$
(11)
$$0 = d\Delta \rho - k\rho + S,{\rm{ on }}{^{\rm{2}}}$$
(12)

.

Some implications of using an approximation like (12) for (11) are discussed in Krottje (2003a). There the case of self-interaction is considered, meaning that for a particular field a source is attached to a state and the dynamics of the state is determined by the same field. Here, we want to consider some more general criteria as to when such a quasi-steady-state approximation might be valid for different parameter values of the diffusion rate d, the absorption rate k, and the speed a source moves through the domain v.

Hentschel and van Ooyen (1999) used the approximation on the basis of comparing the time scales of growth and diffusion. Here, however, the absorption parameter plays also a role. To determine criteria that take also k into account we will follow two approaches. In the first approach we consider the time needed for setting-up a concentration field. In the second approach we compare the concentration profile produced by a point source moving with constant speed with its quasi-steady-state approximation.

3.3. Field set-up time

To examine how the time for setting up the concentration field depends on d and k, we consider the solution of (11) with S being a point source at the origin, S(x, t) = δ(x), and an initial field ρ = 0 at time t = 0. The solution is rotation symmetric, making it dependent only on the distance to the source r and the time t, ρ(r, t). In the Appendix it is shown that it approaches a steady-state solution ρ(r, ∞). To see how fast the field approaches the steady-state field, we consider

$$c(r,t) = {{\rho (r,\infty ) - \rho (r,t)} \over {\rho (r,\infty )}}$$

, which represents how close the field is to its limit value. For example, a value c(r, t) = 0.01, means that at time t the field is for 99% set up, at location r. In the Appendix we derive

$$c(r,t) \sim {1 \over {2{K_0}(r\sqrt {{k \over d})} }}{{{{\rm{e}}^{ - kt}}} \over {kt}}$$
(13)

, where K 0 is a modified Bessel function of the Second Kind (Abramowitz and Stegun, 1964). This can be used to get an indication of the time scale of the field dynamics. Such an indicator is important if we want to work with fields in which the sources do not move through the domain. In case of moving sources, one might wonder how the speed of a source influences the produced field. To this end we examine the solution of (11) with a point source that moves with constant speed.

3.4. Field produced by moving source

Consider Eq. (11) with a point source that moves with constant speed v along the x-axis in positive direction, i.e., S(x, t) = δ(xv t), with v = (ν, 0)T. In the Appendix it is shown that we get a stable constant profile solution that moves also with constant speed v.

Here, we want to compare how close the quasi steady-state-approximation solution ρ s is to this moving profile solution ρ p . It turns out that in the vicinity of the source the moving profile is smaller than the steady-state-approximation, and on approaching the location of the source they tend to become equal. In the Appendix it is derived that the area around the source for which the difference between the quasi-steady-state approximation ρ s and the moving profile solution ρ p is smaller than some threshold, is circular in first-order approximation in the distance to the source

$$r\mathop < \limits_ \approx 2{{\rm{e}}^{ - \gamma E}}\sqrt {{d \over k}} {(1 + {{{\nu ^2}} \over {4dk}})^{{1 \over {2(\gamma - 1)}}}} \Rightarrow \gamma \mathop < \limits_ \approx {{{\rho _p}} \over {{\rho _s}}} \le 1$$
(14)

.

If we choose γ = 0.99, we get an indication of the radius r of the region around the source where the difference between the moving profile and the quasi-steady-state solution is less than about 1%, given the values of the diffusion rate d, absorption rate k and moving speed v.

3.5. Typical parameter ranges

Based on in vitro data of chick spinal sensory axons, chick retinal axons and leukocyte chemotaxis, Goodhill (1998) gives some estimates for the ranges of some relevant parameters. Table 1 shows a list with parameter ranges. The ratio of the maximal and minimal concentration for gradient detection ρmaxmin can be used together with the diffusion constant d to find an upper bound on the possible values of the absorption parameter k j . Assume that the ratio ρmaxmin is 100/10−2 = 104 and that we have a point source located at the origin that produces the steady-state field ρ s (r). Then using the assumptions that the maximal distance over which a cone can be guided L path is 1 mm and the growth cone radius equals 0.005 mm, we find

$${{{\rho _s}(0.005)} \over {{\rho _s}(1.0)}} = {K_0}\left( {0.005\sqrt {{{{k_j}} \over {{d_j}}}} } \right)/{K_0}\left( {\sqrt {{{{k_j}} \over {{d_j}}}} } \right)\mathop < \limits_ \approx {10^4} \Rightarrow \sqrt {{{{k_j}} \over {{d_j}}}} \mathop < \limits_ \approx 60$$
(15)

.

Table 1 Parameter ranges.

Here, we used an expression for ρ s that is derived in the Appendix. We can derive a lower bound for the absorption constant k j by considering the ratio L cone|∂ r ρ s (r)|/ρ s (r) which decreases with r and increases with k j . If we assume it to be greater than 0.01, for all r ≤ 1, this yields a bound \(\sqrt {{k_j}/{d_j}} \ge 0.60\).

4. Numerical methods

In this section, we will consider the numerical methods we use for solving Eqs. (610). We will start with the spatial discretization for solving the field equations. This will be followed by a description of the time integration techniques.

For solving the field equations we use an unstructured spatial discretization based on an arbitrary set of nodes situated in the domain. This approach facilitates dealing with complex domains, refinement and adaptivity; the latter is needed in cases where we have moving sources with small support. A thorough description of the method can be found in Krottje (2003b); we will briefly outline it here.

4.1. Function approximation

Given function values on the nodes, we use a local least-squares approximation technique to determine for every node a second-order multinomial that is a local approximation of the function around that node. For this we use the function values on a number of neighboring nodes. Because every second-order multinomial can be written as the linear combination of six basis functions, we must choose at least five neighbors for every node to determine such an approximating multinomial.

With this procedure a set of function values is mapped onto a set of local approximations around every node. If we assign to every node a part of the domain for which we assume the local approximation to be valid, such that the whole domain is covered, this results in a global approximation. For a given set of function values in a vector w ∈ ℝN, we denote the global approximation by F(w) ∈ L 1(Ω), where L 1(Ω) is the space of integrable real functions defined on Ω ⊂ ℝ2.

4.2. Voronoi diagrams

For choosing neighboring nodes of nodes, as well as for assigning parts of the domain to the nodes, we use the Voronoi diagram (Fortune, 1987). It assigns to every node a Voronoi cell, which is the set of points closer to the node than to every other node, hence dividing the domain and at the same time creating neighbors in a natural way.

Because a Voronoi diagram extends to all of ℝ2, we will truncate it by connecting the nodes on the boundary by straight lines, resulting in a bounded diagram. From now on all our diagrams will be truncated ones, but we will still refer to them as Voronoi diagrams. Determination of such a diagram can be done in O(Nlog(N)) operations, where N is the number of nodes (de Berg et al., 2000). We store the diagram in a totally disconnected edge list (de Berg et al., 2000), so that searching neighboring nodes for every node becomes a process of O(N) operations.

4.3. Variational problem

Solving equations of the form (7) can be done by solving the variational problem of minimizing A(w,w) − L(S,w) over wH 1 (Atkinson and Han, 2001; Krottje, 2003b), where

$$A(\upsilon ,w) = \int_\Omega {{1 \over 2}} d\nabla \upsilon \cdot \nabla w + {1 \over 2}k\upsilon w{\rm{d}}x$$
(16)

,

$$L(S,w) = \int_\Omega {Sw{\rm{d}}x} $$
(17)

.

A direct discretization of this problem is to minimize A(F(w), F(w)) − L(F(S), F(w)), over all w ∈ ℝN, where S ∈ ℝN is the vector of S-values at the nodes. It can be shown (Krottje, 2003b) that sparse matrices ^A and ^L exist such that ½w T ^A w = A(F(w), F(w)) and S T ^L w = L(F(S), F(w)). If ^A is non-singular the discrete problem has a unique solution w = ^A −1 S. With the algorithm for finding the Voronoi diagram comes a lexicographical ordering of the nodes that will give the sparse matrices a band structure, which is advantageous when solving the system directly using an LU-decomposition.

Convergence tests show that the solution is second-order convergent in the L 2-norm, with respect to the maximum distance between neighboring nodes (Krottje, 2003b).

4.4. Choosing nodes

To distribute nodes appropriately over a domain we make use of Lloyd’s algorithm (Du et al., 1999). This algorithm is based upon the determination of Voronoi diagrams and the process of shifting nodes to centroids of Voronoi cells. An alternating sequence of these two operations distributes the nodes equally over the domain, in the sense that distances between neighbors will tend to become equal throughout the diagram.

To achieve refinement at certain points, we use a variation of Lloyd’s algorithm. Here, after shifting the nodes to their centroids, an extra shift in the direction of neighboring nodes is added. To determine for a particular node which of its neighbors are attracting this node, all nodes are given an integer type. Nodes will then be attracted to the neighbors with higher type than their own type.

To get refinement around a certain point in the domain, a node is fixed at that point and several rings of decreasing node type are defined around it. The extended Lloyd’s algorithm then moves nodes around, which results in a refinement around the fixed node.

In contrast to methods where refinement is based on local error estimation, here refinement takes place around the source locations. This is done because we know in advance that only at those locations, and possibly at the boundary, refinement is required for optimal accuracy. Doing it in this way instead of using an error estimation process will speed up the refinement process.

Having discussed the spatial discretization method we will now focus on the time integration. We will consider three different cases that can be distinguished by the field dynamics in the model.

4.5. Time integration with static fields

We first consider the case with static fields only. In this case we only have ODEs which need the solutions of the fields for the evaluation of their right-hand sides. These fields are determined at the start of the simulation by solving the elliptic equations, giving the approximations to the field solutions ρ1, …, ρ M . After this the growth cone dynamics can be solved using a standard explicit ODE solver.

For the fields to be static we need a number of static states that make up the sources of the fields. Let us assume that of all the states only the last N s are static, i.e., (r i , s i ) = constant, and that the rest of the states do not influence the field dynamics. Thus, we must have

$${\sigma _{ji}} \equiv 0,{\rm{ for all}}\left\{ {\matrix{ {j = 1, \ldots ,M,} \hfill & {{\rm{(all fields)}}} \hfill \cr {i = 1, \ldots ,N - {N_s}} \hfill & {{\rm{(all dynamic states)}}} \hfill \cr } } \right.$$
(18)

.

Then given the N s static positions r i , i > NN s , we have to solve

$${s_i} = G_i^{\rm{s}}(\rho ({{\rm{r}}_i}),{\partial _x}\rho ({{\rm{r}}_i}),{\partial _y}\rho ({{\rm{r}}_i})),{\rm{ }}i = N - {N_s} + 1, \ldots ,N$$
(19)

.

$$\eqalign{ & {L_j}{\rho _j} + \sum\limits_{i = N - {N_s} + 1}^N {{\sigma _{ji}}({{\rm{s}}_i}){T_{{{\rm{r}}_i}}}S = 0,{\rm{ on }}\Omega } , \cr & {\rm{n}} \cdot \nabla {\rho _j} = 0,{\rm{ on }}\partial \Omega ,{\rm{ }}j = 1, \ldots ,M \cr} $$
(20)

.

This system can be solved by solving first the field Eq. (20). Using the inverse operators of L j with respect to the boundary conditions, we get

$${\rho _j} = - \sum\limits_{i = N - {N_s} + 1}^N {{\sigma _{ji}}({{\rm{s}}_i})L_j^{ - 1}{T_{{{\rm{r}}_i}}}S,{\rm{ on }}\Omega } $$
(21)

.

When combined with Eq. (19), evaluation of these field solutions and their gradients in the given r i , results in a closed algebraic system with respect to s i , ρ j (r i ), ∂ x ρ j (r i ) and ∂ y ρ j (r i ). We will assume that this nonlinear system can be solved, although the solvability depends on the r i and the functions σ ji .

Therefore, to solve numerically the fields ρ j we first have to solve numerically the fields \(L_j^{ - 1}{T_{{{\rm{r}}_i}}}S\), using the spatial discretization above. After evaluation of these fields (i.e., their numerical approximations) and their derivatives in all locations r i , the algebraic system can be built by substituting (21) into (19). We can solve this system by using, for example, Newton iterations and use the s i to determine the solutions ρ j .

Once the fields and static states (i > NN s ) are solved we can start solving the non-static states from the equations

$${\partial _x}{{\rm{u}}_i} = {G_i}(t,{{\rm{u}}_i},\rho ({{\rm{r}}_i}),{\partial _x}\rho ({{\rm{r}}_i}),{\partial _y}\rho ({{\rm{r}}_i})),{\rm{ }}i = 1, \ldots ,{N_o}$$
(22)
$$\left( {\matrix{ {{{\rm{r}}_i}} \cr {{{\rm{s}}_i}} \cr } }\right) = \left( {\matrix{ {G_i^{\rm{r}}(t)} \cr {G_i^{\rm{s}}(t,\rho ({{\rm{r}}_i}),{\rm{ }}{\partial _x}\rho ({{\rm{r}}_i}),{\rm{ }}{\partial _y}\rho ({{\rm{r}}_i}))} \cr } }\right),{\rm{ }}i = {N_o} + 1, \ldots ,N - {N_s}$$
(23)

. where N o was defined above Eq. (9). For solving the ODEs we choose an explicit integration scheme because the ODEs are non-stiff (and nonlinear). We will use the classical fourth-order RK (see, for example Hundsdorfer and Verwer, 2003) for this. Note that for the function evaluations we have to determine local approximations of the fields and their gradients. A slight difficulty arises here because the local least-squares approximations are discontinuous from one Voronoi cell to another. Therefore, if the integration process crosses the edge of a cell during a time step, there will be loss of order with respect to the size of the time step. To prevent this we make sure that during a time step we use for every state only one local field approximation for all function evaluations used in the scheme. Because the local field approximation is a multinomial the order of the scheme will be retained.

4.6. Quasi-steady-state approximation

When using quasi-steady-state approximations for the fields, the system we have to solve is

$${\partial _t}{{\rm{u}}_i} = {G_i}(t,{{\rm{u}}_i},\rho ({{\rm{r}}_i}),{\partial _x}\rho ({{\rm{r}}_i}),{\partial _y}\rho ({{\rm{r}}_i})),{\rm{ }}i = 1, \ldots ,{N_o}$$
(24)
$$\left( {\matrix{ {{{\rm{r}}_i}} \cr {{{\rm{s}}_i}} \cr } }\right) = \left( {\matrix{ {G_i^{\rm{r}}(t)} \cr {G_i^{\rm{s}}(t,\rho ({{\rm{r}}_i}),{\rm{ }}{\partial _x}\rho ({{\rm{r}}_i}),{\rm{ }}{\partial _y}\rho ({{\rm{r}}_i}))} \cr } }\right),{\rm{ }}i = {N_o} + 1, \ldots ,N$$
(25)

,

$$\left. {\matrix{ {{L_j}{\rho _j} + \sum\nolimits_{i = 1}^N {{\sigma _{ji}}({{\rm{s}}_i}){T_{{{\rm{r}}_i}}}S = 0,{\rm{ on }}\Omega } ,} \hfill \cr {{\rm{n}} \cdot \nabla {\rho _j} = 0,{\rm{ on }}\partial \Omega ,} \hfill \cr } } \right\}j = 1, \ldots ,M$$
(26)

.

Here we use, as in the previous case, an explicit time integrator for the ODEs in (24). To evaluate the right-hand side of the equations we need to solve the fields ρ j for given values of (r i , s i ) n , i = 1, …, N o , and t n , where n denotes the time level. To find these we have to determine the fields again by solving a non-linear algebraic system as is done in the case with static fields. Here, the system will have as its unknowns the ρ j (r i ), ∂ x ρ j (r i ) and ∂ y ρ j (r i ) for all combinations of fields ρ j and states r i , together with all s i , for i > N o .

In contrast to the case with static fields, every function evaluation in the right-hand side of (24) requires solving Eq. (26) and evaluation of the resulting solution fields and their gradients. Also, because the source terms in (26) depend on the states u i , may be necessary to redefine the nodes used to solve the field equations. Therefore, solving such a system is computationally much more expensive than solving a system with static fields only.

4.7. Full system

Solving the full system, i.e., Eqs. (610), requires a numerical method that can deal with both the nonlinear, non-stiff ODEs and the stiff diffusion equations. Verwer and Sommeijer (2001) use for a system similar to the combination of (6) and (9) the RKC method, which is explicit and can deal with moderately stiff systems due to a long narrow stability region around the negative real axis. Lastdrager (2002) used a Rosenbrock method with approximate Jacobians for the same system so that effectively the field equations are integrated implicitly and the state equations explicitly, as with IMEX (IMplicit-EXplicit) methods (Hundsdorfer and Verwer, 2003).

We use an Runge-Kutta IMEX scheme, in particular an IMEX-midpoint scheme, which can be seen as a combination of an implicit and an explicit midpoint step. For a system \({\rm{\dot x}} = {f_1}(t,{\rm{x}}) + {f_2}(t,{\rm{x}})\) it is given by

$$\eqalign{ & {{\rm{x}}_s} = {{\rm{x}}_n} + {1 \over 2}\tau {f_1}({t_n} + {1 \over 2}\tau ,{{\rm{x}}_s}) + {1 \over 2}\tau {f_2}({t_n},{{\rm{x}}_n}), \cr & {{\rm{x}}_{n + 1}} = 2{{\rm{x}}_s} - {{\rm{x}}_n} + \tau ({f_2}({t_n} + {1 \over 2}\tau ,{{\rm{x}}_s}) - {f_2}({t_n},{{\rm{x}}_n})) \cr} $$
(27)

, where the s in x s refers to the intermediate stage. For our system the part f 1, which is treated implicitly, contains the linear operators L i from Eq. (6), while the explicit part f 2 contains the source terms of Eq. (6) and the functions G i from Eq. (9). This is a second-order time integration method and the implicit part, i.e., the implicit midpoint method, is A-stable. Also, using this scheme for the systems at hand never revealed any stability problems.

In the next section, we will show some example models. Although our framework can deal with non-static fields (as discussed earlier), in these examples we will consider only cases in which the fields are static.

5. Simulation examples

In this section, we will discuss simulations of some example models. We want to stress that the models used here are still simple and only serve to show the different possibilities of our framework. To model the growth cones and the sources of the guidance molecules, such as target cells, we have to choose state vectors (r i , s i ) that characterize these objects and accompanying functions G that describe the dynamics through Eqs. (1) and (2).

5.1. Growth cone model

As a first example of a growth cone model we consider growth cones characterized by three-dimensional state vectors. To the position r i = (x, y) we add a variable representing the orientation angle s i = ϕ ∈ [0, 2π) of the growth cone. This gives our model growth cone a growth direction, which it has to adjust in order to steer. It gives the opportunity to build in some kind of ‘stiffness’, the inability to undergo instant changes in growth direction.

In order to describe the dynamics of the growth direction we need to define a differential equation. We will assume that the growth speed is constant, given as v, and that the cone grows with this speed in the direction given by the orientation angle ϕ, i.e., r i = (v cos(ϕ), v sin(ϕ)). For the dynamics of gf, we assume that it is continuously compared with some ideal direction ϕ g , which we will assume to be a linear combination of the sensed gradients of the fields ρ j evaluated at location r i ,

$${\phi _g}{\rm{ = arg}}\left( {\sum\limits_{j = 1}^N {{\lambda _j}} (\rho ({{\rm{r}}_i}))\nabla {\rho _j}({{\rm{r}}_i})} \right)$$
(28)

, with ‘arg’ the function that returns the angle between the argument and the positive x-axis. Here, the real functions λ j determine the sensitivity to each of the fields. A positive λ j will cause the cone to be attracted by the field ρ j , while a negative λ j causes repulsion.

To formulate an ODE for ϕ that depends on the value of ϕ g , we use the mapping ϕ → (sin(ϕ), cos(ϕ)) to view the growth directions as two-dimensional unit vectors, z and z g , respectively. The ideal direction z g can be split in a part parallel to the growth direction z and a part that is perpendicular to it, \({{\rm{z}}_g} = {{\rm{z}}_\parallel } + {{\rm{z}}_ \bot }\). An illustration of this is shown in Fig. 3. We assume that \({\rm{\dot z}} = (\upsilon /\ell ){{\rm{z}}_ \bot }\). Returning to angles ϕ and ϕ g this results in \(\dot \phi = \upsilon /\ell {\rm{ }}\sin ({\phi _g} - \phi )\).

Fig. 3
figure 3

An example configuration of the vectors z and z g.

Here, the parameter ℓ is a measure for the smallest circle the growth cone can make while turning. This latter fact can be understood by realizing that the maximal value of ˙φ is ν/ℓ. If we consider a solution where ˙φ is maximal we get, with r = (x, y),

$${{\rm{d}} \over {{\rm{d}}t}}\left( {\matrix{ x \cr y \cr } } \right) = \left( {\matrix{ {\dot \phi \ell \cos (\phi )} \cr {\dot \phi \ell \sin (\phi )} \cr } } \right) \Rightarrow \left( {\matrix{ x \cr y \cr } } \right) = \left( {\matrix{ {\ell \sin (\phi (t)) + {x_0}} \cr { - \ell \cos (\phi (t)) + {y_0}} \cr } } \right)$$

, meaning that the solution path of (x(t), y(t)) is part of the circle with radius ℓ and center (x 0, y 0). Using the framework the dynamics of state (r i , s i ) are described by

$${{\rm{d}} \over {{\rm{d}}t}}\left( {\matrix{ {{{\rm{r}}_i}} \cr {{{\rm{s}}_i}} \cr } }\right) = {G_i}(t,{{\rm{r}}_i},{{\rm{s}}_i},\rho ({{\rm{r}}_i}),{\partial _x}\rho ({{\rm{r}}_i}),{\partial _y}\rho ({{\rm{r}}_i})) = \left( {\matrix{ {\upsilon \cos ({{\rm{s}}_i})} \cr {\upsilon \sin ({{\rm{s}}_i})} \cr {\upsilon /\ell \sin (\arg (\sum\nolimits_{j = 1}^N {{\lambda _j}(\rho ({{\rm{r}}_i}))\nabla } {\rho _j}({{\rm{r}}_i})) - {{\rm{s}}_i})} \cr } }\right)$$
(29)

.

5.2. Field sources

In the examples we will assume that the fields are produced by sources that are not moving and not changing their behavior in time. Therefore, it will serve to include in their state vectors only their positions r i ∈ ℝ2 and keep them constant in time r i = G r i (t) ≡ r 0 i .

For every source we take a bell shape function S that is translated with r i to give the function T r i S,

$$({T_{{{\rm{r}}_i}}}S)({\rm{x}}) = \left\{ {\matrix{ {{{2\pi } \over {({\pi ^2} - 4){w^2}}}{{\cos }^2}({\pi \over {2w}}|{\rm{x}} - {{\rm{r}}_i}|),} & {{\rm{|x - }}{{\rm{r}}_i}{\rm{|}} \le w{\rm{,}}} \cr {0,} & {{\rm{otherwise,}}} \cr } } \right.{\rm{ }}$$
(30)

, where w denotes the radius of the source. The σ ji are constants describing the production rate of the source i, with respect to field j. This is reflected in the fact that \(\int_\Omega {{\sigma _{ji}}({T_{{{\rm{r}}_i}}}S)({\rm{x}})d{\rm{x}} = {\sigma _{ji}}} \).

5.3. Example 1. Axon guidance in a simple concentration field

We will now consider an example simulation, with a single concentration field and a single growth cone. For the domain Ω we take the unit circle and put a source at (0.5, 0). This source produces at a production rate σ11 = 1.0 × 10−4 a field ρ1 with diffusion coefficient d 1 = 1.0 × 10−4 and absorption parameter k 1 = 1.0 × 10−4. For the width of the source we take w = 0.02.

The growth cone is modeled by using system (29) with the functions λ1 set to λ1 ≡ 1, which means that ϕ g = arg∇ρ1. Further we use the parameter values v = 1.0 × 10−5 and ℓ= 0.02.

Thus, the total system we have to solve becomes

$$\eqalign{ & {d_1}\Delta {\rho _1}({\rm{x}}) - {k_1}{\rho _1}({\rm{x}}) + {\sigma _{11}}{T_{{{\rm{r}}_1}}}S({\rm{x}}) = 0,{\rm{ }}\forall {\rm{x}} \in \Omega , \cr & {\rm{n(x)}} \cdot \nabla {\rho _1}({\rm{x}}) = 0,{\rm{ }}\forall {\rm{x}} \in \partial \Omega , \cr & {{\rm{r}}_1} = (0.5,0) \cr & {{\rm{r}}_2}(0) = ({x_0},{y_0}), \cr & {{\rm{d}} \over {{\rm{d}}t}}\left( {\matrix{ {{{\rm{r}}_2}} \cr {{{\rm{s}}_2}} \cr } } \right) = \left( {\matrix{ {\upsilon \cos ({{\rm{s}}_{\rm{2}}})} \cr {\upsilon \sin ({{\rm{s}}_{\rm{2}}})} \cr {\upsilon /\ell \sin (\arg (\nabla {\rho _1}({{\rm{r}}_{\rm{2}}})) - {{\rm{s}}_{\rm{2}}})} \cr } } \right) \cr & {{\rm{s}}_2}\left( 0 \right) = {\phi _2}, \cr & \upsilon = 1.0 \times {10^{ - 5}}, \cr & \ell = 0.02 \cr} $$
(31)

In the simulation we solved the diffusion profile using 1514 nodes with six attracting rings and two non-attracting rings around the source location. This gives a refinement such that the node density inside the source support is about 100 times higher than far away from the source. In Fig. 4 the distribution of nodes is displayed together with the field solution that was obtained.

Fig. 4
figure 4

Node distribution (left) and solution of the concentration field (right).

Using the field solution we solved the paths of 50 growth cones, where we chose the start positions of the cones (x 0, y 0) randomly inside an initial area. For this we took a circle with radius 0.1 centered at (−0.5, 0). The initial growth directions ϕ0 were chosen randomly from [0, 2π). With the integration done from t = 0 to t = 1.0 × 105, we obtained the set of axon paths shown in the left panel of Fig. 5.

Fig. 5
figure 5

Paths of axons growing towards a target (left). Paths of axons that have a higher stiffness (middle). Paths of axons that sense a repellent field secreted in the area from where they start growing (right).

If we compare this result with pictures of similar experiments with real axon growth (Dodd and Jessell, 1988), we see that real axons often start to grow away from the initial area before they seem to react to the attracting field. This could mean that real axons have a higher stiffness than the stiffness we used in the left panel of Fig. 5. We therefore increased the stiffness by setting ℓ = 0.1. This results in the paths shown in the middle panel of Fig. 5. While this gives a somewhat better result, it seems not realistic to increase the stiffness this far, because growth cones are capable of making sharper turns (turning angles up to 90°; Song et al., 1998, Ming et al., 2001) than those seen in the middle panel of Fig. 5.

Another option would be to assume that the neurons in the initial area excrete a repellent. To implement this we define a new field ρ2, with a source located at the location of the initial area r b = (−0.5, 0). The definition of ϕ g has to be extended with an extra repellent term; we choose ϕ g = arg(∇ρ1 −∇ρ2). The resulting system now is

(32)

The paths of the growth cones are shown in the right panel of Fig. 5. This gives paths more similar to the ones observed in the experiments.

5.4. Example 2. Axon guidance in a complex concentration field

We will now consider a variation of the previous example where the domain has been changed from a simple circular domain to a more complex domain with four holes in it. These holes might represent blood vessels or cells where the axons have to grow around and that are impenetrable to the diffusive guidance molecules.

In this simulation we again use system (31) to model 50 growth cones with randomly chosen initial state vectors (x 0, y 0, ϕ0) ∈ [−0.4, −0.2] × [−0.5, 0.5] × [0, 2π]. For the field, 2502 nodes were used with refinement around the outer as well as the inner boundaries and around the source location. The results of the simulation are shown in Fig. 6.

Fig. 6
figure 6

Left: Field on a domain with holes. Right: Axon paths produced by system (31).

Although the axons grow nicely around the holes, there is actually no mechanical force in the model that prevents the growth cones from entering the holes. Here the growth cone dynamics alone was sufficient to keep the growth cones outside the holes. However, if is bigger, the growth cones will need more space to turn, and might enter the holes if not stopped by a hard boundary.

5.5. Example 3. Axon guidance with internal growth cone dynamics

In this example we will extend our cone dynamics by adding another variable. In the previous examples the ideal direction, based on the sensed gradients, is directly translated into a change of direction. In real growth cones, however, signaling pathways inside the growth cone are responsible for this translation. We now incorporate such signaling pathways and represent it by a single variable α ∈ [−1, 1], where α < 0 means steering to the left and α > 0 steering to the right. The growth cone translates the ideal direction into the signaling pathway dynamics in a way that is similar to the way that the ideal direction is translated into the direction dynamics in the previous examples.

The state consists now of (x, y, ϕ, α) ∈ ℝ2 and its dynamics are given by

$${{\rm{d}} \over {{\rm{d}}t}}\left( {\matrix{ x \cr y \cr \phi \cr \alpha \cr } }\right) = \left( {\matrix{ {\upsilon \cos (\phi )} \cr {\upsilon \sin (\phi )} \cr { - \upsilon \alpha /\ell } \cr {c(\sin ({\phi _g} - \phi ) - \alpha )} \cr } }\right)$$
(33)

with ϕ g again defined as in (28). Here, parameters are as in the previous example and c is a parameter that determines how fast the steering dynamics is. If the dynamics is fast, i.e., c is big, we have α ≈ sin(ϕ g − ϕ), resulting in the previous model. But if c is small, a kind of zig-zag behavior emerges (Fig. 7) that is also observed in some experiments (Ming et al., 2002). In Ming et al. (2002), this behavior was thought to occur as a result of alternating phases of receptor sensitization and desensitization. Our simulation, without such receptor adaptation, shows that oscillatory growth cones paths can already arise as a result of an inertia of the steering dynamics.

Fig. 7
figure 7

Wiggly axon paths produced by system (34).

For completeness, the total system in this case is

(34)

.

5.6. Example 4. Axon guidance with membrane-bound guidance molecules in topographic map formation

In our last example we consider a more complicated model of a phenomenon that is called topographic mapping (van Ooyen, 2003). Many neuronal connections are made so as to form a topographic map of one structure onto another. That is, neighboring cells in one structure make connections to neighboring cells in the other structure. An example of such a map is the direct projection of the retina onto the optic tectum in the brain of non-mammalian vertebrates (Gaze, 1958). One explanation for the formation of topographic maps that has received strong experimental support is that it is based on the matching of gradients of receptors and their ligands (O’Leary and Wilkinson, 1999; Wilkinson, 2001). For the retinotectal projection, there is a gradient across the retina in the number of Eph receptors on the growth cones of the retinal neurons. A similar but opposite gradient is found across the tectum in the number of membrane-bound ephrin molecules (the ligands for Eph receptors) on the tectal neurons. Axons grow out so that growth cones with a low number of receptors come to connect to tectal cells with a high number of ligand molecules, and vice versa.

A simple model for this phenomenon is the following (see also Honda et al., 1998). We use essentially model (29), but we extend it with two extra variables, β x and β y , that represent the levels of two kinds of receptors. These β x and β y remain constant during growth and vary with respect to the initial location r 0 = (x 0, y 0). We take for these

$${\beta _x} = \exp (1.39{x_0} + 1.18){\rm{ and }}{\beta _{_y}} = \exp (1.39{y_0} + 0.35)$$
(35)

.

We will assume that there are five fields of which three are diffusive fields and two are fields of membrane-bound ligands. Fields ρ1, ρ2 and ρ3 are produced by guidance cells located at r 1 = (−0.1, 0), r 2 = (0.85, 0) and r 3 = (0.3, 0.85), respectively. We use the same diffusion rate d = 1.0 × 10−4 and the absorption rate k = 1.0 × 10−4 as in the previous examples. The two fields of membrane bound ligands ρ4 and ρ5 are described by explicit functions that are given by

$${\rho _4}(x,y) = \exp ( - 1.39x + 0.21){\rm{ and }}{\rho _5}(x,y) = \exp ( - 1.39y + 0.14)$$
(36)

.

We will assume that the dynamics of the growth cones occurs in two phases. In the first phase the growth cones are attracted by field ρ1 and they grow toward the guidance cell located at r 0. Once they have reached the guidance cell, which we will formalize by (\(T_{r_1}\) S)(r) > 0, they switch their behavior and phase two will start. The dynamics of the growth cones during the first phase are given by

(37)

.

For the dynamics of the growth cones in phase two we need assumptions on the influence of the receptors and ligands on the growth. The basic assumption is the following. For each direction, i.e., x- or y-direction, we have a couple of receptor and ligand pairs. For growth in either of these directions it is needed that the concentration of the ligand in the neighborhood of the cone is above a certain level, which is determined by the receptor density on the growth cone. We will assume that growth in the x-direction is determined by the product c x = β x ρ4(r) (and similar c y = β y ρ5(r) for the y-direction) A c x ≪ 1 means strong inhibition of growth in the x-direction and c x ≫ 1 means no inhibition. The dynamics is the same as in the first phase, but now with

$${\phi _g} = \arg ({\rm{Sg}}{{\rm{m}}_{20}}({c_x})\nabla {\rho _2}({\rm{r}}) + {\rm{Sg}}{{\rm{m}}_{20}}({c_y})\nabla {\rho _3}({\rm{r}}))$$
(38)

.

Here the function Sgm n is defined by Sgm n (x) = x n/(1 + x n). Finally, we will assume that the growth is completely inhibited if both c x < 0.8 and c y < 0.8.

To summarize, the total system is given by

$$\eqalign{ & {d_1}\Delta {\rho _j}({\rm{x}}) - {k_j}{\rho _j}({\rm{x}}) + {\sigma _{jj}}{T_{{{\rm{r}}_j}}}S({\rm{x}}) = 0,{\rm{ }}\forall {\rm{x}} \in \Omega ,{\rm{ }}j = 1, \ldots ,3 \cr & {\rm{n(x)}} \cdot \nabla {\rho _j}({\rm{x}}) = 0,{\rm{ }}\forall {\rm{x}} \in \partial \Omega , \cr & {\rho _4}({\rm{x}}) = \exp ( - 1.39x + 0.21),{\rm{ }}\forall {\rm{x}} \in \Omega , \cr & {\rho _5}({\rm{x}}) = \exp ( - 1.39y + 0.14),{\rm{ }}\forall {\rm{x}} \in \Omega , \cr & {{\rm{r}}_1} = ( - 0.1,0) \cr & {{\rm{r}}_2} = (0.85,0) \cr & {{\rm{r}}_3} = (0.3,0.85) \cr & {{\rm{d}} \over {{\rm{d}}t}}\left( {\matrix{ {{{\rm{r}}_4}} \cr {{{\rm{s}}_4}} \cr } } \right)\left( {\matrix{ {\upsilon \cos ({{({{\rm{s}}_4})}_1})} \cr {\upsilon \sin ({{({{\rm{s}}_4})}_1})} \cr {\upsilon /\ell \sin (\arg ({\phi _g}) - {{({{\rm{s}}_4})}_1})} \cr 0 \cr 0 \cr } } \right) \cr & {{\rm{r}}_4}(0) = ({x_0},{y_0}), \cr & {{\rm{s}}_4}(0) = ({\phi _0},{\beta _x},{\beta _y}), \cr & {\beta _x} = \exp (1.39{x_0} + 1.18), \cr & {\beta _y} = \exp (1.39{y_0} + 0.35), \cr & \upsilon = 1.0 \times {10^{ - 5}}, \cr & \ell = 0.02 \cr & {\rm{phase }}1:{\rm{ }}{\phi _g} = \arg (\nabla {\rho _1}({{\rm{r}}_4})),{\rm{ if }}({T_{{{\rm{r}}_1}}}S({\rm{r}}) > 0){\rm{ go to phase }}2. \cr & {\rm{phase 2}}:{\rm{ }}{\phi _g} = \arg ({\rm{Sg}}{{\rm{m}}_{20}}({\beta _x}{\rho _4}({{\rm{r}}_4}))\nabla {\rho _2}({{\rm{r}}_4}) + {\rm{Sg}}{{\rm{m}}_{20}}({\beta _y}{\rho _5}({{\rm{r}}_4}))\nabla {\rho _3}({{\rm{r}}_4})), \cr & {\rm{if }}({\beta _x}{\rho _4}({{\rm{r}}_4}) < 0.8{\rm{ or }}{\beta _y}{\rho _5}({{\rm{r}}_4}) < 0.8){\rm{ ready}} \cr} $$
(39)

.

In Fig. 8 we see the fields in a simulation of the model of topographic mapping. The three upper panels show the three diffusive fields ρ1, ρ2 and ρ3.

Fig. 8
figure 8

Fields in the example of topographic mapping. The three fields in the top row are diffusive fields, and the ones in the bottom row are fields of membrane-bound ligands.

In Fig. 9 the axons paths are shown. The left panel shows the paths of 200 growth cones that started at the left with randomly chosen initial positions (x 0, y 0) and orientations ϕ0. Clearly all growth cones are attracted by the guidance cell in the middle. Having reached this cell they change their behavior and gain attractivity to the fields ρ2 and ρ3. This attractivity is steered by the fields ρ4 and ρ5, which also determine when growth is completely inhibited.

Fig. 9
figure 9

Axon paths in the example of topographic mapping. Left: The axons start at the left, and then grow to the central point, from where they diverge to innervate the target area. Right: To visualize that spatial order is conserved when axons innervate their target area, the axons are divided into two groups (grey and black dots) in such a way that the initial positions of the axons labeled with the black dots form the pattern ‘A’.

To visualize the conservation of spatial order we have color coded the initial locations and end locations of the paths, i.e., begin and end points of a path have the same color. The result of this is displayed in the left panel and it clearly shows that the ‘A’ is transferred from the initial area (at the left) to the final area (at the right).

The combination of the membrane-bound ligand fields ρ4 and ρ5 with the receptor densities β x and β y determines what the topographic mapping will look like. Using a model like this for exploring different possibilities for the concentration fields can give us more insight into the forms of the fields and mechanisms involved in topographic map formation.

6. Discussion

In this paper, we have presented a framework for modeling axon guidance. Unlike for the study of electrical activity in neurons and neuronal networks, such a general framework did not exist. Our framework allows for the relatively straightforward and fast modeling and simulation of axon guidance and its underlying mechanisms. For example, mechanisms that ‘translate’ concentration levels of guidance molecules (or gradients thereof), measured at the location of the growth cone, into growth speed, growth direction and sensitivity for particular concentration fields can easily be incorporated. A major challenge in the study of axon guidance is to understand quantitatively how the many molecules and mechanisms involved in axon guidance act in concert to generate complex patterns of neuronal connections. The framework we have developed contributes to this challenge by providing a general simulation tool in which a wide range of models can be implemented and explored.

Our framework has three basic ingredients: the domain, the concentration fields and the states. The domain models the physical environment where the neurons, axons, and fields live in; the domain can have a complicated geometry with piecewise smooth boundaries and holes. The fields are defined on the domain and represent the time varying concentration fields of guidance molecules that are subject to diffusion and absorption. The states model the growth cones and targets cells and consist of finite-dimensional vectors for which the dynamics are given in the form of ODEs that model the mechanisms involved in axon guidance.

Specific numerical methods have been developed for solving the systems of equations that typically arise in models of axon guidance. With respect to time integration of the full system, a method is needed that can handle the combination of stiff diffusion equations (describing the concentration fields) and non-stiff, nonlinear differential equations (describing the states). For this a second-order Runge-Kutta IMEX scheme is used. In case of static fields or a quasi-steady-state approximation an explicit time integrator will suffice, for which we use the classical fourth-order Runge-Kutta method.

The spatial discretizations required for solving the elliptic field equations that arise after discretization in time are based on arbitrary node sets. Voronoi diagrams are used for the selection of suitable node sets as well as for the discretization of the equations. To speed up the node selection process, refinement and adaptivity of the discretization are based only upon the location of the highly localized sources.

We have implemented the framework and the numerical algorithms in a set of Matlab programs. In these programs one can simulate a wide range of models by defining appropriate Matlab data-structures and solve them by applying the spatial and temporal numerical solvers. At the moment, the code is typical research code without extensive documentation, but we aim to create a more user-friendly version that can be made available to the wider research community.

Possible extensions of our framework include the incorporation of randomness in the guidance of the axons and the possibility that boundaries (of impenetrable holes, for example) can produce guidance molecules. The latter extension would make it possible to model also tissues, rather than individual cells, that attract or repel axons.