1 Introduction

The aim of the present work is to design a numerical scheme capable to deal with concentrations and diffusion phenomena typically arising in one-dimensional taxis–diffusion systems of the form

$$\begin{aligned} \left\{ \begin{array}{ll} \partial _t\rho = \partial _x \left( D_\rho \partial _x \rho - \chi \rho \partial _x c \right) + R_\rho (\rho )&{} \quad \text {in }(0,\infty ) \times (a,b), \\ \varepsilon \partial _tc = D_c \partial _x ^2 c + R_c(\rho , c) &{} \quad \text {in }(0,\infty ) \times (a,b),\\ \partial _x \rho (\cdot , r) = \partial _x c(\cdot , r)=0, &{} \quad r\in \{a,b\},\\ \rho (0,\cdot ) = \rho _0 \ge 0, \;\, c(0,\cdot ) = c_0 \ge 0 &{} \end{array}\right. \end{aligned}$$
(1.1)

with Lipschitz continuous source terms \(R_\rho , \, R_c\) that satisfy \(R_\rho (0), R_c(\rho , 0)\ge 0\). Here \(\rho \) denotes the density of cells and c the concentration of a chemo-attractant. The initial data \(\rho _0\) and \(c_0\) are sufficiently smooth functions. These systems constitute adaptations of the classical cell migration model by Patlak et al. [21, 30]. They have been widely used in the modeling of biological processes such as cell organization in tissue, immune system dynamics and cancer growth [2, 14, 32]. The dynamics of their solutions are quite rich; apart from traveling waves [24] the aggregation phenomenon studied in [5, 17] that leads to blowup in finite time is of specific interest. One has moreover observed the occurrence of high concentrations that can emerge in a smooth solution, split, and merge with each other [28]. Nonlinear diffusions or saturated responses in the chemotactic sensitivity are natural ways to include volume filling effects into the models, see [6, 27]. They usually avoid blow-up in a biologically meaningful way and lead to interesting phenomena and asymptotic stabilization. Finally, these models are basic building bricks for a variety of cancer invasion models in the literature [12, 18, 31,32,33] in which the coupling with extracellular matrix, enzymatic activators and other substances are taken into account. One of the common features in all of these models is the simultaneous occurrence of regions of high concentrated densities with diffuse profiles leading to numerical difficulties in choosing well-adapted meshes. The numerical approximation of all of these simultaneous phenomena is particularly challenging.

In [3] a mass transport scheme has been proposed to resolve the modified 1D Keller–Segel model for the log interaction kernel proposed in [7]. The method satisfies a discrete free energy dissipation principle by design as it is based on the variational schemes for Fokker–Planck type equations that has been introduced in [19, 22] and applied to Keller–Segel type models in [3, 4]. By considering the problem in transformed variables the method can resolve areas of high concentrations accurately without any mesh refinement. This approach has been extended to several dimensions for nonlinear aggregation–diffusion equations and with different approaches in the discretization in [9, 10, 20, 25] and the references therein.

The aim of this work is to extend the mass transport approach to the general class of systems (1.1). We will test different scenarios that feature in particular the splitting, traveling and emerging of concentrations. For the adjustment of the scheme we propose a splitting method, where we employ the technique from [3] to the Keller–Segel part of the system (i.e. the first equation of (1.1) with \(R_c = 0\)). The remaining system of an ODE and a diffusion reaction equation will be decoupled and solved by a suitable finite element method. The advantage of the mass transport approach for the cell densities equations is that the mesh adapts naturally to the mass distribution, and then coarse meshes in the mass variable can still lead to good numerical approximations as we will discuss below.

In more details, we split (1.1) into two subsystems. The solution of the full system (1.1) can then be approximated by appropriately combining short time solution of the subsystems. We introduce at first the diffusion–advection system given by

$$\begin{aligned} \left\{ \begin{array}{ll} \partial _t\rho = \partial _x \left( D_\rho \partial _x \rho - \chi \rho \partial _x c \right) &{} \quad \text {in }(0,\infty ) \times (a,b), \\ \partial _tc = 0 &{} \quad \text {in }(0,\infty ) \times (a,b), \\ \partial _x \rho (\cdot , r) =0, &{}\quad r\in \{a,b\},\\ \rho (0,\cdot = \rho ^I_0 \ge 0, \; c(0,\cdot ) = c^I_0 \ge 0. \end{array}\right. \end{aligned}$$
(I)

This system assumes a steady chemo-attractant density c and mass conservation of the cell density \(\rho \). Second, we consider the reaction–diffusion system

$$\begin{aligned} \left\{ \begin{array}{ll} \partial _t\rho = R_\rho (\rho )&{}\quad \text {in }(0,\infty ) \times (a,b), \\ \partial _tc = D_c \partial _x ^2 c + R_c(\rho , c)&{}\quad \text {in }(0,\infty ) \times (a,b),\\ \partial _x c(\cdot , r)=0, &{}\quad r\in \{a,b\}, \\ \rho (0,\cdot ) = \rho ^{II}_0 \ge 0, \; c(0,\cdot ) = c^{II}_0\ge 0&{} \end{array}\right. \end{aligned}$$
(II)

that contains the remaining terms of the system. Initial data \(\rho ^{I}_0\), \(c^{I}_0\), \(\rho ^{II}_0\) and \(c^{II}_0\) are derived from the original problem (1.1) and intermediate solutions of the splitting scheme as we will discuss in Sect. 2.3.

In the next step we follow the mass transport algorithm [3] to transform system (I) into new variables. With this aim, we consider the pseudo inverse cumulative distribution of the cell density \(\rho \),

$$\begin{aligned} V(t, w) = \inf \left\{ y : \int _{{a}}^y \rho (x,t)\, dx > w \right\} , \end{aligned}$$
(1.2)

where \(0\le w \le m\) and m referring to the time constant mass of cells

$$\begin{aligned} m = \int _a^b \rho _0^I(x)\, dx. \end{aligned}$$

System (I) can now be rewritten, following [11], in the form

figure a

where \(V_0^I\) denotes the transformed initial cell density \(\rho ^I_0\). The advantage of the proposed splitting is that the mass of cells does not change over the first step and the cell density is fixed over the second step.

The details of the full discretization of the proposed splitting scheme will be given in Sect. 2. In Sect. 3 we discuss the choice of the constraints in the time, spatial and mass steppings due to the choice of the full discrete schemes. Section 4 is devoted to study in detail the performance of this splitting scheme in many complex situations ranging from the simpler Keller–Segel type systems and their small variations to quite more biologically relevant systems in tumor invasion as discussed above. We will analyze the experimental convergence and the computational cost of this discretization with respect to previous schemes with mesh-refinement algorithms in original spatial variables. Finally we conclude in Sect. 5.

2 Numerical Method

In what follows, we describe a numerical treatment for both systems (I’) and (II). The inverse distribution V is given on the time evolving mass space\((0,m_h(t))\), whereas the chemo-attractant c is given in the Eulerian coordinates in (ab). This leads to two meshes that the proposed numerical method employs.

First, we discretize the normalized mass domain (0, 1), on which the pseudo inverse distribution V resides by the mesh

$$\begin{aligned} 0 = w_0< w_1<\cdots <w_M=1, \quad w_j = j h_w, \quad j = 0,\ldots , M \end{aligned}$$

with length \(M \in \mathbb {N}\) and width \(h_w = 1/M\) that corresponds to the width \(\Delta w(t)=m_h(t) h_w\) in the time evolving mass domain \((0,m_h(t))\). We denote the point values of V by \(V_j (t) = V(m_h(t)\,w_j, t)\) for \(j=0,\ldots ,M\) and introduce the linear spline in w connecting the discrete values that we denote by \(V_h(t,m_h(t)\,w)\). Here we have used the discrete mass of the cells

$$\begin{aligned} m_h(t) = \int _a^b \rho _h(t,x)\, dx, \end{aligned}$$

where \(\rho _h\) is a discrete representation of the cell density to be defined later on.

A second mesh partitions the physical space (ab) for the chemo-attractant density c into

$$\begin{aligned} a = x_0< x_1<\cdots <x_N=b, \quad x_k = a + k \Delta x, \quad k = 0,\ldots , N. \end{aligned}$$
(2.1)

The chemo-attractant mesh is thus of length N and width \(\Delta x = (b-a)/N\). We employ a linear finite element representation for the chemo-attractant density c. Therefore let \(\{ \phi _k, ~k=1,\ldots , N-1\}\) be the basis of piecewise linear hat functions on the grid (2.1) satisfying homogeneous Neumann boundary conditions. By using the basis functions we can define the approximate chemo-attractant density as

$$\begin{aligned} c_h(x,t) = \sum _{k=1}^N c_i(t) \phi _i(x). \end{aligned}$$

For the construction of the splitting method we define solution operators for both systems (I’) and (II). To this end we design T to be a numerical solution operator of system (I’) in the following sense: if \((V_h(\tilde{t}), c_h(\tilde{t}), m_h(\tilde{t}))\) is a numerical solution at \(t=\tilde{t}\) then \(T_{\Delta t}(V_h(\tilde{t}), c_h(\tilde{t}), m_h(\tilde{t})) \) is a numerical solution of system (I’) at time \(t =\tilde{t} + \Delta t\). In the same manner, we define also a solution operator S for system (II).

The discretization in transformed variables was proved to be beneficial for the numerical treatment of aggregating quantities, see e.g., [3, 9]. We assume that the cell density is affected by aggregation phenomena while the chemo-attractant develops relatively smooth density profiles and can be efficiently treated by a standard finite element method. In principle it may be possible to make use of the pseudo inverse distribution also for the chemo-attractant c. This would however lead to a new mesh on a corresponding mass space. Due to the different types of equations for cell density and chemo-attractant concentration the meshes will be different and additional transformations to the physical grid would be needed increasing hence the interpolating errors and the computational costs. For these reasons we have decided to use the standard physical grid.

2.1 The Solution Operator T for System (I’)

For a discretization of the system (I’) we need to evaluate the derivative of the chemo-attractant concentration in the state variable V. To efficiently obtain a representation of \(c_h\) in \(C^1(a,b)\) we use an interpolation of the discrete chemo-attractant concentration by cubic splines. Note that applying the upwind scheme to the piecewise linear discretization lead to an unstable method in our tests.

Let \((V_h(t), c_h(t), m_h(t))\) be given initial data. By \(\hat{c}_h\) we denote the cubic spline over the data points \((x_k, c_h(t,x_k))\) for \(k=1,\ldots ,N\) that satisfies the boundary conditions \(\partial _x \hat{c}_h(a) = \partial _x \hat{c}_h(b)=0\). We use this spline for the approximation of the advection term. Concerning the time integration we split the taxis and diffusion terms and treat the stiff diffusion terms implicitly. In this way we allow for both large time steps and stability of the scheme. We apply in particular the two stage implicit–explicit midpoint scheme (see e.g. [29]) that reads in our case

$$\begin{aligned} - 2\frac{\tilde{V}_j (t) - V_j(t)}{\Delta t}= & {} \frac{D_\rho }{\tilde{V}_{j+1}(t) - \tilde{V}_{j}(t)} - \frac{D_\rho }{\tilde{V}_j(t) - \tilde{V}_{j-1}(t)} - \chi \partial _x \hat{c}_h(V_j(t)), \end{aligned}$$
(2.2a)
$$\begin{aligned} - \frac{T_{\Delta t} V_j (t) - V_j(t)}{\Delta t}= & {} \frac{D_\rho }{\tilde{V}_{j+1}(t) - \tilde{V}_{j}(t)} -\frac{D_\rho }{\tilde{V}_j(t) - \tilde{V}_{j-1}(t)} - \chi \partial _x \hat{c}_h(\tilde{V}_j(t)) \end{aligned}$$
(2.2b)

both for \(j=0, \ldots ,M\). We have approximated the diffusion terms above by a central difference formula as in [3]. At the boundary we impose Neumann boundary conditions, i.e.

$$\begin{aligned} \frac{1}{\tilde{V}_{M+1}(t) -\tilde{V}_{M}(t)} = \frac{1}{\tilde{V}_{0}(t) -\tilde{V}_{-1}(t)}=0\,. \end{aligned}$$

The intermediate stage \(\tilde{V}_j(t)\) is given by a nonlinear implicit equation (2.2a) and we use the Newton’s method for its computation. For the computation of the taxis terms in (2.2a) and (2.2b) we evaluate the afore determined spline \(\hat{c}_h\).

The chemo-attractant density as well as the mass of the cells are not affected by system (I’), hence we define the numerical operator accordingly by

$$\begin{aligned} T_{\Delta t} c_h(t) = c_h(t), \quad T_{\Delta t} m_h(t) = m_h(t). \end{aligned}$$

Note that if instead of linear diffusion, i.e. \(D_\rho \) constant, we have a power-law nonlinear diffusion \(D_\rho (\rho )=D_\rho \rho ^{\gamma -1}\), \(\gamma >1\), modelling cell volume size effects as in [6, 27], we obtain a similar approximation

$$\begin{aligned} - 2\frac{\tilde{V}_j (t) - V_j(t)}{\Delta t}&= \frac{\tilde{D}(t)}{(\tilde{V}_{j+1}(t) - \tilde{V}_{j}(t))^{\gamma }} - \frac{\tilde{D}(t)}{(\tilde{V}_j(t) - \tilde{V}_{j-1}(t))^{\gamma }} - \chi \partial _x \hat{c}_h(V_j(t)), \end{aligned}$$
(2.3a)
$$\begin{aligned} - \frac{T_{\Delta t} V_j (t) - V_j(t)}{\Delta t}&= \frac{\tilde{D}(t)}{(\tilde{V}_{j+1}(t) - \tilde{V}_{j}(t))^{\gamma }} - \frac{\tilde{D}(t)}{(\tilde{V}_j(t) - \tilde{V}_{j-1}(t))^{\gamma }} - \chi \partial _x \hat{c}_h(\tilde{V}_j(t)) \end{aligned}$$
(2.3b)

with \(\tilde{D}(t)=D_\rho \gamma ^{-1}\Delta w(t)^{\gamma -1}\), \(j=0,\ldots , M\) and similar boundary conditions as above. Remember that the continuous function \(T_{\Delta t} V_h(t)\) is built as the linear interpolant of the values \(T_{\Delta t} V_{j}(t)\) for \(j=0,\ldots , M\), and thus we can define the reconstructed density \(T_{\Delta t}\rho _h (t)\) by its own definition

$$\begin{aligned} T_{\Delta t}\rho _h (t) = \left( \frac{\partial T_{\Delta t}V_h(t)}{\partial w}\right) ^{-1} \end{aligned}$$
(2.4)

as long as the sequence \(V_{j}(t)\) is strictly increasing.

2.2 The Solution Operator S for System (II)

In the splitting method that we propose we will apply the reaction–diffusion operator S starting with the data \((T_{\Delta t} V_h(t), T_{\Delta t}c_h( t), T_{\Delta t}m_h(t))\) obtained from a previous evaluation of the operator T. For simplicity we will describe the numerical operator S for general initial data \((V_h(t), c_h( t), m_h(t))\).

System (II) is formulated for physical concentrations of cells. To provide adequate initial data using the given approximations \((V_h(t), c_h(t), m_h(t))\) we transform the discrete pseudo inverse distribution \(V_h(t)\) on \((0,m_h(t))\) to a finite volume representation of \(\rho (t, \cdot )\) on (ab). Since the approximate density \(\rho _h\) satisfies

$$\begin{aligned} \int _{V_{j-1}(t)}^{V_j(t)} \rho _h(t,x) \, dx = \Delta w(t), \end{aligned}$$

for all \(j=1,\ldots ,M\) by construction (2.4), we can introduce the cell averages and the piecewise constant function \(\rho _h\) in the following way

$$\begin{aligned} \rho _j(t) = \frac{\Delta w(t)}{V_j(t)- V_{j-1}(t)}, \quad j = 1,\ldots ,M, \quad \rho _h(t,x) = \sum _{j=1}^{M} \rho _j(t)\chi _{(V_{j-1}(t), V_j(t))}(x). \end{aligned}$$

This approximation of the cell density resides on physical space (ab). Note though that the cell averages are given on a non-uniform grid which differs from the grid for the chemo-attractant density c given in (2.1).

Now, we are in the position to write down the scheme for system (II). Again we split diffusion from reaction and apply the implicit–explicit midpoint scheme and obtain

$$\begin{aligned} \tilde{\rho }_j(t)= & {} \rho _j(t) + \frac{\Delta t}{2} R_\rho (\rho _j(t)), \quad j=1, \ldots ,M, \end{aligned}$$
(2.5a)
$$\begin{aligned} 2 \varepsilon \,\frac{\tilde{c}_k(t) - c_k(t) }{\Delta t}\int _{a}^{b} \phi _k \phi _l \,dx= & {} -\tilde{c}_k(t) D_c \int _{a}^{b} \frac{\partial \phi _k}{\partial x} \frac{\partial \phi _l}{\partial x}\,dx \nonumber \\&+ \int _{a}^{b} R_c(\rho _h(t), c_h(t)) \phi _l\, dx, \quad k,l = 1,\ldots , N-1,\nonumber \\ \end{aligned}$$
(2.5b)
$$\begin{aligned} S_{\Delta t}\rho _j(t)= & {} \rho _j(t) + \frac{\Delta t}{2} R_\rho (\tilde{\rho }_j(t)), \quad j=1, \ldots ,M, \end{aligned}$$
(2.5c)
$$\begin{aligned} \varepsilon \,\frac{S_{\Delta t} c_k(t) - c_k(t) }{\Delta t}\int _{a}^{b} \phi _k \phi _l \,dx= & {} -\tilde{c}_k(t) D_c \int _{a}^{b} \frac{\partial \phi _k}{\partial x} \frac{\partial \phi _l}{\partial x}\,dx \nonumber \\&+ \int _{a}^{b} R_c(\tilde{\rho }_h(t), \tilde{c}_h(t)) \phi _l\, dx, \quad k,l = 1,\ldots , N-1.\nonumber \\ \end{aligned}$$
(2.5d)

The integrals of the form \(\int _{a}^{b} R_c(\rho _h(t), c_h(t)) \phi _l\, dx\) are dependent on \(V_h(t)\). For their computation we use the trapezoidal rule together with an indicator function to identify the position of a particular point \(x\in [a,b]\) on the grid corresponding to the cell density \(\rho _h\). The reaction update in the cell density \(c_h\) alters the mass of the cells over the interval \(\Omega \). Thus we update \(m_h(t)\) by

$$\begin{aligned} S_{\Delta t} m_h(t) = \sum _{j=1}^{M} S_{\Delta t}\rho _j(t) (V_j(t) -V_{j-1}(t)). \end{aligned}$$

To be able to apply the advection–diffusion operator after the reaction–diffusion update we transform \(S_{\Delta t}\rho _h(t)\) to its inverse distribution representation \(S_{\Delta t} V_j(t)\). Therefore, we use the formula

$$\begin{aligned} \int _{S_{\Delta t} V_{j-1}(t)}^{S_{\Delta t} V_j(t)} \sum _{j=1}^{M} S_{\Delta t} \rho _j(t)\, \chi _{(V_{j-1}(t), V_j(t))}(x)\, dx = S_{\Delta t} m_h(t) h_w, \quad j = 1,\ldots ,M. \end{aligned}$$
(2.6)

As long as \(S_{\Delta t} V_j(t)\) is monotonically increasing in j, identity (2.6) allows for an efficient update of the inverse distribution \(V_h\).

2.3 The Splitting Method

To approximate the full system (1.1) we propose the classical Strang splitting method [34] employing both numerical operators defined above. For given non-negative and sufficiently smooth initial conditions \(\rho _0\) and \(c_0\) of system (1.1) we deduce discrete initial data \((V_h(0), c_h(0), m_h(0))\). To compute a discrete representation \(V_h(0)\) of the normalized concentration \(\rho _0/m_h(0)\) we integrate as in (2.6).

Then we define the fully discrete Strang splitting scheme for system (1.1) iteratively by

$$\begin{aligned} \big (V_h\big (t^{n+1}\big ), c_h\big ( t^{n+1}\big ), m_h\big (t^{n+1}\big )\big ) = T_{\Delta t^n /2} S_{\Delta t^n} T_{\Delta t^n /2} \big (V_h\big (t^n\big ), c_h\big ( t^n\big ), m_h\big (t^n\big )\big ), \quad n = 0,1,2, \ldots , \end{aligned}$$
(2.7)

where \(0=t^0< t^n = \sum _{i=1}^{n} \Delta t^i\) is a discretization of the time axis. In this way we alternate between applying the diffusion–taxis and the diffusion–reaction operator. The symmetrical structure leads to the second order splitting error.

To optimize the efficiency we adapt the time increment \(\Delta t\) in each time step. Since the discretization of system (I) is more sensitive to instabilities that are caused by large time increments \(\Delta t\) than the discretization of the diffusion–reaction system, we start the method in each time step with the numerical operator T in which we determine \(\Delta t^n\). We will elaborate on the stability of the scheme in Sect. 3.

The scheme (2.7) is not limited to the case of a single pair of a cell and an chemo-attractant. An extension to multiple attractants [i.e. a replacement of \(\chi \rho \nabla c\) by a sum \(\chi _1 \rho \nabla c_1 + \cdots + \chi _n \rho \nabla c_n\) in (1.1)] is straightforward. The case of multiple cell densities coupled through the taxis terms, such as in the model discussed in [32], can be treated as well. Note though that each cell species brings along another non-uniform mesh on the domain (ab) which requires further projections in the numerical operator S.

3 Monotonicity Preservation of the Diffusion–Taxis Operator

As demonstrated in [13] unphysical negative values that arise in the numerical solutions of the Keller–Segel type systems can cause instabilities and wrong behavior of the scheme. Hence, the so called positivity preserving finite volumes schemes for these kind of models have been developed, e.g. in [13]. A non-negative density \(\rho \) implies a monotonously increasing pseudo inverse distribution V by its definition (1.2). If a method operates on inverse distributions it should in turn preserve the discrete monotonicity of V. This monotonicity preserving property of such schemes was studied in the case of filtration and convolution–diffusion equations in [15, 16]. In more details, We call a method monotonicity preserving if from \(V_j(t)-V_{j-1}(t) > 0\) for all \(0<j\le M\) follows that also \(V_j(t+\Delta t)-V_{j-1}(t + \Delta t) > 0\) for all \(0<j\le M\).

In the rest of this section we focus on a simplified problem that motivates a way to adapt the time increment \(\Delta t\) in such a way, that non-monotone solutions and thus possible related instabilities are avoided. We consider in particular system (I’), in which we allow for generalized diffusion \(D_\rho (\rho )=D_\rho \rho ^{\gamma -1}\), \(\gamma \ge 1\), and assume a steady chemo-attractant \(c \in C^1(a,b)\). For the numerical resolution we apply a forward Euler scheme of the form

$$\begin{aligned} V_j (t+\Delta t) = V_j(t) + \Delta t\, \chi \partial _x c(V_j(t)) -\Delta t \left[ \frac{\tilde{D}(t)}{( V_{j+1}(t) - V_{j}(t))^{\gamma }} - \frac{\tilde{D}(t)}{(V_j(t) - V_{j-1}(t))^{\gamma }} \right] , \end{aligned}$$
(3.1)

for the discrete inverse distribution as defined in Sect. 2. This scheme can be understood as an explicit first-order version of the advection–diffusion operator introduced in the previous section. In this setting we can follow the lines of [15, 16] and derive a bound on \(\Delta t\) that makes the scheme (3.1) monotonicity preserving:

Lemma 3.1

Scheme (3.1) is monotonicity preserving, if for \(\theta \in (0,1)\) fixed both CFL conditions

$$\begin{aligned} \Delta t ^n&< \frac{\theta }{2\, D_\rho \, \Delta w ^{\gamma -1}} \,\min _{0 \le j < M} \frac{ (V_{j+1}(t^n) - V_j(t^n)) (V_{j}(t^n) - V_{j-1}(t^n))}{\max _{k=j-1,j} ~(V_{k+1}(t^n) - V_k(t^n))^{-(\gamma -1)} }, \end{aligned}$$
(3.2a)
$$\begin{aligned} \Delta t ^n&< \frac{1-\theta }{\chi } \, \min _{0 \le j < M} \frac{(V_{j+1}(t^n) - V_j(t^n)) }{ \left| \partial _x c(V_{j+1}(t^n)) - \partial _x c(V_{j}(t^n)) \right| } \end{aligned}$$
(3.2b)

are satisfied.

Proof

We consider a single time step in the scheme (3.1) and drop the superscript n. For brevity we will use the notation \(\Delta V_{j+1/2} = V_{j+1}- V_j\). We assume the monotonicity of the discrete inverse distribution at the time instance t and compute for an arbitrary \(0\le j<M\) the difference

$$\begin{aligned} \Delta V_{j+1/2}(t + \Delta t)&= \Delta V_{j+1/2}(t) + \Delta t\, \chi \left( \partial _x c(V_{j+1}(t)) - \partial _x c(V_j(t))\right) \nonumber \\&\quad - \frac{\Delta t \,D_\rho }{\Delta w} \left[ \frac{(\Delta w) ^{\gamma }}{\gamma \, ( \Delta V_{j+3/2}(t))^{\gamma }} - \frac{(\Delta w) ^{\gamma }}{\gamma \, ( \Delta V_{j+1/2}(t))^{\gamma }} \right] \nonumber \\&\quad + \frac{\Delta t \,D_\rho }{\Delta w} \left[ \frac{(\Delta w) ^{\gamma }}{\gamma \,(\Delta V_{j+1/2}(t))^{\gamma }} - \frac{(\Delta w) ^{\gamma }}{\gamma \,(\Delta V_{j-1/2}(t))^{\gamma }} \right] . \end{aligned}$$

By applying the mean value theorem to the function \(f(x)=x^{\gamma }/\gamma \) we find two function evaluations of its derivative, denoted as \(\kappa _{j}\) and \(\kappa _{j+1}\), such that we obtain

$$\begin{aligned} \Delta V_{j+1/2}(t + \Delta t)&= \Delta V_{j+1/2}(t) + \Delta t\, \chi \left( \partial _x c(V_{j+1}(t)) - \partial _x c(V_j(t))\right) \\&\quad - \Delta t \,D_\rho \, \kappa _{j+1} \left[ \frac{1}{\Delta V_{j+3/2}(t)} - \frac{1}{\Delta V_{j+1/2}(t)} \right] \\&\quad +\Delta t \,D_\rho \,\kappa _{j}\left[ \frac{1}{\Delta V_{j+1/2}(t)} -\frac{1}{\Delta V_{j-1/2}(t)} \right] . \end{aligned}$$

Note that by the non-negativity of \(\Delta V_{j+1/2}\) both \(\kappa _{j}\) and \(\kappa _{j+1}\) are non-negative. In the next step, we define \(L_{j+1/2}= (\partial _x c(V_{j+1}(t)) - \partial _x c(V_j(t)))/(V_{j+1}(t) - V_j(t))\) and rewrite

$$\begin{aligned}&\Delta V_{j+1/2}(t + \Delta t) \\&\quad =\Delta V_{j+1/2}(t) \left( 1 +\Delta t\, \chi L_{j+1/2} - \frac{\Delta t \,D_\rho \, \kappa _{j+1}}{\Delta V_{j+3/2}(t) \, \Delta V_{j+1/2}(t)} -\frac{\Delta t \,D_\rho \, \kappa _{j}}{\Delta V_{j+1/2}(t) \Delta V_{j-1/2}(t)}\right) \\&\qquad + \frac{\Delta t \,D_\rho \, \kappa _{j+1}}{\Delta V_{j+3/2}(t) \, \Delta V_{j+1/2}(t)}\, \Delta V_{j+3/2}(t) +\frac{\Delta t \,D_\rho \, \kappa _{j}}{\Delta V_{j+1/2}(t) \Delta V_{j-1/2}(t)} \, \Delta V_{j-1/2}(t). \end{aligned}$$

Finally we estimate by the monotonicity at time instance t

$$\begin{aligned}&\Delta V_{j+1/2}(t + \Delta t) \nonumber \\&\quad \ge \Delta V_{j+1/2}(t) \left( 1 -\Delta t\, \chi |L_{j+1/2}| - \frac{\Delta t \,D_\rho \, \kappa _{j+1}}{\Delta V_{j+3/2}(t) \, \Delta V_{j+1/2}(t)} - \frac{\Delta t \,D_\rho \, \kappa _{j}}{\Delta V_{j+1/2}(t) \Delta V_{j-1/2}(t)}\right) . \end{aligned}$$
(3.3)

By using the conditions (3.2a) and (3.2b), the non-negativity of the right hand side in (3.3) follows. This implies the monotonicity-preserving property of the scheme (3.1). \(\square \)

For our splitting method (2.7) we assume that we avoid time step restrictions due to the diffusion terms by our implicit treatment and take a closer look on the condition (3.2b) (\(\theta = 0\)). The point values of the inverse distribution \(V_j(t)\) for \(0\le j \le M\) coincide with the mesh cell interfaces of the non-uniform mesh corresponding to the cell densities \(\rho _h(t)\). Thus the quantity \(L_{j+1/2}\) in the proof of Lemma 3.1 can be understood as a finite difference formula for the second derivative of the chemo-attractant density c. In effect, the above CFL condition (3.2b) motivates to choose the time increment \(\Delta t^n\) according to

$$\begin{aligned} \Delta t^n \propto \left( \chi \sup _{\{ x \in I\}}|\partial _x ^2 c(x)| \right) ^{-1}. \end{aligned}$$
(3.4)

For our numerical experiments with the more complex scheme (2.7) we have accordingly computed the time increments by

$$\begin{aligned} \Delta t ^n = CFL ~ \min \left\{ \min _{0 \le j < M} \frac{(V_{j+1}(t^n) - V_j(t^n)) }{\chi \, \left| \partial _x \hat{c}_h(V_{j+1}(t^n)) - \partial _x \hat{c}_h(V_{j}(t^n))\right| }, ~K \Delta w \right\} \end{aligned}$$
(3.5)

for constants \(CFL, K>0\). The additional bound proportional to \(\Delta w\) is used to balance the temporal and the spatial errors. Therefore the constant K needs to be adapted to the individual test. We use \(CFL = 0.49\) and \(K=100\) in our numerical experiments if not otherwise stated. Using this condition we have not observed any non-monotone numerical solutions and no instabilities have occurred.

4 Numerical Experiments

In this section we apply our newly developed mass transport method to several models arising in biomedical applications that bring along merging, emerging, and traveling concentrations phenomena. In particular, we consider the classical Keller–Segel model both elliptic and parabolic. We study also a simple as well as a detailed cancer invasion model. The latter takes the role of the serine protease urokinase-type plasminogen activator into account. The numerical study of such systems constitutes a challenge due to the complex behavior that the solutions exhibit. Numerical experiments presented below demonstrate the robustness and reliability of our newly developed mass transport finite element method.

4.1 A Parabolic–Elliptic Keller–Segel Model with Logistic Growth

In the first test case we consider the modified Keller–Segel model from [7] with added logistic growth which reads

$$\begin{aligned} \left\{ \begin{array}{ll} \partial _t\rho = \partial _x \left( \partial _x \rho - \chi \rho \partial _x c\right) + \mu \rho (1- \rho )&{}\quad \text {in }(0,\infty ) \times \mathbb {R}, \\ c(\cdot , x) = - \frac{1}{\pi } \int _\mathbb {R}\log (|x-y|)\rho (\cdot ,y)\,dy &{}\quad \text {in }(0,\infty ) \times \mathbb {R},\\ \rho (0,\cdot ) = \rho _0 \ge 0.&{} \end{array}\right. \end{aligned}$$
(4.1)

Note that the adaptation of system (4.8) to 2D with \(\mu =0\) is equivalent to the simplified Keller–Segel model from [17], where the chemo-attractant c is determined by a Poisson equation. The logistic term accounts for additional cell growth that is locally limited by resources and space. Global existence of solutions to the parabolic–parabolic model with logistic growth in 2D was shown in [26]. Except for the logistic source term this model has been numerically investigated by the mass transport scheme employing only inverse distributions in [3].

Since the chemo-attractant density c is given by a convolution term, we do not need to use a finite element approximation. Instead we proceed as in [3] and expand the diffusion taxis operator by

$$\begin{aligned} - 2\frac{\tilde{V}_j (t) - V_j(t)}{\Delta t}= & {} \frac{1}{\tilde{V}_{j+1}(t) - \tilde{V}_{j}(t)} - \frac{1}{\tilde{V}_j(t) - \tilde{V}_{j-1}(t)} \nonumber \\&+\, \frac{\chi \, \Delta w(t)}{ \pi } \lim \limits _{\varepsilon \rightarrow 0} \sum _{i: |\tilde{V}_j(t) - \tilde{V}_i(t)|\ge \varepsilon } \frac{1}{\tilde{V}_j(t) -\tilde{V}_i(t)}, \end{aligned}$$
(4.2a)
$$\begin{aligned} - \frac{T_{\Delta t} V_j (t) - V_j(t)}{\Delta t}= & {} \frac{1}{\tilde{V}_{j+1}(t) - \tilde{V}_{j}(t)} - \frac{1}{\tilde{V}_j(t) -\tilde{V}_{j-1}(t)} \nonumber \\&+\,\frac{\chi \, \Delta w(t)}{ \pi } \lim \limits _{\varepsilon \rightarrow 0} \sum _{i: | \tilde{V}_j(t) - \tilde{V}_i(t)|\ge \varepsilon } \frac{1}{\tilde{V}_j(t)- \tilde{V}_i(t)}. \end{aligned}$$
(4.2b)

In the corresponding computations we use a fixed \(\varepsilon =10^{-6}.\) While computing (4.2a) we control the convergence of the Newton method by comparing subsequent iterates. If the iteration fails to converge, we abort the computation assuming blowup of the numerical solution. The second operator S in this setting accounts only for the logistic growth term. In the numerical simulations we use a grid with only \(M=50\) points.

In Experiment 1 we use the parameters \(D_\rho = 1,~ \chi =2.5 \pi \) and the initial datum

$$\begin{aligned} V_0(w) = \frac{w- 0.5}{\root 4 \of {(w + 0.01)\, (1.01 - w)}}. \end{aligned}$$
(4.3)

This experiment has been studied in the case \(\mu =0\) in [3], where blowup in final time around \(t=0.33\) has been obtained numerically. We confirm the same phenomenon using the splitting method, see Fig. 1. The time increment adapted due to (3.5) monotonically decreased during the simulation and blowup was indicated when \(\Delta t \approx 3 \times 10^{-7}\).

When conducting the same experiment with altered \(\mu = 0.2\) (Experiment 2), no blowup occurs, as can be seen in Fig. 2. The aggregation stops and reverses since the logistic term attracts the cell concentration to a lower density. The total mass of the cells decreases after the aggregation stops and increases again after around \(t=1.5\). No blowup could be observed even for later times, instead the numerical solution seems to converge to a stationary state. The CFL condition given by (3.4) has caused an increase of the time increment over the computation time.

Fig. 1
figure 1

Experiment 1: Cell concentration, inverse cumulative function and time step adaptation in the parabolic elliptic Keller–Segel model, Experiment 4.3.1 in [3]. The cell concentration blows up. The numerical cell concentration has attained a maximum of approximately 176

Fig. 2
figure 2

Experiment 2: Cell concentration, inverse cumulative function, and mass for the parabolic elliptic Keller–Segel model with added logistic growth (4.1). The additional reaction term has prevented blowup

4.2 Nonlinear Diffusion and Chemotaxis Models

Our method can also resolve models that include generalized diffusion and migration terms as we will demonstrate in this section. To this end we consider at first the model

$$\begin{aligned} \left\{ \begin{array}{ll} \partial _t\rho = \partial _x \left( \rho ^{\gamma -1} \partial _x \rho - \chi \rho \partial _x c\right) &{}\quad \text {in }(0,\infty ) \times \mathbb {R}, \\ c(\cdot , x) = - \frac{1}{\pi } \int _\mathbb {R}\log (|x-y|)\rho (\cdot ,y)\,dy &{}\quad \text {in }(0,\infty ) \times \mathbb {R},\\ \rho (0,\cdot ) = \rho _0 \ge 0 &{} \end{array}\right. \end{aligned}$$
(4.4)

with exponent \(\gamma >1\). In the case \(\chi =0\) the first equation in (4.4) is known as the porous media equation modeling the gas flow through a porous interface. We refer to [35] for an introduction to the subject.

Similar as in (4.2), the scheme to resolve (4.4) corresponds to (2.3a)–(2.3b) where the chemo-attractant gradient is computed as

$$\begin{aligned} - \partial _x \hat{c}_h(V_j(t)) = \frac{\Delta w(t)}{\pi } \lim \limits _{\varepsilon \rightarrow 0} \sum _{i: |V_j(t) -V_i(t)|\ge \varepsilon } \frac{1}{ V_j(t)- V_i(t)}, \end{aligned}$$
(4.5)

where again in the computations we have taken \(\varepsilon =10^{-6}\) to be constant.

Fig. 3
figure 3

Experiments 3 and 4: Cell concentration and inverse cumulative function for the nonlinear diffusion model (4.4), initial condition (4.3), \(\chi =2.5\pi \) and \(\gamma =2\) (top row), \(\gamma =1.5\) (bottom row). For both chosen values of m the numerical solution converges to a steady state. We have used \(M=500\) points

In Experiment 3 and Experiment 4 we have tested our scheme using the initial condition (4.3) and the chemo-sensitivity \(\chi =2.5\pi \). Figure 3 exhibits the results from the numerical simulation for the exponents \(\gamma =2\) and \(\gamma =1.5\). In both cases the nonlinear diffusion prevents the blowup that would occur for \(\gamma =1\) and the numerical solution converges to a stationary state.

Another model that we consider here has been proposed in [27]. In this work the authors endowed the Keller–Segel model with a volume filling mechanism. For this purpose they reconsidered the derivation of the model from a random walk and added a function \(q(\rho )\) describing the probability that a cell finds sufficient space to jump to a particular position. We adopt here the probability function \(q(\rho ) = 1- \rho ^{\gamma }\) that models the volume filling together with enhanced diffusion for \(\gamma >1\) and reduced diffusion for \(\gamma <1\) [27]. Independent of the choice of \(\gamma >1\), the model does not allow for cell migration to a position where the maximal density \(\rho =1\) has already been reached. The corresponding model for the cell density includes nonlinear diffusion and advection terms and reads

$$\begin{aligned} \partial _t\rho = \partial _x \left( D_\rho (1 + (\gamma -1)\rho ^{\gamma }) \partial _x \rho - \chi (1-\rho ^{\gamma }) \rho \partial _x c\right) \qquad \text {in }(0,\infty ) \times \mathbb {R}. \end{aligned}$$
(4.6)

For the numerical experiments with the volume filling model (4.6) we have adapted the update steps (2.3a) and (2.3b) in the diffusion–advection operator by

$$\begin{aligned} - 2\frac{\tilde{V}_j (t) - V_j(t)}{\Delta t}= & {} \frac{1}{\tilde{V}_{j+1}(t) - \tilde{V}_{j}(t)} - \frac{1}{(\tilde{V}_j(t) - \tilde{V}_{j-1}(t))}\nonumber \\&+\,\frac{(\gamma -1)\tilde{D}(t)}{(\tilde{V}_{j+1}(t) - \tilde{V}_{j}(t))^{\gamma }} - \frac{(\gamma -1) \tilde{D}(t)}{(\tilde{V}_j(t) - \tilde{V}_{j-1}(t))^{\gamma }} \nonumber \\&-\, \chi \left[ 1 - \left( \frac{2 \, \Delta w}{V_{j+1}(t) - V_{j-1}(t)}\right) ^{\gamma }\right] \partial _x \hat{c}_h( V_j(t)), \end{aligned}$$
(4.7a)
$$\begin{aligned} - \frac{T_{\Delta t} V_j (t) - V_j(t)}{\Delta t}= & {} \frac{1}{\tilde{V}_{j+1}(t) - \tilde{V}_{j}(t)} - \frac{1}{(\tilde{V}_j(t) - \tilde{V}_{j-1}(t))}\nonumber \\&+\,\frac{(\gamma -1)\tilde{D}(t)}{(\tilde{V}_{j+1}(t) - \tilde{V}_{j}(t))^{\gamma }} - \frac{(\gamma -1) \tilde{D}(t)}{(\tilde{V}_j(t) - \tilde{V}_{j-1}(t))^{\gamma }} \nonumber \\&-\, \chi \left[ 1 - \left( \frac{2 \, \Delta w}{V_{j+1}(t) - V_{j-1}(t)}\right) ^{\gamma }\right] \partial _x \hat{c}_h( \tilde{V}_j(t)), \end{aligned}$$
(4.7b)

where we set \(\frac{2 \, \Delta w}{V_{j+1}(t) - V_{j-1}(t)}=0\) for \(j=1\) and \(j=M\) to account for the boundary conditions.

Fig. 4
figure 4

Experiments 5 and 6: Cell concentration, inverse cumulative function for model (4.6) with chemo-attractant given by a convolution as in (4.1). Results are shown for \(\gamma =2\) (top row) and \(\gamma =0.5\) (bottom row). We have used \(M=50\) points in the numerical computation

In Fig. 4 we present simulation results with the parabolic–elliptic model (4.4) where we have replaced the original evolution equation of the cell density by the volume filling approach (4.6). Again we have used the initial condition (4.3) and the chemo-sensitivity parameter \(\chi =2.5\pi \). We have conducted simulations for \(\gamma =2\) (Experiment 5) and \(\gamma =0.5\) (Experiment 6). The computed cell densities do not exceed a density of one in both cases and no blowup occurs. Instead the cells evolve quickly to a bounded spatial profile from which they slowly diffuse afterwards. The parameter choice \(\gamma = 2\) leads to a larger maximal cell density throughout the computation when compared to the case \(\gamma =0.5\).

4.3 The Parabolic–Parabolic Keller–Segel Model

In this section we apply our scheme to the well known parabolic–parabolic Keller–Segel model which reads

$$\begin{aligned} \left\{ \begin{array}{ll} \partial _t\rho = \partial _x \left( D_\rho \partial _x \rho - \chi \rho \partial _x c\right) ,&{}\quad \text {in }(0,\infty ) \times (a,b), \\ \partial _tc = D_c \partial _x ^2 c + \alpha \rho - \beta c, &{}\quad \text {in }(0,\infty ) \times (a,b),\\ \partial _x \rho (\cdot , r) = \partial _x c(\cdot , r)=0, &{}\quad r\in \{a,b\},\\ \rho (0,\cdot ) = \rho _0 \ge 0,\quad c(0,\cdot )= c_0 \ge 0.&{} \end{array}\right. \end{aligned}$$
(4.8)

As opposed to (4.1) this system features an additional parabolic equation to be treated by the splitting method. To demonstrate the phenomena that the scheme can resolve, we consider two test cases with distinct initial chemo-attractant densities that control the cell movement. In both tests we adopt the initial datum (4.3) for the inverse distribution V.

In Experiment 7 we use system (4.8) to reproduce peak movement. To this end we use the parameters \(D_\rho =0.1, ~D_c = 0.01,~\chi = 2.5,~\alpha = 0.5,~\beta = 1\) and the domain \(\Omega =(a,b)\) with boundaries chosen \(a=V_0(0)\approx -1.58,~b=V_0(1)\approx 1.58\). As initial chemo-attractant concentration we use the logistic function

$$\begin{aligned} c_0(x) = \frac{1}{1+ \mathbf {e}^{-5\, x}}, \quad x \in \Omega . \end{aligned}$$

For the simulation we employ meshes with \(M=N=45\) points and the CFL condition (3.5).

Figure 5 presents the cell dynamics, showing their movement to the right side of the domain. As the cells produce the chemical with density c, a negative gradient is created that leads to an aggregation of the cells which counteracts the movement. We point out that both the migration and the growth are well resolved by the splitting scheme.

Fig. 5
figure 5

Experiment 7: Cell concentration, inverse cumulative function, and chemo-attractant density in space and time for the parabolic–parabolic KS model (4.8). The movement and aggregation is accurately resolved using \(M=45\) grid points

In Experiment 8 we reproduce peak splitting and use the parameters \(D_\rho =D_c = 0.1,~\chi = 5,~\alpha = \beta = 1\) as well as the computational domain (ab) with boundaries chosen as in Experiment 7. The initial chemo-attractant density though is replaced by the function

$$\begin{aligned} c_0(x) = 1 - \mathbf {e}^{-20\, x^2}, \quad x \in (a,b). \end{aligned}$$

Figure 6 shows the computational results when using again 45 points on both the mass space mesh and the finite element mesh. The cells move out of the center of the domain on which the most part of the attracting chemical is already consumed. The symmetrical movement to both sides leads to a splitting of the initial concentration into two peaks. The discretization grid for the cells on the density level concentrates its grid points on the locations of both peaks and adapts to the solution over time.

Fig. 6
figure 6

Experiment 8: Cell concentration, inverse cumulative function, and chemo-attractant density in space and time for the parabolic–parabolic Keller–Segel model (4.8). At the final time we show the approximated cell averages of the density \(\rho \) at their respective position on the grid (top). The grid for the cell density adapts to the two splitting peaks

In the setting of the present experiment we study the convergence of the introduced splitting scheme experimentally. For a fixed instance in time and given M, let \(V^h_i,~i=1,\ldots ,M-1\) denote a numerical solution corresponding to the mesh discretization parameter M. Then we define the approximate \(L^1\) finite difference error by

$$\begin{aligned} E^V_M = \frac{1}{M} \sum _{j= 1}^{M-1} \left| V^{h}_j - V^{h/2}_{2j} \right| , \end{aligned}$$
(4.9)

where we have used a numerical solution on a finer mesh with 2M points, \(V^{h/2}_j,~j=1,\ldots ,2M-1\), as the reference solution. The experimental order of convergence (EOC) for the discretization error in \(V_h\) can now be defined by

$$\begin{aligned} EOC^V(M) = \log _2\big (E^V_M\big ) - \log _2\big (E^V_{M/2}\big ) \end{aligned}$$
(4.10)

for any even integer M. Similarly, we define the EOC for the cell densities on their non-uniform mesh. To this end let \(\rho ^h_i,~i=1,\ldots ,M\) denote the finite volume representation corresponding to \(V^h_i,~i=1,\ldots ,M-1\) and let \(E^{\rho }(M)\) denote the discrete \(L^1\) error using as reference \(\rho ^{\mathrm{ref}}_i,~i=1,\ldots ,2M\) the finite volume representation of \(V^{h/2}_j,~j=1,\ldots ,2M-1\). This \(L^1\) error is computed by projecting the reference solution to the coarser non-uniform grid corresponding to the cell densities \(\rho ^h_i,~i=1,\ldots ,M\). Then we define for even integers M analog to (4.10)

$$\begin{aligned} EOC^{\rho }(M) = \log _2\Big (E^{\rho }_M\Big ) - \log _2\Big (E^{\rho }_{M/2}\Big ). \end{aligned}$$
Table 1 Mesh convergence in Experiment 8 up to \(T = 0.01\) with respect to the discretization parameter M

In Table 1 we show the errors and the EOCs computed at the final time \(T=0.01\) and with constant time increment \(\Delta t = 10^{-4}\) when doubling the mesh resolution on the mass space mesh iteratively. We have coupled the resolution of the finite element mesh to the number of points for the inverse distribution by using \(N= M\). We can clearly see that the method converges as the mesh size is refined. The EOCs indicate a convergence order of two in both, the inverse distributions and the densities. However, we see that the EOC decreases as the grids becomes very fine. We suppose that this is caused by the finite element mesh that is only uniformly but not locally refined: as M increases the number of mesh cells on the non-uniform finite volume mesh for the cell densities aggregates around the positions of the peaks. Throughout the computation the finite element solution \(c_h\) must in turn be interpolated in many points in a small physical area which leads to a loss of accuracy as the number \(\max _i|\{j: x_i\le V_j\le x_{i+1}\}|\) increases. Nevertheless, Table 1 demonstrates that the method has provided accurate numerical results using only a few mesh points.

4.4 A Cancer Invasion System

In the next test case we address a model of cancer invasion of the extracellular matrix (ECM), the first step in cancer metastasis. The macroscopic modeling of this process commonly uses an Keller–Segel approach that models the densities of the cancer cells, the concentration of the extracellular fibers on which cancer cells adhere and move, and the density of an enzyme of the matrix metallopreteinases (MMPs) family that is produced by the cancer cells and is responsible for the degradation of the ECM.

There is a wide variety of cancer invasion models in the literature, see e.g. [12, 18, 31,32,33]. In order to test our scheme we employ a simple test case based on the pioneering model [2] augmented with a proliferation term in the cancer cell density equation which reads

$$\begin{aligned} \left\{ \begin{array}{ll} \partial _t\rho = \partial _x \left( D_\rho \partial _x \rho - \chi \rho \partial _x v\right) + \mu \rho (1-\rho )&{}\quad \text {in }(0,\infty ) \times (a,b), \\ \partial _tv = - \delta v m &{}\quad \text {in }(0,\infty ) \times (a,b), \\ \partial _tm = D_m \partial _x ^2 m + \alpha \rho - \beta m &{}\quad \text {in }(0,\infty ) \times (a,b)\\ \partial _x \rho (\cdot , r) = \partial _x m(\cdot , r)=0, &{}\quad r\in \{a,b\},\\ \rho (0,\cdot ) = \rho _0 \ge 0,\; v(0,\cdot )=v_0, \quad m(0,\cdot )= m_0. &{} \end{array}\right. \end{aligned}$$
(4.11)

In this model the cancer cells with density \(\rho \) move using their motility apparatus with a preferred direction towards higher concentrations of the ECM with concentration denoted by v. This is the haptotaxis phenomenon. Being a network in a static equilibrium the ECM does not translocate. The MMPs however, whose density we denote by m, diffuse freely in the extracellular environment. Additionally, the cancer cells proliferate towards a preferred density \(\rho =1\) and they produce MMPs with a constant rate. The MMPs attach to the ECM which they dissolve upon contact.

Fig. 7
figure 7

Experiment 9: Cell concentration, inverse cumulative function, tissue and MMP density for the cancer invasion model (4.11) using only \(N=M=45\) mesh points. At the final time we show the approximated cell averages of the tumor density \(\rho \) at their respective position on the grid (top left). A high concentration of tumor cells emerges and invades the tissue. The grid for the tumor density omits the part of the tissue that is not yet invaded

Fig. 8
figure 8

Experiment 9: Adaptation of the time increment during the simulation using (3.4) and \(CFL=1/6\). Only few time steps have been required and the magnitude of step sizes does not vary significantly over time

In Experiment 9 we consider system (4.11) on the computational domain (0, 1) with initial conditions

$$\begin{aligned} \rho _0(x) = \mathbf {e}^{-x^2 / \varepsilon }, \quad v_0(x) = 1- 0.5\, \mathbf {e}^{-x^2 / \varepsilon }, \quad m_0(x) = 0.5 \, \mathbf {e}^{-x^2 / \varepsilon }, \end{aligned}$$
(4.12)

where we use \(\varepsilon = 10^{-2}\). Moreover we employ the parameter values \(D_c = 2 \cdot 10^{-4}, ~ \chi = 5 \cdot 10^{-3},~\mu = 0.2,~D_a= 10^{-3}, ~\delta = 10, ~\alpha = 0.1,\) and \(\beta = 0\). We apply the splitting scheme (2.7) using meshes of \(M=N=45\) points and the CFL condition (3.4).

In our method we discretize both the ECM density v and the MMP concentration m on the same finite element basis. The corresponding approximations are updated in the reaction–diffusion operator of the splitting method. The interpolations are only needed with respect to the ECM density v. We resolve the migration of the cancer cells in transformed variables with the advection–diffusion operator and the cell proliferation in original variables with the reaction–diffusion operator.

Experiment 9 simulates the propagation of cancer cells into the ECM on the right side of the computational domain. To account for the corresponding temporal expansion of the support of the cancer cell density c we have adapted the treatment of the right boundary. In more details, we have neglected the discrete cancer cell density entry adjacent to the right boundary in the proliferation update (2.5), i.e. \(S_{\Delta t}\rho _M(t) = \rho _M(t) \). Though we have not excluded the corresponding boundary entry in the cumulative function, \(V_{M-1}\), from the diffusion and haptotaxis updates of the scheme.

We present the according numerical results in Fig. 7. Apart from the propagation of the cells into the tissue, we observe a build up of cancer cells at the leading front of the tumor. Degradation of the tissue and MMP production are also visible. Throughout the computation the not invaded part of the tissue is resolved by a single grid cell in the cancer cell density. In Fig. 8 we moreover demonstrate, that our chosen CFL condition (3.4) has lead to large time increments with only minor variations over time. This is a completely different behavior as in the blowup case, compare Fig. 1.

In this experiment we have studied the convergence of the scheme experimentally. Along with the errors in space, we have also computed the errors in time by the formula

$$\begin{aligned} E^V_{\Delta t} = \frac{1}{M} \sum _{j= 1}^{M-1} \left| V^{h,\,\Delta t}_j - V^{h,\,2\Delta t}_{j} \right| , \end{aligned}$$
(4.13)

where \(V^{h,\,\Delta t}_i,~i=1,\ldots ,M-1\) denotes a numerical solution computed on M mesh points with constant time increment \(\Delta t\). For the computation of the temporal errors we have considered a fine spatial resolution with \(M=N=600\) mesh cells. The corresponding EOC is given by \(EOC^t=\log _2(E^V_{\Delta t}) - \log _2(E^V_{2\Delta t})\). The spatial errors and EOCs are computed according to (4.9) and (4.10) with constant time increment \(\Delta t = 2 \times 10^{-4}\) and coupled \(N=M\). Both, temporal and spatial errors have been computed at the final time \(T=1\).

In Table 2 we present the computed errors and EOCs in Experiment 9. We see that the method converges as either the mesh size or the time increment is refined. The EOCs in time and space range around two which confirms our expected second order. As in Experiment 8 the EOC decreases slowly as the mesh is refined to very high resolutions. We point out that previous numerical tests which did not employ our proposed boundary treatment have yield only a spatial EOC of one.

4.5 The uPA Model

In the last series of experiments we apply our scheme to a detailed tumor invasion system derived in [12]. This model focuses on the enzymatic urokinase plasminogen activator (uPA) system which is known to play an essential role in the context of cancer progression and metastasis. The uPA is an extracellular serine protease which is responsible for the activation of the protease plasmin. This activation occurs mainly if uPA is bound to its uPA receptors (uPAR) on the cancer cell membrane. The receptor bound uPA enhances the affinity of uPAR to the ECM constituent vitronectin [36] and integrins. Thus, the uPA/uPAR-complex regulates indirectly also the vitronectin-integrin interactions. Both proteases plasmin and uPA catalyze the degradation of vitronectin and other ECM components. Another actor in the system is the plasminogen activator inhibitor type 1 (PAI-1) which is produced by the tumor cells and limits the activation of plasmin to prevent tissue damage and to maintain homeostasis.

The considered model complements system (4.11) by chemotactic movement of the cells due to uPA and PAI-1, remodeling of the ECM modeled by a logistic term and the dynamics of the uPA system modeled in terms of mass-action kinetics. We refer to [12] for more details. The full model reads

$$\begin{aligned} \left\{ \begin{array}{ll} \partial _t\rho = \partial _x \left( D_\rho \partial _x \rho \right. \left. - \chi _u \rho \partial _x u - \chi _p \rho \partial _x p - \chi _v \rho \partial _x v\right) +\mu _1\rho (1-\rho ) &{}\quad \text {in }(0,\infty ) \times (a,b),\\ \partial _tv = - \delta vm + \phi _{21}up - \phi _{22}vp + \mu _2v(1-v) &{}\quad \text {in }(0,\infty ) \times (a,b),\\ \partial _tu = D_u \partial _x ^2 u -\phi _{31}up - \phi _{33}\rho u + \alpha _3 \rho &{}\quad \text {in }(0,\infty ) \times (a,b),\\ \partial _tp = D_p \partial _x ^2 p - \phi _{41}up - \phi _{42}vp + \alpha _{4}m &{}\quad \text {in }(0,\infty ) \times (a,b),\\ \partial _tm = D_m \partial _x ^2 m + \phi _{52} vp + \phi _{53}\rho u - \alpha _{5}m &{}\quad \text {in }(0,\infty ) \times (a,b),\\ \partial _x \rho (\cdot , r) = \partial _x u(\cdot , r)= \partial _x p(\cdot , r)=\partial _x m(\cdot , r)=0, &{}\quad r\in \{a,b\},\\ \rho (0,\cdot ) = \rho _0,\; v(0,\cdot )=v_0 , u(0,\cdot )= u_0\; p(0,\cdot )= p_0, \; m(0,\cdot )= m_0, &{} \end{array}\right. \end{aligned}$$
(4.14)

where the cancer cell concentration is represented by \(\rho \), the ECM by the density of its constituent vitronectin v, and uPA, PAI-1, and plasmin densities are denoted by u, p, and m. We assume non-negative initial data.

Table 2 Experimental convergence in time (left) and in space (right) in Experiment 9 at \(T = 1\)

We consider a numerical experiment that we have studied in [23] by a finite volume method (Experiment 10). It employs the parameters from [1] given by

$$\begin{aligned} \begin{array}{lll} D_c = 3.5 \times 10^{-4}, &{} \ \chi _u = 3.05\times 10^{-2}, &{} \ \mu _1 = 0.25, \\ D_u = 2.5\times 10^{-3}, &{} \ \chi _p=3.75\times 10^{-2}, &{} \ \mu _2=0.15, \\ D_p=3.5\times 10^{-3}, &{} \ \chi _v = 2.85\times 10^{-2}, &{} \ \delta =8.15, \\ D_m=4.91\times 10^{-3}, &{} \ \phi _{21}=0.75, &{} \ \phi _{22}= 0.55,\\ \phi _{31}=0.75, &{} \ \phi _{33}=0.3, &{} \ \phi _{41}=0.75, \\ \phi _{42}=0.55, &{} \ \phi _{52}=0.11, &{} \ \phi _{53}=0.75, \\ \alpha _3 = 0.215, &{} \ \alpha _4 = 0.5, &{} \ \alpha _5=0.5, \end{array} \end{aligned}$$

and the computational domain \(I=(0,10)\) with the initial date

$$\begin{aligned} \begin{array}{lll} c_0(x) = \mathbf {e}^{-x^2/\varepsilon }, &{} \qquad v_0(x)= 1- \frac{1}{2} \mathbf {e}^{-x^2/\varepsilon }, &{} \qquad u_0(x) = \frac{1}{2}\mathbf {e}^{-x^2/\varepsilon },\\ p_0(x) = \frac{1}{20} \mathbf {e}^{-x^2/\varepsilon }, &{} \qquad m_0(x) = 0, &{} \qquad \varepsilon = 5 \times 10^{-3}. \end{array} \end{aligned}$$

As done to treat model (4.11) we use a single finite element basis to discretize the concentrations of the ECM, the uPA, the PAI-1, and the plasmin. The cubic spline in the advection–diffusion operator interpolates the linear combination \(\chi _v v+ \chi _u u + \chi _p p\). Similar as in the models (4.8) and (4.11) the scheme approximates the cell proliferation in Eulerian coordinates but diffusion and advection of the cancer cells in transformed variables. We have used the same boundary treatment as in Sect. 4.4.

Fig. 9
figure 9

Experiment 10: Cancer cell concentration, inverse cumulative function, ECM, uPA, PAI-1 and plasmin density in space and time in model (4.14) computed by the new scheme. The dynamics, particularly the steep peaks in the cancer cell density, are well resolved by the scheme. We have used \(M=N=400\) grid points on both meshes in the numerical simulation

In Fig. 9 we present the simulation results obtained by our scheme with mesh parameters \(M=N=400\). The method is capable to approximate accurately the dynamics that we have obtained in [23] including the emergence and movement of multiple steep peeks. The present simulation clearly demonstrates the robustness of the newly developed scheme to simulate complex taxis–diffusion systems arising in cell biology.

To investigate the dynamics of such a cancer invasion system in the case that the cell migration is restricted by the occupied extracellular space we have endowed model (4.14) with the volume filling approach (4.6). In more details we have replaced the evolution equation for the tumor cell density in (4.14) by

$$\begin{aligned} \partial _t\rho = \partial _x \left( D_\rho (1 + (\gamma -1)\rho ^{\gamma })\partial _x \rho - (1-\rho ^{\gamma })(\chi _u \rho \partial _x u + \chi _p \rho \partial _x p + \chi _v \rho \partial _x v)\right) +\mu _1\rho (1-\rho )\nonumber \\ \end{aligned}$$
(4.15)

and used otherwise the same setting as above. For the simulations the scheme has been adapted in a similar way as in (4.7a4.7b).

Fig. 10
figure 10

Experiment 11: Cancer cell concentration, inverse cumulative function, ECM, uPA, PAI-1 and plasmin density in space and time in model (4.14) with volume filling (4.15) and exponent \(\gamma =2\). We have used \(M=N=400\) grid points on both meshes in the numerical simulation

Fig. 11
figure 11

Experiment 12: Cancer cell concentration, inverse cumulative function, ECM, uPA, PAI-1 and plasmin density in space and time in model (4.14) with volume filling (4.15) and exponent \(\gamma =0.5\). We have used \(M=N=400\) grid points on both meshes in the numerical simulation

In Figs. 10 and 11 we show the simulation results for the exponents chosen \(\gamma =2\) and \(\gamma =0.5\), where we have used \(M=N=400\) mesh points in the computation. Contrary to the simulations without volume filling, the cancer cells do not exhibit the rich dynamics, i.e. the formation of multiple clusters. Instead a single concentration of tumor cells invades the ECM and leaves a homogeneous distribution of tumor cells of maximal density \(\rho =1\) behind. Reducing the diffusivity of the cells by decreasing the exponent \(\gamma \) results in a slower invasion of the tissue and to a lower concentration at the invading front of tumor cells. This can be seen when comparing Experiment 11 in Fig. 10 (\(\gamma =2\)) and Experiment 12 in Fig. 11 (\(\gamma =0.5\)).

4.6 Efficiency Tests

In this section we study how the new method compares in efficiency to more conventional numerical methods. For this purpuse we consider the Finite Volume/Finite Difference from [23] for both uniform and adaptive meshes. In particular we have chosen a second order method with implicit–explicit Strang operator splitting. Moreover, we take adaptive mesh refinement into account. The method we use employs the gradient monitor function to determine the mesh-cells to be either refined or coarsened.Footnote 1 For brevity, we will refer to the adaptive method as AMR and to the uniform method as FVFD. The new mass-transport/finite element method will be denoted by MTFE.

Fig. 12
figure 12

Experiment 10: Relation between CPU time and error (left) and between the (average) number of cells and the error (right) for the FVFD, AMR, and MTFE scheme. The new MTFE method is most efficient in terms of error per CPU time, its relation between the error and the average number of cells is similar as in the FVFD scheme

For our comparison we revisit Experiment 10, consider the set \(S= \{ 40, 80, 160, 320, 640, 1280\}\) and run the MTFE method for \(M \in S\), the FVFD method for \(N=6k\) for any \(k \in S\), and the AMR method for \(N_0 \in S\) with \(N_0\) denoting the number of cells on the lowest level. We couple the two meshes in the MTFE scheme by setting \(N= M\). We do not consider finer resolutions due to restrictions by the uniform reference solution in the error computations for the MTFE scheme. For comparison reasons we let N denote the average number of cells in the AMR method. In addition, all three methods employ the same Courant number \(CFL=0.49\) and all numerical solutions are computed on the domain \(\Omega = (0,5)\).

We compute the numerical solutions of the considered experiment at the time instance \(t=23\) that features two steep peaks in the cancer cell concentration. In this process we measure the CPU time that is needed for the corresponding simulations and compute the error of the approximation at the final time. For the error computation we have used a reference solution that employs a uniform mesh with cell size \(h=1.25 \times 10^{-5}\) in the relevant part of the domain.Footnote 2 The discrete \(L^1\) error is then computed with respect to the densities using a suitable projection of the reference solution. Note that the following test results are dependent on our (non-reference) implementation of the numerical methods.

We show the results of our comparison in Fig. 12. Here we present the relation between the error and the computation time and the relation between the error and the average number of cells for all three methods. We see that for all tested methods the error decreases as either the cell number or the CPU time increases. Figure 12 (left) exhibits an advantage of the new MTFE method over the other schemes in efficiency for most of the conducted simulations. This can be seen as the MTFE method achieves in most cases lower errors than the FVFD or the AMR scheme using the same CPU time. As the runtime increases the MTFE method approaches the efficiency of the AMR method with the new method being at a slight advantage over the mesh refinement method. Clearly, the AMR and the MTFE scheme both outperform the FVFD method for sufficiently large CPU times.

Figure 12 (right) shows that the AMR method achieves the lowest errors when compared with simulations by the FVFD and MTFE scheme employing the same average number of cells. The error of the MTFE scheme has a similar dependence on the number of cells as the error of the FVFD scheme. We conjecture thus that the better efficiency of the MTFE scheme in terms of CPU time seen in Fig. 12 (left) is probably caused by the CFL condition in the MTFE scheme allowing for larger time steps compared to the FVFD method.

Fig. 13
figure 13

Experiment 8: Relation between CPU time and error for the FVFD, AMR, and MTFE scheme. In this test the mesh refinement of the AMR method does not improve the efficiency compared to the uniform FVFD scheme. The new MTFE method performs similarly efficient as the FVFD scheme

To demonstrate the efficiency of the new method in simpler problems we have conducted a similar comparison in case of Experiment 8, where the parabolic–parabolic Keller–Segel model is used. For this experiment we have chosen \(K=1\) in condition (3.5) to balance spatial and temporal errors of the MTFE scheme. Using otherwise the same configurations as above we have computed numerical solutions of all three methods at time instance \(t=0.02\). In Fig. 13 we show the relation between computational time and numerical error, employing a reference solution on 400,000 uniform mesh cells for the error computation. Since the simulation is realized in short computational time the overhead of the mesh administration in the AMR methods outweighs the error reduction compared to the FVFD scheme. Thus the uniform scheme is more efficient in terms of the error per CPU time in all tested configurations. Moreover, we can clearly recognize that the MTFE scheme is slightly more efficient than the FVFD scheme. The advantage in efficiency of the new scheme is more significant for more complex problems that feature dynamically merging and emerging concentrations such as in Experiment 10.

5 Conclusion

In this paper we have proposed a new splitting scheme for one-dimensional reaction–taxis–diffusion systems related to the Keller–Segel model. The solutions of these systems are well known for having concentrated and diffusive regions simultaneously. In addition, traveling waves and merging phenomena typically occur.

Our splitting has separated a part of the model which is mass conservative in the cell density from the rest of the system. The latter has been approximated by a classical linear finite element method, whereas the approximation of the conservative part has been based on the mass transport strategy. More precisely, we have first transformed the cell density to the corresponding pseudo inverse cumulative distribution. Then we have discretized the transformed system by the finite difference method and used a cubic spline to account for the chemo-attractant whose evolution is described in the rest subsystem. The splitting method is described in Sect. 2. In Lemma 3.1 we have studied the stability of the explicit mass transport method for the conservative part in which we allowed for general nonlinear diffusion. The obtained result has been used to derive a time-step restriction for our scheme.

In Sect. 4 we have presented a series of numerical experiments demonstrating the robustness and reliability of the scheme. In particular, we have used the new method to resolve the Keller–Segel model in the parabolic–elliptic and in the parabolic–parabolic form numerically. We have applied our scheme also to augmentations of these systems by reaction terms, nonlinear diffusion and a volume filling approach. The method has resolved the movement, splitting and aggregation phenomena accurately. We have verified the mesh convergence of the scheme in both time and space in an application to a simple tumor invasion system in Sect. 4.4. The obtained experimental order of convergence has ranged around two spatially and temporally. Moreover, we have applied the scheme to the uPA-tumor invasion model from [12] in Sect. 4.5. The proposed hybrid mass transport finite element scheme has been capable to resolve its complex dynamics featuring multiple peaks in the cancer cell concentration without using a fine spatial discretization. By the help of our new method we could also study a combination of the uPA model with the volume filling approach from [27]. In addition, we have compared the efficiency of the hybrid mass transport finite element method with a finite volume scheme with adaptive mesh refinement from [23]. The hybrid mass transport finite element method has not only outperformed the uniform finite volume scheme but it has also delivered slightly better results than the finite volume scheme equipped with adaptive mesh refinement.

Generalizing the present method to higher space dimensions is a challenging problem due to the interpolation between the different meshes in the mass and physical variables. However, one can employ multidimensional adaptations of the mass transport scheme for evolution equations that we use in our splitting. Such adaptations have been proposed in [8,9,10] and while pseudo inverse distributions are used in the 1D case, evolving diffeomorphisms are used in higher dimensions. However, we note that the application of these methods is delicate and associated with high computational costs [3, 8] and it is an open question if their application in a splitting scheme can lead to similar efficiency due to the interpolation errors as we have seen in 1D in case of the present method.