Skip to main content
  • Research article
  • Open access
  • Published:

High order cut finite element methods for the Stokes problem

Abstract

We develop a high order cut finite element method for the Stokes problem based on general inf-sup stable finite element spaces. We focus in particular on composite meshes consisting of one mesh that overlaps another. The method is based on a Nitsche formulation of the interface condition together with a stabilization term. Starting from inf-sup stable spaces on the two meshes, we prove that the resulting composite method is indeed inf-sup stable and as a consequence optimal a priori error estimates hold.

Background

Introduction

Meshing of complex geometries remains a challenging and time consuming task in engineering applications of the finite element method. There is therefore a demand for finite element methods based on more flexible mesh constructions. One such flexible mesh paradigm is the formulation of finite element methods on composite meshes created by letting several meshes overlap each other. This approach enables using combinations of meshes for certain parts of a domain and reuse of meshes for complicated parts that may have been difficult and time consuming to construct.

We consider the case of a composite mesh consisting of one mesh that overlaps another mesh which together provide a mesh of the computational domain of interest. This results in some elements on one mesh having an intersection with one or several elements on the boundary of the other mesh. We denote such elements by cut elements. The interface conditions on these cut elements are enforced weakly and consistently using Nitsche’s method [1].

In this setting [2] first developed and analyzed a composite mesh method for elliptic second order problem based on Nitsche’s method. In [3], this approach was extended to the Stokes problem using suitable stabilization to ensure inf-sup stability of the method. Implementation aspects were discussed in detail in [4]. In [5] a related cut finite element method for a Stokes interface problem based on the P1-iso-P2 element was developed and analyzed.

Composite mesh techniques using domain decomposition are often called chimera, see for example [6, 7] for uses in a finite difference setting or [8] in a finite element setting. The extended finite element method (XFEM) also provides composite mesh handling techniques, see for example [9, 10]. However, the Nitsche method approach using cut elements used in this work makes it possible to obtain a consistent and stable formulation while maintaining the conditioning of the algebraic system for both conforming and non-conforming high order finite elements.

In this paper, we consider Stokes flow and devise a method based on a stabilized Nitsche formulation for enforcement of the interface conditions at the border between the two meshes. A specific feature is that we only assume that we have inf-sup stable spaces on the two meshes and that the spaces consist of polynomials. We can then show that our stabilized Nitsche formulation satisfies an inf-sup condition and as a consequence optimal order a priori error estimates hold. We emphasize that the spaces are arbitrary and can be different on the two meshes, in particular, continuous or discontinuous pressure spaces as well as higher order spaces can be used. We present numerical results for higher order Taylor-Hood elements in two and three spatial dimensions that confirm our theoretical results.

The outline of the paper is as follows: First we review the Stokes problem. Then the finite element method is presented by first defining the composite mesh and introducing finite element spaces. The method is then analyzed where the inf-sup condition is the main result. Finally we present the numerical results and the conclusions.

The Stokes problem

In this section, we review the Stokes problem and state its standard weak formulation. We also introduce some basic notation.

Strong form

Let \(\Omega\) be a polygonal domain in \(\mathbb {R}^d\) with boundary \(\partial \Omega\). The Stokes problem takes the form: Find the velocity \({\varvec{u}}: \Omega \rightarrow {\mathbb {R}}^d\) and pressure \(p : \Omega \rightarrow {\mathbb {R}}\) such that

$$\begin{aligned} -\Delta {\varvec{u}}+ \nabla p&= {\varvec{f}}\qquad \text {in }\Omega ,\end{aligned}$$
(1)
$$\begin{aligned} {{\mathrm{div}}}\, \varvec{u}&= 0 \qquad \text {in }\Omega ,\end{aligned}$$
(2)
$$\begin{aligned} {\varvec{u}}&= {\varvec{0}}\qquad \text {on }\partial \Omega , \end{aligned}$$
(3)

where \({\varvec{f}}: \Omega \rightarrow \mathbb {R}^d\) is a given right-hand side.

Weak form

As usual, let \(H^s(\Omega )\) denote the standard Sobolev space of order \(s\ge 0\) on \(\Omega\) with norm denoted by \(\Vert \cdot \Vert _{H^s(\Omega )}\) and semi-norm denoted by \(|\cdot |_{H^s(\Omega )}\). Let \(L^2(\Omega )\) denote the \(L^2\)-norm on \(\Omega\) with norm denoted by \(\Vert \cdot \Vert _{\Omega }\). The corresponding inner products are labeled accordingly. We will also use the notation \(x \lesssim y\) to denote the inequality \(x \le C y\), where C is a constant. The corresponding inequality \(x \gtrsim y\) is defined accordingly.

Introducing the spaces

$$\begin{aligned} {\varvec{V}}&= [H^1_0(\Omega )]^d, \end{aligned}$$
(4)
$$\begin{aligned} Q&= \{ q \in L^2(\Omega ) : \int _\Omega q \,\mathrm {d}x= 0 \}, \end{aligned}$$
(5)

with norms \(\Vert D {\varvec{v}}\Vert _{\Omega } = \Vert {\varvec{v}}\otimes \nabla \Vert _{\Omega }\) and \(\Vert q \Vert _\Omega\), the weak form of (1) and (2) reads: Find \(({\varvec{u}},p) \in {\varvec{V}}\times Q\) such that

$$\begin{aligned} a({\varvec{u}},{\varvec{v}}) + b({\varvec{u}},q) + b (p,{\varvec{v}}) = l({\varvec{v}})\quad {{\mathrm{\forall \,}}}({\varvec{v}},q) \in {\varvec{V}}\!\times Q, \end{aligned}$$
(6)

where the forms are defined by

$$\begin{aligned} a({\varvec{u}},\varvec{v})&= (D \varvec{u}, D \varvec{v})_\Omega ,\end{aligned}$$
(7)
$$\begin{aligned} b(\varvec{u},q)&= -({{\mathrm{div}}}\, \varvec{u},q)_\Omega \end{aligned}$$
(8)
$$\begin{aligned} l(\varvec{v})&= (\varvec{f},\varvec{v})_\Omega . \end{aligned}$$
(9)

Remark 1

We obtain the variational problem (6) by formally multiplying (1) by a test function \(\varvec{v}\) and (2) by a test function \(-q\).

It is then possible to show that the inf-sup condition

$$\begin{aligned} \Vert q\Vert _\Omega \lesssim \sup _{\varvec{v}\in \varvec{V}\!} \frac{b(\varvec{v},q)}{\Vert D\varvec{v}\Vert _\Omega } = \sup _{\varvec{v}\in V} \frac{({{\mathrm{div}}}\varvec{v}, q)}{\Vert D \varvec{v}\Vert _{\Omega }} \quad {{\mathrm{\forall \,}}}q \in Q \end{aligned}$$
(10)

holds, from which it follows that there exists a unique solution to (6). See [11] for further details.

Method

The composite mesh

We here present the concepts and notation of the domains and meshes used. The main idea is to introduce a background domain which is partially overlapped by another domain (the overlapping domain). For each of these domains, we mimic the setup of a traditional finite element method in the sense that each domain is equipped with a traditional finite element mesh. The two meshes are completely unrelated. In particular, the interface between the two meshes is determined by the overlapping domain and is not required to match or align with the triangulation of the background domain.

The composite domain

Let the predomains \({\widehat{\Omega }}_i \subset \Omega\), \(i=0,1\), be polygonal subdomains of \(\Omega\) in \(\mathbb {R}^d\) such that \(\widehat{\Omega }_0 \cup \widehat{\Omega }_1 = \Omega\); see Fig. 1. Consider the partition

$$\begin{aligned} \Omega = \Omega _0 \cup \Omega _1, \quad \Omega _0 = \Omega{\setminus} \widehat{\Omega }_1,\quad \Omega _1 = \widehat{\Omega }_1, \end{aligned}$$
(11)

and let \(\Gamma = \partial \Omega _1{\setminus} \partial \Omega\) be the interface between the overlapping domain \(\Omega _1\) and the underlying domain \(\Omega _0\); see Fig. 1. We make the basic assumption that each \(\Omega _i\), \(i = 0,1\), has a nonempty interior. We note that implies that there exists a nonempty open set \(U\in \Omega\) such that \(\Gamma \cap U \ne \emptyset\) (The set U plays an important role in the proof of Lemma 4 below).

Fig. 1
figure 1

The domains \(\widehat{\Omega }_i\) and the subdomains \(\Omega _i\) (all shaded) sharing the interface \(\Gamma\)

The composite mesh

For \(i=0,1\), let \(\widehat{\mathcal {K}}_{h,i}\) be a quasi-uniform mesh on \(\widehat{\Omega }_i\) with mesh parameter \(h \in (0,\bar{h}]\) and let

$$\begin{aligned} \mathcal {K}_{h,i} = \{K \in \widehat{\mathcal {K}}_{h,i} : \overline{K} \cap \Omega _i \ne \emptyset \} \end{aligned}$$
(12)

be the submesh consisting of elements that intersect \(\Omega _i\); see Fig. 2. Note that \(\mathcal {K}_{h,0}\) includes elements that partially intersect \(\Omega _1\). We also introduce the notation

$$\begin{aligned} \Omega _{h,i} = \bigcup _{K \in \mathcal {K}_{h,i}} K. \end{aligned}$$
(13)

Note that \(\Omega _1 = \Omega _{h,1}\) and \(\Omega _0 \subset \Omega _{h,0}\); see Fig. 3.

Fig. 2
figure 2

The meshes \(\widehat{\mathcal {K}}_{h,i}\) and \(\mathcal {K}_{h,i}\) of the corresponding domains \(\widehat{\Omega }_i\) and \(\Omega _{h,i}\). Note that \(\Gamma\) is not aligned with \(\mathcal {K}_{h,0}\)

Fig. 3
figure 3

The domains \(\Omega _{h,i}\) (shaded)

We obtain a partition of \(\Omega\) by intersecting the elements with the subdomains:

$$\begin{aligned} \bigcup _{i=0}^1 \mathcal {K}_{h,i} \cap \Omega _i = \bigcup _{i=0}^1 \{K \cap \Omega _i : K \in \mathcal {K}_{h,i} \}. \end{aligned}$$
(14)

See also Fig. 2.

Finite element formulation

In this section, we present the finite element method for approximating the weak form (6). Some notation will be introduced, but the main idea is to assume we have inf-sup stable spaces in each of the subdomains away from the interface. Then we are able to formulate a method similar to [2] and [3].

Finite element spaces

For each of the predomains \(\widehat{\Omega }_i\) with corresponding family of meshes \(\widehat{\mathcal {K}}_{h,i}\) we consider velocity and pressure finite element spaces \(\widehat{\varvec{V}\!}_{h,i}\times \widehat{Q}_{h,i}\). The spaces do not contain boundary or interface conditions since these will be enforced by the finite element formulation. We define

$$\begin{aligned} \varvec{V}\!_{h,i} \times Q_{h,i} = \widehat{\varvec{V}\!}_{h,i}|_{\Omega _{h,i}} \times \widehat{Q}_{h,i}|_{\Omega _{h,i}}, \end{aligned}$$
(15)

where \(i=0,1\) and define

$$\begin{aligned} \varvec{V}\!_h \times Q_h = \bigoplus _{i=0}^1 \varvec{V}\!_{h,i} \times Q_{h,i}. \end{aligned}$$
(16)

Note that since the domains \(\Omega _{h,i}\) overlap each other, \(\varvec{V}\!_h \times Q_h\) is to be understood as a collection of function spaces on the overlapping patches \(\Omega _{h,i}\), \(i=0,1\). Using the notation \(\lambda _Y(x)\) to denote the average of x over the domain Y, we now make the following fundamental assumptions on these spaces:

Assumption A

(Piecewise polynomial spaces) The finite element spaces \(\varvec{V}\!_h\) and \(Q_h\) consist of piecewise polynomials of uniformly bounded degree k and l, respectively.

Assumption B

(Inf-sup stability) The finite element spaces are inf-sup stable restricted to a domain bounded away from the interface. More precisely, we assume that for \(i=0,1\) and \(h \in (0,\bar{h}]\) there is a domain \(\omega _{h,i} \subset \Omega _i\) such that:

  1. (a)

    The set \(\omega _{h,i}\) is a union of elements in \(\mathcal {K}_{h,i}\); see Fig. 4.

  2. (b)

    The inf-sup condition

    $$\begin{aligned} m_i \Vert p_i - \lambda _{\omega _{h,i}}(p) \Vert _{\omega _{h,i}} \le \sup _{\varvec{v}\in \varvec{W}\!_{h,i}} \frac{({{\mathrm{div}}}\varvec{v},p)_{\omega _{h,i}}}{\Vert D \varvec{v}\Vert _{\omega _{h,i}}} \end{aligned}$$
    (17)

    holds, where \(\varvec{W}\!_{h,i}\) is the subspace of \(\varvec{V}\!_{h,i}\) defined by

    $$\begin{aligned} \varvec{W}\!_{h,0}&=\{\varvec{v}\in \varvec{V}\!_{h,0}: \varvec{v}=\varvec{0}\quad\text {on}\,\, \overline{\Omega _{h,0}{\setminus}\omega _{h,0}}\}, \end{aligned}$$
    (18)
    $$\begin{aligned} \varvec{W}\!_{h,1}&= \varvec{V}\!_{h,1}. \end{aligned}$$
    (19)
  3. (c)

    The set \(\omega _{h,0}\) is close to \(\Omega _0\) in the sense that

    $$\begin{aligned} \Omega _{h,0} {\setminus} \omega _{h,0} \subset U_\delta (\Gamma ), \quad \delta \sim h, \end{aligned}$$
    (20)

    where \(U_\delta (\Gamma ) =\{ \varvec{x}\in \mathbb {R}^d : |\rho (\varvec{x})|<\delta \}\) is the tubular neighborhood of \(\Gamma\) with thickness \(\delta\).

Fig. 4
figure 4

The domains \(\omega _{h,i}\) (shaded) where inf-sup stability is assumed. Note that \(\Gamma\) is outside \(\omega _{h,0}\)

Remark 2

The assumptions presented ensure that the polynomial spaces are such that certain inverse inequalities hold. More generally, inverse inequalities hold if there is a finite set of finite dimensional reference spaces used to construct the element spaces. The use of the interpolant in the proof of Lemma 4 could alternatively be handled using an abstract approximation property assumption.

Finite element method

We consider the finite element method: Find \((\varvec{u}_h,p_h) \in \varvec{V}\!_h \times Q_h\) such that

$$\begin{aligned} A_h((\varvec{u}_h,p_h),(\varvec{v},q)) = l_h(\varvec{v}) \quad {{\mathrm{\forall \,}}}(\varvec{v},q) \in \varvec{V}\!_h \times Q_h, \end{aligned}$$
(21)

where the forms are defined by

$$\begin{aligned} A_h((\varvec{u},p),(\varvec{v},q))&= a_h(\varvec{u},\varvec{v}) + b_h(\varvec{u},q) + b_h(\varvec{v},p) + d_h((\varvec{u},p),(\varvec{v},q)), \end{aligned}$$
(22)
$$\begin{aligned} a_h(\varvec{u},\varvec{v})&= a_{h,N}(\varvec{u},\varvec{v}) + a_{h,O}(\varvec{u},\varvec{v}),\end{aligned}$$
(23)
$$\begin{aligned} a_{h,N}(\varvec{u},\varvec{v})&= (D \varvec{u}, D \varvec{v})_{\Omega _0} + (D \varvec{u}, D \varvec{v})_{\Omega _1} \\ \nonumber&\quad - (\langle (D \varvec{u}) \cdot \varvec{n}\rangle ,[ \varvec{v}])_{\Gamma } - ([ \varvec{u}], \langle (D \varvec{v}) \cdot \varvec{n}\rangle )_{\Gamma } \\ \nonumber&\quad + \beta h^{-1}([\varvec{u}],[ \varvec{v}])_{\Gamma }, \end{aligned}$$
(24)
$$\begin{aligned} a_{h,O}(\varvec{u},\varvec{v})&= ([D\varvec{u}], [D\varvec{v}])_{\Omega _{h,0} \cap \Omega _1},\end{aligned}$$
(25)
$$\begin{aligned} b_h(\varvec{u},q)&= - ({{\mathrm{div}}}\varvec{u},q)_{\Omega _0} - ({{\mathrm{div}}}\varvec{u},q)_{\Omega _1} + ([\varvec{n}\cdot \varvec{u}],\langle q \rangle )_{\Gamma },\end{aligned}$$
(26)
$$\begin{aligned} d_h((\varvec{u},p),(\varvec{v},q))&= h^2(\Delta \varvec{u}- \nabla p,\Delta \varvec{v}+ \nabla q)_{\Omega _{h,0}\setminus \omega _{h,0}},\end{aligned}$$
(27)
$$\begin{aligned} l_h(\varvec{v})&= (\varvec{f},\varvec{v})_\Omega - h^2(\varvec{f},\Delta \varvec{v}+ \nabla q)_{\Omega _{h,0}\setminus \omega _{h,0}}. \end{aligned}$$
(28)

Here, \(\varvec{n}\) is the unit normal to \(\Gamma\) exterior to \(\Omega _1\). Denoting the restriction of v to \(\Omega _i\) by \(v_i=v|_{\Omega _i}\), \([v] = v_1 - v_0\) is called the jump and \(\langle v \rangle = (v_0 + v_1)/2\) is called the average. (Any convex combination for the average is valid [2].) The parameter \(\beta >0\) is the Nitsche parameter and must be sufficiently large (see for example [2]) and scales as \(k^2\), where k is the polynomial degree. Furthermore, h is the representative mesh size of the quasi-uniform mesh. In a practical implementation, h is evaluated as the local element size.

A comment on the respective terms may be clarifying:

  • \(a_{h,N}\) (and the last term in \(b_h\)) contains the standard Nitsche formulation of (6) to enforce continuity over the interface. This is similar to an interior penalty discontinuous Galerkin method [12].

  • \(a_{h,O}\) is a stabilization of the jump of the gradients across \(\Gamma\) (see [3]). This term is to avoid ill-conditioning when the intersection of an element and the domain is small.

  • \(d_h\) (and the last term in \(l_h\)) stabilizes the method since we do not assume inf-sup stability in all of \(\Omega _0\). This least-squares type of stabilization is commonly found in low-order methods, see e.g. [13] for more details.

By simple inspection, we note that the method is consistent. We conclude by noting that the method satisfies the Galerkin orthogonality.

Proposition 1

(Galerkin orthogonality) Let \((\varvec{u},p) \in \varvec{V}\!\times Q\) be a weak solution to the formulation (6) and let \((\varvec{u}_h,p_h) \in \varvec{V}\!_h \times Q_h\) be the solution to the finite element formulation (21). Then it holds

$$\begin{aligned} A_h((\varvec{u},p)-(\varvec{u}_h,p_h),(\varvec{v}_h,q_h)) = 0 \quad {{\mathrm{\forall \,}}}(\varvec{v}_h,q_h) \in \varvec{V}\!_h \times Q_h. \end{aligned}$$
(29)

Proof

The result follows from [2] and noting that \(a_{h,O}(\varvec{u},\varvec{v}_h)=d_h((\varvec{u},p),(\varvec{v}_h,q_h))=0\) for all \((\varvec{v}_h,q_h) \in \varvec{V}\!_h \times Q_h\). \(\square\)

Approximation properties

We assume that there is an interpolation operator \({\varvec{\pi }}_{h,i}: \varvec{V}\!_{i}(\Omega _{h,i}) \rightarrow \varvec{V}\!_{h,i},\) for \(i=0,1\), where \(\varvec{V}\!_{i}(\Omega _{h,i}) \subset [L^2(\Omega _{h,i})]^d\) is a space of sufficient regularity to define the interpolant. For Taylor-Hood elements, we take \({\varvec{\pi }}_{h,i}\) to be the Scott-Zhang interpolation operator [14], and \(\varvec{V}\!_{i}(\Omega _{h,i}) = [L^2(\Omega _{h,i})]^d\). For other elements we refer to their corresponding papers, for example the Crouzeix-Raviart element [15], the Mini element [16], or the overviews in [13] or [17].

The full interpolation operator \({\varvec{\pi }}_h: \varvec{V}\!\rightarrow \varvec{V}\!_h\) can now be defined by the use of a linear extension operator \(\mathsf {E}: [H^s(\omega _{h,0})]^d \rightarrow [H^s(\Omega _{h,0})]^d\), \(s\ge 0\), such that \((\mathsf {E}\varvec{v})|_{\omega _{h,0}} = \varvec{v}\) and

$$\begin{aligned} \Vert \mathsf {E}\varvec{v}\Vert _{H^s(\Omega _{h,0})} \lesssim \Vert \varvec{v}\Vert _{H^s(\omega _{h,0})}. \end{aligned}$$
(30)

Now, \({\varvec{\pi }}_h: \varvec{V}\!\rightarrow \varvec{V}\!_h\) is defined by

$$\begin{aligned} {\varvec{\pi }}_h \varvec{v}= {\varvec{\pi }}_{h,0} \mathsf {E}\varvec{v}_0 \oplus {\varvec{\pi }}_{h,1} \varvec{v}_1. \end{aligned}$$
(31)

A similar argument can be made to define the pressure interpolation operator \(\pi _h: Q \rightarrow Q_h\).

Furthermore, we assume that the following standard interpolation estimate holds:

$$\begin{aligned} \Vert v - \pi _h v\Vert _{H^m(K)} \lesssim h^{k+1-m} | v |_{H^{k+1}(\widetilde{K})}, \quad m=0,1, \ldots , k. \end{aligned}$$
(32)

Here, in the case of a Scott-Zhang interpolation operator, \(\widetilde{K}\) is the patch of elements sharing a vertex with element K.

Stability and convergence

In this section, we prove that the finite element method proposed in (21) is stable. This is done by first proving the coercivity and continuity of \(a_h\) defined in (23), followed by proving that \(b_h\) defined in (26) satisfies the inf-sup condition. Combining these results proves stability of \(A_h\). This strategy is similar to what can be found in [3] and [5]. In particular, Verfürth’s trick [18] is used to prove inf-sup stability. For a general overview of the saddle point theory used, see [11, 13, 17]. We conclude the section by proving an a priori error estimate. Before we begin, we state appropriate norms.

Norms

In the analysis that follows, we shall use the following norms:

$$\begin{aligned} |||\varvec{v}|||^2_h&=\sum _{i=0}^1 \Vert D \varvec{v}_i \Vert ^2_{\Omega _{h,i}} + h \Vert \langle D \varvec{v}\rangle \cdot \varvec{n}\Vert ^2_{\Gamma } + h^{-1} \Vert [\varvec{v}] \Vert ^2_{\Gamma }, \quad \varvec{v}\in \varvec{V}\!_h,\end{aligned}$$
(33)
$$\begin{aligned} \Vert q\Vert ^2_h&= \sum _{i=0}^1 \Vert q_i \Vert ^2_{\Omega _{h,i}}, \quad q \in Q_h,\end{aligned}$$
(34)
$$\begin{aligned} |||(\varvec{v},q) |||^2_h&= |||\varvec{v}|||^2_h + \Vert q \Vert ^2_h, \quad (\varvec{v},q) \in \varvec{V}\!_h \times Q_h. \end{aligned}$$
(35)

Interpolation estimates

Using (32) together with the trace inequality \(\Vert v \Vert ^2_{\Gamma \cap K} \lesssim h^{-1} \Vert v \Vert ^2_K + h \Vert \nabla v \Vert ^2_K\), we obtain the following interpolation estimate for \(\varvec{v}\in \varvec{V}\!\):

$$\begin{aligned} |||\varvec{v}- {\varvec{\pi }}_h \varvec{v}|||_h&\lesssim h^k | \varvec{v}|_{H^{k+1}(\Omega )}. \end{aligned}$$
(36)

See [2] for a proof. For the pressure p, we have

$$\begin{aligned} \Vert p - \pi _h p\Vert _h \lesssim h^{l+1} | \varvec{v}|_{H^{l+1}(\Omega )}. \end{aligned}$$
(37)

Coercivity and continuity

Establishing coercivity and continuity of \(a_h\) is straightforward and similar to [2].

Lemma 1

(Coercivity of \(a_h\)) The bilinear form \(a_h\) (23) is coercive:

$$\begin{aligned} |||\varvec{v}|||_h ^2 \lesssim a_h(\varvec{v},\varvec{v}) \quad {{\mathrm{\forall \,}}}\varvec{v}\in \varvec{V}\!_h. \end{aligned}$$
(38)

Proof

Note that the overlap term \(a_{h,O}\) provides the control

$$\begin{aligned} \sum _{i=0}^1 \Vert D \varvec{v}\Vert ^2_{\Omega _{h,i}} &=\Vert D \varvec{v}_0 \Vert ^2_{\Omega _{h,0}\setminus \Omega _1} + \Vert D \varvec{v}_0 \Vert ^2_{\Omega _{h,0}\cap \Omega _1} + \Vert D \varvec{v}_1 \Vert ^2_{\Omega _{h,1}} \\&\lesssim \Vert D \varvec{v}_0 \Vert ^2_{\Omega _{h,0} \setminus \Omega _1} + \Vert D (\varvec{v}_0-\varvec{v}_1)\Vert ^2_{\Omega _{h,0}\cap \Omega _1} + \Vert D \varvec{v}_1 \Vert ^2_{\Omega _1} \\ &\le \sum _{i=0}^1 \Vert D \varvec{v}\Vert ^2_{\Omega _{i}} + a_{h,O}(\varvec{v},\varvec{v}), \end{aligned}$$
(39)

where we have used that \(\Omega _{h,0}{\setminus} \Omega _1 = \Omega _0\) and \(\Omega _{h,0}\cap \Omega _1\subset \Omega _1\) as described in the section on the composite mesh above. We also note that for each element K that intersects an interface segment \(\Gamma\) we have the inverse bound

$$\begin{aligned} h\Vert (D \varvec{v})\cdot \varvec{n}\Vert _{K\cap \Gamma }^2 \lesssim \Vert D \varvec{v}\Vert _K^2 \end{aligned}$$
(40)

independent of the particular position of the intersection between K and \(\Gamma\) (see [2]). Combining these two estimates with the standard approach to establish coercivity of a Nitsche method (see for example [2]) immediately gives the desired estimate. \(\square\)

Lemma 2

(Continuity of \(a_h\)) The bilinear form \(a_h\) (23) is continuous:

$$\begin{aligned} a_h(\varvec{v},\varvec{w}) \lesssim |||\varvec{v}|||_h |||\varvec{w}|||_h \quad {{\mathrm{\forall \,}}}\varvec{v},\varvec{w}\in \varvec{V}\!_h. \end{aligned}$$
(41)

Proof

A proof in absence of \(a_{h,O}\) is found in [2]. Bounding \(a_{h,O}\) is straightforward using the Cauchy-Schwarz inequality and the fact that \(\Vert D \varvec{w}\Vert _{\Omega _{h,i}} \lesssim |||\varvec{w}|||_h\) for any \(\varvec{w}\in \varvec{V}\!_h\) and \(i=0, 1\). \(\square\)

Stability

Showing stability of the proposed finite element method involves several steps. First we show a preliminary stability estimate for \(A_h\) (21). Then the so called small inf-sup condition for \(b_h\) (26) is shown using a decomposition of the pressure space into \(L^2\) orthogonal components. For each of these components we show that an inf-sup condition holds. This is then used to show the big inf-sup condition for \(A_h\).

Lemma 3

(Preliminary stability estimate for \(A_h\)) It holds

$$\begin{aligned} |||\varvec{u}|||^2_h + h^2 \Vert \nabla p\Vert _{\Omega _{h,0}\setminus \omega _{h,0}}^2&\lesssim |||\varvec{u}|||^2_h + h^2 \Vert \Delta \varvec{u}- \nabla p\Vert _{\Omega _{h,0}\setminus \omega _{h,0}}^2 \\ &\lesssim A_h((\varvec{u},p),(\varvec{u},-p)). \end{aligned}$$
(42)

Proof

Recall the inverse estimate

$$\begin{aligned} \Vert \varvec{v}\Vert _{H^l(K)} \le C h^{m-l} \Vert \varvec{v}\Vert _{H^m(K)} \end{aligned}$$
(43)

(see [19], Section 4.5) where \(m,l\in \mathbb {Z}^+\), \(K\in \mathcal {K}_{h,i}\) and \(\varvec{v}\in \varvec{V}\!_h\). The first estimate in the lemma follows by adding and subtracting \(\Delta \varvec{u}\), using the triangle inequality and (43) as follows:

$$\begin{aligned} h^2 \Vert \nabla p \Vert ^2_K&\le h^2\Vert \nabla p - \Delta \varvec{u}\Vert ^2_K+h^2\Vert \Delta \varvec{u}\Vert ^2_K \\ &\lesssim h^2\Vert \nabla p - \Delta \varvec{u}\Vert ^2_K+\Vert D \varvec{u}\Vert ^2_K, \end{aligned}$$
(44)

for each element \(K\in \mathcal {K}_{h,i}\). The second estimate follows immediately using coercivity (38) since

$$\begin{aligned} A_h((\varvec{u},p),(\varvec{u},-p))&= a_h (\varvec{u},\varvec{u}) + d_h ((\varvec{u},p),(\varvec{u},-p)) \\ &= a_h (\varvec{u},\varvec{u}) + h^2\Vert \nabla p - \Delta \varvec{u}\Vert ^2_{\Omega _{h,0}\setminus \omega _{h,0}} \\ &\gtrsim |||\varvec{u}|||_h^2 + h^2\Vert \nabla p - \Delta \varvec{u}\Vert ^2_{\Omega _{h,0}\setminus \omega _{h,0}}. \end{aligned}$$
(45)

\(\square\)

The pressure space can be written as the following \(L^2\)-orthogonal decomposition:

$$\begin{aligned} Q = Q_c \oplus Q_0 \oplus Q_1, \end{aligned}$$
(46)

where \(Q_c\) is the space of piecewise constant functions on the partition \(\{\Omega _i\}_{i=0}^1\) of \(\Omega\) with average zero over \(\Omega\) and \(Q_i\) is the space of \(L^2\) functions with average zero over \(\Omega _i\). We next show inf-sup conditions for \(Q_c\) and \(Q_0\). Recall that the inf-sup condition for \(Q_1\) is already established by Assumption B.

Lemma 4

(Inf-sup for \(Q_c\)) For each \(q \in Q_c\) there exists a \(\varvec{w}_c \in \varvec{V}\!_h\) with \(|||\varvec{w}_c |||_h = \Vert q \Vert _h\) such that

$$\begin{aligned} \Vert q \Vert _h^2 \lesssim b_h(\varvec{w}_c,q), \end{aligned}$$
(47)

where the bound is uniform w.r.t. q.

Proof

We first note that \(Q_c\) is a one-dimensional vector space spanned by

$$\begin{aligned} \chi = {\left\{ \begin{array}{ll} |\Omega _0|^{-1} &{} \text {in }\Omega _0, \\ -|\Omega _1|^{-1} &{} \text {in }\Omega _1. \end{array}\right. } \end{aligned}$$
(48)

and that we have the identities

$$\begin{aligned} \Vert \chi \Vert ^2_\Omega = |\Omega _1|^{-1} + |\Omega _2|^{-1}, \qquad [\chi ] = - |\Omega _1|^{-1} + |\Omega _2|^{-1} = - \Vert \chi \Vert ^2_\Omega \end{aligned}$$
(49)

Second, we note that since \(\Omega _0\) and \(\Omega _1\) are nonempty, there exists a nonempty open set \(U \subset \Omega\) such that \(\Gamma \cap U \ne \emptyset\). Let now \(\varvec{x}_0 \in \Gamma \cap U\) be a point on the interface \(\Gamma\) and let \(B_R(\varvec{x}_0)\) be a ball of radius R centered at \(x_0\) as in Fig. 5. The radius R is chosen such that \(B_R(\varvec{x}_0) \subset U\) independently of the mesh size h.

Fig. 5
figure 5

The ball \(B_R(\varvec{x}_0) \subset \Gamma \cap U\)

Fig. 6
figure 6

Location of the overlapping domain in the background mesh. The domain \(\Omega _1\) is placed in the center of \(\Omega\) and rotated along the z-axis in 2D (left) and along the y- and z-axes in 3D (right)

Fig. 7
figure 7

Convergence results, 2D. A rotated square is embedded in the unit square background mesh. Results in \(L^2\) (left) and \(H^1_0\) (right) norms

Fig. 8
figure 8

Convergence results, 3D. A rotated cube is embedded in the unit cube background mesh. Results in \(L^2\) (left) and \(H^1_0\) (right) norms

Now, let \(\gamma = \Gamma \cap B_R(\varvec{x}_0)\) and note that on \(\gamma\), both the interface normal \(\varvec{n}\) and the jump \([\chi ]\) are constant [In fact, \([\chi ]\) is constant on the entire interface, see (49)].

To construct the test function \(\varvec{w}_c \in Q_c\), we let \(\varphi\) be a smooth nonnegative function compactly supported on \(B_R(\varvec{x}_0)\) such that \(\varphi = 1\) on \(B_{R/2}(\varvec{x}_0)\), and take \(\varvec{v}(x) = c \varphi (x) \varvec{n}\), where c is a constant to be chosen. We then have the identity

$$\begin{aligned} (\langle \varvec{n}\cdot \varvec{v}\rangle ,[\chi ])_\gamma = (\langle \varvec{n}\cdot c \varphi \varvec{n}\rangle ,[\chi ])_\gamma = - c |\gamma | \,\Vert \chi \Vert _\Omega ^2. \end{aligned}$$
(50)

Choosing \(c = |\gamma |^{-1}\) we obtain

$$\begin{aligned} (\langle \varvec{n}\cdot \varvec{v}\rangle ,[\chi ])_\gamma = - \Vert \chi \Vert _{\Omega }^2. \end{aligned}$$
(51)

Integrating by parts and recalling that \(\chi\) is constant on each subdomain \(\Omega _i\), \(i = 0, 1\), it follows that this construction of \(\varvec{v}\) leads to the identity

$$\begin{aligned} b_h(\varvec{v},\chi ) = - (\langle \varvec{n}\cdot \varvec{v}\rangle ,[\chi ])_{\gamma } = \Vert \chi \Vert _{\Omega }^2. \end{aligned}$$
(52)

Now, let \(\varvec{w}= {\varvec{\pi }}_h \varvec{v}\in \varvec{V}\!_h\). It follows that

$$\begin{aligned} b_h(\varvec{w}, \chi )&= b_h(\varvec{v}, \chi ) + b_h(\varvec{w}- \varvec{v}, \chi ) \\ &=\Vert \chi \Vert ^2_\Omega - (\langle \varvec{n}\cdot (\varvec{w}- \varvec{v}) \rangle ,[\chi ])_{\gamma } \\ &= \Vert \chi \Vert ^2_\Omega - c (\langle \pi _h\varphi - \varphi \rangle ,[\chi ])_{\gamma } \\ &\ge \Vert \chi \Vert ^2_\Omega - cCh \Vert \chi \Vert ^2_\Omega \\ &\gtrsim \Vert \chi \Vert ^2_\Omega . \end{aligned}$$
(53)

The last inequality holds for all \(h\in (0,\bar{h}]\) with \(\bar{h}\) sufficiently small. (Note that the constants c and C do not depend on q). The first inequality follows by noting that

$$\begin{aligned} |(\langle \pi _h\varphi - \varphi \rangle ,[\chi ])_{\gamma }|&\le \Vert \langle \pi _h\varphi - \varphi \rangle \Vert _{\gamma } \Vert [\chi ]\Vert _{\gamma } \\ &= \Vert \langle \pi _h\varphi - \varphi \rangle \Vert _{\gamma } |\gamma |^{1/2} |[\chi ]| \\&\lesssim \Vert \pi _h \varphi - \varphi \Vert _{B_R(\varvec{x}_0) }^{1/2} \Vert \pi _h \varphi - \varphi \Vert _{H^1(B_R(\varvec{x}_0))}^{1/2} \Vert \chi \Vert ^2_\Omega \\ &\lesssim h \left( \Vert \nabla \varphi \Vert _{B_R(\varvec{x}_0)} + \Vert \Delta \varphi \Vert _{B_R(\varvec{x}_0)} \right) \Vert \chi \Vert ^2_\Omega \\ &\lesssim h \Vert \chi \Vert ^2_\Omega . \end{aligned}$$
(54)

Here we have first used the Cauchy-Schwarz inequality, then a trace inequality on \(B_R(\varvec{x}_0)\) and the second identity of (49) to replace \(|[\chi ]|\) by \(\Vert \chi \Vert _\Omega\) , then an inequality of the type \(ab\lesssim a^2 + b^2\) and the interpolation estimate (32), and finally the estimate \(\Vert \varphi \Vert _{H^2(B_R(\varvec{x}_0))} \lesssim 1\), which holds since \(\varphi\) is a fixed compactly supported smooth function.

Finally, given \(q\in Q_c\), we may write \(q = c_1 \chi\) for some \(c_1>0\). (If \(c_1 < 0\), we may redefine \(\chi\)). Taking \(\varvec{w}_c = c_2 \varvec{w}\), where \(c_2>0\) is chosen such that \(|||\varvec{w}_c |||_h = \Vert q \Vert _h\), we have

$$\begin{aligned} b_h(\varvec{w}_c,q)&= c_1 c_2 b_h(\varvec{w},\chi ) \\ &\gtrsim c_1 c_2 \Vert \chi \Vert ^2_\Omega \\ &\gtrsim c_1 c_2 \Vert \chi \Vert ^2_h \\ &= \frac{c_2}{c_1} \Vert q\Vert ^2_h \\ &\gtrsim \Vert q \Vert ^2_h, \end{aligned}$$
(55)

where we used the fact that \(\Vert \chi \Vert _h \lesssim \Vert \chi \Vert _\Omega\), which holds since \(\chi\) is piecewise constant and \(|\Omega _{h,0}\setminus \Omega _0|\lesssim h |\Gamma | \lesssim 1\), and the identities \(c_1 = \Vert q\Vert _h/\Vert \chi \Vert _\Omega\) and \(c_2 = \Vert q\Vert _h / |||\varvec{w}|||_h\) to conclude that \(c_1/c_2 = |||\varvec{w}|||_h / \Vert \chi \Vert _\Omega \sim 1\), since \(\varvec{w}\) and \(\chi\) are both fixed functions. \(\square\)

Remark 3

We may generalize the proof to a more general assumption on the interface between the overlapping domain \(\Omega _1\) and underlying domain \(\Omega _0\) as follows. Consider the situation where the interface \(\Gamma\) is piecewise smooth and for each value of the mesh parameter h, \(\Omega _{1,h}\) is a polygonal domain consisting of shape regular tetrahedra that approximates \(\Omega _1\) in such a way that the resulting surface mesh on \(\partial \Omega _{1,h}\) interpolates \(\partial \Omega _1\). Then for each value of h we obtain a piecewise linear interface \(\Gamma _h\), with unit normal \(\varvec{n}_h\), approximating the piecewise smooth interface \(\Gamma\).

Let \(\varvec{x}_0 \in \Gamma\) and assume that \(\varvec{x}_0\) and R are chosen such that \(\gamma = B_R(\varvec{x}_0)\cap \Gamma\) is smooth. We define \(\varvec{v}(x) = c \varphi (x) \varvec{n}(\varvec{x}_0)\) and, instead of (51), we obtain

$$\begin{aligned} (\langle \varvec{n}_h \cdot \varvec{v}\rangle ,[\chi ])_{\gamma _h} = - c |\gamma _h| \varvec{n}_h \cdot \varvec{n}(\varvec{x}_0) \Vert \chi \Vert _\Omega ^2 \end{aligned}$$
(56)

where \(\gamma _h = B_R(\varvec{x}_0)\cap \Gamma\). With our assumptions we find that for R and \(\bar{h}\) small enough, there are constants \(c_1,c_2>0\) such that

$$\begin{aligned} |\gamma _h| \ge c_1, \qquad \varvec{n}_h(\varvec{x}) \cdot \varvec{n}(\varvec{x}_0) \ge c_2 \qquad \forall \varvec{x}\in \gamma _h, \ \forall h \in (0,h_0] \end{aligned}$$
(57)

In fact \(|\gamma _h| \rightarrow |\gamma |\) as \(h\rightarrow 0\), and if we for each \(\varvec{x}\in \gamma _h\) let \(\varvec{p}(\varvec{x})\) be the closest point on \(\Gamma\) we have

$$\begin{aligned} \varvec{n}_h(\varvec{x})\cdot \varvec{n}(\varvec{x}_0) = ( \varvec{n}_h(\varvec{x}) - \varvec{n}(\varvec{p}(\varvec{x}))) \cdot \varvec{n}(\varvec{x}_0) + \varvec{n}(\varvec{p}(\varvec{x})) \cdot \varvec{n}(\varvec{x}_0) \end{aligned}$$
(58)

where the first term tends to zero as h tends to zero and the second is positive for a sufficiently small R, since the curvature is bounded and therefore the normal varies continuously with the distance from \(\varvec{x}_0\). Choosing the constant \(c=1/(c_1 c_2)\) in (56), we obtain

$$\begin{aligned} -(\langle \varvec{n}_h \cdot \varvec{v}\rangle ,[\chi ])_\gamma =c |\gamma _h| \varvec{n}_h \cdot \varvec{n}(\varvec{x}_0) \Vert \chi \Vert _\Omega ^2 \ge c c_1 c_2 \Vert \chi \Vert _\Omega ^2 \ge \Vert \chi \Vert ^2_{\Omega } \end{aligned}$$
(59)

The proof may now be continued in the same fashion as for fixed polygonal domains.

Lemma 5

(Inf-sup for \(Q_0\)) For each \(q \in Q_{0}\) there exists a \(\varvec{w}\in \varvec{W}\!_{h,0} \subset \varvec{V}\!_{h,0}\) with \(\Vert D\varvec{w}\Vert _{\omega _{h,0}} = \Vert q - \lambda _{\omega _{h,0}}(q)\Vert _{\omega _{h,0}}\) such that

$$\begin{aligned} \Vert q - \lambda _{\Omega _0}(q) \Vert ^2_{\Omega _{h,0}} - h^2\Vert \nabla q \Vert ^2_{\Omega _{h,0} \setminus \omega _{h,0}}&\lesssim b_h(\varvec{w},q), \end{aligned}$$
(60)

where the bound is uniform w.r.t. q.

Proof

Recall the definitions of \(\varvec{W}\!_{h,0}\) and \(\lambda _{\omega _{h,0}}\) from Assumption B. We first show that we can change the average from \(\lambda _{\Omega _0}(q)\) to \(\lambda _{\omega _{h,0}}(q)\) using the following estimates:

$$\begin{aligned} \Vert q - \lambda _{\Omega _0}(q) \Vert _{\Omega _{h,0}}&\le \Vert q - \lambda _{\omega _{h,0}}(q) \Vert _{\Omega _{h,0}} + \Vert \lambda _{\omega _{h,0}}(q)- \lambda _{\Omega _0}(q) \Vert _{\Omega _{h,0}} \\ &= \Vert q - \lambda _{\omega _{h,0}}(q) \Vert _{\Omega _{h,0}} + \Vert \lambda _{\Omega _0}(\lambda _{\omega _{h,0}}(q)- q) \Vert _{\Omega _{h,0}} \\ &\lesssim \Vert q - \lambda _{\omega _{h,0}}(q) \Vert _{\Omega _{h,0}}, \end{aligned}$$
(61)

where we first added and subtracted \(\lambda _{\omega _{h,0}}(q)\) and used the triangle inequality, then used the identity \(\lambda _{\omega _{h,0}}(q) = \lambda _{\Omega _0}(\lambda _{\omega _{h,0}}(q))\), which holds since \(\lambda _{\Omega _0}\) is an average, and finally we used the \(L^2(\Omega _{h,0})\) stability \(| \lambda _{\Omega _0}(v)| \lesssim \Vert v\Vert _{\Omega _{h,0}}\) of the average operator.

Next we have the estimate

$$\begin{aligned} \Vert q \Vert ^2_{\Omega _{h,0}} \lesssim \Vert q \Vert ^2_{\omega _{h,0}} + h^2 \Vert \nabla q \Vert _{\Omega _{h,0}\setminus \omega _{h,0}}^2 \quad {{\mathrm{\forall \,}}}q \in Q_{0}, \end{aligned}$$
(62)

which follows by first observing that this inverse inequality holds:

$$\begin{aligned} \Vert q \Vert ^2_{K_1}&\lesssim h^2 \Vert \nabla q \Vert ^2_{K_1} + h \Vert q \Vert _{F_{12}}^2 \end{aligned}$$
(63)
$$\begin{aligned} \Vert q \Vert ^2_{K_1}&\lesssim h^2 \Vert \nabla q \Vert ^2_{K_1} + \Vert q \Vert ^2_{K_2}, \end{aligned}$$
(64)

where \(K_1\) and \(K_2\) are two neighboring elements sharing the face \(F_{12}\). Then, starting with \(\omega _{h,0}^0 = \omega _{h,0}\), we define a sequence of sets \(\omega _{h,0}^n\), \(n=1,2,\dots\) consisting of the union of \(\omega _{h,0}^{n-1}\) and all elements \(K\subset \Omega _{h,0}{\setminus}\omega _{h,0}^{n-1}\) that share a face with an element in \(\omega _{h,0}^{n-1}.\) It then follows from (64) that

$$\begin{aligned} \Vert q \Vert ^2_{\omega _{h,0}^{n}} \lesssim \Vert q \Vert ^2_{\omega _{h,0}^{n-1}} + h^2 \Vert \nabla q \Vert ^2_{\omega _{h,0}^{n} \setminus \omega _{h,0}^{n-1}}, \quad n=1,2,\dots \end{aligned}$$
(65)

Using the assumption that \(\omega _{h,0}\) is close to \(\Omega _0\) (20) together with shape regularity and quasi-uniformity of the mesh we conclude that \(\omega _{h,0}^{n} = \Omega _{h,0}\) for some \(n \le C\) for all \(h\in (0,\bar{h}]\) where the constant is independent of h. Now (62) follows from a uniformly bounded number of iterations of (65).

Combining (61) with (62), we obtain

$$\begin{aligned} \Vert q - \lambda _{\Omega _{h,0}}(q)\Vert ^2_{\Omega _{h,0}}&\lesssim \Vert q - \lambda _{\omega _{h,0}}(q)\Vert ^2_{\Omega _{h,0}} \\ &\lesssim \Vert q - \lambda _{\omega _{h,0}}(q)\Vert ^2_{\omega _{h,0}} + h^2\Vert \nabla q\Vert ^2_{\Omega _{h,0}\setminus \omega _{h,0}} \\ &\lesssim b_h(\varvec{w}_0,q) + h^2\Vert \nabla q\Vert ^2_{\Omega _{h,0}\setminus \omega _{h,0}}, \end{aligned}$$
(66)

where we used the fact that \(\nabla \lambda _{\omega _{h,0}}(q) = \varvec{0}\) and at last the inf-sup condition (17) to choose a \(\varvec{w}_0 \in \varvec{W}\!_{h,0}\) with \(\Vert D\varvec{w}_0 \Vert _{\omega _{h,0}} = \Vert q - \lambda _{\omega _{h,0}}(q)\Vert _{\omega _{h,0}}\) such that \(b_h(\varvec{w}_0,q) = \Vert q - \lambda _{\omega _{h,0}}(q) \Vert ^2_{\omega _{h,0}}\). \(\quad\square\)

We now combine the inf-sup estimates for \(Q_c\) and \(Q_0\) to prove an inf-sup estimate for \(Q_h\).

Lemma 6

(Small inf-sup) There are constants \(C > 0\) and \(m > 0\) such that for each \(q \in Q_h\) there exists a \(\varvec{w}\in \varvec{V}\!_h\) with \(|||\varvec{w}|||_h = \Vert q \Vert _h\) such that

$$\begin{aligned} m \Vert q\Vert ^2_h - C h^2\Vert \nabla q_0 \Vert ^2_{\Omega _{h,0} \setminus \omega _{h,0}} \le b_h(\varvec{w},q), \end{aligned}$$
(67)

where the bound is uniform w.r.t. q.

Proof

Take \(\varvec{w}_c\) as in Lemma 4, \(\varvec{w}_0\) as in Lemma 5 and \(\varvec{w}_1 \in \varvec{W}\!_{h,1}\). Consider the test function \(\varvec{w}= \delta _1 \varvec{w}_c + \varvec{w}_0 + \varvec{w}_1\) where \(\delta _1>0\) is a parameter. By writing \(q = q_c + q_0 + q_1 \in Q_c \oplus Q_0 \oplus Q_1\), we have

$$\begin{aligned} b_h(\delta _1 \varvec{w}_c + \varvec{w}_0 + \varvec{w}_1, q)&=\delta _1 b_h(\varvec{w}_c, q_c) + \delta _1 b_h( \varvec{w}_c,q_0) + \delta _1 b_h( \varvec{w}_c,q_1)\\ &\qquad + \underbrace{b_h(\varvec{w}_0,q_c)}_{=0} + b_h(\varvec{w}_0,q_0) + \underbrace{b_h(\varvec{w}_0,q_1)}_{=0} \nonumber\\&\qquad + \underbrace{b_h(\varvec{w}_1,q_c)}_{=0} + \underbrace{b_h(\varvec{w}_1,q_0)}_{=0} + b_h(\varvec{w}_1,q_1) \nonumber \\ &\ge \delta _1 m_c \Vert q_c\Vert _h^2 - \delta _1 |b_h(\varvec{w}_c,q_0)| - \delta _1 |b_h(\varvec{w}_c,q_1)| \\ \nonumber&\qquad + m_0 \Vert q_0 - \lambda _{\Omega _{0}}(q_0)\Vert ^2_{\Omega _{h,0}} - C h^2\Vert \nabla q_0 \Vert ^2_{\Omega _{h,0} \setminus \omega _{h,0}} \\ \nonumber&\qquad + m_1 \Vert q_1 - \lambda _{\Omega _{1}}(q_1)\Vert ^2_{\Omega _1} \\ &=\bigstar . \end{aligned}$$
(68)

Note that \(b_h(\varvec{w}_i,q_c)=0\), \(i=0,1\). This follows from integration by parts since \(q_c\in Q_c\), which is piecewise constant, and since \(\varvec{w}_i \in \varvec{W}\!_{h,i}\), which is zero on the boundary. The second term and third terms on the right-hand side can be estimated as follows

$$\begin{aligned} \delta _1 |b_h(\varvec{w}_c,q_i)|&= \delta _1 |b_h(\varvec{w}_c,q_i - \lambda _{\Omega _{h,i}}(q_i))| \\ &\lesssim \delta _1 \Vert D \varvec{w}_c\Vert _{\Omega _{h,i}} \Vert q_i - \lambda _{\Omega _{h,i}}(q_i) \Vert _{\Omega _{h,i}} \\ &\lesssim \delta _1 \Vert q_c \Vert _{\Omega _{h,i}} \Vert q_i - \lambda _{\Omega _{i}}(q_i)\Vert _{\Omega _{h,i}} \\ &\lesssim \delta _1^2 \delta _2^{-1} \Vert q_c \Vert _h^2 +\delta _2 \Vert q_i - \lambda _{\Omega _{i}}(q_i)\Vert _{\Omega _{h,i}}^2, \end{aligned}$$
(69)

where \(i=0, 1\) and \(\delta _2>0\) is a parameter. Here we have used the bound \(\Vert {{\mathrm{div}}}\varvec{v}\Vert \le \Vert D\varvec{v}\Vert\), the definition of \(\varvec{w}_c\) from Lemma 4 and Young’s inequality \(ab \le \epsilon a^2 + (4\epsilon )^{-1} b^2 \le \epsilon a^2 + \epsilon ^{-1} b^2\), which holds for any \(\epsilon >0\). Continuing from (68), we use (69) to obtain

$$\begin{aligned} \bigstar&\ge \delta _1 \left( m_c - C \delta _1 \delta _2^{-1} \right) \Vert q_c\Vert _h^2 + \sum _{i=0}^1 ({m_i} - C \delta _2 )\Vert q_i-\lambda _{\Omega _{h,i}}(q_i)\Vert ^2_{\Omega _{h,i}} \\ \nonumber &\quad - C h^2\Vert \nabla q_0 \Vert ^2_{\Omega _{h,0} \setminus \omega _{h,0}} \\ & \gtrsim m \bigg ( \underbrace{ \Vert q_c\Vert ^2_h + \sum _{i=0}^1 \Vert q^i - \lambda _{\Omega _{i}}(q)\Vert ^2_{\Omega _{h,i}} }_{\displaystyle =\Vert q\Vert _h} \bigg ) - h^2\Vert \nabla q_0 \Vert ^2_{\Omega _{h,0} \setminus \omega _{h,0}}, \end{aligned}$$
(70)

where we first choose \(\delta _2\) sufficiently small and then \(\delta _1\) sufficiently small to ensure that the two first terms are positive.

Finally, we note that by construction

$$\begin{aligned} |||\varvec{w}|||_h^2&\lesssim |||\varvec{w}_c |||_h^2 + \sum _{i=0}^1 |||\varvec{w}_i |||^2_h \\ &= \Vert q_c \Vert _h^2 + \sum _{i=0}^1 \Vert q_i \Vert ^2_{\Omega _{h,i}} \\ &= \Vert q\Vert _h^2 \end{aligned}$$
(71)

and thus \(|||\varvec{w}|||_h \lesssim \Vert q\Vert _h\). The desired result now follows by setting \(\widetilde{\varvec{w}}=\Vert q \Vert _h (\varvec{w}/|||\varvec{w}|||_h)\), which gives

$$\begin{aligned} b_h(\widetilde{\varvec{w}},q)&= \frac{\Vert q \Vert _h}{|||\varvec{w}|||_h} b_h(\varvec{w},q) \\ &\gtrsim b_h(\varvec{w},q). \end{aligned}$$
(72)

\(\square\)

Proposition 2

(Big inf-sup) It holds

$$\begin{aligned} |||(\varvec{u},p)|||_h \lesssim \sup _{(\varvec{v},q) \in \varvec{V}\!_h \times Q_h} \frac{A_h((\varvec{u},p),(\varvec{v},q))}{|||(\varvec{v},q)|||_h}. \end{aligned}$$
(73)

Proof

Given \(p \in Q_h\), take \(\varvec{w}\in \varvec{V}\!_h\) as in Lemma 6. First note that for \(d_h\) we have the estimate

$$\begin{aligned} |d_h((\varvec{u},p),(\varvec{w},0))| &\lesssim h^2 \Vert \Delta \varvec{u}- \nabla p \Vert _{\Omega _{h,0} \setminus \omega _{h,0}} \Vert \Delta \varvec{w}\Vert _{\Omega _{h,0} \setminus \omega _{h,0}} \\ &\lesssim h^2 \left( \Vert \Delta \varvec{u}\Vert _{\Omega _{h,0} \setminus \omega _{h,0}} + \Vert \nabla p \Vert _{\Omega _{h,0} \setminus \omega _{h,0}} \right) \Vert \Delta \varvec{w}\Vert _{\Omega _{h,0} \setminus \omega _{h,0}} \\ &\lesssim \left( \Vert D \varvec{u}\Vert _{\Omega _{h,0} \setminus \omega _{h,0}} + h \Vert \nabla p \Vert _{\Omega _{h,0} \setminus \omega _{h,0}} \right) \Vert D \varvec{w}\Vert _{\Omega _{h,0} \setminus \omega _{h,0}} \\ &\lesssim \delta _2^{-1} \left( \Vert D \varvec{u}\Vert ^2_{\Omega _{h,0} \setminus \omega _{h,0}} + h^2 \Vert \nabla p \Vert ^2_{\Omega _{h,0} \setminus \omega _{h,0}} \right) + \delta _2 \Vert D \varvec{w}\Vert ^2_{\Omega _{h,0} \setminus \omega _{h,0}} \\ &\lesssim \delta _2^{-1} \left( |||\varvec{u}|||^2_h + h^2 \Vert \nabla p \Vert ^2_{\Omega _{h,0} \setminus \omega _{h,0}} \right) + \delta _2 \Vert p \Vert _h^2, \end{aligned}$$
(74)

where we have used the Cauchy-Schwarz inequality, the triangle inequality, the inverse estimate (43), the definition of the energy norm (33) and the definition of \(\varvec{w}\) in Lemma 6.

Next for \(\delta _1>0\) we have

$$\begin{aligned} A_h((\varvec{u},p),(\varvec{u},-p) + \delta _1 (\varvec{w},0))&= A_h((\varvec{u},p),(\varvec{u},-p)) \nonumber \\&\quad + \delta _1 \Big (a_h(\varvec{u},\varvec{w}) + b_h(\varvec{w},p) + d_h((\varvec{u},p), (\varvec{w},0)) \Big ) \\ &\gtrsim |||\varvec{u}|||_h^2 + h^2 \Vert \nabla p \Vert ^2_{\Omega _{h,0} \setminus \omega _{h,0}} \nonumber\\ &\qquad - \delta _1 \left( \delta _2^{-1}|||\varvec{u}|||_h^2 + \delta _2 \Vert p \Vert _h^2 \right) \nonumber \\&\qquad + \delta _1 \left( \Vert p\Vert ^2_h - h^2\Vert \nabla p \Vert ^2_{\Omega _{h,0} \setminus \omega _{h,0}} \right) \nonumber \\&\qquad -\delta _1 \delta _2^{-1} \left( |||\varvec{u}|||^2_h + h^2 \Vert \nabla p \Vert ^2_{\Omega _{h,0} \setminus \omega _{h,0}} \right) - \delta _1 \delta _2 \Vert p \Vert _h^2 \nonumber \\ &\gtrsim \left( 1 - C \delta _1 \delta _2^{-1}\right) |||\varvec{u}|||_h^2 + \left( 1- C \delta _1\delta _2^{-1}\right) h^2\Vert \nabla p \Vert ^2_{\Omega _{h,0} \setminus \omega _{h,0}} \\&\qquad + \delta _1\left( 1-C \delta _2\right) \Vert p \Vert _h^2, \nonumber \end{aligned}$$
(75)

where we have used Lemmas 3, 2, 6 as well as (74). Choosing first \(\delta _2\) sufficiently small and then \(\delta _1\) sufficiently small, we arrive at the estimate

$$\begin{aligned} |||(\varvec{u},p)|||_h^2&= |||\varvec{u}|||_h^2 + \Vert p \Vert _h^2 \\&\lesssim A_h((\varvec{u},p),(\varvec{u},-p) + \delta _1(\varvec{w},0)) \end{aligned}$$
(76)

We now note that

$$\begin{aligned} |||(\varvec{u}+ \delta _1 \varvec{w},-p)|||_h^2&= |||\varvec{u}+ \delta _1 \varvec{w}|||_h^2 + \Vert p \Vert _h^2 \\ &\le |||\varvec{u}|||_h^2 + \delta _1 |||\varvec{w}|||_h^2 + \Vert p \Vert _h^2 \\ &\lesssim |||\varvec{u}|||_h^2 + \Vert p \Vert _h^2 \\ &= |||(\varvec{u},p)|||_h^2. \end{aligned}$$
(77)

and thus the desired estimate (73) follows since

$$\begin{aligned} |||(\varvec{u},p)|||_h&\lesssim \frac{A_h((\varvec{u},p),(\varvec{u}+ \delta _1 w,-p))}{|||(u, p) |||_h} \\ &\lesssim \frac{A_h((\varvec{u},p),(\varvec{u}+ \delta _1 w,-p))}{|||(\varvec{u}+ \delta _1\varvec{w},-p)|||_h}. \end{aligned}$$
(78)

\(\quad\square\)

A priori error estimate

In this section we use the approximation properties of the finite element spaces to show that the proposed method is optimal.

Theorem 1

It holds

$$\begin{aligned} |||(\varvec{u},p) - (\varvec{u}_h,p_h) |||_h \lesssim h^k(\Vert \varvec{u}\Vert _{H^{k+1}(\Omega )} + \Vert p \Vert _{H^k(\Omega )} ). \end{aligned}$$
(79)

Proof

By the triangle inequality we have

$$\begin{aligned} |||(\varvec{u},p) - (\varvec{u}_h,p_h) |||_h&\lesssim |||(\varvec{u},p) - ({\varvec{\pi }}_h \varvec{u}, \pi _h p) |||_h + |||({\varvec{\pi }}_h \varvec{u}, \pi _h p) - (\varvec{u}_h, p_h) |||_h. \end{aligned}$$
(80)

From the approximation property (36), we obtain an optimal estimate of the first term. To show an optimal estimate for the second term we recall the big inf-sup estimate Proposition 2

$$\begin{aligned} |||({\varvec{\pi }}_h \varvec{u}, \pi _h p) - (\varvec{u}_h, p_h) |||_h&\lesssim A_h(({\varvec{\pi }}_h \varvec{u},\pi _h p)-(\varvec{u}_h, p_h),(\varvec{v}_h,q_h)) \\&= A_h(({\varvec{\pi }}_h \varvec{u},\pi _h p)-(\varvec{u}, p),(\varvec{v}_h,q_h)), \end{aligned}$$
(81)

where we have used a pair \((\varvec{v}_h,q_h)\) such that \(|||(\varvec{v}_h,q_h) |||_h \lesssim 1\) in the inequality and the Galerkin orthogonality (29) to obtain the equality. The terms in \(A_h\) (22) may now be estimated individually. The optimal estimate for \(a_h\) (23) follows immediately from continuity (41). For \(b_h(\varvec{u}-{\varvec{\pi }}_h \varvec{u},q_h)\) (26) we have

$$\begin{aligned} |b_h(\varvec{u}-{\varvec{\pi }}_h \varvec{u},q_h)| & \lesssim \left( \sum _{i=0}^1 \Vert {{\mathrm{div}}}(\varvec{u}-{\varvec{\pi }}_h \varvec{u}) \Vert ^2_{\Omega _i} \Vert q_h \Vert ^2_{\Omega _i} + \Vert [ \varvec{n}\cdot (\varvec{u}-{\varvec{\pi }}_h \varvec{u})] \Vert ^2_\Gamma \Vert \langle q_h \rangle \Vert ^2_\Gamma \right) ^{1/2} \\ &\lesssim \left( \Vert D(\varvec{u}-{\varvec{\pi }}_h \varvec{u}) \Vert ^2_{\Omega _0 \cup \Omega _1} \Vert q_h\Vert ^2_{\Omega _0 \cup \Omega _1} + h \left( h^{-1} \Vert [ \varvec{u}-{\varvec{\pi }}_h \varvec{u}] \Vert ^2_\Gamma \right) \Vert q_h \Vert ^2_\Gamma \right) ^{1/2} \\ &\lesssim \left( |||\varvec{u}-{\varvec{\pi }}_h \varvec{u}|||^2_h \Vert q_h\Vert ^2_h + h |||\varvec{u}-{\varvec{\pi }}_h \varvec{u}|||^2_h \Vert q_h \Vert ^2_\Gamma \right) ^{1/2}, \end{aligned}$$
(82)

where we have used the Cauchy-Schwarz inequality in the first two inequalities and the definition of the energy norm (33) in the last inequality. Using a similar argument we obtain the following estimate for \(b_h(\varvec{v}_h, p-\pi _h p)\):

$$\begin{aligned} |b_h(\varvec{v}_h, p-\pi _h p)|&\lesssim |||\varvec{v}_h |||_h \Vert p-\pi _h p \Vert _h \end{aligned}$$
(83)

(see [3]). Finally, we estimate \(d_h\) to obtain

$$\begin{aligned} d_h((\varvec{u}- {\varvec{\pi }}_h \varvec{u}, p-\pi _h p),(\varvec{v}_h,q_h))&\lesssim h^2 \left( \Vert \Delta (\varvec{u}- {\varvec{\pi }}_h \varvec{u}) \Vert ^2_{\Omega _{h,0} \setminus \omega _{h,0}} + \Vert \nabla (p-\pi _h p) \Vert ^2_{\Omega _{h,0} \setminus \omega _{h,0}} \right) ^{1/2} \nonumber \\&\quad \times \left( \Vert \Delta \varvec{v}_h \Vert ^2_{\Omega _{h,0} \setminus \omega _{h,0}} + \Vert q_h \Vert ^2_{\Omega _{h,0} \setminus \omega _{h,0}} \right) ^{1/2} \\ &\lesssim \left( \Vert D(\varvec{u}- {\varvec{\pi }}_h \varvec{u}) \Vert ^2_{\Omega _{h,0} \setminus \omega _{h,0}} + \Vert p-\pi _h p \Vert ^2_{\Omega _{h,0} \setminus \omega _{h,0}} \right) ^{1/2}\nonumber \\ &\quad \times \left( \Vert D \varvec{v}_h \Vert ^2_{\Omega _{h,0} \setminus \omega _{h,0}} + \Vert q_h \Vert ^2_{\Omega _{h,0} \setminus \omega _{h,0}} \right) ^{1/2} \\ &\lesssim \left( |||\varvec{u}- {\varvec{\pi }}_h \varvec{u}|||^2_h + \Vert p-\pi _h p \Vert ^2_h \right) ^{1/2} \left( |||\varvec{v}_h |||^2_h + \Vert q_h \Vert ^2_h \right) ^{1/2} \\ &= \left( |||\varvec{u}- {\varvec{\pi }}_h \varvec{u}|||^2_h + \Vert p-\pi _h p \Vert ^2_h \right) ^{1/2} |||(\varvec{v}_h,q_h) |||_h, \end{aligned}$$
(84)

where we have used the Cauchy-Schwarz inequality, the triangle inequality, the inverse estimate (43), the definition of the energy norm (33) and at last the definition of the full triple norm (35). The a priori estimate now follows from the interpolation estimates (32) and (36). \(\square\)

Results and discussion

Numerical results

To illustrate the proposed method, we here present convergence tests in 2D and 3D as well as a more challenging problem simulating flow around a 3D propeller. The numerical results are performed using FEniCS [20, 21], which is a collection of free software for automated, efficient solution of differential equations. The algorithms used in this work are implemented as part of the “multimesh” functionality present in the development version of FEniCS and will be part of the upcoming release of FEniCS 1.6 in 2015. The interfaces are assumed to be piecewise planar and we compute the integrals using the techniques from [4]. Curved interfaces will be addressed in future releases. We believe that the method will still be optimal in the case of curved interfaces as long as one can compute the integrals with sufficient accuracy, for example using an isoparametric mapping of the quadrature points.

Convergence test

As a first test case, we consider Stokes flow in the domain \(\Omega = [0,1]^d\), \(d=2, 3\), with homogeneous Dirichlet boundary conditions for the velocity (no-slip) on the boundary. For \(d = 2\), the exact solution is given by

$$\begin{aligned} \varvec{u}(x, y)&= 2 \pi \sin (\pi x) \sin (\pi y) \cdot ( \cos (\pi y) \sin (\pi x) , -\cos (\pi x) \sin (\pi y) ), \end{aligned}$$
(85)
$$\begin{aligned} p(x, y)&= \sin (2 \pi x) \sin (2 \pi y), \end{aligned}$$
(86)

with corresponding right-hand side

$$\begin{aligned} \varvec{f}(x,y) = 2 \pi \left( \begin{matrix} \sin (2 \pi y) (\cos (2 \pi x) - 2 \pi ^2 \cos (2 \pi x) + \pi ^2) \\ \sin (2 \pi x) (\cos (2 \pi y) + 2 \pi ^2 \cos (2 \pi y) - \pi ^2). \end{matrix} \right) \end{aligned}$$
(87)

For \(d=3\), the exact solution is

$$\begin{aligned} \varvec{u}(x, y, z)&= \sin (\pi y)\sin (\pi z) \cdot (1, -\sin (\pi y)\cos (\pi z), \sin (\pi z)\cos (\pi y)), \end{aligned}$$
(88)
$$\begin{aligned} p(x, y, z)&= \pi \cos (\pi x), \end{aligned}$$
(89)

with corresponding right-hand side

$$\begin{aligned} \varvec{f}(x, y, z) = \pi ^2 \left( \begin{matrix} \sin (\pi y)\sin (\pi z) - \sin (\pi x) \\ \sin (2\pi z)(2\cos (2\pi y) - 1) \\ \sin (2\pi y)(1 - 2\cos (2\pi z) \end{matrix} \right) . \end{aligned}$$
(90)

In both cases, the velocity field is divergence free and the right-hand side has been chosen to match the given exact solutions. We let the overlapping domain \(\Omega _1\) be a \(d-\)dimensional cube centered in the center of \(\Omega\) with side length 0.246246 rotated 37° along the z-axis. For \(d=3\), \(\Omega _1\) is rotated the same angle along the y-axis as well. The domains \(\Omega _i\) are illustrated in Fig. 6.

The discrete spaces are \(P_{k}\)\(P_{k-1}\) Taylor–Hood finite element spaces with continuous piecewise vector-valued polynomials of degree \(k \ge 2\) discretizing the velocity and discontinuous scalar polynomials of degree \(l = k - 1\) discretizing the pressure. These spaces are inf-sup stable on the uncut elements of the background mesh discretizing \(\Omega _0\) and on the whole of \(\Omega _1\) and therefore satisfy Assumption B. The linear systems are solved using the direct solver MUMPS, which can be called from FEniCS.

Figures 7 and 8 show the convergence of the error in the \(H^1_0\)- and \(L_2\)-norms in 2D and 3D respectively. Optimal order of convergence is obtained, although limited computer memory resources prevented a study for higher degrees than \(k = 3\) in 3D. Note that in this method, the degrees of freedom in the elements in \(\mathcal {K}_{h,0} \cap \Gamma\) are doubled. Therefore, the total number of degrees of freedom are for this problem comparable to a standard method. In the convergence plots, results for small mesh sizes, roughly corresponding to errors below \(10^{-7}\) have been removed because errors could not be reliably estimated due to numerical round-off errors in the numerical integration close to the cut cell boundary.

We have not investigated these numerical errors in detail but note that these error norms are notoriously sensitive to compute for small errors and high order. They involve computing an integral of the square of the error, which can be very sensitive to round-off errors since the square \((u - u_h)^2\) expands to \((u^2 + u_h^2) - 2 u u_h\), resulting in the subtraction of two “large” numbers of similar size. The computation is also sensitive to how the exact analytic solution is interpolated into a finite element (of a higher order). For this reason, FEniCS provides a particular function called errornorm, which works around this challenge interpolating u and \(u_h\) into a common higher order function spaceFootnote 1. However, this functionality is not yet supported for the multimesh implementation, so the challenge of large round-off errors in the numerical evaluation of norms remains.

Condition numbers

For a numerical study of the algebraic conditioning of the system, we recall the definition of the condition number of a matrix A

$$\begin{aligned} \kappa (A) = \frac{\sigma _{max}(A)}{\sigma _{min}(A)} \end{aligned}$$
(91)

where \(\sigma _{max}(A)\) and \(\sigma _{min}(A)\) are the maximum and minimum singular values of A. Since the discrete pressure is only determined up to a constant here, the system matrix A will have one zero singular value. To this end, we take the second smallest singular value when computing the condition number in (91).

Fig. 9
figure 9

Algebraic conditioning. The condition numbers of the 2D model problem during uniform mesh refinement (left) and as a function of the position of the interface normalized with respect to h (right)

Fig. 10
figure 10

Propeller geometry and meshes. Propeller geometry (top left) and body-fitted mesh (top right). Non body-fitted background mesh and propeller (bottom)

Fig. 11
figure 11

Flow around propeller. Colors indicate speed

There are two issues that need to be address regarding the conditioning of system matrices of interface problems. First, \(\kappa\) should be optimal, i.e. \(\kappa \lesssim h^{-2}\) (see [3]). Second, the condition number should be essentially independent of the location of the interface. Figure 9 illustrate these properties for the 2D model problem and \(k=2\). Optimal order of convergence is obtained by performing uniform refinement of the two meshes for various values of the Nitsche parameter \(\beta\) (cf. (25)). To investigate the second issue, we set up the same problem with fixed meshes and shift the center of the overlapping domain in the x direction in steps of 0.0001 until it is shifted 1.25 h. For each mesh configuration we compute \(\kappa\). This is illustrated in Fig. 9 (right) for various h. The x-axis is normalized with respect to the mesh size: 0 corresponds to the initial position (see Fig. 6) and 1 corresponds to the overlapping domain being shifted h to the right in the x direction.

Flow around a propeller

To illustrate the method on a complex geometry we create a propeller using the CSG tools of the FEniCS component mshr [22], see Fig. 10 (top left). The lengths of the blades are approximately 0.5. Then we construct a mesh of the domain outside the propeller, but inside the unit sphere. This is illustrated in Fig. 10 (top right). The mesh is constructed using TetGen [23] and is body-fitted to the propeller. To simulate the flow around the propeller, the mesh is placed in a background mesh of dimensions \([-2,2]^3\), where we have removed the elements with all nodes inside a sphere of radius 0.9, see Fig. 10 (bottom).

The simulation is setup with the inflow condition \(\varvec{u}(x,y,z) = (0,0,\sin (\pi (x+2)/4) \sin (\pi (y+2)/4))\) at \(z=-2\), the outflow condition \(p=0\) at \(z=2\) and \(\varvec{u}(x,y,z)=0\) on all other boundaries, including the boundary of the propeller. The resulting velocity field using degree \(k = 2\) is shown in Fig. 11. Note the continuity of the streamlines of the velocity going from the finite element space defined on the background mesh to the finite element space defined on the overlapping mesh surrounding the propeller.

Conclusions

We have presented a finite element method for the Stokes problem based on two composite meshes that overlap each other. The method is based only on the assumption of inf-sup stable polynomial spaces on the two meshes. In fact, the proposed discretization allows arbitrary inf-sup stable spaces for the Stokes problem to be stitched together using a stabilized Nitsche method from multiple non-matching and intersecting meshes to weakly enforce continuity over an interface. By the use of a least-squares type of stabilization, a global inf-sup stable space is constructed. We demonstrate optimal order convergence by both a priori error estimates as well as numerical results for Taylor-Hood elements of polynomial order up to 4. The method has several practical applications and one such prime example is the discretization of flow around complex objects. Future work includes the extension to time-dependent problems and to fluid–structure interaction.

Notes

  1. See https://bitbucket.org/fenics-project/dolfin/raw/d50bf5ab9bb7c282b68c5d3c265be2660fedde19/site-packages/dolfin/fem/norms.py for details.

References

  1. Nitsche J. Über ein Variationsprinzip zur Lösung von Dirichlet-Problemen bei Verwendung von Teilräumen, die keinen Randbedingungen unterworfen sind. Abh Math Sem Hamburg. 1971;36:9–15.

    Article  MATH  MathSciNet  Google Scholar 

  2. Hansbo A, Hansbo P, Larson MG. A finite element method on composite grids based on Nitsche’s method. ESAIM-Math Model Num. 2003;37(3):495–514. doi:10.1051/m2an:2003039.

    Article  MATH  MathSciNet  Google Scholar 

  3. Massing A, Larson MG, Logg A, Rognes ME. A stabilized Nitsche overlapping mesh method for the Stokes problem. Numer Math. 2014;128(1):73–101. doi:10.1007/s00211-013-0603-z.

    Article  MATH  MathSciNet  Google Scholar 

  4. Massing A, Larson MG, Logg A. Efficient implementation of finite element methods on nonmatching and overlapping meshes in three dimensions. SIAM J Sci Comput. 2013;35(1):23–47. doi:10.1137/11085949X.

    Article  MathSciNet  Google Scholar 

  5. Hansbo P, Larson MG, Zahedi S. A cut finite element method for a Stokes interface problem. Appl Numer Math. 2014;85:90–114. doi:10.1016/j.apnum.2014.06.009.

    Article  MATH  MathSciNet  Google Scholar 

  6. Chesshire G, Henshaw WD. Composite overlapping meshes for the solution of partial differential equations. J Comput Phys. 1990;90(1):1–64. doi:10.1016/0021-9991(90)90196-8.

    Article  MATH  MathSciNet  Google Scholar 

  7. Benek JA, Buning PG, Steger JL. A 3-D chimera grid embedding technique. Technical Report 85–1523, AIAA (1985).

  8. Houzeaux G, Codina R. A Chimera method based on a Dirichlet/Neumann(Robin) coupling for the Navier-Stokes equations. Comput Method Appl M. 2003;192(31–32):3343–77. doi:10.1016/S0045-7825(03)00276-7.

    Article  MATH  MathSciNet  Google Scholar 

  9. Gerstenberger A, Wall WA. An eXtended Finite Element Method/Lagrange multiplier based approach for fluid-structure interaction. Comput Method Appl M. 2008;197(19–20):1699–714. doi:10.1016/j.cma.2007.07.002.

    Article  MATH  MathSciNet  Google Scholar 

  10. Shahmiri S, Gerstenberger A, Wall WA. An XFEM-based embedding mesh technique for incompressible viscous flows. Int J Numer Meth Fl. 2011;65(1–3):166–90. doi:10.1002/fld.2471.

    Article  MATH  MathSciNet  Google Scholar 

  11. Brezzi F, Fortin M. Mixed and hybrid finite element methods. New York: Springer; 1991.

    Book  MATH  Google Scholar 

  12. Arnold DN, Brezzi F, Cockburn B, Marini LD. Unified analysis of discontinuous Galerkin methods for elliptic problems. SIAM J Numer Anal. 2002;39(5):1749–79. doi:10.1137/S0036142901384162.

    Article  MATH  MathSciNet  Google Scholar 

  13. Boffi D, Brezzi F, Fortin M. Mixed finite element methods and applications. Berlin Heidelberg: Springer; 2013.

    Book  MATH  Google Scholar 

  14. Scott LR, Zhang S. Finite element interpolation of nonsmooth functions satisfying boundary conditions. Math Comp. 1990;54:483–93. doi:10.1090/S0025-5718-1990-1011446-7.

    Article  MATH  MathSciNet  Google Scholar 

  15. Crouzeix M, Raviart P-A. Conforming and nonconforming finite element methods for solving the stationary Stokes equations I. RAIRO Anal Numer. 1973;7(3):33–75.

    MathSciNet  Google Scholar 

  16. Arnold DN, Brezzi F, Fortin M. A stable finite element for the Stokes equations. Calcolo. 1984;21(4):337–44. doi:10.1007/BF02576171.

    Article  MATH  MathSciNet  Google Scholar 

  17. Braess D. Finite elements: theory, fast solvers, and applications in solid mechanics. Cambridge: Cambridge University Press; 2007.

    Book  Google Scholar 

  18. Verfürth R. Error estimates for a mixed finite element approximation of the Stokes equation. RAIRO Anal Numer. 1984;18:175–82.

    MATH  MathSciNet  Google Scholar 

  19. Brenner SC, Scott LR. The mathematical theory of finite element methods. New York: Springer; 2008.

    Book  MATH  Google Scholar 

  20. Logg A, Mardal K-A, Wells GN, et al. Automated solution of differential equations by the finite element method. Berlin Heidelberg: Springer; 2012.

    Book  MATH  Google Scholar 

  21. Logg A, Wells GN. DOLFIN: automated finite element computing. ACM Trans Math Soft. 2010. doi:10.1145/1731022.1731030..

    MathSciNet  Google Scholar 

  22. Kehlet B. mshr: Mesh generation component of FEniCS. https://bitbucket.org/benjamik/mshr (Accessed: 2015-01-08).

  23. Si H. TetGen: a quality tetrahedral mesh generator and three-dimensional delaunay triangulator. http://www.tetgen.org (Accessed: 2015-01-08).

Download references

Authors’ contributions

All authors contributed to the development of the theory. The computer code for the numerical simulations was developed by AJ and AL. All authors read and approved the final manuscript.

Acknowledgements

This research was supported in part by the Swedish Foundation for Strategic Research Grant No. AM13-0029, the Swedish Research Council Grant No. 2013-4708, and the Swedish Research Council Grant No. 2014-6093. The work was also supported by The Research Council of Norway through a Centres of Excellence grant to the Center for Biomedical Computing at Simula Research Laboratory, project number 179578.

Compliance with ethical guidelines

Competing interests The authors declare that they have no competing interests.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to August Johansson.

Rights and permissions

Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), 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

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Johansson, A., Larson, M.G. & Logg, A. High order cut finite element methods for the Stokes problem. Adv. Model. and Simul. in Eng. Sci. 2, 24 (2015). https://doi.org/10.1186/s40323-015-0043-7

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1186/s40323-015-0043-7

Keywords