1 Introduction

This paper is concerned with the development of discontinuous Galerkin (DG) numerical schemes for the following convective Cahn-Hilliard (CCH) problem (written as a second-order system): Given an incompressible velocity field \(\boldsymbol {v}\in C(\overline {\Omega })^{d}\) with ∇⋅v = 0 in Ω, such that vn = 0 on Ω, find two real valued functions, the phase u and the chemical potential μ, defined in Ω × [0,T] such that:

$$ \begin{array}{@{}rcl@{}} \partial_{t} u&=&\frac1{\mathsf{Pe}}\nabla\cdot\left( M(u)\nabla\mu\right)- \nabla\cdot(u\boldsymbol{v})\quad\quad\quad\quad\quad\text{in }{\Omega}\times (0,T), \end{array} $$
(1a)
$$ \begin{array}{@{}rcl@{}} \mu&=&F^{\prime}(u)-\varepsilon^{2}{\Delta} u\qquad\qquad\qquad\qquad\qquad\quad\text{in }{\Omega}\times (0,T), \end{array} $$
(1b)
$$ \begin{array}{@{}rcl@{}} \nabla u\cdot \boldsymbol{n}&=&\left( M(u)\nabla\mu-u\boldsymbol{v}\right)\cdot \boldsymbol{n}=0 \!\qquad\qquad\qquad\quad \text{on }\partial{\Omega}\times (0,T), \end{array} $$
(1c)
$$ \begin{array}{@{}rcl@{}} u(0)&=&u_{0}\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\! \text{in }{\Omega}. \end{array} $$
(1d)

The phase field variable u localizes the two different phases at the values u = 0 and u = 1, while the interface occurs when 0 < u < 1. Here Ω is a bounded polygonal domain in \(\mathbb R^{d}\) (d = 2 or 3 in practice), with boundary Ω whose outward-pointing unit normal is denoted n. Parameters are Pe > 0 the Péclet number of the flow and ε > 0 related to the width interface. For simplicity, we take Pe = 1. The given initial phase is denoted by u0. The classical Cahn–Hilliard equation (CH) corresponds to the case without convection, i.e. v = 0.

We consider the double-well Ginzburg-Landau potential

$$ F(u)=\frac{1}{4}u^{2}(1-u)^{2} $$

and the degenerate mobility

$$ M(u)=u(1-u). $$
(2)

This type of degenerate mobility, vanishing at the pure phases u = 0 and u = 1, implies the following maximum principle property (see [16] for the CH equation): if 0 ≤ u0 ≤ 1 in \(\overline {\Omega }\) then 0 ≤ u(⋅,t) ≤ 1 in \(\overline {\Omega }\) for t ∈ (0,T). This property does not hold for constant mobility, and in general for fourth-order parabolic equations. We are concerned in numerical schemes maintaining this property at the discrete level.

Cahn-Hilliard equation was originally introduced in [8, 9] as a phenomenological model of phase separation in a binary alloy and it has been successfully applied in different contexts as a model which characterizes phase segregation and interface dynamics. Applications include tumor tissues [34, 35], image processing [6] and multi-phase fluid systems (see, e.g. the review [26]). The dynamics of this equation comprises a first stage in which a rapid separation process takes place, leading to the creation of interfaces, followed by a second stage where aggregation and development of bulk phases separated by thin diffuse interfaces take place. These two phenomena (separation and aggregation) are characterized by different temporal and spatial scales which, together with the non-linear and fourth-order nature of CH, makes efficiently solving this equation an interesting computational challenge.

The interface is represented as a layer of small thickness of order ε and the auxiliary function u (the phase-field function) is used to localize the (pure) phases u = 0 and u = 1. The chemical potential μ is the variational derivative of the Helmholtz free energy E(u) with respect to u, μ = uE(u), where

$$ \begin{array}{@{}rcl@{}} E(u)={\int}_{\Omega}\left( \frac{\varepsilon^{2}}{2} \vert\nabla u\vert^{2}+ F(u)\right) dx. \end{array} $$
(3)

Then, the dynamics of CH correspond to the physical energy dissipation of ut = −∇⋅ J(u), where J(u) = −M(u)∇μ = −M(u)∇uE(u). For existence of solution for CH equation with a degenerate mobility of the type (2), besides bounds for the phase over time, we can refer to [16]. A review and many variants can be read in [30].

Numerical approximation of CH is a research topic of great interest due to the wide spectrum of its applications, as well as a source of interesting mathematical challenges due to the computational issues referred above. Time approximations include both linear schemes [21] and non-linear ones, where a Newton method is usually employed. Although some authors (see, e.g. [15]) consider the fourth-order equation obtained by substitution in the equation (1a) of the expression of μ given in (1b), the spatial discretization is usually based on the mixed phase field/chemical potential formulation presented in (??). These equations can be approximated by classical numerical methods, including (a) finite differences (see, e.g. [12, 20] for constant mobility M(u) ≡ 1 and [25] for degenerate mobility similar to (2), see also [32] for applications in crystallography); (b) finite volumes (see, e.g. [4, 13] for degenerate mobility schemes); (c) and, above all, finite elements (see the precursory papers [15] (constant mobility) and [5] (degenerate mobility)).

In recent years, an increasing number of advances has been published exploring the use of discontinuous Galerkin (DG) methods both for constant [2, 24] and degenerate mobility [18, 28, 33, 36]. Although DG methods lead in general to more complex algorithms and to bigger amounts of degrees of freedom, they exhibit some benefits of which one can take advantage also in CH equations, for instance doing mesh refining and adaptivity [2]. In this paper, we are interested in the following relevant point: the possibility of designing conservative schemes preserving the maximum-principle 0 ≤ u(t,x) ≤ 1 at the discrete level, even for the CCH variant of CH equations, namely where a convective term models the convection or transport of the phase-field.

The idea of introducing a convection term in the CH equations modeling a phase-field driven by a flow, arriving at the CCH problem (??), arouses great interest, specially in the case where the phase field is coupled with fluid equations.

To design adequate numerical approximations of these CCH equations is an extremely challenging problem because it adds the hyperbolic nature of convective terms to the inherent difficulties of the CH equation. There are not many numerical methods in the literature on this topic, although some interesting contributions can be found. The first of them [3] is worth mentioning for the application of high-resolution spectral Fourier schemes. We also underline the papers [7, 27], based on finite volume approximations, and also [11, 22], where finite difference techniques are applied for Navier-Stokes CH equations.

Some authors have recently worked in DG methods for spatial discretization of the CCH problem. Using DG schemes in this context is natural because they are well-suited in convection-dominated problems, even when the Péclet number is substantially large. For instance, the work of [24] is focused on construction and convergence analysis of a DG method for the CCH equations with constant mobility, applying an interior penalty technique to the second-order terms and an upwind operator for discretization of the convection term. Authors of [18] consider CCH with degenerate mobility applying also an interior penalty to second-order terms in the mixed form (??) and a more elaborated upwinding technique, based on a sigmoid function, to the convective term.

These previous works show that DG methods are well suited for the approximation of CCH equations, obtaining optimal convergence order and maintaining most of the properties of the continuous model. But they have room for improvement in one specific question: getting a maximum principle for the phase in the discrete case. Although there are some works in which the maximum principle for the CH model is preserved at the discrete level using finite volumes [4] and flux limiting for DG [19], to the best knowledge of the authors, no scheme has been published in which an upwind DG technique is used to obtain a discrete maximum principle property.

Our main contribution in this paper is made in this regard: the development of numerical schemes which guarantee punctual estimates of the phase at the discrete level, in addition to maintaining the rest of continuous properties of (??). The main idea is to introduce an upwind DG discretization associated to the transport of the phase by the convective velocity v, but also associated to the degenerate mobility M(u). The main result in this work is Theorem 3.11, where we show that, for a piecewise constant approximation of the phase, our DG scheme preserves the maximum principle, that is the discrete phase is also bounded in [0,1].

Our scheme is specifically designed for the CH equation with non-singular (polynomial) chemical potential and degenerate mobility. For the CH equation with the logarithmic Flory-Huggins potential, a strict maximum principle is satisfied without the need of degenerate mobility. In this case, designing maximum principle-preserving numerical schemes is a different issue. See, for instance, the paper [10] where a finite difference numerical is proposed in this regard.

The paper is organized as follows: In Section 2, we fix notation and review DG techniques for discretization of conservative laws. We consider the linear convection given by a velocity field and show that the usual linear upwind DG numerical scheme with P0 approximation preserves positivity in general, and the maximum principle in the divergence-free case. In Section 3, we consider the CCH problem (??). Using a truncated potential and a convex-splitting time discretization, we obtain a scheme satisfying an energy law, which is decreasing for the CH case (v = 0). Then, we introduce our fully discrete scheme (3.2) providing a maximum principle for the discrete phase variable. Finally, in Section 4, we present several numerical tests, comparing our DG scheme with two different space discretizations found in the literature: classical continuous P1 finite elements and the SIP+upwind sigmoid DG approximation proposed in [18]. We show error order tests and also we present qualitative comparisons where the maximum principle of our scheme is confirmed (and it is not conserved by the other ones).

2 DG discretization of conservative laws

Throughout this section, we are going to study the problem of approximating linear and non-linear conservative laws preserving the positivity of the continuous models. To this purpose, we introduce an upwinding DG scheme which follows the ideas of the paper [23] based on an upwinding finite volume method.

2.1 Notation

Firstly, we are going to set the notation that will be used from now on. Let \({\Omega }\subset \mathbb {R}^{d}\) be a bounded polygonal domain. Then, we consider a shape-regular triangular mesh \(\mathcal {T}_{h}=\{K\}_{K\in \mathcal {T}_{h}}\) of size h over Ω, and we denote as \(\mathcal {E}_{h}\) the set of the edges of \(\mathcal {T}_{h}\) (faces if d = 3) distinguishing between the interior edges \({\mathcal {E}_{h}^{i}}\) and the boundary edges \({\mathcal {E}_{h}^{b}}\). Then, \(\mathcal {E}_{h}={\mathcal {E}_{h}^{i}}{\cup \mathcal {E}_{h}^{b}}\).

According to Fig. 1, we will consider for an interior edge \(e{\in \mathcal {E}_{h}^{i}}\) shared by the elements K and L, i.e. e = KL, that the associated unit normal vector ne is exterior to K pointing to L. Moreover, for the boundary edges \(e{\in \mathcal {E}_{h}^{b}}\), the unit normal vector ne will be pointing outwards of the domain Ω.

Fig. 1
figure 1

Orientation of the unit normal vector ne

Therefore, we can define the average{ {⋅} } and the jump[ [⋅] ] of a scalar function v on an edge \(e\in \mathcal {E}_{h}\) as follows:

$$ \left\{\! \left\{ v \right\} \!\right\}:=\left\{ \begin{array}{ll} \frac{v_{K}+v_{L}}{2}&\text{if } e=\partial K\cap\partial L{\in\mathcal{E}_{h}^{i}}\\ v_{K}&\text{if }e=\partial K{\in\mathcal{E}_{h}^{b}} \end{array}\right., $$
$$ \left[\!\left[v\right]\!\right]:= \left\{\begin{array}{ll} v_{K}-v_{L}&\text{if } e=\partial K\cap\partial L{\in\mathcal{E}_{h}^{i}}\\ v_{K}&\text{if }e=\partial K{\in\mathcal{E}_{h}^{b}} \end{array}\right.. $$

We will denote by \(\mathbb {P}^{\text {disc}}_{k}(\mathcal {T}_{h})\) and \(\mathbb {P}^{\text {cont}}_{k}(\mathcal {T}_{h})\) the spaces of discontinuous and continuous functions, respectively, whose restriction to the elements K of \(\mathcal {T}_{h}\) are polynomials of degree k ≥ 0.

Moreover, we will take an equispaced partition 0 = t0 < t1 < ⋯ < tN = T of the time domain [0,T] with Δt = tm+ 1tm the time step.

Finally, we set the following notation for the positive and negative parts of a scalar function v:

$$ v_{\oplus}:=\frac{\left|v\right| +v}{2}=\max\left\{v,0\right\}, \quad v_{\ominus}:=\frac{\left| v\right| -v}{2}=-\min\left\{v,0\right\}, \quad v=v_{\oplus} - v_{\ominus}. $$

2.2 Conservative laws

We consider the following non-linear conservative problem for v:

$$ v_{t} + \nabla\cdot \boldsymbol{F}(v)=0 \quad\text{en } {\Omega}\times (0,T), $$
(4)

where the flux F(⋅) is a vectorial continuous function.

Let \(S_{h}=\mathbb {P}^{\text {disc}}_{k}(\mathcal {T}_{h})\). Multiplying by any \(\overline {v}\in \mathcal {S}_{h}\) and using the Green Formula in each element \(K\in \mathcal {T}_{h}\):

$$ {\int}_{\Omega} \partial_t v \overline{v} - {\sum}_{K\in \mathcal{T}_{h}} {\int}_{K} \boldsymbol{F}(v)\cdot \nabla \overline{v} + {\sum}_{K\in \mathcal{T}_{h}} {\int}_{\partial K} \big(\boldsymbol{F}(v)\cdot \boldsymbol{n}_{K}\big) \overline{v} = 0, $$

where nK is the normal vector to K pointing outwards K. If v is a strong solution of (4), such that v is continuous over \(e\in \mathcal {E}_{h}\), we get:

$$ \begin{array}{@{}rcl@{}} {\int}_{\Omega} \partial_t v \overline{v} - {\sum}_{K\in \mathcal{T}_{h}} {\int}_{K} \boldsymbol{F}(v) \cdot\nabla \overline{v} + {\sum}_{e\in \mathcal{E}_{h}} {\int}_{e} \big(\boldsymbol{F}(v)\cdot \boldsymbol{n}_{e}\big) \left[\!\left[\overline{v}\right]\!\right] = 0. \end{array} $$
(5)

But, if we look for functions \(v\in \mathcal {S}_{h}\) which are discontinuous over \(e\in \mathcal {E}_{h}\), then the term F(v) ⋅ne in the last integral of (5) is not well defined and we need to approach it. Hence, the concept of numerical flux is used, taking expressions like Φ(vK,vL,ne) such that:

$$ {\int}_{e} \big(\boldsymbol{F}(v)\cdot \boldsymbol{n}_{e}\big) \left[\!\left[\overline{v}\right]\!\right] \approx {\int}_{e} \boldsymbol{\Phi}(v_{K},v_{L},\boldsymbol{n}_{e}) \left[\!\left[\overline{v}\right]\!\right]. $$

From now on, we will consider fluxes of the form

$$ \boldsymbol{F}(v)=M(v)\boldsymbol{\beta}, $$

with \(M=M(v)\in \mathbb {R}\) and \(\boldsymbol {\beta }=\boldsymbol {\beta }(x,t)\in \mathbb {R}^{d}\). Since in this paper we are interested in studying conservative problems defined over isolated domains, we impose from now on that the transport vector β satisfies the slip condition

$$ \boldsymbol{\beta}\cdot\boldsymbol{n}=0 \quad\text{on}\ \partial{\Omega}. $$
(6)

Remark 2.1

We will have to take into consideration the sign of \(M^{\prime }(v)\), i.e. if M(v) is non-increasing or non-decreasing, in order to work out a well-suited upwinding scheme. This is due to

$$ \begin{array}{@{}rcl@{}} \nabla\cdot\boldsymbol{F}(v)= \nabla\cdot(M(v)\boldsymbol{\beta})=M^{\prime}(v)\boldsymbol{\beta}\cdot\nabla v + M(v)\nabla\cdot\boldsymbol{\beta}. \end{array} $$
(7)

where

  • The first term \(M^{\prime }(v)\boldsymbol {\beta }\cdot \nabla v\) is a transport of v in the direction of \(M^{\prime }(v)\boldsymbol {\beta }\).

  • The second term M(v)∇⋅β can be seen as a reaction term with coefficient ∇⋅β.

It may be specially interesting the case β = −∇v, where the whole term ∇⋅ (M(v)β) = −∇⋅ (M(v)∇v) is a non-linear diffusion term.

2.3 Linear convection and positivity

Taking M(v) = v, we arrive at the linear conservative problem:

$$ \begin{array}{@{}rcl@{}} v_{t}+\nabla\cdot(v\boldsymbol{\beta})&=0&{\kern95pt}\text{in }{\Omega}\times(0,T), \end{array} $$
(8a)
$$ \begin{array}{@{}rcl@{}} v(0)&{\kern1pt}=v_{0}&{\kern131pt}\text{in }{\Omega}, \end{array} $$
(8b)

where \(\boldsymbol {\beta }\colon \overline {\Omega }\to \mathbb {R}^{d}\) is continuous.

Remark 2.2

The problem (??) is well-posed without imposing boundary conditions due to the slip condition (6) (it can be derived writing an integral expression of solution in terms of the characteristic curves, see for example [31]). In particular, this integral expression implies the positivity of the solution, namely, if v0 ≥ 0 in \(\overline {\Omega }\), then the solution v of (??) satisfies v ≥ 0 in \(\overline {\Omega }\times (0,T)\).

For the linear problem (8a), we introduce the upwind numerical flux

$$ \boldsymbol{\Phi}(v_{K},v_{L},\boldsymbol{n}_{e}):= (\boldsymbol{\beta}\cdot\boldsymbol{n}_{e})_{\oplus} v_{K}-(\boldsymbol{\beta}\cdot\boldsymbol{n}_{e})_{\ominus}v_{L}, $$
(9)

which leads to the following discrete scheme for (8a): Given \(v^{m}\in \mathcal {S}_{h}\), find \(v^{m+1}\in \mathcal {S}_{h}\) solving

$$ {\int}_{\Omega}\delta_{t} v^{m+1}\overline{v} +a_h^{\text{upw}}(\boldsymbol{\beta};{v^{m+1}_{\oplus}},{\overline{v}})=0,\quad\forall\overline{v}\in \mathcal{S}_{h}, $$
(10)

where

$$ \begin{array}{@{}rcl@{}} a_h^{\text{upw}}(\boldsymbol{\beta};{v},{\overline{v}}):= &-&{\sum}_{K\in\mathcal{T}_{h}}{\int}_{K} v (\boldsymbol{\beta}\cdot\nabla\overline{v}) \\ &+&{\sum}_{e{\in\mathcal{E}_{h}^{i}}, e=K\cap L}{\int}_{e}\left( (\boldsymbol{\beta}\cdot\boldsymbol{n}_{e})_{\oplus}v_{K} -(\boldsymbol{\beta}\cdot\boldsymbol{n}_{e})_{\ominus} v_{L}\right) [\![\overline{v}]\!] \end{array} $$
(11)

and δtvm+ 1 = (vm+ 1vm)/Δt denotes a discrete time derivative.

Notice that we have truncated v by its positive part v, taking into account that the solution of the continuous model (8a) is positive.

Remark 2.3

The numerical flux Φ(vK,vL,ne) giving in (9) can be rewritten as follows:

$$ \boldsymbol{\Phi}(v_{K},v_{L},\boldsymbol{n}_{e})=(\boldsymbol{\beta}\cdot\boldsymbol{n}_{e})\left\{\!\left\{v\right\}\!\right\}+\frac{1}{2}\vert\boldsymbol{\beta}\cdot\boldsymbol{n}_{e}\vert\left[\!\left[ v \right]\!\right], $$

where \((\boldsymbol {\beta }\cdot \boldsymbol {n}_{e})\left \{\!\left \{v\right \}\!\right \}\) is a centered-flux term and \(\frac {1}{2} \vert \boldsymbol {\beta } \cdot \boldsymbol {n}_{e} \vert \left [\!\left [ v \right ]\!\right ]\) is the upwind term.

Now, we will prove that if we set \(\mathcal {S}_{h}=\mathbb {P}^{\text {disc}}_{0}(\mathcal {T}_{h})\), the scheme (10) preserves the positivity of the continuous model. In this case, since \({\sum }_{K\in \mathcal {T}_{h}}{\int \limits }_{K} (\boldsymbol {\beta }\cdot \nabla \overline {v})v=0\), the upwind term (11) reduces to

$$ a_h^{\text{upw}}(\boldsymbol{\beta};{v},{\overline{v}}) = {\sum}_{e{\in\mathcal{E}_{h}^{i}}, e=K\cap L} {\int}_{e} \left( (\boldsymbol{\beta}\cdot\boldsymbol{n}_{e})_{\oplus}v_{K}-(\boldsymbol{\beta}\cdot\boldsymbol{n}_{e})_{\ominus}v_{L}\right) \left[\!\left[\overline{v}\right]\!\right]. $$
(12)

Theorem 2.4 (DG scheme (10) preserves positivity)

If \(\mathcal {S}_{h}=\mathbb {P}^{\text {disc}}_{0}(\mathcal {T}_{h})\), then the scheme (10) preserves positivity, that is, for any \(v^{m}\in \mathcal {S}_{h}\) with vm ≥ 0 in \(\overline {\Omega }\), then any solution vm+ 1 of (10) satisfies vm+ 1 ≥ 0 in \(\overline {\Omega }\).

Proof

Taking the following test function

$$ \begin{array}{@{}rcl@{}} \overline{v}= \left\{\begin{array}{ll} (v_{K^{*}}^{m+1})_{\ominus}&\text{in }K^{*}\\ 0&\text{out of }K^{*} \end{array}\right., \quad \overline{v}\in\mathcal{S}_{h}, \end{array} $$

where K is an element of \(\mathcal {T}_{h}\) such that \(v_{K^{*}}^{m+1}=\min \limits _{K\in \mathcal {T}_{h}}v_{K}^{m+1}\), the scheme (10) becomes

$$ \left| K^{*}\right| \left( \delta_{t} v_{K^{*}}^{m+1}\right)(v_{K^{*}}^{m+1})_{\ominus}=-a_h^{\text{upw}}(\boldsymbol{\beta};{v^{m+1}_{\oplus}},(v_{K^{*}}^{m+1})_{\ominus}). $$
(13)

By applying for all \(L\in \mathcal {T}_{h}\), \(v_{L}^{m+1}\ge v_{K^{*}}^{m+1}\) hence in particular \((v_{L}^{m+1})_{\oplus }\ge (v_{K^{*}}^{m+1})_{\oplus }\) (the positive part is a non-decreasing function), we deduce

$$ \begin{array}{@{}rcl@{}} &&\!\!\!\!\!a_h^{\text{upw}}(\boldsymbol{\beta}; v^{m+1}_{\oplus},(v_{K^{*}}^{m+1})_{\ominus})=\\ &&\qquad={\sum}_{e{\in\mathcal{E}_{h}^{i}}, e=K^{*}\cap L}{\int}_{e}\left( (\boldsymbol{\beta}\cdot\boldsymbol{n}_{e})_{\oplus}(v_{K^{*}}^{m+1})_{\oplus}-(\boldsymbol{\beta}\cdot\boldsymbol{n}_{e})_{\ominus}(v_{L}^{m+1})_{\oplus}\right)(v_{K^{*}}^{m+1})_{\ominus}\\ &&\qquad\le{\sum}_{e{\in\mathcal{E}_{h}^{i}}, e= K^{*}\cap L}{\int}_{e}\left( (\boldsymbol{\beta}\cdot\boldsymbol{n}_{e})_{\oplus}(v_{K^{*}}^{m+1})_{\oplus}-(\boldsymbol{\beta}\cdot\boldsymbol{n}_{e})_{\ominus}(v_{K^{*}}^{m+1})_{\oplus}\right)(v_{K^{*}}^{m+1})_{\ominus}. \end{array} $$

Since \((v_{K^{*}}^{m+1})_{\oplus }(v_{K^{*}}^{m+1})_{\ominus }=0\) then

$$ a_h^{\text{upw}}(\boldsymbol{\beta};v^{m+1}_{\oplus},(v_{K^{*}}^{m+1})_{\ominus})\le 0. $$

Therefore, from (13),

$$ \vert K^{*}\vert \left( \delta_{t} v_{K^{*}}^{m+1}\right)(v_{K^{*}}^{m+1})_{\ominus}\ge0. $$

On the other hand,

$$ 0\le \vert K^{*}\vert \left( \delta_{t} v_{K^{*}}^{m+1}\right)(v_{K^{*}}^{m+1})_{\ominus} = -\frac{\vert K^{*}\vert }{\Delta t}\left( (v_{K^{*}}^{m+1})_{\ominus}^{2}+v_{K^{*}}^{m}(v_{K^{*}}^{m+1})_{\ominus}\right) \le 0; $$

hence, \((v_{K^{*}}^{m+1})_{\ominus }=0\). Thanks to the choice of K, we can assure that vm+ 1 ≥ 0. □

Theorem 2.5 (Existence of DG scheme (10))

Assume that \(\mathcal {S}_{h}=\mathbb {P}^{\text {disc}}_{0}(\mathcal {T}_{h})\). For any \(v^{m}\in \mathcal {S}_{h}\), there is at least one solution \(v^{m+1}\in \mathcal {S}_{h}\) of the scheme (10).

Proof

Consider the following well-known theorem:

Theorem 2.6 (Leray-Schauder fixed point theorem)

Let \(\mathcal {X}\) be a Banach space and let \(T\colon \mathcal {X}\longrightarrow \mathcal {X}\) be a continuous and compact operator. If the set

$$ \{x\in\mathcal{X}\colon x=\alpha T(x)\quad\text{for some } 0\le\alpha\le1\} $$

is bounded (with respect to α), then T has at least one fixed point.

Given a function \(w\in \mathbb {P}^{\text {disc}}_{0}(\mathcal {T}_{h})\) with w ≥ 0, we are going to define the operator \(T\colon \mathbb {P}^{\text {disc}}_{0}(\mathcal {T}_{h})\longrightarrow \mathbb {P}^{\text {disc}}_{0}(\mathcal {T}_{h})\) such that \(T(\widehat {v})=v\) where v is the unique solution of the linear scheme:

$$ \begin{array}{@{}rcl@{}} v\in \mathbb{P}^{\text{disc}}_{0}(\mathcal{T}_{h}), \quad {\int}_{\Omega}\frac{v-w}{\Delta t}\overline{v}&=-a_h^{\text{upw}}(\boldsymbol{\beta};\widehat{v}_{\oplus},\overline{v}),\quad\forall\overline{v}\in \mathbb{P}^{\text{disc}}_{0}(\mathcal{T}_{h}). \end{array} $$
(14)

The idea is to use the Leray-Schauder fixed point Theorem 2.6 to the operator T. First of all, T is well defined.

Secondly, we will check that T is continuous. Let \(\{\widehat {v}_{j}\}_{j\in \mathbb {N}}\subset \mathbb {P}^{\text {disc}}_{0}(\mathcal {T}_{h})\) be a sequence such that \(\lim _{j\to \infty }\widehat {v}_{j}=\widehat {v}\). Taking into account that all norms are equivalent in \(\mathbb {P}^{\text {disc}}_{0}(\mathcal {T}_{h})\) since it is a finite-dimensional space, the convergence \(\widehat v_{j}\to \widehat v\) is equivalent to the convergence elementwise \( (\widehat v_{j})_{K}\to \widehat v_{K}\) for every \(K\in \mathcal {T}_{h}\) (this may be seen, for instance, by using the norm \(\|\cdot \|_{L^{\infty }({\Omega })}\)). Taking limits when \(j\to \infty \) in the scheme (14) (with \(\widehat {v} :=\widehat {v}_{j}\) and \(v := T(\widehat v_{j})\)), and using the notion of convergence elementwise, we get that

$$\lim_{j\to \infty} T(\widehat v_{j})=T(\widehat v)=T\left( \lim_{j\to \infty}\widehat v_{j}\right);$$

hence, T is continuous.

In particular, as T is a continuous operator defined over \(\mathbb {P}^{\text {disc}}_{0}(\mathcal {T}_{h})\), which is finite-dimensional, T is also compact.

Finally, let us prove that the set

$$B=\{v\in\mathbb{P}^{\text{disc}}_{0}(\mathcal{T}_{h})\colon v=\alpha T(v)\quad\text{for some } 0\le\alpha\le1\}$$

is bounded. The case α = 0 is trivial so we will assume that α ∈ (0,1]. If vB, then v is the solution of the scheme

$$ \begin{array}{@{}rcl@{}} v\in \mathbb{P}^{\text{disc}}_{0}(\mathcal{T}_{h}), \quad {\int}_{\Omega}\frac{v-\alpha w}{\Delta t}\overline{v}&=-\alpha a_h^{\text{upw}}(\boldsymbol{\beta};{v_{\oplus}},{\overline{v}}),\quad\forall\overline{v}\in \mathbb{P}^{\text{disc}}_{0}(\mathcal{T}_{h}). \end{array} $$
(15)

Now, testing (15) by \(\overline v=1\), we get that

$${\int}_{\Omega} v=\alpha{\int}_{\Omega} w,$$

and, since w ≥ 0, and since it can be proved that v ≥ 0 using the same arguments than in Theorem 2.4, we get that

$${\left\|v\right\|}_{L^{1}({\Omega})}\le {\left\|w\right\|}_{L^{1}({\Omega})}.$$

Hence, since \(\mathbb {P}^{\text {disc}}_{0}(\mathcal {T}_{h})\) is a finite-dimensional space where the norms are equivalent, we have proved that B is bounded. Thus, using the Leray-Schauder fixed point Theorem 2.6, there is a solution of the scheme (10). □

Let us focus on the the following linear scheme (without truncating v by its positive part, v): Given \(v^{m}\in \mathbb {P}^{\text {disc}}_{0}(\mathcal {T}_{h})\), find \(v^{m+1}\in \mathbb {P}^{\text {disc}}_{0}(\mathcal {T}_{h})\) such that, for every \(\overline {v}\in \mathbb {P}^{\text {disc}}_{0}(\mathcal {T}_{h})\):

$$ {\int}_{\Omega}\delta_{t} v^{m+1}\overline{v} +a_h^{\text{upw}}(\boldsymbol{\beta};{v^{m+1}},{\overline{v}})=0. $$
(16)

It is well-known (see, e.g. [14] and references therein) that (16) has a unique solution. Since we have shown positivity of the non-linear truncated scheme (10), then any solution of (10) is the unique solution of (16). This argument implies uniqueness of (10) and positivity of (16).

Corollary 2.7 (Linear DG scheme (16) preserves positivity)

For any \(v^{m}\in \mathbb {P}^{\text {disc}}_{0}(\mathcal {T}_{h})\) with vm ≥ 0 in \(\overline {\Omega }\), the unique solution vm+ 1 of the linear scheme (16) is positive, i.e. vm+ 1 ≥ 0 in \(\overline {\Omega }\).

2.4 Linear convection with incompressible velocity and maximum principle

Now, let us focus on the particular case of the conservation problem (??) where \(\boldsymbol {\beta }\colon \overline {\Omega }\to \mathbb {R}^{d}\) is continuous and incompressible, i.e. ∇⋅β = 0 in Ω. In this case, the solution of the problem (??), satisfies the following maximum principle (it can be proved, for instance, using the characteristics method as in Remark 2.2):

$$\min_{\overline{\Omega}}{v_{0}}\le v\le\max_{\overline{\Omega}}{v_{0}}\quad \text{in}\ \overline{\Omega}\times (0,T) .$$

We are going to show that the solution of the linear scheme (16) (without truncating v) preserves this maximum principle. The proof is based on the fact that, as consequence of the divergence theorem, one has

$$ \begin{array}{@{}rcl@{}} {\int}_{\partial K}\boldsymbol{\beta}\cdot\boldsymbol{n}_{K}=0,\quad\forall K\in\mathcal{T}_{h} . \end{array} $$
(17)

Proposition 2.8 (Linear DG (16) preserves the maximum principle)

For any \(v^{m}\in \mathbb {P}^{\text {disc}}_{0}(\mathcal {T}_{h})\), the solution \(v^{m+1}\in \mathbb {P}^{\text {disc}}_{0}(\mathcal {T}_{h})\) of the scheme (16) satisfies the maximum principle, that is

$$\min_{\overline{\Omega}}{v^{m}}\le v^{m+1}\le\max_{\overline{\Omega}}{v^{m}}\quad \text{in }{\overline{\Omega}}.$$

Proof

First, we will prove that \(v^{m+1}\ge \min \limits _{\overline {\Omega }} v^{m}\). Let us denote \(v_{min}=\min \limits _{\overline {\Omega }} v^{m}\). Taking the following test function

$$ \overline{v}= \left\{\begin{array}{ll} (v_{K^{*}}^{m+1} - v_{min})_{\ominus}&\text{in }K^{*}\\ 0&\text{out of }K^{*} \end{array}\right., $$

where K is an element of \(\mathcal {T}_{h}\) such that the value \(v_{K^{*}}^{m+1}=\min \limits _{K\in \mathcal {T}_{h}}v_{K}^{m+1}\), the scheme (16) becomes

$$ \vert K^{*}\vert \delta_{t} v_{K^{*}}^{m+1}(v_{K^{*}}^{m+1} - v_{min})_{\ominus}=-a_h^{\text{upw}}({\boldsymbol{\beta}};{v^{m+1}},{(v_{K^{*}}^{m+1}- v_{min})_{\ominus}}). $$

Now, as we have chosen K we can assure that \(v_{L}^{m+1}\ge v_{K^{*}}^{m+1}\) for all \(L\in \mathcal {T}_{h}\). Hence, using (17), one has

$$ \begin{array}{@{}rcl@{}} &&a_h^{\text{upw}}({\boldsymbol{\beta}};{v^{m+1}},{(v_{K^{*}}^{m+1}- v_{min})_{\ominus}})=\\ &=&\sum\limits_{e{\in\mathcal{E}_{h}^{i}}, e=K^{*}\cap L}{\int}_{e}\left( (\boldsymbol{\beta}\cdot\boldsymbol{n}_{e})_{\oplus}v_{K^{*}}^{m+1}-(\boldsymbol{\beta}\cdot\boldsymbol{n}_{e})_{\ominus}v_{L}^{m+1}\right)(v_{K^{*}}^{m+1}- v_{min})_{\ominus}\\ &\le&\sum\limits_{e{\in\mathcal{E}_{h}^{i}}, e= K^{*}\cap L}{\int}_{e}\left( (\boldsymbol{\beta}\cdot\boldsymbol{n}_{e})_{\oplus}v_{K^{*}}^{m+1}-(\boldsymbol{\beta}\cdot\boldsymbol{n}_{e})_{\ominus}v_{K^{*}}^{m+1}\right)(v_{K^{*}}^{m+1}-v_{min})_{\ominus}\\&=&v_{K^{*}}^{m+1}(v_{K^{*}}^{m+1}- v_{min})_{\ominus}\sum\limits_{e{\in\mathcal{E}_{h}^{i}}, e=K^{*} \cap L}{\int}_{e}(\boldsymbol{\beta}\cdot\boldsymbol{n}_{e})=0. \end{array} $$

Therefore,

$$ \vert K^{*}\vert \delta_{t} v_{K^{*}}^{m+1}(v_{K^{*}}^{m+1}- v_{min})_{\ominus}\ge0. $$

Moreover,

$$ \begin{array}{@{}rcl@{}} 0&\le& \vert K^{*}\vert (\delta_{t} v_{K^{*}}^{m+1})(v_{K^{*}}^{m+1}- v_{min})_{\ominus} \\&=&\frac{\vert K^{*}\vert }{\Delta t}\left( (v_{K^{*}}^{m+1}- v_{min})+(v_{min}-v_{K^{*}}^{m})\right)(v_{K^{*}}^{m+1}- v_{min})_{\ominus} \\ &=& \frac{\vert K^{*}\vert }{\Delta t}\left( -(v_{K^{*}}^{m+1}- v_{min})_{\ominus}^{2}+(v_{min}-v_{K^{*}}^{m})(v_{K^{*}}^{m+1}-v_{min})_{\ominus}\right) \le0, \end{array} $$

then we have proved that \((v_{K^{*}}^{m+1}- v_{min})_{\ominus }=0\). Hence, from the choice of K, we can assure \(v^{m+1}\ge \min \limits _{\overline {\Omega }}v^{m}\).

Now, we will prove that \(v^{m+1}\le \max \limits _{\overline {\Omega }} v^{m}\). Let us denote \(v_{max}=\max \limits _{\overline {\Omega }} v^{m}\). Taking the following test function

$$ \overline{v}= \left\{\begin{array}{ll} (v_{K^{*}}^{m+1}- v_{max})_{\oplus}&\text{in }K^{*}\\ 0&\text{out of }K^{*} \end{array}\right., $$

where K is an element of \(\mathcal {T}_{h}\) such that the value \(v_{K^{*}}^{m+1}=\max \limits _{K\in \mathcal {T}_{h}}v_{K}^{m+1}\) and using similar arguments to those above, we arrive at

$$ \vert K^{*}\vert \delta_{t} v_{K^{*}}^{m+1}(v_{K^{*}}^{m+1}- v_{max})_{\oplus}\le0. $$

Moreover,

$$ \begin{array}{@{}rcl@{}} 0&\le\frac{\vert K^{*}\vert }{\Delta t}\left( (v_{K^{*}}^{m+1}- v_{max})^{2}_{\oplus}+(v_{max}-v_{K^{*}}^{m})(v_{K^{*}}^{m+1}-v_{max})_{\oplus}\right)\\&=\frac{\vert K^{*}\vert }{\Delta t}\left( (v_{K^{*}}^{m+1}- v_{max})+(v_{max}-v_{K^{*}}^{m})\right)(v_{K^{*}}^{m+1}- v_{max})_{\oplus}\\&=\vert K^{*}\vert \delta_{t} v_{K^{*}}^{m+1}(v_{K^{*}}^{m+1}- v_{max})_{\oplus}\le0, \end{array} $$

then we have proved that \((v_{K^{*}}^{m+1}- v_{max})_{\oplus }=0\). From the choice of K, we can assure that \(v^{m+1}\le \max \limits _{\overline {\Omega }}v^{m}\). □

3 Cahn-Hilliard with degenerate mobility and incompressible convection

At this point, given \(\boldsymbol {v}\colon {\Omega }\times (0,T)\longrightarrow \mathbb {R}^{d}\) a continuous incompressible velocity field satisfying the slip condition (6), we are in position to consider the CCH problem (??).

Remark 3.1

Any smooth enough solution (u,μ) of the CCH model (??) satisfies the maximum principle 0 ≤ u ≤ 1 in \(\overline {\Omega }\times (0,T)\) whenever 0 ≤ u0 ≤ 1 in \(\overline {\Omega }\). The proof of this statement is a straightforward consequence of Remark 2.2.

  • To prove that u ≥ 0, it is enough to notice that u is the solution of (??) with β := −(1 − u)∇μ + v and to use Remark 2.2.

  • To check that u ≤ 1 we make the change of variables w := 1 − u and, using that ∇⋅v = 0, notice that w is the solution of (??) with β := (1 − w)(∇μ + v). Then, we just use Remark 2.2.

Owing to this maximum principle, the following \(C^{2}(\mathbb {R})\) truncated potential is considered

$$ F(u):= \frac{1}{4} \left\{\begin{array}{lll} u^{2} & u<0,\\ u^{2}(1-u)^{2} & u\in[0,1],\\ (u-1)^{2} & u>1. \end{array}\right. $$
(18)

This truncated potential will allow us to define a linear time discrete convex-splitting scheme satisfying an energy law (where the energy is decreasing in the case v = 0) (see Section 3.1).

Assume 0 ≤ u0 ≤ 1 in \(\overline {\Omega }\). The weak formulation of problem (??) consists of finding (u,μ) such that, u(t) ∈ H1(Ω), μ(t) ∈ H1(Ω) with tu(t) ∈ H1(Ω), M(u(t))∇μ(t) ∈ L2(Ω) a.e. t ∈ (0,T), and satisfying the following variational problem a.e. t ∈ (0,T) for every \(\overline {\mu },\overline {u}\in H^{1}({\Omega })\):

$$ \begin{array}{@{}rcl@{}} \langle \partial_{t} u(t),\overline{\mu} \rangle &=-({M(u(t))\nabla\mu(t)-u(t)\boldsymbol{v}(t)},{\nabla\overline{\mu}})_{\left( L^2({\Omega})\right)^d}, \end{array} $$
(19a)
$$ \begin{array}{@{}rcl@{}} ({\mu(t)},{\overline{u}})_{L^2({\Omega})}&=\varepsilon^{2} ({\nabla u(t)},{\nabla\overline{u}})_{\left( L^2({\Omega})\right)^d}+({ F^{\prime}(u(t))},{\overline{u}})_{L^2({\Omega})}, \end{array} $$
(19b)

with the initial condition u(0) = u0 in Ω.

Remark 3.2

By taking \(\overline {\mu }=1\) in (19a), any solution u of (??) conserves the mass, because

$$\frac{d}{dt}{\int}_{\Omega} u(x,t)dx=0.$$

Remark 3.3

By taking \(\overline {\mu }=\mu (t)\) and \(\overline {u}=\partial _{t} u(t) \) in (??), and adding the resulting expressions, one has that any solution (u,μ) of (??) satisfies the following energy law

$$ \begin{array}{@{}rcl@{}} {}\frac{d }{dt}E(u(t))&+\displaystyle{\int}_{\Omega} M(u(x,t))\vert\nabla\mu(x,t)\vert^{2}dx = \displaystyle{\int}_{\Omega} u(x,t) \boldsymbol{v}(x,t) \cdot \nabla\mu(x,t) dx , \end{array} $$
(20)

where \(E\colon H^{1}({\Omega })\longrightarrow \mathbb {R}\) is the Helmholtz free energy

$$ E(u):={\int}_{\Omega}\left( \frac{\varepsilon^{2}}{2}\vert\nabla u\vert^{2}+ F(u)\right)dx. $$
(21)

Indeed, by applying the chain rule we get

$$ \begin{array}{@{}rcl@{}} \frac{d }{dt} E(u(t))&=&\left\langle\frac{\delta E}{\delta u}(u(t)) ,\partial_{t} u(t)\right\rangle ={\int}_{\Omega}\mu(x,t)\partial_{t} u(x,t)dx \\&=&-{\int}_{\Omega} M(u(x,t))\left|\nabla\mu(x,t)\right|^{2}dx + {\int}_{\Omega} u(x,t) \boldsymbol{v}(x,t) \cdot \nabla\mu(x,t) dx. \end{array} $$

In particular, in the CH case (v = 0), the energy E(u(t)) is dissipative. Contrarily, to the best knowledge of the authors, for the CCH problem with v≠ 0, there is no evidence of the existence of a dissipative energy.

3.1 Convex splitting time discretization

Now, we are ready to focus on a convex splitting time discretization (of Eyre’s type [17] ) of (??). Specially, we decompose the truncated potential (18) as follows:

$$ F(u)= F_{\text{i}}(u)+ F_{\text{e}}(u), $$

where

$$F_{\text{i}}(u):= \frac{3}{8} u^{2} , \qquad F_{\text{e}}(u):= \frac{1}{4} \begin{cases} -\frac{1}{2}u^{2} & u<0,\\ u^{4}-2u^{3}-\frac{1}{2}u^{2} & u\in[0,1],\\ 1-2u-\frac{1}{2}u^{2} & u>1. \end{cases}$$

It can be easily proved that Fi(u) is a convex operator, which will be treated implicitly whereas Fe(u) is a concave operator that will be treated explicitly. Then, we consider the following convex Ei(u(t)) and concave Ee(u(t)) energy terms:

$$ \begin{array}{@{}rcl@{}} E_{\text{i}}(u)&:=& \frac{\varepsilon^{2}}{2} {\int}_{\Omega}\vert\nabla u(x)\vert^{2}dx+{\int}_{\Omega} F_{\text{i}}(u(x))dx,\\ E_{\text{e}}(u)&:=& {\int}_{\Omega} F_{\text{e}}(u(x))dx, \end{array} $$

such that the free energy (21) is split as E(u) = Ei(u) + Ee(u).

Finally, we define the following time discretization of (??): find um+ 1H1(Ω) and μm+ 1H1(Ω) such that, for every \(\overline {\mu },\overline {u}\in H^{1}({\Omega })\):

$$ \begin{array}{@{}rcl@{}} ({\delta_{t}u^{m+1}},{\overline{\mu}})_{L^2({\Omega})}& = &-({M(u^{m+1})_{\oplus}\nabla\mu^{m+1}-u^{m+1}\boldsymbol{v}(t_{m+1})},{\nabla\overline{\mu}})_{(L^2({\Omega}))^{d}}, \end{array} $$
(22a)
$$ \begin{array}{@{}rcl@{}} ({\mu^{m+1}},{\overline{u}})_{L^2({\Omega})}& = &\varepsilon^{2} ({\nabla u^{m+1}},{\nabla\overline{u}})_{(L^2({\Omega}))^{d}}+({f(u^{m+1},u^{m})},{\overline{u}})_{L^2({\Omega})}, \end{array} $$
(22b)

where we denote the convex-implicit and concave-explicit linear approximation of the potential as follows

$$ \begin{array}{@{}rcl@{}} f(u^{m+1},u^{m})&:=& F_{\text{i}}^{\prime}(u^{m+1})+F_{\text{e}}^{\prime}(u^{m})\\ &=& \frac{3}{4}u^{m+1}+ \frac{1}{4} \left\{\begin{array}{ll} -u^{m}, & u^{m}\in(-\infty,0),\\ 4 (u^{m})^{3}-6(u^{m})^{2}-u^{m}, & u^{m}\in[0,1],\\ -\left( u^{m}+2\right), & u^{m}\in(1,+\infty). \end{array}\right. \end{array} $$
(23)

Notice that the positive part of the mobilitity has been taken in (22a), regarding the Remark 4, in order to prevent possible overshoots of the solution um+ 1 beyond the interval [0,1].

3.1.1 Discrete energy law

By adding (22a) and (22b) for \(\overline {\mu }=\mu ^{m+1}\) and \(\overline {u}=\delta _{t} u^{m+1}\) in (3.1), we get:

$$ \begin{array}{@{}rcl@{}} &{}\displaystyle{\int}_{\Omega} M(u^{m+1})_{\oplus}\vert \nabla\mu^{m+1}\vert^{2} +\varepsilon^{2}({\nabla u^{m+1}}{\delta_{t}\nabla u^{m+1}})_{(L^{2}({\Omega}))^{d}} \\ &+({f(u^{m+1},u^{m})},{\delta_{t} u^{m+1}})_{L^{2}({\Omega})} = \displaystyle{\int}_{\Omega} u^{m+1} \boldsymbol{v}(\cdot,t_{m+1}) \cdot \nabla\mu^{m+1} . \end{array} $$
(24)

Taking into account that

$$\varepsilon^{2}({\nabla u^{m+1}},{\delta_{t} \nabla u^{m+1}})_{(L^{2}({\Omega}))^{d}}=\frac{\varepsilon^{2}}{2}\delta_{t}{\int}_{\Omega} \left| \nabla u^{m+1}\right|^{2} +\frac{k\varepsilon^{2}}{2}{\int}_{\Omega}\left| \delta_{t}\nabla u^{m+1}\right|^{2},$$

and by adding and substracting \(\delta _{t}{\int \limits }_{\Omega } F(u^{m+1})\), we get the following equality

$$ \begin{array}{@{}rcl@{}} &{}\delta_{t} E(u^{m+1})+\displaystyle{\int}_{\Omega} M(u^{m+1})_{\oplus}\vert \nabla\mu^{m+1}\vert^{2}+\frac{k\varepsilon^{2}}{2}{\int}_{\Omega}\vert \delta_{t}\nabla u^{m+1}\vert^{2}\\&+({f(u^{m+1},u^{m})},{\delta_{t} u^{m+1}})_{L^{2}({\Omega})}-\delta_{t}\displaystyle{\int}_{\Omega} F(u^{m+1}) = {\int}_{\Omega} u^{m+1} \boldsymbol{v}(\cdot,t_{m+1}) \cdot \nabla\mu^{m+1}, \end{array} $$

where E(u) is defined in (21).

Then, using the Taylor theorem, we get

$$ \begin{array}{@{}rcl@{}} F_{\text{i}}(u^{m})&=&F_{\text{i}}(u^{m+1})+F_{\text{i}}^{\prime}(u^{m+1})(u^{m}-u^{m+1})+\frac{F_{\text{i}}^{\prime\prime}(u^{m+\xi})}{2}(u^{m}-u^{m+1})^{2},\\ F_{\text{e}}(u^{m+1})&=&F_{\text{e}}(u^{m})+F_{\text{e}}^{\prime}(u^{m})(u^{m+1}-u^{m})+\frac{F_{\text{e}}^{\prime\prime}(u^{m+\eta})}{2}(u^{m+1}-u^{m})^{2}, \end{array} $$

for certain ξ,η ∈ (0,1) with um+ξ = ξum+ 1 + (1 − ξ)um, um+η = ηum+ 1 + (1 − η)um. Hence, adding these expressions and taking into consideration that F(u) = Fi(u) + Fe(u) for every \(u\in \mathbb {R}\), we arrive at

$$ \begin{array}{@{}rcl@{}} &&{}F(u^{m+1})-F(u^{m})=\\&&=f(u^{m+1},u^{m})(u^{m+1}-u^{m})-\frac{F^{\prime\prime}_{i}(u^{m+\xi})-F^{\prime\prime}_{e}(u^{m+\eta})}{2}(u^{m+1}-u^{m})^{2}. \end{array} $$

Furthermore, as

$$ \begin{array}{@{}rcl@{}} &&{}\frac{F^{\prime\prime}_{i}(u^{m+\xi})-F^{\prime\prime}_{e}(u^{m+\eta})}{2k}=\\&=& \left\{\begin{array}{ll} \frac{1}{2k}, & u^{m+\eta}\in(-\infty,0)\cup(1,+\infty),\\[0.33em] \displaystyle\frac{3-12(u^{m+\eta})^{2}+12(u^{m+\eta})+1}{8k}, & u^{m+\eta}\in[0,1], \end{array}\right. \\ &=&\left\{\begin{array}{ll} \frac{1}{2k} \geq 0, & u^{m+\eta}\in(-\infty,0)\cup(1,+\infty),\\[0.33em] \frac{1}{2k}\left( 1-3u^{m+\eta}(u^{m+\eta}-1)\right)\geq 0, & u^{m+\eta}\in[0,1], \end{array}\right. \end{array} $$

we have

$$\frac{F^{\prime\prime}_{i}(u^{m+\xi})-F^{\prime\prime}_{e}(u^{m+\eta})}{2k}\geq0, $$

and finally

$$ ({f(u^{m+1},u^{m})},{\delta_{t} u^{m+1}})_{L^{2}({\Omega})}-{\int}_{\Omega}\delta_{t} F(u^{m+1})\ge0.$$

Therefore, we arrive at the following result:

Theorem 3.4

Any solution of the scheme (3.1) satisfies the following discrete energy law

$$ \begin{array}{@{}rcl@{}} {}\delta_{t} E(u^{m+1})+{\int}_{\Omega} M(u^{m+1})_{\oplus}\vert \nabla\mu^{m+1}\vert^{2}+\frac{k\varepsilon^{2}}{2}{\int}_{\Omega}\vert \delta_{t}\nabla u^{m+1}\vert^{2} \\ \le {\int}_{\Omega} u^{m+1} \boldsymbol{v}(\cdot,t_{m+1}) \cdot \nabla\mu^{m+1}.{} \end{array} $$
(25)

In particular, if v = 0 the time-discrete scheme is unconditionally energy stable, because E(um+ 1) ≤ E(um).

3.2 Fully discrete scheme

At this point, we are going to introduce the key idea for the spatial approximation: to treat (1a) as a conservative problem where there are two different fluxes (linear and non-linear). In this sense, we propose an upwind DG scheme approximating the non-linear flux F(u) = M(u)∇μ properly.

To this aim, we take for values \(v\in \mathbb {R}\) the increasing and decreasing part of M(v), denoted respectively by M(v) and M(v), as follows:

$$ \begin{array}{@{}rcl@{}} M^{\uparrow}(v)&=&{{\int}_{0}^{v}}\left( \partial_{s} \left( M(s)_{\oplus}\right)\right)_{\oplus}ds ={\int}_{0}^{\min(v,1)}M^{\prime}(s)_{\oplus}ds={\int}_{0}^{\min(v,1)}(1-2s)_{\oplus}ds,\\ M^{\downarrow}(v)&=&-{{\int}_{0}^{v}}\left( \partial_{s} \left( M(s)_{\oplus}\right)\right)_{\ominus}ds=-{\int}_{0}^{\min(v,1)} M^{\prime}(s)_{\ominus}ds\\&=&-{\int}_{0}^{\min(v,1)} (1-2s)_{\ominus}ds. \end{array} $$

Therefore,

$$ M^{\uparrow}(v)= \left\{\begin{array}{ll} M(v)_{\oplus} & \text{if }v\le \frac{1}{2}\\[0.2em] M\left( \frac{1}{2}\right) & \text{if } v>\frac{1}{2} \end{array}\right.,~~ M^{\downarrow}(v)= \left\{\begin{array}{ll} 0 & \text{if }v\le \frac{1}{2}\\ M(v)_{\oplus}-M\left( \frac{1}{2}\right) & \text{if } v>\frac{1}{2} \end{array}\right.. $$
(26)

Notice that M(v) + M(v) = M(v). We define the following generalized upwind bilinear form to be applied for the non-linear flux F(u) = M(u)β where now β can be discontinuous over \({\mathcal {E}_{h}^{i}}\) (in fact we will take β = ∇μ):

$$ \begin{array}{@{}rcl@{}} &&{}a_{h}^{\text{upw}}({\boldsymbol{\beta}};{M(v)_{\oplus}},{\overline{v}}):= -{\int}_{\Omega} (\boldsymbol{\beta}\cdot\nabla\overline{v})M(v)_{\oplus}\\ &&+\sum\limits_{e{\in\mathcal{E}_{h}^{i}},e=K\cap L}{\int}_{e}\left( (\left\{\!\left\{\boldsymbol{\beta}\right\}\!\right\}\cdot\boldsymbol{n}_{e})_{\oplus}(M^{\uparrow}(v_{K})+M^{\downarrow}(v_{L}))\right.\\ &&{\kern75pt}\left.-(\left\{\!\left\{\boldsymbol{\beta}\right\}\!\right\}\cdot\boldsymbol{n}_{e})_{\ominus}(M^{\uparrow}(v_{L})+M^{\downarrow}(v_{K}))\right)\left[\!\left[\overline{v}\right]\!\right]. \end{array} $$
(27)

Remark 3.5

We refer to (27) as a generalized bilinear form since it generalizes the definition of (11) considering the case where β may be discontinuous. If β is continuous both definitions are equivalent.

Then, we propose the following fully discrete DG+Eyre scheme (named DG-UPW) for the model (??):

Find \(u^{m+1}\in \mathbb {P}^{\text {disc}}_{0}(\mathcal {T}_{h})\), with \(\mu ^{m+1},w^{m+1}\in \mathbb {P}^{\text {cont}}_{1}(\mathcal {T}_{h})\), solving

$$ \begin{array}{@{}rcl@{}} &&{}({\delta_{t}u^{m+1}},{\overline{u}})_{L^{2}({\Omega})}\\ &&+a_{h}^{\text{upw}}({-\nabla\mu^{m+1}};{M(u^{m+1})_{\oplus}},{\overline{u}})+a_{h}^{\text{upw}}({\boldsymbol{v}(t_{m+1})};{u^{m+1}},{\overline{u}})=0, \end{array} $$
(28a)
$$ \begin{array}{@{}rcl@{}} &&({\mu^{m+1}},{\overline{\mu}})_{L^{2}({\Omega})}=\varepsilon^{2} ({\nabla w^{m+1}},{\nabla\overline{\mu}})_{L^{2}({\Omega})}+ ({f(u^{m+1},u^{m})},{\overline{\mu}})_{L^{2}({\Omega})}, \end{array} $$
(28b)
$$ \begin{array}{@{}rcl@{}} ({w^{m+1}},{\overline{w}})_{L^{2}({\Omega})}&= ({u^{m+1}},{\overline{w}})_{L^{2}({\Omega})},{} \end{array} $$
(28c)

for all \(\overline {u}\in \mathbb {P}^{\text {disc}}_{0}(\mathcal {T}_{h})\) and \(\overline {\mu }, \overline {w}\in \mathbb {P}^{\text {disc}}_{1}(\mathcal {T}_{h})\). Following the notation of the Section 2.3,

$$ \begin{array}{@{}rcl@{}} a_{h}^{\text{upw}}({\boldsymbol{v}};{u},{\overline{u}})&= \sum\limits_{e{\in\mathcal{E}_{h}^{i}}, e=K\cap L}\displaystyle {\int}_{e}\left( (\boldsymbol{v}\cdot\boldsymbol{n}_{e})_{\oplus}u_{K}-(\boldsymbol{v}\cdot\boldsymbol{n}_{e})_{\ominus}u_{L}\right)\left[\!\left[\overline{u}\right]\!\right].\\ \end{array} $$

In this scheme, we have introduced a truncation of the function M(u) taking its positive part M(u), which is consistent as the solution of the continuous model (??) satisfies 0 ≤ u ≤ 1.

Notice that we have introduced a new continuous variable \(w\in \mathbb {P}^{\text {cont}}_{1}(\mathcal {T}_{h})\) in (28c). It can be seen as a regularization of the variable \(u\in \mathbb {P}^{\text {cont}}_{0}(\mathcal {T}_{h})\), which is used in the diffusion term in (28b) (which corresponds to the philic term in the energy of the model (21)). In fact, both variables wm+ 1 and um+ 1 are approximations of u(tm+ 1).

Remark 3.6

We are using the same notation in the fully discrete scheme (3.2) than the one we have used in the time-discrete scheme (3.1) given in the Section 3.1.1, satisfying an energy law.

Nevertheless, in this case, we are changing the meaning of the equations since we are treating (28a) as the u-equation and (28b) as the μ-equation, contrary to computations done to reach the energy law. This has been done for the purpose of preserving the maximum principle in the (28a) and adequately approximating the laplacian term of the (28b).

Remark 3.7

The boundary condition ∇wm+ 1n = 0 on Ω × (0,T) is imposed implicitly by the term \(({\nabla w^{m+1}},{\nabla \overline {\mu }})_{L^{2}({\Omega })}\) in (28b).

Remark 3.8

Since f(⋅,um) is linear, we have the following equality of the potential term of (28b):

$$({f(w^{m+1},u^{m})},{\overline{\mu}})_{L^{2}({\Omega})}=({f(u^{m+1},u^{m})},{\overline{\mu}})_{L^{2}({\Omega})}.$$

Remark 3.9

The scheme (3.2) is non-linear; hence, we will have to use an iterative procedure, the Newton’s method, to approach its solution.

Proposition 3.10

The scheme (3.2) conserves the mass of both um+ 1 and wm+ 1 variables:

$${\int}_{\Omega} u^{m+1}={\int}_{\Omega} u^{m}\quad\text{and}\quad{\int}_{\Omega} w^{m+1}={\int}_{\Omega} w^{m}.$$

Proof

Just need to take \(\overline {u}=1\) in (28a) and \(\overline {w}=1\) in (28c). □

Theorem 3.11 (DG (3.2) preserves the maximum principle)

For any \(u^{m}\in \mathbb {P}^{\text {disc}}_{0}(\mathcal {T}_{h})\) with 0 ≤ um ≤ 1 in \(\overline {\Omega }\), then any solution um+ 1 of (3.2) satisfies 0 ≤ um+ 1 ≤ 1 in \(\overline {\Omega }\).

Proof

Firstly, we prove that um+ 1 ≥ 0. Taking the following \(\mathbb {P}^{\text {disc}}_{0}(\mathcal {T}_{h})\) test function

$$ \begin{array}{@{}rcl@{}} \overline{u}= \left\{\begin{array}{ll} (u_{K^{*}}^{m+1})_{\ominus}&\text{in }K^{*}\\ 0&\text{out of }K^{*} \end{array}\right., \end{array} $$

where K is an element of \(\mathcal {T}_{h}\) such that \(u_{K^{*}}^{m+1}=\min \limits _{K\in \mathcal {T}_{h}}u_{K}^{m+1}\), (28a) becomes

$$ \begin{array}{@{}rcl@{}} \vert K^{*}\vert \delta_{t} u_{K^{*}}^{m+1}(u_{K^{*}}^{m+1})_{\ominus}&=& \\ &&{}= - a_{h}^{\text{upw}}\left( {-\nabla\mu^{m+1}};{M(u^{m+1})_{\oplus}},{\overline{u}}\right)-a_{h}^{\text{upw}}\left( {\boldsymbol{v}(t_{m+1})};{u^{m+1}},{\overline{u}}\right).{\kern15pt} \end{array} $$
(29)

Now, since \(u_{L}^{m+1}\ge u_{K^{*}}^{m+1}\) for all \(L\in \mathcal {T}_{h}\), we can assure that

$$M^{\uparrow}(u_{L}^{m+1}) \ge M^{\uparrow}(u_{K^{*}}^{m+1})\quad \text{and} \quad M^{\downarrow}(u_{L}^{m+1}) \le M^{\downarrow}(u_{K^{*}}^{m+1}). $$

Then, we can bound as follows:

$$ \begin{array}{@{}rcl@{}} &{}a_{h}^{\text{upw}}({-\nabla\mu^{m+1}};{M(u^{m+1})_{\oplus}},{\overline{u}})=\\ &=\sum\limits_{e{\in\mathcal{E}_{h}^{i}}, e=K^{*}\cap L} \displaystyle{\int}_{e}\left( (\left\{\!\!\left\{-\nabla\mu^{m+1}\right\}\!\!\right\}\cdot\boldsymbol{n}_{e})_{\oplus}(M^{\uparrow}(u_{K^{*}}^{m+1})+M^{\downarrow}(u_{L}^{m+1}))\right.\\ &\qquad\qquad\left.-(\left\{\!\!\left\{-\nabla\mu^{m+1}\right\}\!\!\right\}\cdot\boldsymbol{n}_{e})_{\ominus}(M^{\uparrow}(u_{L}^{m+1})+M^{\downarrow}(u_{K^{*}}^{m+1}))\right)(u_{K^{*}}^{m+1})_{\ominus}\\ &\le\sum\limits_{e{\in\mathcal{E}_{h}^{i}}, e=K^{*}\cap L}{\int}_{e}\left( (\left\{\!\!\left\{-\nabla\mu^{m+1}\right\}\!\!\right\}\cdot\boldsymbol{n}_{e})_{\oplus}(M^{\uparrow}(u_{K^{*}}^{m+1})+M^{\downarrow}(u_{K^{*}}^{m+1}))\right.\\ &\qquad\qquad\left.-(\left\{\!\!\left\{-\nabla\mu^{m+1}\right\}\!\!\right\}\cdot\boldsymbol{n}_{e})_{\ominus}(M^{\uparrow}(u_{K^{*}}^{m+1})+M^{\downarrow}(u_{K^{*}}^{m+1}))\right)(u_{K^{*}}^{m+1})_{\ominus}\\&=\sum\limits_{e{\in\mathcal{E}_{h}^{i}}, e=K^{*}\cap L}{\int}_{e}(\left\{\!\!\left\{-\nabla\mu^{m+1}\right\}\!\!\right\}\cdot\boldsymbol{n}_{e})\left( M(u_{K^{*}}^{m+1})\right)_{\oplus}(u_{K^{*}}^{m+1})_{\ominus}=0. \end{array} $$

On the other hand, applying the incompressibility of v and proceeding as in Section 2.4, one has that

$$a_{h}^{\text{upw}}({\boldsymbol{v}(t_{m+1})};{u^{m+1}},{\overline{u}})\le 0.$$

Therefore, from (29)

$$ \vert K^{*}\vert \delta_{t} u_{K^{*}}^{m+1}(u_{K^{*}}^{m+1})_{\ominus}\ge0. $$

Consequently, it is satisfied that

$$ 0 \le \vert K^{*}\vert (\delta_{t} u_{K^{*}}^{m+1})(u_{K^{*}}^{m+1})_{\ominus} = -\frac{\vert K^{*}\vert }{\Delta t}\left( (u_{K^{*}}^{m+1})_{\ominus}^{2}+u_{K^{*}}^{m}(u_{K^{*}}^{m+1})_{\ominus}\right) \le 0; $$

hence, since \(u_{K^{*}}^{m}\ge 0\), we prove that \((u_{K^{*}}^{m+1})_{\ominus }=0\). Hence, um+ 1 ≥ 0.

Secondly, we prove that um+ 1 ≤ 1. Taking the following test function

$$ \begin{array}{@{}rcl@{}} \overline{u}= \begin{cases} (u_{K^{*}}^{m+1}-1)_{\oplus}&\text{in }K^{*}\\ 0&\text{out of }K^{*} \end{cases}, \end{array} $$

where K is an element of \(\mathcal {T}_{h}\) such that \(u_{K^{*}}^{m+1}=\max \limits _{K\in \mathcal {T}_{h}}u_{K}^{m+1}\) and using similar arguments than above, we arrive at

$$ \vert K^{*}\vert \delta_{t} u_{K^{*}}^{m+1}(u_{K^{*}}^{m+1}-1)_{\oplus}\le0. $$

Besides, it is satisfied that

$$ \begin{array}{@{}rcl@{}} 0&\ge& \vert K^{*}\vert \delta_{t} u_{K^{*}}^{m+1}(u_{K^{*}}^{m+1}-1)_{\oplus} =\frac{\vert K^{*}\vert }{\Delta t}\left( (u_{K^{*}}^{m+1}-1)+(1-u_{K^{*}}^{m})\right)(u_{K^{*}}^{m+1}-1)_{\oplus}\\ &=& \frac{\vert K^{*}\vert }{\Delta t}\left( (u_{K^{*}}^{m+1}-1)^{2}_{\oplus}+(1-u_{K^{*}}^{m})(u_{K^{*}}^{m+1}-1)_{\oplus}\right) \ge0; \end{array} $$

hence, we deduce that \((u_{K^{*}}^{m+1}-1)_{\oplus }=0\) and, therefore, um+ 1 ≤ 1. □

The following result is a direct consequence of Theorem 3.11.

Corollary 3.12

If we use mass-lumping to compute wm+ 1 in (28c), then 0 ≤ wm+ 1 ≤ 1 in \(\overline {\Omega }\) for m ≥ 0.

Theorem 3.13

There is at least one solution of the scheme (3.2).

Proof

Given a function \(z\in \mathbb {P}^{\text {disc}}_{0}(\mathcal {T}_{h})\) with 0 ≤ z ≤ 1, we define the map

$$T\colon \mathbb{P}^{\text{disc}}_{0}(\mathcal{T}_{h})\times \mathbb{P}^{\text{cont}}_{1}(\mathcal{T}_{h})\times\mathbb{P}^{\text{cont}}_{1}(\mathcal{T}_{h})\longrightarrow\mathbb{P}^{\text{disc}}_{0}(\mathcal{T}_{h})\times \mathbb{P}^{\text{cont}}_{1}(\mathcal{T}_{h})\times\mathbb{P}^{\text{cont}}_{1}(\mathcal{T}_{h})$$

such that \(T(\widehat {u},\widehat {\mu },\widehat {w})=(u,\mu ,w)\in \mathbb {P}^{\text {disc}}_{0}(\mathcal {T}_{h})\times \mathbb {P}^{\text {cont}}_{1}(\mathcal {T}_{h})\times \mathbb {P}^{\text {cont}}_{1}(\mathcal {T}_{h})\) is the unique solution, for every \(\overline {u}\in \mathbb {P}^{\text {disc}}_{0}(\mathcal {T}_{h})\), \(\overline {\mu },\overline {w}\in \mathbb {P}^{\text {cont}}_{1}(\mathcal {T}_{h})\), of the linear (and decoupled) scheme:

$$ \begin{array}{@{}rcl@{}} \frac{1}{\Delta t}\left( {u-z},{\overline{u}}\right)_{L^2({\Omega})}& +&a_{h}^{\text{upw}}({\boldsymbol{v}};{u},{\overline{u}}) =-a_{h}^{\text{upw}}({-\nabla\widehat{\mu}};{M(\widehat{u})_{\oplus}},{\overline{u}}), \end{array} $$
(30a)
$$ \begin{array}{@{}rcl@{}} \left( {\mu},{\overline{\mu}}\right)_{L^2({\Omega})}&=&\varepsilon^{2} ({\nabla w},{\nabla\overline{\mu}})_{L^{2}({\Omega})}+ ({f(u,z)},{\overline{\mu}})_{L^{2}({\Omega})}, \end{array} $$
(30b)
$$ \begin{array}{@{}rcl@{}} \left( {w},{\overline{w}}\right)_{L^2({\Omega})}&=&({u},{\overline{w}})_{L^2({\Omega})}, \end{array} $$
(30c)

To check that T is well defined, one may use the following steps. First, it is easy to prove that there is a unique solution u of (30a) which implies that there is a unique solution w of (30c) using, for instance, the Lax-Milgram theorem. Then, it is straightforward to see that the solution μ of (30b) is unique, which implies its existence as \(\mathbb {P}^{\text {cont}}_{1}(\mathcal {T}_{h})\) is a finite-dimensional space.

It can be proved, using the notion of convergence elementwise, as it was done in Theorem 2.5 and taking into consideration that \(\nabla \widehat \mu \in \left (\mathbb {P}^{\text {disc}}_{0}(\mathcal {T}_{h})\right )^{d}\), that the operator T is continuous, and, therefore, it is compact since \(\mathbb {P}^{\text {disc}}_{0}(\mathcal {T}_{h})\) and \(\mathbb {P}^{\text {cont}}_{1}(\mathcal {T}_{h})\) have finite dimension.

Finally, let us prove that the set

$$ \begin{array}{@{}rcl@{}} B=\{(u,\mu,w)\in\mathbb{P}^{\text{disc}}_{0}(\mathcal{T}_{h})\times\mathbb{P}^{\text{cont}}_{1}(\mathcal{T}_{h})\times\mathbb{P}^{\text{cont}}_{1}(\mathcal{T}_{h})\colon&\\ &{}(u,\mu,w)=\alpha T(u,\mu,w)\text{ for some } 0\le\alpha\le1\} \end{array} $$

is bounded (independent of α). The case α = 0 is trivial so we will assume that α ∈ (0,1].

If (u,μ,w) ∈ B, then \(u\in \mathbb {P}^{\text {disc}}_{0}(\mathcal {T}_{h})\) is the solution, for every \(\overline {u}\in \mathbb {P}^{\text {disc}}_{0}(\mathcal {T}_{h})\), of

$$ \begin{array}{@{}rcl@{}} \frac{1}{\Delta t}({u-\alpha z},{\overline{u}})_{L^{2}({\Omega})}& + a_{h}^{\text{upw}}({\boldsymbol{v}};{u},{\overline{u}}) =-\alpha a_{h}^{\text{upw}}({-\nabla\mu};{M({u})_{\oplus}},{\overline{u}}). \end{array} $$
(31)

Now, testing (31) by \(\overline u=1\), we get that

$${\int}_{\Omega} u=\alpha {\int}_{\Omega} z,$$

and, since 0 ≤ z ≤ 1, and since it can be proved that 0 ≤ u ≤ 1 using the same arguments than in Theorem 3.11, we get that

$$\left\|{u}\right\|_{L^{1}({\Omega})}\le \left\|{z}\right\|_{L^{1}({\Omega})}.$$

Moreover, \(w\in \mathbb {P}^{\text {cont}}_{1}(\mathcal {T}_{h})\) is the solution of the equation

$$ \begin{array}{@{}rcl@{}} ({w},{\overline{w}})_{L^{2}({\Omega})}& =({u},{\overline{w}})_{L^{2}({\Omega})}, &\forall\overline{w}\in\mathbb{P}^{\text{cont}}_{1}(\mathcal{T}_{h}). \end{array} $$
(32)

Testing with \(\overline {w}=w\) and using that u ≤ 1 and that the norms are equivalent in \(\mathbb {P}^{\text {cont}}_{1}(\mathcal {T}_{h})\), we obtain

$$\left\|{w}\right\|_{L^{2}({\Omega})}^{2} =({u},{w})_{L^{2}({\Omega})}\le\left\|{w}\right\|_{L^{1}({\Omega})}\le \vert {\Omega}\vert^{1/2} \left\|{w}\right\|_{L^{2}({\Omega})};$$

hence, \(\left \|w\right \|_{L^{2}({\Omega })}\le \vert {\Omega }\vert ^{1/2}\) holds.

Finally, we will check that μ is bounded. Regarding that, \(\mu \in \mathbb {P}^{\text {cont}}_{1}(\mathcal {T}_{h})\) is the solution of

$$ \begin{array}{@{}rcl@{}} ({\mu},{\overline{\mu}})_{L^{2}({\Omega})}&=\varepsilon^{2} ({\nabla w},{\nabla \overline{\mu}})_{L^{2}({\Omega})}+ ({f(u,z)},{\overline{\mu}})_{L^{2}({\Omega})},&\forall\overline{\mu}\in \mathbb{P}^{\text{cont}}_{1}(\mathcal{T}_{h}), \end{array} $$
(33)

by testing by \(\overline {\mu }=\mu \) we get that

$$ \begin{array}{@{}rcl@{}} \left\|\mu\right\|_{L^{2}({\Omega})}^{2}&\le& \varepsilon^{2}\left\|{\nabla w}\right\|_{(L^{2}({\Omega}))}\left\|{\nabla \mu}\right\|_{(L^{2}({\Omega}))}+\left\|f(u,z)\right\|_{L^{2}({\Omega})}\left\|{\mu}\right\|_{L^{2}({\Omega})}\\ &\le& \varepsilon^{2}\left\|w\right\|_{H^{1}({\Omega})}\left\|{\mu}\right\|_{H^{1}({\Omega})}+\left\|f(u,z)\right\|_{L^{2}({\Omega})}\left\|{\mu}\right\|_{L^{2}({\Omega})}. \end{array} $$

The norms are equivalent in the finite-dimensional space \(\mathbb {P}^{\text {cont}}_{1}(\mathcal {T}_{h})\); therefore, there is Ccont ≥ 0 such that

$$\left\|{\mu}\right\|_{L^{2}({\Omega})}\le \varepsilon^{2}C_{\text{cont}}\left\|{w}\right\|_{L^{2}({\Omega})}+\left\|{f(u,z)}\right\|_{L^{2}({\Omega})}.$$

Hence, as 0 ≤ u,z ≤ 1, we know that \(\left \|{f(u,z)}\right \|_{L^{2}({\Omega })}\) is bounded, and therefore \(\left \|{\mu }\right \|_{L^{2}({\Omega })}\) is bounded.

Since \(\mathbb {P}^{\text {disc}}_{0}(\mathcal {T}_{h})\) and \(\mathbb {P}^{\text {cont}}_{1}(\mathcal {T}_{h})\) are finite-dimensional spaces where all the norms are equivalent, we have proved that B is bounded.

Thus, using the Leray-Schauder fixed point Theorem 2.6, there is a solution (u,μ,w) of the Scheme (3.2). □

Corollary 3.14

There is at least one solution of the following (non-truncated) scheme:

Find \(u^{m+1}\in \mathbb {P}^{\text {disc}}_{0}(\mathcal {T}_{h})\) with 0 ≤ um+ 1 ≤ 1 and \(\mu ^{m+1},w^{m+1}\in \mathbb {P}^{\text {cont}}_{1}(\mathcal {T}_{h})\) with 0 ≤ wm+ 1 ≤ 1, solving

$$ \begin{array}{@{}rcl@{}} ({\delta_{t}u^{m+1}},{\overline{u}})_{L^{2}({\Omega})}&&\\ &&{}+a_h^{\text{upw}}({-\nabla\mu^{m+1}};{M(u^{m+1})},{\overline{u}}) +a_h^{\text{upw}}({\boldsymbol{v}(t_{m+1})};{u^{m+1}},{\overline{u}})=0, \end{array} $$
(34a)
$$ \begin{array}{@{}rcl@{}} \left( {\mu^{m+1}},{\overline{\mu}}\right)_{L^{2}({\Omega})}&=&\varepsilon^{2} \left( {\nabla w^{m+1}},{\nabla\overline{\mu}}\right)_{L^{2}({\Omega})}+ \left( {f(u^{m+1},u^{m})},{\overline{\mu}}\right)_{L^{2}({\Omega})}, \end{array} $$
(34b)
$$ \begin{array}{@{}rcl@{}} \left( {w^{m+1}},{\overline{w}}\right)_{L^{2}({\Omega})}&=& \left( {u^{m+1}},{\overline{w}}\right)_{L^{2}({\Omega})}.{\kern165pt} \end{array} $$
(34c)

for all \(\overline u \in \mathbb {P}^{\text {disc}}_{0}(\mathcal {T}_{h})\) and \(\overline {\mu }, \overline {w}\in \mathbb {P}^{\text {cont}}_{1}(\mathcal {T}_{h})\). Here, we have considered M(um+ 1) instead of M(um+ 1).

Proof

By Theorems 3.11 and 3.13 we know that there is a solution of the scheme (3.2) such that 0 ≤ um ≤ 1 in \(\overline {\Omega }\) for every m ≥ 0. Hence, M(um) = M(um) for every m ≥ 0, and therefore the solution of (3.2) is also a solution of (??), which moreover satisfies the discrete maximum principle. □

4 Numerical experiments

We now present several numerical tests in which we explore the behaviour of the new upwind DG scheme presented in this work (DG-UPW) (3.2) and compare it with two other space semidiscretizations found in the literature: firstly a classical FEM discretization (FEM) and secondly the DG scheme proposed in [18], based on an SIP + (sigmoid upwind) technique, that we call (DG-SIP). We use P1 piecewise polynomials for both schemes unless otherwise specified.

For the DG-UPW scheme, we use mass lumping to compute wm+ 1 in (28c) so that wm+ 1 ∈ [0,1] by the Corollary 2. This wm+ 1, which is a regularization of the primal variable um+ 1, is considered as the main phase-field variable, which is used when showing the results of the numerical experiments. Moreover, we consider Pe = 1 unless another value is specified.

4.1 Qualitative tests and comparisons

Our first numerical tests are devoted to qualitative experiments about our DG-UPW scheme in rectangular and circular domains with different kinds of velocity fields. We also inspect the discrete energy and the maximum principle property, confirming that the latter one holds for our scheme but not for the two aforementioned ones, FEM and DG-SIP.

4.1.1 Agreggation of circular regions without convection

First, we consider the Cahn–Hilliard equation without convection (v = 0) in the squared domain Ω = (0,1)2 and the following initial condition (two small circles of radius 0.2, see Fig. 2, left) :

$$ \begin{array}{@{}rcl@{}} {}u_{0}=\frac{1}{2}\left( \frac{\tanh{\left( 0.2-\sqrt{(x-x_{1})^{2}+(y-y_{1})^{2}}\right)}}{\sqrt{2}\varepsilon}+1\right) \\+ \frac{1}{2}\left( \frac{\tanh{\left( 0.2-\sqrt{(x-x_{2})^{2}+(y-y_{2})^{2}}\right)}}{\sqrt{2}\varepsilon}+1\right),{} \end{array} $$
(35)

with centers (x1,y1) = (0.3,0.5) and (x2,y2) = (0.7,0.5). We take a structured mesh with h ≈ 2.8284 ⋅ 10− 2 and run time iterations with Δt = 10− 6. Each iteration consists of solving a non-linear system for computing (un+ 1,μn+ 1,wn+ 1), for which we use Newton’s method iterations, programmed on the FEniCS finite element library [1, 29]. For linear systems, we used a MPI parallel solver (GMRES) in the computing cluster of the Universidad de Cádiz.

Fig. 2
figure 2

Left: initial condition in the case v = 0. Right: initial condition in the case v = 100(y,−x)

In Fig. 3, we show a 3D view of the phase field function at the time step T = 0.001, when the aggregation process has started. It is interesting to notice that for our upwind DG scheme (3.2) there are no spurious oscillations meanwhile for the FEM and DG-SIP schemes we obtain several numerical issues (vertical fluctuations in the 3D graphics).

Fig. 3
figure 3

Aggregation of circular regions at T = 0.001 without convection, 3D view (height represents the value of the phase variable on each point of the squared domain)

Moreover, in Fig. 4, we can clearly observe how the maximum principle is preserved by DG-UPW scheme (and not by the two other ones). Regarding the energy, we obtain a non-increasing behaviour as expected from the continuous model. An analytical proof of this property in the discrete case is left as future work.

Fig. 4
figure 4

Aggregation of circular phases. On the left, maximum (top) and minimum (bottom) of the phase field variable over time without convection (v = 0). On the right, energy over time

4.1.2 Agreggation of circular regions with convection

Second, we define Ω as the unit ball in \(\mathbb R^{2}\) and, again, the initial condition (35) (two small circles of radius 0.2), with centers (x1,y1) = (− 0.2,0) and (x2,y2) = (0.2,0) (see Fig. 2 (right)). Moreover, for testing the effect of convection in our scheme, we take ε = 0.001 and v = 100(y,−x), so that vn = 0 on Ω. We take an unstructured mesh with h ≈ 4 ⋅ 10− 2 and run time iterations with Δt = 10− 3. Figure 5 shows the values of the phase field function at different time steps. We can observe that, despite of our election of a highly significant convection term, the results of scheme DG-UPW are qualitatively correct. Nevertheless, we can observe how the spurious oscillations become more important and the solution begins to have an unexpected behaviour when using both the FEM and DG-SIP schemes.

Fig. 5
figure 5

Aggregation of circular regions over time with a strong convection (v = 100(y,−x))

Concerning the maximum principle, in Fig. 6, we can see how this property is preserved by the DG-UPW scheme (3.2), while the phase field variable reaches nonphysical values, very far from [0,1], when using the other aforementioned schemes. Moreover, it is interesting to observe the approximation of the steady state of the schemes, represented by the quantity \(\frac {\left \|{u^{m+1}-u^{m}}\right \|_{L^{\infty }({\Omega })}}{\left \|{u^{m}}\right \|_{L^{\infty }({\Omega })}}\), which tends to 0 in the case DG-UPW. This fact indicates that the solution converges to a stationary state, while for the other schemes it remains in an oscillatory state.

Fig. 6
figure 6

Aggregation of circular phases with strong convection (v = 100(y,−x)). On the left, maximum and minimum of the phase field variable over time. On the right, we plot \(\frac {\left \|{u^{m+1}-u^{m}}\right \|_{L^{\infty }({\Omega })}}{\left \|{u^{m}}\right \|_{L^{\infty }({\Omega })}}\) to observe the dynamics of the approximations

The computational time spent to obtain the results (computed sequentially) with each of these schemes is 2:32min using DG-UPW, 1:10min using FE and 3:24min using DG-SIP.

For the fairness of comparisons, we redo the tests using both FE and DG-SIP reducing the step size of the mesh, on the one hand, and using higher order polynomials, on the other hand. First, if we reduce the mesh size to h/2 ≈ 2 ⋅ 10− 2 and we use P1 polynomials, the FEM scheme does not converge (the linear solver, GMRES, fails to converge) while the DG-SIP scheme gives us the results shown in Fig. 7 (left), requiring 35:20min to complete the computations sequentially. Second, if we keep the mesh size h ≈ 4 ⋅ 10− 2 and we use P2 polynomials, the FEM scheme does not converge either (Newton’s method does not converge) while the DG-SIP scheme gives us the results shown in Fig. 7 (right), requiring 11min to complete the computations sequentially. Therefore, the FEM scheme does not even converge if we try to improve the results above and, while the DG-SIP scheme does converge, the results still show spurious oscillations and require a much longer computational time to be completed than those shown in Fig. 5 (right) using our DG-UPW scheme.

Fig. 7
figure 7

Aggregation of circular phases with strong convection (v = 100(y,−x)) using the DG-SIP scheme. On the left, the result obtained with h/2 ≈ 2 ⋅ 10− 2 and \(\mathbb {P}^{\text {disc}}_{1}(\mathcal {T}_{h})\). On the right, the result obtained with h ≈ 4 ⋅ 10− 2 and \(\mathbb {P}^{\text {disc}}_{2}(\mathcal {T}_{h})\)

4.1.3 Spinoidal decomposition driven by Stokes cavity flow

We show the results from a spinoidal decomposition test, in which the initial condition is a small uniformly distributed random perturbation around 0.5, u0(x) ∈ [0.49,0.51] for x ∈Ω as shown in Fig. 8.

Fig. 8
figure 8

Random initial perturbation for the spinoidal decomposition test

As convection vector v, we take the flow resulting from solving a cavity test for the Stokes equations in the domain Ω = [0,2] × [0,1] with Dirichlet boundary conditions given by a parabolic profile

$$\boldsymbol{v}(x,y)=(x(2-x),0),\quad\forall (x,y)\in{\Gamma}_{\text{top}}=\{(x,1)\in\mathbb{R}^{2}\colon x\in[0,2]\}.$$

We used this parabolic profile in order to avoid the discontinuities of the Stokes velocity for a standard boundary condition v = 1 on Γtop, which produces a non-vanishing divergence in the corners where the discontinuities arise. In fact, we have checked that, in this particular case where v = 1 on Γtop, the scheme DG-UPW does not preserve the upper bound um ≤ 1, although it does preserve the lower bound 0 ≤ um (recall that, for compressible velocity, positivity is the only property of the solution, see Remark 2.2).

We set ε = 0.005, Δt = 0.001, h ≈ 0.07 and, in this case, we take Pe = 10 in order to emphasize the convection effect. We can observe in Figs. 9 and 10 how the maximum principle is preserved by our DG-UPW scheme (3.2) while for the other schemes the solution takes values out of the interval [0,1] (to notice that, we must take into account the scale of the values shown on the right-hand side of each picture).

Fig. 9
figure 9

Spinoidal decomposition over time with convection vector obtained from a cavity test

Fig. 10
figure 10

Spinoidal decomposition with convection vector obtained from a cavity test. On the left, maximum and minimum of the phase field variable over time. On the right, we plot \(\frac {\left \|{u^{m+1}-u^{m}}\right \|_{L^{\infty }({\Omega })}}{\left \|{u^{m}}\right \|_{L^{\infty }({\Omega })}}\) to observe the dynamics of the approximations

Furthermore, in Fig. 10, we can also notice that the approximation obtained using the DG-UPW scheme converges to a stationary state, while it remains in an non-physical oscillatory state when we use the other schemes.

4.2 Error order test

We now introduce the results of a numerical test in which we study the convergence order of our numerical scheme DG-UPW, verifying experimentally that the expected order is obtained. For the sake of completeness, we also compare the convergence orders of the two others aforementioned space semidiscretizations: FEM, DG-SIP. We consider again the same initial conditions than in Section 4.1.1 with ε = 0.01 (see Fig. 2).

First, in the non-convective case, errors and convergence order are compared with respect to an approximate solution which is computed using the FEM scheme in a very fine mesh of size h = 1.414 ⋅ 10− 3 and a time step Δt = 10− 6 (which is taken as the “exact solution”). In this case, we have used conforming structured meshes for the space discretization. The results for the DG-UPW scheme, which are shown in the first row of Table 1, confirm order 1 (in fact, slightly over 1) in norm \(\|\cdot \|_{L^{2}}\). These results match our expectations for the P0 approximation of um+ 1, with the upwind discretization of the non-linear second-order term. It is interesting to emphasize that, unexpectedly, the scheme produces kind results in \(\|\cdot \|_{H^{1}}\), reaching order 1. On the other hand, the FEM and DG-SIP schemes reach order 2 in L2 and order 1 in H1 norms, as expected (see also Table 1).

Table 1 Errors and convergence orders at T = 0.001 without convection (v = 0)

Next, we focus on the case with convection, where we take v = (y,−x) in the unit ball. The resulting errors and convergence orders computed using the three different schemes over a conforming unstructured mesh are shown in Table 2. In this case, the errors are computed with respect to the solution obtained for the FEM scheme in a mesh of size h = 4 ⋅ 10− 3.

Table 2 Errors and convergence orders at T = 0.001 with convection (v = (y,−x))

In this case, it is interesting to notice that the error order in \(\|\cdot \|_{L^{2}}\) of the DG-UPW scheme is improved and it approaches the order 2 of the other schemes, while order in \(\|\cdot \|_{H^{1}}\) slightly beats the other schemes.

As a technical comment, notice that, in order to compute the errors, we projected on a \(\mathbb {P}^{\text {cont}}_{1}\) space both the exact and the DG solution obtained when using the DG-SIP. In the case of the DG-UPW scheme, we have taken w as the continuous solution.