1 Introduction

In this paper we consider a model for the reactive flow in a porous medium, where the ions/solutes are being transported through the combined process of convection and diffusion. Such models are encountered in many real-life applications, like the spreading of chemical and the resulting ground water contamination (see [1] and references therein), biological applications such as tissue and bone formation, pharmaceutical applications [2], or the operation of solid state batteries. Of particular interest are the reactive processes, where precipitation and dissolution fronts develop as a result of reactions (see [35] and references therein). In a related context, [6] discusses the presence of stiff dissolution fronts involving the applications in the nuclear waste disposal.

Here we concentrate on a macroscale (upscaled) model, meaning that the model is defined at the Darcy scale. Therefore no distinction is made between the solid grains and the pore space, and the equations are defined everywhere in the domain of interest. The interesting aspect of the flow is the description of reactions taking place which have a particular structure. These reactions model the precipitation and dissolution processes taking place due to the interactions of ions (cations and anions). The reactions lead to the formation of crystals which are immobile species. Since the model is considered at macroscale, both the crystals and the ions are defined everywhere. We take the model which was first proposed in [7] and then followed in a series of papers [810]. In [11], the corresponding pore scale model was presented. Further, the upscaled model is derived rigorously in a simplified situation of a 2D strip.

The dissolution and precipitation models mentioned above are assuming a constant-in-time pore structure, i.e. no changes in the pore space is encountered due to precipitation or dissolution. Alternatively, one can consider the situation when the precipitate is viewed as a layer attached to the pore walls, having a variable in time thickness. This leads to models involving free boundaries at the pore scale, as analyzed in [12], where the existence and uniqueness of a solution and the existence of a free boundary separating fluid from precipitate is proved in one spatial dimension (see also [13] for the analysis of a similar, one-dimensional model encountered in concrete carbonation). The formal upscaling (from the pore scale to the Darcy scale) of such models in a simple pore is discussed in [14, 15]; for the case of rough boundaries we refer to [16], whereas for applications related to biofilm growth in porous media or drug release from collagen matrices we refer to [17, 18].

Our main goal here is to provide the convergence of a conforming FEM discretization for an upscaled model for dissolution and precipitation in porous media, involving a multi-valued dissolution rate. These results are announced in [19]. Before discussing the details, we briefly review some of the numerical work that is related to the present context. Conformal FEM schemes for reactive porous media flow models are discussed in [20, 21], where non-Lipschitz, but Hölder continuous rates are considered. Similarly, for Hölder continuous rates (including equilibrium and non-equilibrium cases) mixed FEM methods are analyzed rigorously in [22, 23], whereas [24] provides error estimates for the coupled system describing unsaturated flow and reactive transport (see also [25] for a model appearing in concrete carbonation and including a concentration-dependent porosity, and [26] for a numerical investigation of the carbonation front in concrete). In the cases mentioned before, the continuity of the reaction rates allows obtaining error estimates. Further, for continuously differentiable rates, the convergence of (adaptive) finite volume discretizations is studied in [27, 28]; see also [29] for the convergence of a finite volume discretization of a copper-leaching model. In a similar framework, discontinuous Galerkin methods are discussed in [30] and upwind mixed FEM are considered in [31, 32]; combined finite volume-mixed hybrid finite elements are employed in [33, 34].

The primary motivation for the work here is to develop and analyse the appropriate numerical schemes to compute the solution of the Darcy-scale model. Here we assume the flow to be given. Our primary focus is therefore on the convection–diffusion-reaction equation, where the non-linearities are in the reaction term. To avoid dealing with differential inclusions, as the dissolution rate is multi-valued, we use a regularization approach and consider both the semi-discrete and the fully discrete numerical schemes for the resulting (non-linear, but regularized) model. Its solution depends on the regularization parameter. We prove the convergence of the “regularized” solutions to the time-continuous macroscale equations via a limiting procedure, using compactness arguments. Whereas in the case of semi-discrete case, we use translation estimates to improve the convergence needed to deal with the non-linearities, in the fully-discrete case, we use the properties of Lagrange interpolation operator (see [35]) to achieve the required convergence. Of particular relevance to the work presented here are [36], where the convergence of a mixed finite element discretization for the model discussed here is obtained, and [37] where a semi-discrete numerical scheme for pore scale model is considered and the convergence is proved. As in [36], we consider here the upscaled counterpart of the model in [37] and deal with both semi-discrete and fully discrete cases. As a by-product of the convergence proof, we also obtain an alternative proof for existence of solutions for the macroscale equations. The present work is a first step towards an eventual plan to consider both the flow and the reactions coupled together (for example, Richards’ equation coupled with precipitation–dissolution reaction models).

The paper is structured as follows. We begin with a brief description of the model in Sect. 2 where we also define the weak solution of the model. We proceed to define the time-discrete formulation in Sect. 3 where the numerical scheme is analyzed and the convergence is proved. Next, in Sect. 4, we consider the fully discrete formulation and treat the convergence issue. The numerical experiments are shown in Sect. 5 followed by the conclusions and discussions in Sect. 6.

2 The model

The presentation of the precipitation–dissolution model considered here is brief; for details we refer to [79]. It is relevant to mention that despite the simplification of the model under consideration, the challenging mathematical issues are still present here through the particular choice of the dissolution rate.

Let \(\Omega \subset {\mathbb {R}}^2\) be the domain occupied by the porous medium, and assume \(\Omega \) be open, connected, bounded and polygonal with Lipschitz boundary \(\Gamma \). Further, let \(T > 0\) be a fixed but arbitrarily chosen time, and define

$$\begin{aligned} \Omega ^T = (0, T] \times \Omega , \quad {\hbox { and }} \quad \Gamma ^T = (0, T] \times \Gamma . \end{aligned}$$

While the reactions take place between the cations and anions, for the model considered here, we study only one mobile species (cation, though the choice is immaterial). This is justified if the boundary and initial data are compatible (see [8], or [9]). Then, denoting by \(v\) the concentration of the (immobile) precipitate, and by \(u\) the cation concentration, the model reduces to

$$\begin{aligned} \left\{ \begin{array}{rcll} \partial _t (u + v) + \nabla \cdot ({\mathbf {q}} u - \nabla u) &{}=&{} 0, &{}\quad {\hbox { in }}\quad \Omega ^T,\\ u &{}=&{} 0, &{}\quad {\hbox { on }}\quad \Gamma ^T,\\ u &{}=&{} u_I, &{}\quad {\hbox { in }}\quad \Omega , {\hbox { for }} t = 0, \\ \end{array} \right. \end{aligned}$$
(2.1)

for the ion transport, and

$$\begin{aligned} \left\{ \begin{array}{rcll} \partial _t v &{}=&{} (r(u) - w), &{}\quad {\hbox { on }}\quad \Omega ^T, \\ w &{}\in &{} H(v), &{}\quad {\hbox { on }}\quad \Omega ^T, \\ v &{}=&{} v_I, &{}\quad {\hbox { on }}\quad \Omega , {\hbox { for }} t = 0, \end{array} \right. \end{aligned}$$
(2.2)

for the precipitate. The rate of change in the precipitate concentration is the net process of precipitation and dissolution. Here \(\mathbf {q}\) stands for the Darcy fluid velocity. We assume that \(\mathbf {q}\) is a known, divergence free velocity

$$\begin{aligned} \nabla \cdot {\mathbf {q}} = 0 \quad {\hbox {in}} \quad \Omega . \end{aligned}$$

For the ease of presentation we restrict the analysis to homogeneous Dirichlet boundary conditions. The initial data \(u_I\) and \(v_I\) are assumed non-negative and essentially bounded. For simplicity we further assume that both \(u_I, v_I \in H^1_{0}(\Omega ) \), the space of \(H^1\) functions defined on \(\Omega \) and having a vanishing trace on \(\Gamma \).

All quantities and variables in the above are assumed dimensionless. The diffusion is assumed 1, the extension to a positive definite diffusion tensor being straightforward and has no influence on the convergence result here, which is based on compactness arguments. However, if error estimates would have been available (as in the situation when the rates are Lipschitz continuous), the diffusion coefficient would affect directly the constant in the error estimate, but not the convergence order. Similarly, for a positive definite diffusion tensor, one has to use first its Schur decomposition and redefine an (equivalent) norm of the gradient. The singular values influence again the constant in the error estimates. Such issues become important, e.g., in transport dominated regimes, as considered in [14, 38]. Of course, from a practical point of view the efficiency of the numerical scheme would suffer, and one would need to consider appropriate (like upwind, see e.g. [31, 39, 40]) schemes. However, dealing with such aspects is beyond the aim of this contribution. Further, we assume that the Damköhler number is scaled to 1, as well as an eventual factor in the time derivative of \(v\) in (2.1)\(_1\), appearing in the transition (homogenization) from the pore scale to the core scale. For the precipitation rate \(r\) we assume

  1. (A1)

    \( r(\cdot ): {\mathbb {R}} \rightarrow [0,\infty ) {\hbox { is locally Lipschitz continuous in }} {\mathbb {R}}\).

  2. (A2)

    There exists a unique \(u_* \ge 0\), such that

    $$\begin{aligned} r(u) = \left\{ \begin{array}{lll} 0 \quad {\hbox {for}} \quad u \le u_*,\\ {\hbox { strictly increasing for}} \quad u \ge u_* \quad {\hbox {with}} \quad r(\infty ) = \infty . \end{array} \right. \end{aligned}$$
    (2.3)

The dissolution rate has a particular structure. It is assumed constant (1, by scaling) at some \((t, x) \in \Omega ^T\) where the precipitate is present, i.e. if \(v(t, x) > 0\). In the absence of the precipitate, the overall rate (precipitate minus dissolution) is either zero if the solute present there is insufficient to produce a net precipitation gain, or positive in case the solute exceeds certain threshold value. In the presence of the precipitate, the dissolution strength is constant as it is a surface process. Further, the absence of net precipitation gain under insufficient amount of solutes being present is related to the time-scale of observation. The derivation of the precipitation–dissolution is based on chemical kinetics and the ideas of solubility product for the crystals. For further discussions and derivation of this model, we refer to [7, 10]. For the dissolution process, the rate law can be summarized as

$$\begin{aligned} w \in H(v), \quad {\hbox { where}} \quad H(v) = \left\{ \begin{array}{ll} \{0\}, &{}\quad {\hbox {if}} \quad v<0,\\ {[0,1]}, &{}\quad {\hbox {if}} \quad v =0,\\ \{1\}, &{}\quad {\hbox {if}} \quad v >0. \end{array} \right. \end{aligned}$$
(2.4)

Remark 2.1

Introducing the dissolution rate as above must be completed by a choice of a value \(w \in [0, 1]\) at locations where precipitate is absent. As suggested by the existence result for the pore scale model in [11], for a.e. \((t, x) \in \Omega ^T\) where \(v(t, x)=0\), the dissolution rate \(w\) is chosen to satisfy \(w(t,x) = \min \{1, r(u(t, x))\}\) (see also [41] for details).

Remark 2.2

Since the precipitation rate \(r\) is monotonically increasing, under the setting above, a unique \(u^*\) exists for which \(r(u^*) = 1\). Then \(u^*\) can be interpreted as an equilibrium value: within an open set \(A\subset \Omega ^T\) where \(u = u^*\), no precipitation or dissolution occurs, and the precipitation rate is balanced by the dissolution rate regardless of the presence or absence of crystals. Then, as follows from [7, 11],

$$\begin{aligned} w = 1 \quad \mathrm{{ a.e. \ in }}\quad A. \end{aligned}$$

Remark 2.3

The upscaled model under discussion, proposed originally in [7] (see also [810]), can be obtained by homogenization techniques, starting from its pore scale counterpart in [11].

We emphasize on the particularity of the present model, which is in the description of the dissolution and precipitation processes, involving a multi-valued dissolution rate. Clearly, classical solutions do not exist, except for some particular cases. Therefore we resort to defining appropriate weak solutions. We consider the conformal weak formulation, obtained formally by multiplying the equations (2.1, 2.2) by smooth test functions and using partial integration. We give the exact definition in Sect. 2.2.

2.1 Notations and assumptions

We adopt the following standard notations from the functional analysis. By \((\cdot ,\cdot )\) we mean \(L^2(\Omega )\) inner product or the duality pairing between \(H_{0}^1\) and \(H^{-1}\); the \(L^2(\Omega ^T)\) inner product is denoted by \((\cdot ,\cdot )_{\Omega ^T}\). Further, \(\Vert \cdot \Vert \) stands for the norms induced by \(L^2\) inner product, \(L^2(0,T;X)\) denotes the usual Bochner spaces for a given Banach space \(X\). For other norms, we explicitly state it. Furthermore, \(C\) denotes the generic constant and the value of which might change from line to line and is independent of unknown variables or the discretization parameters. Let \(L_r\) denote the Lipschitz constant of \(r\) and \(\Vert {\mathbf {q}}\Vert _{L^\infty (\Omega )} \le M_q\) where \(M_q\) is known.

We assume \(\Omega \subset {\mathbb {R}}^2\) to be polygonal and define the following sets

$$\begin{aligned} \begin{array}{l} {\mathcal U}:= \{u \in L^2((0, T); H^1_{0}(\Omega )) \hbox {{ : }} \partial _t u \in L^2((0, T); H^{-1}(\Omega )) \}, \\ {\mathcal V}:= \{v \in H^1((0, T); L^2(\Omega )) \}, \\ {\mathcal W}\!:= \{w \in L^\infty (\Omega ^T) \hbox {{ : }} 0 \le w \le 1 \}. \end{array} \end{aligned}$$

Since \(\Omega \) is polygonal, it has a regular decomposition into triangles and the errors due to nonpolygonal domains are avoided. Let \({\mathcal {T}}_h\) be a regular decomposition of \(\Omega \) into closed triangles; \(h\) stands for the mesh-size. For the fully discrete situation, we will use the discrete subspace \({\mathcal {U}}_h \subset H_{0}^1(\Omega )\) defined as

$$\begin{aligned} \begin{array}{rcl} {\mathcal {U}}_h&:= \{\theta \in C(\bar{\Omega })\; |\; \theta \; \in {\mathcal {P}}_1({T}), \quad T \in {\mathcal {T}}_h, {\hbox { and }}\,\, \theta = 0 {\hbox { on }} \partial \Omega \}, \end{array} \end{aligned}$$

where \({\mathcal {P}}_1({T})\) is the space of first order polynomials in two variables, defined on a triangle \(T\). In other words, \({\mathcal {U}}_h\) denotes the space of piecewise linear functions. Recall that \({\mathcal {U}}_h \subset H^1_{0}(\Omega )\) (see [42], p. 64). We also define the following projection:

$$\begin{aligned} P_h : L^2(\Omega ) \mapsto {\mathcal {U}}_h, ( P_h \theta - \theta ,\psi _h ) = 0, \end{aligned}$$
(2.5)

for all \(\psi _h \in {\mathcal {U}}_h\). Note that \(P_h\) satisfies ( see [42], p. 138)

$$\begin{aligned} \Vert P_h \theta - \theta \Vert \le C h \Vert \nabla \theta \Vert , \end{aligned}$$
(2.6)

for all \(\theta \in H^1_0(\Omega )\), for some \(C > 0\) not depending on \(\theta \).

Moreover, let \({\mathbf {q}}_h\) be the discrete approximation of \(\mathbf {q}\). We assume \(\nabla \cdot {\mathbf {q}}_h =0\) with

$$\begin{aligned} \Vert {\mathbf {q}}-{\mathbf {q}}_h\Vert \searrow 0 \end{aligned}$$

as \(h \searrow 0\). Further, we assume that \({\mathbf {q}}_h\) also obeys the maximum principle so that \(\Vert {\mathbf {q}}_h\Vert _{L^\infty (\Omega )} \le M_q\).

2.2 The weak formulation

We start with the definition of a weak solution for (2.12.2).

Definition 2.1

A triple \((u,v,w) \in {\mathcal {U}} \times {\mathcal {V}} \times {\mathcal {W}}\) is a weak solution of (2.1) and (2.2) if \( (u_{|t =0}, v_{|t =0}) = (u_I,v_I)\), and for all \((\phi ,\theta ) \in L^2(0,T,H_{0}^1(\Omega )) \times L^2(0,T;L^2(\Omega )\))

$$\begin{aligned} \begin{array}{rll} (\partial _t u + \partial _t v, \phi )_{\Omega ^T} + (\nabla u, \nabla \phi )_{\Omega ^T} - (\mathbf {q} u, \nabla \phi )_{\Omega ^T}&{}=&{} 0, \\ (\partial _t v, \theta )_{{\Omega ^T }} - \left( r(u)- H(v), \theta \right) _{{\Omega ^T}} &{}=&{} 0, \\ w &{}\in &{} H(v), \hbox { a.e. in } \Omega ^T, \end{array} \end{aligned}$$
(2.7)

with the choice \(w = \min \{1, r(u)\}\) a.e. in \(\Omega ^T\) where \(v = 0\).

The particular choice of the dissolution rate \(w\) at points where \(v=0\) is discussed in Remark 2.1. The existence of a weak solution is proved in Theorems 3.10 and 4.8 below. Alternatively, one can obtain the existence as an outcome of the rigorous homogenization procedure, starting from the model at the pore scale. The uniqueness follows by standard contraction arguments. This is summarized in the following

Theorem 2.2

There exists a unique solution of (2.7) in the sense of Definition 2.1.

Below we prove the convergence of an Euler semi-implicit finite element approximation of the weak solution in Definition 2.1. We start with time-discrete formulation which we refer to as semi-discrete scheme. This provides a good understanding of the mathematical issues encountered in the convergence proofs and prepares the fully-discrete case, where additional issues are encountered due to the projection of the \(H^1\) space onto the finite element space. Quite often, the proofs in the latter case follow the same line of arguments as in the semi-discrete case. In some cases, the results can be directly borrowed; wherever important differences are encountered, these will be commented on below.

3 The semi-discrete scheme

Before defining the time-discretization, let us note the presence of a multi-valued rate in (2.7)\(_3\), which impedes obtaining a priori estimates. Therefore we consider a regularized approximation of the original model (and pass later to the limit). We make sure that the estimates are independent of the regularization parameter, which is essential for passing to the limit. With \(\delta >0\), define the regularized Heaviside function

$$\begin{aligned} H_\delta (v) = \left\{ \begin{array}{ll} {0}, &{} \quad {\hbox {if}} \quad v<0,\\ {\frac{v}{\delta }}, &{}\quad {\hbox {if}} \quad 0 \le v \le \delta ,\\ {1}, &{}\quad {\hbox {if}} \quad v >\delta . \end{array} \right. \end{aligned}$$
(3.1)

We use this to introduce the time-discrete scheme. This requires solving at each time \(t_n\) a system introduced below as Problem \({\mathbf {P}}_\delta ^n\); the subscript is stressing the dependence on the regularization parameter \(\delta \). This gives a sequence of time discrete solutions, which we interpolate in time to obtain a \(\delta \)-indexed family of functions. Then we use \(\delta \) and discretization parameter independent a priori estimates to obtain a (weakly) convergent sequence of time interpolants. In the wake of non-linearities involved, we need to improve the convergence, which is obtained by translation estimates in the semi-discrete situation.

Let \(N \in {\mathbb {N}}\) be a given natural number defining a (constant) time step \(\tau = \frac{T}{N}\). With \(t_n = n \tau , n = 1,\ldots ,N\), we consider a uniform time stepping that is implicit in \(u\) and explicit in \(v\). Starting with \(u_\delta ^0 = u_I, v_\delta ^0 = v_I\), with \(n \in \{ 1, \ldots , N\}\), the approximation \((u_\delta ^n, v_\delta ^n)\) of \((u(t_n), v(t_n))\) solves

Problem \({\mathbf {P}}_\delta ^n:\) Given \((u_\delta ^{n-1}, v_\delta ^{n-1}) \in H_{0}^1(\Omega ) \times L^2(\Omega ) \), find \((u_\delta ^n, v_\delta ^n) \in H_{0}^1(\Omega ) \times L^2(\Omega )\) such that

$$\begin{aligned}&\left( \frac{u^{n}_\delta -u^{n-1}_\delta }{\tau }, \phi \right) + (\nabla u^{n}_\delta , \nabla \phi ) - (\mathbf {q} u^{n}_\delta , \nabla \phi ) + \left( \frac{v^{n}_\delta - v^{n-1}_\delta }{\tau }, \phi \right) = 0\nonumber \\&\left( \frac{v^{n}_\delta -v^{n-1}_\delta }{\tau }, \theta \right) = \left( r (u^{n}_\delta ) - H_\delta (v^{n-1}_\delta ),\theta \right) , \end{aligned}$$
(3.2)

for all \(\phi \in H_{0}^1(\Omega ), \theta \in L^2(\Omega )\). For completeness, we define

$$\begin{aligned} w_\delta ^n := H_\delta (v_\delta ^n). \end{aligned}$$

For stability reasons, we choose \(\delta = O(\tau ^\frac{1}{2})\). In particular, this choice provides the result in Lemma 3.8; details about this choice are also provided in [37]. Nevertheless, numerical computations reported in [19] suggest that practically it is sufficient to choose \(\delta = C\tau \) with \(C > 1\).

Problem \({\mathbf {P}}_\delta ^n\) is a system of elliptic equations for \(u^{n}_\delta , v^{n}_\delta \) given \(u^{n-1}_\delta \in H_{0 }^1(\Omega ), v^{n-1}_\delta \in L^2(\Omega )\). Note that the first equation is decoupled from the second equation since it can be written in the form

$$\begin{aligned} \left( \frac{u^{n}_\delta -u^{n-1}_\delta }{\tau }, \phi \right) + ( \nabla u^{n}_\delta , \nabla \phi ) - ({\mathbf {q}} u^{n}_\delta , \nabla \phi ) +\left( r(u^{n}_\delta )-H_\delta (v^{n-1}_\delta ), \phi \right) = 0. \end{aligned}$$

The reaction term \(r\) being Lipschitz and increasing, standard monotonicity arguments can be used to show the existence and uniqueness of \(u^{n}_\delta \) given \(u^{n-1}_\delta \) [43]. After \(u^{n}_\delta \) is computed, \(v^{n}_\delta \) is obtained explicitly from (3.2)\(_2\). We summarize this into:

Lemma 3.1

Problem \({\mathbf {P}}^n_\delta \) has a unique solution pair \((u^{n}_\delta ,v^{n}_\delta )\).

For the continuous formulation (2.7), the solutions \(u\) and \(v\) are expected to be positive and essentially bounded. Here we prove this property for the time-discrete formulation. With \(M_u :=\max \{\Vert u_I\Vert _{L^\infty },u^*\}\), \(M_v := \Vert v_I\Vert _{L^\infty }\), we note that \(r(M_u) \ge 1\). We start with the positivity of the solution pair \((u^{n}_\delta ,v^{n}_\delta )\).

Lemma 3.2

If \(u^{n-1}_\delta \) and \(v^{n-1}_\delta \) are non-negative, then the same holds for \(u^{n}_\delta \) and \(v^{n}_\delta \).

Proof

First we consider \(v^{n}_\delta \). With \([\cdot ]_{-} \) denoting the non-positive part, we take \(\theta = [v^{n-1}_\delta ]_{-}\) in (3.2)\(_2\) to get

$$\begin{aligned} \Vert [v^{n}_\delta ]_{-}\Vert ^2 = \left( v^{n-1}_\delta , [v^{n}_\delta ]_{-}\right) + \tau \left( r(u^{n}_\delta )-H_\delta (v^{n-1}_\delta ), [v^{n}_\delta ]_{-}\right) . \end{aligned}$$

By assumption, \(v^{n-1}_\delta \ge 0,\, \delta = O(\tau ^{\frac{1}{2}})\) and \(r(u^{n}_\delta ) \ge 0\), yielding

$$\begin{aligned} v^{n-1}_\delta - \tau H_\delta (v^{n-1}_\delta ) \ge v^{n-1}_\delta (1-\tau /\delta ) \ge 0. \end{aligned}$$

Therefore \( \Vert [v^{n}_\delta ]_{-}\Vert ^2 \le 0 \) implying \(v^{n}_\delta \ge 0\).

Next we prove that \(u^{n}_\delta \) is non-negative. For \(\phi = [u^{n}_\delta ]_{-}\) in (3.2)\(_1\)

$$\begin{aligned} \Vert [u^{n}_\delta ]_{-}\Vert ^2\!+\!\tau \Vert \nabla [u^{n}_\delta ]_{-}\Vert ^2\!-\!\tau \left( {\mathbf {q}} u^{n}_\delta , \nabla [u^{n}_\delta ]_{-}\right) \!+\! \left( v^{n}_\delta -v^{n-1}_\delta , [u^{n}_\delta ]_{-}\right) \!\le \! \left( u^{n-1}_\delta ,[u^{n}_\delta ]_{-}\right) . \end{aligned}$$

The first two terms are non-negative, whereas the third term vanishes:

$$\begin{aligned} ({\mathbf {q}} u^{n}_\delta ,\nabla [u^{n}_\delta ]_{-}) = \frac{1}{2}\left( {\mathbf {q}}, \nabla [u^{n}_\delta ]^2_{-}\right) = \frac{1}{2}\left( \nu \cdot {\mathbf {q}}, [u^{n}_\delta ]^2_{-}\right) _{\Gamma } -\frac{1}{2} \left( \nabla \cdot {\mathbf {q}}, [u^{n}_\delta ]_{-}^2\right) = 0, \end{aligned}$$

by the boundary conditions for \(u_\delta ^n\) on \(\Gamma \) and since \(\nabla \cdot \mathbf {q} =0\) in \(\Omega \). Further, by (3.2)\(_2\)

$$\begin{aligned} \left( v^{n}_\delta -v^{n-1}_\delta , [u^{n}_\delta ]_{-}\right) \!=\! \tau \left( r(u^{n}_\delta )\!-\!H_\delta (v^{n-1}_\delta ),[u^{n}_\delta ]_{-}\right) \!=\! -\tau \left( H_\delta (v^{n-1}_\delta ),[u^{n}_\delta ]_{-}\right) \ge 0, \end{aligned}$$

where we have used Assumption (A2), ensuring that \(r(u)\ u = 0\) for all negative \(u\), and the positivity of \(H_\delta \). Since \(u^{n-1}_\delta \ge 0\), we obtain \(u^{n}_\delta \ge 0\). \(\square \)

The next lemma provides an upper bound (uniformly w.r.t. \(n\) and \(\delta \)) for the concentration \(u_\delta ^n\); its proof is based on a simple induction argument.

Lemma 3.3

If \(u^{n-1}_\delta \le M_u\) then \(u^{n}_\delta \le M_u\).

Proof

Test (3.2)\(_1\) with \(\phi = [u^{n}_\delta -M_u]_{+}\) (the non-negative part of \(u^{n}_\delta -M_u\)) to obtain

$$\begin{aligned}&\Vert [u^{n}_\delta -M_u]_{+}\Vert ^2 + \tau \Vert \nabla [u^{n}_\delta -M_u]_{+}\Vert ^2-\tau (\mathbf {q} u^{n}_\delta , \nabla [u^{n}_\delta -M_u]_{+})\nonumber \\&\quad + (v^{n}_\delta -v^{n-1}_\delta , [u^{n}_\delta -M_u]_{+}) \le (u^{n-1}_\delta -M_u,[u^{n}_\delta -M_u]_{+}). \end{aligned}$$
(3.3)

As before, the third term vanishes. Further observe that \(r(u^{n}_\delta )-H_\delta (v^{n-1}_\delta ) \ge 0 \) wherever \(u^{n}_\delta \ge M_u\), implying

$$\begin{aligned} (v^{n}_\delta -v^{n-1}_\delta , [u^{n}_\delta -M_u]_{+}) = (r(u^{n}_\delta )-H_\delta (v^{n-1}_\delta ),[u^{n}_\delta -M_u]_{+}) \ge 0. \end{aligned}$$

Finally, since \(u^{n-1}_\delta -M_u \le 0\) one gets \((u^{n-1}_\delta -M_u,[u^{n}_\delta -M_u]_{+}) \le 0, \) which concludes the proof. \(\square \)

As \(v\) satisfies an ordinary differential equation having no equilibria, no uniform (time independent) upper bound can be expected for the precipitate concentration. In this spirit, the time discrete \(v_\delta ^n\) still satisfies upper bounds, but increasing with \(n \tau \):

Lemma 3.4

Let \(C = \frac{L_r M_u}{M_v}\) and assume that \(v^{n-1}_\delta \le M_ve^{C(n-1)\tau }\), then \(v^{n}_\delta \le M_ve^{Cn\tau }\).

Proof

We use \(\theta :=[v^{n}_\delta -M_ve^{Cn\tau }]_{+}\) in (3.2)\(_2\) to obtain

$$\begin{aligned} \Vert [v^{n}_\delta -M_ve^{Cn\tau }]_{+}\Vert ^2&= \left( v^{n-1}_\delta -M_ve^{C(n-1)\tau }, [v^{n}_\delta -M_ve^{Cn\tau }]_{+} \right) \nonumber \\&\quad + M_v \left( e^{C(n-1)\tau }-e^{Cn\tau },[v^{n}_\delta -M_ve^{Cn\tau }]_{+} \right) \nonumber \\&\quad \times \tau \left( r(u^{n}_\delta )-H_\delta (v^{n-1}_\delta ),[v^{n}_\delta -M_ve^{Cn\tau }]_{+} \right) . \end{aligned}$$
(3.4)

Since \(r(u^{n}_\delta )\) is Lipschitz and \(H_\delta (\cdot )\) is positive, one has

$$\begin{aligned} \tau \left( r(u^{n}_\delta )-H_\delta (v^{n-1}_\delta ),[v^{n}_\delta -M_ve^{Cn \tau }]_{+} \right) \le \tau (C M_v, [v^{n}_\delta -M_ve^{Cn\tau }]_{+}), \end{aligned}$$

and

$$\begin{aligned} M_v \left( e^{C(n-1)\tau }-e^{Cn\tau },[v^{n}_\delta -M_ve^{Cn\tau }]_{+} \right) \le M_v \left( 1-e^{C\tau },[v^{n}_\delta -M_ve^{Cn\tau }]_{+} \right) . \end{aligned}$$

Here, we have used \(e^{C(n-1)\tau } \ge 1\). Next, since \(1+x \le e^x \) for any \(x \ge 0\),

$$\begin{aligned}&\tau \left( C M_v, [v^{n}_\delta -M_ve^{Cn\tau }]_{+} \right) + M_v \left( 1-e^{C\tau },[v^{n}_\delta -M_ve^{Cn\tau }]_{+} \right) \\&\quad \le M_v \left( C \tau + 1-e^{C \tau } ,[v^{n}_\delta - M_v e^{Cn\tau }]_{+} \right) \le 0. \end{aligned}$$

Recalling the assumption on \(v^{n-1}_\delta \), we have \( \left( v^{n-1}_\delta \!-\!M_ve^{C(n-1)\tau }, [v^{n}_\delta \!-\!M_ve^{Cn\tau }]_{+} \right) \le 0 \). Using this in (3.4), we conclude that

$$\begin{aligned} \Vert [v^{n}_\delta -M_ve^{Cn\tau }]_{+}\Vert ^2 \le 0, \end{aligned}$$

which proves the conclusion. \(\square \)

Remark 3.1

As \(n \tau = t_n \le T\), the estimates shown above are independent of \(\delta \) and \(\tau \).

3.1 Stability estimates

With the pointwise bounds for the Problem \({\mathbf {P}}_\delta ^n\) already established, we proceed to obtain stability estimates. These estimates will be used later for compactness arguments and are similar to those for parabolic equations, but here restricted to discrete time steps. We have:

Lemma 3.5

A constant \(C\) independent of \(\tau \) and \(\delta \) exists s.t. the following estimates hold

$$\begin{aligned}&\displaystyle \max _{n=1, \ldots , N} \Vert v^{n}_\delta \Vert \le \Vert v_I\Vert + C r(M_u), \end{aligned}$$
(3.5)
$$\begin{aligned}&\displaystyle \max _{n=1, \ldots , N} \Vert v^{n}_\delta -v^{n-1}_\delta \Vert + \sum _{n=1}^N \Vert u^{n}_\delta -u^{n-1}_\delta \Vert ^2 \le C \tau , \end{aligned}$$
(3.6)
$$\begin{aligned}&\displaystyle \sum _{n=1}^N \Vert \nabla (u^{n}_\delta -u^{n-1}_\delta )\Vert ^2 + \tau \sum _{n=1}^{N} \Vert \nabla u^{n}_\delta \Vert ^2\le C. \end{aligned}$$
(3.7)

Proof

To prove (3.5) we choose the test function \(\phi = v^{n}_\delta \) in (3.2)\(_2\) to obtain

$$\begin{aligned} (v^{n}_\delta -v^{n-1}_\delta ,v^{n}_\delta ) = \tau \left( r(u_\delta ^n)-H_\delta (v^{n-1}_\delta ),v^{n}_\delta \right) . \end{aligned}$$

Using Cauchy–Schwarz inequality, monotonicity of \(r\) and \(H_\delta , v_\delta ^n \ge 0\), this gives

$$\begin{aligned} \Vert v^{n}_\delta \Vert ^2 \le \Vert v^{n}_\delta \Vert \left( \Vert v^{n-1}_\delta \Vert + C \tau r(M_u)\right) . \end{aligned}$$

Dividing in the above by \(\Vert v^{n}_\delta \Vert \) (the case \(\Vert v^{n}_\delta \Vert = 0\) being trivial) and summing the resulting over \(n\) gives (3.5).

To prove the first part of (3.6), we take \(\theta = v_\delta ^n - v_\delta ^{n-1}\) into (3.2)\(_2\) and obtain

$$\begin{aligned} \Vert v^{n}_\delta \!-\!v^{n-1}_\delta \Vert ^2 \!=\! \tau \left( r(u_\delta ^n)\!-\!H_\delta (v^{n}_\delta ),v^{n}_\delta \!-\!v^{n-1}_\delta \right) \!\le \! \tau ^2 \frac{1}{2} (r(M_u))^2\!+\!\frac{1}{2}\tau ^2\!+\! \frac{1}{2} \Vert v^{n}_\delta \!-\!v^{n-1}_\delta \Vert ^2, \end{aligned}$$

providing immediately the first part of (3.6).

For second part of (3.7) we choose \(\phi = u^{n}_\delta \) in (3.2)\(_1\) to obtain

$$\begin{aligned} (u^{n}_\delta -u^{n-1}_\delta ,u^{n}_\delta )+\tau \Vert \nabla u^{n}_\delta \Vert ^2 - \tau (\mathbf {q} u^{n}_\delta ,\nabla u^{n}_\delta ) + (v^{n}_\delta -v^{n-1}_\delta , u^{n}_\delta ) = 0, \end{aligned}$$

which gives

$$\begin{aligned} \frac{1}{2} \left( \Vert u^{n}_\delta \Vert ^2 - \Vert u^{n-1}_\delta \Vert ^2 + \Vert u^{n}_\delta -u^{n-1}_\delta \Vert ^2 \right) + \tau \Vert \nabla u^{n}_\delta \Vert ^2&\le \Vert v^{n}_\delta -v^{n-1}_\delta \Vert \Vert u^{n}_\delta \Vert \le C\tau . \end{aligned}$$

A summation over \(n = 1,\ldots ,k\) (\(k \le N\) being arbitrary) leads to

$$\begin{aligned} \frac{1}{2} \Vert u_\delta ^k\Vert ^2 + \frac{1}{2}\sum _{n=1}^k \Vert u^{n}_\delta -u^{n-1}_\delta \Vert ^2 + \tau \sum _{n=1}^k \Vert \nabla u^{n}_\delta \Vert ^2 \le \frac{1}{2} \Vert u_I\Vert ^2 + C \le C. \end{aligned}$$

This gives straightforwardly the desired bound.

For the remaining estimates we take \(\phi = u^{n}_\delta -u^{n-1}_\delta \) in (3.2)\(_1\) and obtain

$$\begin{aligned}&\Vert u^{n}_\delta -u^{n-1}_\delta \Vert ^2 +\tau \left( \nabla u^{n}_\delta , \nabla (u^{n}_\delta -u^{n-1}_\delta )\right) + \tau \left( {\mathbf {q}} u^{n}_\delta ,\nabla (u^{n}_\delta -u^{n-1}_\delta ) \right) \\&\quad + (v^{n}_\delta -v^{n-1}_\delta , u^{n}_\delta -u^{n-1}_\delta ) = 0. \end{aligned}$$

The terms on the left hand side can be estimated by

$$\begin{aligned} \tau (\nabla u^{n}_\delta , \nabla (u^{n}_\delta -u^{n-1}_\delta ))&= \tau \frac{1}{2} \left( \Vert \nabla u^{n}_\delta \Vert ^2 - \Vert \nabla u^{n-1}_\delta \Vert ^2 + \Vert \nabla (u^{n}_\delta -u^{n-1}_\delta )\Vert ^2 \right) ,\\ \tau \left| (\nabla \cdot (\mathbf {q} u^{n}_\delta ), (u^{n}_\delta -u^{n-1}_\delta ) )\right|&\le \frac{\tau ^2 M_q^2 \Vert \nabla u^{n}_\delta \Vert ^2}{2} + \frac{1}{2} \Vert u^{n}_\delta -u^{n-1}_\delta \Vert ^2,\\ \left| (v^{n}_\delta -v^{n-1}_\delta , u^{n}_\delta -u^{n-1}_\delta )\right|&\le \left( \Vert v^{n}_\delta -v^{n-1}_\delta \Vert ^2+ \frac{1}{4} \Vert u^{n}_\delta -u^{n-1}_\delta \Vert ^2 \right) \\&\le {C \tau ^2} + \frac{1}{4}\Vert u^{n}_\delta -u^{n-1}_\delta \Vert ^2, \end{aligned}$$

where for the last line we have used the inequality for \(v_\delta ^n\) in (3.6). As above, summing over \(n = 1, \dots , k\) (with \(k \le N\) arbitrary) leads to

$$\begin{aligned}&\frac{1}{4} \sum _{n=1}^k \Vert u^{n}_\delta -u^{n-1}_\delta \Vert ^2 + \tau \Vert \nabla u_\delta ^k\Vert ^2 + \tau \sum _{n=1}^k \Vert \nabla (u^{n}_\delta -u^{n-1}_\delta )\Vert ^2 \\&\quad \le C \tau +C M_q^2 \tau + \tau \Vert \nabla u_I\Vert ^2 \le C\tau , \end{aligned}$$

and the proof is concluded. \(\square \)

3.2 The convergence

Here we consider the sequence of time discrete \((u^{n}_\delta ,v^{n}_\delta ,w_\delta ^n)\) solving problem \(\mathbf {P}_\delta ^n\), and construct a time continuous approximation by taking linear interpolation. For each \(N\) and \(\tau = T/N\) we define,

$$\begin{aligned} U^\tau (t)&:= u^{n}_\delta \frac{(t-t_{n-1})}{\tau } + u^{n-1}_\delta \frac{(t_n-t)}{\tau },\end{aligned}$$
(3.8)
$$\begin{aligned} V^\tau (t)&:= v^{n}_\delta \frac{(t-t_{n-1})}{\tau } + v^{n-1}_\delta \frac{(t_n-t)}{\tau },\end{aligned}$$
(3.9)
$$\begin{aligned} W^\tau (t)&:= H_\delta (V^\tau (t)). \end{aligned}$$
(3.10)

Note that the index \(\delta \) is suppressed (for the ease of writing) as we assume here that the regularization parameter and the time step are related (by \(\delta = O(\tau ^{\frac{1}{2}})\)). We have introduced in fact a sequence of triples \(\{(U^\tau , V^\tau , W^\tau )\}_{N \in {\mathbb N}}\), for which we use compactness arguments and identify limit points, which are weak solutions as introduced in Definition 2.1. To this aim we use the estimates in (3.53.7) and prove

Lemma 3.6

A constant \(C > 0\) independent of \(\tau \) and \(\delta \) exists s.t. the following estimates hold:

$$\begin{aligned}&\displaystyle 0 \le U^\tau \le M_u,0 \le V^\tau \le M_ve^{CT}, 0\le W^\tau \le 1 \end{aligned}$$
(3.11)
$$\begin{aligned}&\displaystyle \Vert U^\tau \Vert ^2+\Vert V^\tau \Vert ^2 \le C,\end{aligned}$$
(3.12)
$$\begin{aligned}&\displaystyle \Vert \partial _t U^\tau \Vert ^2+\Vert \nabla U^\tau \Vert ^2+\Vert \partial _t V^\tau \Vert ^2 \le C. \end{aligned}$$
(3.13)

Proof

Clearly, (3.11, 3.12) follow directly from the \(L^\infty \) estimates for \(u^{n}_\delta ,v^{n}_\delta \). We therefore start with the gradient estimates. In view of (3.8),

$$\begin{aligned} \Vert \nabla U^\tau \Vert ^2 \le 2 \Vert \nabla u^{n-1}_\delta \Vert ^2 + 2 \frac{(t-t_{n-1})^2}{\tau ^2} \Vert \nabla (u^{n}_\delta - u^{n-1}_\delta )\Vert ^2, \end{aligned}$$

which can be integrated over \(t\) to obtain

$$\begin{aligned} \int \limits _0^T \Vert \nabla U^\tau \Vert ^2 dt&\le \sum _{n=1}^N 2 \int \limits _{t_{n-1}}^{t_n} \Vert \nabla u^{n-1}_\delta \Vert ^2dt \!+\! 2 \sum _{n=1}^N\,\, \int \limits _{t_{n-1}}^{t_n} \frac{(t-t_{n-1})^2}{\tau ^2} \Vert \nabla (u^{n}_\delta \!-\! u^{n-1}_\delta )\Vert ^2 dt, \\&\le \sum _{n=1}^N 2 \tau \Vert \nabla u^{n-1}_\delta \Vert ^2 + \sum _{n=1}^N \frac{2\tau }{3} \Vert \nabla (u^{n}_\delta -u^{n-1}_\delta )\Vert ^2. \end{aligned}$$

The stability estimates in (3.7) provide the gradient estimates in (3.13).

To estimate \(\Vert \partial _t V^\tau \Vert _{L^2(\Omega ^T)}\) we note that for whenever \(t \in (t_{n-1},t_n]\) one has \(\partial _t V^\tau = \frac{v^{n}_\delta -v^{n-1}_\delta }{\tau }\), implying

$$\begin{aligned} \int \limits _0^T \Vert \partial _t V^\tau \Vert ^2 dt \!=\! \sum _{n=1}^N\,\, \int \limits _{t_{n-1}}^{t_n} \Vert \frac{v^{n}_\delta \!-\!v^{n-1}_\delta }{\tau }\Vert ^2 dt \!\le \! \sum _{n=1}^N \tau \Vert \frac{v^{n}_\delta \!-\!v^{n-1}_\delta }{\tau }\Vert ^2 \le CN\tau \!\le \! CT \le C, \end{aligned}$$

where we have used the estimate (3.6).

Finally, the estimates on \(\partial _t U^\tau \) are similar. Observing that \( \partial _t U^\tau = \frac{u^{n}_\delta -u^{n-1}_\delta }{\tau }\) whenever \(t \in (t_{n-1},t_n]\), integrating over \(t\) yields

$$\begin{aligned} \int \limits _0^T \Vert \partial _t U^\tau \Vert ^2 dt \!=\! \sum _{n=1}^N\,\, \int \limits _{t_{n-1}}^{t_n} \Vert \frac{u^{n}_\delta \!-\!u^{n-1}_\delta }{\tau }\Vert ^2 dt \!\le \! \sum _{n=1}^N \tau \Vert \frac{u^{n}_\delta \!-\!u^{n-1}_\delta }{\tau }\Vert ^2 \!\le \! CN\tau \le CT \le C, \end{aligned}$$

where we have used the estimate (3.6). In this way the lemma is proved. \(\square \)

The estimates in Lemma 3.6 are uniform in \(\tau \) and \(\delta \). Furthermore, we have \((U^\tau ,V^\tau ,W^\tau ) \in {\mathcal {U}} \times {\mathcal {V}} \times {\mathcal {W}}\). Clearly, \(\tau \searrow 0\) with \(\delta = O(\tau ^{\frac{1}{2}})\) implies that both \(\delta , \frac{\tau }{\delta } \searrow 0\). By the Eberlein–Smulian and Banach–Alaoglu theorems one has the following convergence result.

Lemma 3.7

There exists a triple \((u, v, w) \in {\mathcal {U}} \times {\mathcal {V}} \times {\mathcal {W}}\) such that along a sequence \(\tau \searrow 0\) one has

  1. 1.

    \( U^\tau \rightharpoonup u \; {\hbox {weakly in}} \; L^2((0,T);H^1_{0 }(\Omega )),\)

  2. 2.

    \( \partial _t U^\tau \rightharpoonup \partial _t u \; \hbox {weakly in} \; L^2((0,T);H^{-1}(\Omega )),\)

  3. 3.

    \( V^\tau \rightharpoonup v \; {\hbox {weakly in}} \; L^2((0,T);L^2(\Omega )),\)

  4. 4.

    \( \partial _t V^\tau \rightharpoonup \partial _t v \; \hbox {weakly in} \; L^2((0,T);L^2(\Omega )),\)

  5. 5.

    \( W^\tau \rightharpoonup w \; \hbox {weakly-star in} \; L^\infty (\Omega ).\)

Having defined the limit triple \((u, v, w)\), it remains to prove that it is a weak solution in the sense of Definition 2.1. We start by noting that the first two convergence results in Lemma 3.7 give the strong convergence (see [44])

$$\begin{aligned} U^\tau \rightarrow u \quad {\hbox {strongly in}} \quad L^2((0,T);L^2(\Omega )). \end{aligned}$$
(3.14)

Further, this lemma only provides a weak convergence for \(V^\tau \). In the wake of nonlinearities, an improved (strong) convergence for \(V^\tau \) is required here as well. This is obtained by showing that, assuming the \(H^1\) regularity of the initial datum, \(V^\tau \) and \(v\) have the same spatial regularity. The proof relies on translation estimates. In this sense, let \(t \in (t_{n-1},t_n] (0 < n \le N) \) be a fixed time and define \(\triangle _\xi \) as the translation operator

$$\begin{aligned} \triangle _\xi f(y,t) = f(y,t)-f(y+\xi ,t). \end{aligned}$$
(3.15)

To prove the translation estimate we fix \(N\) (and hence \(\tau \) and \(\delta \)). We have:

Lemma 3.8

If \(v_I \in H^{1}(\Omega )\) then the following estimate holds

$$\begin{aligned} {\max _{k = 1, \ldots , N} }\left\| \triangle _\xi v_\delta ^k \right\| ^2 + \sum _{n=1}^N \left\| \triangle _\xi (v_\delta ^n -v_\delta ^{n-1})\right\| ^2 \le C \left\| \triangle _\xi v_I \right\| ^2 + C \tau \sum _{n=1}^N \left\| \triangle _\xi u_\delta ^n \right\| ^2. \end{aligned}$$
(3.16)

Proof

For \(\theta = \triangle _\xi v_\delta ^n\) in (3.2)\(_2\), we get

$$\begin{aligned} \left( \triangle _\xi v_\delta ^n \!- \!\triangle _\xi v_\delta ^{n-1}, \triangle _\xi v_\delta ^n \right) \!=\! \tau \left( \triangle _\xi r(u_\delta ^n),\triangle _\xi v_\delta ^n \right) \!-\! \tau \left( \triangle _\xi H_\delta (v_\delta ^{n-1}), \triangle _\xi v_\delta ^n \right) .\qquad \qquad \end{aligned}$$
(3.17)

The last term in the above rewrites

$$\begin{aligned} \left( \triangle _\xi H_\delta (v_\delta ^{n-1}), \triangle _\xi v_\delta ^n \right) \!=\! \left( \triangle _\xi H_\delta (v_\delta ^{n-1}), \triangle _\xi v_\delta ^{n-1} \right) \!+\! \left( \triangle _\xi H_\delta (v_\delta ^{n-1}), \triangle _\xi (v_\delta ^n \!-\! v_\delta ^{n-1}) \right) . \end{aligned}$$

The first term on the right is positive due to the monotonicity of \(H_\delta \). For the left hand side, we use the identity

$$\begin{aligned} \left( \triangle _\xi v_\delta ^n-\triangle _\xi v_\delta ^{n-1}, \triangle _\xi v_\delta ^n \right) = \frac{1}{2} \left( \left\| \triangle _\xi v_\delta ^n \right\| ^2 - \left\| \triangle _\xi v_\delta ^{n-1}\right\| ^2 + \left\| \triangle _\xi (v_\delta ^n - v_\delta ^{n-1})\right\| ^2 \right) . \end{aligned}$$

By the Cauchy–Schwarz inequality, (3.17) becomes

$$\begin{aligned}&\frac{1}{2} \left( \left\| \triangle _\xi v_\delta ^n \right\| ^2 - \left\| \triangle _\xi v_\delta ^{n-1}\right\| ^2 + \left\| \triangle _\xi (v_\delta ^n - v_\delta ^{n-1})\right\| ^2 \right) \\&\quad \le \frac{\tau }{2} \left\| \triangle _\xi r(u_\delta ^n) \right\| ^2 + \frac{\tau }{2} \left\| \triangle _\xi v_\delta ^n \right\| ^2 + \tau ^2 \left\| \triangle _\xi H_\delta (v_\delta ^{n-1}) \right\| ^2 + \frac{1}{4} \left\| \triangle _\xi (v_\delta ^n - v_\delta ^{n-1}) \right\| ^2. \end{aligned}$$

Since \(r\) and \(H_\delta \) are Lipschitz continuous this leads to

$$\begin{aligned}&\left\| \triangle _\xi v_\delta ^n \right\| ^2 - \left\| \triangle _\xi v_\delta ^{n-1} \right\| ^2 + \frac{1}{2} \left\| \triangle _\xi (v_\delta ^n - v_\delta ^{n-1}) \right\| ^2 \nonumber \\&\quad \le L_{{r^{2}}} \tau \left\| \triangle _\xi u_\delta ^n \right\| ^2 + \tau \left\| \triangle _\xi v_\delta ^n \right\| ^2 + \frac{2 \tau ^2}{\delta ^2} \Vert \triangle _{\xi } v_\delta ^{n-1}\Vert ^2. \end{aligned}$$

Summing the above over \(n = 1,\ldots ,k\) (with \(k \le N\) arbitrary) gives

$$\begin{aligned}&\left\| \triangle _\xi v_\delta ^k\right\| ^2 + \frac{1}{2}\sum _{n=1}^k \left\| \triangle _\xi (v_\delta ^n - v_\delta ^{n-1})\right\| ^2 \nonumber \\&\quad \le \left\| \triangle _\xi v_I \right\| ^2\!+\! L_{{r^{2}}} \tau \sum _{n=1}^k \left\| \triangle _\xi u_\delta ^n \right\| ^2 \!+\! \tau \sum _{n=1}^k \left\| \triangle _\xi v_\delta ^n \right\| ^2 \!+\! \sum _{n=1}^k \frac{2\tau ^2}{\delta ^2} \Vert \triangle _{\xi } v_\delta ^{n-1}\Vert ^2. \end{aligned}$$
(3.18)

With \(\delta = O(\sqrt{\tau })\), the conclusion is a direct consequence of the discrete Gronwall inequality. \(\square \)

The translation estimates in Lemma 3.8 above provide the strong convergence of \(V^\tau \):

Lemma 3.9

Along a sequence \(\tau \searrow 0\) one has

$$\begin{aligned} V^\tau \rightarrow v \quad \hbox {strongly in} \quad L^2(0,T; L^2(\Omega )). \end{aligned}$$
(3.19)

Proof

The proof is based on the Riesz–Frechet–Kolmgorov compactness criterion (see e.g. Theorem 4.26 in [45]) and uses translation estimates in space and time. First, let \(\Omega '\) denote an arbitrary compact subset of \(\Omega \) and \(\xi \in (0, dist(\Gamma , \Omega '))\). The strong convergence is tantamount to proving that

$$\begin{aligned} {\mathcal {I}}:= \int _{\Omega '{^T}} |V^\tau (t+h_t,x+\xi ) - V^\tau (t,x)|^2 dx dt \searrow 0 \quad {\hbox {as}} \quad |(h_t,\xi )'| \searrow 0. \end{aligned}$$

Since \(\partial _t V^\tau \) is bounded uniformly in \(L^2(0,T;L^2(\Omega ))\), the estimates for the translation with respect to time are straightforward. We therefore consider the translation with respect to space.

Using the definition of \(V^\tau \), one has

$$\begin{aligned} \triangle _\xi V^\tau = \frac{t_n-t}{\tau } \triangle _\xi v_\delta ^{n-1} + \frac{t- t_{n-1}}{\tau } \triangle _\xi v_\delta ^n. \end{aligned}$$

Squaring and integrating the left hand side over \(\Omega ' \times (0,T)\) gets

$$\begin{aligned} \int _0^T \int _{\Omega '} | \triangle _\xi V^\tau |^2 \le C \tau \sum _{n=1}^N \Vert \triangle _\xi v_\delta ^{n}\Vert ^2. \end{aligned}$$

As in the proof of Lemma 3.8, the right hand side is estimated as

$$\begin{aligned} \int _0^T\int _{\Omega {'}} \left| \triangle _\xi V^\tau (t,x)\right| ^2 dx dt \le C T \tau \sum _{n=1}^N \left\| \triangle _\xi u_\delta ^n \right\| ^2 + C T \left\| \triangle _\xi v_I \right\| ^2. \end{aligned}$$

Before proceeding with the estimates we note that one can use the sequence of time discrete approximations \(u_\delta ^n\) (\(n = 1,\ldots ,N\)) to define the piecewise constant interpolation \(\bar{U}^\tau : [0, T] \rightarrow L^2(0, T; H^1_0(\Omega ))\), \(\bar{U}^\tau (t) = u_\delta ^n\) if \(t \in [t_{n-1},t_n)\). With this we exploit a general result (for example, see [46]) which connects the convergence of piecewise linear interpolations (here \(U^\tau \), which converges strongly to \(u\) in \(L^2(0,T;L^2(\Omega ))\)) with that of the piecewise constant interpolations. We therefore obtain that \(\bar{U}^\tau \) converges strongly to \(u\) in \(L^2(0,T;L^2(\Omega ))\) as well, and therefore the space translations are controlled (see [45], Chapter 4), namely

$$\begin{aligned} \tau \sum _{n=1}^N \left\| \triangle _\xi \bar{U}^\tau \right\| ^2 \searrow 0 \quad {\hbox {as}} \quad |\xi |\searrow 0. \end{aligned}$$

Furthermore, since the initial conditions are in \(H^1(\Omega )\), \(\left\| \triangle _\xi v_I \right\| ^2 \searrow 0\) as \(|\xi | \searrow 0\). With this, \( {\mathcal {I}} \searrow 0 \quad {\hbox {as}} \quad |\xi | \searrow 0\) which proves the strong convergence of \(V^\tau \). \(\square \)

Having established the strong convergence for \(V^\tau \), we can now show that the limit triple \((u,v,w)\) in Lemma 3.7 is a weak solution of (2.1, 2.2):

Theorem 3.10

The limit triple \((u,v,w)\) is a weak solution in the sense of Definition 2.1.

Proof

By the weak convergence, the estimates in Lemma 3.6 carry over for the limit triple \((u,v,w)\). Moreover,

$$\begin{aligned}&\int \limits _0^T(\partial _t U^\tau , \phi ) dt +\int \limits _0^T (\nabla U^\tau , \nabla \phi )dt + \int \limits _0^T({\mathbf {q}} \cdot \nabla U^\tau , \phi )dt + \int \limits _0^T(\partial _t V^\tau ,\phi )dt \\&\quad = \sum _{n=1}^N \,\, \int _{t_{n-1}}^{t_n} ((\nabla U^\tau -\nabla u^{n}_\delta ),\nabla \phi ) dt + \sum _{n=1}^N \,\, \int \limits _{t_{n-1}}^{t_n} ({\mathbf {q}} \cdot (\nabla U^\tau - \nabla u_\delta ^n),\phi )dt, \end{aligned}$$

for all \(\phi \in L^2(0,T;H^1_{0 }(\Omega ))\). By Lemma 3.7, the left hand side converges to the desired limit. We are thus required to show that the terms on the right, denoted by \({\mathcal {I}}_1\) and \({\mathcal {I}}_2\), are vanishing with \(\tau \searrow 0\). This is a direct consequence of (3.7), as

$$\begin{aligned} |{\mathcal {I}}_1|&\le \tau ^{\frac{1}{2}} \left( C \sum _{n=1}^N \Vert \nabla u^{n}_\delta -\nabla u^{n-1}_\delta \Vert ^2 \right) ^{\frac{1}{2}} \left( \int _0^T \Vert \nabla \phi \Vert ^2 dt \right) ^{\frac{1}{2}}, \quad {\hbox { and }}\\ |{\mathcal {I}}_2|&\le \tau ^{\frac{1}{2}} \left( \,\sum _{n=1}^N \tau M_q \Vert \nabla (u^{n}_\delta -u^{n-1}_\delta )\Vert ^2\right) ^{\frac{1}{2}}\left( \int _0^T \Vert \phi \Vert ^2 dt \right) ^{\frac{1}{2}}. \end{aligned}$$

For the limit equation for \(V^\tau \), we use (3.2)\(_2\) to obtain

$$\begin{aligned} \int \limits _0^T (\partial _t V^\tau ,\theta ) dt&= \int \limits _0^T (r(U^\tau )-W^\tau )dt + \sum _{n=1}^N\,\, \int \limits _{t_{n-1}}^{t_n} (r(u^{n}_\delta )-r(U^\tau ),\theta )dt \\&+ \sum _{n=1}^N\,\, \int \limits _{t_{n-1}}^{t_n} (W^\tau -H_\delta (v^{n-1}_\delta ),\theta )dt. \end{aligned}$$

The desired limit equations is retrieved once it is proved that the last two integrals on the right hand side, denoted by \({\mathcal {I}}_3\) and \({\mathcal {I}}_4\), vanish. This is obtained as above, but using now (3.6). We have

$$\begin{aligned} |{\mathcal {I}}_3| \le \tau ^{\frac{1}{2}} L_r \left( \sum _{n=1}^N \Vert u^{n}_\delta -u^{n-1}_\delta \Vert ^2 \right) ^{\frac{1}{2}} \left( \int _0^T \Vert \theta \Vert ^2 dt \right) ^{\frac{1}{2}}, \end{aligned}$$

approaching 0 as \(\tau \searrow 0\). For \(\mathcal {I}_4\), use the definition of \(W^\tau \) and Lipschitz continuity of \(H_\delta \) in order to obtain

$$\begin{aligned} |{\mathcal {I}}_4| \le \sum _{n=1}^N\,\, \int _{t_{n-1}}^{t_n} \frac{1}{\delta }\Vert v^{n}_\delta -v^{n-1}_\delta \Vert \Vert \theta \Vert dt \le C \frac{\tau }{\delta } \left( \int _0^T \Vert \theta \Vert ^2 dt \right) ^{\frac{1}{2}}, \end{aligned}$$

by using (3.6) and the Cauchy–Schwarz inequality. Since \(\delta \) is chosen s.t. \(\tau /\delta \searrow 0\) we get \({\mathcal {I}}_4 \searrow 0\).

Finally we need to prove \(w \in H(v)\). The strong \(L^2\) convergence of \(V^\tau \) also provides the a.e. convergence \(V^\tau \rightarrow v\). Further, as \(\tau \searrow 0\), the weak\(^*\) convergence of \(W^\tau \) gives

$$\begin{aligned} (W^\tau ,\theta ) \rightarrow (w,\theta ), \quad {\hbox { and }} \quad 0 \le w \le 1 {\hbox { (a.e.).}} \end{aligned}$$

To prove that \(w \in H(v)\) indeed we take a pair \((t,x) \in \Omega \) and distinguish two cases: either \(v(t, x) >0\), or \(v(t, x) =0\). In the former we recall that \(W^\tau = H_\delta (V^\tau )\) (by definition) and that \(\tau \searrow 0\) also implies \(\delta \searrow 0\). Then the pointwise (a.e.) convergence of \(V^\tau \) implies that for all \(\tau < \tau _0\) (with sufficiently small \(\tau _0\)) we have \(V^\tau (t, x) > v(t,x)/2 > \delta > 0\), yielding \(W^\tau = H_\delta (V^\tau (t,x)) = 1\) and hence \(w=1\). In subsets of \(\Omega ^T\) where \(v =0\), since \(\partial _t v \in L^2(\Omega )\) one has \(\partial _t v =0\) a.e., leading to \(w= r(u)\) with \(0 \le w \le 1\), which proves the final step. \(\square \)

remark 3.2

As mentioned in the introduction, the convergence proof for the semi-discrete approximation is also an existence proof for a weak solution. The uniqueness can be obtained by contraction arguments, see e.g. Theorem 4.7 in [11].

4 The fully discrete scheme

Here we extend the convergence result to the fully discrete scheme, obtained by the finite element discretization of the semi-discrete problems in Sect. 3. The convergence proof follows the same ideas, and therefore we restrict the details to a minimum. To simplify notation, henceforth, we suppress the subscript \(\delta \).

The fully discrete approximation of the weak solution of (2.1, 2.2) builds on the semi-implicit (implicit in \(u\) and explicit in \(v\)) discretization introduced in (3.2).

Starting with \(u_h^0 = P_h u_I,\, v_h^0 = P_h v_I\) (the projection of the initial data onto the finite element space \({\mathcal U}_h\) introduced in Sect. 2.1), with \(n \in \{ 1,\ldots ,N\}\), the approximation \((u_h^n, v_h^n)\) of \((u(t_n), v(t_n))\) at \({\mathcal {T}}_h\) solves

Problem \({\mathbf {P}}_h^{n}\): Given \(u_h^{n-1}, v_h^{n-1} \in {\mathcal {U}}_h\), find \(u_h^n\) and \(v_h^n \in {\mathcal {U}}_h\) such that for all \(\phi _h,\theta _h \in {\mathcal {U}}_h\),

$$\begin{aligned} (u_h^n - u_h^{n-1}, \phi _h) + \tau (\nabla u_h^n, \nabla \phi _h) - (\mathbf {q}_h u_h^n, \nabla \phi _h)+ (v_h^n - v_h^{n-1},\phi _h)&= 0, \nonumber \\ (v_h^n - v_h^{n-1}, \theta _h) - \tau (r(u_h^n), \theta _h) + \tau (H_\delta (v_h^{n-1}),\theta _h)&= 0.\qquad \quad \end{aligned}$$
(4.1)

To complete the solution we also define \(w_h^n := H_\delta (v_h^{n}) \in L^\infty (\Omega ).\)

4.1 Existence and uniqueness

The problems introduced above form a sequence of nonlinear (algebraic) systems. As in the semi-discrete case, for stability reasons we choose \(\delta = O(\tau ^{\frac{1}{2}})\). The first task here is to prove the existence and uniqueness of a solution for problem \({\mathbf {P}}_h^n\). Since \({\mathbf {P}}_h^n\) is defined on a finite dimensional space, the existence can be obtained e.g. by a fixed point argument in [47] (Lemma 1.4, p. 140). Here we present an alternative fixed point argument based on linearization techniques (see [48]). In this way, next to the proof for the existence and uniqueness of a solution, we also define a convergent linear iteration scheme for solving the fully discrete nonlinear systems. This method is employed to perform the numerical computations in Sect. 5, which justifies our choice here.

Below we assume that \(u_h^{n-1}\) and \(v_h^{n-1}\) are given, and their corresponding \(H^1_{0 }(\Omega )\) and \(L^2(\Omega )\) norms are bounded uniformly in \(h\). To construct the iteration scheme, we use (4.1)\(_2\) to rewrite the ion-transport equation (4.1)\(_1\) as

$$\begin{aligned} (u_h^n - u_h^{n-1},\phi _h) + \tau ( \nabla u_h^n, \nabla \phi _h) - \tau ({\mathbf {q}}_h u_h^n, \nabla \phi _h) + \tau (r(u_h^n)-H_\delta (v_h^{n-1}),\phi _h) = 0, \end{aligned}$$
(4.2)

for all \(\phi _h \in {\mathcal {U}}_h\). Note that this equation is decoupled from (4.1)\(_2\).

Before introducing the fixed point iteration we define the \(H^1\)-equivalent norm

$$\begin{aligned} |||u|||^2 := \Vert u\Vert ^2 + \frac{2 \tau }{2+\tau L_r} \Vert \nabla u\Vert ^2, \end{aligned}$$

for which contraction will be obtained. Recall that \(L_r\) is the Lipschitz constant of the precipitation term \(r(\cdot )\). We define the mapping \({\mathcal {T}}\)

$$\begin{aligned} u_{i-1} \mapsto u_i = {\mathcal {T}}u_{i-1} \end{aligned}$$

where \(i\) is the iteration index and for all \(\phi _h \in {\mathcal {U}}_h\), \(u_i\) satisfies

$$\begin{aligned}&(u_i,\phi _h) + \tau (\nabla u_i, \nabla \phi _h) - \tau ({\mathbf {q}}_h u_i, \nabla \phi _h)+ \tau L_r(u_{i},\phi _h) \nonumber \\&\quad = \tau L_r (u_{i-1},\phi _h) - \tau (r(u_{i-1}),\phi _h) + (u_h^{n-1},\phi _h)+ \tau (H_\delta (v_h^{n-1}), \phi _h). \end{aligned}$$
(4.3)

A good starting point for the iteration is \(u_0 = u_h^{n-1}\). We have suppressed the superscript \(n\) in the iteration for the sake of presentation. In the iterative scheme considered here, we note that a fixed point of \(\mathcal {T}\) satisfies (4.2), as the terms involving \(L_r\) gets canceled. Thus, in case of convergence, the limit of \(u_i\) is indeed a solution to (4.3). The problem of proving existence and uniqueness of solution of problem \(\mathbf {P}_h^n\) is, thus, tantamount to proving that of the fixed point of (4.3). This will be achieved by showing that \(\mathcal {T}\) is a contraction. We mention that such constructions are common; we refer to [37, 48] and the references therein for similar schemes.

Now we can prove the following result for the mapping \(\mathcal {T}\):

Lemma 4.1

\(\mathcal {T}\) is a contraction map with respect to the \(|||\cdot |||\) norm.

Proof

Recalling the assumptions on \({\mathbf {q}}_h\) in Sect. 2.1 we note that standard Lax–Milgram arguments ensure that \(\mathcal {T}\) maps \({\mathcal {U}}_h\) into itself. Next, we show that \(\mathcal {T}\) is a contraction. In this sense, with \(u_{i-1, a}, u_{i-1, b} \in {\mathcal K}\) we define \(u_{i, \alpha } = {\mathcal {T}} u_{i-1, \alpha }\) (\(\alpha = a, b\)) and the differences

$$\begin{aligned} e_i := u_{i, a} - u_{i, b}, \quad {\hbox {and}} \quad e_{i-1} = u_{i-1, a} - u_{i-1, b}. \end{aligned}$$

Subtracting (4.3) for \(u_{i-1, b}\) from the one for \(u_{i-1, a}\) gives

$$\begin{aligned}&(e_i,\phi _h) + \tau (\nabla e_i, \nabla \phi _h) - \tau (\mathbf {q}_h e_i, \nabla \phi _h)+ \tau L_r(e_{i},\phi _h) \nonumber \\&\quad = \tau L_r (e_{i-1},\phi _h) - \tau (r(u_{i-1, a}) - r(u_{i-1, b}),\phi _h). \end{aligned}$$
(4.4)

Choosing \(\phi _h = e_i\), we obtain

$$\begin{aligned} (1\!+\tau L_r)\Vert e_i\Vert ^2 \!+\! \tau \Vert \nabla e_i\Vert ^2 \!-\! \tau (\mathbf {q}_h e_i, \nabla e_i)= \tau (L_r e_{i-1} \!-\! r(u_{i-1, a}) \!+\! r(u_{i-1, b}), e_i). \end{aligned}$$
(4.5)

Since \(r\) is Lipschitz continuous, we use mean value theorem to obtain

$$\begin{aligned} (1+\tau L_r)\Vert e_i\Vert ^2 + \tau \Vert \nabla e_i\Vert ^2 - \tau (\mathbf {q}_h e_i, \nabla e_i)= \tau (L_r e_{i-1} - r'(\xi ) e_{i-1}, e_i) \end{aligned}$$
(4.6)

for some function \(\xi \) bounded by \(u_{i-1, a}\) and \(u_{i-1, b}\). Also note that the convection term vanishes as \(\mathbf {q}_h\) is assumed divergence free. Since \(0 \le L_r- r'(\xi ) \le L_r\), the right hand side of (4.6) can be estimated as

$$\begin{aligned} (1+\tau L_r) \Vert e_i\Vert ^2+ \tau \Vert \nabla e_i\Vert ^2 \le \tau L_r \Vert e_{i-1}\Vert \Vert e_i\Vert \le \frac{1}{2}\tau L_r \left( \Vert e_i\Vert ^2 + \Vert e_{i-1}\Vert ^2 \right) . \end{aligned}$$

With \(\gamma = \frac{\tau L_r}{2+ \tau L_r} < 1\), this gives

$$\begin{aligned} \Vert e_i\Vert ^2 + \frac{\tau }{1+\frac{1}{2} \tau L_r} \Vert \nabla e_i\Vert ^2 \le \frac{1}{2} \frac{\tau L_r}{1+\frac{1}{2} \tau L_r} \Vert e_{i-1}\Vert ^2 \le \gamma |||e_{i-1}|||^2, \end{aligned}$$

showing that \(\mathcal {T}\) is a contraction and thus has a unique fixed point (by Banach’s Fixed Point Theorem). \(\square \)

The above lemma shows that \(u_i\) converges to the fixed point of (4.2) as \(i \nearrow \infty \). Clearly, its limit \(u_h^n\) satisfies (4.1). Having obtained it, computing \(v_h^n\) is straightforward. In other words we proved

Lemma 4.2

Problem \({\mathbf {P}}_h^n\) has a unique solution \((u_h^n,v_h^n)\).

Remark 4.1

The numerical scheme presented here has a linear convergence rate (in the \(H^1\) norm). This is lower than, e.g. the rate of Newton’s iteration, which converges quadratically. This drawback is compensated by the fact that the convergence is guaranteed for any choice of parameters and for any starting point. The error converges to \(0\) as the iteration index approaches \(\infty \). In practice, however, only 3–4 iterations are sufficient for a good approximation. Further, one expects a faster convergence in the \(L^2\) norm since no \(\tau \) factor is multiplying the \(L^2\) norm in the \(H^1\) equivalent norm \(||| \ |||\) defined above, whereas the contraction constant \(\gamma \) for the mapping \(\mathcal {T}\) approaches \(0\) with \(\tau \). We have not investigated the stability in time of this iteration process. Clearly, at each time step, an error is accumulated as the iteration procedure is ended in a finite number of steps. As in [37], Lemma 3.6, it can be shown that the accumulated error vanishes as \(\tau \) tends to \(0\). We do not prove a similar result in this section since the goal is to show the existence and uniqueness of the solution for the discrete problem \({\mathbf {P}}_h^n\).

4.2 Stability estimates

Given the existence and uniqueness of solutions for the fully discrete problems \({\mathbf {P}}_h^n\), we proceed with energy estimates, which are similar to those obtained in Sect. 3:

Lemma 4.3

There exists a \(C > 0\) independent of \(\tau \), \(h\) and \(\delta \) such that the following estimates hold

$$\begin{aligned}&\displaystyle \max _{k=1,\ldots ,N} \Vert u^k_h\Vert + \max _{k=1,\ldots ,N}\Vert v_h^k\Vert \le C, \end{aligned}$$
(4.7)
$$\begin{aligned}&\displaystyle {\max _{k=1,\ldots ,N}} \Vert v_h^{k}-v_h^{k-1}\Vert + \sum _{n=1}^N \Vert u_h^n-u_h^{n-1}\Vert ^2 \le C \tau , \end{aligned}$$
(4.8)
$$\begin{aligned}&\displaystyle \sum _{n=1}^N \Vert \nabla (u_h^n-u_h^{n-1})\Vert ^2 + \tau \sum _{n=1}^{N} \Vert \nabla u_h^n\Vert ^2 \le C. \end{aligned}$$
(4.9)

Proof

The above estimates are obtained as in Lemma 3.5, with one exception: one cannot obtain the maximum principle as in the continuous case, as the corresponding (positive/negative cuts) test functions may not be admissible. Therefore we start by taking \(\phi _h = u_h^n\) in (4.1)\(_1\) and use (4.1)\(_2\) to replace the last term in the resulting, which gives

$$\begin{aligned} (u_h^n \!-\! u_h^{n-1}, u_h^n) \!+\! \tau (\nabla u_h^n, \nabla u_h^n) \!+\! \tau (r(u_h^n), u_h^n) \!-\! \tau ({\mathbf {q}}_h u_h^n, \nabla u_h^n) \!+\! \tau (H_\delta (v_h^{n-1}), u_h^n) \!=\! 0. \end{aligned}$$

For the first term one uses the identity

$$\begin{aligned} (u_h^n - u_h^{n-1}, u_h^n) = \frac{1}{2} \left( \Vert u_h^n\Vert ^2 - \Vert u_h^{n-1}\Vert ^2 + \Vert u_h^n -u_h^{n-1}\Vert ^2 \right) , \end{aligned}$$
(4.10)

which, combined with the Cauchy–Schwarz inequality gives

$$\begin{aligned}&\frac{1}{2} \left( \Vert u_h^n\Vert ^2 - \Vert u_h^{n-1}\Vert ^2 + \Vert u_h^n -u_h^{n-1}\Vert ^2 \right) + \frac{1}{2} \tau \Vert \nabla u_h^n\Vert ^2 + \tau L_r \Vert u_h^n\Vert ^2\\&\quad \le \frac{1}{2}\tau M_q \Vert u_h^n\Vert ^2 + C \tau +\frac{1}{2} \tau \Vert u_h^n\Vert ^2. \end{aligned}$$

Summing over \(n = 1,\ldots , k\) (with \(k \in \{1, \ldots , N\}\) arbitrarily) gives

$$\begin{aligned}&\frac{1}{2} \Vert u_h^k\Vert ^2 + \frac{1}{2} \sum _{n=1}^k \Vert u_h^n -u_h^{n-1}\Vert ^2 + \frac{1}{2} \tau \sum _{n=1}^k \Vert \nabla u_h^n\Vert ^2 + L_r \tau \sum _{n=1}^k \Vert u_h^n\Vert ^2 \nonumber \\&\quad \le C \tau \sum _{n=1}^k \Vert u_h^n\Vert ^2 + C. \end{aligned}$$
(4.11)

The Discrete Gronwall Lemma provides now the first part in (4.7),

$$\begin{aligned} \sup _{k=1,\ldots ,N} \Vert u^k_h\Vert ^2 \le C, \end{aligned}$$

implying straightforwardly the second part of (4.9),

$$\begin{aligned} \tau \sum _{n=1}^N \Vert \nabla u_h^n\Vert ^2 \le C. \end{aligned}$$

We continue with the first part in (4.8). With \(\theta = v_h^n - v_h^{n-1}\) in (4.1)\(_2\) and applying Cauchy–Schwarz inequality for the right hand side gives

$$\begin{aligned} \left\| v_h^n - v_h^{n-1} \right\| ^2 \le \tau \left\| r(u_h^n) \right\| \left\| v_h^n -v_h^{n-1} \right\| + \tau \left\| H_\delta (v_h^{n-1})\right\| \left\| v_h^n- v_h^{n-1} \right\| . \end{aligned}$$

Using the estimate in (4.7) for \(u_h^n\) and the properties of \(r\) and \(H_\delta \) immediately gives the desired estimate. To prove the second part in (4.7), we choose \(\theta = v_h^n \) in (4.1)\(_2\), proceed as in (4.10) for \(u_h^n\) to obtain

$$\begin{aligned} \frac{1}{2} \left( \Vert v_h^{n} \Vert ^2 - \Vert v_h^{n-1}\Vert ^2 + \Vert v_h^{n}-v_h^{n-1}\Vert ^2 \right) = \tau (r(u_h^n), v_h^n) - \tau (H_\delta (v^{n-1}_h),v_h^n).\nonumber \\ \end{aligned}$$
(4.12)

The last term on the right rewrites

$$\begin{aligned} \left( H_\delta (v_h^{n-1}), v_h^n \right) = \left( H_\delta (v_h^{n-1}), v_h^{n-1} \right) - \left( H_\delta (v_h^{n-1}), v_h^{n-1} - v_h^n \right) . \end{aligned}$$

Using this into (4.12), multiplying the resulting by 2, and using the properties of \(H_\delta \) (giving \((H_\delta (v_h^{n-1}), v_h^{n-1}) \ge 0\)) and the Cauchy–Schwarz inequality gets

$$\begin{aligned} \left\| v_h^n \right\| ^2 \!-\! \left\| v_h^{n-1} \right\| ^2 \!+\!\left\| v_h^n -v_h^{n-1} \right\| ^2 \!\le \! 2 \tau C \left\| u_h^n\right\| \left\| v_h^n \right\| \!+\! 2 \tau \left( H_\delta (v_h^{n-1}), v_h^n -v_h^{n-1} \right) . \end{aligned}$$

Using further Young’s inequality for the terms on the right and summing over \(n = 1,\ldots , k\) (with \(k \in \{1,\ldots , N\}\)) gives

$$\begin{aligned} \left\| v_h^k \right\| ^2 + \frac{1}{2} \sum _{n=1}^k \left\| v_h^n -v_h^{n-1} \right\| ^2&\le \left\| v_I \right\| ^2 +C \tau \sum _{n=1}^k \left\| v_h^n \right\| ^2 + C \tau \sum _{n=1}^k \left\| u_h^n \right\| ^2 \\&+ \sum _{n=1}^k 2 \tau ^2 \left\| H_\delta \right\| ^2 \le \tau \sum _{n=1}^k \left\| v_h^n \right\| ^2 + C + C \tau . \end{aligned}$$

Using the bounds on \(u_h^n\) and on initial data and the Discrete Gronwall Lemma concludes (4.7).

The remaining estimates in (4.8) and (4.9) follow from the steps in the proof of (3.6) and (3.7); details are omitted. \(\square \)

4.3 The convergence

As in the semi-discrete case, we consider the sequence of time discrete \((u_h^n,v_h^n,w_h^n)\) solving problem \({\mathbf {P}}_h^n\), and construct a time continuous approximation by taking linear interpolation in time. We define,

$$\begin{aligned} \begin{aligned} U_h^\tau (t)&:= u_h^n\frac{(t-t_{n-1})}{\tau } + u_h^{n-1} \frac{(t_n-t)}{\tau },\\ V_h^\tau (t)&:= v_h^n \frac{(t-t_{n-1})}{\tau } + v_h^{n-1} \frac{(t_n-t)}{\tau },\\ W_h^\tau (t)&:= H_\delta (V_h^\tau (t)), \end{aligned} \end{aligned}$$
(4.13)

and use compactness arguments for time-continuous triples \((U_h^\tau ,V_h^\tau ,W_h^\tau )\) to identify limit triples and the system that these limit points satisfy. In this sense, using estimates (4.84.9) one straightforwardly proves (we omit the details)

Lemma 4.4

A constant \(C\) independent of \(\tau \), \(\delta \) or \(h\) exists s.t.

$$\begin{aligned} \Vert U_h^\tau \Vert ^2+\Vert V_h^\tau \Vert ^2&\le C,\end{aligned}$$
(4.14)
$$\begin{aligned} \Vert \partial _t U_h^\tau \Vert ^2+\Vert \nabla U_h^\tau \Vert ^2+\Vert \partial _t V_h^\tau \Vert ^2&\le C, \end{aligned}$$
(4.15)
$$\begin{aligned} 0\le W_h^\tau&\le 1, \end{aligned}$$
(4.16)

where the norms are taken in \(L^2(0,T;L^2(\Omega ))\).

In view of Lemma 4.4 one has

Lemma 4.5

Along a sequence of pairs \((\tau , h)\) approaching \((0, 0)\) and with \(\delta = O(\sqrt{\tau })\), a limit triple \((u, v, w) \in {\mathcal {U}} \times {\mathcal {V}} \times {\mathcal {W}}\) exists s.t.

  1. 1.

    \(U_h^\tau \rightharpoonup u \; {\hbox {weakly in}} \; L^2((0,T);H^1_{0 }(\Omega )),\)

  2. 2.

    \(\partial _t U_h^\tau \rightharpoonup \partial _t u \; {\hbox {weakly in}} \; L^2((0,T);L^{2}(\Omega )),\)

  3. 3.

    \(V_h^\tau \rightharpoonup v \; {\hbox {weakly in}} \; L^2((0,T);L^2(\Omega )),\)

  4. 4.

    \(\partial _t V_h^\tau \rightharpoonup \partial _t v \; {\hbox {weakly in}} \; L^2((0,T);L^2(\Omega )),\)

  5. 5.

    \(W_h^\tau \rightharpoonup w \; {\hbox {weakly-star in}} \; L^\infty (\Omega ).\)

As in Sect. 3, it remains to prove that the limit triple is a weak solution in the sense of Definition 2.1. In this respect, to identify the limit object for the dissolution term, we use again the strong convergence of \(V_h^\tau \). This is proved in the semi-discrete case by translation estimates, which can not be applied straightforwardly in the fully discrete situation as a translation of the test functions may leave the space \({\mathcal {U}}_h\). This is due to the fact that the translations are not remaining within the same triangle. Therefore we prove the strong convergence by employing ideas from [35]. In this context, we use the higher regularity of \(v_I\). We start with

Proposition 4.6

Let \(\Pi \) be the interpolation operator that maps \(H^1(\Omega ) \cap C(\bar{\Omega })\) to the space \({\mathcal {U}}_h\). Further, let \(g : {\mathbb {R}} \mapsto {\mathbb {R}}\) be a Lipschitz function with the Lipschitz constant \(L_g\), and \(f : \Omega \mapsto {\mathbb {R}}\) be defined by \(f = g(u)\). Then for any \(u \in {\mathcal {U}}_h\) it holds that

$$\begin{aligned} \Vert \nabla \Pi f\Vert \le L_g \Vert \nabla u\Vert . \end{aligned}$$
(4.17)

Proof

The proof follows the calculations in [35] (pp. 469; also see [49]), therefore it is only sketched here briefly. First note that \(f\) is an \(H^1\) function. With \(A_i^T = (x_i,y_i)\) denoting the vertices of the triangle \({T}\) (\(i = 1,2, \;{\hbox {or}}\;3\)), since \(\Pi f\) is piecewise linear it holds

$$\begin{aligned}&\displaystyle \Pi f = \sum _{i=1}^3 (a_i^T x+ b_i^Ty+c_i^T)\Pi f(A_i^T), \quad {\hbox { with }}\\&\displaystyle a_i^T = \frac{1}{2 |T|}(y_j-y_k), \quad b_i^T = \frac{1}{2 |T|}(x_k-x_j), \quad {\hbox { and }} \quad c_i^T = \frac{1}{2 |T|}(x_jy_k-x_ky_j). \end{aligned}$$

Here the indices \(i,j,k\) are permuted cyclically and \(|T|\) represents the area of the triangle \(T\). In the present context, equation (2.5) in [35] rewrites as

$$\begin{aligned} \Vert \nabla \Pi f\Vert ^2 = \sum _{{T}\in \mathcal {T}_h} \frac{1}{4 |T|}\left\{ (A_k^TA_i^T,A_k^TA_j^T)|f(A_i^T)-f(A_j^T)|^2 \right\} , \end{aligned}$$

where \(A_k^TA_i^T\) is a vector connecting the vertex \(i\) to the vertex \(k\) in the triangle \(T\). Using the Lipschitz continuity of \(g\), this gives

$$\begin{aligned} \Vert \nabla \Pi f\Vert ^2&\le L_g^2 \sum _{{T}\in \mathcal {T}_h} \frac{1}{4 |T|}\{(A_k^TA_i^T,A_k^TA_j^T)|u(A_i^T)-u(A_j^T)|^2 \} =L_g^2 \Vert \nabla u\Vert ^2, \end{aligned}$$

which is exactly the conclusion in the proposition. \(\square \)

Remark 4.2

It is important to note that the constant in Proposition 4.6 is exactly \(L_g\), the Lipschitz constant of \(g\). This is needed in the proof of the next lemma.

Lemma 4.7

If \(v_I \in H^1(\Omega )\), along the sequence \((\tau ,h) \searrow (0, 0)\) considered in Lemma 4.5 one has

$$\begin{aligned} V_h^\tau \rightarrow v \quad {\hbox {strongly in}} \quad L^2(0,T; L^2(\Omega )). \end{aligned}$$
(4.18)

Proof

From (4.1)\(_2\), for all \(\theta _h \in {\mathcal {U}}_h\) it holds

$$\begin{aligned} \left( v_h^n-v_h^{n-1},\theta _h\right) = \tau \left( r(u_h^n) - H_\delta (v_h^{n-1}),\theta _h\right) . \end{aligned}$$

Since \(v_h^n\) and \(v_h^{n-1}\) are in \({\mathcal {P}}_1\), within each triangle \(T\) this gives

$$\begin{aligned} \nabla v_h^n = \tau \nabla \Pi r(u_h^n) - \nabla \Pi \left( v_h^{n-1}-{\tau }H_\delta (v_h^{n-1})\right) . \end{aligned}$$
(4.19)

Next, note that \( g(v) = v-{\tau }H_\delta (v)\) is Lipschitz continuous with the Lipschitz constant \(1-\frac{\tau }{\delta }\). By Proposition 4.6, we have

$$\begin{aligned} \Vert \nabla \Pi (v_h^{n-1}-{\tau }H_\delta (v_h^{n-1}))\Vert \le \left( 1-\frac{\tau }{\delta }\right) \Vert \nabla v_h^{n-1}\Vert \le \Vert \nabla v_h^{n-1}\Vert \end{aligned}$$

whenever \(\tau < \delta \), which is satisfied if choosing \(\delta = O(\sqrt{\tau })\). Using this into (4.19), this gives

$$\begin{aligned} \Vert \nabla v_h^n\Vert - \Vert \nabla v_h^{n-1}\Vert \le \tau L_r \Vert \nabla u_h^n\Vert . \end{aligned}$$

Summing over \(n=1,\ldots , k\) (for any \(k \in \{1, \ldots , N\}\)) we obtain

$$\begin{aligned} \Vert \nabla v_h^k\Vert \le \Vert \nabla v_I\Vert + \sum _{n=1}^k \tau L_r \Vert \nabla u_h^n\Vert , \end{aligned}$$

which actually proves that

$$\begin{aligned} \sup _{k = 1,\ldots , N} \Vert \nabla v_h^k\Vert \le C. \end{aligned}$$
(4.20)

Recalling the definition of \(V_h^\tau \), we have

$$\begin{aligned} \int _0^T \int _\Omega |\nabla V_h^\tau |^2 dx dt \le C, \end{aligned}$$

uniformly w.r.t. \(\tau , h\) and \(\delta \).

As \(\partial _t V_h^\tau \) is also bounded uniformly in \(L^2(0,T;L^2(\Omega ))\) we obtain the strong convergence of \(V_h^\tau \) in \(L^2(0,T; L^2(\Omega ))\). \(\square \)

4.4 The limit equations

Finally we investigate the limit of \((U_h^\tau ,V_h^\tau ,W_h^\tau )\). We have

Theorem 4.8

The limit \((u,v,w)\) in Lemma 4.5 is a weak solution in the sense of Definition 2.1.

Proof

For any \(\phi \in L^2(0,T;H^1_{0 }(\Omega ))\) we consider \(\phi _h = P_h \phi \) [the projection of \(\phi \) defined in (2.5)]. By (4.1)\(_1\), \((U_h^\tau , V_h^\tau )\) satisfies

$$\begin{aligned}&\int \limits _0^T(\partial _t U_h^\tau , \phi ) dt +\int \limits _0^T (\nabla U_h^\tau , \nabla \phi )dt + \int \limits _0^T(\mathbf {q}_h\cdot \nabla U_h^\tau , \phi )dt + \int \limits _0^T(\partial _t V_h^\tau ,\phi )dt \nonumber \\&\quad = \sum _{n=1}^N \int \limits _{t_{n-1}}^{t_n} (\partial _t V_h^\tau , \phi -\phi _h) + \sum _{n=1}^N \int \limits _{t_{n-1}}^{t_n}(\partial _t U_h^\tau , \phi -\phi _h)dt \nonumber \\&\qquad + \sum _{n=1}^N \int \limits _{t_{n-1}}^{t_n} (\nabla U_h^\tau , \nabla (\phi -\phi _h)) dt + \sum _{n=1}^N \int \limits _{t_{n-1}}^{t_n} ((\nabla U_h^\tau -\nabla u_h^n),\nabla \phi _h) dt \nonumber \\&\qquad - \sum _{n=1}^N \int \limits _{t_{n-1}}^{t_n} (\mathbf {q}_h U_h^\tau , (\nabla \phi - \nabla \phi _h))dt - \sum _{n=1}^N \int \limits _{t_{n-1}}^{t_n}(\mathbf {q}_h (U_h^\tau -u_h^n),\nabla \phi _h) dt.\qquad \qquad \end{aligned}$$
(4.21)

We proceed by showing that the terms on the right are vanishing as the discretization parameters \(h\) and \(\tau \) are approaching 0. To this aim we first take test functions that are \(H^2\) in space, i.e. \(\phi \in L^2(0,T;H^2_{0 }(\Omega ))\). As will be seen below, this extra regularity allows controlling terms involving \(\nabla (\phi -\phi _h)\). By this we prove that \((u,v)\) satisfy (2.7)\(_1\), but only for test functions having a better regularity in space. Once this is established, density arguments ensure that the equality is satisfied also for test functions in \(L^2(0, T; H^1_0(\Omega ))\).

By Lemma 4.5, all terms on the left hand side converge to the desired limits. This is obvious in the first two terms. For the third one we recall the assumption on \({\mathbf {q}}_h\) and \({\mathbf {q}}\), namely that \({\mathbf {q}}_h-{\mathbf {q}} \in L^\infty (\Omega )\) and, moreover, that \({\mathbf {q}}_h\) converges strongly to \({\mathbf {q}}\) in \(L^2(\Omega )\). Combined with the weak convergence of \(\nabla U_h^\tau \), one immediately gets that

$$\begin{aligned} \int _0^T(\mathbf {q}_h\cdot \nabla U_h^\tau , \phi )dt \rightarrow \int _0^T(\mathbf {q}\cdot \nabla u, \phi )dt. \end{aligned}$$
(4.22)

It only remains to show that the right hand side of (4.21) vanishes in the limit. We treat these terms, denoted by \({\mathcal {I}}_1, \ldots , {\mathcal {I}}_6\) separately. First, as \(h \searrow 0\) we have

$$\begin{aligned} |{\mathcal {I}}_1| \le \left( \int _0^T\Vert \partial _t V_h^n\Vert ^2 dt \right) ^{\frac{1}{2}} \left( \sum _{n=1}^N \,\,\int _{t_{n-1}}^{t_n} \Vert \phi -\phi _h\Vert ^2 dt \right) ^{\frac{1}{2}} \!\le \! C h \Vert \nabla \phi \Vert _{L^2(0,T;L^2(\Omega ))} \rightarrow 0. \end{aligned}$$

For \({\mathcal {I}}_2\) and \({\mathcal {I}}_3\) the arguments are similar. For example, since \(\phi \in L^2(0,T;H^2_{0 }(\Omega ))\) one has \(\Vert \nabla (\phi -\phi _h)\Vert \le C h\Vert \phi \Vert _{H_{0 }^2(\Omega )}\). With \(h \searrow 0\),

$$\begin{aligned} |{\mathcal {I}}_3| \le \left( \int _0^T\Vert \nabla U_h^\tau \Vert ^2 dt \right) ^{\frac{1}{2}} \!\left( \sum _{n=1}^N\,\, \int _{t_{n-1}}^{t_n} \Vert \nabla (\phi \!-\!\phi _h)\Vert ^2 dt\right) ^{\frac{1}{2}} \!\le \! Ch \Vert \phi \Vert _{L^2(0,T;H_{0 }^2(\Omega ))} \!\rightarrow \! 0. \end{aligned}$$

For \({\mathcal {I}}_4\) we use (4.9) to obtain (for \(\tau \searrow 0\))

$$\begin{aligned} |{\mathcal {I}}_4| \le \left( \, \sum _{n=1}^N \tau \Vert \nabla u_h^n-\nabla u_h^{n-1} \Vert ^2 \right) ^{\frac{1}{2}} \left( \, \sum _{n=1}^N \tau \Vert \nabla \phi _h\Vert ^2 \right) ^{\frac{1}{2}} \rightarrow 0. \end{aligned}$$

For \({\mathcal {I}}_5\) we proceed as for \({\mathcal {I}}_3\),

$$\begin{aligned} |{\mathcal {I}}_5| \le \left( \int _0^T\Vert {\mathbf {q}}_h U_h^\tau \Vert ^2 dt \right) ^{\frac{1}{2}} \left( \, \sum _{n=1}^N\,\, \int _{t_{n-1}}^{t_n} \Vert \nabla (\phi -\phi _h)\Vert ^2 dt \right) ^{\frac{1}{2}} \le Ch \Vert \phi \Vert _{L^2(0,T;H^2_{0 }(\Omega ))}. \end{aligned}$$

To conclude with the first equation, for \({\mathcal {I}}_6\) we use (4.8) to obtain

$$\begin{aligned} |{\mathcal {I}}_6| \le M_q \left( \,\sum _{n=1}^N \tau \Vert u_h^n - u_h^{n-1}\Vert ^2 dt\right) ^{\frac{1}{2}} \left( \,\sum _{n=1}^N \tau \Vert \nabla \phi _h\Vert ^2 dt \right) ^{\frac{1}{2}} \rightarrow 0. \end{aligned}$$

Concerning the second equation in (2.7), by (4.1)\(_2\) we have

$$\begin{aligned}&\int \limits _0^T (\partial _t V_h^\tau ,\theta ) dt - \int \limits _0^T (r(U_h^\tau )-W_h^\tau , \theta )dt \nonumber \\&\quad = \sum _{n=1}^N\,\, \int \limits _{t_{n-1}}^{t_n}(\partial _t V_h^\tau , \theta -\theta _h) dt + \sum _{n=1}^N\,\, \int \limits _{t_{n-1}}^{t_n} (r(u_h^n)-r(U_h^\tau ),\theta _h)dt \nonumber \\&\qquad + \sum _{n=1}^N\,\, \int \limits _{t_{n-1}}^{t_n}(r(U_h^\tau ), \theta _h-\theta ) dt + \sum _{n=1}^N\,\, \int \limits _{t_{n-1}}^{t_n}(W_h^\tau -H_\delta (v_h^{n-1}),\theta _h)dt \nonumber \\&\qquad +\sum _{n=1}^N\,\, \int \limits _{t_{n-1}}^{t_n}(W_h^\tau ,\theta -\theta _h) dt, \end{aligned}$$
(4.23)

for all \(\theta \in L^2(0,T;H^1_{0 }(\Omega ))\), and with \(\theta _h = P_h \theta \). Recall that (see [42])

$$\begin{aligned} \Vert \theta -\theta _h\Vert \le Ch\Vert \nabla \theta \Vert . \end{aligned}$$
(4.24)

The desired limit equations are retrieved once it is proved that the integrals on the right hand side, denoted by \({\mathcal {J}}_1,\ldots , {\mathcal {J}}_5\), are vanishing as \(\tau \) and \(h\) are approaching 0. For \({\mathcal {J}}_1\) we get

$$\begin{aligned} |{\mathcal {J}}_1| \le \left( \int _0^T\Vert \partial _t V_h^\tau \Vert ^2 dt\right) ^{\frac{1}{2}} \left( \sum _{n=1}^N\,\, \int _{t_{n-1}}^{t_n} \Vert (\theta -\theta _h)\Vert ^2 dt \right) ^{\frac{1}{2}} \le Ch \Vert \theta \Vert _{L^2(0,T;H_{0}^1(\Omega ))}, \end{aligned}$$

which vanishes in the limit as \(h \searrow 0\). Next, we use (4.8) to obtain

$$\begin{aligned} |{\mathcal {J}}_2| \le \left( \, \sum _{n=1}^N \tau L_r^2\Vert u_h^n- u_h^{n-1}\Vert ^2 \right) ^{\frac{1}{2}} \left( \, \sum _{n=1}^N \tau \Vert \theta _h\Vert ^2 \right) ^{\frac{1}{2}} \rightarrow 0. \end{aligned}$$

For \({\mathcal {J}}_3\) one has

$$\begin{aligned} |{\mathcal {J}}_3| \!\le \! L_r \left( \int _0^T \Vert U_h^\tau \Vert ^2 dt \right) ^{\frac{1}{2}} \left( \sum _{n=1}^N\,\, \int _{t_{n-1}}^{t_n} \Vert (\theta -\theta _h)\Vert ^2 dt \right) ^{\frac{1}{2}} \!\le \! Ch \Vert \theta \Vert _{L^2(0,T;H_{0 }^1(\Omega ))} \rightarrow 0. \end{aligned}$$

Further, for \({\mathcal {J}}_4\), we use the definition of \(W_h^\tau \), the Lipschitz continuity of \(H_\delta \) and (4.8) to obtain

$$\begin{aligned} |{\mathcal {J}}_4| \le \sum _{n=1}^N \tau \frac{1}{\delta }\Vert v_h^n-v_h^{n-1}\Vert \Vert \theta _h\Vert \le C \frac{\tau ^2}{\delta } \sum _{n=1}^N \Vert \theta _h\Vert . \end{aligned}$$

Since \(\delta \) is chosen s.t. \(\tau /\delta \rightarrow 0\) we obtain that \({\mathcal {J}}_4\) vanishes too.

Finally, due to (4.24), as \(h \searrow 0\) we have

$$\begin{aligned} |{\mathcal {J}}_5| \le C \left( \sum _{n=1}^N \,\,\int _{t_{n-1}}^{t_n} \Vert \theta - \theta _h\Vert ^2 dt\right) ^{\frac{1}{2}} \le C h \Vert \nabla \theta \Vert _{L^2(0,T; L^2(\Omega ))} \rightarrow 0. \end{aligned}$$

By this we have shown that the terms on the right in (4.23) are all vanishing.

The final step is to prove that \(w \in H(v)\), with the choice stated in Definition 2.1. For this, the arguments are exactly the ones in Theorem 3.10, therefore we do not repeat them here. Having this we note that the limit triple \((u, v, w)\) indeed satisfies (2.7), but for test functions having a spatial regularity that is better than stated in the definition of the weak solution: \(\phi \in L^2(0,T;H^2_{0 }(\Omega ))\) and \(\theta \in L^2(0,T;H^1_{0 }(\Omega ))\). In view of the regularity of \(u\) and \(v\), density arguments can be employed to show that the limit equations also hold for \(\phi \in L^2(0,T;H^1_{0 }(\Omega ))\) and \(\theta \in L^2(0,T;L^2(\Omega ))\), which completes the proof. \(\square \)

5 Numerical experiments

We carry out numerical experiments for different situations. The scheme is validated on a 1D situation where we study the concentration profile and the dissolution fronts. With \( \Omega = (0,1), \; D = 1e-2, \; r(u) = u, \; {\mathbf {q}} = 1\), the following boundary conditions are imposed: \( u=0 {\hbox { at }} x =0; {\hbox { and }} \frac{\partial u}{\partial x} =0 {\hbox { at }} x=1\). Initially we take \(u_I = 1\) and \(v_I = 0.2\) for all \(x \in [0,1]\). Note that for the initial conditions above one has \( r(u_I)-H(v_I) =0\), and therefore in the beginning the system is in equilibrium: the dissolution and precipitation processes balance each other. Without any perturbation (through the boundary data), the situation would remain in equilibrium (i.e. \(u = 1\) and \(v = 0.2\) for all times and at any location). However, this equilibrium is disturbed at \(x =0\) because of the boundary condition \(u=0\). This leads to the initiation of the dissolution process, which takes place as \(t\) increases. Also note that after some time (called \(t_s\)), the entire precipitate at \(x = 0\) is being dissolved: \(v(t_s, 0) = 0\). Since \(u(t, 0) = 0\), this allows an easy calculation of \(t_s\):

$$\begin{aligned} 0 - v_I = \int _{0}^{t_s} \partial _t v(t, 0) dt = \int _{0}^{t_s} (u-H(v))(t, 0) dt = -t_s, \; \hbox { thus } t_s = v_I = 0.2. \end{aligned}$$

Computations are performed for \(t \in (0,1]\) and the discretization in space is obtained on a regular grid of size \(h =1e-3\). Further, we choose standard first order upwinding for the transport term. For the time discretization, we choose \(\tau = 1e-3\) and we use regularized Heaviside function (3.1) for the dissolution rate for the 1D problem. For the regularization parameter \(\delta \), we choose \(\delta = 0.1( \tau ^{0.5})\).

The profiles of the solute \(u\) and of the precipitate \(v\) at different times are presented in Fig. 1. As expected, the dissolution is stronger at the inflow \(x = 0\); after \(t_s\), two regions can be identified in the domain \(\Omega \): precipitate is present only for \(x\) larger than a value \(x_s\) depending on the time \(t\), \(x_s = x_s(t)\). For \(x \in (0, x_s(t))\) one has \(v(t, x) = 0\), whereas \(v(t, x) > 0\) for \(x > x_s(t)\). This situation is assimilated in [9, 10] with a dissolution front propagating rightwards (with the flow); its location \(x_s(t)\) is a free boundary separating the two aforementioned regions (see [11]). There two quantities of interest are identified: the speed of the dissolution front \(Q_v\) given by (see Proposition 1.2 of [10])

$$\begin{aligned} Q_v = q\frac{u^*}{u^*+v_I} \approx 0.833, \end{aligned}$$

and the “waiting time” at which the dissolution front has appeared: \(t_s = 0.2\) (as computed above). These two information are contained in defining the free boundary \(x_s\)

$$\begin{aligned} x_s(t) := \sup \{ x \in (0,L): v(\cdot , t)=0 {\hbox { a.e. in }} (0, x)\}. \end{aligned}$$

The evolution of \(x_s(t)\) is presented in Fig. 2. Note that the numerically computed values for the time \(t_s\) (when a complete dissolution is encountered at \(x = 0\)) and the slope of the graph of \(x_s\) for \(t > t_s\) (which is similar to the velocity of the dissolution front/free boundary) are in good agreement with the values predicted theoretically. Here we obtain: \(t_s = 0.199\) and \(Q_v = 0.8464\). These numerical results, together with the qualitative behavior of the numerical solution, which is again in agreement with the theory in [911], provide a validation for the numerical scheme proposed here.

Fig. 1
figure 1

Concentration profiles for \(u\) and \(v\) at different times: \(t = 0, 0.2,0.4,0.6,0.8,1\) (from left to right). Note that \(v\) is a dissolution front moving rightwards as \(t\) increases. The dissolution effects are also visible for \(u\)

Fig. 2
figure 2

The free boundary location, \(x_s\). Note the starting time \(t_s = 0.2\) for the beginning of the dissolution front. Also, the slope of the free boundary is equal to \(Q_v\)

5.1 Two-dimensional examples

Now we choose \( \Omega = (0,1) \times (0,1)\) and further

$$\begin{aligned}&T =1, \; {\mathbf {q}} = (0.5,0), \; D =1, \; r(u) = 2 u_{+} (u-0.5)_{+}; \\&h = 0.1, \; \tau = 1e-3,\; \delta = 0.2 \sqrt{\tau }, \end{aligned}$$

where \([u]_+ := \max \{0, u\}\). No diffusive flow is assumed on all boundaries condition except at the inflow \(x = 0\), \( -\nu \cdot \nabla u = 0 {\hbox { on }} \Gamma {\setminus }\{x=0\} \). The boundary condition at \(x=0\) is specified in the two different cases considered below. Note that for this choice of precipitation rate, \(r(u) = 0\) for \(u \le 0.5\) and \(r(1) =1\) so that \(u=1\) is the equilibrium solute concentration, when the dissolution rates balances the precipitation rate. To state the initial condition we also define \(\Omega _v := (0.2,0.8) \times (0.2,0.8)\); clearly \(\Omega _v \) is a square inside the original domain \(\Omega \). We study the following cases:

5.1.1 Equilibrium situation

We start with a trivial case, when according to the theory there should be no change in the concentration of solute or precipitate. For the initial conditions, we choose \(u_I = 1, \; v_I = 0.1 \chi _{\Omega _v}\) with \(\chi _{\Omega _v}\) denoting the characteristic function for the set \(\Omega _v\). We impose \(u=1\) at \(x=0\) as the boundary condition. Since \(u=1\) is the equilibrium concentration, the initial and the boundary conditions ensure that no changes take place in the solution as the initial conditions satisfy the Eqs. (2.1, 2.2). This is easily confirmed numerically by computing the \(L^2(0,T;L^2(\Omega ))\) norm of the difference between the numerical solution and the initial condition (viewed as constant in time):

$$\begin{aligned} \Vert u_I-u_h^n\Vert = 9.35\times 10^{-4}, \quad \Vert v_I-v_h^n\Vert = 4.2\times 10^{-3}. \end{aligned}$$

5.1.2 Dissolution fronts

To initiate the dissolution front, we change the boundary condition at \(x =0\) by maintaining the same initial data:

$$\begin{aligned} u_I = 1, \; v_I = 0.1 \chi _{\Omega _v}, \; u =0 {\hbox { at }} x=0. \end{aligned}$$

Clearly, this leads to a decay of the solute concentration: \(u < 1\) implies that \(r(u)-H(v) <0\), initiating a dissolution process. Numerically, as shown in Fig. 3, this process indeed takes place, leading to the depletion of the precipitate concentration with the domain \(v>0\) shrinking as time proceeds.

Fig. 3
figure 3

Concentration profiles for the precipitate \(v\) (top) and solute \(u\) (bottom) at \(t = 0.05, 0.1, 0.15\). Initially \(v=0.1\) in \(\Omega _v\) and, as \(t\) increases, dissolution takes place. More dissolution is encountered on the left side than on the right side due to the boundary condition at \(x=0\). Also note that \(u\) decreases from its initial value 1 to the asymptotic value, \(u=0\)

5.2 Convergence studies

We consider a test problem similar to (2.1, 2.2), but including a right hand side in the first equation. This is chosen in such a way that the problem has an exact solution (see [19] where a similar exact solution is proposed for test purposes), which is used then to test the convergence of the conformal scheme. Specifically, for \(T = 1\) and \(\Omega = (0,5) \times (0,1)\), and with \(r(u) = [u]_+^2\), we consider the problem

$$\begin{aligned} \left\{ \begin{array}{rlll} \partial _t (u + v) + \nabla \cdot ({\mathbf {q}} u - \nabla u) &{}=&{} f, &{}\quad {\hbox { in }} \Omega ^T,\\ \partial _t v &{}=&{} (r(u) - w), &{}\quad {\hbox { on }} \Omega ^T, \\ w &{}\in &{} H(v), &{}\quad {\hbox { on }} \Omega ^T. \end{array} \right. \end{aligned}$$

Here \({\mathbf {q}} = (1, 0)\) is a constant velocity, whereas

$$\begin{aligned} f(t, x, y) = \frac{1}{2} e^{x - t - 5} \left( 1 - e^{x - t - 5} \right) ^{- \frac{3}{2}} \left( 1 - \frac{1}{2} e^{x - t - 5} \right) - \left\{ \begin{array}{l@{\quad }l} 0, &{}{\hbox { if }} x < t,\\ e^{x - t - 5}, &{}{\hbox { if }} x \ge t, \end{array} \right. \end{aligned}$$

and the boundary and initial conditions are such that

$$\begin{aligned} \begin{array}{l} u(t, x, y) = \left( 1 - e^{x - t - 5} \right) ^{\frac{1}{2}} \quad {\hbox { and }} \quad v(t, x, y) = \left\{ \begin{array}{l@{\quad }l} 0, &{}{\hbox { if }} x < t,\\ \frac{e^{x - t} - 1}{e^{5}} &{}{\hbox { if }} x \ge t, \end{array} \right. \\ {\hbox { providing }} \quad w(t, x, y) = \left\{ \begin{array}{l@{\quad }l} 1, &{}{\hbox { if }} x < t,\\ 1 - e^{x - t - 5} &{}{\hbox { if }} x \ge t, \end{array} \right. \end{array} \end{aligned}$$

form the solution triple.

The simulations are carried out for a uniform mesh diameter \(h\) and time step \(\tau = 0.2 h\). Further, \(\delta = 0.2{\tau ^{0.5}}\) is the regularization parameter. We start with \(h = 0.5\), and refine the mesh (and correspondingly \(\tau \) and \(\delta \)) four times successively by halving \(h\) up to \(h = 0.03125\). We compute the errors for \(u\) and \(v\) in the \(L^2(0, T; L^2 (\Omega ))\) norms,

$$\begin{aligned} E_u^h = \Vert u - U^\tau \Vert _{L^2(\Omega ^T)}, \quad {\hbox {respectively}} \quad E_v^h = \Vert v - V^\tau \Vert _{L^2(\Omega ^T)}. \end{aligned}$$

These are presented in Table 1. Although theoretically no error estimates could be given due to the particular character of the dissolution rate, Table 1 also includes an estimate of the convergence order, based on the reduction factor between two successive calculations:

$$\begin{aligned} \alpha = \log _2 (E_u^h/E_u^{\frac{h}{2}}), \quad {\hbox { and }} \quad \beta = \log _2 (E_v^h/E_v^{\frac{h}{2}}). \end{aligned}$$

For this simple test case, the convergence is slightly worse than linear.

Table 1 Convergence results, \(h = 5\tau \) and \(\delta = 0.2\sqrt{\tau }\)

6 Conclusions and discussions

We have considered both semi-discrete and fully discrete schemes for the macroscale equations. For the fully discrete case, we consider linear finite elements on triangular meshes. These schemes have been analyzed for their convergence and the proof relies on stability estimates and the compactness arguments. To deal with the multi-valued dissolution rate, a regularization step is included. We obtain stability estimates that do not depend on the discretization or regularization parameters. The proofs for the semi-discrete and the fully discrete cases follow similar strategy, however, there are some important differences. Whereas the semi-discrete case retains the maximum principle, we have to rely on different estimates in the fully discrete case. Also, the translation estimates to obtain the strong convergence are easily applicable for the semi-discrete situation, but not for the fully discrete case. For the choice of basis functions taken here, that is, piecewise linear elements on a triangle, the usual method of obtaining pointwise estimates does not work in fully discrete case thereby not necessarily having the maximum principle. Next, instead of using the discrete analogue of translation estimates, the properties of Lagrangian interpolation operator on a triangle are used to obtain the strong convergence needed to deal with the nonlinearities.

The numerical experiments present several interesting aspects of the model. In the 1D case, we have shown the occurrence of dissolution fronts propagating forward. Further, we have plotted the free boundary location and its evolution in time. We find an excellent agreement with the theoretical predictions. For the 2D model, we have shown that the model remains in equilibrium whenever the initial and boundary values for the solute concentration are compatible with this equilibrium. Further, if the precipitate is present and the boundary conditions are determining the fluid to become undersaturated, we clearly see the dissolution processes taking place. Finally, we construct an exact solution and compare the numerical solution to study the convergence behavior.