Skip to main content

The implementation of the mortar spectral element discretization of the heat equation with discontinuous diffusion coefficient


We propose to implement the mortar spectral elements discretization of the heat equation in a bounded two-dimensional domain with a piecewise continuous diffusion coefficient. The discretization on time is based on the Euler implicit method. Some numerical experiments and comparisons are performed on whether a conforming or a not conforming domain decomposition.


This paper is devoted to the implementation of the discretization by the mortar spectral elements method of the heat equation. We will consider the diffusion coefficient to be piecewise constant and the quotient of its maximal and minimal value to be sufficiently large. The a priori and a posteriori analysis of the heat equations was addressed in a variety of work [1,2,3,4]. The discretization by the conforming finite element method of the stationary case of the aforementioned heat equation problem was considered in [5]. The same problem was handled by the mortar method for the spectral elements discretization in [6].

In this work, we consider the nonstationary problem. The Euler implicit method is used for the time discretization then a first decomposition of the domain is proposed such that on each sub-domain the diffusion coefficient is constant. A second decomposition is also used based on the mortar method [7], which is the most suitable one for this type of problem, since it is about nonconforming geometries (i.e. it is not necessarily that the intersection of two sub-domains is a corner or a whole edge of both of them) [8]. The nonconforming property permits to reduce the number of sub-domains enormously. Spectral discretization is performed in each sub-domain where the solution is approached by a high degree polynomial. The sub-domains are chosen as rectangles to benefit from the tensorization property of the polynomial basis. The mortar spectral elements method has two advantages. The first one is the possibility to choose polynomial degrees in each sub-domain different from each others. This allows us to take a high degree polynomial in the sub-domains where the value of the diffusion coefficient is large. The second advantage is that the error estimation depends on the local regularity of the solution rather than on the global regularity. The global regularity of the solution is poor due to the discontinuity of the diffusion coefficient [5, 9, 10]. This justifies the choice of the domain decomposition method to solve our problem [11]. Some numerical experiments are described. They are fairly coherent with the analysis and support the choice of the mortar method. We refer to [12] for similar numerical results in the mortar h-p version of the finite element method.

The outline of this paper is as follows: Sect. 2 is devoted to the continuous problem and some regularity results. Section 3 describes the semidiscrete time problem and the full discrete problem. The error estimation is presented in Sect. 4. Finally, Sect. 5 is dedicated to the discrete problem implementation. We perform and discuss some numerical experiments.

The continuous problem and regularity results

Let Ω an open and bounded connected two-dimensional domain with a Lipschtiz continuous boundary ∂Ω. We consider the following problem, which models the heat equation with a diffusion coefficient λ, depending on the heterogeneity of the domain and not depending on time:

$$ \textstyle\begin{cases} \frac{\partial \varphi }{\partial t} - \operatorname{div}(\lambda \operatorname{\mathbf{grad}} \varphi )=f &\text{in } \varOmega \times \mathopen{]}0,T[, \\ \varphi =0 &\text{in } \partial \varOmega \times \mathopen{]}0,T[, \\ \varphi (\cdot ,0)=\varphi _{0} &\text{on } \varOmega , \end{cases} $$

where T is a fixed positive real.

We denote in the following by \(\textbf{x}=(x,y)\) the elements of \(\mathbb {R}^{2}\). We assume that there exist a finite number of sub-domains \(\varOmega ^{\diamond }_{i}\), \(1\leq i \leq I^{\diamond }\), such that:

  1. (1)
    $$ {\overline{\varOmega }}=\bigcup_{i=1}^{I^{\diamond }}{ \overline{\varOmega } _{i}^{\diamond }}, \qquad \varOmega _{i}^{\diamond }\cap \varOmega _{j}^{ \diamond }= \emptyset , \quad 1\leq i < j \leq I^{\diamond }; $$
  2. (2)

    the restriction of λ to each \({\overline{\varOmega } _{i}^{\diamond }}\) is continuous on \(\varOmega _{i}^{\diamond }\), \(1 \leq i \leq I^{\diamond }\);

  3. (3)

    λ is bounded on each \({\overline{\varOmega }_{i}^{ \diamond }}\), and we define

    $$ \lambda ^{\max }=\max_{1\leq i \leq I^{\diamond }}\lambda _{i}^{\max }, \quad \text{and} \quad \lambda ^{\min }=\max _{1\leq i \leq I^{\diamond }}\lambda _{i}^{\min }, $$


    $$ \lambda _{i}^{\max }=\sup_{\mathbf{x}\in \varOmega _{i}^{\diamond }} \lambda ( \mathbf{x}), \quad \text{and} \quad \lambda _{i}^{\min }= \min _{\mathbf{x}\in \varOmega _{i}^{\diamond }}\lambda (\mathbf{x}). $$

Let \(H^{s}(\varOmega )\), \(s>0\), the Sobolev spaces with the associated norm \(\|\cdot\| _{s,\varOmega }\) and seminorm \(|\cdot| _{s,\varOmega }\). The space \(H^{1}_{0}(\varOmega )\) denotes the closure in \(H^{1}(\varOmega )\) of the space of infinitely differentiable functions with compact support in Ω and \(H^{-1}(\varOmega )\) is its dual space. We designate by \((\cdot ,\cdot )\) and \(\|\cdot\| _{0,\varOmega }\), respectively, the scalar product of \(L^{2}(\varOmega )\) and its associated norm.

We define below the spaces of time-dependent functions.

  • \(\mathcal{C}^{j}(0,T;X)\) is a Banach space for the norm

    $$ \Vert u \Vert _{\mathcal{C}^{j}(0,T;X)}=\sup_{0\leq t\leq T}\sum _{l=0}^{j} \bigl\Vert \partial _{t}^{l} u \bigr\Vert _{X}, $$

    where \(\partial _{t}^{l} u\) is the derivative of order l in time of the function u. It represents the set of class \(\mathcal{C}^{j}\) time-dependent function with a value on a separable Banach space X.

  • \(L^{p}(0,T;X)=\{v \text{ mesurable on } ]0,T[ \text{ such that } \int _{0}^{T}\|v(t)\|^{p}_{X}\,dt<\infty \} \) is a Banach space for the norm

    $$ \Vert v \Vert _{L^{p}(0,T;X)}=\textstyle\begin{cases} (\int _{0}^{T} \Vert v(t) \Vert ^{p}_{X}\,dt)^{\frac{1}{p}}, \quad \text{for } 1\leq p < + \infty , \\ \sup_{0\leq t\leq T} \Vert v(t) \Vert _{X}, \quad \text{for } p = + \infty , \end{cases} $$
  • \(H^{s}(0,T;X)=\{v \in L^{2}(0,T;X); \partial ^{k} v \in L^{2}(0,T;X); k\leq s\} \) is an Hilbert space for the scalar product:

    $$ (u,v)=\Biggl((u,v)_{L^{2}(0,T;X)} + \sum_{k=0}^{s} \bigl(\partial ^{k} u,\partial ^{k} v\bigr)_{L^{2}(0,T;X)} \Biggr)^{\frac{1}{2}}. $$

Problem (1) has the following equivalent formulation:

For \(t\in \mathopen{]}0,T[\) and \(f\in L^{2}(0,T;H^{-1}(\varOmega ))\), find \(\varphi \in \mathcal{C}^{0}(0,T;L^{2}(\varOmega ))\cap L^{2}(0,T;H^{1} _{0}(\varOmega ))\) such that: for all \(\psi \in H^{1}_{0}(\varOmega )\)

$$ \int _{\varOmega } {\frac{\partial \varphi }{\partial t}}(\mathbf{x},t) \psi (\mathbf{x})\,d\mathbf{x} + \sum_{i=1}^{I^{\diamond }} \int _{\varOmega _{i}^{\diamond }}\lambda (\mathbf{x})\nabla \varphi ( \mathbf{x},t) \nabla \psi (\mathbf{x})\,d\mathbf{x} =\bigl\langle f(\cdot ,t),\psi \bigr\rangle $$

where \(\langle \cdot,\cdot\rangle \) denotes the duality product of \(H^{1}_{0}(\varOmega )\) and \(H^{-1}(\varOmega )\).

Let the energy norm

$$ \Vert \varphi \Vert _{\lambda }(T)= \Biggl( \Vert \varphi \Vert ^{2}_{0, \varOmega } + \sum_{i=1}^{I^{\diamond }} \int _{0}^{T} \bigl\Vert \lambda ( \mathbf{x})^{\frac{1}{2}}\nabla \varphi (\mathbf{x},t) \bigr\Vert ^{2}_{0,\varOmega _{i}^{\diamond }}\,dt \Biggr)^{\frac{1}{2}}. $$

We reiterate the proposition below as stated in (see [13], Chap. 3 for the proof).

Proposition 1

For \(f\in L^{2}(0,T;H^{-1}(\varOmega ))\) and \(\varphi _{0}\in L^{2}( \varOmega )\), the problem (2) has a unique solution \(\varphi \in L^{2}(0,T;H^{1}_{0}(\varOmega ))\) with the following stability condition:

$$ \Vert \varphi \Vert _{\lambda }(T)\leq \biggl( \Vert \varphi _{0} \Vert ^{2}_{0,\varOmega } + \biggl( \frac{1}{\lambda ^{\min }}\biggr) \Vert f \Vert ^{2}_{L^{2}(0,T;H ^{-1}(\varOmega ))} \biggr)^{\frac{1}{2}}. $$

We recall the regularity result proved in ([5], Prop 2.2) and [9].

Proposition 2

We assume that on each sub-domain \(\varOmega _{i}^{\diamond }\), \(1 \leq i \leq I^{\diamond }\), the restriction of the function λ is constant. There exists a real \(0 < s_{0}< \frac{1}{2}\), depending on the quotient \({\frac{\lambda ^{\max}}{\lambda ^{\min}}}\), where for \(f\in L^{2}(0,T;H^{s-1}(\varOmega ))\) and \(\varphi _{0}\in H^{s}( \varOmega )\), the solution φ of problem (3) is within the space \(L^{2}(0,T;H^{s+1}(\varOmega )\cap H^{1}_{0}(\varOmega ))\), for any \(0\leq s\leq s_{0}\).

The discrete problems and the error estimate

The time semidiscrete problem

We introduce a partition of the interval \([0,T]\) in order to formulate the discrete time-dependent problem. Let \([t_{n-1},t_{n}]\) the sub-interval of the partition such that \(0=t_{0}< t_{1} <\cdots< t_{n-1} <\cdots< t_{M}=T\) with M a positive integer. We denote by \(h=t_{n}-t _{n-1}\), \(1\le n \le M\), the step of the partition, considered constant, and we have \(\psi ^{n}=\psi (\cdot ,t_{n})\), \(0\leq n\leq M\). We define \(\psi _{h}\), the affine function on each interval \([t_{n-1},t_{n}]\):

$$ \psi _{h}(\cdot ,t)=\psi ^{n} - { \frac{t_{n}-t}{h}}\bigl(\psi ^{n}-\psi ^{n-1}\bigr). $$

Based on the Euler implicit method, the semidiscrete problem is formulated as

$$ \textstyle\begin{cases} \frac{\varphi ^{n}-\varphi ^{n-1}}{h} - \operatorname{div}(\lambda \nabla \varphi ^{n})=f^{n} &\text{in } \varOmega , 1\leq n\leq M, \\ \varphi ^{n}=0 &\text{on } \partial \varOmega , 0\leq n \leq M, \\ \varphi ^{0}=\varphi _{0} &\text{in } \varOmega , \end{cases} $$

which has the equivalent variational formulation:

Find \((\varphi ^{n})_{0\leq n\leq M}\in L^{2}(\varOmega )\times H^{1}_{0}( \varOmega )^{M}\) such that, for all \(\psi \in H^{1}_{0}(\varOmega )\),

$$\begin{aligned}& \int _{\varOmega }\varphi ^{n}(\mathbf{x})\psi (\mathbf{x})\,d\mathbf{x} + h \sum_{i=1}^{I^{\diamond }} \int _{\varOmega _{i}^{\diamond }}\lambda (\mathbf{x})\nabla \varphi ^{n}( \mathbf{x})\nabla \psi (\mathbf{x})\,d\mathbf{x} \\& \quad = \int _{\varOmega } \varphi ^{n-1}(\mathbf{x})\psi ( \mathbf{x})\,d\mathbf{x} + h \int _{\varOmega } f^{n}(\mathbf{x})\psi (\mathbf{x})\,d\mathbf{x}. \end{aligned}$$

Let \(a^{n}(\cdot ,\cdot )\) the bilinear form and \(L^{n}(\cdot )\) the linear form defined by

$$ a^{n}\bigl(\varphi ^{n},\psi \bigr)= \int _{\varOmega }\varphi ^{n}(\mathbf{x})\psi ( \mathbf{x})\,d\mathbf{x} + h\sum_{i=1}^{I^{\diamond }} \int _{\varOmega _{i}^{\diamond }}\lambda (\mathbf{x})\nabla \varphi ^{n}( \mathbf{x})\nabla \psi (\mathbf{x})\,d\mathbf{x} $$


$$ L^{n}(\psi )= \int _{\varOmega } \varphi ^{n-1}(\mathbf{x})\psi ( \mathbf{x})\,d\mathbf{x} + h \int _{\varOmega } f^{n}(\mathbf{x})\psi (\mathbf{x})\,d\mathbf{x}. $$

Since \(a^{n}(\cdot ,\cdot )\) is continuous on the space \(H^{1}_{0}(\varOmega ) \times H^{1}_{0}(\varOmega )\) and coercive on the space \(H^{1}_{0}( \varOmega )\) and \(L^{n}\) is continuous on the space \(H^{1}_{0}(\varOmega )\), we deduce based on the Lax Milgram theorem the following proposition.

Proposition 3

For any function f in \(\mathcal{C}^{0}(0,T;H^{-1}(\varOmega ))\) and \(\varphi _{0}\in L^{2}(\varOmega )\), problem (8) has a unique solution \((\varphi ^{n})_{0\leq n\leq M}\in L^{2}(\varOmega )\times (H^{1}_{0}( \varOmega ))^{M}\), such that:

$$\begin{aligned} \frac{1}{4} \Biggl( \Vert \varphi _{0} \Vert _{0,\varOmega }^{2} + {\frac{h}{\lambda ^{\min}}} \sum _{j=1}^{n} \bigl\Vert f^{j} \bigr\Vert ^{2}_{{-1},\varOmega } \Biggr) \leq& \Vert \varphi _{h} \Vert _{\lambda }^{2} \\ \leq& \Vert \varphi _{0} \Vert _{0,\varOmega }^{2} + { \frac{h}{ \lambda ^{\min}}} \sum_{j=1}^{n} \bigl\Vert f^{j} \bigr\Vert ^{2}_{{-1},\varOmega } + \frac{1}{2}h \bigl\Vert \lambda ^{\frac{1}{2}}\nabla \varphi _{0} \bigr\Vert ^{2}_{0,\varOmega }. \end{aligned}$$

We introduce the norm \(\|\cdot\| _{n}\):

$$ \bigl\Vert \varphi ^{n} \bigr\Vert _{n}= \Biggl( \bigl\Vert \varphi ^{n} \bigr\Vert ^{2}_{0, \varOmega } + h \sum_{j=1}^{n} \sum_{i=1}^{I^{\diamond }} \bigl\Vert \lambda ^{\frac{1}{2}}\nabla \varphi ^{j} \bigr\Vert ^{2}_{0,\varOmega _{i} ^{\diamond }} \Biggr)^{\frac{1}{2}}. $$

The following theorem is related to the a priori error estimate.

Theorem 3.1

If \(\partial _{t}^{2}\varphi (\cdot ,t) \in L^{2}(0,T,H^{-1}(\varOmega ))\) where φ is the solution of the problem (3), then we have

$$ \Vert \varphi -\varphi _{h} \Vert _{n} \leq c h \Vert \varphi \Vert _{H^{2}(0,T,H^{-1}(\varOmega ))} $$

where c is a positive constant.

The mortar spectral element discretization

In this section, we handle the case where the function λ is piecewise constant. Since we are using the spectral discretization, the sub-domains are necessarily rectangles. We recall that the domain decomposition has to be performed in two steps. The first decomposition based on the value of λ (i.e. λ is constant on each sub-domain) is achieved above. The second decomposition states that each obtained sub-domain is decomposed on rectangles using the mortar spectral method. We consider

$$ \overline{\varOmega }=\bigcup_{i=1}^{i=I} \overline{\varOmega }_{i},\qquad \varOmega _{i}\cap \varOmega _{j} =\emptyset , \quad i\neq j. $$

We assume the function λ constant on each \(\varOmega _{i}\), \(1 \leq i\leq I\). We remark that, for any \(1\leq i\leq I\), there exists \(1\leq j\leq I^{\diamond }\), such that \(\varOmega _{i}\subset \varOmega _{j} ^{\diamond }\) and \(I>I^{\diamond }\). In order to illustrate the decomposition, we consider for example \(I^{\diamond }=2\), which means that Ω is built with two heterogeneous regions (see Fig. 1). In order to decompose the domain by spectral method, five rectangles (\(I=5\)) are necessary. However, nine rectangles are needed for a conforming decomposition (this means that if the intersection of two rectangles \({\overline{\varOmega }_{i}}\) and \({\overline{\varOmega }_{j}}\), \(i\neq j\), is not empty, it is necessarily equal to a corner or to a hole edge of \({\varOmega _{i}}\) and \({\varOmega _{j}}\)).

Figure 1
figure 1

The domain Ω

We presume that the intersection of each boundary \(\partial {\varOmega _{i}}\) of the sub-domain \(\varOmega _{i}\) with the boundary ∂Ω of the domain Ω is a corner or a hole edge of \(\varOmega _{i}\). The skeleton of the decomposition

$$ \mathbf{S}=\bigcup_{i=1}^{I}\partial { \varOmega _{i}}\setminus {\partial \varOmega } $$

is equal to: For an integer \(\mathfrak{M} \geq 2\)

$$ {\overline{\mathbf{S}}}=\bigcup_{m=1}^{\mathfrak{M}} \overline{\gamma _{m}}, \qquad \gamma _{m} \cap \gamma _{m^{\prime }}=\emptyset ,\quad 1\leq m \neq m^{\prime }\leq { \mathfrak{M}}, $$

where \(\gamma _{m}\) stands for mortar. It corresponds to a hole edge of one sub-domain \(\varOmega _{i}\) named \(\varOmega _{i(m)}\).

We consider \(\mathbb{P}_{N_{i}}(\varOmega _{i})\), \(N_{i}\geq 2\), \(1\leq i \leq I\), the space of the polynomial functions defined on \(\varOmega _{i}\), with a degree less or equal to \(N_{i}\), for x and y.

We define the discrete space \(\mathbb{X}_{\delta }\), (\(\delta =(N_{1},\ldots,N _{I})\) is the discrete parameter) as the space of discrete functions \(\varphi _{\delta }\) such that (see [8]):

  • \({\varphi _{\delta }}_{/{\varOmega _{i}}}\), \(1\leq i\leq I\), belongs to the polynomial space \(\mathbb{P}_{N_{i}}(\varOmega _{i})\),

  • \(\varphi _{\delta }\) vanishes on the boundary ∂Ω,

  • let ϕ the mortar function where \(\phi _{/\gamma _{m}}= {{\varphi _{\delta }}_{{/{\varOmega _{i(m)}}}/\gamma _{m}}}\), for any \(\varOmega _{i}\), \(1\leq i\leq I\) and an edge Γ of \(\varOmega _{i}\) (Γ is not part of the boundary ∂Ω), we propose the matching condition:

    $$ \forall \chi _{\delta } \in \mathbb{P}_{N_{i}-2}( \varGamma ),\quad \int _{\varGamma } ({\varphi _{\delta }}_{/{\varOmega _{i}}}-\phi ) ( \xi )\chi _{\delta }(\xi )\,d\xi =0, $$

where \(\mathbb{P}_{N_{i}-2}(\varGamma )\) is the space of polynomials with degree \(\leq (N_{i}-2)\) defined on Γ. That Γ is not a mortar permits one to conclude that the discretization is not conforming (\(\mathbb{X}_{\delta }\) is not a subspace of \(H^{1}(\varOmega )\)).

For the numerical integration, we use the Gauss–Lobatto quadrature formula on \(]{-}1,1[\). For an integer \(N\geq 2\), there exists a unique set of points \(\varepsilon _{0}=-1\), \(\varepsilon _{N}=1\), \(\varepsilon _{j}\), \(1\leq j\leq (N-1)\) and weights \(\varrho _{j}\), \(0\leq j\leq N\), such that

$$ \forall \varphi \in \mathbb{P}_{2N-1}\bigl(]{-}1,1[\bigr), \quad \int _{-1}^{1} \varphi (\xi )\,d\xi =\sum _{j=1}^{N} \varphi (\varepsilon _{j}) \varrho _{j}. $$

We deduce the values of the points and weights \(\varepsilon ^{x}_{ij}\) and \(\varrho ^{x}_{ij}\) (respectively \(\varepsilon ^{y}_{ij}\) and \(\varrho ^{y}_{ij}\)) in the direction x (respectively in the direction y) from \(\varepsilon _{j}\), \(0\leq j\leq N\) and weights \(\varrho _{j}\), \(0\leq j\leq N\), by homothety and translation of the domain \(\varOmega _{i}\) to the reference domain \(]{-}1,1[^{2}\). Then we obtain the discrete scalar product: For φ and ψ continuous on each \(\varOmega _{i}\), \(1\leq i\leq I\),

$$ (\varphi ,\psi )_{\delta }=\sum _{i=1}^{I}(\varphi ,\psi )_{N_{i}}, $$


$$ (\varphi ,\psi )_{N_{i}}=\sum_{j=0}^{N_{i}} \sum_{l=0}^{N_{i}}\varphi \bigl(\varepsilon ^{x}_{ij},\varepsilon ^{y}_{il}\bigr) \psi \bigl(\varepsilon ^{x}_{ij}, \varepsilon ^{y}_{il}\bigr) \varrho ^{x}_{ij} \varrho ^{y}_{il}. $$

We define the space

$$ \mathbb{Z}_{\delta }=\bigl\{ \theta _{\delta } \in L^{2}( \varOmega ); \theta _{\delta }/_{\varOmega _{i}} \in \mathbb{P}_{N_{i}}( \varOmega _{i}); 1 \le i \le I \bigr\} , $$

and \(\mathrm{I}_{\delta }\) the Lagrange interpolation operator: for all \(\theta \in \mathbb{X}_{\delta }\) such that \(\theta _{/\varOmega _{i}}\), \(1 \leq i\leq I\) is continuous on \({\overline{\varOmega }_{i}}\), \(\mathrm{I}_{\delta }(\theta )\in \mathbb{Z}_{\delta }\), and \(\mathrm{I} _{\delta }(\theta )(\varepsilon ^{x}_{ij},\varepsilon ^{y}_{il})=\theta (\varepsilon ^{x}_{ij},\varepsilon ^{y}_{il})\).

Let \(f^{n}\) be continuous on \(\varOmega _{i}\), \(1\leq i\leq I\), for each \(0\leq n\leq M\). Consider the discrete problem:

Find \(\varphi _{\delta }^{n} \in \mathbb{X}_{\delta }\) for each \(1\leq n\leq M\), such that

$$ \varphi ^{0}_{\delta }=\mathrm{I}_{\delta }(\varphi _{0}) $$


$$ \forall \psi _{\delta }\in \mathbb{X}_{\delta },\quad a^{n}_{\delta }\bigl( \varphi ^{n}_{\delta },\psi _{\delta }\bigr)=L^{n}_{\delta }(\psi _{\delta }). $$

The bilinear form \(a^{n}_{\delta }(\cdot ,\cdot )\), and the linear form \(L_{\delta }^{n}(\cdot )\), for \(1\leq n\leq M\), are defined as

$$ a^{n}_{\delta }\bigl(\varphi _{\delta }^{n}, \psi _{\delta }\bigr)=\bigl(\varphi _{ \delta }^{n},\psi _{\delta }\bigr)_{\delta } + h \sum_{i=1}^{I} \lambda _{i}\bigl(\nabla \varphi ^{n}_{\delta },\nabla \psi _{\delta }\bigr)_{N_{i}} $$


$$ L^{n}_{\delta }(\psi _{\delta })=\bigl( \varphi _{\delta }^{n-1},\psi _{\delta }\bigr)_{\delta } + h \bigl(f^{n},\psi _{\delta }\bigr)_{\delta }. $$

We define on the space \(\mathbb{X}_{\delta }\) the following broken energy norm:

$$ \Vert \psi _{\delta } \Vert _{\mathbb{X}_{\delta }}= \Biggl( \Vert \psi _{\delta } \Vert ^{2}_{0,\varOmega } + h\sum _{i=1}^{I}\lambda _{i} \vert \psi _{\delta } \vert ^{2}_{1,\varOmega _{i}} \Biggr)^{\frac{1}{2}}. $$

The bilinear form \(a_{\delta }^{n}(\cdot ,\cdot )\) is continuous on \({\mathbb{X} _{\delta }} \times {\mathbb{X}_{\delta }}\), coercive on \({\mathbb{X} _{\delta }}\) and the linear form \(L_{\delta }^{n}(\cdot )\) is continuous on \({\mathbb{X}_{\delta }}\). The Lax–Milgram lemma permits us to propose the following theorem.

Theorem 1

For f continuous on \(\overline{\varOmega }\times [0,T]\) and \(\varphi _{0}\) continuous on Ω̅, problem (17) has a unique solution \((\varphi _{\delta }^{n})_{0\le n \le M}\) in \(\mathbb{Y}_{\delta } \times ({\mathbb{X}_{\delta }})^{M}\) verifying the stability condition:

$$ \bigl\Vert \varphi _{\delta }^{n} \bigr\Vert _{0,\varOmega }^{2}+h \sum_{j=1}^{n} \sum_{i=1} ^{I} \lambda _{i} \bigl\Vert \nabla \varphi _{\delta }^{j} \bigr\Vert _{0,\varOmega _{i}} \le c \Biggl( \Vert \mathrm{I}_{\delta } \varphi _{0} \Vert _{0,\varOmega }^{2} + \frac{ \lambda ^{\max }}{\lambda ^{\min } } \sum _{j=1}^{n} \bigl\Vert \mathrm{I} _{\delta } f^{j} \bigr\Vert _{0,\varOmega } \Biggr) $$

where c is a positive constant independent of n and δ.

The error estimate

For each mortar \(\gamma _{m} \subset {\mathbf{S}}\), \(1 \le m \le \mathfrak{M} \), we define \(\eta (m)\) as the set of subscripts i, \(1 \le i \le I\), such that \(\partial \varOmega _{i} \cap \gamma _{m}\) has a positive measure. We have the following theorem for the error result (see [14] for its proof).

Theorem 2

We suppose λ is constant on each \(\varOmega _{i}\), \(1\le i \le I\). Let f is such that \(f_{/\varOmega _{i}}\in \mathcal{C}^{0}(0,T;H ^{\sigma _{i}}(\varOmega _{i}))\); \(\sigma _{i} > 1\); \(\varphi _{0}\) is such that \({\varphi _{0}}_{/\varOmega _{i}}\in H^{\mu _{i}}(\varOmega _{i})\); \(\mu _{i} > 1\) and the solution \((\varphi ^{n})_{0\le n \le M}\) of problem (8) is such that \(\varphi ^{n}_{/\varOmega _{i}}\in H^{s_{i}+1}(\varOmega _{i})\); \(s _{i} \ge 0\). Then the error between the \((\varphi ^{n})_{0\le n \le M}\) and \((\varphi _{\delta }^{n})_{0\le n \le M}\) solutions of problem (17) is

$$\begin{aligned} \bigl\Vert \varphi ^{n}-\varphi _{\delta }^{n} \bigr\Vert _{n} \le& c h \Biggl[ (1+ \alpha +\alpha _{\delta }) \Biggl( \biggl(\frac{\lambda ^{\min}}{ \lambda ^{\max}} \biggr) \sum _{i=1}^{I} \lambda _{i} N_{i}^{-2s_{i}} \log (N _{i}) \bigl\Vert \varphi ^{n} \bigr\Vert _{H^{s_{i}+1}(\varOmega _{i})}^{2} \Biggr)^{1/2} \\ &{} + \biggl(\frac{1}{\min (1,\lambda ^{\min})} \biggr)^{1/2} \Biggl(\sum _{i=1}^{I} N_{i}^{-2\sigma _{i}} \Vert f \Vert ^{2}_{\mathcal{C}^{0}(0,T;H^{ \sigma _{i}}(\varOmega _{i}))} \Biggr)^{1/2} \\ &{} + \Biggl(\sum_{i=1}^{I} N_{i}^{-2\mu _{i}} \Vert \mathrm{I}_{\delta } \varphi _{0} \Vert ^{2}_{H^{\mu _{i}}(\varOmega _{i})} \Biggr)^{1/2} \Biggr], \end{aligned}$$

where c is a positive constant independent of δ,

$$\begin{aligned}& \alpha = \max_{1\le m \le \mathfrak{M}} \max_{k\in \eta (m)} \biggl( \frac{ \lambda _{k}}{\lambda _{i(m)}} \biggr)^{1/2}, \\& \alpha _{\delta }= \max_{1\le m \le \mathfrak{M}} \max_{k\in \eta (m)} \biggl( \frac{ \lambda _{k} N_{i(m)}}{\lambda _{i(m) N_{k}}} \biggr)^{1/2}. \end{aligned}$$

Remark 1

The term \(\alpha _{\delta }\) vanishes when the decomposition is conforming. The choice of mortars can be done freely in two ways. Firstly, it can be such that

$$ \forall k\in \eta (m),\quad \lambda _{k}\leq \lambda _{i(m)}. $$

Thus \(\alpha \leq 1\).

Secondly, it can be such that

$$ \forall k\in \eta (m),\quad \lambda _{k} N_{k}^{-1}\leq \lambda _{i(m)}N _{i(m)}^{-1}, $$

which can lead us to make a small modification in the domain decomposition. Thus we optimize the error estimation (21) without making the geometry conform.

Implementation and numerical results

We start by the description of the implementation of mortar spectral element method for the discrete problem (17). We consider \(l_{il}^{x}l_{ik}^{y} , 0\leq l\), \(k\leq N_{i}\), \(1\leq i\leq I\), to be a basis of the polynomial space \(\mathbb{P}_{N_{i}}(\varOmega _{i})\) where \(l_{il}^{x}\) and \(l_{ik}^{y}\) denote the Lagrange interpolating polynomials associated with the nodes \(\varepsilon _{il}^{x}\) and \(\varepsilon _{ik}^{y}\), respectively. Then the solution \(\varphi ^{n} _{\delta }\) of the problem (17) is decomposed as

$$ \varphi ^{n}_{\delta }(x,y)_{/\varOmega _{i}}= \sum _{l=0}^{N_{i}} \sum_{k=0}^{N_{i}} \varphi ^{n}_{\delta }\bigl(\varepsilon ^{x}_{il}, \varepsilon ^{y}_{ik}\bigr)l_{il}^{x}(x)l_{ik}^{y}(y). $$

Then the discrete problem (17) is written in the form

$$ (D + h A)\varPhi ^{n}_{\delta }=F^{n}, $$

where \(\varPhi ^{n}_{\delta }\) is the vector of admissible unknowns composed of \(\varphi ^{n}_{\delta }(\varepsilon ^{x}_{il},\varepsilon ^{y}_{ik})\), \(1\leq l\), \(k\leq N_{i}\), \(1\leq i\leq I\), the matrix D is diagonal with coefficient \(\rho _{ir}^{x}\rho _{is}^{y}, 1\leq r\), \(s\leq N_{i}\), \(1\leq i\leq I\), A is a symmetric block-diagonal matrix made of the I square sub-matrices \((\nabla (l_{il}l_{ik}),\nabla (l_{ir}l_{is}))_{N _{i}}\) which represent the Neumann–Laplace operator on each sub-domain \(\varOmega _{i}\) and \(F^{n}\) is the vector with components equal to \((\varphi ^{n-1}_{\delta }(\varepsilon ^{x}_{ir},\varepsilon ^{y} _{is}) + h f^{n}(\varepsilon ^{x}_{ir},\varepsilon ^{y}_{is}) )\rho _{ir}^{x}\rho _{is}^{y}\), \(1\leq r\), \(s\leq N_{i}\), \(1\leq i\leq I\).

The vector \(\varPhi ^{n}_{\delta }\) has false degrees of freedom. These false degrees of freedom are the values of the solution \(\varphi ^{n} _{\delta }\) on the edges of the sub-domain \(\varOmega _{i}\) which are not mortars (\(\varOmega _{i}\neq \varOmega _{i(m)}\)) and are not in the boundary ∂Ω. Then the matching condition (14) is written in the form \({\varphi ^{n}_{\delta }}_{/\varGamma }=\bar{Q}\psi _{/\gamma _{m}}\), where is the matching matrix. Its value is determined locally for each pair edge-mortar (Γ, \(\gamma _{m}\)) and ψ is the corresponding mortar function (see [15, 16] for more details). Then the action of the global matching matrix Q is represented as follows:

( v l k i / internal v l k i / edges ) Φ δ n = ( I 0 0 Q ¯ ) Q ( v l k i / internal ψ / γ m ) Φ ¯ δ n ,

for \(1\leq i\leq I\), \(1\leq l\), \(k\leq N_{i}\) and \(1\leq m\leq \mathfrak{M}\). The role of the matrix Q is to decouple the system (24) in order to be solved on each sub-domain \(\varOmega _{i}\). The transpose matrix \(Q^{T}\) serves to eliminate the false degrees of freedom from the vector of unknowns. Thus the system that we solve is

$$ Q^{T}(D + h A)Q {\bar{\varPhi }}^{n}_{\delta }=Q^{T}F^{n}. $$

The components of the vector \({\bar{\varPhi }^{n}_{\delta }}\) are the values of the solution on the internal nodes of sub-domains \(\varOmega _{i}\), \(1\leq i\leq I\), and the values of the mortar functions on the skeleton S. Since the matrix \({\bar{A}}=Q^{T}(D + h A)Q\) is symmetric and positive defined, we solve the system (25) using the gradient conjugate method as follows.

Initialization: let \(\varPhi ^{n}_{0}\) be arbitrary, \(R^{n}_{0}=Q^{T}F ^{n}-{\bar{A}} \varPhi ^{n}_{0}\), \(T^{n}_{0}=R^{n}_{0}\).

Iteration \(k=1,\ldots \) :

$$\begin{aligned}& \alpha _{k}=\frac{(R^{n}_{k},R^{n}_{k})}{(T^{n}_{k},{\bar{A}}T^{n} _{k})} , \\& \varPhi ^{n}_{k+1}=\varPhi ^{n}_{k} + \alpha _{k} T^{n}_{k} , \\& R^{n}_{k+1}=R^{n}_{k}-\alpha _{k} {\bar{A}}T^{n}_{k} , \\& \beta _{k}=\frac{(R^{n}_{k+1},R^{n}_{k+1})}{(R^{n}_{k},R^{n}_{k})} , \\& T^{n}_{k+1}=R^{n}_{k+1}+\beta _{k} T^{n}_{k} . \end{aligned}$$

The high cost of operations is due to the product matrix-vector \((D+h A)_{i} \varPhi ^{n}_{i}\), \(1\leq i\leq I\), which is of order \(O(N_{i}^{4})\). Thanks to the tensorization property of the polynomial basis, this cost has been reduced to \(O(N_{i}^{3})\) operations.

To validate the used numerical method, we focus, firstly, on the time convergence. We consider the domain \(\varOmega =\mathopen{]}-1,1[^{2}\) and the continuous solution

$$ \varphi (x,y,t)=(t+1) \bigl(1-x^{2} \bigr)^{5/2}\bigl(1-y^{2}\bigr)^{5/2}. $$

We consider the space discrete parameter \(\delta =40\), \(T=1\) and the time steps \(h\in \{10^{-1},10^{-2}, 10^{-3}\}\). Figure 2 shows the curves of convergence for the two terms \(\log \|\varphi -\varphi ^{n}_{\delta }\|_{H^{1}(\varOmega )}\) (in blue) and \(\log \|\varphi -\varphi ^{n}_{\delta }\|_{L^{2}(\varOmega )}\) (in red) as a function of \(\log (h)\). We notice that the error decreases when the step h decreases with an order almost equal to 1.

Figure 2
figure 2

Error on time for the solution defined in (26)

In the following, we fix \(h=10^{-3}\), \(T=1\),

$$ f(x,y,t)=1 \quad \text{and} \quad \varphi _{0}(x,y)=0. $$

We consider the partition of the domain \(\varOmega =\mathopen{]}-1,1[^{2}\) in two sub-domains

$$ \varOmega _{1}=\mathopen{]}-1,0\mathclose{[}\times \mathopen{]}-1,1[,\qquad \varOmega _{2}=\mathopen{]}0,1\mathclose{[}\times \mathopen{]}-1,1[. $$

Let \(\lambda =\lambda _{1}\) in \(\varOmega _{1}\) and \(\lambda =\lambda _{2}\) in \(\varOmega _{2}\).

In Fig. 3 (left), the discrete solution is computed for \(\delta =N = 40\) without considering the decomposition of the domain where λ is continuous and equal to 1. The discrete solution computed considering the mortar method for \(\delta =(N_{1},N_{2})=(40,40)\) and \((\lambda _{1},\lambda _{2})=(1,1)\) is presented in Fig. 3 (right).

Figure 3
figure 3

The discrete solution for the data f, \(\varphi _{0}\) defined in (27)

We present in Table 1 the influence of the variation of \(\lambda _{2}\) on the number of iterations of the gradient conjugate algorithm taking into account domain decomposition or not with \(\lambda _{1}=1\). We remark that the number of iterations increases when the ratio \(\frac{\lambda _{2} }{\lambda _{1}}\) moves away from 1, for a resolution without a domain decomposition (without mortar). This number of iterations decreases sharply when we solve the discrete problem by considering the domain decomposition (with mortar).

Table 1 Correlation between the number of iterations and the quotient \(\frac{\lambda ^{\max }}{\lambda ^{\min }}\)

In Fig. 4, we observe that the discontinuity of λ makes the discrete solution unsymmetrical.

Figure 4
figure 4

The isovalues of the discrete solution issued from (27) for \((\lambda _{1},\lambda _{2})=(1,1)\) (left) and \((\lambda _{1},\lambda _{2})=(1,10)\) (right)

To illustrate the variation of the error according to the discontinuity of λ we define the term:

$$ \operatorname{error}= \bigl\Vert \varphi -\varphi ^{n}_{\delta } \bigr\Vert _{L^{2}(\varOmega )} \quad \text{and} \quad N= \Biggl(\sum _{1}^{I} N_{i}^{2} \Biggr)^{ \frac{1}{2}}. $$

Hereafter the error curves showing the \(\log (\operatorname{error})\) as a function of \(\log (N)\).

In Fig. 5 (left), the resolution is done without considering the domain decomposition (without mortar) by fixing \(\lambda _{1}=1\). The curves are made with a discretization parameter \(\delta \in \{7,10,15,25 \}\). We observe that in the case where \(\lambda _{2}=1\) (in red) and the domain is homogeneous (λ is continuous), the convergence is exponential (10−8). In the case where \(\lambda _{2} \in [0.13,14]/ \{1\}\) (for example \(\lambda _{2} = 0.13\) (in blue) and \(\lambda _{2} = 14\) (in black)), the convergence is very bad with a large number of iterations (see Table 1). Outside the interval \([0.13,14]\) the number of iterations is much higher (about a million).

Figure 5
figure 5

The error curves issued from the solution defined in (26)

However, in Fig. 5 (right), the same resolution is made considering that the domain Ω is broken down into two sub-domains \(\varOmega _{1} \) and \(\varOmega _{2}\). The mortar is chosen \(\gamma _{1}=\mathopen{]}-1,1[\) edge of \(\varOmega _{2}\), δ equal to \((5,7)\), \((8,12)\), \((10,15)\) and \((22,25)\). The method is functionally nonconforming. The curves are made for three different values: \(\lambda _{2} = 1\) (in red), \(\lambda _{2} = 10\) (in black) and \(\lambda _{2} = 100\) (in blue). We observe that in the case where \(\lambda _{2} = 10\) and \(\lambda _{2} = 100 \) where λ is discontinuous, the convergence is much better than in the case without domain decomposition. This convergence also depends on the ratio \(\frac{{\lambda _{2}}}{\lambda _{1}}\).

Secondly we consider the L-shaped domain

$$ \varOmega =\mathopen{]}-1,1[^{2}\mathrel{/}\mathopen{ ]}0,1[^{2}, $$

which we decompose into three sub-domains

$$ \varOmega _{1}=\mathopen{]}-1,0\mathclose{[}\times \mathopen{]}-1,0 \mathclose{[}, \qquad \varOmega _{2}=\mathopen{]}-1,0\mathclose{[}\times \mathopen{]}0,1\mathclose{[},\qquad \varOmega _{3}=\mathopen{]}0,1 \mathclose{[}\times \mathopen{]}-1,0\mathclose{[}. $$

Figure 6 presents the discrete solution in the L-shaped domain for \(\delta =(N_{1},N_{2},N_{3})=(35,35,35)\), in the case where the domain Ω is homogeneous (i.e. λ is continuous equal to \((\lambda _{1},\lambda _{2},\lambda _{3})=(1,1,1)\) where \(\lambda _{j}\) is the value of λ on each sub-domain \(\varOmega _{j}\) for \(1\leq j\leq 3\)).

Figure 6
figure 6

The discrete solution in the L-shaped domain for the data defined in (27)

In Fig. 7, we present the isovalues of the discrete solution issued from the data (27), for the two values \(\lambda =(1,1,1)\) and \(\lambda =(1,10,10)\). We observe that the symmetry of the solution changes when λ is discontinuous.

Figure 7
figure 7

The isovalues of the discrete solution issue from (27) for \(\lambda =(1,1,1)\) (left) and \(\lambda =(1,10,10)\) (right)

Consider the continuous solution

$$ \varphi (x,y,t)=t^{2}x\bigl(1-x^{2} \bigr)^{\frac{5}{2}}y\bigl(1-y^{2}\bigr)^{\frac{5}{2}}. $$

We choose the two mortars \(\gamma _{1}=\mathopen{]}-1,0[\) in \(\varOmega _{2}\) and \(\gamma _{2}=\mathopen{]}-1,0[\) in the sub-domain \(\varOmega _{3}\). Figure 8 presents the error curves for \(\lambda =(1,1,1)\) (in red), \(\lambda =(1,10,10)\) (in black) and \(\lambda =(1,100,100)\) (in blue). Each curve is done with a discrete parameter \(\delta =(5,8,8)\), \(\delta =(10,13,13)\), \(\delta =(15,17,17)\) and \(\delta =(20,25,25)\). We notice that in so far as the value of \(\frac{\lambda ^{\max }}{\lambda ^{\min }}\) is high, the error is bad. We also observe that in this case, the error is not as good as in the case of two domains. This is due to the presence of the geometric singularity \(\frac{{3\pi }}{2}\).

Figure 8
figure 8

The curves of error issued from the solution defined in (28)

Finally, we consider the case of a geometrically nonconforming domain. Let Ω be the domain

$$ \varOmega =\mathopen{]}-1,1[^{2}, $$

partitioned into three sub-domain as follows:

$$ \varOmega _{1}=\mathopen{]}-1,1\mathclose{[}\times \mathopen{]}0,1[, \qquad \varOmega _{2}=\mathopen{]}-1,0\mathclose{[}\times \mathopen{]}-1,0[,\qquad \varOmega _{3}=\mathopen{]}0,1\mathclose{[} \times \mathopen{]}-1,0[. $$

The mortar \(\gamma _{1}\) is chosen equal to the edge \(]{-}1,1[\) in the domain \(\varOmega _{1}\), according to the conditions (22) and (23). In Fig. 9, we present two error curves with a discrete parameter \(\delta =(N_{1},N_{2},N_{3})\) running through \((5,7,12)\), \((9,13,15)\), \((11,16,19)\) and \((20,22,25)\). The curves in red and black correspond, respectively, to the cases \(\lambda =(1,1,1)\) and \(\lambda =(1,10,100)\), where λ is discontinuous. Since the decomposition is nonconforming, the error estimation is less good than the case where the domain Ω is decomposed in two sub-domains. This is due to the presence of the term \(\alpha _{\delta }\) in the estimation (21).

Figure 9
figure 9

The error curves for the solution defined in (27)


We have been interested in this work in the numerical implementation of the mortar spectral element method for the heat equation with diffusion coefficient depending on the heterogeneity of the domain. We illustrate numerically that the error is poor, which is due to the fact that the diffusion coefficient is piecewise continuous. To improve the order of convergence, we opted for a domain decomposition method (mortar method) associated with the spectral discretization method, known for its high accuracy. This technique can be generalized for other types of partial differential equations.


  1. Thomée, V.: Galerkin Finite Element Methods for Parabolic Problems. Springer, Paris (1997)

    Book  Google Scholar 

  2. Bergam, A., Bernardi, C., Mghazli, Z.: A posteriori analysis of the finite element discretization of some parabolic equations. Math. Compet. 251, 1117–1138 (2005)

    MathSciNet  MATH  Google Scholar 

  3. Chorfi, N., Abdelwahed, M., Ben Omrane, I.: A posteriori analysis of the spectral element discretization of heat equation. An. Ştiinţ. Univ. ‘Ovidius’ Constanţa 22, 13–35 (2014)

    MathSciNet  MATH  Google Scholar 

  4. Zhou, C.: Steady compressible heat-conductive fluid with inflow boundary condition. Bound. Value Probl. 2017, 177 (2017)

    MathSciNet  Article  Google Scholar 

  5. Bernardi, C., Maday, Y.: Adaptive finite element methods for elliptic equations with non-smooth coefficients. Math. Models Methods Appl. Sci. 85, 579–608 (2000)

    MathSciNet  MATH  Google Scholar 

  6. Bernardi, C., Chorfi, N.: Mortar spectral element methods for elliptic equations with discontinuous coefficients. Math. Models Methods Appl. Sci. 4, 497–524 (2002)

    MathSciNet  Article  Google Scholar 

  7. Abdelwahed, M., Al Salam, A., Chorfi, N.: Solving the singular two-dimensional fourth order problem by the mortar spectral element method. Bound. Value Probl. 2018, 39 (2018)

    MathSciNet  Article  Google Scholar 

  8. Bernardi, C., Maday, Y., Patera, A.T.: A new nonconforming approch to domain decomposition: the mortar element method. In: Brézis, H., Lions, J.L. (eds.) Nonlinear Partial Differential Equations and Their Applications, pp. 16–27 (1991) Collège de France Seminar

    Google Scholar 

  9. Meyers, N.G.: An \(l^{p}\)-estimate for the gradient of solutions of second order elliptic divergence equations. Ann. Sc. Norm. Super. Pisa 17, 189–206 (1963)

    MATH  Google Scholar 

  10. Chipot, M.: On some stationary Navier–Stokes type problems. Nonlinear Anal., Theory Methods Appl. 177, 288–298 (2018)

    MathSciNet  Article  Google Scholar 

  11. Wohlmuth, B.I.: Discretisation Methods and Iterative Solvers Based on Domain Decomposition. Lecture Notes in Computational Science and Engineering, vol. 17. Springer, Berlin (2001)

    Book  Google Scholar 

  12. Seshaiyer, P., Suri, M.: hp submeshing via non-conforming finite element methods. Comput. Methods Appl. Mech. Eng. 189, 1011–1030 (2000)

    MathSciNet  Article  Google Scholar 

  13. Lions, J.L., Magenes, M.: Problèmes aux Limites Non Homogène et Applications. Dunod, Paris (1968)

    MATH  Google Scholar 

  14. Abdelwahed, M., Chorfi, N.: Mortar spectral elements discretization of the heat equation in an inhomogeneous medium. Comput. Math. Appl. (Submited)

  15. Anagnostou, G.: Non conforming sliding spectral element methods for unsteady incompressible Navier–Stokes equation. PhD thesis, Maassachusets Institute of Technology, Cambridge (1991)

  16. Khai, D.Q., Tri, N.M.: Well-posedness for the Navier–Stokes equations with data in homogeneous Sobolev–Lorentz spaces. Nonlinear Anal., Theory Methods Appl. 149, 130–145 (2017)

    MathSciNet  Article  Google Scholar 

Download references


The authors would like to extend their sincere appreciation to the Deanship of Scientific Research at King Saud University for funding this Research group No (RG-1435-026).

Availability of data and materials

Not applicable.


Not applicable.

Author information

Authors and Affiliations



The authors declare that the study was realized in collaboration with equal responsibility. All authors read and approved the final manuscript.

Corresponding author

Correspondence to Nejmeddine Chorfi.

Ethics declarations

Competing interests

The authors declare that they have no competing interests.

Additional information

Publisher’s Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (, which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Abdelwahed, M., Chorfi, N. The implementation of the mortar spectral element discretization of the heat equation with discontinuous diffusion coefficient. Bound Value Probl 2019, 80 (2019).

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI:


  • Heat equation
  • Euler method
  • Mortar spectral element method
  • Implementation