1 Introduction

Numerical methods for two-phase incompressible flows have many important applications, which range from bubble column reactors to ink-jet printing to fuel injection in engines and to biomedical engineering. In contrast to one-phase flows, several new aspects arise in the numerical treatment of two-phase flows. First of all a computational technique for the numerical treatment of the unknown interface has to be developed. One class of approaches is based on interface capturing methods using an indicator function to describe the interface. The volume of fluid (VOF) method and the level set method fall into this category. In the former, the characteristic function of one of the phases is approximated numerically, see e.g. [28, 41, 42]; whereas in the latter, the interface is given as the level set of a function, which has to be determined, see e.g. [25, 38, 45, 48]. In phase field methods the interface is assumed to have a small, but positive, thickness and an additional parabolic equation, defined in the whole domain, has to be solved in these so-called diffuse interface models. We refer to [1, 3, 20, 27, 29, 33, 36] for details. In this paper we use a direct description of the interface using a parameterization of the unknown surface. In such an approach the interface is approximated by a polyhedral surface, see [17], and equations on the surface mesh have to be coupled to quantities defined on the bulk mesh. We refer e.g. to [5, 22, 50, 51] for further details, and to [34, 39] for the related immersed boundary method.

Secondly it is important to numerically approximate capillarity effects in an accurate and stable way. In two-phase flows, or in free surface flows, capillarity effects, which are given by quantities involving the curvature of the interface, often determine the flow behaviour to a large extent. Typically an explicit treatment of surface tension forces (also called capillary forces) leads to severe restrictions on the time step, see e.g. [5, 6], and so more advanced approaches use an implicit treatment. This approach is discussed e.g. in [25] for the level set approach, and in [5] for the parametric approach. We note that an inadequate approximation of capillarity effects can trigger oscillations of the velocity at the interface, which can lead to so-called spurious currents, see e.g. [10, 26, 31]. In this paper we propose an implicit treatment of the surface tension forces that leads to an unconditionally stable approximation of two-phase Navier–Stokes flow.

In each of the approaches mentioned above (parametric approach, level set method, volume of fluid method, phase field method) surface tension forces, and hence curvature quantities, have to be computed. A particular successful method, in the context of the parametric approach and the level set method, is to compute the mean curvature of the approximated interface with the help of a discretization of the identity

$$\begin{aligned} \varDelta _s\,{\underline{x}}=\varkappa \,{\underline{\nu }}. \end{aligned}$$
(1.1)

Here \({\underline{x}}\) is a parameterization of the interface, \(\varDelta _s\) is the Laplace–Beltrami operator, \(\varkappa \) is the sum of the principal curvatures (often simply called the mean curvature) and \({\underline{\nu }}\) is a unit normal to the interface. This identity was used for the numerical approximation of curvature driven interface evolution for the first time by Dziuk [18]. Later this idea was used in e.g. [5, 22, 26], among others, in the context of capillarity driven free surface and two-phase flows. The approximation of curvature in the present paper also relies on the identity (1.1).

A third important issue relevant for the simulation of two-phase flows is to ensure a good approximation of the interface and in particular a good mesh quality during the evolution. In phase field methods refinement of the mesh close to the interface and choosing the interface width sufficiently small ensures good approximation properties of the interface. However, this leads to high computational costs. In volume of fluid methods the interface has to be reconstructed after an advection step of the characteristic function. Although, second order reconstruction methods exist, see e.g. [40, 43], it still remains challenging to approximate geometric quantities, such as the mean curvature and the normal of the interface, accurately.

In level set methods the level set function is advected with the fluid velocity. This typically leads to distortions of the level set function, which in turn leads to a poor approximation of the interface. Hence so-called re-initialization steps have to be performed frequently after some time steps, see e.g. [26, 38, 45] for details.

In the parametric approach the interface parameterization is transported with the help of the fluid velocity, see e.g. [5, 22, 51]. Typically this leads to degeneracies in the mesh, e.g. coalescence of mesh points and very small angles in the polyhedral interface mesh. Often several reparameterization steps have to be employed, or the computation even has to be stopped. In our approach the interface is advected in the normal direction with the normal part of the fluid velocity, but the tangential degrees of freedom are implicitly used to ensure a good mesh quality. This treatment of the interface is based on earlier work of the authors on the numerical approximation of geometric evolution equations and on free boundary problems related to crystal growth, see e.g. [79, 11].

A fourth issue is the approximation of the pressure, which is discontinuous across the interface due to capillarity effects. There are three approaches to handle this in the parametric or level set approach for the interface, combined with a finite element approximation of the fluid quantities. One is to use a fitted bulk mesh that is adapted to the interface, see e.g. [22]. In the case of an unfitted bulk mesh, where the interface and bulk meshes are totally independent, one can augment the pressure finite element space with additional degrees of freedom in elements of the bulk mesh, which cut the interface. This is an example of the extended finite element method (XFEM), see e.g. [4, 25]. A simpler approach is just to adapt the bulk mesh in the vicinity of the interface, which we adopt in this paper. However, the XFEM or the fitted approaches could be used in our approximation, see Sect. 4.3 for a discussion of the latter.

Finally, a fifth issue is the volume (area in 2d) conservation of the two phases. We achieve this by a very simple XFEM approach, where the pressure space is enriched by one extra degree of freedom. This leads to exact volume conservation for a semidiscrete continuous-in-time version of our scheme, and the fully discrete scheme shows good volume conservation properties in practice. Moreover, for the special situation of a stationary sphere, the simple XFEM approach is able to recover the analogous discrete stationary solution exactly. In particular, it is possible to prove that there are no stationary solutions with spurious velocities, see [10] for details.

To summarize, in this paper we extend our parametric approximation of two-phase Stokes flow in [10] to two-phase Navier–Stokes flow with different densities. We present a linear scheme, i.e. a linear system of equations has to be solved at each time level, for this problem, which leads to an unconditional stability bound. Although, there already exists such a stability bound for a nonlinear scheme for free capillary flows, see [5]; to our knowledge the stability proof in this paper is the first one for a linear scheme, and the first one for two-phase flows.

Finally, let us mention that developing and analyzing numerical methods for two-phase flows is a very active research field, and we refer to [2, 15, 16, 32, 35, 47, 52] for some examples of recent contributions.

The outline of the paper is as follows. In Sect. 2 we give a precise mathematical formulation of the two-phase Navier–Stokes problem. In Sect. 3 we introduce a weak formulation for the resulting problem that will form the basis of our novel finite element approximation, which we consider in Sect. 4. There we show that our approximation is unconditionally stable, and introduce our XFEM approach for volume conservation. In Sect. 5 we discuss how the arising discrete system of linear equations at each time level can be solved in practice. Finally, in Sect. 6 we discuss our mesh adaptation algorithms, and then present several numerical experiments in Sect. 7.

2 The Two-Phase Navier–Stokes Problem

In this paper we consider two-phase flows in a given domain \(\varOmega \subset \mathbb {R}^d\), where \(d=2\) or \(d=3\). The domain \(\varOmega \) contains two different immiscible incompressible phases (liquid–liquid or liquid–gas) which for all \(t\in [0,T]\) occupy time dependent regions \(\varOmega _+(t)\) and \(\varOmega _-(t):=\varOmega \setminus \overline{\varOmega }_+(t)\) and which are separated by an interface \((\varGamma (t))_{t\in [0,\overline{T}]},\,\varGamma (t)\subset \varOmega \). See Fig. 1 for an illustration. For later use, we assume that \((\varGamma (t))_{t\in [0,T]}\) is a sufficiently smooth evolving hypersurface without boundary that is parameterized by \({\underline{x}}(\cdot ,t):\varUpsilon \rightarrow {\mathbb {R}}^d\), where \(\varUpsilon \subset {\mathbb {R}}^d\) is a given reference manifold, i.e. \(\varGamma (t) = {\underline{x}}(\varUpsilon ,t)\). Then \(\fancyscript{V} := {\underline{x}}_t \,\cdot \,{\underline{\nu }}\) is the normal velocity of the evolving hypersurface \(\varGamma \), where \({\underline{\nu }}\) is the unit normal on \(\varGamma (t)\) pointing into \(\varOmega _+(t)\).

Fig. 1
figure 1

The domain \(\varOmega \) in the case \(d=2\)

Let \(\rho (t) = \rho _+\,\mathrm {\fancyscript{X}}_{\varOmega _+(t)} + \rho _-\,\mathrm {\fancyscript{X}}_{\varOmega _-(t)}\), with \(\rho _\pm \in {\mathbb {R}}_{\ge 0}\), denote the fluid densities, where here and throughout \(\mathrm {\fancyscript{X}}_{\fancyscript{A}}\) defines the characteristic function for a set \(\fancyscript{A}\). Denoting by \({\underline{u}} : \varOmega \times [0, T] \rightarrow {\mathbb {R}}^d\) the fluid velocity, by \({\underline{{\underline{\sigma }}}}: \varOmega \times [0,T] \rightarrow {\mathbb {R}}^{d \times d}\) the stress tensor, and by \({\underline{f}} : \varOmega \times [0, T] \rightarrow {\mathbb {R}}^d\) a possible forcing, the incompressible Navier–Stokes equations in the two phases are given by

$$\begin{aligned} \rho \,({\underline{u}}_t + ({\underline{u}} \,\cdot \,\nabla )\,{\underline{u}}) - \nabla \,\cdot \,{\underline{{\underline{\sigma }}}}&= {\underline{f}} := \rho \,{\underline{f}}_1 + {\underline{f}}_2 \quad \quad \text{ in } \varOmega _\pm (t), \end{aligned}$$
(2.1a)
$$\begin{aligned} \nabla \,\cdot \,{\underline{u}}&= 0 \quad \quad \quad \quad \quad \quad \quad \quad \qquad \! \text{ in } \varOmega _\pm (t), \end{aligned}$$
(2.1b)
$$\begin{aligned} {\underline{u}}&= {\underline{0}} \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \! \text{ on } \partial _1\varOmega , \end{aligned}$$
(2.1c)
$$\begin{aligned} {\underline{u}} \,\cdot \,{\underline{\mathrm{n}}}= 0,\quad [{\underline{{\underline{\sigma }}}}\,{\underline{\mathrm{n}}}+ \beta \,{\underline{u}}]\,\cdot \,{\underline{\mathrm{t}}}&= 0 \quad \forall \ {\underline{\mathrm{t}}}\in \{{\underline{\mathrm{n}}}\}^\perp \quad \quad \quad \,\, \text{ on } \partial _2\varOmega , \end{aligned}$$
(2.1d)

where \(\partial \varOmega =\partial _1\varOmega \cup \partial _2\varOmega \), with \(\partial _1\varOmega \cap \partial _2\varOmega =\emptyset \), denotes the boundary of \(\varOmega \) with outer unit normal \({\underline{\mathrm{n}}}\) and \(\{{\underline{\mathrm{n}}}\}^\perp := \{ {\underline{\mathrm{t}}}\in {\mathbb {R}}^d : {\underline{\mathrm{t}}}\,\cdot \,{\underline{\mathrm{n}}}= 0\}\). Hence (2.1c) prescribes a no-slip condition on \(\partial _1\varOmega \), while (2.1d) prescribes a general slip condition on \(\partial _2\varOmega \). Here we assume that \(\beta \ge 0\) and note that \(\beta = 0\) corresponds to the so-called free-slip conditions. Moreover, the stress tensor in (2.1a) is defined by

$$\begin{aligned} {\underline{{\underline{\sigma }}}}= \mu \,(\nabla \,{\underline{u}} + (\nabla \,{\underline{u}})^T) - p\,{\underline{{\underline{I\!d}}}}, \end{aligned}$$
(2.2)

where \({\underline{{\underline{I\!d}}}}\in {\mathbb {R}}^{d \times d}\) denotes the identity matrix, \(p : \varOmega \times [0, T] \rightarrow {\mathbb {R}}\) is the pressure and \(\mu (t) = \mu _+\,\mathrm {\fancyscript{X}}_{\varOmega _+(t)} + \mu _-\,\mathrm {\fancyscript{X}}_{\varOmega _-(t)}\), with \(\mu _\pm \in {\mathbb {R}}_{>0}\), denotes the dynamic viscosities in the two phases. On the free surface \(\varGamma (t)\), the following conditions need to hold:

$$\begin{aligned} {[}{\underline{u}}]_{-}^{+}&= {\underline{0}} \quad \qquad \quad \quad \quad \quad \text{ on } \varGamma (t), \end{aligned}$$
(2.3a)
$$\begin{aligned} {[}{\underline{{\underline{\sigma }}}}\,{\underline{\nu }}]_{-}^{+}&= -\gamma \,\varkappa \,{\underline{\nu }}\quad \qquad \quad \text{ on } \varGamma (t), \end{aligned}$$
(2.3b)
$$\begin{aligned} \fancyscript{V}&= {\underline{u}}\,\cdot \,{\underline{\nu }}\quad \qquad \quad \quad \text{ on } \varGamma (t), \end{aligned}$$
(2.3c)

where \(\gamma >0\) is the surface tension coefficient and \(\varkappa \) denotes the mean curvature of \(\varGamma (t)\), i.e. the sum of the principal curvatures of \(\varGamma (t)\), where we have adopted the sign convention that \(\varkappa \) is negative where \(\varOmega _-(t)\) is locally convex. Moreover, as usual, \([{\underline{u}}]_-^+ := {\underline{u}}_+ - {\underline{u}}_-\) and \([{\underline{{\underline{\sigma }}}}\,{\underline{\nu }}]_-^+ := {\underline{{\underline{\sigma }}}}_+\,{\underline{\nu }}- {\underline{{\underline{\sigma }}}}_-\,{\underline{\nu }}\) denote the jumps in velocity and normal stress across the interface \(\varGamma (t)\). Here and throughout, we employ the shorthand notation \({\underline{g}}_\pm := {\underline{g}}\!\mid _{\varOmega _\pm (t)}\) for a function \({\underline{g}} : \varOmega \times [0,T] \rightarrow {\mathbb {R}}^d\); and similarly for scalar and matrix-valued functions. The system (2.1a–d), (2.2), (2.3a–c) is closed with the initial conditions

$$\begin{aligned} \varGamma (0) = \varGamma _0, \quad \rho (\cdot ,0)\,{\underline{u}}(\cdot ,0) = \rho (\cdot ,0)\,{\underline{u}}_0 \quad \text{ in } \varOmega , \end{aligned}$$
(2.3d)

where \(\varGamma _0 \subset \varOmega \) and \({\underline{u}}_0 : \varOmega \rightarrow {\mathbb {R}}^d\) are given initial data.

3 Weak Formulation

In preparation for the introduction of the weak formulation considered in this paper, we note that the system (2.1a–d), (2.2), (2.3a–d) can equivalently be formulated as follows. Find time and space dependent functions \({\underline{u}},\,p\) and the interface \((\varGamma (t))_{t\in [0,T]}\) such that

$$\begin{aligned} \rho \,({\underline{u}}_t + ({\underline{u}} \,\cdot \,\nabla )\,{\underline{u}}) - \mu \,\nabla \,\cdot \,(\nabla \,{\underline{u}} + (\nabla \,{\underline{u}})^T) + \nabla \,p&= {\underline{f}} \qquad \qquad \quad \qquad \quad \, \text{ in } \varOmega _\pm (t), \end{aligned}$$
(3.1a)
$$\begin{aligned} \nabla \,\cdot \,{\underline{u}}&= 0 \qquad \qquad \quad \qquad \quad \,\, \text{ in } \varOmega _\pm (t), \end{aligned}$$
(3.1b)
$$\begin{aligned} {\underline{u}}&= {\underline{0}} \qquad \qquad \quad \qquad \,\,\quad \text{ on } \partial _1\varOmega , \end{aligned}$$
(3.1c)
$$\begin{aligned} {\underline{u}} \,\cdot \,{\underline{\mathrm{n}}}= 0,\quad {[}\mu \,(\nabla \,{\underline{u}} + (\nabla \,{\underline{u}})^T)\,{\underline{\mathrm{n}}}+ \beta \,{\underline{u}}]\,\cdot \,{\underline{\mathrm{t}}}&= 0 \quad \forall \quad {\underline{\mathrm{t}}}\in \{ {\underline{\mathrm{n}}}\}^\perp \quad \,\, \text{ on } \partial _2\varOmega , \qquad \qquad \end{aligned}$$
(3.1d)
$$\begin{aligned} {[}{\underline{u}}]_-^+&= {\underline{0}} \quad \qquad \qquad \quad \qquad \,\, \text{ on } \varGamma (t), \end{aligned}$$
(3.1e)
$$\begin{aligned} {[}\mu \,(\nabla \,{\underline{u}} + (\nabla \,{\underline{u}})^T)\,{\underline{\nu }}- p\,{\underline{\nu }}]_-^+&= -\gamma \,\varkappa \,{\underline{\nu }}\quad \qquad \qquad \,\, \text{ on } \varGamma (t), \end{aligned}$$
(3.1f)
$$\begin{aligned} \fancyscript{V}&= {\underline{u}}\,\cdot \,{\underline{\nu }}\quad \qquad \qquad \quad \,\, \text{ on } \varGamma (t), \end{aligned}$$
(3.1g)
$$\begin{aligned} \varGamma (0) = \varGamma _0, \quad \rho (\cdot ,0)\,{\underline{u}}(\cdot ,0)&= \rho (\cdot ,0)\,{\underline{u}}_0 \,\quad \qquad \quad \,\;\!\! \text{ in } \varOmega .\qquad \qquad \end{aligned}$$
(3.1h)

Moreover, we observe that for arbitrary functions \({\underline{v}},\,{\underline{w}},\,{\underline{\xi }}\in [H^1(\varOmega )]^d\) it holds that

$$\begin{aligned} {[}({\underline{v}}\,\cdot \,\nabla )\,{\underline{w}}]\,\cdot \,{\underline{\xi }}&= ({\underline{v}}\,\cdot \,\nabla )\,({\underline{w}}\,\cdot \,{\underline{\xi }}) - [({\underline{v}}\,\cdot \,\nabla )\,{\underline{\xi }}]\,\cdot \,{\underline{w}} \nonumber \\&= \tfrac{1}{2} \left[ \, [({\underline{v}}\,\cdot \,\nabla )\,{\underline{w}}]\,\cdot \,{\underline{\xi }}- [({\underline{v}}\,\cdot \,\nabla )\,{\underline{\xi }}] \,\cdot \,{\underline{w}}\,\right] + \tfrac{1}{2}\,({\underline{v}}\,\cdot \,\nabla )\,({\underline{w}}\,\cdot \,{\underline{\xi }}). \end{aligned}$$
(3.2)

For what follows we introduce the function spaces

$$\begin{aligned} \mathbb {U}&:= \{ {\underline{\phi }}\in [H^1(\varOmega )]^d : {\underline{\phi }}= {\underline{0}} \ \text{ on } \partial _1\varOmega ,\ {\underline{\phi }}\,\cdot \,{\underline{\mathrm{n}}}= 0 \ \text{ a.e. } \text{ on } \partial _2\varOmega \},\ \mathbb {P}:= L^2(\varOmega ) \nonumber \\ \quad \text{ and }\quad {\widehat{\mathbb {P}}}&:= \left\{ \eta \in \mathbb {P}: \int \limits _\varOmega \eta \;\mathrm{d}{\fancyscript{L}}^{d}=0 \right\} . \end{aligned}$$
(3.3)

Here and throughout \(\fancyscript{L}^d\) denotes the Lebesgue measure in \({\mathbb {R}}^d\), while \(\fancyscript{H}^{d-1}\) denotes the \((d-1)\)-dimensional Hausdorff measure. Then we have for any \({\underline{v}} \in \mathbb {U}\) that

$$\begin{aligned} ( \rho ,({\underline{v}} \,\cdot \,\nabla )\,\phi )&= (\rho , \nabla \,\cdot \,(\phi \,{\underline{v}})) - (\rho \,(\nabla \,\cdot \,{\underline{v}}), \phi ) \nonumber \\&= - \left\langle [\rho ]_-^+\,{\underline{v}}\,\cdot \,{\underline{\nu }}, \phi \right\rangle _{\varGamma (t)} - (\rho \,(\nabla \,\cdot \,{\underline{v}}), \phi ) \end{aligned}$$
(3.4)

which holds for all \(\phi \in W^{1,\frac{3}{2}}(\varOmega )\), and it is precisely this regularity that will be needed in order to derive (3.5) below. Here and throughout \((\cdot ,\cdot )\) denotes the \(L^2\)–inner product on \(\varOmega \), while \(\langle \cdot ,\cdot \rangle _{\varGamma (t)}\) is the \(L^2\)–inner product on \(\varGamma (t)\). Hence, it follows from (3.1b, c), (3.2) and (3.4) that

(3.5)

Next, on noting (3.1g), we have that

$$\begin{aligned} \frac{\mathrm{d}}{\mathrm{d}t}(\rho \,{\underline{u}}, {\underline{\xi }})&= \frac{\mathrm{d}}{\mathrm{d}t}\left( \rho _+\,\int \limits _{\varOmega _+(t)} {\underline{u}} \,\cdot \,{\underline{\xi }}\;\mathrm{d}{\fancyscript{L}}^{d} + \rho _-\,\int \limits _{\varOmega _-(t)} {\underline{u}}\,\cdot \,{\underline{\xi }}\;\mathrm{d}{\fancyscript{L}}^{d} \right) \nonumber \\&= (\rho \,{\underline{u}}_t, {\underline{\xi }}) -\left\langle [\rho ]_-^+\,\fancyscript{V}, {\underline{u}} \,\cdot \,{\underline{\xi }}\right\rangle _{\varGamma (t)} \nonumber \\&= (\rho \,{\underline{u}}_t, {\underline{\xi }})- \left\langle [\rho ]_-^+\,{\underline{u}}\,\cdot \,{\underline{\nu }}, {\underline{u}} \,\cdot \,{\underline{\xi }}\right\rangle _{\varGamma (t)} \quad \forall \ {\underline{\xi }}\in [H^1(\varOmega )]^d. \end{aligned}$$
(3.6)

Therefore, it follows from (3.6) that

$$\begin{aligned} (\rho \,{\underline{u}}_t, {\underline{\xi }}) = \tfrac{1}{2} \left[ \frac{\mathrm{d}}{\mathrm{d}t}(\rho \,{\underline{u}},{\underline{\xi }}) + (\rho \,{\underline{u}}_t, {\underline{\xi }}) + \left\langle [\rho ]_-^+\,{\underline{u}}\,\cdot \,{\underline{\nu }}, {\underline{u}} \,\cdot \,{\underline{\xi }}\right\rangle _{\varGamma (t)} \right] \quad \forall \ {\underline{\xi }}\in [H^1(\varOmega )]^d, \end{aligned}$$

which on combining with (3.5) yields that

$$\begin{aligned} (\rho \,[{\underline{u}}_t + ({\underline{u}} \,\cdot \,\nabla )\,{\underline{u}}], {\underline{\xi }}) = \tfrac{1}{2}\left[ \frac{\mathrm{d}}{\mathrm{d}t}(\rho \,{\underline{u}}, {\underline{\xi }}) + (\rho \,{\underline{u}}_t, {\underline{\xi }}) + (\rho , [({\underline{u}}\,\cdot \,\nabla )\,{\underline{u}}]\,\cdot \,{\underline{\xi }}- [({\underline{u}}\,\cdot \,\nabla )\,{\underline{\xi }}]\,\cdot \,{\underline{u}}) \right] . \end{aligned}$$
(3.7)

Finally, it holds on noting (3.1d, f) that for all \({\underline{\xi }}\in \mathbb {U}\)

$$\begin{aligned}&\int \limits _{\varOmega _+(t)\cup \varOmega _-(t)} (\nabla \,\cdot \,{\underline{{\underline{\sigma }}}})\,\cdot \, {\underline{\xi }}\;\mathrm{d}{\fancyscript{L}}^{d} = -({\underline{{\underline{\sigma }}}}, \nabla \,{\underline{\xi }}) - \left\langle [{\underline{{\underline{\sigma }}}}\,{\underline{\nu }}]_-^+, {\underline{\xi }}\right\rangle _{\varGamma (t)} + \int \limits _{\partial \varOmega } ({\underline{{\underline{\sigma }}}}\,{\underline{\mathrm{n}}})\,\cdot \,{\underline{\xi }}\;\mathrm{d}{\fancyscript{H}}^{d-1} \nonumber \\&\qquad \qquad = - 2\,(\mu \,{\underline{{\underline{D}}}}({\underline{u}}), {\underline{{\underline{D}}}}({\underline{\xi }})) + (p, \nabla \,\cdot \,{\underline{\xi }}) + \gamma \left\langle \varkappa \,{\underline{\nu }}, {\underline{\xi }}\right\rangle _{\varGamma (t)} - \beta \left\langle {\underline{u}}, {\underline{\xi }}\right\rangle _{\partial _2\varOmega , {\underline{\mathrm{t}}}}, \end{aligned}$$
(3.8)

where \({\underline{{\underline{D}}}}({\underline{u}}) := \tfrac{1}{2}\,( \nabla \,{\underline{u}} + (\nabla \,{\underline{u}})^T)\), and where

$$\begin{aligned} \left\langle {\underline{u}}, {\underline{\xi }}\right\rangle _{\partial _2\varOmega , {\underline{\mathrm{t}}}} := \sum _{i=1}^{d-1} \int \limits _{\partial _2 \varOmega } ({\underline{u}} \,\cdot \, {\underline{\mathrm{t}}}_i) \,({\underline{\xi }}\,\cdot \,{\underline{\mathrm{t}}}_i) \;\mathrm{d}{\fancyscript{H}}^{d-1}, \end{aligned}$$

with \(\{ {\underline{\mathrm{t}}}_i \}_{i=1}^{d-1}\) denoting an orthonormal basis of \(\{ {\underline{\mathrm{n}}}\}^\perp \).

On combining (3.7) and (3.8), a possible weak formulation of (3.1a–h), which utilizes the novel weak representation of \(\varkappa \,{\underline{\nu }}\) introduced in [7] for \(d=2\) and in [8] for \(d=3\), is then given as follows. Find time dependent functions \({\underline{u}},\,p,\,{\underline{x}}\) and \(\varkappa \) such that \({\underline{u}}(\cdot ,t)\in \mathbb {U},\,p(\cdot ,t)\in {\widehat{\mathbb {P}}},\,{\underline{x}}(\cdot ,t) \in [H^1(\varUpsilon )]^d,\,\varkappa (\cdot ,t)\in L^2(\varUpsilon )\) and

$$\begin{aligned}&\tfrac{1}{2}\left[ \frac{\mathrm{d}}{\mathrm{d}t}(\rho \,{\underline{u}}, {\underline{\xi }}) + (\rho \,{\underline{u}}_t, {\underline{\xi }}) + (\rho , [({\underline{u}}\,\cdot \,\nabla )\,{\underline{u}}]\,\cdot \,{\underline{\xi }}- [({\underline{u}}\,\cdot \,\nabla )\,{\underline{\xi }}]\,\cdot \,{\underline{u}}) \right] + 2\,(\mu \,{\underline{{\underline{D}}}}({\underline{u}}), {\underline{{\underline{D}}}}({\underline{\xi }})) \nonumber \\&\qquad \qquad - (p, \nabla \,\cdot \,{\underline{\xi }}) + \beta \left\langle {\underline{u}}, {\underline{\xi }}\right\rangle _{\partial _2\varOmega , {\underline{\mathrm{t}}}} - \gamma \left\langle \varkappa \,{\underline{\nu }}, {\underline{\xi }}\right\rangle _{\varGamma (t)} = ({\underline{f}}, {\underline{\xi }}) \quad \forall \ {\underline{\xi }}\in \mathbb {U}, \end{aligned}$$
(3.9a)
$$\begin{aligned}&(\nabla \,\cdot \,{\underline{u}}, \varphi ) = 0 \quad \forall \ \varphi \in {\widehat{\mathbb {P}}}, \end{aligned}$$
(3.9b)
$$\begin{aligned}&\left\langle {\underline{x}}_t - {\underline{u}}, \chi \,{\underline{\nu }}\right\rangle _{\varGamma (t)} = 0 \quad \forall \ \chi \in L^2(\varUpsilon ), \end{aligned}$$
(3.9c)
$$\begin{aligned}&\left\langle \varkappa \,{\underline{\nu }}, {\underline{\eta }}\right\rangle _{\varGamma (t)} + \left\langle \nabla _{\!s}\,{\underline{x}}, \nabla _{\!s}\,{\underline{\eta }}\right\rangle _{\varGamma (t)} = 0 \quad \forall \ {\underline{\eta }}\in [H^1(\varUpsilon )]^d \end{aligned}$$
(3.9d)

hold for almost all times \(t\in (0,T]\), as well as the initial conditions (3.1h). Here we have observed that if \(p \in \mathbb {P}\) is part of a solution to (3.1a–h), then so is \(p + c\) for an arbitrary \(c \in {\mathbb {R}}\). We remark that (3.9a–d) in the case of Stokes flow, i.e. \(\rho _+ = \rho _- = 0\), with \(\partial _1 \varOmega = \partial \varOmega \) collapses to the weak formulation introduced by the present authors in [10]. Similarly to [10], we have adopted a slight abuse of notation in (3.9a, c, d), in the sense that here, and throughout this paper, we identify functions defined on the reference manifold \(\varUpsilon \) with functions defined on \(\varGamma (t)\). In addition, we observe that in the special case \(\rho _+ = \rho _- > 0,\,\mu _+ = \mu _- > 0\) and \(\gamma = 0\), (3.9a, b) reduces to a weak formulation of the incompressible Navier–Stokes equations in \(\varOmega \).

We can establish the following formal a priori bound, where we first note that on allowing time-dependent test functions \({\underline{\xi }}\) in (3.6), which yields the extra term \(( \rho \,{\underline{u}}, {\underline{\xi }}_t)\) on the right hand side of (3.6), we obtain the following amended version of (3.9a) for time-dependent test functions \({\underline{\xi }}(\cdot ,t) \in \mathbb {U}\):

$$\begin{aligned}&\tfrac{1}{2}\left[ \frac{\mathrm{d}}{\mathrm{d}t}(\rho \,{\underline{u}}, {\underline{\xi }}) + (\rho \,{\underline{u}}_t, {\underline{\xi }}) - (\rho \,{\underline{u}}, {\underline{\xi }}_t) + (\rho , [({\underline{u}}\,\cdot \,\nabla )\,{\underline{u}}]\,\cdot \,{\underline{\xi }}- [({\underline{u}}\,\cdot \,\nabla )\,{\underline{\xi }}]\,\cdot \,{\underline{u}}) \right] \nonumber \\&\quad + 2\,(\mu \,{\underline{{\underline{D}}}}({\underline{u}}), {\underline{{\underline{D}}}}({\underline{\xi }})) - (p, \nabla \,\cdot \,{\underline{\xi }}) + \beta \left\langle {\underline{u}}, {\underline{\xi }}\right\rangle _{\partial _2\varOmega , {\underline{\mathrm{t}}}} - \gamma \left\langle \varkappa \,{\underline{\nu }}, {\underline{\xi }}\right\rangle _{\varGamma (t)} = ({\underline{f}}, {\underline{\xi }}). \end{aligned}$$
(3.10)

Now choosing \({\underline{\xi }}={\underline{u}}\) in (3.10), \(\varphi = p\) in (3.9b), \(\chi =\gamma \,\varkappa \) in (3.9c) and \({\underline{\eta }}=\gamma \,{\underline{x}}_t\) in (3.9d) we obtain, on using the identity

$$\begin{aligned} \frac{\mathrm{d}}{\mathrm{d}t}\,\fancyscript{H}^{d-1}(\varGamma (t)) = \left\langle \nabla _{\!s}\,{\underline{x}},\nabla _{\!s}\,{\underline{x}}_t \right\rangle _{\varGamma (t)}, \end{aligned}$$

that

$$\begin{aligned} \frac{\mathrm{d}}{\mathrm{d}t}\left( \tfrac{1}{2}\,\Vert \rho ^\frac{1}{2}\,{\underline{u}}\Vert ^2_0 + \gamma \,\fancyscript{H}^{d-1}(\varGamma (t)) \right) + 2\,\Vert \mu ^\frac{1}{2}\,{\underline{{\underline{D}}}}({\underline{u}})\Vert ^2_0 + \beta \left\langle {\underline{u}}, {\underline{u}} \right\rangle _{\partial _2\varOmega , {\underline{\mathrm{t}}}} = ({\underline{f}}, {\underline{u}}), \end{aligned}$$
(3.11)

where \(\Vert \cdot \Vert _0 := [(\cdot ,\cdot )]^\frac{1}{2}\) denotes the \(L^2\)–norm on \(\varOmega \). Moreover, the volume of \(\varOmega _-(t)\) is preserved in time. To see this, choose \(\chi = 1\) in (3.9c) and \(\varphi = (\mathrm {\fancyscript{X}}_{\varOmega _-(t)} - \frac{\fancyscript{L}^d(\varOmega _-(t))}{\fancyscript{L}^d(\varOmega )})\) in (3.9b) to obtain

$$\begin{aligned} \frac{\mathrm{d}}{\mathrm{d}t} {\fancyscript{L}}^{d}(\varOmega _-(t)) = \left\langle {\underline{x}}_t , {\underline{\nu }}\right\rangle _{\varGamma (t)} = \left\langle {\underline{u}}, {\underline{\nu }}\right\rangle _{\varGamma (t)} = \int \limits _{\varOmega _-(t)} \nabla \,\cdot \,{\underline{u}} \;\mathrm{d}{\fancyscript{L}}^{d} =0. \end{aligned}$$
(3.12)

4 Discretization

We consider the partitioning \(t_m = m\,\tau ,\,m = 0,\ldots , M\), of \([0,T]\) into uniform time steps \(\tau = T / M\). First we introduce standard finite element spaces of piecewise polynomial functions on \(\varOmega \).

Let \(\varOmega \) be a polyhedral domain. For \(m\ge 0\), let \({\fancyscript{T}}^m\) be a regular partitioning of \(\varOmega \) into disjoint open simplices, so that \(\overline{\varOmega }=\cup _{o^m\in {\fancyscript{T}}^m}\overline{o^m}\). Let \(J_\varOmega ^m\) be the number of elements in \(\fancyscript{T}^m\), so that \(\fancyscript{T}^m=\{ o^m_j : j = 1,\ldots , J^m_\varOmega \}\), and set \(h^m := \max _{j=1,\ldots , J^m_\varOmega } \mathrm{diam }(o^m_j)\). Associated with \({\fancyscript{T}}^m\) are the finite element spaces \(S^m_k := \{\chi \in C(\overline{\varOmega }) : \chi \!\mid _{o^m} \in \fancyscript{P}_k(o^m) \quad \forall \ o^m \in {\fancyscript{T}}^m\},\,k \in \mathbb {N}\), where \(\fancyscript{P}_k(o^m)\) denotes the space of polynomials of degree \(k\) on \(o^m\). We also introduce the space of discontinuous, piecewise constant functions \(S^m_0 := \{\chi \in L^1(\varOmega ) : \chi \!\mid _{o^m} \in \fancyscript{P}_0(o^m) \quad \forall \ o^m \in {\fancyscript{T}}^m\}\). Let \(\{\phi _{k,j}^m\}_{j=1}^{K_k^m}\) be the standard basis functions for \(S^m_k,\,k\ge 0\). We introduce \({\underline{I}}^m_k:[C(\overline{\varOmega })]^d\rightarrow [S^m_k]^d,\,k\ge 1\), the standard interpolation operators, such that \(({\underline{I}}^m_k\, {\underline{\eta }})({\underline{p}}_{k,j}^m)= {\underline{\eta }}({\underline{p}}_{k,j}^m)\) for \(j=1,\ldots , K_k^m\); where \(\{{\underline{p}}_{k,j}^m\}_{j=1}^{K_k^m}\) denote the coordinates of the degrees of freedom of \(S^m_k,\,k\ge 1\). In addition we define the standard projection operator \(I^m_0:L^1(\varOmega )\rightarrow S^m_0\), such that \((I^m_0 \eta )\!\mid _{o^m} = \frac{1}{\fancyscript{L}^d(o^m)}\,\int \nolimits _{o^m} \eta \;\mathrm{d}{\fancyscript{L}}^{d}\) for all \(o^m \in \fancyscript{T}^m\). Let \((\mathbb {U}^m,\mathbb {P}^m)\), with \(\mathbb {U}^m\subset \mathbb {U}\), be a pair of finite element spaces on \(\fancyscript{T}^m\) that satisfy the LBB inf-sup condition. I.e. there exists a constant \(C_0 \in {\mathbb {R}}_{>0}\) independent of \(h^m\) such that

$$\begin{aligned} \inf _{\varphi \in {\widehat{\mathbb {P}}}^m} \sup _{{\underline{\xi }}\in \mathbb {U}^m} \frac{( \varphi , \nabla \,\cdot \,{\underline{\xi }})}{\Vert \varphi \Vert _0\,\Vert {\underline{\xi }}\Vert _1} \ge C_0 > 0, \end{aligned}$$
(4.1)

where \(\Vert \cdot \Vert _1 := \Vert \cdot \Vert _0 + \Vert \nabla \,\cdot \Vert _0\) denotes the \(H^1\)–norm on \(\varOmega \), and where \({\widehat{\mathbb {P}}}^m:= \mathbb {P}^m \cap {\widehat{\mathbb {P}}}\), recall (3.3); see e.g. [24, p. 114]. For example, we may choose

$$\begin{aligned} (\mathbb {U}^m,\mathbb {P}^m)&= ([S^m_2]^d\cap \mathbb {U}, S^m_1), \end{aligned}$$
(4.2a)
$$\begin{aligned} (\mathbb {U}^m,\mathbb {P}^m)&= ([S^m_2]^d\cap \mathbb {U}, S^m_0), \end{aligned}$$
(4.2b)
$$\begin{aligned} (\mathbb {U}^m,\mathbb {P}^m)&= ([S^m_2]^d\cap \mathbb {U}, S^m_1 + S^m_0), \end{aligned}$$
(4.2c)

for the lowest order Taylor–Hood element, also called the P2 \(-\) P1 element, the P2 \(-\) P0 element, or the P2 \(-\) (P1 \(+\) P0) element, repsectively. For the LBB stability of (4.2a) in the case \(\partial _1\varOmega = \partial \varOmega \) we refer to [14, p. 252] for \(d=2\) and to [12] for \(d=3\), while the stability of (4.2b) is shown in [14, p. 221]. The LBB stability of (4.2c) is shown in [13] for \(d=2\) and \(d=3\). Here the results for (4.2a, c) need the weak constraint that all the elements \(o^m \in \fancyscript{T}^m\) have a vertex in \(\varOmega \). The LBB stability of (4.2a–c) for the general case \(\partial _2\varOmega \not = \emptyset \) then follows trivially from (4.1), since the space \(\mathbb {U}\) is now less constrained. Let \(\{\{\phi _i^{\mathbb {U}^m}\,{\underline{e}}_j\}_{j=1}^d \}_{i=1}^{K_{\mathbb {U}}^m}\) and \(\{\phi _i^{\mathbb {P}^m}\}_{i=1}^{K_{\mathbb {P}}^m}\) denote the standard basis functions of \(\mathbb {U}^m\) and \(\mathbb {P}^m\), respectively, where \(\{{\underline{e}}_j\}_{j=1}^d\) denotes the standard basis in \({\mathbb {R}}^d\).

Of course, other choices of \((\mathbb {U}^m,\mathbb {P}^m)\) are also possible. We note that among (4.2a–c) the latter two appear to be more appropriate for the approximation of two-phase flow, since the pressure is discontinuous across the interface. As (4.2b) may lead to poor approximation properties away from the interface, it is reasonable to assume that (4.2c) performs best in practice. This is confirmed by our numerical experiments, albeit at a price of significantly longer CPU times compared with e.g. (4.2a). See Sect. 7 for details.

The parametric finite element spaces in order to approximate \({\underline{x}}\) and \(\varkappa \) in (3.9a–d), are defined as follows. Similarly to [8], we introduce the following discrete spaces, based on the seminal paper [18]. Let \(\varGamma ^{m}\subset {\mathbb {R}}^d\) be a \((d-1)\)-dimensional polyhedral surface, i.e. a union of nondegenerate \((d-1)\)-simplices with no hanging vertices (see [17, p. 164] for \(d=3\)), approximating the closed surface \(\varGamma (t_m),\,m=0,\ldots , M\). In particular, let \(\varGamma ^m=\bigcup _{j=1}^{J^m_\varGamma } \overline{\sigma ^m_j}\), where \(\{\sigma ^m_j\}_{j=1}^{J^m_\varGamma }\) is a family of mutually disjoint open \((d-1)\)-simplices with vertices \(\{{\underline{q}}^m_k\}_{k=1}^{K^m_\varGamma }\). Then for \(m =0 ,\ldots , M-1\), let

$$\begin{aligned} {V}(\varGamma ^m):= \{{\underline{\chi }}\in [C(\varGamma ^m)]^d:{\underline{\chi }}\!\mid _{\sigma ^m_j} \text{ is } \text{ linear }\ \forall \ j=1,\ldots , J^m_\varGamma \} =: [W(\varGamma ^m)]^d, \end{aligned}$$

where \(W(\varGamma ^m)\subset H^1(\varGamma ^m)\) is the space of scalar continuous piecewise linear functions on \(\varGamma ^m\), with \(\{\chi ^m_k\}_{k=1}^{K^m_\varGamma }\) denoting the standard basis of \(W(\varGamma ^m)\). For later purposes, we also introduce \(\pi ^m: C(\varGamma ^m,{\mathbb {R}})\rightarrow W(\varGamma ^m)\), the standard interpolation operator at the nodes \(\{{\underline{q}}_k^m\}_{k=1}^{K^m_\varGamma }\), and similarly \({\underline{\pi }}^m: [C(\varGamma ^m)]^d\rightarrow {V}(\varGamma ^m)\). Throughout this paper, we will parameterize the new closed surface \(\varGamma ^{m+1}\) over \(\varGamma ^m\), with the help of a parameterization \({\underline{X}}^{m+1} \in {V}(\varGamma ^m)\), i.e. \(\varGamma ^{m+1} = {\underline{X}}^{m+1}(\varGamma ^m)\). Moreover, for \(m \ge 0\), we will often identify \({\underline{X}}^m\) with \({\underline{\mathrm{id}}} \in {V}(\varGamma ^m)\), the identity function on \(\varGamma ^m\).

For scalar, vector and matrix valued functions we introduce the \(L^2\)–inner product \(\langle \cdot ,\cdot \rangle _{\varGamma ^m}\) over the current polyhedral surface \(\varGamma ^m\) as \(\langle v, w\rangle _{\varGamma ^m} := \int \nolimits _{\varGamma ^m} v\,\cdot \,w \; \;\mathrm{d}{\fancyscript{H}}^{d-1}\). If \(v,w\) are piecewise continuous, with possible jumps across the edges of \(\{\sigma _j^m\}_{j=1}^{J^m_\varGamma }\), we introduce the mass lumped inner product \(\langle \cdot ,\cdot \rangle _{\varGamma ^m}^h\) as

$$\begin{aligned} \langle v, w \rangle ^h_{\varGamma ^m} := \tfrac{1}{d} \sum _{j=1}^{J^m_\varGamma } \fancyscript{H}^{d-1}(\sigma ^m_j)\,\sum _{k=1}^{d} (v\,\cdot \,w)(({\underline{q}}^m_{j_k})^-), \end{aligned}$$

where \(\{{\underline{q}}^m_{j_k}\}_{k=1}^{d}\) are the vertices of \(\sigma ^m_j\), and where we define \(v(({\underline{q}}^m_{j_k})^-):= \underset{\sigma ^m_j\ni {\underline{p}}\rightarrow {\underline{q}}^m_{j_k}}{\lim }\, v({\underline{p}})\).

Given \(\varGamma ^m\), we let \(\varOmega ^m_+\) denote the exterior of \(\varGamma ^m\) and let \(\varOmega ^m_-\) denote the interior of \(\varGamma ^m\), so that \(\varGamma ^m = \partial \varOmega ^m_- = \overline{\varOmega }^m_- \cap \overline{\varOmega }^m_+\). We then partition the elements of the bulk mesh \(\fancyscript{T}^m\) into interior, exterior and interfacial elements as follows. Let

$$\begin{aligned} \fancyscript{T}^m_-&:= \{ o^m \in \fancyscript{T}^m : o^m \subset \varOmega ^m_- \}, \quad \fancyscript{T}^m_+ := \{ o^m \in \fancyscript{T}^m : o^m \subset \varOmega ^m_+ \}, \nonumber \\ \fancyscript{T}^m_{\varGamma ^m}&:= \{ o^m \in \fancyscript{T}^m : o^m \cap \varGamma ^m \not = \emptyset \}. \end{aligned}$$
(4.3)

Clearly \(\fancyscript{T}^m = \fancyscript{T}^m_- \cup \fancyscript{T}^m_+ \cup \fancyscript{T}^m_{\varGamma ^m}\) is a disjoint partition, which in practice can easily be found e.g. with the Algorithm 4.1 in [11]. Here we assume that \(\varGamma ^m\) has no self intersections, and for the numerical experiments in this paper this was always the case. In addition, we define the piecewise constant unit normal \({\underline{\nu }}^m\) to \(\varGamma ^m\) by

$$\begin{aligned} {\underline{\nu }}^m_j := {\underline{\nu }}^m\!\mid _{\sigma ^m_j} := \frac{({\underline{q}}^m_{j_2}-{\underline{q}}^m_{j_1}) \wedge \cdots \wedge ({\underline{q}}^m_{j_d}-{\underline{q}}^m_{j_1})}{|({\underline{q}}^m_{j_2}-{\underline{q}}^m_{j_1}) \wedge \cdots \wedge ({\underline{q}}^m_{j_d}-{\underline{q}}^m_{j_1})|}, \end{aligned}$$

where \(\wedge \) is the standard wedge product on \({\mathbb {R}}^d\), and where we have assumed that the vertices \(\{{\underline{q}}^m_{j_k}\}_{k=1}^d\) of \(\sigma _j^m\) are ordered such that \({\underline{\nu }}^m:\varGamma ^m\rightarrow {\mathbb {R}}^d\) induces an orientation on \(\varGamma ^m\), and such that \({\underline{\nu }}^m\) points into \(\varOmega ^m_+\).

Before we can introduce our approximation to (3.9a–d), we have to introduce the notion of a vertex normal on \(\varGamma ^m\). We will combine this definition with a natural assumption that is needed in order to show existence and uniqueness, where applicable, for the introduced finite element approximation.

\(({\fancyscript{A}})\) :

We assume for \(m=0,\ldots , M-1\) that \(\fancyscript{H}^{d-1}(\sigma ^m_j) > 0\) for all \(j=1,\ldots , J^m_\varGamma \), and that \(\varGamma ^m \subset \overline{\varOmega }\). For \(k= 1,\ldots , K^m_\varGamma \), let \(\varXi _k^m:= \{\sigma ^m_j : {\underline{q}}^m_k \in \overline{\sigma ^m_j}\}\) and set

$$\begin{aligned} \Lambda _k^m := \cup _{\sigma ^m_j \in \varXi _k^m} \overline{\sigma ^m_j} \quad \text{ and } \quad {\underline{\omega }}^m_k := \frac{1}{\fancyscript{H}^{d-1}(\Lambda ^m_k)} \sum _{\sigma ^m_j\in \varXi _k^m} \fancyscript{H}^{d-1}(\sigma ^m_j) \;{\underline{\nu }}^m_j. \end{aligned}$$

Then we further assume that \(\dim \mathrm{span }\{{\underline{\omega }}^m_k\}_{k=1}^{K^m_\varGamma } = d,\,m=0,\ldots , M-1\).

Given the above definitions, we also introduce the piecewise linear vertex normal function

$$\begin{aligned} {\underline{\omega }}^m := \sum _{k=1}^{K^m_\varGamma } \chi ^m_k\,{\underline{\omega }}^m_k \in {V}(\varGamma ^m), \end{aligned}$$

and note that

$$\begin{aligned} \langle {\underline{v}}, w\,{\underline{\nu }}^m\rangle _{\varGamma ^m}^h = \left\langle {\underline{v}}, w\,{\underline{\omega }}^m\right\rangle _{\varGamma ^m}^h \quad \forall \ {\underline{v}} \in {V}(\varGamma ^m),\ w \in W(\varGamma ^m). \end{aligned}$$
(4.4)

Following a similar approach used by the authors in [11] in the context of the parametric approximation of dendritic crystal growth, we consider an unfitted finite element approximation of (3.9a–d). On recalling (4.3), we introduce the discrete density \(\rho ^m \in S^m_0\) and the discrete viscosity \(\mu ^m \in S^m_0\), for \(m\ge 0\), as either

$$\begin{aligned} \rho ^m\!\mid _{o^m} = {\left\{ \begin{array}{ll} \rho _- &{} o^m \in \fancyscript{T}^m_-, \\ \rho _+ &{} o^m \in \fancyscript{T}^m_+, \\ \tfrac{1}{2}\,(\rho _- + \rho _+) &{} o^m \in \fancyscript{T}^m_{\varGamma ^m}, \end{array}\right. } \ \text { and}\quad \mu ^m\!\mid _{o^m} = {\left\{ \begin{array}{ll} \mu _- &{} o^m \in \fancyscript{T}^m_-, \\ \mu _+ &{} o^m \in \fancyscript{T}^m_+, \\ \tfrac{1}{2}\,(\mu _- + \mu _+) &{} o^m \in \fancyscript{T}^m_{\varGamma ^m}\,; \end{array}\right. } \end{aligned}$$
(4.5a)

or

$$\begin{aligned} \rho ^m\!\mid _{o^m}&= v_-(o^m)\, \rho _- + (1 - v_-(o^m))\,\rho _+ \quad \text {and}\quad \mu ^m\!\mid _{o^m} = v_-(o^m)\, \mu _- + (1 - v_-(o^m))\,\mu _+, \nonumber \\ \end{aligned}$$
(4.5b)

\(\text {where}\quad v_-(o^m) = \frac{\fancyscript{L}^d (o^m \cap \varOmega ^m_-)}{\fancyscript{L}^d (o^m)}, \quad \forall \ o^m \in \fancyscript{T}^m.\) We also set \(\rho ^{-1} := \rho ^0\). Clearly (4.5a, b) only differ in the definitions of \(\rho ^m\) and \(\mu ^m\) on the elements in \(\fancyscript{T}^m_{\varGamma ^m}\).

Our finite element approximation for two-phase Navier–Stokes flow is then given as follows. Let \(\varGamma ^0\), an approximation to \(\varGamma (0)\), and \({\underline{U}}^0\in \mathbb {U}^0\) be given. For \(m=0,\ldots , M-1\), find \({\underline{U}}^{m+1} \in \mathbb {U}^m,\,P^{m+1} \in {\widehat{\mathbb {P}}}^m,\,{\underline{X}}^{m+1}\in {V}(\varGamma ^m)\) and \(\kappa ^{m+1} \in W(\varGamma ^m)\) such that

$$\begin{aligned}&\tfrac{1}{2} \left( \frac{\rho ^m\,{\underline{U}}^{m+1} - (I^m_0\,\rho ^{m-1}) \,{\underline{I}}^m_2\,{\underline{U}}^m}{\tau } +(I^m_0\,\rho ^{m-1}) \,\frac{{\underline{U}}^{m+1}- {\underline{I}}^m_2\,{\underline{U}}^m}{\tau }, {\underline{\xi }}\right) \nonumber \\&\qquad + 2\left( \mu ^m\,{\underline{{\underline{D}}}}({\underline{U}}^{m+1}), {\underline{{\underline{D}}}}({\underline{\xi }}) \right) + \tfrac{1}{2}\left( \rho ^m, [({\underline{I}}^m_2\,{\underline{U}}^m\,\cdot \,\nabla )\,{\underline{U}}^{m+1}]{\underline{\xi }}- [({\underline{I}}^m_2\,{\underline{U}}^m\,\cdot \,\nabla )\,{\underline{\xi }}]\,\cdot \,{\underline{U}}^{m+1} \right) \nonumber \\&\qquad - \left( P^{m+1}, \nabla \,\cdot \,{\underline{\xi }}\right) + \beta \left\langle {\underline{U}}^{m+1}, {\underline{\xi }}\right\rangle _{\partial _2\varOmega , {\underline{\mathrm{t}}}} - \gamma \,\left\langle \kappa ^{m+1}\,{\underline{\nu }}^m, {\underline{\xi }}\right\rangle _{\varGamma ^m} \nonumber \\&\quad = \left( \rho ^m\,{\underline{f}}^{m+1}_1 + {\underline{f}}^{m+1}_2, {\underline{\xi }}\right) \quad \forall \ {\underline{\xi }}\in \mathbb {U}^m, \end{aligned}$$
(4.6a)
$$\begin{aligned}&\left( \nabla \,\cdot \,{\underline{U}}^{m+1}, \varphi \right) = 0 \quad \forall \ \varphi \in {\widehat{\mathbb {P}}}^m, \end{aligned}$$
(4.6b)
$$\begin{aligned}&\left\langle \frac{{\underline{X}}^{m+1} - {\underline{X}}^m}{\tau }, \chi \,{\underline{\nu }}^m \right\rangle _{\varGamma ^m}^h - \left\langle {\underline{U}}^{m+1}, \chi \,{\underline{\nu }}^m \right\rangle _{\varGamma ^m} = 0 \quad \forall \ \chi \in W(\varGamma ^m), \end{aligned}$$
(4.6c)
$$\begin{aligned}&\left\langle \kappa ^{m+1}\,{\underline{\nu }}^m, {\underline{\eta }}\right\rangle _{\varGamma ^m}^h + \left\langle \nabla _{\!s}\,{\underline{X}}^{m+1}, \nabla _{\!s}\,{\underline{\eta }}\right\rangle _{\varGamma ^m} = 0 \quad \forall \ {\underline{\eta }}\in {V}(\varGamma ^m) \end{aligned}$$
(4.6d)

and set \(\varGamma ^{m+1} = {\underline{X}}^{m+1}(\varGamma ^m)\). Here we have defined \({\underline{f}}^{m+1}_i := {\underline{I}}^m_2\,{\underline{f}}_i(t_{m+1}),\,i=1,2\), where here and throughout we assume that \({\underline{f}}_i \in L^2(0,T;[C(\overline{\varOmega })]^d),\,i=1,2\). We remark that (4.6a–d), in the case that \(\rho _+ = \rho _- = 0\) and \(\partial _1\varOmega = \partial \varOmega \), collapses to the finite element approximation for two-phase Stokes flow introduced in [10]. Moreover, on setting \(\rho _+ = \rho _- > 0,\,\mu _+ = \mu _- > 0\) and \(\gamma = 0\), the scheme (4.6a, b) reduces to a standard finite element approximation of the incompressible Navier–Stokes equations in \(\varOmega \); see e.g. [49].

Let \(\fancyscript{E}(\xi ,{\underline{V}},\fancyscript{M}) := \tfrac{1}{2}\,(\xi \,{\underline{V}}, {\underline{V}}) + \gamma \, \fancyscript{H}^{d-1}(\fancyscript{M})\), where \(\xi \in L^\infty (\varOmega ),\,{\underline{V}} \in \mathbb {U}\) and \(\fancyscript{M} \subset {\mathbb {R}}^d\) is a \((d-1)\)-dimensional manifold.

Theorem 4.1

Let the assumption (\(\fancyscript{A}\)) hold. Then for \(m=0,\ldots , M-1\) there exists a unique solution \(({\underline{U}}^{m+1}, P^{m+1}, {\underline{X}}^{m+1}, \kappa ^{m+1}) \in \mathbb {U}^m\times {\widehat{\mathbb {P}}}^m \times {V}(\varGamma ^m)\times W(\varGamma ^m)\) to (4.6a–d). Moreover, the solution satisfies

$$\begin{aligned}&\fancyscript{E}(\rho ^m,{\underline{U}}^{m+1}, \varGamma ^{m+1}) + \tfrac{1}{2}\left( (I^m_0\rho ^{m-1})\,({\underline{U}}^{m+1} - {\underline{I}}^m_2\,{\underline{U}}^m), {\underline{U}}^{m+1} - {\underline{I}}^m_2\,{\underline{U}}^m \right) \nonumber \\&\qquad + 2\,\tau \left( \mu ^m\,{\underline{{\underline{D}}}}(U^{m+1}), {\underline{{\underline{D}}}}(U^{m+1}) \right) + \tau \,\beta \left\langle {\underline{U}}^{m+1}, {\underline{U}}^{m+1} \right\rangle _{\partial _2\varOmega , {\underline{\mathrm{t}}}} \nonumber \\&\quad \le \fancyscript{E}(I^m_0\,\rho ^{m-1},{\underline{I}}^m_2\,{\underline{U}}^m,\varGamma ^m) + \tau \left( \rho ^m\,{\underline{f}}^{m+1}_1 + {\underline{f}}^{m+1}_2, {\underline{U}}^{m+1} \right) . \end{aligned}$$
(4.7)

Proof

As the system (4.6a–d) is linear, existence follows from uniqueness. In order to establish the latter, we consider the system: Find \(({\underline{U}}, P, {\underline{X}}, \kappa ) \in \mathbb {U}^m\times {\widehat{\mathbb {P}}}^m \times {V}(\varGamma ^m)\times W(\varGamma ^m)\) such that

$$\begin{aligned}&\tfrac{1}{2\,\tau }\,\left( (\rho ^m+I^m_0\,\rho ^{m-1})\,{\underline{U}}, {\underline{\xi }}\right) + 2\left( \mu ^m\,{\underline{{\underline{D}}}}({\underline{U}}), {\underline{{\underline{D}}}}({\underline{\xi }}) \right) - \left( P, \nabla \,\cdot \,{\underline{\xi }}\right) \nonumber \\&\quad + \tfrac{1}{2}\left( \rho ^m, [({\underline{I}}^m_2\,{\underline{U}}^m\,\cdot \,\nabla )\,{\underline{U}}]\,\cdot \,{\underline{\xi }}- [({\underline{I}}^m_2\,{\underline{U}}^m\,\cdot \,\nabla )\,{\underline{\xi }}]\,\cdot \,{\underline{U}} \right) \nonumber \\&\quad + \beta \left\langle {\underline{U}}, {\underline{\xi }}\right\rangle _{\partial _2\varOmega , {\underline{\mathrm{t}}}} - \gamma \,\left\langle \kappa \,{\underline{\nu }}^m, {\underline{\xi }}\right\rangle _{\varGamma ^m} = 0 \quad \forall \ {\underline{\xi }}\in \mathbb {U}^m, \end{aligned}$$
(4.8a)
$$\begin{aligned}&\left( \nabla \,\cdot \,{\underline{U}}, \varphi \right) = 0 \quad \forall \ \varphi \in {\widehat{\mathbb {P}}}^m, \end{aligned}$$
(4.8b)
$$\begin{aligned}&\left\langle \frac{{\underline{X}}}{\tau }, \chi \,{\underline{\nu }}^m \right\rangle _{\varGamma ^m}^h - \left\langle {\underline{U}}, \chi \,{\underline{\nu }}^m \right\rangle _{\varGamma ^m} = 0 \quad \forall \ \chi \in W(\varGamma ^m), \end{aligned}$$
(4.8c)
$$\begin{aligned}&\left\langle \kappa \,{\underline{\nu }}^m, {\underline{\eta }}\right\rangle _{\varGamma ^m}^h + \left\langle \nabla _{\!s}\,{\underline{X}}, \nabla _{\!s}\,{\underline{\eta }}\right\rangle _{\varGamma ^m} = 0 \quad \forall \ {\underline{\eta }}\in {V}(\varGamma ^m). \end{aligned}$$
(4.8d)

Choosing \({\underline{\xi }}={\underline{U}}\) in (4.8a), \(\varphi = P\) in (4.8b), \(\chi = \gamma \,\kappa \) in (4.8c) and \({\underline{\eta }}=\gamma \,{\underline{X}}\) in (4.8d) yields that

$$\begin{aligned}&\tfrac{1}{2}\left( (\rho ^m + I^m_0\,\rho ^{m-1})\,{\underline{U}}, {\underline{U}} \right) + 2\,\tau \left( \mu ^m\,{\underline{{\underline{D}}}}({\underline{U}}), {\underline{{\underline{D}}}}({\underline{U}}) \right) + \tau \, \beta \left\langle {\underline{U}}, {\underline{U}} \right\rangle _{\partial _2\varOmega , {\underline{\mathrm{t}}}} \nonumber \\&\quad + \gamma \,\left\langle \nabla _{\!s}\,{\underline{X}}, \nabla _{\!s}\,{\underline{X}} \right\rangle _{\varGamma ^m} =0. \end{aligned}$$
(4.9)

It immediately follows from (4.9) and a Korn’s inequality that \({\underline{U}} = {\underline{0}} \in \mathbb {U}^m\). In addition, it holds that \({\underline{X}}\equiv {\underline{X}}_c \in {\mathbb {R}}^d\). Together with (4.8c) for \({\underline{U}}={\underline{0}}\), (4.4) and the assumption \((\fancyscript{A})\) this immediately yields that \({\underline{X}} \equiv {\underline{0}}\), while (4.8d) with \({\underline{\eta }}={\underline{\pi }}^m[\kappa \,{\underline{\omega }}^m]\), recall (4.4), implies that \(\kappa \equiv 0\). Finally, it now follows from (4.8a) with \({\underline{U}} = {\underline{0}}\) and \(\kappa = 0\), on recalling (4.1), that \(P = 0 \in {\widehat{\mathbb {P}}}^m\). Hence there exists a unique solution \(({\underline{U}}^{m+1}, P^{m+1}, {\underline{X}}^{m+1}, \kappa ^{m+1}) \in \mathbb {U}^m\times {\widehat{\mathbb {P}}}^m \times {V}(\varGamma ^m)\times W(\varGamma ^m)\) to (4.6a–d).

It remains to establish the bound (4.7). Choosing \({\underline{\xi }}= {\underline{U}}^{m+1}\) in (4.6a), \(\varphi = P^{m+1}\) in (4.6b), \(\chi = \gamma \,\kappa ^{m+1}\) in (4.6c) and \({\underline{\eta }}=\gamma \,({{\underline{X}}^{m+1}-{\underline{X}}^m})\) in (4.6d) yields that

$$\begin{aligned}&\tfrac{1}{2}\left( \rho ^m\,{\underline{U}}^{m+1}, {\underline{U}}^{m+1}\right) + \tfrac{1}{2}\left( (I^m_0\,\rho ^{m-1})\,({\underline{U}}^{m+1} - {\underline{I}}^m_2\,{\underline{U}}^m), {\underline{U}}^{m+1} - {\underline{I}}^m_2\,{\underline{U}}^m \right) \nonumber \\&\qquad + 2\,\tau \left( \mu ^m\,{\underline{{\underline{D}}}}(U^{m+1}), {\underline{{\underline{D}}}}(U^{m+1}) \right) + \tau \,\beta \left\langle {\underline{U}}^{m+1}, {\underline{U}}^{m+1} \right\rangle _{\partial _2\varOmega , {\underline{\mathrm{t}}}} \nonumber \\&\qquad + \gamma \,\left\langle \nabla _{\!s}\,{\underline{X}}^{m+1}, \nabla _{\!s}\,({\underline{X}}^{m+1} - {\underline{X}}^m) \right\rangle _{\varGamma ^m} \nonumber \\&\quad = \tfrac{1}{2}\left( (I^m_0\,\rho ^{m-1})\,{\underline{I}}^m_2\,{\underline{U}}^{m}, I^m_2\,{\underline{U}}^{m}\right) + \tau \left( \rho ^m\,{\underline{f}}^{m+1}_1 + {\underline{f}}^{m+1}_2, {\underline{U}}^{m+1} \right) . \end{aligned}$$

Hence (4.7) follows immediately, where we have used the result that \(\langle \nabla _{\!s}\,{\underline{X}}^{m+1},\, \nabla _{\!s}\,({\underline{X}}^{m+1} - {\underline{X}}^m) \rangle _{\varGamma ^m} \ge \fancyscript{H}^{d-1}(\varGamma ^{m+1}) - \fancyscript{H}^{d-1}(\varGamma ^{m})\); see e.g. [7] and [8] for the proofs for \(d=2\) and \(d=3\), respectively. \(\square \)

The above theorem allows us to prove unconditional stability, in terms of the chosen time step size, for our scheme under certain conditions.

Theorem 4.2

Let the assumption (\(\fancyscript{A}\)) hold. In addition, assume that

$$\begin{aligned} ((I^m_0\rho ^{m-1})\,{\underline{I}}^m_2\,{\underline{U}}^{m}, {\underline{I}}^m_2\,{\underline{U}}^{m}) \le (\rho ^{m-1}\,{\underline{U}}^{m}, {\underline{U}}^{m}) \quad \text {for }m=1,\ldots , M-1. \end{aligned}$$
(4.10)

Then it holds that

$$\begin{aligned}&\fancyscript{E}(\rho ^m,{\underline{U}}^{m+1}, \varGamma ^{m+1}) + \tfrac{1}{2}\,\sum _{k=0}^m \left[ \left( \rho ^{k-1}\, ({\underline{U}}^{k+1} - {\underline{I}}^k_2\,{\underline{U}}^k), {\underline{U}}^{k+1} - {\underline{I}}^k_2\,{\underline{U}}^k \right) \right. \nonumber \\&\qquad \left. + 4\,\tau \left( \mu ^k\,{\underline{{\underline{D}}}}({\underline{U}}^{k+1}), {\underline{{\underline{D}}}}({\underline{U}}^{k+1}) \right) + 2\,\beta \,\tau \left\langle {\underline{U}}^{k+1}, {\underline{U}}^{k+1} \right\rangle _{\partial _2\varOmega , {\underline{\mathrm{t}}}} \right] \nonumber \\&\quad \le \fancyscript{E}(\rho ^{-1},{\underline{U}}^0, \varGamma ^0) + \sum _{k=0}^m \tau \left( \rho ^k\,{\underline{f}}^{k+1}_1 + {\underline{f}}^{k+1}_2, {\underline{U}}^{k+1} \right) \end{aligned}$$
(4.11)

for \(m=0,\ldots , M-1\).

Proof

The result immediately follows from (4.7) on noting that our assumptions yield that \(\fancyscript{E}(I^m_0\,\rho ^{m-1}, {\underline{I}}^m_2\,{\underline{U}}^{m}, {\underline{X}}^{m}) \le \fancyscript{E}(\rho ^{m-1}, {\underline{U}}^{m}, {\underline{X}}^{m})\) for \(m=1,\ldots , M-1\). \(\square \)

The assumption (4.10) for Theorem 4.2 is trivially satisfied in the case \(\rho _+=\rho _-=0\), see also [10]. Otherwise it is for instance satisfied when either (i) \(\fancyscript{T}^m = \fancyscript{T}^0\) for \(m=1,\ldots , M-1\); i.e. when no mesh adaptation is employed, or when (ii) \(\mathbb {U}^{m-1} \subset \mathbb {U}^m\) for \(m=1,\ldots , M-1\); e.g. when mesh refinement routines without coarsening are employed. In principle, one can completely avoid the assumption (4.10) by considering a variant of (4.6a) in which \(I^m_0\,\rho ^{m-1}\) is replaced by \(\rho ^{m-1}\) and \({\underline{I}}^m_2\,{\underline{U}}^{m}\) is replaced by \({\underline{U}}^{m}\), i.e. no interpolation to the current finite element spaces is used for the solutions from the previous time step. For this approach Theorem 4.2 holds without assumption (4.10). However, as this strategy requires the computation of integrals involving finite element functions from two different spatial meshes, its implementation is far more involved than the implementation of (4.6a–d). For all the computations presented in this paper we will always use the more practical variant (4.6a–d).

The stability bounds (4.7) and (4.11) control the total surface area (length in two dimensions) \(\fancyscript{H}^{d-1}(\varGamma ^{m+1})\) and correspond to the continuous energy bound (3.11). For a larger surface energy density \(\gamma \) this control is stronger and fluid drops are less unstable. However, if a stable numerical scheme does not conserve the total volume (area in two dimensions) of the fluid phases, a large value of \(\gamma \) can lead to situations where drops decrease their size during the evolution in order to reduce their surface area. Of course this is an artefact and has no analogue in the continuous problem. Conversely, an unstable numerical scheme that does conserve the total volume of the fluid phases may for large values of \(\gamma \) suffer from oscillations in the discrete representation of the interface. Hence for numerical approximations of two-phase Navier–Stokes flow it is important to have both: stability and conservation of the phase volumes.

The stability bounds (4.7) and (4.11) are the main result of this paper. In practice we observe that for large values of \(\gamma \), the numerical solution is better behaved than for small \(\gamma \), in analogue to the continuous situation. We note that this is in contrast to existing methods for two-phase Navier–Stokes flow, for which no stability results can be shown; see e.g. [26, p. 280].

Remark 4.1

We stress that our approximation (4.6a–d) results in a linear system of equations. This is due to the lagging in the approximation \(\rho ^m\) of the densities. Alternatively, one could choose to not lag \(\rho ^m\) and then obtain the following nonlinear approximation. For \(m=0,\ldots , M-1\), find \({\underline{U}}^{m+1} \in \mathbb {U}^m,\,P^{m+1} \in {\widehat{\mathbb {P}}}^m,\,{\underline{X}}^{m+1}\in {V}(\varGamma ^m)\) and \(\kappa ^{m+1} \in W(\varGamma ^m)\) such that

$$\begin{aligned}&\tfrac{1}{2} \left( \frac{\rho ^{m+1}\,{\underline{U}}^{m+1} - (I^m_0\,\rho ^{m})\, {\underline{I}}^m_2\,{\underline{U}}^m}{\tau } + (I^m_0\,\rho ^m)\,\frac{{\underline{U}}^{m+1} - {\underline{I}}^m_2\,{\underline{U}}^m}{\tau },{\underline{\xi }}\right) + 2\left( \mu ^m\,{\underline{{\underline{D}}}}({\underline{U}}^{m+1}), {\underline{{\underline{D}}}}({\underline{\xi }}) \right) \nonumber \\&\quad - \left( P^{m+1}, \nabla \,\cdot \,{\underline{\xi }}\right) + \tfrac{1}{2}\left( \rho ^{m+1}, [({\underline{I}}^m_2\,{\underline{U}}^m\,\cdot \,\nabla )\,{\underline{U}}^{m+1}]\,\cdot \,{\underline{\xi }}- [({\underline{I}}^m_2\,{\underline{U}}^m\,\cdot \,\nabla )\,{\underline{\xi }}]\,\cdot \,{\underline{U}}^{m+1} \right) \nonumber \\&\quad + \beta \left\langle {\underline{U}}^{m+1}, {\underline{\xi }}\right\rangle _{\partial _2\varOmega , {\underline{\mathrm{t}}}} - \gamma \,\left\langle \kappa ^{m+1}\,{\underline{\nu }}^m, {\underline{\xi }}\right\rangle _{\varGamma ^m}\nonumber \\&\quad = \left( \rho ^{m+1}\,{\underline{f}}^{m+1}_1 + {\underline{f}}^{m+1}_2, {\underline{\xi }}\right) \quad \forall \ {\underline{\xi }}\in \mathbb {U}^m \end{aligned}$$
(4.12)

and (4.6b–d) hold. Now, as \(\rho ^{m+1}\), via the analogues of (4.5a, b), depends on \(\varGamma ^{m+1} = {\underline{X}}^{m+1}(\varGamma ^m)\), the system (4.12), (4.6b–d) is highly nonlinear. Assuming existence of a solution, it is then straightforward to establish the corresponding stability results, i.e. (4.7) and (4.11) with \(\rho ^{\ell -1}\) replaced by \(\rho ^{\ell }\), for \(\ell \ge 0\).

Remark 4.2

It is worthwhile to consider a continuous-in-time semidiscrete version of our scheme (4.6a–d). Let \(\fancyscript{T}^h\) be an arbitrarily fixed regular partitioning of \(\varOmega \) into disjoint open simplices and define the finite element spaces \(S^h_k,\,\mathbb {U}^h\) and \(\mathbb {P}^h\) similarly to \(S^m_k,\,\mathbb {U}^m\) and \(\mathbb {P}^m\), with the corresponding interpolation operators \({\underline{I}}^h_k\) and discrete approximations \(\rho ^h(t) \in S^h_0\) and \(\mu ^h(t) \in S^h_0\), which will depend on \(\varGamma ^h(t)\) via the analogues of (4.5a, b). Then, given \(\varGamma ^h(0)\) and \({\underline{U}}^h(0) \in \mathbb {U}^h\), for \(t\in (0,T]\) find \({\underline{U}}^h(t) \in \mathbb {U}^h,\,P^h(t) \in {\widehat{\mathbb {P}}}^h,\,{\underline{X}}^h(t)\in {V}(\varGamma ^h(t))\) and \(\kappa ^h(t) \in W(\varGamma ^h(t))\) such that

$$\begin{aligned}&\tfrac{1}{2} \left[ \frac{\mathrm{d}}{\mathrm{d}t}\left( \rho ^h\,{\underline{U}}^h, {\underline{\xi }}\right) + \left( \rho ^h\,{\underline{U}}^h_t, {\underline{\xi }}\right) - (\rho ^h\,{\underline{U}}^h, {\underline{\xi }}_t) \right] + 2\left( \mu ^h\,{\underline{{\underline{D}}}}({\underline{U}}^h), {\underline{{\underline{D}}}}({\underline{\xi }}) \right) \nonumber \\&\quad - \left( P^h, \nabla \,\cdot \,{\underline{\xi }}\right) + \tfrac{1}{2}\left( \rho ^h, [({\underline{U}}^h\,\cdot \,\nabla )\,{\underline{U}}^h]\,\cdot \,{\underline{\xi }}- [({\underline{U}}^h\,\cdot \,\nabla )\,{\underline{\xi }}]\,\cdot \,{\underline{U}}^h \right) \nonumber \\&\quad + \beta \left\langle {\underline{U}}^h, {\underline{\xi }}\right\rangle _{\partial _2\varOmega , {\underline{\mathrm{t}}}} - \gamma \,\left\langle \kappa ^h\,{\underline{\nu }}^h, {\underline{\xi }}\right\rangle _{\varGamma ^h(t)} = \left( \rho ^h\,{\underline{f}}^h_1 + {\underline{f}}^h_2, {\underline{\xi }}\right) \quad \forall \ {\underline{\xi }}\in \mathbb {U}^h, \end{aligned}$$
(4.13a)
$$\begin{aligned}&\left( \nabla \,\cdot \,{\underline{U}}^h, \varphi \right) = 0 \quad \forall \ \varphi \in {\widehat{\mathbb {P}}}^h, \end{aligned}$$
(4.13b)
$$\begin{aligned}&\left\langle {\underline{X}}^h_t, \chi \,{\underline{\nu }}^h \right\rangle _{\varGamma ^h(t)}^h - \left\langle {\underline{U}}^h, \chi \,{\underline{\nu }}^h \right\rangle _{\varGamma ^h(t)} = 0 \quad \forall \ \chi \in W(\varGamma ^h(t)), \end{aligned}$$
(4.13c)
$$\begin{aligned}&\left\langle \kappa ^h\,{\underline{\nu }}^h, {\underline{\eta }}\right\rangle _{\varGamma ^h(t)}^h + \left\langle \nabla _{\!s}\,{\underline{X}}^h, \nabla _{\!s}\,{\underline{\eta }}\right\rangle _{\varGamma ^h(t)} = 0 \quad \forall \ {\underline{\eta }}\in {V}(\varGamma ^h(t)), \end{aligned}$$
(4.13d)

where \({\underline{f}}^h_i(t) := {\underline{I}}^h_2\,{\underline{f}}_i(t),\,i=1,2\). In (4.13a–d) we always integrate over the current surface \(\varGamma ^h(t)\), with normal \({\underline{\nu }}^h(t)\), described by the identity function \({\underline{X}}^h(t) \in {V}(\varGamma ^h(t))\). Moreover, \(\langle \cdot ,\cdot \rangle _{\varGamma ^h(t)}^h\) is the same as \(\langle \cdot ,\cdot \rangle _{\varGamma ^m}^h\) with \(\varGamma ^m\) and \({\underline{X}}^m\) replaced by \(\varGamma ^h(t)\) and \({\underline{X}}^h(t)\), respectively; and similarly for \(\langle \cdot ,\cdot \rangle _{\varGamma ^h(t)}\).

Using the results from [8] it is straightforward to show that

$$\begin{aligned} \frac{\mathrm{d}}{\mathrm{d}t}{\fancyscript{H}}^{d-1}(\varGamma ^h(t)) = \left\langle \nabla _{\!s}\,{\underline{X}}^h, \nabla _{\!s}\,{\underline{X}}^h_t \right\rangle _{\varGamma ^h(t)}. \end{aligned}$$

It is then not difficult to derive the following stability bound for the solution \(({\underline{U}}^h, P^h, {\underline{X}}^h, \kappa ^h)\) of the semidiscrete scheme (4.13a–d):

$$\begin{aligned}&\frac{\mathrm{d}}{\mathrm{d}t}\left( \tfrac{1}{2}\,\Vert [\rho ^h]^\frac{1}{2}\,{\underline{U}}^h\Vert ^2_{0} + \gamma \,\fancyscript{H}^{d-1}(\varGamma ^h(t)) \right) + 2\,\Vert [\mu ^h]^\frac{1}{2}\,{\underline{{\underline{D}}}}({\underline{U}}^h)\Vert ^2_{0} + \beta \left\langle {\underline{U}}^h, {\underline{U}}^h \right\rangle _{\partial _2\varOmega , {\underline{\mathrm{t}}}} \nonumber \\&\quad = \left( \rho ^h\,{\underline{f}}^h_1 + {\underline{f}}^h_2, {\underline{U}}^h\right) . \end{aligned}$$
(4.14)

Clearly, (4.14) is the natural discrete analogue of (3.11). In addition, it is possible to prove that the vertices of \(\varGamma ^h(t)\) are well distributed. As this follows already from the equations (4.13d), we refer to our earlier work in [7, 8] for further details. In particular, we observe that in the case \(d=2\), i.e. for the planar two-phase problem, an equidistribution property for the vertices of \(\varGamma ^h(t)\) can be shown.

4.1 \(\hbox {XFEM}_{\varGamma }\) for Conservation of the Phase Volumes

In general, the fully discrete approximation (4.6a–d) will not conserve the volume of the two phase regions, i.e. the volume \(\fancyscript{L}^d(\varOmega ^m_-)\), enclosed by \(\varGamma ^m\) will in general not be preserved. Clearly, given that volume conservation holds on the continuous level, recall (3.12), it would be desirable to have an analogue property also on the discrete level.

For the semidiscrete approximation (4.13a–d) from Remark 4.2 we can show the following true volume conservation property in the case that

$$\begin{aligned} \mathrm {\fancyscript{X}}_{\varOmega _-^h(t)} \in \mathbb {P}^h, \end{aligned}$$
(4.15)

where here we need to allow the pressure space to be time-dependent. Choosing \(\chi =1\) in (4.13c) and \(\varphi =(\mathrm {\fancyscript{X}}_{\varOmega _-^h(t)} - \frac{\fancyscript{L}^d(\varOmega _-^h(t))}{\fancyscript{L}^d(\varOmega )}) \in {\widehat{\mathbb {P}}}^h(t)\) in (4.13b), we then obtain that

$$\begin{aligned} \frac{\mathrm{d}}{\mathrm{d}t} {\fancyscript{L}}^{d}(\varOmega _-^h(t)) \!=\! \left\langle {\underline{X}}^h_t, {\underline{\nu }}^h \right\rangle _{\varGamma ^h(t)} \!=\! \left\langle {\underline{X}}^h_t, {\underline{\nu }}^h \right\rangle ^h_{\varGamma ^h(t)} = \left\langle {\underline{U}}^h, {\underline{\nu }}^h \right\rangle _{\varGamma ^h(t)} = \int \limits _{\varOmega _-^h(t)} \nabla \,\cdot \,{\underline{U}}^h \;\mathrm{d}{\fancyscript{L}}^{d} =0\,; \end{aligned}$$
(4.16)

which is the discrete analogue of (3.12). Clearly, for the discrete pressure spaces \(\mathbb {P}^h\) induced by (4.2a–c) the condition (4.15) will in general not hold. However, the assumption (4.15) can be satisfied with the help of the extended finite element method (XFEM), see e.g. [26, Sect. 7.9.2]. Here the pressure spaces \(\mathbb {P}^m\) need to be suitably extended, so that they satisfy the time-discrete analogue of (4.15), i.e. \(\mathrm {\fancyscript{X}}_{\varOmega _-^m} \in \mathbb {P}^m\), which means that then (4.6b) implies

$$\begin{aligned} \left\langle {\underline{U}}^{m+1}, {\underline{\nu }}^m \right\rangle _{\varGamma ^m} = 0, \end{aligned}$$
(4.17)

which together with (4.6c) then yields that

$$\begin{aligned} \left\langle {\underline{X}}^{m+1} - {\underline{X}}^m, {\underline{\nu }}^m \right\rangle ^h_{\varGamma ^m} = 0. \end{aligned}$$
(4.18)

We recall that for area/volume preserving geometric evolution equations the authors, in previous works, observed excellent area/volume preservation for fully discrete finite element approximations satisfying (4.18), see [7, 8].

Hence the obvious strategy to guarantee (4.18) is to add only a single new basis function to the basis of \(\mathbb {P}^m\), namely \(\mathrm {\fancyscript{X}}_{\varOmega _-^m}\). Then the new contributions to (4.6a, b) can be written in terms of integrals over \(\varGamma ^m\), since

$$\begin{aligned} ( \nabla \,\cdot \,{\underline{\xi }}, \mathrm {\fancyscript{X}}_{\varOmega _-^m} ) = \int \limits _{\varOmega _-^m} \nabla \,\cdot \,{\underline{\xi }}\;\mathrm{d}{\fancyscript{L}}^{d} = \langle {\underline{\xi }}, {\underline{\nu }}^m \rangle _{\varGamma ^m} \end{aligned}$$
(4.19)

for all \({\underline{\xi }}\in \mathbb {U}^m\). In the remainder of this subsection we are going to consider this approach. Let \((\mathbb {U}^m, {\widehat{\mathbb {P}}}^m)\) satisfy (4.1). For example, \(\mathbb {P}^m\) may be given by one of (4.2a–c). Then we let \(\phi ^{\mathbb {P}^m}_{{K_\mathbb {P}^m}+1} := \mathrm {\fancyscript{X}}_{\varOmega _-^m}\) and define \(\mathbb {P}^m_\mathrm{XFEM} := \mathrm{span }\{ \phi ^{\mathbb {P}^m}_i \}_{i=1}^{K_\mathbb {P}^m+1}\), with \({\widehat{\mathbb {P}}}^m_\mathrm{XFEM} := \mathbb {P}^m_\mathrm{XFEM} \cap {\widehat{\mathbb {P}}}\); recall (3.3).

We are unable to prove that the element \((\mathbb {U}^m, {\widehat{\mathbb {P}}}^m_\mathrm{XFEM})\) satisfies an LBB condition, i.e. that (4.1) holds with \({\widehat{\mathbb {P}}}^m\) replaced by \({\widehat{\mathbb {P}}}^m_\mathrm{XFEM}\). This means that we cannot prove existence and uniqueness of the discrete pressure \(P^{m+1} \in {\widehat{\mathbb {P}}}^m_\mathrm{XFEM}\) for the system (4.6a–d), (4.17). It is for this reason that we consider the following reduced system for our existence result for the extended pressure space \(\mathbb {P}^m_\mathrm{XFEM}\) instead.

Let \(\mathbb {U}^m_0 := \{ {\underline{U}} \in \mathbb {U}^m : (\nabla \,\cdot \,{\underline{U}}, \varphi ) = 0 \ \ \forall \ \varphi \in \mathbb {P}^m_\mathrm{XFEM} \}\). Then any solution \(({\underline{U}}^{m+1}, P^{m+1}, {\underline{X}}^{m+1}, \kappa ^{m+1}) \in \mathbb {U}^m\times {\widehat{\mathbb {P}}}^m_\mathrm{XFEM} \times {V}(\varGamma ^m)\times W(\varGamma ^m)\) to (4.6a–d), (4.17) is such that \(({\underline{U}}^{m+1}, {\underline{X}}^{m+1}, \kappa ^{m+1}) \in \mathbb {U}^m_0\times {V}(\varGamma ^m)\times W(\varGamma ^m)\) satisfies

$$\begin{aligned}&\tfrac{1}{2} \left( \frac{\rho ^m\,{\underline{U}}^{m+1} - (I^m_0\,\rho ^{m-1}) \,{\underline{I}}^m_2\,{\underline{U}}^m}{\tau } +(I^m_0\,\rho ^{m-1}) \,\frac{{\underline{U}}^{m+1}- {\underline{I}}^m_2\,{\underline{U}}^m}{\tau }, {\underline{\xi }}\right) \nonumber \\&\quad + 2\left( \mu ^m\,{\underline{{\underline{D}}}}({\underline{U}}^{m+1}), {\underline{{\underline{D}}}}({\underline{\xi }}) \right) + \tfrac{1}{2}\left( \rho ^m, [({\underline{I}}^m_2\,{\underline{U}}^m\,\cdot \,\nabla )\,{\underline{U}}^{m+1}]\,\cdot \,{\underline{\xi }}- [({\underline{I}}^m_2\,{\underline{U}}^m\,\cdot \,\nabla )\,{\underline{\xi }}]\,\cdot \,{\underline{U}}^{m+1} \right) \nonumber \\&\quad + \beta \left\langle {\underline{U}}^{m+1}, {\underline{\xi }}\right\rangle _{\partial _2\varOmega , {\underline{\mathrm{t}}}} - \gamma \,\left\langle \kappa ^{m+1}\,{\underline{\nu }}^m, {\underline{\xi }}\right\rangle _{\varGamma ^m} = \left( \rho ^m\,{\underline{f}}^{m+1}_1 + {\underline{f}}^{m+1}_2, {\underline{\xi }}\right) \quad \forall \ {\underline{\xi }}\in \mathbb {U}^m_0, \end{aligned}$$
(4.20a)
$$\begin{aligned}&\left\langle \frac{{\underline{X}}^{m+1} - {\underline{X}}^m}{\tau }, \chi \,{\underline{\nu }}^m \right\rangle _{\varGamma ^m}^h - \left\langle {\underline{U}}^{m+1}, \chi \,{\underline{\nu }}^m \right\rangle _{\varGamma ^m} = 0 \quad \forall \ \chi \in W(\varGamma ^m), \end{aligned}$$
(4.20b)
$$\begin{aligned}&\left\langle \kappa ^{m+1}\,{\underline{\nu }}^m, {\underline{\eta }}\right\rangle _{\varGamma ^m}^h + \left\langle \nabla _{\!s}\,{\underline{X}}^{m+1}, \nabla _{\!s}\,{\underline{\eta }}\right\rangle _{\varGamma ^m} = 0 \quad \forall \ {\underline{\eta }}\in {V}(\varGamma ^m). \end{aligned}$$
(4.20c)

Theorem 4.3

Let the assumption (\(\fancyscript{A}\)) hold. Then there exists a unique solution \(({\underline{U}}^{m+1}, {\underline{X}}^{m+1}, \kappa ^{m+1}) \in \mathbb {U}^m_0\times {V}(\varGamma ^m)\times W(\varGamma ^m)\) to (4.20a–c). Moreover, the solution satisfies the stability bound (4.7).

Proof

As \(\mathbb {U}^m_0\) is a subspace of \(\mathbb {U}^m\), existence to the linear system (4.20a–c) follows from uniqueness, which is easy to show. In fact, similarly to the proof of Theorem 4.1 we obtain (4.9) and hence the desired uniqueness result. The stability result follows analogously.

Of course, as a natural generalization of [10, Lemma 5] it is possible to prove that in the absence of external forces, the approximation (4.20a–c) is able to recover discrete stationary solutions exactly. In particular, if \({\underline{U}}^0 = {\underline{0}}\), and if \(\varGamma ^0\) is a polyhedral surface with constant discrete mean curvature \(\overline{\kappa } \in {\mathbb {R}}\), then \(({\underline{U}}^{1}, {\underline{X}}^{1}, \kappa ^{1}) = ({\underline{0}}, {\underline{X}}^0, \overline{\kappa })\in \mathbb {U}^0_0\times {V}(\varGamma ^0)\times W(\varGamma ^0)\) is the unique solution to (4.20a–c) for \(m=0\), with \({\underline{f}}^{1}_1 = {\underline{f}}^1_2 = {\underline{0}}\). See also [10, Remark 6] for more details.

4.2 Alternative Curvature Treatment

There is an alternative way to approximate the curvature vector \(\varkappa \,{\underline{\nu }}\) in (1.1). In contrast to the strategy employed in (4.6a–d), where \(\varkappa \) and \({\underline{\nu }}\) are discretized separately, it is also possible to discretize \({\underline{\varkappa }}:= \varkappa \,{\underline{\nu }}\) directly, as proposed in the seminal paper [18]. We then obtain the following finite element approximation. For \(m=0\rightarrow M-1\), find \({\underline{U}}^{m+1} \in \mathbb {U}^m,\,P^{m+1} \in {\widehat{\mathbb {P}}}^m,\,{\underline{X}}^{m+1}\in {V}(\varGamma ^m)\) and \({\underline{\kappa }}^{m+1} \in {V}(\varGamma ^m)\) such that

$$\begin{aligned}&\tfrac{1}{2} \left( \frac{\rho ^m\,{\underline{U}}^{m+1} - (I^m_0\,\rho ^{m-1}) \,{\underline{I}}^m_2\,{\underline{U}}^m}{\tau } +(I^m_0\,\rho ^{m-1}) \,\frac{{\underline{U}}^{m+1}- {\underline{I}}^m_2\,{\underline{U}}^m}{\tau }, {\underline{\xi }}\right) \nonumber \\&\quad + 2\left( \mu ^m\,{\underline{{\underline{D}}}}({\underline{U}}^{m+1}), {\underline{{\underline{D}}}}({\underline{\xi }}) \right) + \tfrac{1}{2}\left( \rho ^m, [({\underline{I}}^m_2\,{\underline{U}}^m\,\cdot \,\nabla )\,{\underline{U}}^{m+1}]\,\cdot \,{\underline{\xi }}- [({\underline{I}}^m_2\,{\underline{U}}^m\,\cdot \,\nabla )\,{\underline{\xi }}]\,\cdot \,{\underline{U}}^{m+1} \right) \nonumber \\&\qquad - \left( P^{m+1}, \nabla \,\cdot \,{\underline{\xi }}\right) + \beta \left\langle {\underline{U}}^{m+1}, {\underline{\xi }}\right\rangle _{\partial _2\varOmega , {\underline{\mathrm{t}}}} - \gamma \,\left\langle {\underline{\kappa }}^{m+1}, {\underline{\xi }}\right\rangle _{\varGamma ^m} \nonumber \\&\quad = \left( \rho ^m\,{\underline{f}}^{m+1}_1 + {\underline{f}}^{m+1}_2, {\underline{\xi }}\right) \quad \forall \ {\underline{\xi }}\in \mathbb {U}^m, \end{aligned}$$
(4.21a)
$$\begin{aligned}&\left( \nabla \,\cdot \,{\underline{U}}^{m+1}, \varphi \right) = 0 \quad \forall \ \varphi \in {\widehat{\mathbb {P}}}^m, \end{aligned}$$
(4.21b)
$$\begin{aligned}&\left\langle \frac{{\underline{X}}^{m+1} - {\underline{X}}^m}{\tau }, {\underline{\chi }}\right\rangle _{\varGamma ^m}^h - \left\langle {\underline{U}}^{m+1}, {\underline{\chi }}\right\rangle _{\varGamma ^m} = 0 \quad \forall \ {\underline{\chi }}\in {V}(\varGamma ^m), \end{aligned}$$
(4.21c)
$$\begin{aligned}&\left\langle {\underline{\kappa }}^{m+1}, {\underline{\eta }}\right\rangle _{\varGamma ^m}^h + \left\langle \nabla _{\!s}\,{\underline{X}}^{m+1}, \nabla _{\!s}\,{\underline{\eta }}\right\rangle _{\varGamma ^m} = 0 \quad \forall \ {\underline{\eta }}\in {V}(\varGamma ^m) \end{aligned}$$
(4.21d)

and set \(\varGamma ^{m+1} = {\underline{X}}^{m+1}(\varGamma ^m)\). A highly nonlinear discretization based on (4.21a–d) has first been proposed by Bänsch [5] for one-phase flow with a free capillary surface in the very special situation that \({\underline{\xi }}\!\mid _{\varGamma ^m} \in {V}(\varGamma ^m)\) for all \({\underline{\xi }}\in \mathbb {U}^m\), which in general cannot be satisfied for the unfitted approach. It is not difficult to extend the results from Theorem 4.1 to the linear scheme (4.21a–d). However, the crucial difference between (4.21a–d) and (4.6a–d) is that in (4.21c) the tangential velocity of the discrete interface is fixed by \({\underline{U}}^{m+1}\), and this has two consequences. Firstly, there is no guarantee that the mesh quality of \(\varGamma ^m\) will be preserved. In fact, as mentioned in the Introduction, typically the mesh will deteriorate over time. And secondly, even for the case that \(\mathrm {\fancyscript{X}}_{\varOmega _-^m} \in \mathbb {P}^m\), it is not possible to prove (4.18) for (4.21a–d), as \({\underline{\chi }}= {\underline{\nu }}^m\) is not a valid test function in (4.21c), and so true volume conservation in the semidiscrete setting, recall (4.16), cannot be shown. It is for these reasons that we prefer to use (4.6a–d).

4.3 The Fitted Mesh Approach

Although in deriving the finite element approximation (4.6a–d) we have assumed an unfitted bulk mesh triangulation \(\fancyscript{T}^m\) that is independent of \(\varGamma ^m\), the approximation (4.6a–d) can also be employed for a fitted bulk mesh. In particular, it is possible to use (4.6a–d) for a moving fitted mesh approach, where for \(m = 0,\ldots , M-1\) it holds that

$$\begin{aligned} \varGamma ^m \subset \bigcup _{o^m \in \fancyscript{T}^m} \partial o^m. \end{aligned}$$
(4.22)

Here the solution \({\underline{X}}^{m+1}\) to (4.6a–d) defines the position of \(\varGamma ^{m+1}\), as usual, but now a new bulk mesh \(\fancyscript{T}^{m+1}\) needs to be obtained by fitting it to \(\varGamma ^{m+1}\).

The main advantages of the fitted mesh approach (4.22) over the unfitted approach are that (a) with the elements (4.2b, c) the discontinuity in the pressure at \(\varGamma ^m\) can be resolved and that (b) the inner products \(\langle \cdot , \cdot \rangle _{\varGamma ^m}\) in (4.6a, c) now only involve integration over edges/faces of bulk elements \(o^m \in \fancyscript{T}^m\), which is standard. A further consequence of (a) is that for the elements (4.2b, c) it automatically holds that \(\varphi = \mathrm {\fancyscript{X}}_{\varOmega _-^m} - \frac{\fancyscript{L}^d(\varOmega _-^m)}{\fancyscript{L}^d(\varOmega )}\) is an admissible test function in (4.6b), which yields (4.18), and so approximate volume conservation on the fully discrete level. An additional advantages of the fitted mesh approach is that, since \(\fancyscript{T}^m_{\varGamma ^m} = \emptyset \), it holds that (4.5a, b) reduce to \(\rho ^m = \rho _-\,\mathrm {\fancyscript{X}}_{\varOmega ^m_-} + \rho _+\,(1-\mathrm {\fancyscript{X}}_{\varOmega ^m_-})\) and \(\mu ^m = \mu _-\,\mathrm {\fancyscript{X}}_{\varOmega ^m_-} + \mu _+\,(1-\mathrm {\fancyscript{X}}_{\varOmega ^m_-})\).

We stress that the fitted mesh approach (4.22) for (4.6a–d) would also satisfy the stability result (4.7). However, due to the nature of the moving bulk mesh, the assumptions of Theorem 4.2, for \(\rho _\pm \not =0\), in general do not hold, and so the stability result (4.11) need not hold over several time steps. Another disadvantage of the fitted mesh approach is that at every time step, due to the fact that the underlying bulk mesh changes globally, the obtained velocity solution \({\underline{U}}^{m+1} \in \mathbb {U}^m\) needs to be appropriately interpolated on the new mesh \(\fancyscript{T}^{m+1}\). These interpolation errors may significantly impact on the accuracy of the approximation.

A variant of the method described above, which avoids the repeated interpolation onto a new finite element bulk mesh, is the so-called Arbitrary Lagrangian Eulerian (ALE) approach, see [30]. Here a prescribed flow drives the movement of the bulk mesh vertices, and this prescribed flow needs to be accounted for in the approximation of the momentum equation. This means that at present it does not appear possible to prove a stability result similar to Theorem 4.2 for the ALE approach. On the other hand, the fact that the movement of the bulk mesh is incorporated in the finite element approximation means that an interpolation of finite element data after every time step is not needed. The prescribed bulk mesh flow is usually chosen in a way to obtain a good quality bulk mesh. However, in practice the ALE moving mesh approach may fail if the approximated phases change their shape dramatically, as was reported in e.g. [31] for the two-dimensional test case 2 there. In higher space dimensions such pathological mesh defects are more frequent, which poses a significant computational challenge. For further details on the ALE approach for two-phase Navier–Stokes flow we refer to [21, 23].

In this paper we will focus on the general unfitted mesh approach, similarly to our previous work for Stefan problems in [9, 11]. An investigation of the possible benefits of fitted mesh approaches for (4.6a–d), and in particular of ALE methods, is left for future research.

5 Solution of the Discrete System

As is standard practice for the solution of linear systems arising from discretizations of Stokes and Navier–Stokes equations, we avoid the complications of the constrained pressure space \({\widehat{\mathbb {P}}}^m\) in practice by considering an overdetermined linear system with \(\mathbb {P}^m\) instead. Introducing the obvious abuse of notation, the linear system (4.6a–d), with \({\widehat{\mathbb {P}}}^m\) replaced by \(\mathbb {P}^m\), can be formulated as: Find \(({\underline{U}}^{m+1},P^{m+1}, \kappa ^{m+1},\delta {\underline{X}}^{m+1})\), where \({\underline{X}}^{m+1} = {\underline{X}}^m + \delta {\underline{X}}^{m+1}\), such that

$$\begin{aligned} \begin{pmatrix} {\underline{B}}_\varOmega &{} {\underline{C}}_\varOmega &{} -\gamma \,{\underline{N}}_{\varGamma ,\varOmega }&{} 0 \\ {\underline{C}}^T_\varOmega &{} 0 &{} 0 &{} 0 \\ {\underline{N}}_{\varGamma ,\varOmega }^T&{} 0 &{} 0 &{} -\frac{1}{\tau }\,{\underline{N}}_\varGamma ^T \\ 0 &{} 0 &{} {\underline{N}}_\varGamma &{} {\underline{A}}_\varGamma \end{pmatrix} \begin{pmatrix} {\underline{U}}^{m+1} \\ P^{m+1} \\ \kappa ^{m+1} \\ \delta {\underline{X}}^{m+1} \end{pmatrix} = \begin{pmatrix} {\underline{g}} \\ 0 \\ 0 \\ -{\underline{A}}_\varGamma \,{\underline{X}}^{m} \end{pmatrix}, \end{aligned}$$
(5.1a)

where \(({\underline{U}}^{m+1},P^{m+1},\kappa ^{m+1},\delta {\underline{X}}^{m+1})\in ({\mathbb {R}}^d)^{K^m_\mathbb {U}}\times {\mathbb {R}}^{K^m_\mathbb {P}} \times {\mathbb {R}}^{K^m_\varGamma }\,\times ({\mathbb {R}}^d)^{K^m_\varGamma }\) here denote the coefficients of these finite element functions with respect to the standard bases of \(\mathbb {U}^m,\,\mathbb {P}^m,\,W(\varGamma ^m)\) and \({V}(\varGamma ^m)\), respectively. The definitions of the matrices and vectors in (5.1a) directly follow from (4.6a–d), but we state them here for completeness. Let \(i,\,j = 1,\ldots , K_\mathbb {U}^m,\,n,q = 1,\ldots , K_\mathbb {P}^m\) and \(k,l = 1,\ldots , K^m_\varGamma \). Then

$$\begin{aligned}&[{\underline{B}}_\varOmega ]_{ij} := \left( \tfrac{\rho ^m+I^m_0\,\rho ^{m-1}}{2\,\tau }\, \phi _j^{\mathbb {U}^m}, \phi _i^{\mathbb {U}^m} \right) \,{\underline{{\underline{I\!d}}}}+ 2\left( \left( \mu ^m\,{\underline{{\underline{D}}}}(\phi _j^{\mathbb {U}^m} {\underline{e}}_r), {\underline{{\underline{D}}}}( \phi _i^{\mathbb {U}^m}\,{\underline{e}}_s) \right) \right) _{r,s=1}^d \nonumber \\&\qquad \qquad \quad + \tfrac{1}{2}\left( \rho ^m, [({\underline{I}}^m_2\,{\underline{U}}^m\,\cdot \,\nabla )\,\phi _j^{\mathbb {U}^m} ]\,\phi _i^{\mathbb {U}^m} - [({\underline{I}}^m_2\,{\underline{U}}^m\,\cdot \,\nabla )\,\phi _i^{\mathbb {U}^m}] \,\phi _j^{\mathbb {U}^m} \right) \,{\underline{{\underline{I\!d}}}}, \nonumber \\&[{\underline{C}}_\varOmega ]_{iq} := - \left( \left( \nabla \,\cdot \,(\phi _i^{\mathbb {U}^m}\,{\underline{e}}_r), \phi _q^{\mathbb {P}^m} \right) \right) _{r=1}^d,\quad [{\underline{N}}_{\varGamma ,\varOmega }]_{il} := \left\langle \phi _i^{\mathbb {U}^m}, \chi ^m_l \,{\underline{\nu }}^m \right\rangle _{\varGamma ^m} , \nonumber \\&[{\underline{N}}_\varGamma ]_{kl} := \left\langle \chi ^m_l, \chi ^m_k\,{\underline{\nu }}^m \right\rangle _{\varGamma ^m}^h, \quad [{\underline{A}}_\varGamma ]_{kl} := \left\langle \nabla _{\!s}\,\chi ^m_l, \nabla _{\!s}\,\chi ^m_k \right\rangle _{\varGamma ^m} \,{\underline{{\underline{I\!d}}}}, \nonumber \\&{\underline{g}}_i = \left( \tfrac{I^m_0\,\rho ^{m-1}}{\tau }\,{\underline{I}}^m_2\,{\underline{U}}^m + \rho ^m\,{\underline{f}}^{m+1}_1 + {\underline{f}}^{m+1}_2, \phi _i^{\mathbb {U}^m}\right) \,; \end{aligned}$$
(5.1b)

where we recall that \(\{{\underline{e}}_r\}_{r=1}^d\) denotes the standard basis in \({\mathbb {R}}^d\) and where we have used the convention that the subscripts in the matrix notations refer to the test and trial domains, respectively. A single subscript is used where the two domains are the same.

For the the solution of (5.1a) we employ a Schur complement approach that eliminates \((\kappa ^{m+1}, \delta {\underline{X}}^{m+1})\) from (5.1a), and then use an iterative solver for the remaining system in \(({\underline{U}}^{m+1}, P^{m+1})\). This approach has the advantage that for the reduced system well-known solution methods for finite element discretizations for the standard Navier–Stokes equations may be employed. E.g. the authors in [19], for the reduced system matrix \(\begin{pmatrix} {\underline{B}}_\varOmega &{} {\underline{C}}_\varOmega \\ {\underline{C}}^T_\varOmega &{} 0 \end{pmatrix}\) recommend a GMRES iterative solver with the preconditioner

$$\begin{aligned} \fancyscript{P} = \begin{pmatrix} {\underline{\fancyscript{P}}}_{{\underline{B}}} &{} {\underline{C}}_\varOmega \\ 0 &{} -\fancyscript{P}_S \end{pmatrix} \end{aligned}$$
(5.2)

where \({\underline{\fancyscript{P}}}_{{\underline{B}}}\) is some preconditioner for the matrix \({\underline{B}}_\varOmega \), and \(\fancyscript{P}_S\) acts as a preconditioner for the Schur complement operator \(S={\underline{C}}^T_\varOmega \,{\underline{B}}_\varOmega ^{-1}\,{\underline{C}}_\varOmega \). An application of the preconditioner (5.2) amounts to solving the system \(\fancyscript{P}\,( {\underline{U}}, P)^T = ({\underline{v}}, q )^T\), i.e. \(\fancyscript{P}_S\,P = -q\) and \({\underline{\fancyscript{P}}}_{{\underline{B}}}\,{\underline{U}} = {\underline{v}} - {\underline{C}}_\varOmega \,P\). As the initial guess for the iterative solver the authors in [19] recommend \(({\underline{B}}_\varOmega ^{-1}\,({\underline{g}} - {\underline{C}}_\varOmega \,P^{(0)}),\,P^{(0)})\), or an approximation thereof, where \(P^{(0)}\) is the initial guess for the solution of the pressure approximation. It remains to discuss the choices of \({\underline{\fancyscript{P}}}_{{\underline{B}}}\) and \(\fancyscript{P}_S\). The optimal choice for \({\underline{\fancyscript{P}}}_{{\underline{B}}}\) is \({\underline{\fancyscript{P}}}_{{\underline{B}}} = {\underline{B}}_\varOmega \). When that is not practical this can be replaced with a suitable multigrid or Krylov solver approximation. In the case \(\rho _+ = \rho _- = 0\), a good choice for \(\fancyscript{P}_S\) is \(\fancyscript{P}_S = M_\mu \), where \([M_\mu ]_{nq} = ((\mu ^m)^{-1}\,\phi _q^{\mathbb {P}^m}, \phi _n^{\mathbb {P}^m}),\,n,q = 1 ,\ldots , K_\mathbb {P}^m\); see e.g. [37]. For the general Navier–Stokes equation, the following \(BFBt\) preconditioner works better. Here

$$\begin{aligned} \fancyscript{P}_S^{-1} = ({\underline{C}}_\varOmega ^T\,{\underline{M}}_{u,1}^{-1}\,{\underline{C}}_\varOmega )^{-1} {\underline{C}}_\varOmega ^T\,{\underline{M}}_{u,1}^{-1}\,{\underline{B}}_\varOmega \,{\underline{M}}_{u,1}^{-1}\, {\underline{C}}_\varOmega \,({\underline{C}}_\varOmega ^T\,{\underline{M}}_{u,1}^{-1}\,{\underline{C}}_\varOmega )^{-1}, \end{aligned}$$
(5.3a)

where \({\underline{M}}_{u,1} = \mathrm{diag }({\underline{M}}_{u})\) is the diagonal part of the mass matrix for the velocity space \(\mathbb {U}^m\), and, for later purposes similarly \(M_{p,1} = \mathrm{diag }(M_{p})\), i.e. \([{\underline{M}}_u]_{ij} = (\phi _j^{\mathbb {U}^m}, \phi _i^{\mathbb {U}^m}) {\underline{{\underline{I\!d}}}},\,i,j = 1,\ldots , K_\mathbb {U}^m\), and \([M_p]_{nq} = (\phi _q^{\mathbb {P}^m}, \phi _n^{\mathbb {P}^m}),\,n,q = 1,\ldots , K_\mathbb {P}^m\); see e.g. [19, 26] for more details. Here we note that the rank deficiency of \({\underline{C}}_\varOmega \) means that e.g. \({\underline{C}}_\varOmega ^T\,{\underline{M}}_{u,1}^{-1}\,{\underline{C}}_\varOmega \) is singular, with kernel \(\{ \underline{1} \},\,\underline{1} = (1,\ldots ,1)^T \in {\mathbb {R}}^{K^m_\mathbb {P}}\). But restricted to the subspace \(\{ \underline{1} \}^\perp ,\,{\underline{C}}_\varOmega ^T\,{\underline{M}}_{u,1}^{-1}\,{\underline{C}}_\varOmega \) is a positive definite matrix with range \(\{ \underline{1} \}^\perp \). Computing \(({\underline{C}}_\varOmega ^T\,{\underline{M}}_{u,1}^{-1}\,{\underline{C}}_\varOmega )^{-1}\) with a preconditioned conjugate gradient (pCG) solver can then be rigorously justified, e.g. for a right-oriented preconditioning of GMRES with (5.3a). We refer to [19, Sect. 8.3.4] for more details. However, in practice it turns out that the inner pCG iteration for the computations of \(({\underline{C}}_\varOmega ^T\,{\underline{M}}_{u,1}^{-1}\,{\underline{C}}_\varOmega )^{-1}\) in (5.3a) is much more stable if the projections \(P_1 := I\!d- \frac{\underline{1}\,\underline{1}^T}{\underline{1}^T\,\underline{1}}\) are included explicitly. In particular, in the case that \({\underline{C}}_\varOmega \) does not have full rank, we implement (5.3a) as

$$\begin{aligned} \fancyscript{P}_S^{-1}&= P_1\,\left( P_1\,{\underline{C}}_\varOmega ^T\,{\underline{M}}_{u,1}^{-1}\,{\underline{C}}_\varOmega \,P_1\right) ^{-1}\,P_1\, {\underline{C}}_\varOmega ^T\,{\underline{M}}_{u,1}^{-1}\,{\underline{B}}_\varOmega \,{\underline{M}}_{u,1}^{-1}\, {\underline{C}}_\varOmega \, P_1\nonumber \\&\times \left( P_1\,{\underline{C}}_\varOmega ^T\,{\underline{M}}_{u,1}^{-1}\,{\underline{C}}_\varOmega \,P_1\right) ^{-1}\,P_1. \end{aligned}$$
(5.3b)

The desired Schur complement approach for eliminating \((\kappa ^{m+1},\delta {\underline{X}}^{m+1})\) from (5.1a) can be obtained as follows. Let

$$\begin{aligned} \varXi _\varGamma := \begin{pmatrix} 0 &{} - \frac{1}{\tau }\,{\underline{N}}_\varGamma ^T \\ {\underline{N}}_\varGamma &{} {\underline{A}}_\varGamma \end{pmatrix}. \end{aligned}$$

It is a simple matter to adapt the argument in the proof of Theorem 4.1 in order to show that the matrix \(\varXi _\varGamma \) is nonsingular. Then (5.1a) can be reduced to

$$\begin{aligned} \begin{pmatrix} {\underline{B}}_\varOmega + \gamma \,({\underline{N}}_{\varGamma ,\varOmega }\ 0)\,\varXi _\varGamma ^{-1}\, \left( {\begin{array}{c}{\underline{N}}_{\varGamma ,\varOmega }^T\\ 0\end{array}}\right) &{} {\underline{C}}_\varOmega \\ {\underline{C}}_\varOmega ^T &{} 0 \end{pmatrix} \begin{pmatrix} {\underline{U}}^{m+1} \\ P^{m+1} \end{pmatrix} = \begin{pmatrix} {\underline{g}} -\gamma \,({\underline{N}}_{\varGamma ,\varOmega }\ 0)\, \varXi _\varGamma ^{-1}\, \left( {\begin{array}{c}0\\ {\underline{A}}_\varGamma \,{\underline{X}}^{m}\end{array}}\right) \\ 0 \end{pmatrix} \end{aligned}$$
(5.4a)

and

$$\begin{aligned} \left( {\begin{array}{c}\kappa ^{m+1}\\ \delta {\underline{X}}^{m+1}\end{array}}\right) = \varXi _\varGamma ^{-1}\, \left( {\begin{array}{c}-{\underline{N}}_{\varGamma ,\varOmega }^T\,{\underline{U}}^{m+1}\\ -{\underline{A}}_\varGamma \,{\underline{X}}^{m}\end{array}}\right) . \end{aligned}$$
(5.4b)

In practice we solve (5.4a) with a preconditioned BiCGSTAB iteration, with the preconditioner (5.2). For \({\underline{\fancyscript{P}}}_{{\underline{B}}}\) we choose \({\underline{B}}_\varOmega \) in the case \(d=2\), and 20 SSOR iteration steps for \({\underline{B}}_\varOmega \) in the case \(d=3\), and for \(\fancyscript{P}_{S}\) we use (5.3b). Here we replace \({\underline{B}}_\varOmega \) in (5.3b) with \({\underline{B}}_\varOmega + \gamma \,({\underline{N}}_{\varGamma ,\varOmega }\ 0)\,\varXi _\varGamma ^{-1}\,\left( {\begin{array}{c}{\underline{N}}_{\varGamma ,\varOmega }^T\\ 0\end{array}}\right) \).

5.1 Solution of the Linear System for \(\hbox {XFEM}_{\varGamma }\)

The linear system for the approximation from Theorem 4.3 in Sect. 4.1 is given by (5.1a, b) with \(K^m_\mathbb {P}\) replaced by \(K^m_\mathbb {P}+1\). However, in order to highlight the changes needed for the implementation of our \(\hbox {XFEM}_{\varGamma }\) method, we use an alternative formulation here that builds on the matrix definitions as in (5.1a, b).

The linear system for (4.6a–d) with \(\mathbb {P}^m\) replaced by \(\mathbb {P}^m_\mathrm{XFEM}\) can be formulated as: Find \(({\underline{U}}^{m+1},P^{m+1},\lambda ^{m+1}, \kappa ^{m+1},\delta {\underline{X}}^{m+1})\), where \({\underline{X}}^{m+1} = {\underline{X}}^m + \delta {\underline{X}}^{m+1}\), such that

$$\begin{aligned} \begin{pmatrix} {\underline{B}}_\varOmega &{} {\underline{C}}_\varOmega &{} {\underline{D}}_\varOmega &{} -\gamma \,{\underline{N}}_{\varGamma ,\varOmega }&{} 0 \\ {\underline{C}}^T_\varOmega &{} 0 &{} 0 &{} 0 &{} 0 \\ {\underline{D}}^T_\varOmega &{} 0 &{} 0 &{} 0 &{} 0 \\ {\underline{N}}_{\varGamma ,\varOmega }^T&{} 0 &{} 0 &{} 0 &{} -\frac{1}{\tau }\,{\underline{N}}_\varGamma ^T \\ 0 &{} 0 &{} 0 &{} {\underline{N}}_\varGamma &{} {\underline{A}}_\varGamma \end{pmatrix} \begin{pmatrix} {\underline{U}}^{m+1} \\ P^{m+1} \\ \lambda ^{m+1} \\ \kappa ^{m+1} \\ \delta {\underline{X}}^{m+1} \end{pmatrix} = \begin{pmatrix} {\underline{g}} \\ 0 \\ 0 \\ 0 \\ -{\underline{A}}_\varGamma \,{\underline{X}}^{m} \end{pmatrix}, \end{aligned}$$
(5.5)

where \(({\underline{U}}^{m+1},P^{m+1},\lambda ^{m+1},\kappa ^{m+1},\delta {\underline{X}}^{m+1})\in ({\mathbb {R}}^d)^{K^m_\mathbb {U}}\times {\mathbb {R}}^{K^m_\mathbb {P}} \times {\mathbb {R}}\times {\mathbb {R}}^{K^m_\varGamma }\,\times ({\mathbb {R}}^d)^{K^m_\varGamma }\). Here all the matrices are as defined in (5.1b), and the entries of \({\underline{D}}_\varOmega \), for \(i = 1,\ldots , K_\mathbb {U}^m\), are given by \([{\underline{D}}_\varOmega ]_{i,1} := - \langle \phi _i^{\mathbb {U}^m}, {\underline{\nu }}^m \rangle _{\varGamma ^m}\). As before, the system (5.5) can be solved with a Schur complement formulation similarly to (5.4a, b), which is now given by

$$\begin{aligned} \begin{pmatrix} {\underline{B}}_\varOmega + \gamma \,({\underline{N}}_{\varGamma ,\varOmega }\ 0)\,\varXi _\varGamma ^{-1}\, \left( {\begin{array}{c}{\underline{N}}_{\varGamma ,\varOmega }^T\\ 0\end{array}}\right) &{} {\underline{C}}_\varOmega &{} {\underline{D}}_\varOmega \\ {\underline{C}}_\varOmega ^T &{} 0 &{} 0 \\ {\underline{D}}_\varOmega ^T &{} 0 &{} 0 \end{pmatrix} \begin{pmatrix} {\underline{U}}^{m+1} \\ P^{m+1} \\ \lambda ^{m+1} \end{pmatrix} = \begin{pmatrix} {\underline{g}} -\gamma \,({\underline{N}}_{\varGamma ,\varOmega }\ 0)\, \varXi _\varGamma ^{-1}\, \left( {\begin{array}{c}0\\ {\underline{A}}_\varGamma \,{\underline{X}}^{m}\end{array}}\right) \\ 0 \\ 0 \end{pmatrix} \end{aligned}$$

and (5.4b).

5.2 Assembly of Interface-Bulk Cross Terms

We note that the assembly of the matrices arising from (4.6a–d) is mostly standard. For the cross terms between bulk mesh and parametric mesh one needs to compute contributions of the form \(\langle \phi _i^{\mathbb {U}^m}, \chi ^m_j \rangle _{\varGamma ^m}\), where \(\{\phi _i^{\mathbb {U}^m}\}_{i=1}^{K_\mathbb {U}^m}\) and \(\{\chi _j^m\}_{j=1}^{K_\varGamma ^m}\) are the canonical basis functions of \(S^m_2\) and \(W(\varGamma ^m)\), respectively. We recall that in [9, Sect. 4.5] the calculation of such contributions has been considered when \(S^m_2\) is replaced by \(S^m_1\). We now extend these techniques to the space of piecewise quadratic functions \(S^m_2\). Firstly, we need to compute the intersections between bulk elements \(o^m_l\) and surface mesh elements \(\sigma ^m_j\). For notational convenience, we will drop the subscripts \(l\) and \(j\) in the remainder of this subsection.

In two space dimensions, i.e. \(d = 2\), the intersection of a segment \(\sigma ^m\) of the polygonal curve \(\varGamma ^m\) and a bulk mesh element \(o^m \in \fancyscript{T}^m\) is always given by a segment, say \(o^m \cap \sigma ^m = [{\underline{q}}_1, {\underline{q}}_2]\). Then the contribution over \([{\underline{q}}_1, {\underline{q}}_2]\) for \(\langle \phi _i^{\mathbb {U}^m}, \chi ^m_j \rangle _{\varGamma ^m}\) is

$$\begin{aligned} \langle \phi _i^{\mathbb {U}^m}, \chi ^m_j \rangle _{[{\underline{q}}_1, {\underline{q}}_2]}= |{\underline{q}}_1 - {\underline{q}}_2|\,\sum _{k=0}^2 \omega _k\, \phi _i^{\mathbb {U}^m}({\underline{q}}_k)\,\chi ^m_j({\underline{q}}_k), \end{aligned}$$
(5.6)

where \({\underline{q}}_0:=\frac{1}{2}\,\sum _{k=1}^2 {\underline{q}}_k\) and \(\omega _0=\frac{2}{3},\,\omega _1=\omega _2=\frac{1}{6}\) from Simpson’s rule.

The natural generalization of (5.6) to \(d=3\) is given as follows. Here the intersection of a triangular element \(\sigma ^m\) of the polyhedral surface \(\varGamma ^m\) with a bulk mesh element \(o^m\) is a convex \(l\)-polygon \(\fancyscript{P}\), with \(3\le l \le 7\). Some example intersections are given in [9, Fig. 4], and an algorithm to compute \(\fancyscript{P} = o^m \cap \sigma ^m\) is stated in [9, p. 6284]. Then the contribution over \(\fancyscript{P} \equiv \mathrm{conv }(\{{\underline{q}}_i\}_{i=1}^l)\) for \(\langle \phi _i^{\mathbb {U}^m}, \chi ^m_j \rangle _{\varGamma ^m}\) can be easy calculated by partitioning \(\fancyscript{P}\) into \(l\) triangles with the help of the centroid \({\underline{q}}_0:=\frac{1}{l}\,\sum _{k=1}^l {\underline{q}}_k\) of \(\fancyscript{P}\), see Fig. 2. In particular, let \({\underline{p}}_k:= \frac{1}{2}\,[{\underline{q}}_0 + {\underline{q}}_k]\) and \({\underline{p}}_{l+k} := \frac{1}{2}\,[{\underline{q}}_k + {\underline{q}}_{k+1}]\) for \(k=1,\ldots , l\), with \({\underline{q}}_{l+1} := {\underline{q}}_1\), denote the edge midpoints of those triangles, and let \({\underline{c}}_{k} := \frac{1}{3}\,[{\underline{q}}_0 + {\underline{q}}_{k} + {\underline{q}}_{k+1}]\), for \(k=1,\ldots , l\), denote their barycentres. Then the contribution over \(\fancyscript{P}\) for \(\langle \phi _i^{\mathbb {U}^m}, \chi ^m_j \rangle _{\varGamma ^m}\) is given by

$$\begin{aligned} \left\langle \phi _i^{\mathbb {U}^m}, \chi ^m_j \right\rangle _{\fancyscript{P}}&:= \sum _{k=0}^l \omega _k^{\fancyscript{P}}\,\phi _i^{\mathbb {U}^m}({\underline{q}}_k)\, \chi ^m_j({\underline{q}}_k) + \sum _{k=1}^{2\,l} \omega _{l+k}^{\fancyscript{P}}\,\phi _i^{\mathbb {U}^m}({\underline{p}}_k)\, \chi ^m_j({\underline{p}}_k) \nonumber \\&\quad + \sum _{k=1}^{l} \omega _{2\,l+k}^{\fancyscript{P}}\,\phi _i^{\mathbb {U}^m}({\underline{c}}_k)\, \chi ^m_j({\underline{c}}_k), \end{aligned}$$
(5.7)

where the weights \(\omega _k^{\fancyscript{P}}\) in (5.7) need to be defined such that the right hand side in (5.7) is equal to \(\int \nolimits _{\fancyscript{P}} \phi _i^{\mathbb {U}^m}\, \chi ^m_j \;\mathrm{d}{\fancyscript{H}}^{d-1}\). Clearly here it suffices to find a quadrature rule that is exact for cubics on \(\fancyscript{P}\). With the help of the above described partitioning of \(\fancyscript{P}\) into triangles this reduces to finding a quadrature rule that is exact for cubics on triangles. Here we employ a quadrature rule with sampling points at the vertices, at the edge midpoints and at the centroid of the triangles. The weights for the sampling points are then given by \(\frac{1}{20},\,\frac{2}{15}\) and \(\frac{9}{20}\), respectively; see e.g. [46].

Fig. 2
figure 2

Sketch of the partitioning of \(\fancyscript{P}\) into triangles (left), and the sampling points for (5.7) (right)

For the definitions of \(\rho ^m\) and \(\mu ^m\) in (4.5a, b) the disjoint partition \(\fancyscript{T}^m = \fancyscript{T}^m_- \cup \fancyscript{T}^m_+ \cup \fancyscript{T}^m_{\varGamma ^m}\) of bulk elements is needed, and this can easily be found with e.g. Algorithm 4.1 in [11]. For the strategy (4.5b) we need in addition a procedure to compute \(\fancyscript{L}^d(o^m \cap \varOmega ^m_-)\) for all elements \(o^m \in \fancyscript{T}^m_{\varGamma ^m}\). Let \(V:= o^m \cap \varOmega ^m_-\). Then the divergence theorem yields that

$$\begin{aligned} \fancyscript{L}^d(V) = \int \limits _V 1 \;\mathrm{d}{\fancyscript{L}}^{d} = \tfrac{1}{d}\,\int \limits _{\partial V} ({\underline{\mathrm{id}}}- {\underline{z}}_0)\,\cdot \,{\underline{\nu }}_V \;\mathrm{d}{\fancyscript{H}}^{d-1}, \end{aligned}$$
(5.8)

where \({\underline{\mathrm{id}}}\) is the identity function on \({\mathbb {R}}^d,\,{\underline{z}}_0 \in {\mathbb {R}}^d\) is an arbitrarily fixed point, and where \({\underline{\nu }}_V\) denotes the outer normal to \(V\). Here we note that \(\partial V\) is a union of flat facets with \({\underline{\nu }}_V = {\underline{\nu }}^m\) on \(o^m \cap \varGamma ^m\) and \({\underline{\nu }}_V = {\underline{\nu }}_{o^m}\), the outer normal of \(o^m\), on \(\partial o^m \cap \varOmega ^m_-\). Hence the integral in (5.8) simplifies on noting that \({\underline{\mathrm{id}}}\,\cdot \,{\underline{\nu }}_V\) is constant on each facet, and vanishes on each facet that contains \({\underline{z}}_0\). Now assume that \(o^m\) has an edge/face that is not intersected by \(\varGamma ^m\). Any such element we call regularly cut, and for the element \(o^m\) at hand we denote by \(F\) the edge/face that is not cut by the interface. Now let \({\underline{z}}_0\) be the vertex opposite \(F\). Then it follows from (5.8) that

$$\begin{aligned} \fancyscript{L}^d(V) = \tfrac{1}{d}\,\int \limits _{o^m \cap \varGamma ^m} ({\underline{\mathrm{id}}}- {\underline{z}}_0 )\,\cdot \,{\underline{\nu }}^m \;\mathrm{d}{\fancyscript{H}}^{d-1} \quad \text {if }{\underline{z}}_0 \in {\varOmega ^m_-}. \end{aligned}$$
(5.9a)

Similarly, it holds that

$$\begin{aligned} \fancyscript{L}^d(V)&= \tfrac{1}{d}\,\int \limits _{F} ({\underline{\mathrm{id}}}- {\underline{z}}_0 )\,\cdot \,{\underline{\nu }}_{o^m} \;\mathrm{d}{\fancyscript{H}}^{d-1} + \tfrac{1}{d}\,\int \limits _{o^m \cap \varGamma ^m} ({\underline{\mathrm{id}}}- {\underline{z}}_0 )\,\cdot \,{\underline{\nu }}^m \;\mathrm{d}{\fancyscript{H}}^{d-1} \nonumber \\&= \fancyscript{L}^d(o^m) + \tfrac{1}{d}\,\int \limits _{o^m \cap \varGamma ^m} ({\underline{\mathrm{id}}}- {\underline{z}}_0 )\,\cdot \,{\underline{\nu }}^m \;\mathrm{d}{\fancyscript{H}}^{d-1} \quad \text {if }{\underline{z}}_0 \in {\varOmega ^m_+}. \end{aligned}$$
(5.9b)

Hence it follows from (5.9a, b) that for regularly cut elements we can calculate \(\fancyscript{L}^d(V) = \fancyscript{L}^d(o^m \cap \varOmega ^m_-)\) if we can decide for each vertex of the bulk mesh whether it belongs to \({\varOmega ^m_-}\) or to \({\varOmega ^m_+}\). In practice this information can, for example, be obtained with the algorithm presented in [11, Algorithm 4.2]. On setting

$$\begin{aligned} \widetilde{\fancyscript{L}}^d(o^m \cap \varOmega ^m_-) = {\left\{ \begin{array}{ll} {\fancyscript{L}}^d(o^m \cap \varOmega ^m_-) &{} \text {if }o^m\text { is regularly cut}, \\ \frac{1}{2}\,\fancyscript{L}^d(o^m) &{} \text {else}, \end{array}\right. } \end{aligned}$$

it holds that

$$\begin{aligned} {\widehat{\fancyscript{L}}}^d(\varOmega ^m_-) := \sum _{o \in \fancyscript{T}^m_-} \fancyscript{L}^d(o) + \sum _{o \in \fancyscript{T}^m_{\varGamma ^m}} \widetilde{\fancyscript{L}}^d(o \cap \varOmega ^m_-) \end{aligned}$$
(5.10)

is an approximation to \(\fancyscript{L}^d(\varOmega ^m_-)\) that is exact if all the elements in \(\fancyscript{T}^m_{\varGamma ^m}\) are regularly cut. It remains to compute \({\fancyscript{L}}^d(o^m \cap \varOmega ^m_-)\) for all the elements in \(\fancyscript{T}^m_{\varGamma ^m}\) that are not regularly cut. Let \(o^m\) be such an element, and assume that \(o^m\) itself is partitioned into smaller elements. Then it is straightforward to extend the definition (5.10) to this partitioning of \(o^m\) to yield a definition for \({\widehat{\fancyscript{L}}}^d(o^m \cap \varOmega ^m_-)\), where an analogue of the decomposition \(\fancyscript{T}^m = \fancyscript{T}^m_- \cup \fancyscript{T}^m_+ \cup \fancyscript{T}^m_{\varGamma ^m}\) needs to be defined for the local partitioning of \(o^m\).

Hence in order to compute \({\fancyscript{L}}^d(o^m \cap \varOmega ^m_-)\) for a not regularly cut element it is sufficient to locally refine it until \({\widehat{\fancyscript{L}}}^d(o^m \cap \varOmega ^m_-) = {\fancyscript{L}}^d(o^m \cap \varOmega ^m_-)\). In practice we use an iterative bisectioning procedure, where we stress that the refined partitionings are only created for the purpose of computing the integral in (5.8). In particular, the refinements do not affect the approximation spaces \(\mathbb {U}^m\) and \(\mathbb {P}^m\). In order to avoid excessive refinement we stop the iterative bisectioning procedure of the not regularly cut elements whenever

$$\begin{aligned} \left| \fancyscript{L}^d(\varOmega ^m_-) - \sum _{o^m \in \fancyscript{T}^m_-} \fancyscript{L}^d(o^m) - \sum _{o^m \in \fancyscript{T}^m_{\varGamma ^m}} {\widehat{\fancyscript{L}}}^d(o^m \cap \varOmega ^m_-) \right| < \mathrm{tol}_V, \end{aligned}$$

where \(\mathrm{tol}_V\) is a small tolerance, and where we note that \(\fancyscript{L}^d(\varOmega ^m_-) = \tfrac{1}{d}\,\int \nolimits _{\varGamma ^m} {\underline{X}}^m \,\cdot \,{\underline{\nu }}^m \;\mathrm{d}{\fancyscript{H}}^{d-1}\) is known exactly. In practice we always use \(\mathrm{tol}_V = 10^{-8}\).

Finally, we mention that determining if \({\underline{z}}_0 \in \varOmega ^m_\pm \) in (5.9a, b) in practice is not very efficient. A better, and more robust, strategy makes use of the fact that \({\underline{z}}_0 \in \varOmega ^m_\pm \) in (5.9a, b) is equivalent to the integral in (5.9a) being negative/positive, i.e.

$$\begin{aligned} {\underline{z}}_0 \in \varOmega ^m_\pm \quad \iff \quad \mp \int \limits _{o^m \cap \varGamma ^m} ({\underline{\mathrm{id}}}- {\underline{z}}_0) \,\cdot \,{\underline{\nu }}^m \;\mathrm{d}{\fancyscript{H}}^{d-1} > 0. \end{aligned}$$

In practice it remains to robustly deal with the case that \(|\int \nolimits _{o^m \cap \varGamma ^m} ({\underline{\mathrm{id}}}- {\underline{z}}_0) \,\cdot \,{\underline{\nu }}^m \;\mathrm{d}{\fancyscript{H}}^{d-1}|\) is very small, which means that numerical noise may influence the sign of the integral. But in the vast majority of the cases, the smallness (in magnitude) of the integral will be caused by \(\fancyscript{H}^{d-1}(o^m \cap \varGamma ^m)\) being small, because \(F\), the edge/face opposite \({\underline{z}}_0\), is not cut by \(\varGamma ^m\). Then the sign of the integral can in general be robustly detected by inspecting the sign of the (piecewise constant) integrand \(({\underline{\mathrm{id}}}- {\underline{z}}_0) \,\cdot \,{\underline{\nu }}^m\). In all instances where the sign of \(\int \nolimits _{o^m \cap \varGamma ^m} ({\underline{\mathrm{id}}}- {\underline{z}}_0) \,\cdot \,{\underline{\nu }}^m \;\mathrm{d}{\fancyscript{H}}^{d-1}\) cannot be robustly ascertained in practice, it is prudent to treat the element \(o^m\) as if it is a not regularly cut element, and to proceed as outlined above. This is the strategy that we use in all our computations for (4.5b). This works well for \(d=2\), mainly because not regularly cut elements are very rarely encountered. Unfortunately, this is different for \(d=3\), where not regularly cut elements are far more generic. This may have to do with the fact that for \(d=3\) it is possible for a single element \(\sigma ^m\) of \(\varGamma ^m\) to intersect all \(d+1\) faces of a bulk element \(o^m\), something that is not possible for \(d=2\); see the last two examples in [9, Fig. 4]. Unfortunately, this means that (4.5b) at this stage is not practical for \(d=3\).

6 Mesh Adaptation

We implemented our finite element approximation (4.6a–d) within the framework of the finite element toolbox ALBERTA, see [44]. In what follows we describe the mesh refinement strategies used for both bulk and interface mesh. These are similar to the approach described in [9].

6.1 Bulk Mesh Adaptation

Given a polyhedral approximation \(\varGamma ^m,\,m\ge 0\), of the interface, we employ the following mesh adaptation strategy for the bulk mesh triangulation \(\fancyscript{T}^m\). The strategy is inspired by a similar refinement algorithm proposed in [9], and it results in a fine mesh around \(\varGamma ^m\) and a coarse mesh further away from it.

In particular, given two integer parameters \(N_f > N_c\), we set \(h_{f} = \frac{2\,H}{N_{f}},\,h_{c} = \frac{2\,H}{N_{c}}\), where for simplicity we assume that \(\varOmega = \times _{i=1}^d (L_i,U_i)\) with \(H = \frac{1}{2}\,\min _{i=1,\ldots , d} (U_i - L_i)\). Then we set

$$\begin{aligned} vol_{f} = \frac{h_{f}^{d}}{d!} \quad \text{ and } \quad vol_{c} = \frac{h_{c}^{d}}{d!}, \end{aligned}$$
(6.1)

that is, for \(d=3,\,vol_f\) denotes the volume of a tetrahedron with three right-angled and isosceles faces with side length \(h_{f}\), while for \(d=2\) it denotes the area of a right-angled and isosceles triangle with side length \(h_f\), and similarly for \(vol_c\).

Now starting with the triangulation \(\fancyscript{T}^{m-1}\) from the previous time step, where here for convenience we define \(\fancyscript{T}^{-1}\) to be a uniform partitioning of mesh size \(h_c\), we obtain \(\fancyscript{T}^m\) as follows. First any element \(o^{m-1} \in \fancyscript{T}^{m-1}\) satisfying \(\fancyscript{L}^d(o^{m-1}) \ge 2\,vol_f\) and \(o^{m-1} \cap \varGamma ^m \not = \emptyset \) is marked for refinement. In addition, any element satisfying \(\fancyscript{L}^d(o^{m-1}) \ge 2\,vol_f\), for which a direct neighbour intersects \(\varGamma ^m\), is also marked for refinement. Similarly, an element that is not marked for refinement is marked for coarsening if it satisfies \(\fancyscript{L}^d(o^{m-1}) \le \frac{1}{2}\,vol_{c}\) and \(o^{m-1} \cap \varGamma ^m = \emptyset \). Now all the elements marked for refinement are halved into two smaller elements with the help of a simple bisectioning procedure, see [44] for details. In order to avoid hanging nodes, this will in general lead to refinements of elements that were not originally marked for refinement. Similarly, an element that is marked for coarsening is coarsened only if all of its neighbouring elements are marked for coarsening as well. For more details on the refining and coarsening itself we refer to [44].

This marking and refinement process is repeated until no more elements are required to be refined or coarsened. Thus we obtain the triangulation \(\fancyscript{T}^{m}\) on which, together with \(\varGamma ^m\), the new solutions \(({\underline{U}}^{m+1}, P^{m+1}, \kappa ^{m+1}, {\underline{X}}^{m+1})\) will be computed. In practice only at the first time step, \(m=0\), more than one of the described refinement cycles are needed.

6.2 Parametric Mesh Adaptation

As mentioned before, the Eq. (4.6d) means that the vertices of the parametric approximation \(\varGamma ^m\) are in general very well distributed, so that mesh smoothing (redistribution) is not necessary in practice. Similarly, an adaptation of the parametric mesh is in general not necessary. However, in simulations where the total surface area \(\fancyscript{H}^{d-1}(\varGamma ^m)\) increases significantly over time, it is beneficial to locally refine the triangulation where elements have become too large.

The mesh refinement strategy can be described as follows, where we assume that an arbitrary polyhedral approximation \(\varGamma ^0\) of \(\varGamma (0)\) is given. Let

$$\begin{aligned} vol_{max} := \max _{j = 1,\ldots , J^0_\varGamma } \fancyscript{H}^{d-1}(\sigma ^0_\varGamma ). \end{aligned}$$

Then for an arbitrary \(m \ge 0\), given \(\varGamma ^m\) and the solution \(({\underline{U}}^{m+1}, P^{m+1}, \kappa ^{m+1}, {\underline{X}}^{m+1})\) to (4.6a–d), we define \(\varGamma ^{m+1,\star } := {\underline{X}}^{m+1}(\varGamma ^m)\). Clearly, \(\varGamma ^{m+1,\star }=\bigcup _{j=1}^{J^m_\varGamma } \overline{\sigma ^{m+1,\star }_j}\), where \(\sigma ^{m+1,\star }_j:= {\underline{X}}^{m+1}(\sigma ^m_j),\,j=1,\ldots , J^m_\varGamma \). We will now define a finer triangulation \(\bigcup _{j=1}^{J^{m+1}_\varGamma } \overline{\sigma ^{m+1}_j}\), with \(J^{m+1}_\varGamma \ge J^{m}_\varGamma \), for the same polyhedral surface \(\varGamma ^{m+1,\star } = \varGamma ^{m+1}\). To this end, we mark all elements \(\sigma ^{m+1,\star }_j\), that have become too large due to the growth of the interface, for refinement. In particular, any element with \(\fancyscript{H}^{d-1}(\sigma ^{m+1,\star }_j) \ge \frac{7}{4}\,vol_{max}\) is marked for refinement. Then all refined elements are replaced with two smaller ones with the help of a simple bisectioning procedure. Note that this bisection does not change the polyhedral surface \(\varGamma ^{m+1,\star } = \varGamma ^{m+1}\). Moreover, we note that in order to prevent hanging nodes, in general more elements will be refined than have initially been marked for refinement. The cycle of marking and refining is repeated until no more refinements are required. In practice, this was always the case after just one such refinement step.

In conclusion we stress that the given parametric mesh adaptation algorithm means that Theorem 4.2 still holds. Moreover, apart from this simple mesh refinement, no other changes were performed on the parametric mesh in any of our simulations. In particular, no mesh smoothing (redistribution) was required.

7 Numerical Results

Throughout this section we set \({\underline{U}}^0 = {\underline{0}},\,\beta = 0\) and, unless otherwise stated, we employ (4.5a) and \(\hbox {XFEM}_{\varGamma }\).

We will often present detailed discretization parameters and CPU times for our simulations. Here the CPU times, which we report in seconds, correspond to a single-thread computation on an Intel Xeon E5-2643 (3.3 GHz) processor with 16 GB of main memory. To summarize the discretization parameters we use the shorthand notation \(n\,\mathrm{adapt}_{k,l}^{(\star )}\), where the superscript \((\star ) \in \{ (1), (0), (1,0) \}\) indicates which of the elements (4.2a–c) is employed. The subscripts refer to the fineness of the spatial discretizations, i.e. for the set \(n\,\mathrm{adapt}_{k, l}^{(\cdot )}\) it holds that \(N_f = 2^k\) and \(N_c = 2^l\), recall (6.1). For the case \(d=2\) we have in addition that \(K^0_\varGamma = J^0_\varGamma = 2^k\), while for \(d=3\) it holds that \((K^0_\varGamma , J^0_\varGamma ) = (770, 1{,}536), (1{,}538, 3{,}072), (3{,}074, 6{,}144)\) for \(k = 5,6,7\). Finally, the uniform time step size for the set \(n\,\mathrm{adapt}_{k,l}^{(\cdot )}\) is given by \(\tau = 10^{-3} / n\), and if \(n=1\) we write \(\mathrm{adapt}_{k, l}^{(\cdot )}\).

7.1 Numerical Results in 2d

In this subsection, we present numerical results for our approximation (4.6a–d) for the case \(d = 2\). In particular, we will present benchmark computations for the two test cases proposed in [31, Table I]. To this end, we define the following benchmark quantities for the continuous solution \(({\underline{u}}, p, \varGamma )\) of (3.1a–h). Let \(y_c(t) = \int \nolimits _{\varOmega _-(t)} x_2 \;\mathrm{d}{\fancyscript{L}}^{2} / \fancyscript{L}^2(\varOmega _-(t))\) denote the \(x_2\)-component of the bubble’s centre of mass. Let \({{c\!/}}(t)\) denote the “degree of circularity” of \(\varGamma (t)\), which is defined as the ratio of the perimeter of an area-equivalent circle and \(\fancyscript{H}^{1}(\varGamma (t))\). Finally, let \(V_c(t) = \int \nolimits _{\varOmega _-(t)} u_2(t) \;\mathrm{d}{\fancyscript{L}}^{2} / \fancyscript{L}^2(\varOmega _-(t))\) denote the bubble’s rise velocity, where \({\underline{u}}(\cdot ,t) = (u_1(\cdot ,t),u_2(\cdot ,t))^T\). In this paper, we use the following discrete approximations of these benchmark quantities:

$$\begin{aligned} y_c^m = \frac{1}{\fancyscript{L}^2(\varOmega _-^m)}\,\int \limits _{\varOmega _-^m} x_2 \;\mathrm{d}{\fancyscript{L}}^{2},~~ {{c\!/}}^m = 2\,[\pi \,\fancyscript{L}^2(\varOmega _-^m)]^\frac{1}{2}\, [\fancyscript{H}^{1}(\varGamma ^m)]^{-1},~~ V^m_c = \frac{(\rho ^m_-\,{\underline{U}}^m, {\underline{e}}_d)}{(\rho ^m_-,1)}, \end{aligned}$$
(7.1)

where \(\rho ^m_-\in S^m_0\) is defined as in (4.5a, b) but with \(\rho _+\) replaced by zero. Finally, we also define the relative overall area/volume loss as \(\fancyscript{L}_\mathrm{loss}= \frac{\fancyscript{L}^d(\varOmega ^0_-) - \fancyscript{L}^d(\varOmega ^M_-)}{\fancyscript{L}^d(\varOmega ^0_-)}\), and as a measure of the mesh quality we introduce the element ratios

$$\begin{aligned} r^m := \frac{\max _{j=1,\ldots , J^m_\varGamma } \fancyscript{L}^d(\sigma ^m_j)}{\min _{j=1,\ldots , J^m_\varGamma } \fancyscript{L}^d(\sigma ^m_j)}, \quad m = 0,\ldots ,M. \end{aligned}$$
(7.2)

7.1.1 2d Benchmark Problem 1

We use the setup described in [31], see Fig. 2 there; i.e. \(\varOmega = (0,1) \times (0,2)\) with \(\partial _1\varOmega = [0,1] \times \{0,2\}\) and \(\partial _2\varOmega = \{0,1\} \times (0,2)\). Moreover, \(\varGamma _0 = \{{\underline{z}} \in {\mathbb {R}}^2 : |{\underline{z}} - (\frac{1}{2}, \frac{1}{2})^T| = \frac{1}{4}\}\). The physical parameters from the test case 1 in [31, Table I] are then given by

$$\begin{aligned} \rho _+ = 1{,}000,~~ \rho _- = 100,~~ \mu _+ = 10,~~ \mu _- = 1,~~ \gamma = 24.5,~~ {\underline{f}}_1 = -0.98\,{\underline{e}}_d,~~ {\underline{f}}_2 = {\underline{0}}. \end{aligned}$$
(7.3)

The time interval chosen for the simulation is \([0,T]\) with \(T=3\).

Some discretization parameters and CPU times for our approximation (4.6a–d) are shown in Table 1. Here and throughout the CPU times correspond to computations for the simple strategy (4.5a), but the times for the more involved choice (4.5b) are very similar. Some quantitative values for computations with the P2 \(-\) P1 element (4.2a) are given in Table 2. Here the observed relative area losses for the runs without \(\hbox {XFEM}_{\varGamma }\) were 32.1, 8.2, 2.1 and 0.5 %; and so we do not present the remaining statistics for these runs. Here we recall from Sect. 4.1 that for the semidiscrete continuous-in-time variant of (4.6a–d) with \(\hbox {XFEM}_{\varGamma }\) true volume conservation (area conservation in 2d) holds. In general, we also observe excellent volume conservation for the fully discrete scheme. We do not present numerical results for the P2 \(-\) P0 element (4.2b), as they did not seem to improve upon the results in Table 2. In addition, the CPU times for P2 \(-\) P0 with \(\hbox {XFEM}_{\varGamma }\) were significantly larger than for P2 \(-\) P1 with \(\hbox {XFEM}_{\varGamma }\). In Table 3 we present quantitative values for computations with the P2 \(-\) (P1 \(+\) P0) element (4.2c). Once again we omit the results for the runs without \(\hbox {XFEM}_{\varGamma }\), for which the observed relative area losses were 7.2, 1.9 and 0.5 %. We observe that the results in Tables 2 and 3 are in very good agreement with the corresponding numbers from the finest discretization run of group 3 in [31], which are given by 0.9013, 1.9000, 0.2417, 0.9239 and 1.0817. Here we note that of the three groups in [31], group 3 shows the most accurate and the most consistent results for the test case 1. Their method is based on the ALE approach with a piecewise quadratic velocity space enriched with cubic bubble functions, with a discontinuous piecewise linear pressure space and with a second order, fractional step \(\theta \)-scheme in time. We stress that our simulation results appear to be in better agreement with the results from group 3 than other recently published results on the same benchmark problem, see e.g. [2, Tables III–V], [52, Table XVI] and [16, Table VII].

Table 1 Simulation statistics and timings for the test case 1 in [31]
Table 2 Some quantitative results for the test case 1 in [31]
Table 3 Some quantitative results for the test case 1 in [31]

Overall our results that appear to agree most closely with the results from group 3 in [31] are the ones for the finest run with the P2 \(-\) (P1 \(+\) P0) element and the strategy (4.5b); see Table 3. In what follows we present some visualizations of the numerical results for that run. Here we recall from Table 1 that this run took less CPU time then the run for 5 \(\hbox {adapt}_{11,5}^{(1)}\), i.e. the finest discretization for the P2 \(-\) P1 element. A plot of \(\varGamma ^M\) can be seen in Fig. 3, while the time evolution of the circularity, the centre of mass and the rise velocity are shown in Figs. 4 and 5. A plot of the discrete energy as well as a plot of the mesh quality of \(\varGamma ^m\) over time, recall (7.2), are shown in Fig. 6.

7.1.2 2d Benchmark Problem 2

We use the same setup as in Sect. 7.1.1, and take the physical parameters from the test case 2 in [31, Table I], which are given by

$$\begin{aligned} \rho _+ = 1{,}000,~~ \rho _- = 1,~~ \mu _+ = 10,~~ \mu _- = 0.1,~~ \gamma = 1.96,~~ {\underline{f}}_1 = -0.98\,{\underline{e}}_d,~~ {\underline{f}}_2 = {\underline{0}}. \end{aligned}$$
(7.4)

The time interval chosen for the simulation is \([0,T]\) with \(T=3\), as before. Some discretization parameters and CPU times for (4.6a–d) are shown in Table 4. Selected benchmark quantities are shown in Tables 5 and 6 for the elements (4.2a) and (4.2c), respectively. We observe that the results in these two tables are in good agreement with the corresponding numbers from the finest discretization run of group 3 in [31], which are given by 0.5144, 3.0000, 0.2502, 0.7317, 0.2393, 2.0600 and 1.1376. Here we note that there is little agreement on these results between the three groups in [31], but we believe the numbers of group 3 to be the most reliable ones.

Fig. 3
figure 3

(2 \(\hbox {adapt}_{9,4}^{(1,0)}\)) The final bubble for the test case 1 at time \(T=3\)

Fig. 4
figure 4

(2 \(\hbox {adapt}_{9,4}^{(1,0)}\)) Circularity for the test case 1

Fig. 5
figure 5

(2 \(\hbox {adapt}_{9,4}^{(1,0)}\)) Centre of mass and rise velocity for the test case 1

Fig. 6
figure 6

(2 \(\hbox {adapt}_{9,4}^{(1,0)}\)) Discrete energy \(\fancyscript{E}(\rho ^m, {\underline{U}}^{m+1}, \varGamma ^{m+1})\) and the mesh quality \(r^m\) for the test case 1

Table 4 Simulation statistics and timings for the test case 2 in [31]
Table 5 Some quantitative results for the test case 2 in [31]
Table 6 Some quantitative results for the test case 2 in [31]

We again visualize the numerical results for our simulation with the finest discretization parameters for the P2 \(-\) (P1 \(+\) P0) element and the strategy (4.5b). A plot of \(\varGamma ^M\) can be seen in Fig. 7, where we observe that no self intersections have occured, in line with the results of group 3 in [31]. Some quantative statistics are shown in Figs. 8 and 9. Plots of the discrete energy and of the mesh quality of \(\varGamma ^m\) are shown in Fig. 10. Here the discontinuities in \(r^m\), recall (7.2), are caused by the local refinement of \(\varGamma ^m\) as described in Sect. 6.2. For the displayed run we start with \(J^0_\varGamma = 512\) elements and finish with \(J^M_\varGamma = 662\) elements.

Fig. 7
figure 7

(2 \(\hbox {adapt}_{9,4}^{(1,0)}\)) The final bubble for the test case 2 at time \(T=3\)

Fig. 8
figure 8

(2 \(\hbox {adapt}_{9,4}^{(1,0)}\)) Circularity for the test case 2

Fig. 9
figure 9

(2 \(\hbox {adapt}_{9,4}^{(1,0)}\)) Centre of mass and rise velocity for the test case 2

Fig. 10
figure 10

(2 \(\hbox {adapt}_{9,4}^{(1,0)}\)) Discrete energy \(\fancyscript{E}(\rho ^m, {\underline{U}}^{m+1}, \varGamma ^{m+1})\) and the mesh quality \(r^m\) for the test case 2

7.2 Numerical Results in 3d

In this subsection, we present numerical results for our approximation (4.6a–d) for the case \(d = 3\). In particular, we will present benchmark computations for the natural 3d analogues of the two-dimensional test cases proposed in [31, Table I]. Moreover, we will present some rising droplet simulations that are based on real physical parameters suggested in [26].

For the 3d benchmark computations, we introduce the natural extensions of the quantities defined in (7.1). In particular, the discrete approximations of the \(x_3\)-component of the bubble’s centre of mass and the “degree of sphericity” are defined by

$$\begin{aligned} z_c^m&= \frac{1}{\fancyscript{L}^3(\varOmega _-^m)}\,\int \limits _{\varOmega _-^m} x_3 \;\mathrm{d}{\fancyscript{L}}^{3} = \frac{3}{\int _{\varGamma ^m} {\underline{X}}^m\,\cdot \,{\underline{\nu }}^m \;\mathrm{d}{\fancyscript{H}}^{2}} \int \limits _{\varGamma ^m} \tfrac{1}{2}\,({\underline{X}}^m \,\cdot \,{\underline{e}}_3)^2\, ({\underline{\nu }}^m \,\cdot \,{\underline{e}}_3) \;\mathrm{d}{\fancyscript{H}}^{2}, \quad \nonumber \\ {{s\!/}}^m&= \pi ^\frac{1}{3}\,[6\,\fancyscript{L}^3(\varOmega _-^m)]^\frac{2}{3}\, [\fancyscript{H}^{2}(\varGamma ^m)]^{-1}. \end{aligned}$$

7.2.1 3d Benchmark Problem 1

Here we consider the natural 3d analogue of the problem in Sect. 7.1.1, i.e. of test case 1 in [31], where only benchmark problems in two space dimensions are presented. To this end, we let \(\varOmega = (0,1) \times (0,1) \times (0.2)\) with \(\partial _1\varOmega = [0,1] \times [0,1] \times \{0,2\}\) and \(\partial _2\varOmega = \partial \varOmega \setminus \partial _1\varOmega \). Moreover, we set \(T=3,\,\varGamma _0 = \{ {\underline{z}} \in {\mathbb {R}}^3 : |{\underline{z}} - (\frac{1}{2}, \frac{1}{2}, \frac{1}{2})^T| = \frac{1}{4}\}\), and choose the physical parameters as in (7.3).

Our discretization parameters and CPU times are shown in Table 7. The quantitative values for the evolution are given in Table 8. In what follows we present some visualizations of the numerical results for the run with \(\hbox {adapt}_{6,3}^{(1)}\). Plots of \(\varGamma ^M\) can be seen in Fig. 11, while the time evolution of the sphericity, the centre of mass and the rise velocity are shown in Figs. 12 and 13.

Table 7 Simulation statistics and timings for the 3d benchmark problem 1
Table 8 Some quantitative results for the 3d benchmark problem 1
Fig. 11
figure 11

(\(\hbox {adapt}_{6,3}^{(1)}\)) The final bubble for the 3d benchmark problem 1 at time \(T=3\). Views from the top (left) and from the front (right)

Fig. 12
figure 12

(\(\hbox {adapt}_{6,3}^{(1)}\)) Sphericity for the 3d benchmark problem 1

Fig. 13
figure 13

(\(\hbox {adapt}_{6,3}^{(1)}\)) Centre of mass and rise velocity for the 3d benchmark problem 1

7.2.2 3d Benchmark Problem 2

We use the same setup as in Sect. 7.2.1, and take the physical parameters as in (7.4). The time interval chosen for the simulation is \([0,T]\) with \(T=1.5\). Some discretization parameters and CPU times for (4.6a–d) are shown in Table 9. The quantitative values for the evolution are given in Table 10. We again visualize the numerical results for our simulation with the parameters \(\hbox {adapt}_{6,3}^{(1)}\). Plots of \(\varGamma ^M\) can be seen in Fig. 14, where we note the very nonconvex shape of the final bubble. Some quantative statistics are shown in Figs. 15 and 16.

Table 9 Simulation statistics and timings for the 3d benchmark problem 2
Table 10 Some quantitative results for the 3d benchmark problem 2
Fig. 14
figure 14

(\(\hbox {adapt}_{6,3}^{(1)}\)) The final bubble for the 3d benchmark problem 2 at time \(T=1.5\). Below we show the triangulation viewed from the top (left) and from the front (right)

Fig. 15
figure 15

(\(\hbox {adapt}_{6,3}^{(1)}\)) Sphericity for the 3d benchmark problem 2

Fig. 16
figure 16

(\(\hbox {adapt}_{6,3}^{(1)}\)) Centre of mass and rise velocity for the 3d benchmark problem 2

7.2.3 Rising Butanol Droplets in 3d

Here we consider a problem that is inspired from Sect. 1.3.1 in [26], where we apply a convenient rescaling in space. In particular, we let \(\varOmega = (0, 1.2) \times (0, 1.2) \times (0, 3)\) with \(\partial _1\varOmega = [0,1.2] \times [0,1.2] \times \{0,3\}\) and \(\partial _2\varOmega = \partial \varOmega \setminus \partial _1\varOmega \). Moreover, we set \(\varGamma _0 = \{ {\underline{z}} \in {\mathbb {R}}^3: |{\underline{z}} - (0.6, 0.6, 0.3)| = R_0\}\) with \(R_0 = 0.1\). Finally,

$$\begin{aligned} \rho _+&= 9.865 \times 10^{-4},~~ \rho _- = 8.454 \times 10^{-4},~~ \mu _+ = 1.388 \times 10^{-5},~~ \mu _- = 3.281\times 10^{-5}, \nonumber \\ \gamma&= 1.63\times 10^{-3}, \end{aligned}$$
(7.5)

with \({\underline{f}}_1 = -(0, 0, 981)^T\) and \({\underline{f}}_2 = {\underline{0}}\). These parameters model the evolution of a rising butanol droplet in a tank filled with water. In [26, Sect. 1.3.1] a terminal rise velocity of \(V^M_c = 5.3\) (rescaled to our applied transformation in space) is reported at time \(T=0.5\), while the final position of the bubble is at about \(z_c^M = 2.7\). The discretization parameters for our approximation (4.6a–d) are shown in Table 11. For our finest run we obtain \(V^M_c = 5.33\) and \(z_c^M = 2.69\). See Fig. 17 for plots of \(\varGamma ^M\), and Fig. 18 for plots of sphericity, centre of mass and rise velocity over time.

Fig. 17
figure 17

(2 \(\hbox {adapt}_{7,3}^{(1)},\,R_0 = 0.1\)) The final butanol droplet at time \(T=0.5\). Views from the top (left) and from the front (right)

Fig. 18
figure 18

(2 \(\hbox {adapt}_{7,3}^{(1)},\,R_0 = 0.1\)) Sphericity (top), as well as centre of mass and rise velocity (bottom) for the rising butanol droplet

Table 11 Simulation statistics and timings for the rising butanol droplet with \(R_0=0.1\)

We recall from [26, Fig. 1.13] that the shape of the rising butanol droplet changes dramatically if the initial droplet is chosen larger. To illustrate this, we repeat the previous simulation but now choose the radius of the initial sphere to be \(R_0=0.2\), i.e. the droplet is twice as large as before. As the larger droplet is rising faster, we stop the simulation at time \(T=0.4\). The discretization parameters for our approximation (4.6a–d) are shown in Table 12, and we visualize the simulation with the finest parameters in Figs. 19 and 20.

Table 12 Simulation statistics and timings for the rising butanol droplet with \(R_0=0.2\)
Fig. 19
figure 19

(2 \(\hbox {adapt}_{6,3}^{(1)},\,R_0 = 0.2\)) The final butanol droplet at time \(T=0.4\). Views from the top (left) and from the front (right)

Fig. 20
figure 20

(2 \(\hbox {adapt}_{6,3}^{(1)},\,R_0 = 0.2\)) Sphericity (top), as well as centre of mass and rise velocity (bottom) for the rising butanol droplet

7.2.4 Rising Toluene Droplet in 3d

Here we consider a problem that is inspired from Sect. 7.11.2 in [26]. In particular, we use all the parameters from the first simulation in Sect. 7.2.3, with the exceptions of

$$\begin{aligned} \rho _+&= 9.988 \times 10^{-4},~~ \rho _- = 8.675 \times 10^{-4},~~ \mu _+ = 1.029 \times 10^{-5},~~ \mu _- = 5.96\times 10^{-6}, \\ \gamma&= 3.431\times 10^{-2}. \end{aligned}$$

These parameters model the evolution of a rising toluene droplet in a tank filled with water. Here the properties of the outer phase (water) slightly differ from the ones in (7.5), which models the fact that some saturation with toluene has taken place to avoid any mass transfer between the two phases. The main difference to the rising butanol droplet in Sect. 7.2.3 is the higher surface tension \(\gamma \), which the authors in [26] state makes this simulation computationally much more challenging. In [26, Sect. 7.11.2] ten time steps with \(\tau = 5\times 10^{-4}\) are performed for this experiment. We continue this simulation until time \(T=0.4\), and observe a terminal rise velocity of \(V^M_c = 7.5\), as well as \(z_c^M = 2.78\) for our finest simulation; see Table 13 for the precise discretization parameters. The evolution of the sphericity, the centre of mass as well as the rise velocity can be seen in Fig. 21, where we note that the droplet stays almost perfectly spherical throughout the evolution.

Table 13 Simulation statistics and timings for rising toluene droplet with \(R_0=0.1\)
Fig. 21
figure 21

(2 \(\hbox {adapt}_{7,3}^{(1)},\,R_0 = 0.1\)) Sphericity (top), as well as centre of mass and rise velocity (bottom) for the rising toluene droplet

8 Conclusions

We have presented a novel front-tracking method for two-phase Navier–Stokes flow which can be shown to be stable, and which gives rise to a linear system of equations at each time level. The numerical method couples a parametric finite element approximation of the interface with a standard finite element approximation of the Navier–Stokes equations in the bulk. Here we use an unfitted approach, where the interface mesh is completely independent of the bulk mesh. With the help of a simple XFEM approach our scheme is guaranteed to conserve the volumes of the two phases.

An important feature of our numerical method is the excellent mesh quality of the interface approximation. This is induced by an inherent discrete tangential motion of the vertices that make up the discrete interface. In particular, no mesh smoothing for the discrete interface is necessary in practice.