1 Introduction

The Mullins–Sekerka problem is a quasi-stationary Stefan problem with surface tension. Its solution describes the time evolution of the interface separating two-phases filled with different materials. At a time t, one material is filled in a smooth bounded region \(\Omega _t\) and another material is filled in the outer region \({\mathbb {R}}^2\backslash \overline{\Omega _t}\). The boundary \(\Gamma _t = \partial \Omega _t\) represents the interface. The temperature of the material is denoted by \(u = u(t,x)\) for \(x\in {\mathbb {R}}^2\backslash \Gamma _t\) and \(t\ge 0\). Given a time horizon \(T > 0\), the Mullins–Sekerka problem asks us to find \((u,\Gamma _t)\) that satisfies

$$\begin{aligned} {\left\{ \begin{array}{ll} \Delta u = 0\ \ \text{ in }\ \ {\mathbb {R}}^2\backslash \Gamma _t,\ {t\in [0,T],} \\ u = \kappa \ \ \text{ on }\ \ \Gamma _t,\ {t\in [0,T],} \\ \nabla u(x) = O\left( \frac{1}{|x|^2}\right) \ \ \text{ as }\ \ |x|\rightarrow \infty , \\ V = -\left[ \frac{\partial u}{\partial {\textbf{n}}}\right] \ \ \text{ on }\ \ \Gamma _t,\ {t\in [0,T],} \end{array}\right. } \end{aligned}$$
(1)

where \({\textbf{n}}\) denotes the normal vector to \(\Gamma _t\) outgoing from \(\Omega _t\), and \(\kappa \) denotes the curvature of \(\Gamma _t\). The normal velocity of \(\Gamma _t\) is denoted by V. More precisely, the motion of \(\Gamma _t\) is governed by

$$\begin{aligned} \frac{d}{dt}{\textbf{X}}(t,s) = V(t,{\textbf{X}}(t,s)){\textbf{n}}(t,{\textbf{X}}(t,s))\ \ (t\ge 0, s\in [0,2\pi ]), \end{aligned}$$
(2)

where the interface \(\Gamma _t\) is parameterized as \({\textbf{X}}(t,s)\) for \(s\in [0,2\pi ]\). V describes the speed of \(\Gamma _t\) in the direction to \({\textbf{n}}\). Let \(\left[ \varphi \right] \) be the jump in the normal direction of a quantity \(\varphi \) across \(\Gamma _t\); namely, \(\left[ \varphi \right] (x):= \lim _{\varepsilon \rightarrow 0}\{\varphi (x - \varepsilon {\textbf{n}}) - \varphi (x + \varepsilon {\textbf{n}})\}\) for each \(x\in \Gamma _t\).

The Mullins–Sekerka equation is a limit of a phase-field model, which is called the Cahn–Hilliard equation where two phases are separated by a transition layer instead of a sharp interface. The Cahn–Hilliard equation is important to understand spinodal decomposition, which explains a phenomenon that compounded solutes and solids are stable at high temperatures but become unstable at low temperatures and eventually separated by sharp interfaces. The convergence of the Cahn–Hilliard equation to the Mullins–Sekerka equation was first formally shown by Pego [21]. Stoth [26] gave a rigorous proof of the convergence in the case where the domain under consideration is a ball in \({\mathbb {R}}^3\), and the initial data and the boundary values are all radially symmetric. In a general dimension, Alikakos et al. [2] proved that a family of smooth solutions to the Cahn–Hilliard equation tends to a smooth solution to the Mullins–Sekerka equation provided that the latter exists.

The Mullins–Sekerka problem has been well studied from an analytical point of view. Chen et al. [7] proved the existence of a classical solution to the Mullins–Sekerka problem local in time in the two dimensional case, and Escher and Simonett [9] proved it in general dimensional cases. In the literature on weak solutions, Luckhaus and Sturzenhecker [16] proposed a weak notion of solutions to the Mullins–Sekerka problem and gave its global time existence result whenever the sum of the surface area measure does not change discontinuously over time. Under the same assumption, Bronsard et al. [6] established a weak solution of a multi-phase Mullins–Sekerka problem with a triple junction and showed its existence. As indicated in our experiment, this setting cannot be applied when multi particles exist and are very close to each other (see Sect. 4). Röger [24] was successful to remove this assumption in terms of the geometric measure theory, although his result could be applied only to the two-phase case and excluded the multi-phase case and contact angle cases. Recently, Hensel and Stinson [13] proposed a varifold solution to the Mullins–Sekerka problem based on the energy dissipation property and included a fixed contact angle condition. Julin et al. [14] revealed an asymptotic behaviour of the Mullins–Sekerka flow in the torus \({\mathbb {T}}^2\subset {\mathbb {R}}^2\). They proved that a flat flow solution to the Mullins–Sekerka problem exponentially converges to the finite union of disks whenever the perimeter of the initial data is less than 2 (see Theorem 1.3 [14]).

There are several works that treated either the Hele–Shaw problem or the Mullins–Sekerka problem numerically. Though a typical Mullins–Sekerka problem is considered in a smooth bounded domain, Bates et al. [5] considered the problem (1) in \({\mathbb {R}}^2\) and translated the original problem (1) into a corresponding boundary integral equation. Eventually, they did not have to care about the boundary of the container; they split an initial curve into several segments and regarded as a part of circles. In this way, they could calculate a discrete version of the curvatures and derive a linear system of equations whose unknown variables are normal velocities at each vertex by means of the Gibbs–Thomson law (this is the second condition of (1)). Recall that our unknown variables in the linear system are the coefficients of fundamental solutions in contrast to their scheme (see (13) and (17)). Moreover, they adopted the semi-implicit method to stabilize their scheme with a small time step when solving the linear system. For other studies using the boundary integral method, we refer the reader to [4, 18, 27]. Barrett et al. [3] proposed a parametric finite element scheme for the Stefan problem with surface tension and proved the well-posedness and stability of their scheme. In the course of the discussion, they also revealed that the scheme applies to the Mullins–Sekerka problem. Feng and Prohl [10] showed that their numerical scheme, the so-called fully discrete mixed finite element scheme to construct discrete solutions to the Cahn–Hilliard equation, tends to the solution of the Mullins–Sekerka equation, provided that a global-in-time classical solution exists. Recently, Nürnberg [20] introduced a front tracking method for the Mullins–Sekerka flow which is based on the finite element method. He proved its unconditional stability and volume conservation law of the scheme. Its accuracy was confirmed in terms of two concentric circles.

The purpose of this paper is to propose a discrete scheme to solve the Mullins–Sekerka problem numerically, revealing that our scheme has some desirable properties. To this end, we follow the scheme proposed by Sakakibara and Yazaki [25]. Moreover, we confirm that the proposed scheme possesses the curve-shortening property (CS) and the area-preserving (AP) property. These facts are predictable because the original scheme for the Hele–Shaw problem also has such properties. However, we focus on CS and derive a discrete variant of the estimation related to the length of the curve. This outcome is reported in Corollary 1.

At this stage, we provide a brief explanation of our scheme. Suppose that a smooth curve \(\Gamma _t\) is given for some \(t>0\). Then, \(\Gamma _t\) is approximated by an N polygon \(\Gamma _t^N\) where \(N\ge 3\) is a positive integer. The interior domain of \(\Gamma _t^N\) is designated as \(\Omega _t^N\). The vertices of \(\Gamma _t^N\) are denoted by \({\textbf{X}}_i(1\le i \le N)\). For convenience, we adopt a periodic rule for the indices of \({\textbf{X}}_i\), such as \({\textbf{X}}_0 = {\textbf{X}}_N\) and \({\textbf{X}}_{N+1} = {\textbf{X}}_1\). Each edge \([{\textbf{X}}_{i-1},{\textbf{X}}_i]\) is expected to possess a discrete version of the curvature \(\kappa _i = \kappa _i(t)(1\le i \le N)\). In addition, normal vectors \({\textbf{N}}_i={\textbf{N}}_i(t)\) and tangential vectors \({\textbf{T}}_i = {\textbf{T}}_i(t)\) at \({\textbf{X}}_i\) are suitably defined. Among the standard numerical methods, we adopt the charge simulation method (CSM) that was originally developed to approximate a solution to the Laplace equation in a bounded domain with Dirichlet boundary conditions. CSM is a variant of the method of fundamental solutions (MFS), in which approximate solutions are expressed as a linear combination of fundamental solutions to partial differential equations under consideration. CSM requires choosing proper charge points \(y_1^+,\cdots ,y_N^+\) from \({\mathbb {R}}^2\backslash \overline{\Omega ^N_t}\) and collocation points \({\textbf{X}}_1,\cdots ,{\textbf{X}}_N\) on \(\Gamma _t\) and expresses an approximate solution as follows:

$$\begin{aligned} U^+(x) = \sum _{i=1}^N Q_i^+E\left( x - y_i^+\right) {\text{, }} \end{aligned}$$
(3)

where E is the fundamental solution of the Laplace equation, that is \(E(x):= \frac{1}{2\pi }\log {|x|}\) for \(x\in {\mathbb {R}}^2\backslash \{0\}\). Since \(y_i^+\) s are outside \(\Omega ^N\), \(U^+\) is harmonic at all points in \(\Omega ^N\). The coefficients \(Q_i\) s should be determined by Dirichlet boundary conditions \(U({\textbf{X}}_i^{{*}}) = \kappa ({\textbf{X}}_i^{{*}})\) for \(1\le i \le N\). This is the basic idea of CSM. For more detail about CSM, see Katsurada and Okamoto [15]. The above conventional scheme was modified by Murota [19] to make the scheme possess invariance properties that original continuous problems also have. Concretely, he alternatively used the following combination.

$$\begin{aligned} U^+(x) = Q_0^+ + \sum _{i=1}^N Q_i^+E\left( x-y_i^+\right) . \end{aligned}$$
(4)

In this scheme, we have to add an equality to a linear system because we have one more value \(Q^+_0\) to find. For instance, Murota assumed that the sum of \(Q_i^+\) s equals zero. In solving the Hele–Shaw problem numerically, Sakakibara and Yazaki [25] improved Murota’s invariant scheme to make this additional assumption more natural. To this end, they defined dummy singular points \(z_i^+(1\le i\le N)\) and replaced the combination of fundamental solutions by

$$\begin{aligned} U^+(x) = Q_0^+ + \sum _{i=1}^N Q_i^+\left\{ E\left( x-y_i^+\right) -E\left( x-z_i^+\right) \right\} . \end{aligned}$$
(5)

Then, it can be observed that the above function \(U^+\) is invariant under translation and scaling without any additional assumptions (see Remark 1). Hence, it is possible to impose an area-preserving requirement that seems more natural than the zero-average assumption. Taking singular points \(y_i^-\) and \(z_i^-\) from \(\Omega ^N_t\), we also have a function \(U^-\) being harmonic in \({\mathbb {R}}^2\backslash \overline{\Omega ^N_t}\) that satisfies the Dirichlet boundary condition. We should solve an external potential problem to find such a \(U^-\). However, it is impossible by either the finite difference method or the finite element method owing to the unboundedness of the domain where the problem is considered. As imposed in the fourth equality of (1), each point x on \(\Gamma ^N_t\) is required to move at the speed that is equal to the jump of the normal derivatives of \(U^+\) and \(U^-\) across \(\Gamma ^N_t\). Once we obtain such \(U^+\) and \(U^-\), the direct differentiation of \(U^+\) and \(U^-\) yields the representative normal velocity \(V_i(t) = V_i^+(t) + V_i^-(t)\) at \({\textbf{X}}_i\). Consequently, \({\textbf{X}}_i\) should fulfill the evolution equation

$$\begin{aligned} \frac{d}{dt}{{\textbf{X}}_i(t)} = V_i(t){\textbf{N}}_i(t) + W_i(t){\textbf{T}}_i(t)\ \ \text{ for }\ \ 1\le i\le N,\ t > 0. \end{aligned}$$
(6)

Tangential velocity \(W_i\) and its vector \({\textbf{T}}_i\) are required to stabilize the scheme, although they have no effect on the geometry of the curve (see Proposition 2.4 [8] for instance). Normal velocity \(V_i\) and its vector \({\textbf{N}}_i\) definitely control the motion of a curve. Finally, we discretize the time variable as \(t = n\Delta t (0\le n\le N)\) and rearrange the evolution Eq. (6) as follows:

$$\begin{aligned} {\textbf{X}}^{n+1}_i = {\textbf{X}}^n_i + \Delta t\left( V_i(t_n){\textbf{N}}_i(t_n) + W_i(t_n){\textbf{T}}_i(t_n)\right) \ \ \text{ for }\ \ 1\le i\le N,\ n = 0,1,\cdots . \end{aligned}$$
(7)

The proposed scheme takes advantage compare to existing numerical schemes to approximate a solution of potential problems in the following senses:

  • The computational cost is relatively low. See Remark 2.

  • We do not have to ensure evolving curves not to touch the boundary of an ambient space.

  • The normal velocity can be computed by a direct differentiation of the approximate solution without any discretization.

  • We do not need mesh points in bulk. Thus, remeshing process is not required in every time step.

  • The coefficient matrix of a resulting linear system is generally dense. In spite of this fact, a numerical experiment shows that the proposed scheme is sufficiently practical and feasible to implement at least in the case \(N = 100\). See Example 1 in Sect. 4 for the elapsed time.

Furthermore, a particular novelty of this study is treating a boundary contact case of the Mullins–Sekerka problem in the half plane \({\mathbb {R}}_+^2\). To this end, we replace the fundamental solutions of the combination by the Green function on \({\mathbb {R}}_+^2\). Since the curves under consideration are open, we modify the structure of the proposed scheme. Well-posedness of the Mullins–Sekerka problem with ninety contact angle condition was established by Abels et al. [1]. After that, Garcke and Rauchecker [12] showed stability and instability results of stationary solutions to the linearized problem that is either flat or a part of a circle.

The reminder of this paper is organized as follows. In Sect. 2, we rigorously state how to implement the proposed scheme. Section 3 is devoted to list our main results without the proofs. In Sect. 4, we give several examples of implementation of the scheme. Moreover, the accuracy of our scheme is confirmed in terms of an annulus-like domain which consists of three concentric circles and a continuous function being harmonic except on the circles. To our best knowledge, this is a new feature in the literature of the Mullins–Sekerka problem as a benckmark function that can describe the two-phase motion. We shall extend the scheme to the boundary contact cases in Sect. 5. In Appendix, we collect all proofs of Theorems and Propositions whose justifications have been postponed.

2 Numerical Scheme

In this section, we present a concrete procedure to construct approximate polygons. This is a natural extension of the scheme proposed in [25].

Step 1. Polygonal Approximation of the Interface

Let \(N\ge 3\) be a positive natural number, and \(\Omega ^N\) be an N polygonal domain in \({\mathbb {R}}^2\) with vertices \({\textbf{X}}_1,\cdots ,{\textbf{X}}_N\in {\mathbb {R}}^2\). Set \({\textbf{X}}_0:= {\textbf{X}}_N\) and \({\textbf{X}}_{N+1}:= {\textbf{X}}_1\). This periodic rule is always applied unless otherwise stated explicitly. The symbol \([{\textbf{X}}_{i-1},{\textbf{X}}_i]\) denotes the line segment connecting \({\textbf{X}}_{i-1}\) and \({\textbf{X}}_i\). For short, we use the notation that \(\Gamma _i^N:= [{\textbf{X}}_{i-1},{\textbf{X}}_i]\). This is called the edge in the sequel. Then, the boundary \(\Gamma ^N:= \partial \Omega ^N\) readily designs an N polygon and is expressed as \(\Gamma ^N = \cup _{i=1}^N{\Gamma _i^N}\). For each \(1\le i\le N\), we define

$$\begin{aligned} r_i:=|{\textbf{X}}_i - {\textbf{X}}_{i-1}|,\ {\textbf{t}}_i:= \frac{{\textbf{X}}_i - {\textbf{X}}_{i-1}}{r_i}\quad {\text{ and }}\quad {\textbf{n}}_i:= {\textbf{t}}_i^\perp . \end{aligned}$$
(8)

Here we have used the notation \((a,b)^\perp := (b, -a)\). Moreover, the midpoint of the edge \(\Gamma _i^N\) is denoted by \({\textbf{X}}_i^*\), namely \({\textbf{X}}_i^*:= \frac{{\textbf{X}}_{i-1} + {\textbf{X}}_i}{2}\). The outer angle \(\varphi _i\) of \(\Gamma ^N\) at each vertex \({\textbf{X}}_i\) is expressed as follows:

$$\begin{aligned} \varphi _i:= {\text {sgn}}{({\textbf{t}}_i, {\textbf{t}}_{i+1})} \arccos {({\textbf{t}}_i\cdot {\textbf{t}}_{i+1})}{,} \end{aligned}$$

where the function \({\text {sgn}}\) is defined by

$$\begin{aligned} {\text {sgn}}{({\textbf{a}},{\textbf{b}})}:= {\left\{ \begin{array}{ll} 1 &{} {{\text {if}}\;\;{\textbf{a}} \cdot {\textbf{b}}^{ \bot } > 0,} \\ 0 &{} {{\text {if}}\;\;{\textbf{a}} \cdot {\textbf{b}}^{ \bot } = 0,} \\ { - 1} &{} {{\text {otherwise}},\;\;\;} \end{array}\right. } \end{aligned}$$

for each \({\textbf{a}},{\textbf{b}}\in {\mathbb {R}}^2\). By using \(\varphi _i\), we set

$$\begin{aligned} \cos _i:= \cos {\left( \frac{\varphi _i}{2}\right) },\ \sin _i:= \sin {\left( \frac{\varphi _i}{2}\right) }\quad {\text{ and }}\quad \tan _i:= \frac{\sin _i}{\cos _i}. \end{aligned}$$

Then, we define the discrete curvature of \(\Gamma ^N\) at \({\textbf{X}}_i^*\) as follows:

$$\begin{aligned} \kappa _i:= \frac{\tan _i + \tan _{i-1}}{r_i}\ \ \text{ for }\ \ i = 1,\cdots ,N. \end{aligned}$$
(9)

Meanwhile, the discrete curvature of \(\Gamma ^N\) at \({\textbf{X}}_i\) is defined by

$$\begin{aligned} {\hat{\kappa }}_i:= \frac{\varphi _i}{R_i}\ \ \text{ with }\ \ R_i:= \frac{r_i + r_{i+1}}{2}\ \ \text{ for }\ \ i = 1,\cdots ,N. \end{aligned}$$
(10)

Moreover, we define the normal vectors \({\textbf{N}}_i\) and the tangential vectors \({\textbf{T}}_i\) at \({\textbf{X}}_i\) in terms of the normal vectors \({\textbf{n}}_i\) and the tangential vectors \({\textbf{t}}_i\) of the edge \(\Gamma _i^N\) as follows:

$$\begin{aligned} {\textbf{N}}_i:= \frac{{\textbf{n}}_i + {\textbf{n}}_{i+1}}{2\cos _i}\quad {\text{ and }}\quad {\textbf{T}}_i:= \frac{{\textbf{t}}_i + {\textbf{t}}_{i+1}}{2\cos _i}\ \ \text{ for }\ \ i = 1,\cdots ,N. \end{aligned}$$

See the figure below to take a look at our setting.

Fig. 1
figure 1

An N polygon mimicking a curve

Step 2. Approximation of the Normal Velocity

First, we solve the Laplace equation in \(\Omega ^N\) with a Dirichlet boundary condition given by \(\kappa _i\). To this end, we must choose singular points \(y_1^+,\cdots ,y_N^+\) and dummy singular points \(z_1^+,\cdots ,z_N^+\) from \({\mathbb {R}}^2\backslash \overline{\Omega ^N}\). We set

$$\begin{aligned} y_i^+:= {\textbf{X}}_i^* + \frac{1}{\sqrt{N}}{\textbf{n}}_i\quad {\text{ and }}\quad z_i^+:= {\textbf{X}}_i^* + N^\beta {\textbf{n}}_i, \end{aligned}$$
(11)

where \(\beta \in (-1/2,\infty )\) is a constant which should be fixed throughout the proposed scheme. This \(\beta \) should be taken so large that \(z_i^+\notin \Omega ^N\). Then, suppose that the solution of the Dirichlet boundary problem is of the form

$$\begin{aligned} U^+(x) = Q^+_0 + \sum _{i=1}^NQ_i^+\left\{ E\left( x - y^+_i\right) - E\left( x-z^+_i\right) \right\} \end{aligned}$$
(12)

for some \(Q_0^+,Q_1^+,\cdots ,Q_N^+\in {\mathbb {R}}\). \(U^+\) is clearly harmonic in \(\Omega ^N\) due to its structure. To determine these values, we shall solve the following linear system of equations:

$$\begin{aligned} \begin{aligned} {\left\{ \begin{array}{ll} Q_0^+ + \sum _{j=1}^NQ_j^+{G_{i,j}^+} = \kappa _i\ \ \text { for }\ \ i = 1,\cdots ,N, \\ \sum _{j=1}^NQ_j^+H_j^+ = 0{,} \end{array}\right. } \end{aligned} \end{aligned}$$
(13)

where

$$\begin{aligned} \begin{aligned} {G_{i,j}^+}&:= E\left( {\textbf{X}}_i^* - y_j^{{+}}\right) - E\left( {\textbf{X}}_i^* - z_j^{{+}}\right) , \\ H_j^{{+}}&:= - \sum _{i=1}^N{\textbf{H}}^{{+}}_{i,j}\cdot {\textbf{n}}_ir_i, \\ {\textbf{H}}^{{+}}_{i,j}&:= \nabla E\left( {\textbf{X}}_i^* - y^+_j\right) - \nabla E\left( {\textbf{X}}_i^* - z^+_j\right) . \end{aligned} \end{aligned}$$
(14)

Second, we solve the Laplace equation in \({\mathbb {R}}^2\backslash \overline{\Omega ^N}\) with a Dirichlet boundary condition given by \(\kappa _i\). For this, we take singular points \(y^-_1,\cdots ,y^-_N\) and dummy singular points \(z^-_1,\cdots ,z^-_N\) in \(\Omega ^N\) as follows:

$$\begin{aligned} {y}_{i}^-:= {\textbf{X}}_i^* - \frac{1}{\sqrt{N}}{\textbf{n}}_i\quad {\text{ and }}\quad {z}_{{i}}^-:= {\textbf{X}}_i^* - {\frac{1}{2\sqrt{N}}}{\textbf{n}}_i. \end{aligned}$$
(15)

Then, the solution to the exterior Dirichlet boundary problem is expressed as

$$\begin{aligned} {U}^-(x) = {Q}^-_0 + \sum _{i=1}^N{Q}^-_i\left\{ E\left( x - y_i^-\right) - E\left( x-z_i^-\right) \right\} {,} \end{aligned}$$
(16)

where \(Q_0^-, Q_1^-,\cdots ,Q_N^-\) are selected to fulfill

$$\begin{aligned} {\left\{ \begin{array}{ll} Q_0^- + \sum _{j=1}^N Q_j^-{G_{i,j}^{-}} = \kappa _i\ \ \text{ for }\ \ i = 1,\cdots ,N, \\ -\sum _{j=1}^NQ_j^-H_j^{{-}} = 0{,} \end{array}\right. } \end{aligned}$$
(17)

where

$$\begin{aligned} \begin{aligned} G_{i,j}^-&:= E({\textbf{X}}_i^* - y_j^{{-}}) - E({\textbf{X}}_i^* - z_j^{{-}}), \\ H_j^{{-}}&:= - \sum _{i=1}^N{\textbf{H}}^{{-}}_{i,j}\cdot {\textbf{n}}_ir_i, \\ {\textbf{H}}^{{-}}_{i,j}&:= \nabla E({\textbf{X}}_i^* - y^-_j) - \nabla E({\textbf{X}}_i^* - z^-_j). \end{aligned} \end{aligned}$$
(18)

Remark 1

(Role of dummy singular points \(z_j^{\pm }\)) As mentioned in Introduction, the approximate solution (4) of (1) is not invariant under scale transformation. Taking dummy singular points \(z_j^{\pm }\), the approximate solution whose form takes (5) is invariant under scale transformation. Indeed, for each \(\alpha \in {\mathbb {R}}\backslash \{0\}\),

we define \(U^+_\alpha :{\mathbb {R}}^2\rightarrow {\mathbb {R}}\) by

$$\begin{aligned} U_\alpha ^+(x):= Q_0^+ + \sum _{i=1}^NQ_i^+\left\{ E\left( x - \alpha y_i^+\right) - E\left( x-\alpha z_i^+\right) \right\} . \end{aligned}$$

Then, it is easily seen that

$$\begin{aligned} U_\alpha ^{+}({\alpha x}) = U^+(x). \end{aligned}$$
(19)

This fact guarantees that

$$\begin{aligned} {\left\{ \begin{array}{ll} \Delta U^+ = 0\ \ \text{ in }\ \ \Omega ^N,\\ U^+ = \kappa \ \ \text{ on }\ \ \Gamma ^N \end{array}\right. } \end{aligned}$$

if and only if

$$\begin{aligned} {\left\{ \begin{array}{ll} \Delta _\alpha U^+_\alpha = 0\ \ \text{ in }\ \ \alpha \,\Omega ^N,\\ U^+_\alpha = \kappa \ \ \text{ on }\ \ \alpha \,\Gamma ^N, \end{array}\right. } \end{aligned}$$

where \(\alpha \,X:= \{\alpha \,x\mid x\in X\}\) for each \(X\subset {\mathbb {R}}^2\), and \(\Delta _\alpha \) denotes the Laplacian in the scaled coordinate \(\alpha \,{\mathbb {R}}^2 = {\mathbb {R}}^2\), namely \(\Delta _\alpha := \frac{1}{\alpha ^2}\Delta \). We should note that the formula (19) only holds for the fundamental solution to the Laplace equation in \({\mathbb {R}}^2\). In other words, this is a contribution of the log potential.

Once \(Q^+_i\) and \(Q^-_i\) are determined, we can define a representative normal velocity at \({\textbf{X}}_i\). By setting \(v_i^+:= -\nabla U^+({\textbf{X}}_i^*)\cdot {\textbf{n}}_i\) and \(v_i^-:= -\nabla U^-({\textbf{X}}_i^*)\cdot (-{\textbf{n}}_i)\), we define the representative normal velocities by

$$\begin{aligned} V_i^\pm := \frac{v_i^\pm + v_{i+1}^\pm }{2\cos _i}\ \ \text{ for }\ \ i = 1,\cdots ,N. \end{aligned}$$
(20)

To reduce instability of the scheme, we consider the tangential vector that does not affect the shape of the polygon. To this end, we adopt a uniformly distribute method (UDM). Let us only state formulae to obtain the tangential velocities. We refer the readers to Sakakibara and Yazaki [25] for derivation of the scheme.

Tangential velocities \(W_i(1\le i\le N)\) are defined as follows:

$$\begin{aligned} W_i:= \frac{\Psi _i + C}{\cos _i}\ \ \text{ for }\ \ 1\le i\le N\quad {\text{ with }}\quad C:= -\frac{\sum _{i=1}^N\frac{\Psi _i}{\cos _i}}{\sum _{i=1}^N\frac{1}{\cos _i}}. \end{aligned}$$
(21)

Here we have set \(\Psi _i:= \sum _{j=1}^i\psi _j\) for each \(1\le i\le N\) where \(\psi _1:= 0\) and

$$\begin{aligned} \psi _i:= \frac{1}{N}\sum _{i=1}^N\kappa _i\left( v^+_i + v^-_i\right) r_i - \left( V^+_i+V^-_i\right) \sin _i - \left( V^+_{i-1}+V^-_{i-1}\right) \sin _{i-1} + \left( \frac{L}{N} - r_i\right) \omega \end{aligned}$$

for \(2\le i \le N\) with \(L:= \sum _{i=1}^N r_i\) and \(\omega := 10N\).

Step 3. Time Evolution of the Polygonal Interface

Given an initial curve \(\Gamma _0 = \partial \Omega _0\), we approximate it by an N polygonal curve

$$\begin{aligned} \Gamma ^N_0 = \bigcup _{i=1}^N\left[ {\textbf{X}}_{i-1}^{(0)},{\textbf{X}}_i^{(0)}\right] {,} \end{aligned}$$

where \({\textbf{X}}^{(0)}_i(1\le i\le N)\) denote vertices of \(\Gamma ^N_0\). The domain surrounded by \(\Gamma ^N_0\) is denoted by \(\Omega ^N_0\). For \(t>0\), suppose that an N polygon \(\Gamma ^N_t\) is an approximation of \(\Gamma _t\) to be found. The vertices of \(\Gamma ^N_t\) are denoted by \({\textbf{X}}_i = {\textbf{X}}_i(t)(1\le i\le N)\). Quantities \(\kappa _i = \kappa _i(t), {\textbf{N}}_i={\textbf{N}}_i(t), {\textbf{T}}_i = {\textbf{T}}_i(t), V^+_i=V^+_i(t), V^-_i = V^-_i(t), V_i = V_i(t):=V^+_i+V^-_i\) and \(W_i=W_i(t)\) are defined as above. Following the continuous version of the evolution law, we consider

$$\begin{aligned} \frac{d}{dt}{\textbf{X}}_i(t) = V_i(t){\textbf{N}}_i(t) + W_i(t){\textbf{T}}_i(t)\ \ \text{ for }\ \ i=1,\cdots ,N,\ t>0 \end{aligned}$$
(22)

with the initial condition \({\textbf{X}}_i(0) = {\textbf{X}}_i^{(0)}(1\le i \le N)\). Finally, the time variable is discretized as \(t_n = n\Delta t(n = 0,1,\cdots )\) with a given time step \(\Delta t>0\) and the forward Euler method is applied to (22). Using the notations \({\textbf{X}}^n_i = {\textbf{X}}_i(t_n),V_i^n=V_i(t_n),{\textbf{N}}_i^n={\textbf{N}}_i(t_n),W_i^n=W_i(t_n)\) and \({\textbf{T}}_i^n={\textbf{T}}_i(t_n)\), we provide the fully discrete scheme below.

$$\begin{aligned} {\textbf{X}}^{n+1}_i = {\textbf{X}}^n_i + \Delta t\left( V_i^n{\textbf{N}}_i^n + W_i^n{\textbf{T}}_i^n\right) \ \ \text{ for }\ \ i = 1,\cdots ,N,\ n=0,1,\cdots \end{aligned}$$
(23)

with the initial condition \({\textbf{X}}^0_i = {\textbf{X}}^{(0)}_i(1\le i \le N)\). An N polygonal curve that consists of the vertices \({\textbf{X}}^n_i(1\le i \le N)\) solving (23) is denoted by \(\Gamma ^{N,n}_{\Delta t}\). The interior domain of \(\Gamma ^{N,n}_{\Delta t}\) is denoted by \(\Omega ^{N,n}_{\Delta t}\).

Remark 2

(Computational cost) Let us compare our scheme with the finite element method (FEM). Here, we measure the computational cost in terms of the time complexity of each numerical scheme with respect to N.

We begin with the FEM. Preparing the mesh points in bulk can be estimated as \(O(N^2)\) since we have to ensure that each vertex of \(\Gamma ^N\) corresponds to a mesh point in bulk. Establishing a linear system to be solved needs \(O(N^3)\) steps due to a bulk-interface cross quantity. Solving the linear system is of course takes O(1). Evolving the polygon takes O(N). Finally, we may need a remeshing process if a fitted method is adapted. This process takes \(O(N^2)\).

On the other hand, in our scheme, establishment of a linear system needs only \(O(N^2)\). Note that the highest order appears when we calculate the quantities \({\textbf{H}}_{i,j}^\pm \) and \(G_{i,j}^\pm \). Instead of a remeshing process, we are required to move each collocation point along with the tangential direction for stability of the scheme. This process corresponds to calculating \(\Psi _i\) appearing in the formula (21). At first glance, we need \(O(N^2)\) steps to derive this quantity. However, calculation of the accumulation sum in advance allow us to derive it only by O(N) steps.

Owing to the CFL condition, the number of iterations is required at least \(O(N^2)\). Summing up, the time complexities of the FEM and the proposed scheme are respectively \(O(N^5)\) and \(O(N^4)\). Therefore, we can say that the proposed scheme is a “rapid solver”.

3 Properties of the Scheme

As mentioned in Introduction, the proposed numerical scheme is expected to have the area-preserving and the curve-shortening properties since the original continuous problem has such properties. Here, we assume that \(\Gamma _t\) is a simply closed curve that separates \({\mathbb {R}}^2\) into a bounded domain \(\Omega _t\) and an unbounded domain \({\mathbb {R}}^2\backslash \overline{\Omega _t}\). Suppose that \((u,\Gamma _t)\) is a solution to the Mullins–Sekerka problem (1). Let us distinguish u inside \(\Omega _t\) by writing \(u^i\), whereas u outside \(\Omega _t\) is presented as \(u^e\). Then, the area \({\mathfrak {A}}_t\) of \(\Omega _t\) never changes. Indeed, we compute

$$\begin{aligned} \frac{d}{dt}{\mathfrak {A}}_t= & {} \int _{\Gamma _t}VdS = -\int _{\Gamma _t}\left[ \frac{\partial u}{\partial {\textbf{n}}}\right] dS = \int _{\Gamma _t}\left( \frac{\partial u^e}{\partial {\textbf{n}}} - \frac{\partial u^i}{\partial {\textbf{n}}}\right) dS \\= & {} -\int _{B(0,R)\backslash \overline{\Omega _t}}\Delta u^edx+ \int _{\partial B(0,R)}\frac{\partial u^e}{\partial {\textbf{n}}}dS - \int _{\Omega _t}\Delta u^i dx \\= & {} 2\pi R\cdot O\left( \frac{1}{R^2}\right) \ \ \text{ as }\ \ R\rightarrow \infty . \end{aligned}$$

Here, \(R>0\) is arbitrarily taken so large that \(\Omega _t\subset \subset B(0,R)\). Thus, \(\frac{d}{dt}{\mathfrak {A}}_t = 0\). Moreover, we see that the length \({\mathfrak {L}}_t\) of \(\Gamma _t\) does not increase in time. Indeed,

$$\begin{aligned} \frac{d}{dt}{\mathfrak {L}}_t= & {} \int _{\Gamma _t}\kappa VdS = -\int _{\Gamma _t}u\left[ \frac{\partial u}{\partial {\textbf{n}}}\right] dS = \int _{\Gamma _t}\left( u\frac{\partial u^e}{\partial {\textbf{n}}} - u\frac{\partial u^i}{\partial {\textbf{n}}}\right) dS \\= & {} -\int _{B(0,R)}|\nabla u|^2dx + \int _{\partial B(0,R)}u\frac{\partial u^e}{\partial {\textbf{n}}} dS -\int _{B(0,R)\backslash {\overline{\Omega }}_t}u^e\Delta u^edx -\int _{\Omega _t}u^i\Delta u^idx. \end{aligned}$$

Since \(\nabla u = O\left( \frac{1}{|x|^2}\right) \) as \(|x|\rightarrow \infty \), u is bounded in \({\mathbb {R}}^2\) (see Lemma 3). Therefore, by letting \(R\rightarrow \infty \), we see that the right-hand side of the above identity is not positive. In this section, we will observe that these fine properties are valid even in the discrete version of the solutions derived by MFS. Let us prepare several useful formulae to proceed argument. All proofs of the following results are postponed and stated in Appendix.

Let \(L = L(t)\) and \(A = A(t)\) be the length and the area of a polygon evolving in time, subject to (22), respectively. Namely,

$$\begin{aligned}{} & {} L:= \sum _{i = 1}^N |{\textbf{X}}_i - {\textbf{X}}_{i-1}|, \end{aligned}$$
(24)
$$\begin{aligned}{} & {} A:= \frac{1}{2}\sum _{i=1}^N {{\textbf{X}}_{i-1}\cdot {\textbf{X}}_i^\perp }. \end{aligned}$$
(25)

The following formulae are used to derive the tangential velocities of each vertex of the polygon.

Proposition 1

Let L and A be defined by (24) and (25), respectively. Then, the following formulae are valid:

$$\begin{aligned} {\dot{L}}= & {} \sum _{i=1}^N\kappa _i\left( v^+_i + v^-_i\right) r_i, \end{aligned}$$
(26)
$$\begin{aligned} {\dot{A}}= & {} \sum _{i=1}^N\left( v^+_i + v^-_i\right) r_i + {\text {err}}A{\text{, }} \end{aligned}$$
(27)

where

$$\begin{aligned} {\text {err}}A:= \sum _{i=1}^N \left( W_i\sin _i - \frac{v^+_{i+1}-v^+_i}{2} - \frac{v^-_{i+1}-v^-_i}{2}\right) \frac{r_{i+1}-r_i}{2}. \end{aligned}$$

Proposition 2

(Uniform boundedness of charges) Set

$$\begin{aligned} {\mathbb {A}}_N:= \begin{pmatrix} 0 &{} {\textbf{H}}^T \\ {\textbf{1}} &{} {\mathbb {G}} \end{pmatrix}, {\textbf{Q}}_N:= \begin{pmatrix} Q_0 \\ Q_1 \\ \vdots \\ Q_N \end{pmatrix}\ {and}\ {\textbf{K}}_N:= \begin{pmatrix} 0 \\ \kappa _1 \\ \vdots \\ \kappa _N \end{pmatrix}{,} \end{aligned}$$

where \({\textbf{H}}:= (H_1,\cdots ,H_N)^T\) and \({\mathbb {G}}:=(G_{i,j})\). Suppose that \(\beta \ge 0\). Then, the values \(\sup _{N\in {\mathbb {N}}}{\frac{1}{N}\Vert {\mathbb {A}}_N^{-1}\Vert _1}\), \(\sup _{N\in {\mathbb {N}}}{\frac{1}{N}\Vert {\textbf{Q}}_N\Vert _1}\), and \(\sup _{N\in {\mathbb {N}}}{\frac{1}{N}\Vert {\textbf{K}}_N\Vert _1}\) are finite whenever \({\mathbb {A}}_N\) is regular for sufficiently large N, where for an \(m\times n\) matrix \({\mathbb {A}}\) with \(m,n\in {\mathbb {N}}\), \(\Vert {\mathbb {A}}\Vert _1\) denotes the induced norm from the linear operator \({\mathbb {R}}^{n}\ni x\mapsto {\mathbb {A}}x\in {\mathbb {R}}^{m}\) when \({\mathbb {R}}^{m}\) and \({\mathbb {R}}^n\) are equipped with 1-norm. Namely, we define

$$\begin{aligned} \Vert {\mathbb {A}}\Vert _1:= \max _{1\le j\le n}\sum _{i=1}^m|a_{ij}|. \end{aligned}$$

Especially, each charge \(Q_i(0\le i\le N)\) has order O(1).

Theorem 1

(Curve shortening property) Assume that L is defined by (24). Then, it holds that

$$\begin{aligned} {\dot{L}} \le -\int _{\Omega ^N_t}|\nabla U^+|^2 - \int _{B_R\backslash \overline{\Omega ^N_t}}|\nabla U^-|^2 + O(N^2\log {N}) + C_N\cdot O\left( \frac{1}{R}\right) \ \ \text{ as }\ \ N,R\rightarrow \infty {\text{, }}\nonumber \\ \end{aligned}$$
(28)

where \(C_N\) denotes a positive constant depending on N.

Remark 3

Despite the appearance of the term \(O(N^2\log {N})\), the right-hand side of (28) becomes nonpositive for N large enough. Suppose that \(\Omega ^N\) approximates a uniformly \(C^2\) bounded domain \(\Omega \), and hence \(\Omega ^N\) satisfies the exterior sphere condition. Then, since \(d\le |x - y_j^{{+}}|\le d + \text{ diam }(\Omega ^N)\) for each \(1\le j\le N\) and \(x\in \overline{\Omega ^N}\), it holds that \(|x - y_j^{{+}}| = {O(1)}\). An argument similar to Lemma 1 (see Appendix) shows

$$\begin{aligned} \left( \frac{x - y_j^{{+}}}{|x - y_j^{{+}}|^2} - \frac{x - z_j^{{+}}}{|x - z_j^{{+}}|^2}\right) = O(N^{{\beta }}). \end{aligned}$$

Hence, a direct calculation gives:

$$\begin{aligned} |\nabla U^+(x)|^2= & {} \frac{1}{4\pi ^2}\sum _{j = 1}^NQ_i^+\left( \frac{x - y_j^{{+}}}{|x - y_j^{{+}}|^2} - \frac{x - z_j^{{+}}}{|x - z_j^{{+}}|^2}\right) \\{} & {} \cdot \sum _{j = 1}^NQ_i^+\left( \frac{x - y_j^{{+}}}{|x - y_j^{{+}}|^2} - \frac{x - z_j^{{+}}}{|x - z_j^{{+}}|^2}\right) \\= & {} \sum _{i,j=1}^N O(1)\times O(1)\times O(N^{{\beta }})\times O(N^{{\beta }}) = O(N^{{2\beta + 2}}). \end{aligned}$$

Here, we have recalled that \(Q_j^+ = O(1)\) for each \(1\le j\le N\) from Proposition 2. We note that \(-\int _{\Omega ^N}|\nabla U^+|^2 + O(N^2\log {N})\) is negative for sufficiently large N whenever \(\beta > 0\). We take such an N and then send R to infinity to get a desired property. Note that the term \(-\int _{B_R\backslash \overline{\Omega ^N}}|\nabla {U}^-|^2\) is decreasing with respect to R. Thanks to Proposition 1, we can expect that our scheme decreases the length of the polygon step-by-step. This expectation turns out to be true subsequently (see Corollary 1).

Theorem 2

(Area preserving property) Assume that the vertices \({\textbf{X}}_i\) are uniformly distributed at every time, namely, \(r_i{(t)} = r_{i+1}{(t)}\) for all \(t\ge 0\) and each \(1\le i\le N\) and these are differentiable with respect to the time variable. Then, the area A surrounded by \(\Gamma {^N}\) is theoretically preserved for all t; that is \({\dot{A}} = 0\), provided that we adopt the UDM.

Theorem 1 indicates that our scheme has the CS property in some sense once we assume the differentiability of \({\textbf{X}}_i\) with respect to the time variable. Our next trial is to derive a time-discrete version of Theorem 1. For simplicity of notation, let us use the symbol \(v_i^n\) instead of \(v^+_i + v^-_i\). Moreover, let \(r^n_i\), \(\kappa ^n_i\) and \({\hat{\kappa }}^n_i\) denote the corresponding values of \(\Gamma ^{N,n}_{\Delta t}\) defined in (8), (9) and (10), respectively.

Theorem 3

(Discrete version of the CS property) For each \(n\ge 0\), let \(L^n:= \sum _{i = 1}^N|{\textbf{X}}^n_i - {\textbf{X}}^n_{i-1}|\) where \({\textbf{X}}^n_i(1\le i\le N)\) is defined in terms of (23). Then, it holds that for each \(n\ge 0\),

$$\begin{aligned} L^{n+1}-L^n= & {} \Delta t\sum _{j=1}^N\kappa ^n_jv^n_jr^n_j + \Delta t^2\left( O\left( \frac{1}{N}\right) \left( \sum _{j=1}^N\kappa ^n_jv^n_jr^n_j\right) ^2 \right. \nonumber \\{} & {} \left. +\, O(N^{{\beta +1}})\sum _{j=1}^N\kappa ^n_jv^n_jr^n_j + O(N^{{2\beta +3}})\right) . \end{aligned}$$
(29)

Corollary 1

Suppose that \(\beta >0\) and \(\Delta t = N^{-\alpha }\) for some \(\alpha > 0\). Then, for sufficiently large N, \(L^{n+1}\le L^n\) is valid for each \(n\ge 0\) whenever \(\alpha > \beta + 3\).

Proof

First, we should note that the quantity \(\sum _{i=1}^N\kappa _i^n v_i^n r_i^n\) has been already estimated in Theorem 1 as \({\dot{L}}\). Indeed, the estimation (69) is also an estimate for the quantity \(\sum _{i=1}^N\kappa _i^n v_i^n r_i^n\) not only for \({\dot{L}}\). We observe from the discussion in Remark 3 that \(\sum _{j=1}^N\kappa ^n_j v^n_j r^n_j\) is not positive for sufficient large N since \(\beta > 0\). Moreover, it is easy to see that the order of this quantity is equal to \(O(N^\beta )\). Thus, for non-positiveness of the right-hand side of (29), it suffices to impose the following inequality:

$$\begin{aligned} -\alpha + \beta > \max \{-2\alpha +2\beta -1,-2\alpha +2\beta +1,-2\alpha +2\beta +3\}. \end{aligned}$$

This inequality readily implies \(\alpha > \beta + 3\). \(\square \)

Remark 4

In [25], several numerical experiments were carried out with \(N = 100\), \(\Delta t:= 0.1 N^{-2}\) and \(z_j^+ = 1000y_j^+\). Thus, the existing scheme for the Hele–Shaw problem fixed the position of the dummy singular points \(z_j^+\) according to N. On the other hand, in the proposed scheme, it also depends on the choice of the parameter \(\beta \). Though, we cannot directly compare our scheme with that in [25] due to the layout of \(z_j^+\), we have been succeeded to prove that the position of \(z_j^+\) surely contributes the CS property of the discrete scheme.

4 Numerical Examples

In this section, we show the results of numerical experiments for various kinds of curves in \({\mathbb {R}}^2\). We fix \(\beta := \frac{3}{2}\) and choose the dummy singular points \(z_j^+\ (1\le j\le N)\) as in (11) in Example 1, 2 and 3. On the other hand, in Example 4,5,6 and 7, the position of \(z_j^+\) will be chosen specifically in each case.

Example 1

We borrowed the coordinates of the pi curve as the initial data from https://ja.wolframalpha.com/, as [25]. In this experiment, we have set \(N=100\) and \(\Delta t=0.1 \, N^{-2}\). We continue the scheme until \(t = 0.7\), namely evolution has been taken place 70000 steps. The elapsed time is 16 min and 36 s. Thus, a single iteration takes around 0.014s. See Fig. 2 for a numerical result.

Fig. 2
figure 2

Evolution of Pi shaped curve

Fig. 3
figure 3

Time evolution of length, area and curvatures for pi-curve

To confirm the uniform boundedness of \(Q^+_0\), \(\frac{1}{N}\sum _{j=1}^N|Q^+_j|\), \({Q}^-_0\), and \(\frac{1}{N}\sum _{j=1}^N|{Q}^-_j|\) for a large N, we extract the first step of the scheme for each N and draw their values as a graph. We infer from Fig. 4 that all of them may be dominated by constants and depend only on the initial curve.

Fig. 4
figure 4

N dependence of coefficients

Example 2

The star-shaped curve is close to a circle. As expected, this shape is deformed into a circle by our scheme. In this experiment, we have set \(N=100\) and \(\Delta t=0.1N^{-2}\). See Fig. 5 for a numerical result.

Fig. 5
figure 5

Evolution of Star shaped curve

Example 3

Mayer [17] showed that the one-sided Mullins–Sekerka flow (Hele–Shaw flow) does not necessarily preserve the convexity of the initial curve. This is a unique feature of the Mullins–Sekerka flow. This fact was also numerically observed by Bates et al. [5] provided that an initial curve is a tube with two circular end caps, even in the two-phase Mullins–Sekerka flow. We shall confirm that our scheme yields the same result as well. We set \(N = 50\) and \(\Delta t = 0.1N^{-2}\). In addition, assume that the length and thickness of the tube are 8.0 and 1.0, respectively.

Fig. 6
figure 6

Evolution of Tube shaped curve

Example 4

As mentioned in [5], two concentric circles and a function u in \({\mathbb {R}}^2\) are available to comfirm the accuracy of the numerical scheme. Let us recall the definition of u as follows: For \(0< R_1 < R_2\) and \(x\in {\mathbb {R}}^2\),

$$\begin{aligned} u(x):= {\left\{ \begin{array}{ll} \frac{1}{R_2}\ \ \text{ if }\ \ |x| \ge R_2,\\ -\frac{1}{R_1} + \frac{\frac{1}{R_1} + \frac{1}{R_2}}{\log {\frac{R_2}{R_1}}}\log {\frac{|x|}{R_1}}\ \ \text{ if }\ \ R_1\le |x|\le R_2, \\ -\frac{1}{R_1}\ \ \text{ if }\ \ |x| \le R_1. \end{array}\right. } \end{aligned}$$
(30)

Then, u is readily harmonic in \(\Omega := \{R_1<|x|<R_2\}\) and satisfies the Gibbs-Thomson law on \(\partial B_{R_1}(0)\cup \partial B_{R_2}(0)\). However, we cannot adopt this function as a benchmark for our scheme because this model can only describe the Hele–Shaw flow, which is one-sided. Indeed, though the normal derivative of u jumps across \(\partial \Omega \), u is constant in \({\mathbb {R}}^2\backslash {\overline{\Omega }}\) so that the jump coincides with \(-\nabla u\cdot {{\textbf{n}}_{}}\) and this case is something special. Hence, we should prepare a new example of u whose normal derivative does not vanish in both side across the boundary. To this end, we alternatively consider the following function u and the domains \(\Omega _i\) and \(\Omega _e\). Let \(0<R_1<R_2<R_3<R\) and we define

$$\begin{aligned} u(x):= & {} {\left\{ \begin{array}{ll} \frac{1}{R_3}\ \ \text{ if }\ \ |x|\ge R_3,\\ -\frac{1}{R_2} + \frac{\frac{1}{R_2} + \frac{1}{R_3}}{\log {\frac{R_3}{R_2}}}\log {\frac{|x|}{R_2}}\ \ \text{ if }\ \ R_2\le |x|\le R_3,\\ \frac{1}{R_1} + \frac{-\frac{1}{R_1} - \frac{1}{R_2}}{\log {\frac{R_2}{R_1}}}\log {\frac{|x|}{R_1}}\ \ \text{ if }\ \ R_1\le |x|\le R_2, \\ \frac{1}{R_1}\ \ \text{ if }\ \ |x| \le R_1, \end{array}\right. }\nonumber \\ \Omega _i:= & {} \{|x|< R_1\} \cup \{R_2< |x| < R_3\},\ \ \Omega _e:= {\mathbb {R}}^2\backslash \overline{\Omega _i}. \end{aligned}$$
(31)

Though the computation will be much more complicated since \(\Omega _i\) is not connected similarly to \(\Omega _e\), we see that the normal derivative of u from both sides of across \(\partial B_{R_2}(0)\subset \partial \Omega _i\) does not vanish. Observe that the function u defined by (31) rigorously satisfies the equalities (1) and the radii \(R_1, R_2\) and \(R_3\) evolve, subject to the following system of ordinary differential equations:

$$\begin{aligned} {\left\{ \begin{array}{ll} \frac{dR_1}{dt} = -\frac{\frac{1}{R_1} + \frac{1}{R_2}}{R_1\log {\frac{R_2}{R_1}}}, \\ \frac{dR_2}{dt} = -\left( \frac{\frac{1}{R_1} + \frac{1}{R_2}}{R_2\log {\frac{R_2}{R_1}}} + \frac{\frac{1}{R_2} + \frac{1}{R_3}}{R_2\log {\frac{R3}{R_2}}}\right) , \\ \frac{dR_3}{dt} = -\frac{\frac{1}{R_2} + \frac{1}{R_3}}{R_3\log {\frac{R_3}{R_2}}}. \end{array}\right. } \end{aligned}$$
(32)

In the sequel, let us confirm that this u can be approximated by the proposed scheme. First, to estimate the error between the results of the proposed scheme and the rigorous solution, we need to derive a numerical solution of (32). To this end, we adopt the fourth-order Runge–Kutta method. We draw three concentric circles: \(C_1\), \(C_2\), and \(C_3\) with radii of \(R_1\), \(R_2\), and \(R_3\), respectively. Then, we plot \(N_1\), \(N_2\), and \(N_3\) collocation points \({{\textbf {X}}}_{k,1},\cdots ,{{\textbf {X}}}_{k,N_k}\) on \(C_k\) for \(k = 1,2,3\), respectively. Due to a technical reason, we assume that \(N_2 = N_3\). For singular points \(y^\pm _{k,j}\) and dummy singular points \(z^\pm _{k,j}\), we set:

$$\begin{aligned}{} & {} y^+_{1,j}:= \textbf{X}^{*}_{1,j} + \frac{|\textbf{X}^{}_{1,1}|}{R_1\sqrt{N}}\textbf{n}^{}_{1,j}, \ \ z^+_{1,j}:= 1000y_{1,j}^{+},\\{} & {} y^+_{2,j}:= \textbf{X}^{*}_{2,j} + \frac{|\textbf{X}^{}_{2,1}|}{R_2\sqrt{N}}\textbf{n}^{}_{2,j}, \ \ z^+_{2,j}:= 1000y_{2,j}^{+},\\{} & {} y^+_{3,j}:= \textbf{X}^{*}_{3,j} + \frac{|\textbf{X}^{}_{3,1}|}{R_3\sqrt{N}}\textbf{n}^{}_{3,j}, \ \ z^+_{3,j}:= 1000y_{3,j}^{+},\\{} & {} y^-_{1,j}:= \textbf{X}^{*}_{1,j} - \frac{|\textbf{X}^{}_{1,1}|}{R_1\sqrt{N}}\textbf{n}^{}_{1,j}, \ \ y^-_{2,j}:= \textbf{X}^{*}_{2,j} - \frac{|\textbf{X}^{}_{2,1}|}{R_2\sqrt{N}}\textbf{n}^{}_{2,j},\\{} & {} y^-_{3,j}:= \textbf{X}^{*}_{3,j} - \frac{|\textbf{X}^{}_{3,1}|}{R_3\sqrt{N}}\textbf{n}^{}_{3,j}, \ \ z^-_{1,j}:= \frac{1}{2}y^-_{1,j}\quad {\text{ and }}\quad z^-_{2,j} = z^-_{3,j}:= \frac{1}{2}\left( y^-_{2,j} + y^-_{3,j}\right) . \end{aligned}$$

Note that the position of each dummy singular point \(z_{k,j}^+\) is different from (11). The quantity d that indicates the distance of each charge point \(y^\pm _{k,j}\) from the edge \(\left[ \textbf{X}^{}_{k,j-1},\textbf{X}^{}_{k,j}\right] \) is set to \(\frac{1}{\sqrt{N}}\) universally. However, we adjust this quantity by multiplying it with a scaling parameter. This scaling will stabilize the position of each charge point, even if the length of the edge \(\left[ \textbf{X}^{}_{k,j-1},\textbf{X}^{}_{k,j}\right] \) becomes quite small. Note that this modification is unnecessary if the domain approximated by a polygon is connected because the shape of the domain converges to a circle in time and the length of the edge is bounded below by a positive constant. In this experiment, the radii are chosen as \(R_1:= 1.0\), \(R_2:= 5.0\), and \(R_3:= 10.0\). Solving (32) numerically for these parameters shows that the circle \(C_1\) vanishes at approximately \(t = 0.56\), and a topological change occurs. However, if N is too small, then the error between the approximate solution and the rigorous one is not neglectable, and we cannot proceed the scheme until \(t=0.56\). This difficulty may stem from observation that the approximate solution \(U^+\) should be constant inside \(C_1\), although this cannot be expected due to the structure of the approximate solution. To avoid this problem, we calculate \(R_1'(t)\) and \(R_3'(t)\) in terms of the system (32), whereas we approximate \(R_2'(t)\) by the proposed scheme. To be more accurate, we apply the fourth-order Runge–Kutta method to obtain \(R_1(t)\), \(R_2(t)\), and \(R_3(t)\) for each time-step. To reduce the calculation load, we skip the step of the UDM. In other words, we always assume that the tangential velocity equals zero. Being optimistic, it is worth to consider only the normal velocity because the concentric circles are symmetric with respect to the origin. In this way, we can proceed with the scheme and measure the error of \(R_2\) until a topological change occurs.

Fig. 7
figure 7

3 concentric circles and the position of charge points

Now, let us explain a method to measure the efficiency of our scheme. We fix \(N_1:= 10\), change \(N:= N_2 = N_3\) and compare the results of computation. Let \({\text {Err}}(N)\) denote the quantity used to measure the efficiency of our scheme. This quantity should equal zero when the approximate solution entirely corresponds to a rigorous solution. Suppose that the approximate solution obtained by our scheme converges to a rigorous solution in the sense that \(\lim _{N\rightarrow \infty }\frac{{\text {Err}}(N)}{N^r} = C > 0\) for some \(r < 0\). Then, since it also holds that \(\lim _{N\rightarrow \infty }\frac{{\text {Err}}(\alpha N)}{(\alpha N)^r} = C\) for every \(\alpha > 1\), we have \(\lim _{N\rightarrow \infty }\frac{{\text {Err}}(N)}{{\text {Err}}(\alpha N)} = \alpha ^{-r}\). Taking the logarithm with a base of \(\alpha \) shows

$$\begin{aligned} \lim _{N\rightarrow \infty }\log _\alpha {\frac{{\text {Err}}(\alpha N)}{{\text {Err}}(N)}} = r. \end{aligned}$$
(33)

This \(r<0\) is often called the experimental order of convergence (EOC). The quantity (33) was utilized in Eq. (3.1) [23] to present an experimental performance analysis of a PDE-solving system called ELLPACK.

Let us define \({\text {Err}}(N)\) in our setting. We implement the time-discrete evolution of polygons until \(k\Delta t > 0.5\) holds. Let M be the number of implementations and set \(T:= M\Delta t\) where \(\Delta t:= 0.1N^{-2}\) as usual. Then, we define \({\text {Err}}(N)\) by

$$\begin{aligned} {\text {Err}}(N):= \frac{1}{M\Delta t}\sum _{k = 1}^M \frac{|{\hat{R}}_2(k) - R_2(k)|}{{\hat{R}}_2(k)}\Delta t \approx \frac{1}{T}\int _0^T\frac{|{\hat{R}}_2(t) - R_2(t)|}{{\hat{R}}_2(t)}dt, \end{aligned}$$

where \(R_2(k):= |\textbf{X}^{k}_{2,1}|\) and \({\hat{R}}_2(t)\) denotes the rigorous solution of (32). This quantity is nothing but the mean value of the relative error between the radii of the approximate solution and the rigorous one. In terms of this error, let us summarize the result of the experiment.

Table 1 EOC with respect to N
Fig. 8
figure 8

Relative error of \(R_2(t)\) for each N. The x-axis denotes the time variable \(t = k\Delta t\) where k is the number of repetition

From this result, we can expect the convergence rate of the present scheme to be at least \(O\left( \frac{1}{\sqrt{N}}\right) \) as \(N\rightarrow \infty \).

Example 5

Bates et al. [5] treated a case where there are several particles in \({\mathbb {R}}^2\). According to [5], if the particles are disjoint circles, then the largest circle grows, and smaller particles shrink and eventually disappear. See Fig. 6 in [11] for a 3D case. The proposed scheme can also be applied to such cases. In order to observe this phenomenon, we prepare four circles in \({\mathbb {R}}^2\) which are imitated by 20 regular polygons, namely, we set \(N = 20*4 = 80\) and \(\Delta t:= 0.1N^{-2}\). The initial radius of the circles are respectively set to 1, 2, 3 and 4. We set \(z_j^+:= 1000y_j^+\) for each \(1\le j\le N\). While evolving, each circle will be removed from the target of the numerical calculation when its area becomes smaller than 0.65. Then, the time step will be reset to \(\Delta t:= 0.1\times (20p)^{-2}\) according to disappearance of a particle where p denotes the number of circles.

Fig. 9
figure 9

Evolution of multi particles.

Fig. 10
figure 10

Evolution of areas of each particle

Example 6

Setting the initial datum as two ovals and placing them closely, we can observe the coalescence of particles as shown in Fig. 8 in [5]. This type of phenomenon was rigorously formulated by Röger [24] with the aid of the notion of varifolds. He was successful to establish the existence of a weak solution to the Mullins–Sekerka problem without the assumption that the loss of area never happens. However, there is no uniqueness result of the weak solution. In this experiment, each oval has 42 collocation points, that is, \(N = 42*2 = 84\); We check the distance between the collocation points of the ovals step-by-step. If the distance becomes lower than \(1/\sqrt{N}\), then we remove the collocation points and their neighboring collocation points from the ovals. Second, we artificially connect the ovals and regard them as one polygon. We set \(\Delta t:= 0.1N^{-2}\) and \(z_j^+:= 1000y_j^+\) for each \(1\le j\le N\). For the numerical result, see Fig. 11.

Fig. 11
figure 11

Coalescence of particles

Example 7

In this experiment, we set \(N:= 100\), \(\Delta t:=0.1N^{-2}\) and \(z_j^+:= 1000y_j^+\) for each \(1\le j\le N\). When the initial data is a dumbbell, which is the sum set of two circles connected by a narrow bar, a pinch off phenomenon may occur. For example, let rl and b be the circle’s radius, the bar’s length and the thickness, respectively, with \(r:= 30,\) \(l:= 5\) and \(b:= 0.25\). Then, the thickness of the dumbbell decreases in time and eventually pinches off. In this case, we remove the vertices of the polygon when the bar thickness becomes smaller than \(2/\sqrt{N}\). See Fig. 12.

Fig. 12
figure 12

Pinch off of a dumbbell

To avoid this phenomenon, we adopt a more general form of the Mullins–Sekerka equation. We consider the following problem instead of (1).

$$\begin{aligned} {\left\{ \begin{array}{ll} \Delta u = 0\ \ \text{ in }\ \ {\mathbb {R}}^2\backslash \Gamma _t, \\ u = \kappa \ \ \text{ on }\ \ \Gamma _t, \\ \nabla u = O\left( \frac{1}{|x|^2}\right) \ \ \text{ as }\ \ |x|\longrightarrow \infty , \\ V = \sigma _e\frac{\partial u^e}{\partial {\textbf{n}}} - \sigma _i\frac{\partial u^i}{\partial {\textbf{n}}}\ \ \text{ on }\ \ \Gamma _t. \end{array}\right. } \end{aligned}$$
(34)

Here, \(\sigma _e\) and \(\sigma _i\) are positive constants that are generally different. These quantities designate the heat-diffusion efficiency of the two-phases. Observe that the area \({\mathfrak {A}}_t\) is conserved, and the length \({\mathfrak {L}}_t\) is decreasing in time even if \(\sigma _e\ne \sigma _i\). For this type of presentation of the Mullins–Sekerka equation, see P.558 [22] for instance. We set \(\sigma _e:= 1000\) and \(\sigma _i:= 1\) to prevent the dumbbell from pinching off. See Fig. 13.

Fig. 13
figure 13

Dumbbell does not pinch off

5 Extension to Boundary Contact Cases

Let us consider the Mullins–Sekerka flow with a homogeneous Neumann boundary condition in the half plane \({\mathbb {R}}^2_+:=\left\{ (x_1,x_2)\in {\mathbb {R}}^2 \mid x_2> 0\right\} \). Formally, the problem we are concerned with is as follows:

$$\begin{aligned} {\left\{ \begin{array}{ll} \Delta u = 0\ \ \text{ in }\ \ {\mathbb {R}}^2_+, \\ u = \kappa \ \ \text{ on }\ \ \Gamma _t, \\ \frac{\partial u}{\partial {\nu }} = 0\ \ \text{ on }\ \ \partial {\mathbb {R}}^2_+, \\ \nabla u = O\left( \frac{1}{|x|^2}\right) \ \ \text{ as }\ \ |x|\rightarrow \infty , \\ V = -\left[ \frac{\partial u}{\partial {{\textbf{n}}_{}}}\right] \ \ \text{ on }\ \ \Gamma _t{,}\\ {\nu \cdot {\textbf{n}}_{} = 0\ \ \text{ on }\ \ \partial {\mathbb {R}}^2_+,} \end{array}\right. } \end{aligned}$$
(35)

where \(\nu \) denotes the outer unit formal vector to \(\mathbb {R}^2_+\), namely \(\nu = (0,-1)\), and \(\Gamma _t\) is an open curve in \({\mathbb {R}}^2_+\) whose endpoints are bonded on \(\partial {\mathbb {R}}^2_+\) for every \(t\ge 0\).

  • Alternative fundamental solutions To solve this problem numerically, we have to use another approximate solution different from (12) and (16). Let us explain how to construct approximate solutions to (35) step-by-step. Similar to the case where \(\Gamma _t\) does not touch the boundary, suppose that \(\Gamma _t^N\) is an N polygon whose vertices are \({\textbf{X}}_i(1\le i\le N)\). The indices are numbered counterclockwise so that \({\textbf{X}}_1\) and \({\textbf{X}}_N\) are the endpoints of \(\Gamma _t^N\). \({\textbf{X}}_1\) and \({\textbf{X}}_N\) are allowed to move in time only on \(\partial {\mathbb {R}}^2_+\), that is the \(x_1\)-axis. Singular points \(y_i^\pm ,z_i^\pm (2\le i\le N)\) are set as \(y_i^\pm := {{\textbf {X}}}_i^* \pm \frac{1}{\sqrt{N}}{{\textbf {n}}}_i, z_i^+:= 1000 * y^+_i\) and \(z_i^-:= {{\textbf {X}}}_i^* - \frac{1}{2\sqrt{N}}{{\textbf {n}}}_i\). Now, we define the approximate solutions \(U^+\) and \(U^-\) as follows:

    $$\begin{aligned}{} & {} U^+(x):= Q_0^+ + \sum _{j=1}^N Q_j^+\left\{ E\left( x - y_j^+\right) - E\left( x - z_j^+\right) + E\left( x - {\overline{y}}_j^+\right) - E\left( x - {\overline{z}}_j^+\right) \right\} ,\nonumber \\ \end{aligned}$$
    (36)
    $$\begin{aligned}{} & {} U^-(x):= Q_0^- + \sum _{j=1}^N Q_j^-\left\{ E\left( x - y_j^-\right) - E\left( x - z_j^-\right) + E\left( x - {\overline{y}}_j^-\right) - E\left( x - {\overline{z}}_j^-\right) \right\} {,}\nonumber \\ \end{aligned}$$
    (37)

    where we have used the notation \({\overline{y}}:= {(y_1,-y_2)}\) when \(y = {(y_1,y_2)}\in {{\mathbb {R}}^2}\). Observe that the functions \(U^+\) and \(U^-\) are symmetric across the \(x_1\)-axis and fulfill the homogeneous Neumann boundary conditions owing to their structures. The real numbers \(Q_i^\pm (0\le i\le N)\) are determined with the aid of the Dirichlet boundary condition and the AP property. Note that the angle \(\varphi _i\) of \(\Gamma ^N_t\) at \({\textbf{X}}_{i}\) is usually determined by the edges \(\Gamma ^N_i\) and \(\Gamma ^N_{i+1}\). However, if \(\Gamma ^N_t\) is a polygon which mimics an open curve, then we cannot determine the angles \(\varphi _1\) and \(\varphi _N\) since the edge \(\Gamma ^N_1\) is not included in \(\Gamma ^N_t\). Thus, in contrast to the case for simply closed curves, we now suppose that imaginary points \({\textbf{X}}_{0}\) and \({\textbf{X}}_{N+1}\) exist, and their positions are defined by

    $$\begin{aligned} {\textbf{X}}_{0}:= {\textbf{X}}_{1} - r_2{\textbf{t}}_2\qquad \text{ and }\qquad {\textbf{X}}_{N+1}:= {\textbf{X}}_{N} + r_N{\textbf{t}}_N. \end{aligned}$$

    In this setting, we deduce that \(\varphi _1 = \varphi _N = 0\) so that \(\tan _1 = \tan _N = 0\). Thus, we shall define \(\kappa _2\) and \(\kappa _N\) by

    $$\begin{aligned} \kappa _2:= {\frac{\tan _2 + \tan _1}{r_2} = \frac{\tan _2}{r_2}}\quad {\text{ and }}\quad \kappa _N:= {\frac{\tan _N + \tan _{N-1}}{r_N} = \frac{\tan _{N-1}}{r_N}}. \end{aligned}$$
    (38)

    For the same reason, we have to replace \(H_j^\pm \) defined in (14) and (18) by the following formula:

    $$\begin{aligned} {H_j^\pm := -\sum _{i=2}^N{\textbf{H}}_{i,j}^\pm \cdot {\textbf{n}}_{i}r_i}. \end{aligned}$$
    (39)
  • Modified UDM We change the way to implement the method of uniform distribution for the vertices \({\textbf{X}}_i\) because \({\textbf{X}}_1\) and \({\textbf{X}}_N\) never move along the tangential vector of \(\Gamma _t\), and the edge \(\Gamma ^N_1\) is not included in \(\Gamma _t^N\). Tangential velocities \(W_i\,(1\le i\le N)\) are required to satisfy the following linear system:

    $$\begin{aligned} {\left\{ \begin{array}{ll} L = \sum _{i=2}^Nr_i,\ {\dot{L}} = \sum _{i=2}^N\kappa _iv_ir_i, \\ -\cos _iW_i + \cos _{i+1}W_{i+1} = \frac{{\dot{L}}}{N-1} + \left( \frac{L}{N-1} - r_i\right) \omega - V_{i+1}\sin _{i+1} - V_i\sin _i\ \ \text{ for }\ \ 2\le i\le N, \\ W_1 = W_N = 0. \end{array}\right. } \end{aligned}$$
  • Set endpoints by projection By rearrangement explained so far, we can calculate the normal velocities \(V_i^\pm \ (2\le i\le N-1)\). Though we also obtain \(V_1^\pm \) and \(V_N^\pm \), we never use them directly. Given vertices \({\textbf{X}}^n_i\ (1\le i\le N)\) of \(\Gamma ^{N}_{t}\), we evolve \({\textbf{X}}^n_i\ (2\le i\le N-1)\) and get \({\textbf{X}}^{n+1}_i\ (2\le i\le N-1)\). Then, we define the next step of the endpoints \({\textbf{X}}_{1}^n\) and \({\textbf{X}}_{N}^n\) by

    $$\begin{aligned} {\textbf{X}}_{1}^{n+1}:= P\left( {\textbf{X}}_{2}^{n+1}\right) \quad {\text{ and }}\quad {\textbf{X}}_{N}^{n+1}:= P\left( {\textbf{X}}_{N-1}^{n+1}\right) , \end{aligned}$$

    where \(P:{\mathbb {R}}^2_+\rightarrow \partial {\mathbb {R}}^2_+\) is the projection defined by \(P(x,y):= (x,0)\) for each \((x,y)\in {\mathbb {R}}^2\). In this way, we ensure the last condition of (35) which is the \({90}^{\circ }\) contact angle condition.

By these changes from the case where \(\Gamma _t\) is a simply closed curve, we can determine \({\textbf{X}}_{i}^{n+1}\) from \({\textbf{X}}_{i}^n\) for each \(1\le i\le N\). We exhibit the numerical result of a simulation for the Mullins–Sekerka flow by means of the way proposed above. An initial open curve is an L-shaped and contacts the \(x_1\)-axis with \({90}^{\circ }\) angle at two endpoints. The collocation points are equidistantly placed and at least at the corners of the character L. In this experiment, we set \(N:= 71\) and \(\Delta t:= 0.1N^{-2}\). The shape of the curve tends to a semicircle in finite time.

Fig. 14
figure 14

Evolution of L-shaped open curve

Fig. 15
figure 15

Evolution of length and area of L-shaped open curve

Remark 5

As mentioned in Sect. 1, local well-posedness of the problem (35) has been shown by Abels, Rauchecker and Wilke [1] in a smooth, bounded domain in \({\mathbb {R}}^d\) with \(d = 2,3\).

6 Conclusion

In this study, we have adapted the charge simulation method to the two-phase Mullins–Sekerka problem in \({\mathbb {R}}^2\). Compared to the one-phase problem, we have to solve the exterior potential problem in an unbounded domain. To this end, we have utilized the decay dissipation property of the gradient of the logarithm function. The proposed scheme has been extended to open curves in the half space to simulate an approximation solution to a contact angle problem. In this extension, we use the Green functions in the half space as a fundamental solution of the Laplace equation. The proposed scheme has been shown to be consistent with the corresponding continuous problem regarding the AP property and the CS property by various kinds of numerical experiments. We have explored a relationship among the position of dummy singular points, the number of collocation points and the time step to ensure that the proposed scheme possesses the CS property.