1 Introduction

Consistent spiral patterns are observed in many crystal growth situations. The center of a spiral is believed to be the location where a screw dislocation in a crystal lattice terminates on the crystal surface, while the spiral being a step (discontinuity) in the crystal height. Atoms bond with the crystal structure with a higher probability near a step and thus results in an evolution of the step. The dynamics of the step in this setting is well studied and traces back to Burton et al. [1], which developed the first theoretical description for epitaxial growth. There is a nice review paper [2] on its mathematical modelling as well as computational methods.

Consider a spiral pattern drawn by steps on a growing crystal surface. In the theory of the crystal growth in [1], steps evolve with a normal velocity of the form

$$\begin{aligned} V = C - \kappa , \end{aligned}$$
(1)

where \(C\) is a constant denoting a driving force, and \(\kappa \) is the curvature of the curve drawn by the steps. The Eq. (1) is sometimes called an eikonal–curvature flow equation. In [1] the Eq. (1) is given as \(V = v_\infty (1 - \rho _c \kappa )\) with the velocity of straight line steps \(v_\infty \) and the critical radius \(\rho _c\) for the generation of two dimensional kernel from supersaturation. The curvature term, \(\kappa \), is interpreted as a result of the Gibbs-Thompson effect. The sign of curvature is taken so that (1) is a parabolic equation. Our formulation, however, includes the case of the negative driving force, i.e., when a crystal is melting.

The spiral crystal growth problem can be studied by direct numerical simulation using a variety of techniques. A straight forward approach is to track the spiral by putting a set of markers on the spiral and solve the resulting system of ODEs that determine the marker locations in time. It is also possible to use Monte-Carlo type algorithms for simulations of small domains.

Since the spiral dynamics generally involve merging of different spirals, implicit interface methods can be of an attractive option. A phase field model was introduced in [19] or [20] for spiral growth simulations. This is a diffuse interface method that requires fine grid resolution at least in a neighborhood of the evolving spirals. Conventional level set methods [28, 29, 32] (see for its foundation in mathematical analysis [10]) do not apply directly; in a typical level set method involving a Lipschitz function, \(u\), as the so-called level set function, the point set \(\{ x ; \ u(t,x) = 0 \}\) corresponds to a curve which divides the domain into two disjoint sets (the typical example is a closed curve by itself or combining it and the boundary of the domain). However, a spiral generally does not divide the domain into two disjoint sets. Smereka [34] introduced a level set formulation to simulate a spiral crystal growth numerically. This is an interesting and pioneering work simulation of evolving spirals. In his formulation a spiral is described by two continuous auxiliary functions (level set functions), and the intersection of the zero level sets of these two functions represents the spiral center (screw dislocation). The dynamics of the spiral is computed by solving two partial differential equations (PDEs) that contain discontinuous coefficients. The height function is computed by solving a Poission equation with a Dirac-\(\delta \) source concentrated along the spiral.

While the level set method in [34] is powerful to study collision of several spirals, it does not apply when two spiral centers have different strengths—a case in which the crystal surface includes several screw dislocations with Burgers vectors of different magnitudes. In [25] the first author introduced a new level set method using only one auxiliary function but using a sheet structure function introduced by Kobayashi [20] in 1990s. The sheet structure function reflects a helical structure formed by ordered atoms in a crystal, and thus this method enables us to describe more general situation including multiple centers with different strengths. While the analytic foundation for this method in [25] based on viscosity solutions [13, 25] is well-established, numerical simulation based on this idea was not yet studied or published; among many computational issues, the construction of initial auxiliary function is not trivial.

In this paper, we propose an algorithm for computing evolving spirals by (1) based on the level set method using a sheet structure function. Our method does compute correctly the behavior of co-rotating spirals and spirals with different rotational orientations with possibly different strengths. We recover all speculations for spirals given by [1] in our numerical simulations. We also find several new phenomena.

Let us recall the level set method in [25]. A crystal surface is to be described in a bounded domain \(\varOmega \) in the plane. We now assume that the surface has \(N\)(\(\ge 1\)) fixed screw dislocation centers denoted by \(a_j \in \varOmega \) (\(j=1,2, \ldots , N\)), and that each center has at least one spiral pinned to it. We shall use only one pre-determined function \(\theta \) together with an additional auxiliary function \(u\) to describe all the spirals. The function \(\theta \) is not well-defined at the spiral centers \(a_j\), so we remove an open neighborhood \(U_j\) of \(a_j\) from the plane and consider the domain \(W = \varOmega {\setminus } \bigcup _{j=1}^N \overline{U}_j\). In this paper we assume that a spiral \(\varGamma _t\) at time \(t \ge 0\) lies on \(\overline{W}\), and the end points of \(\varGamma _t\) always stay on the boundary \(\partial W\) of \(W\) with the orthogonality condition,

$$\begin{aligned} \varGamma _t \perp \partial W. \end{aligned}$$
(2)

Thus, while \(\varGamma _t\) is not a closed curve, its image is a relatively closed point set in \(\overline{W}\). We now introduce a sheet structure function \(\theta \), which is due to Kobayashi [20],

$$\begin{aligned} \theta (x) = \sum _{j=1}^N m_j \arg (x - a_j) \end{aligned}$$

with non-zero integers \(m_1, \ldots , m_N\), where \(m_j\) is taken so that \(z = \theta (x)\) gives the helical structure. The constant \(m_j\) quantifies the strength of the spiral center \(a_j\). Thus, the level set formulation of \(\varGamma _t\) in [25] is given by

$$\begin{aligned} \varGamma _t = \{ x \in \overline{W} ; \ u(t,x) - \theta (x) = 0 \ \hbox {with modulo } 2 \pi \}. \end{aligned}$$

In this formulation spirals are given by the cross-section between an auxiliary cone described by \(u(t,x)\) and a helical surface \(z = \theta (x)\). With this formulation we derive a level set equation corresponding to motion of spirals by (1). Moreover, we construct a surface height function from a solution of the level set equation.

While the existence of the initial data \(u_0\) for a given initial spirals \(\varGamma _0\) was established in [13], construction of initial auxiliary function \(u_0\) at practical level is still difficult, because the method requires one to take a branch of sheet structure functions whose discontinuity is only on \(\varGamma _0\). In this paper, we propose simple computational approaches for constructing \(u_0\) that gives a spiral attached a single center, or more precisely a simple continuous open curve connecting a given center to the boundary of the computational domain. We further give an additive procedure to construct an initial auxiliary function \(u_0\) inductively with respect to numbers of screw dislocations.

A crucial advantage of our method is the use of a single scalar equation in computation, even for situations involving multiple centers with different strengths. In particular, our single-equation formulation is useful when considering evolution of several spirals associated with one screw dislocation. With our method, it suffices to choose a suitable coefficient in front of the argument function \(\arg \), whose origin is the screw dislocation center in our method. Our single-equation formulation also enables us to compare the activities between a group of screw dislocations with co-rotating single spirals and one screw dislocation with multiple spirals. Smereka [34] treats a pair of co-rotating spirals or those with opposite rotational orientations when the pair is far apart, i.e, the distance of the pair is larger than \(2 \pi / C\) in the evolution by (1), which is the critical distance proposed by [1]. Our method is able to examine not only a close pair of spirals but also a group of several (of course two or more) screw dislocations.

In the paper, on the one hand we numerically verify all speculations for spirals given by [1], on the other hand we examine some situations that are not discussed in [1]. While Burton et al. discussed the activity of a group of screw dislocations, they did not discuss the situation in which screw dislocation centers with different strengths co-exist on the surface. In this paper we demonstrate simulations involving configurations such as a pair of co-rotating or opposite oriented spirals, and several screw dislocations with different rotational orientations and strengths. Anisotropic motion is not treated in this paper, but our formulation also can apply to the anisotropic evolution with a smooth and strictly convex surface energy density; see [10] for detail for a formulation of an anisotropic evolution. Anisotropic motion with multiple spirals and bunching is a very hot topic in experiments as discussed in [33]; see also Sect. 3.6 in the present paper.

Nevertheless, there remain some situations to which our method does not apply. While [34] and this paper study the dynamics of the spirals formed by steps centering at a set of dislocations, the evolution of spirals with moving centers \(a_j = a_j (t)\) is not modeled. Xiang et al. [37, 38] proposed another level set formulation to compute the motion of screw dislocation in crystals. In their level set formulation, screw dislocations are implicitly represented as the intersection of two level set functions defined in three dimensions. The evolution law of moving centers is derived from physics and this evolution law is implemented in their level set formulation [37, 38]. One of the further difficulties for modeling the dynamics of screw dislocations in our method resides in the need to remove neighborhoods of screw dislocations from the surface (in numerical computations it suffices to remove one grid point when a screw dislocation center is on the grid point). However, if the screw dislocation center is just a single point, theoretical treatment seems to be difficult due to the singularity of \(\theta \) there. For this direction there is a work by Forcadel et al. [9] but their setting is somewhat restrictive. Finally, our current method does not apply directly to evolution of spirals with crystalline curvature and eikonal equation although it is often observed in experiments [33]. Imai et al. [16] presented a formulation of an evolving spiral by crystalline curvature flow with no driving force and gave some numerical simulations as well as a proof for local well-posedness. Ishiwata [18] presented a formulation of an evolving polygnonal spiral by crystalline curvature flow with constant driving force, and showed the global existence and uniqueness of a polygonal spiral curve for a given motion. The evolution of spirals with crystalline curvature flow is one of further problems; our formulation and mathematical results by [13, 25] are available to the evolution with smooth and strictly convex anisotropic interfacial energy. Oberman et al. [22] proposed a level set method for evolving crystalline curvature flow. It may be possible to adapt their algorithm with the proposed representation for spirals to simulate crystalline spiral growth.

Several interesting results on existence and behavior of spirals are obtained by approaches based on ordinary and partial differential equations, shortly (ODE) and (PDE). In an ODE approach several interesting self-similar spiral type solutions are constructed and classified in various settings (e.g. [7, 8, 14, 17]). In a PDE approach, several results on Lyapunov or asymptotic stability of rotating spirals are derived; see e.g. [12]. Ogiwara and Nakamura [23] studied a diffuse interface model proposed by Kobayashi [20], and established the existence and asymptotic stability of steadily rotating spirals. In particular, their stability result implies that, when we consider the evolution of \(m\) spirals associated with one center, then the spiral pattern with \(1/m\) times rotation symmetry is asymptotic stable. This result is different from the behavior with similar situation in our method. This phenomenon will be discussed in detail in our forthcoming paper [26].

This paper is organized as follow: in Sect. 2 we present our proposed level set formulation for the simulation of spiral crystal growth and the idea of using a sheet structure function to define a spiral. In Sect. 3, we present some numerical simulations involving spirals of different configurations.

2 A Level Set Formulation Using Sheet Structures

2.1 Spirals on a Plane

We consider a growing crystal surface with \(N\) (\(\ge 1\)) screw dislocations over a bounded domain \(\varOmega \subset \mathbb {R}^2.\) Screw dislocations typically result in discontinuities in the crystal height that connects to the dislocations. In this paper, these discontinuities are called steps in the crystal height. The location of the steps are spiral curves which we will model and evolve, and in later parts of the paper, we will use ‘curves’ and ‘steps’ interchangeably in this paper.

Associated with the screw dislocations are the centers of spirals, denoted by \(a_1 , a_2 , \ldots , a_N\), which are assumed to be stationary. For a technical reason we further assume that a (screw dislocation) center consists a neighborhood \(U_j\) of \(a_j\), and \(\overline{U}_i \cap \overline{U}_j = \emptyset \) for \(i \ne j\). We remove all \(\overline{U}_j\) from \(\varOmega \), and thus set \(W = \varOmega {\setminus } (\bigcup _{j=1}^N \overline{U}_j)\). On this domain, spirals can be defined by parameterized curves

$$\begin{aligned} \varGamma := \{ P(s) \in \overline{W} ; \ s \in [0, s_0] \}. \end{aligned}$$
(3)

As we shall see later, the height of the crystal surface can be defined from the configuration of spirals.

In this paper, we consider evolving spirals \(\varGamma _t\) in \(\overline{W}\). To guarantee the unique solvability of the initial value problem for (1) we impose the right angle boundary condition (2) on \(\partial W\) (see [13, 25]).

As in [13] it is convenient to classify spirals into two types—a simple spiral and a connecting spiral—depending on the feature whether or not it touches the boundary \(\partial \varOmega \) of the crystal surface \(\varOmega \).

Definition 1

Let \(\varGamma \) be a curve given by (3) having no self intersections.

  1. 1.

    For a given point \(a \in \varOmega \) let \(U\) be a neighborhood of \(a\) satisfying \(U \subset \varOmega \) whose boundary does not touch \(\partial \varOmega \), and \(W = \varOmega {\setminus } \overline{U}\). We say \(\varGamma \) is a \(C^n\) (\(n \in \mathbb {N} \cup \{ 0 \}\)) simple spiral associated with \(a \in \varOmega \) if

    1. (S1)

      \(P(s) \in C^n ([0, s_0])\) and \(|\dot{P} (s)| \ne 0\) for \(s \in [0, s_0]\) if \(n \ge 1\), where \(\dot{P} = dP/ds\),

    2. (S2)

      \(P(0) \in \partial U\), \(P (s_0) \in \partial \varOmega \) and \(P(s) \notin \partial W\) for \(s \in (0,s_0)\)

    hold.

  2. 2.

    For given points \(a_1, a_2 \in \varOmega \) let \(U_1\) and \(U_2\) be neighborhoods of \(a_1\) and \(a_2\) respectively, and \(W = \varOmega {\setminus } \overline{U_1 \cup U_2}\). Assume that \(\overline{U}_1\) and \(\overline{U}_2\) is disjoint, i.e., \(\overline{U}_1 \cap \overline{U}_2 = \emptyset \), and \(U_i \subset \varOmega \) whose boundary does not touch \(\partial \varOmega \) for \(i=1, 2\). We say \(\varGamma \) is a \(C^n\) connecting spiral between \(a_1\) and \(a_2\) (or associated with \(a_1\) and \(a_2\)) if (S1) and

    1. (S2’)

      \(P (0) \in \partial U_1\), \(P (s_0) \in \partial U_2\), and \(P (s) \notin \partial W\) for \(s \in (0,s_0)\)

    hold.

For the case \(W = \varOmega {\setminus } (\bigcup _{i=1}^N \overline{U}_i)\)) with (mutually disjoint) neighborhoods \(U_i\) of \(a_i\) for \(i=1, \ldots , N\), we call a connecting spiral between \(a_i\) and \(a_j\) simply an \((i,j)\) connecting spiral for simplicity.

Remark 2

Note that an \((i,j)\) connecting spiral is also a \((j,i)\) connecting spiral by taking \(Q (s) = P(s_0 - s)\). However, we ignore the direction of the connection in the following arguments.

Spirals on a plane have two orientations, one is related to the evolution and the other to rotation with respect to a screw dislocation center. The orientation of the evolution is defined as a continuous unit normal vector field on the curve, we denote this vector field by \(\mathbf {n}\). The orientation of the rotation can be defined by the relation between the tangent and the normal vectors of the spiral as in Definition 3. These orientations should not be confused with rotations of the self-similar spiral structure resulted from the spiral evolution.

Definition 3

Let \(\varGamma \) be a \(C^1\) simple or connecting spiral associated with \(a \in \varOmega \) at \(P(0)\). Let \(s\) in \(P(s)\) be an arclength parameter. We say that \(\varGamma \) has a counter-clockwise (resp. clockwise) orientation with respect to \(a \in \varOmega \) if

$$\begin{aligned} \mathbf{n} (P(s)) = \left( \begin{array}{cc} 0 &{} -1 \\ 1 &{} 0 \end{array}\right) \dot{P} (s) \quad \left( \text{ resp. } \, - \left( \begin{array}{cc} 0 &{} -1 \\ 1 &{} 0 \end{array}\right) \dot{P} (s) \right) \end{aligned}$$

holds for \(s \in [0, s_0]\).

Fig. 1
figure 1

Two spirals with opposite rotational orientations. The one on the left has a counter-clockwise orientation

Figure 1 depicts two spirals of opposite rotational orientations.

Remark 4

If an \((i,j)\) connecting spiral has a counter-clockwise orientation w.r.t. \(a_i\), then it has a clockwise orientation w.r.t. \(a_j\). In fact, we set \(Q(s) = P(s_0 - s)\) to obtain

$$\begin{aligned} \mathbf{n} (Q(s)) = \mathbf{n} (P(s_0 - s)) = \left( \begin{array}{cc} 0 &{} -1 \\ 1 &{} 0 \end{array}\right) \dot{P}(s_0 - s) = - \left( \begin{array}{cc} 0 &{} -1 \\ 1 &{} 0 \end{array}\right) \dot{Q}(s) \end{aligned}$$

for \(s \in [0,s_0]\). Moreover, one finds that the rotational orientations for connecting spirals are uniquely determined in spite of the direction \((i,j)\) or \((j,i)\) of the connection.

We now define the generalized number of spirals associated with a center.

Definition 5

Let \(a_i \in \varOmega \) be a center for \(i=1, \ldots , N\). We define the signed number of spirals associated with \(a_i\) as

$$\begin{aligned} m_i = m_i^+ - m_i^-, \end{aligned}$$

where \(m_i^+\) and \(m_i^-\) are respectively the number of spirals which are associated with \(a_i\) and which have counter-clockwise and clockwise orientations.

Physically speaking in our setting the Burgers vector is orthogonal to the plain containing \(\varOmega \) and its modulus equals \(|m_i|\). We shall exclude the case \(m_i=0\).

2.2 The Proposed Level Set Formulation

For simplicity we consider a counter-clockwise oriented spiral associated with the origin. Let the initial step lie on the half line \(\{ (x_1, 0) ; \ x_1 < 0 \}\) in \(\mathbb {R}^2\) with height \(h_0 > 0\). From the theory of linear elasticity, see e.g. [15], the crystal surface can be described by the graph of a function \(h = h(x)\) which satisfies

$$\begin{aligned} \left\{ \begin{aligned}&\Delta h = 0 \ \hbox { except on the step}, \\&h \ \hbox {has jump discontinuities with height} \ h_{0} > 0 \hbox { only on the step line}. \end{aligned} \right. \end{aligned}$$

Thus \(h (x) = (h_0/2\pi ) \arg x\), where \(\arg x \in [-\pi , \pi )\) is one of branches of the argument of \(x\). If the step height \(h_0\) agrees with the diameter of an atom, then \(h\) should be equivalent to \((h_0/2\pi ) \arg x\) even after the step evolves. Attachment of additional adatoms to the steps and on top of the “lower side” of the crystal surface resulted in the movement of the step (see Fig. 2). In other words, the space where adatoms can stay is the Riemann surface “\(z = \arg x\)”, so the step stays and evolves there. Accordingly, the location of the step could be given as the cross-section between the auxiliary surface \(z = u(t,x)\) and the Riemann surface “\(z = \arg x\)”.

Fig. 2
figure 2

Evolution of a simple step. The step evolves by attachment of additional adatoms, and consequently the “heigher” side of the step extends (moves) towards the space previously on the “lower” side

To complete this idea rigorously we now introduce a covering space

$$\begin{aligned} \mathcal {X} := \{ (x,\xi ) \in (\mathbb {R}^2 {\setminus } \{ 0 \}) \times \mathbb {R} ; \ (\cos \xi , \sin \xi ) = x/|x| \}, \end{aligned}$$

which describes the Riemann surface. The step is on \(\mathcal {X}\) and described as the cross-section between \(\mathcal {X}\) and an auxiliary function \(z = u(t,x)\):

$$\begin{aligned} \{ (x,\xi ) \in \ \mathcal {X} ; \ \xi = u(t,x) \}. \end{aligned}$$

Hence we obtain the description of an evolving spiral:

$$\begin{aligned} \{x \in \mathbb {R}^2 {\setminus } \{ 0 \} ; \ u(t,x) - \arg x \equiv 0 \mod 2 \pi \mathbb {Z} \}, \ \mathbf{n} = - \frac{\nabla (u - \arg x)}{|\nabla (u - \arg x)|}, \end{aligned}$$

where \(\mathbf {n}\) is the orientation of the evolution. For the spirals with clockwise rotational orientation, then it suffices to change the sign in front of \(\arg x\)

$$\begin{aligned} \{x \in \mathbb {R}^2 {\setminus } \{ 0 \} ; \ u(t,x) + \arg x \equiv 0 \mod 2 \pi \mathbb {Z} \}, \ \mathbf{n} = - \frac{\nabla (u + \arg x)}{|\nabla (u + \arg x)|}, \end{aligned}$$

since the step can climb up the helical surface \(z = - \arg x\).

As an example, one may describe an Archimedean spiral \(r = \theta \) by

$$\begin{aligned} \{ x \in \mathbb {R}^2 ; \ |x| - \arg x \equiv 0 \mod 2 \pi \mathbb {Z} \}. \end{aligned}$$

Furthermore, recall that a symmetric double Archimedean spiral is described as \(r = \theta \) and \(r = \theta - \pi \) for \(r > 0\). By analogy, one finds that

$$\begin{aligned} \{ x \in \mathbb {R}^2 {\setminus } \{ 0 \} ; \ u(t,x) - 2 \arg x \equiv 0 \mod 2 \pi \mathbb {Z} \}, \ \mathbf{n} = - \frac{\nabla (u - 2 \arg x)}{|\nabla (u - 2 \arg x)|} \end{aligned}$$

gives two spirals with counter-clockwise rotational orientation. Alternatively, the two spirals can be separately defined by

$$\begin{aligned}&\{ x \in \mathbb {R}^2 {\setminus } \{ 0 \} ; \ u(t,x) - 2 \arg x \equiv 0 \mod 4 \pi \mathbb {Z} \}, \\&\{ x \in \mathbb {R}^2 {\setminus } \{ 0 \} ; \ u(t,x) - 2 \arg x \equiv 2 \pi \mod 4 \pi \mathbb {Z} \} \end{aligned}$$

since the term of \(2 \arg x\) continuously increases from \(0\) to \(4 \pi \) by going around the origin.

By combining the above reasoning one can construct a level set formulation for spirals associated to screw dislocation centers \(a_1, \ldots , a_N\) on the plane. Essentially, one has to construct a pre-determined surface function denoted by \(\theta = \theta (x)\), whose graph is asymptotically helical near each dislocation center. In our formulation, we consider a linear combination of \(\arg (x - a_j)\) for \(j=1, \ldots , N\), i.e., \(\sum _{j=1}^N m_j \arg (x - a_j)\). The coefficients \(m_j\) describe the number and rotational orientation of spirals associated with \(a_j\); they correspond to the notion of the signed number of spirals associated with \(a_j\) in Definition 5.

We now present our level set formulation for the most general case. Let \(\mathfrak {X}\) be a covering space of \(W\) as in [25]:

$$\begin{aligned} \mathfrak {X} := \{ (x, \xi ) \in \overline{W} \times \mathbb {R}^N ; \ (\cos \xi _i, \sin \xi _i) = (x - a_i)/|x-a_i| \ \text{ for } \ i=1, \ldots , N \}, \end{aligned}$$

where \(\xi = (\xi _1, \ldots , \xi _N)\). Consider evolving spiral curves \(\varGamma _t\) at time \(t > 0\) on \(\overline{W}\) with orientation of evolution \(\mathbf{n}\).

Definition 6

Let \(m_i \in \mathbb {Z} {\setminus } \{ 0 \}\) be the signed number of spirals associated with \(a_i\). We say \(\widetilde{\varGamma }\) is a generalized spiral curve on \(\mathfrak {X}\) if there exists \(u \in C(\overline{W})\) satisfying

$$\begin{aligned} \widetilde{\varGamma } = \{ (x, \xi ) \in \mathfrak {X} ; \ u(x) - \sum _{i=1}^N m_i \xi _i = 0 \}. \end{aligned}$$

Moreover, we call

$$\begin{aligned} \begin{aligned} \widetilde{I}&:= \{ (x, \xi ) \in \mathfrak {X} ; \ u(x) - \sum _{i=1}^N m_i \xi _i > 0 \}, \\ \widetilde{O}&:= \{ (x, \xi ) \in \mathfrak {X} ; \ u(x) - \sum _{i=1}^N m_i \xi _i < 0 \} \end{aligned} \end{aligned}$$

respectively the interior and exterior sets of \(\widetilde{\varGamma }\).

Thus, with the auxiliary function \(u :[0, T] \times \overline{W} \rightarrow \mathbb {R}\) and a sheet structure function

$$\begin{aligned} \theta (x) \equiv \sum _{i=1}^L m_i \arg (x - a_i), \end{aligned}$$
(4)

spiral curves \(\varGamma _t\) on \(\overline{W}\) with the orientation of the evolution denoted by \(\mathbf{n}\) is described as

$$\begin{aligned} \varGamma _t = \{ x \in \overline{W} ; \ u (t, x) - \theta (x) \equiv 0 \mod 2 \pi \mathbb {Z} \}, \quad \mathbf{n} = - \frac{\nabla (u - \theta )}{|\nabla (u - \theta )|}. \end{aligned}$$
(5)

In the evolution of spirals on the plane, the division of interior and exterior makes sense only locally. It is inconvenient for the level set method, in particular to determine the direction of the evolution. The covering space we introduced enables us to determine the interior and exterior globally in the space. In particular, the inequality in the definition of interior is related to the Fig. 3; the term \(\sum _{j=1}^N m_j \xi _j\) means the height in the covering space. Thus the inequality

$$\begin{aligned} z = \sum _{j=1}^N m_j \xi _j < u(t,x) \end{aligned}$$

says that \(u\) roughly plays the role of the height function of the growing crystal surface as in Fig. 3.

Fig. 3
figure 3

Surface and the height function

Naturally, in this formulation for spirals, \(\theta \) has to be multiple-valued. While other choices of multi-valued sheet structure functions are possible, our choice of \(\theta \) as of the form (4) is physically important because it helps describe the height of the crystal surface; see Sect. 2.6 for detail.

2.3 Defining the Spirals on the Plane

Once we obtain \(u\) by solving the evolution equation corresponding (1)–(2), which is (6)–(8) in Sect. 2.4, we can extract the evolving spirals by (5). In practice the level sets \(\bigcup _{n \in \mathbb {Z}} \{ x \in \overline{W} ; \ u(t,x) - \theta (x) = 2 \pi n \}\) with fixed branch of \(\theta (x)\) in drawn. However, spurious zero level sets in \(u(t,x)-\theta (x)\) appear over the branch cuts in the definition of \(\theta (x)\). To see this and how to remove these unwanted artifacts, consider the simple case of a single spiral centered at the origin, with \(\theta (x)=\arg x\). Recall that \(\arg x\) whose range is \([-\pi , \pi )\), has a \(2 \pi \) jump discontinuity on the left x-axis of the xy-plane, and thus \(u - \theta \) also has such jump discontinuity, which implies the spurious zero level sets (see the dashed line in Fig. 4). We see that on the plane, spurious zero level sets of \(u-\theta \) will always exist no matter which branch of \(\arg x\) is chosen. However, we can avoid the spurious level sets if we look at different branches of \(\arg x\) in different parts of the plane. In Fig. 4, we show a situation in which the right half of the left subfigure is combined with the left half of the right subfigure. In other words, we now divide the domain \(\overline{W}\) into two subdomains \(W_0 = \{ (x^1, x^2) \in \overline{W} ; \ x^1 \le 0 \}\) and \(W_1 = \{ (x^1, x^2) \in \overline{W} ; \ x^1 \ge 0 \}\). Next, we denote \(\theta ^\pm \) as the branches of \(\arg x\) such that \(\theta ^- \in [-\pi , \pi )\) and \(\theta ^+ \in [0, 2 \pi )\), and we draw the level sets in each half domain \(W_0\) and \(W_1\) with \(\theta ^+\) and \(\theta ^-\), respectively, i.e., as

$$\begin{aligned} \varGamma _t =&\left[ \bigcup _{n \in \mathbb {Z}} \{ x \in W_0 ; \ u(t,x) - \theta ^+ (x) = 2 \pi n \} \right] \\&\quad \quad \cup \left[ \bigcup _{n \in \mathbb {Z}} \{ x \in W_1 ; \ u(t,x) - \theta ^- (x) = 2 \pi n \} \right] . \end{aligned}$$
Fig. 4
figure 4

Spurious zero level set for a single spiral. If we fix a branch of \(\arg x\) as \(\arg x \in [-\pi , \pi )\), then the spurious zero level set appears on the left x-axis (dashed line) as the left figure. Even if we choose other branch of \(\arg x\) (for example \(\arg x \in [0,2 \pi )\)) to remove the spurious line, it still stays on the other location (dashed line) in the plane as the right figure

When there are two centers on \(\varOmega \), say \(a_1 = (a_1^1, a_1^2)\) and \(a_2 = (a_2^1, a_2^2)\) (\(a_1^1 < a_2^1\)), then \(\theta \) has two line segments of spurious zero level sets since \(\theta \) is defined with linear addition of \(\arg (x - a_1)\) and \(\arg (x - a_2)\). To avoid the \(2 \pi \) jump discontinuity of them, we divide \(\overline{W}\) into three subregions;

$$\begin{aligned} W_0 =&\{ (x^1, x^2) \in \overline{W} ; \ x^1 \le a_1^1 \}, \\ W_1 =&\{ (x^1, x^2) \in \overline{W} ; \ a_1^1 \le x^1 \le a_2^1 \}, \\ W_2 =&\{ (x^1, x^2) \in \overline{W} ; \ x^1 \ge a_2^1 \}. \end{aligned}$$

In each region we choose the appropriate branch of \(\theta _1 = \arg (x - a_1)\) and \(\theta _2 = \arg (x - a_2)\) similarly as \(\theta ^\pm \) for the case of one spiral discussed above. We denote these chosen branches of \(\theta _j^\pm \) accordingly as \(\theta _j^\pm \), \(j=1,2\). With these functions, we then define the three branches of \(\theta \):

  • In \(W_0\) we define \(\theta \) with \(\theta _j^+\) for \(j=1,2\).

  • In \(W_1\) we define \(\theta \) with \(\theta _1^-\) and \(\theta _2^+\).

  • In \(W_2\) we define \(\theta \) with \(\theta _j^-\) for \(j=1,2\).

See Fig. 5 for an illustration of this construction. Then, we can extract the spirals without the spurious zero level set.

Fig. 5
figure 5

The location of the spurious zero level sets of \(\theta \) (dashed line) for extracting \(\varGamma _t\) in \(W_0\) (left), \(W_1\) (center) and \(W_2\) (right)

We now summarize the procedure discussed above for general cases. \(N\)-centers \(a_j = (a_j^1, a_j^2)\) (\(j=1,2, \ldots , N\)) are on \(\varOmega \). Without loss of generality, we assume that \(a_1^1 < a_2^1 < \cdots < a_N^1\). We decompose \(\overline{W} \) into the union of vertical strips \(W_j\), separated by the centers and extract \(\varGamma \) in each strip. We set

$$\begin{aligned} W_j = \left\{ \begin{array}{ll} \{ x = (x^1, x^2) \in \overline{W} ; \ x^1 \le a_1^1 \} &{} \text{ if } \ j=0, \\ \{ x = (x^1, x^2) \in \overline{W} ; \ a_j^1 \le x^1 \le a_{j + 1}^1 \} &{} \text{ if } \ j=1, \ldots , N-1, \\ \{ x = (x^1, x^2) \in \overline{W} ; \ x^1 \ge a_N^1 \} &{} \text{ if } \ j=N. \end{array} \right. \end{aligned}$$

Let \(\widehat{\varTheta }_j^- :\bigcup _{i=j}^N W_i \rightarrow [-\pi , \pi )\) and \(\widehat{\varTheta }_j^+ :\bigcup _{i=0}^{j-1} W_i \rightarrow [0,2 \pi )\) be the corresponding smooth branches of \(\arg (x - a_j)\), and define \(\widehat{\varTheta }_j :W_j \rightarrow \mathbb {R}\) by

$$\begin{aligned} \widehat{\varTheta }_j (x) = \sum _{i=1}^j m_i \widehat{\varTheta }_i^- (x) + \sum _{i=j+1}^N m_i \widehat{\varTheta }_i^+ (x) \quad \text{ for } \ j = 0, \ldots , N. \end{aligned}$$

We here note that \(\sum _{i=1}^0 m_i \widehat{\varTheta }_i^- (x) = \sum _{i=N+1}^N m_i \widehat{\varTheta }_i^+ (x) \equiv 0\). Hence, \(\widehat{\varTheta }_j\) is smooth in \(W_j\) (see Fig. 6), and the spiral \(\varGamma _t\) can be unambiguously defined there and pieced together strip-by-strip as follows:

$$\begin{aligned} \varGamma _t = \bigcup _{j=0}^N (\varGamma _t \cap W_j) = \bigcup _{j=0}^N \bigcup _{k=-\hat{k}_j}^{\hat{k}_j} \{ x \in W_j ; \ u(t,x) - \widehat{\varTheta }_j (x) = 2 \pi k \}, \end{aligned}$$

where \(\hat{k}_j\) is the smallest integer satisfying \(\max _{\overline{W}_j} |u (t, \cdot ) - \widehat{\varTheta }_j| < 2 \pi \hat{k}_j\).

Fig. 6
figure 6

Branch cuts of \(\widehat{\varTheta }_j\)

2.4 Dynamics

Although our formulation (5) includes a multi-valued function \(\theta \), it is essentially the same as a level set formulation by a smooth branch of \(w = u - \theta \) locally. Thus we have

$$\begin{aligned} \mathbf{n} = - \frac{\nabla (u - \theta )}{|\nabla (u - \theta )|}, \ V = \frac{u_t}{|\nabla (u - \theta )|}, \ \kappa = - \mathrm {div} \frac{\nabla (u - \theta )}{|\nabla (u - \theta )|}. \end{aligned}$$

The Eqs. (1) and (2) are represented as follows (see [10] for details);

$$\begin{aligned} u_t - |\nabla (u - \theta )| \left\{ \mathrm {div} \frac{\nabla (u - \theta )}{|\nabla (u - \theta )|} + C \right\} = 0&\text{ in }&(0,T) \times W, \end{aligned}$$
(6)
$$\begin{aligned} \langle \varvec{\nu }, \nabla (u - \theta ) \rangle = 0&\text{ on }&(0,T) \times \partial W, \end{aligned}$$
(7)

where \(\varvec{\nu }\) is the outer unit normal vector field of \(\partial W\). Precisely speaking, the system (1)–(2) is formally equivalent to (6)–(7) only on spirals. The main idea of a level set method is to consider the system (6)–(7) not only on spirals but also on whole \(W\).

For a simulation of the evolution we choose \(u_0 \in C(\overline{W})\) satisfying

$$\begin{aligned} \varGamma _0 = \{ x \in \overline{W} ; \ u_0 (x) - \theta (x) \equiv 0 \mod 2 \pi \mathbb {Z} \} \end{aligned}$$

for a given initial curve \(\varGamma _0\), and solve the initial-boundary value problem (6), (7) and

$$\begin{aligned} u|_{t=0} = u_0. \end{aligned}$$
(8)

to describe evolutions of spirals.

Much analysis of (6)–(7) has been done; the mathematical framework of our proposed approach is complete. In [25] the first author established a comparison principle for viscosity solutions of (6)–(7), which implies the uniqueness of solutions, and the existence of a time-global solution for a continuous initial datum \(u_0\). Goto et al. [13] obtained the comparison principle of interior and exterior sets on \(\mathfrak {X}\), and thus the uniqueness of level sets \(\varGamma _t\) with respect to an initial curve \(\varGamma _0\) is established. They also construct a continuous initial data \(u_0\) such that (5) holds for a given \(\varGamma _0\). Note that it is nontrivial to construct a suitable auxiliary function \(u_0\) for a given initial spiral \(\varGamma _0\) which is quite different from conventional level set approach [3, 6, 10]. Furthermore, it is rather easy to see [3, 5, 6], [10] that the viscosity solutions of the regularized problem

$$\begin{aligned} u_t - |\nabla (u - \theta )| \left\{ \mathrm {div} \frac{\nabla (u - \theta )}{\sqrt{\varepsilon ^2 + |\nabla (u - \theta )|^2}} + C \right\} = 0 \end{aligned}$$
(9)

converges locally uniformly to the viscosity solution of (6)–(7). In a later section we present numerical simulations based on (9).

2.5 Initialization

For a given bunch of spirals \(\varGamma \) it is nontrivial to find \(u \in C(\overline{W})\) satisfying

$$\begin{aligned} \varGamma = \{ x \in \overline{W} ; \ u(x) - \theta (x) \equiv 0 \mod 2 \pi \mathbb {Z} \}. \end{aligned}$$
(10)

Goto et al. [13] show the existence of \(u \in C(\overline{W})\) satisfying (10). However, their method is difficult to carry out in practical level. In fact, they first construct \(\theta _\varGamma \) which is a smooth branch of \(\theta \) with branch-cut line on \(\varGamma \). Next, they mollify it with linear interpolation in very thin tubular neighborhood around of \(\varGamma \). Thus, the difficulties lie in the construction of \(\theta _\varGamma \) and the choice of tubular neighborhood. In particular, the second step is crucial since that the width of neighborhood depends on the size of removed neighborhoods around \(a_j\). In fact, the method of [13] would construct initial data with \(|\nabla (u - \theta )|=O(\Delta x^{-1})\) if the diameter of removed neighborhood is \(O(\Delta x)\), where \(\Delta x\) is a spatial lattice span.

In this subsection, we shall give a practical way to construct smoother \(u\) for a class of simple spirals centering at the origin. Next, we give an additive way of constructing \(u\) from those of simpler spirals. In particular, we shall give a practical way to construct \(u\) for any initial configuration whose curve segmentations consist of straight lines. Furthermore, we shall consider here only the case for a single simple spiral with counter-clockwise orientation with respect to the origin, i.e. when \(\theta (x) = \arg x\) since the data \(v\) for \(\varGamma \) with \(\theta (x) = - \arg x\) is given by \(v = -\tilde{u}\) which is the data for \(\{ (x^1, -x^2) \in \overline{W} ; \ (x^1, x^2) \in \varGamma \}\).

Spreading Spiral Associated with the Origin. Let \(\varGamma \) be given by

$$\begin{aligned} \varGamma = \{ r (\cos \xi (r), \sin \xi (r)) \in \overline{W}; \ r \in [r_0, R] \} \end{aligned}$$

with a continuous function \(\xi \in C([r_0, R])\), where \(R, r_0 > 0\) are constants. We have assumed that \(W = \varOmega {\setminus } \overline{B_{r_0} (0)}\). In this case we set \(u\) as

$$\begin{aligned} u(x) := \xi (|x|). \end{aligned}$$

In particular, a line \(\{ r(\cos \alpha , \sin \alpha ) ; \ r \in [r_0, R] \}\) for an angle constant \(\alpha \) is given by \(u(x) = \alpha \)

Connecting Straight Line Between Two Centers. The above idea for a line enables us to find that

$$\begin{aligned} u(x) = \pi \quad \text{ for } \ x \in \overline{W} \end{aligned}$$

gives a connecting line

$$\begin{aligned} \varGamma = \{ \sigma a_1 + (1-\sigma ) a_2 \in \overline{W} ; \ \sigma \in [0,1] \} \end{aligned}$$

between two centers \(a_1, a_2 \in \varOmega \). In fact, let \(L = \{ \sigma a_1 + (1-\sigma ) a_2 \in \mathbb {R}^2; \ \sigma \in \mathbb {R} \} = \{ x \in \mathbb {R}^2 ; \ (x-a_1) \cdot p_L = 0 \}\), where \(p_L \in S^1\) satisfying \(p_L \cdot (a_2 - a_1) = 0\). Set

$$\begin{aligned} W_1 = \{ x \in \overline{W} ; \ (x-a_1) \cdot p_L > 0 \}, \quad W_2 = \{ x \in \overline{W} ; \ (x-a_1) \cdot p_L < 0 \}. \end{aligned}$$
Fig. 7
figure 7

Connecting line

See Fig. 7 for an illustration of this situation. Then we have \(\overline{W}_1 \cup \overline{W}_2 = \overline{W}\), \(\overline{W}_1 \cap \overline{W}_2 = L \cap \overline{W}\). If \(x \in W_1\), then \(\arg (x - a_1) - \arg (a_2 - a_1) \in (0,\pi )\) and \(\arg (x - a_1) - \arg (a_2 - a_1) \in (0,\pi )\) which implies

$$\begin{aligned} \arg (x - a_1) - \arg (x - a_2) \not \equiv \pi \mod 2 \pi \mathbb {Z} \ \text{ on } \ W_1. \end{aligned}$$

The above is also obtained similarly for \(x \in W_2\) with the interval \((\pi , 2 \pi )\) for the difference of angles instead of \((0,\pi )\). Moreover, we find

$$\begin{aligned} \arg (x - a_1) - \arg (x - a_2) \equiv \left\{ \begin{aligned}&0&\text{ on } \ L \cap \overline{W} \cap \varGamma ^c, \\&\pi&\text{ on } \ \varGamma \end{aligned} \right\} \mod 2 \pi \mathbb {Z}. \end{aligned}$$

Thus \(u \equiv \pi \) gives the above \(\varGamma \) by (10).

General Simple Spiral. Here we propose a way to construct \(u \in C(\overline{W})\) for a general simple spiral curve \(\varGamma = \{ P(s) ; \ s \in [0, \ell ] \}\) associated with the origin. We may assume that \(W = B_{R} (0) {\setminus } \overline{B_{r_0} (0)}\) without loss of generality. Let \(\rho (s)\) and \(\eta (s)\) satisfy

$$\begin{aligned} P(s) = \rho (s) (\cos \eta (s), \sin \eta (s)) \quad \text{ for } \ s \in [0,\ell ]. \end{aligned}$$

Correspondingly, we have the curves

$$\begin{aligned} \widehat{\varGamma }_k := \{ (\rho (s), \eta (s) + 2 \pi k) ; \ s \in [0, \ell ] \}, \end{aligned}$$

in the polar plane. Note that \(\widehat{\varGamma }_k\) has no self intersections nor intersections with each other or themselves, and we can define the domains \(E_k\) enclosed by \(\widehat{\varGamma }_k \cup \mathcal {C}_{1,k} \cup \widehat{\varGamma }_{k+1} \cup \mathcal {C}_{2,k}\), where

$$\begin{aligned} \begin{aligned} \mathcal {C}_{1,k}&=\{ (r_0, \xi ); \ \xi \in [\eta (0) + 2 \pi k, \eta (0) + 2 \pi (k+1)] \}, \\ \mathcal {C}_{2,k}&=\{ (R, \xi ); \ \xi \in [\eta (\ell ) + 2 \pi k, \eta (\ell ) + 2 \pi (k+1)] \}. \end{aligned} \end{aligned}$$

See Fig. 8 for an illustration. For the construction of a desired \(u\), it suffices to construct \(\varphi \in C([r_0, R] \times (\mathbb {R} / 2 \pi \mathbb {Z}))\) on the polar plane satisfying \(\varphi (r, \xi ) - \xi \equiv 0 \mod 2 \pi \mathbb {Z}\) only on \(\widehat{\varGamma }_k\). Thus, we solve the following simple boundary value problem for \(\varphi \):

$$\begin{aligned} \left\{ \begin{array}{lll} \Delta _{r,\xi } \varphi (r,\xi ) = 0 &{} \quad \text{ for } \ (r,\xi ) \in E_0, \\ \varphi (r_0, \xi ) = \eta (0) &{} \quad \text{ for } \ (r_0,\xi ) \in \mathcal {C}_{1,0}, \\ \varphi (R, \xi ) = \eta (\ell ) &{} \quad \text{ for } \ (R,\xi ) \in \mathcal {C}_{2,0}, \\ \varphi (\rho (s), \eta (s) + 2 \pi k) = \eta (s) &{} \quad \text{ for } \ s \in [0, \ell ] \ \text{ and } \ k=0,1, \end{array} \right. \end{aligned}$$
(11)

where \(\Delta _{r,\xi } = \partial ^2 / \partial r^2 + \partial ^2 / \partial \xi ^2\). We then extend \(\varphi \) to \([r_0, R] \times \mathbb {R}\) with \(\varphi (r,\xi + 2\pi ) = \varphi (r, \xi )\) for \(\xi \in \mathbb {R}\).

Fig. 8
figure 8

Spiral curve on the polar plane

Fig. 9
figure 9

Construction of initial data for a general simple spiral. The figure on top left is a curve given in (13), whose horizontal and vertical axis mean \(\eta \) and \(r\), respectively. The top right one is the solution of (11) for (13). The bottom figures are a graph of \(u\) (left) defined by (12) and its level set with our formulation (right), respectively

Finally, we define

$$\begin{aligned} u(x) = \varphi (|x|, \mathrm {Arg} (x)), \end{aligned}$$
(12)

where \(\mathrm {Arg} (x) \in [0, 2 \pi )\) is the principal value of \(\arg (x)\), is a function satisfying (10). In fact, \(\psi (r,\xi ) := \varphi (r,\xi ) - \xi \) still satisfies

$$\begin{aligned} \Delta _{r,\xi } \psi = 0 \quad \text{ in } \ E_k, \end{aligned}$$

and thus \(\psi \) attains its maximum or minimum on \(\partial E_k = \widehat{\varGamma }_k \cup \widehat{\varGamma }_{k+1} \cup \mathcal {C}_{1,k} \cup \mathcal {C}_{2,k}\) by the maximum principle [30]. Moreover, from the last condition in (11) we have

$$\begin{aligned} \psi (r, \xi ) = - 2\pi k \quad \text{ for } \ (r,\xi ) \in \widehat{\varGamma }_{k}, \end{aligned}$$

i.e., \(\psi \) is not a constant. Then we have

$$\begin{aligned} - 2 \pi (k+1) < \psi < - 2 \pi k \quad \text{ in } \ E_k, \end{aligned}$$

and thus

$$\begin{aligned} u(x) - \arg (x) \equiv \varphi (|x|, \mathrm {Arg} (x)) - \mathrm {Arg} (x) = \psi (|x|, \mathrm {Arg} (x)) \equiv 0 \mod 2 \pi \mathbb {Z} \end{aligned}$$

only on \(\varGamma \). One may consider solving (11), which is typically defined on an irregular domain, by a suitable boundary integral method, e.g. [21], and evaluate \(u\) directly on a Cartesian grid, and thus bypass the need of interpolating \(\varphi \) that is discretized in the polar coordinates.

We present a example of the initial data constructed with the above for

$$\begin{aligned} (r(s), \eta (s)) = \left\{ \begin{array}{ll} (s,0) &{} {\displaystyle \text{ if } \ \ 0 \le s \le \frac{1}{4}, }\\ {\displaystyle \left( \frac{1}{4}, - 2 \pi \left( s - \frac{1}{4} \right) \right) } &{} {\displaystyle \text{ if } \ \ \frac{1}{4} < s \le \frac{1}{2}, } \\ {\displaystyle \left( s - \frac{1}{4}, - \frac{\pi }{2} \right) } &{} {\displaystyle \text{ if } \ \ \frac{1}{2} < s \le \frac{3}{4}, } \\ {\displaystyle \left( \frac{1}{2}, - 2 \pi \left( s - \frac{1}{2} \right) \right) } &{} {\displaystyle \text{ if } \ \ \frac{3}{4} < s \le 1,} \\ {\displaystyle \left( s - \frac{1}{2}, - \pi \right) } &{} {\displaystyle \text{ if } \ \ 1 < s \le \frac{5}{4}, } \\ {\displaystyle \left( \frac{3}{4}, - 2 \pi \left( s - \frac{3}{4} \right) \right) } &{} {\displaystyle \text{ if } \ \ \frac{5}{4} < s \le \frac{3}{2}, } \\ {\displaystyle \left( s - \frac{3}{4}, - \frac{3 \pi }{2} \right) } &{} {\displaystyle \text{ if } \ \ s > \frac{3}{2}.} \end{array} \right. \end{aligned}$$
(13)

See Fig. 9.

Union of Spirals. Let \(u_N\) and \(u\) be functions describing \(\varGamma _N\) and \(\varGamma \) which contain many spirals and one spiral with sheet structure functions \(\theta _N\) and \(\theta \), respectively, i.e,

$$\begin{aligned} \varGamma _N&= \{ x \in \overline{W} ; \ u_N (x) - \theta _N (x) \equiv 0 \mod 2 \pi \mathbb {Z} \}, \\ \varGamma&= \{ x \in \overline{W} ; \ u (x) - \theta (x) \equiv 0 \mod 2 \pi \mathbb {Z} \}. \end{aligned}$$

Assume that \(\varGamma _N \cap \varGamma = \emptyset \). We propose an inductive way to construct \(u_{N+1}\) describing the union \(\varGamma _{N+1} = \varGamma _N \cup \varGamma \) as

$$\begin{aligned} \varGamma _{N+1} = \{ x \in \overline{W} ; \ u_{N+1} (x) - \theta _{N+1} (x) \equiv 0 \mod 2 \pi \mathbb {Z} \} \end{aligned}$$
(14)

with \(\theta _{N+1} = \theta _N + \theta \).

We first define

$$\begin{aligned} v_N (x) := \Theta _N (x) + 2 \pi k_N (x) + \pi H_1 (\lambda _N [u_N (x) - (\Theta _N (x) + 2 \pi k_N (x))]), \end{aligned}$$

for a positive constant \(\lambda \in [1/\pi , \infty )\); here

$$\begin{aligned} H_1 (\sigma ) = \left\{ \begin{array}{ll} -1 &{} \text{ if } \ \sigma \le -1, \\ \sigma &{} \text{ if } \ -1 < \sigma < 1, \\ +1 &{} \text{ if } \ \sigma \ge 1, \end{array} \right. \end{aligned}$$
(15)

\(\Theta _N\) is a branch of \(\theta _N\) whose branch-cut line is the union of \(\{ a + (x^1, 0) ; \ x^1 \ge 0 \}\) for the all centers \(a\) contained in \(\varGamma _N\), and \(k_N :\overline{W} \rightarrow \mathbb {Z}\) is a function satisfying

$$\begin{aligned} - \pi \le u_N (x) - (\varTheta _N (x) + 2 \pi k_N (x)) < \pi \quad \text{ for } \ x \in \overline{W}. \end{aligned}$$

We also define

$$\begin{aligned} v (x) := \varTheta (x) + 2 \pi k (x) + \pi H_1 (\lambda [u (x) - (\varTheta (x) + 2 \pi k (x))]) \end{aligned}$$

with the same manner of \(v_N\). Then, \(v_N\) is continuous and satisfy

$$\begin{aligned} \varGamma _N = \{ x \in \overline{W} ; \ v_N (x) - \theta _N (x) \equiv 0 \mod 2 \pi \mathbb {Z} \}, \end{aligned}$$

and also \(v\), \(\theta \) and \(\varGamma \) satisfy the same relation. Choosing \(\lambda _N, \lambda > 0\) so that

$$\begin{aligned} \begin{aligned}&\{ x \in \overline{W} ; \ |v_N (x) - (\varTheta _N (x) + 2\pi k_N (x) )| < \pi \} \\&\quad \quad \cap \{ x \in \overline{W} ; \ |v (x) - (\varTheta (x) + 2 \pi k (x))| < \pi \} = \emptyset \end{aligned} \end{aligned}$$

we will have a continuous function \(u_{N+1}(x) = v_{N+1} (x) + v (x) + \pi \) that satisfies (14). Note that the above stil works well even if \(\varGamma \) contains many spirals.

A Brief Summary on Initialization Procedures. The methods proposed in the previous subsections describe how one could construct continuous initial data for the auxiliary function \(u\) for the following cases:

  • A straight line connecting two centers,

  • A general simple spiral,

  • The union of two spiral curves, which are separately given.

With the ability to take unions of spiral curves, we have a method for constructing continuous initial data for a large class of spirals.

2.6 Evaluating the Height Function

It is of great interest to predict the growth rate of the crystal surface. Burton et al. [1] calculate the growth rate of the surface with a single center by calculating the angle velocity of the rotating spiral. In this paper, we consider a general case that involve multiple centers. We construct a surface height function \(h(t,x)\) from \(\varGamma _t\) and obtain the mean growth height \(H (t; t_0)\) of the surface in \([t_0, t]\) as

$$\begin{aligned} H (t; t_0) = \frac{1}{|W|} \int _{\overline{W}} (h(t,x) - h(t_0,x)) dx, \end{aligned}$$

and the growth rate \(R (t)\) as

$$\begin{aligned} R (t) = \frac{d }{dt} H (t;t_0) = \frac{1}{|W|} \int _{\overline{W}} h_t (t,x) dx. \end{aligned}$$

We construct \(h(t,x)\) from the approximation by the theory of dislocations as in [15]. Here we assume that the vertical displacement of the surface by screw dislocations is small enough, and there is no horizontal displacement. Then, from the linear elasticity theory \(h\) satisfies

$$\begin{aligned} \Delta h = - h_0 \mathrm {div} \delta _{\varGamma _t} \mathbf{n}, \end{aligned}$$
(16)

where \(h_0\) is a unit height of steps, and \(\delta _{\varGamma _t}\) is the delta measure concentrated on \(\varGamma _t\). Instead of solving (16) with a Neumann boundary condition as in [34], we solve it analytically and derive an explicit formula for \(h\). Let \(\theta _{\varGamma _t}\) be the branch of \(\theta \) given by (4) whose discontinuity is only on \(\varGamma _t\). By a direct calculation we observe that

$$\begin{aligned} h(t,x) = \frac{h_0}{2 \pi } \theta _{\varGamma _t} \end{aligned}$$
(17)

is a solution to (16). Since the jump of \(\theta _{\varGamma _t}\) is \(- 2 \pi \) in the direction of the normal, the multiplier \(h_0 / 2\pi \) in front of \(\theta _{\varGamma _t}\) is necessary so that (17) solves (16). Hence, \(h(t,x)\) can be evaluated conveniently from the solution \(u\) of (6)–(7) as described in the following. Let \(k(t,x) \in \mathbb {Z}\) be such that

$$\begin{aligned} -\pi \le u(t,x) - (\varTheta (x) + 2 \pi k(t,x)) < \pi , \end{aligned}$$

where \(\varTheta (x) = \sum _{j=1}^N m_j \varTheta _j (x)\) and \(\varTheta _j :\overline{W} \rightarrow [0,2\pi )\) is a principal value of \(\arg (x - a_j)\). Then,

$$\begin{aligned} h(t,x) = \frac{h_0}{2\pi } \left[ \varTheta (x) + 2 \pi k(t,x) + \pi \vartheta (u(t,x) - (\varTheta (x) + 2 \pi k(t,x))) \right] . \end{aligned}$$

is our desired function to describe the height of the crystal surface, where \(\vartheta \) is the Heaviside function, i.e., \(\vartheta (\sigma ) = \mathbf{1}_{[0, \infty )} (\sigma ) - \mathbf{1}_{(-\infty , 0)} (\sigma )\); here \(\mathbf{1}_J (\sigma )\) denotes the indicator function for \(J \subset \mathbb {R}\).

3 Numerical Simulations

In this section we present a few results of numerical experiments.

We set the domain \(\varOmega =[-1,1]^2\), uniform grid spacing \(\delta =10^{-2}\). We choose the time step span \(\tau = \delta ^2 / 4\) for numerical simulations in this section except calculating the growth rate by a single spiral in Sect. 3.2, and errors between stationary and numerical solutions under inactive pair Sect. 3.4; for these cases we choose \(\tau = \delta ^2 / 10\). The lattice points are denoted by \((t^k, x_{i,j}) = (\tau k, \delta i, \delta j)\) for \(-100 \le i, j \le 100\). In this section we use the equation

$$\begin{aligned} V = v_\infty (1 - \rho _c \kappa ) \end{aligned}$$
(18)

instead of (1) for consistency with [1]. The corresponding level set equation is given in

$$\begin{aligned} u_t - v_\infty |\nabla (u - \theta )| \left\{ \rho _c \mathrm {div} \frac{\nabla (u - \theta )}{|\nabla (u - \theta )|} + 1 \right\} = 0 \quad \text{ in } \ (0,T) \times W. \end{aligned}$$
(19)

Note that \(v_\infty \) denotes the evolution speed of a straight line, and \(\rho _c\) denotes the critical radius such that a disc shrinks if its radius is less than \(\rho _c\). Solving (1) with \(C=1/\rho _c\), and rescaling \(t\) to \(v_\infty \rho _c t\), one obtains the dynamics of spirals prescribed in (18).

3.1 Discretization

In this paper we solve (6)–(7) with a typical explicit finite difference scheme; see e.g. [28, 36, 39]. We shall give only a few remarks which are rather special to our problem.

One of the specific difficulties is in treating the sheet structure function \(\theta \) when we apply finite differencing to the terms \(u-\theta \) in (6) or (7). The function \(\theta \) will be evaluated numerically in a neighborhood of each branch-cut line of \(\arg (x - a_j)\) so that it is smooth there and we do not perform finite difference across the projected discontinuity of \(\arg (x - a_j)\).

Writing \(w = u - \theta \) formally, the Eq. (6) appears in the form

$$\begin{aligned} \begin{aligned}&u_t - v_\infty \mathrm {I} - v_\infty \rho _c \mathrm {II} = 0, \\&\mathrm {I} = |\nabla w|, \\&\mathrm {II} = |\nabla w| \mathrm {div} \frac{\nabla w}{|\nabla w|}. \end{aligned} \end{aligned}$$

More precisely, we denote

$$\begin{aligned} \begin{aligned} \mathrm {I} =&\sqrt{|\tilde{\partial }_x w|^2 + |\tilde{\partial }_y w|^2}, \\ \mathrm {II} =&\sqrt{|\hat{\partial }_x w|^2 + |\hat{\partial }_y w|^2}~ \mathrm {div} \frac{\nabla w}{|\bar{\nabla } w|} \end{aligned} \end{aligned}$$

with \(w^k_{i,j} = w(t^k, x_{i,j})\) on a lattice \({(t^k, x_{i,j})}\) with uniform grid spacing \(\delta > 0\) in the \(x\)- and the \(y\)-dimensions. If \(v_\infty > 0\), \(|\tilde{\partial }_x w|\) and \(|\hat{\partial }_x w|\) are discretized differently as follows:

$$\begin{aligned} \begin{aligned} |\tilde{\partial }_x w| =&\max \left\{ \max \left\{ \tilde{\partial }_x^+ w, 0 \right\} , - \min \left\{ \tilde{\partial }_x^- w, 0 \right\} \right\} , \\ |\hat{\partial }_x w| =&\left\{ \begin{array}{ll} \max \{ |\partial _x^+ w|, |\partial _x^- w| \} &{} \text{ if } \ |\partial _x^\circ w| \ll 1, \\ |\partial _x^\circ w| &{} \text{ otherwise }, \end{array} \right. \\ \partial _x^\pm w =&\frac{w^k_{i \pm 1, j} - w^k_{i,j}}{ \pm \delta }, \quad \partial _x^\circ w = \frac{w^k_{i+1,j} - w^k_{i-1,j}}{2 \delta }, \\ \tilde{\partial }^{\pm }_x w =&\frac{w^k_{i \pm 1,j} - w^k_{i,j}}{\pm \delta } \\&\quad \mp \frac{1}{2} \mu \left( \frac{w^k_{i\pm 2,j} - 2 w^k_{i\pm 1,j} + w^k_{i,j}}{\delta ^2}, \frac{w^k_{i+1,j} -2 w^k_{i,j} + w^k_{i-1,j}}{\delta ^2} \right) , \\ \mu (p,q) =&\left\{ \begin{array}{ll} p &{} \text{ if } \ |p| < q, \\ q &{} \text{ otherwise. } \end{array} \right. \end{aligned} \end{aligned}$$

If \(v_\infty < 0\), then \(\tilde{\partial } w_x\) is discretized by

$$\begin{aligned} |\tilde{\partial }_x w| = \max \left\{ - \min \left\{ \tilde{\partial }_x^+ w, 0 \right\} , \max \left\{ \tilde{\partial }_x^- w, 0 \right\} \right\} . \end{aligned}$$

The terms \(|\tilde{\partial }_y w|\), \(|\hat{\partial }_y w|\) are defined analogously as above.

The curvature term \(\mathrm {div} (\nabla w/|\bar{\nabla } w|)\) is discretized as

$$\begin{aligned} \begin{aligned} \mathrm {div} \frac{\nabla w}{|\bar{\nabla } w|} =&\frac{1}{\delta } \left( \frac{\partial ^+_x w}{\sqrt{\varepsilon ^2 + (\partial ^+_x w)^2 + (\bar{\partial }^+_y w)^2}} - \frac{\partial ^-_x w}{\sqrt{\varepsilon ^2 + (\partial ^-_x w)^2 + (\bar{\partial }^-_y w)^2}} \right. \\&\left. + \frac{\partial ^+_y w}{\sqrt{\varepsilon ^2 + (\bar{\partial }^+_x w)^2 + (\partial ^+_y w)^2}} - \frac{\partial ^-_y w}{\sqrt{\varepsilon ^2 + (\bar{\partial }^-_x w)^2 + (\partial ^-_y w)^2}} \right) \end{aligned} \end{aligned}$$

with a small parameter \(\varepsilon > 0\), where \(\bar{\partial }^{\pm }_x w\) is discretized as

$$\begin{aligned} \bar{\partial }^{\pm }_x w = \frac{(w^k_{i+1,j \pm 1} + w^k_{i+1,j}) - (w^k_{i-1,j \pm 1} + w^k_{i-1,j})}{4 \delta }. \end{aligned}$$

The term \(\bar{\partial }^{\pm }_y w\) is also defined analogously as above.

We now discuss the treatment of Neumann boundary condition for the boundary of a small region \(U\) that contains the spiral center. We consider two idealized situations. The first one being that \(U\) corresponds to a disc centering at a grid node \(x_{i,j}\) with a radius that is smaller than \(\delta /2\). The second situation corresponds to \(U\) being a disc with a small radius which is independent of the grid spacing. In the first situation, we assign different fictitious values to \(w_{i,j}\) depending on the finite difference stencil used in discretizing the PDE at a grid node nearby \(x_{i,j}\), assuming that \(x_{i,j}\) is in the computational domain. More precisely, if the PDE is discretized on \(x_{i-1,j}\), then we assign the fictitious value of \(w_{i,j}\) to be \(w_{i-1,j}\). The other fictitious values of \(w_{i,j}\) are assigned accordingly. All the simulations in this paper use such treatment for the Neumann condition, except a part of simulations in Sect. 3.4. We remark, however, that this approach results in relatively larger error in the front propagation speed near the spiral center.

In the second idealized situation, we further assume that the mesh size \(\delta \) is smaller than the radius of \(U\), and that explicit time stepping such as forward Euler or some explicit Runge–Kutta method is used to time discretization. In this setting, we may consider \(\partial U\) as an implicit interface, and extend the values of \(w\) outside of \(U\) following the approach which is called “velocity extension” in the level set method literature; see e.g. [28], or more specifically [4]. This situations appear in a part of simulations in Sect. 3.4 if we see the numerical accuracy of our method by converging to the stationary solution under an inactive pair with independently chosen centers with respect to \(\delta \).

3.2 Single Center with Multiple Spirals

One of advantages over the Smereka’s formulation is that it is easy to treat the situation there is one center with multiple spirals. This situation is described by

$$\begin{aligned} \varGamma _t := \{ x \in \overline{W} ; \ u(t,x) - m \theta _0 (x) \equiv 0 \mod 2 \pi \mathbb {Z} \} \end{aligned}$$

with \(\theta _0 (x) = \arg x\) and \(m \in \mathbb {Z} {\setminus } \{ 0 \}\). Here we have assumed that the center is the origin. The dynamics is given by

$$\begin{aligned} u_t - v_\infty |\nabla (u - m \theta _0)| \left\{ \rho _c \mathrm {div} \frac{\nabla (u - m \theta _0)}{|\nabla (u - m \theta _0)|} + 1 \right\} = 0&\text{ in }&(0,T) \times W, \\ \langle \varvec{\nu }, \nabla (u - m \theta _0) \rangle = 0&\text{ on }&(0,T) \times \partial W. \end{aligned}$$

Then we find evolving \(|m|\) spirals as \(\varGamma _t = \bigcup _{k=0}^{|m|-1} \varGamma _{k,t}\) and

$$\begin{aligned} \varGamma _{k,t} = \{ x \in \overline{W} ; \ u(t,x) - m \theta _0 (x) \equiv 2 \pi k \mod 2 \pi |m| \mathbb {Z} \}. \end{aligned}$$

To describe this situation by Smereka’s formulation we need \(2|m|\) auxiliary function and thus system of \(2|m|\) equations.

Figure 10 is the evolution of triple spirals associated with the origin by

$$\begin{aligned} V = 5(1-0.03\kappa ) \quad (\text{ i.e., } \ v_\infty =5, \ \rho _c = 0.03). \end{aligned}$$

The initial curve is chosen as

$$\begin{aligned} \varGamma _0 = \bigcup _{i=1}^3 \left\{ r \left( \cos \frac{2(i-1)}{3} \pi , \sin \frac{2(i-1)}{3} \pi \right) ; \ r>0 \right\} . \end{aligned}$$

In this case we choose \( u_0 (x) \equiv 0 \).

Fig. 10
figure 10

Motion of triple spirals associated with the origin by \(V = 5(1-0.03\kappa )\). Each profile is at \(t=0, 0.1250, 0.250\) and \(t=0.50\) from top left to bottom right

We verify the numerical accuracy of the height function defined in Sect. 2.6 by the computed crystal surface with a single spiral. We set \(N=1\), \(a_1 = 0\) and \(\theta (x) = \arg x\). Figure 11 presents the graphs of \(H(t;0)\) for a single spiral under

$$\begin{aligned} V = 6(1 - \rho _c \kappa ) \end{aligned}$$
(20)

with \(\rho _c = 0.04\) and \(0.08\) and \(h_0 = 1\) on the domain \(W = \varOmega {\setminus } \overline{B_{\delta /2} (0)}\), where \(\delta \) is the numerical grid spacing size. One finds that the height of the evolving crystal surface increases linearly for \(t\ge 0.3\) in the all simulations we examined. Thus, the growth rate of the surface should be the slope of the approximating line on the time interval \([0.3,1]\) or calculating \(R(t)\) defined in Sect. 2.6. In this paper we present only the approximating line of these case, then we obtain

$$\begin{aligned} \rho _c = 0.04 : \quad&H (t;0) \approx 7.947102t-0.918626, \\ \rho _c = 0.08 : \quad&H (t;0) \approx 3.961880t-0.381085, \end{aligned}$$

so that the growth rates are \(7.947102\) if \(\rho _c = 0.04\), and \(3.961880\) if \(\rho _c = 0.08\).

Fig. 11
figure 11

Graphs of the mean growth height \(H (t;0)\) by a single screw dislocation with normal velocity (20) and \(h_0=1\). The dashed line is the approximating line with respect to the data for \(t \in [0.3,1]\). The holizontal and vertical axes correspond to time \(t\) and the growth heights \(H (t;0)\), respectively

Burton et al. [1] pointed out that the growth rate of a crystal surface by a single rotating spiral evolving under (18) is given as

$$\begin{aligned} R_S = \frac{\omega }{2 \pi } h_0 = \frac{\omega _1 v_\infty h_0}{2 \pi \rho _c}, \end{aligned}$$

where \(\omega = \omega _1 v_\infty / \rho _c\) is the angular velocity of the spiral. Burton et al. calculated \(\omega _1 = 1/2\) with rough approximation of the spiral. Ohara and Reid [24] numerically calculated a more accurate value of \(\omega _1\) with ODE model and obtain \(\omega _1 = 0.330958061\ldots \). We tabulate \(R_S\), the slope \(R_\ell \) of the approximating line calculated by the data on \([0.3,1]\) with \(\delta = 1/100\), and the relative errors \(e_{\ell S} = |R_\ell - R_S| / R_S\) for \(\delta = 1/100, 1/200\) and \(1/400\).

\(\rho _c\)

\(R_S\)

\(R_{\ell }\)

\(e_{\ell S}\)

(\(\delta = 1/100\))

\( \delta = 1/100\)

\( \delta = 1/200\)

\( \delta = 1/400\)

\( 0.040 \)

\( 7.901042 \)

\( 7.947102 \)

\(0.005830\)

\(0.002902\)

\(0.001064\)

\( 0.080 \)

\( 3.950521 \)

\( 3.961880 \)

\(0.002875\)

\(0.001056\)

\(0.000349\)

Note that we remove the neighborhood \(B_{\delta /2} (0)\) around the center which vanishes as \(\delta \rightarrow 0\). One finds that the relative errors decrease for smaller \(\delta \) and also for larger \(\rho _c\): with a rescaling \(x \mapsto rx\) for \(r > 0\) (18) is represented as

$$\begin{aligned} V = r v_\infty (1 - r \rho _c \kappa ), \end{aligned}$$

and thus the radius of the center becomes relatively smaller for larger values of \(\rho _c\). We next tabulate \(\log _2 (e_{\ell S} (\delta ) / e_{\ell S} (\delta / 2))\) of the above.

\(\rho _c \)

\(\delta \)

\(\log _2 (e_{\ell S} (\delta )/ e_{\ell S} (\delta / 2))\)

\(0.04\)

\(1/100\)

\(1.006448\)

\(1/200\)

\(1.447549\)

\(0.08\)

\(1/100\)

\(1.444952\)

\(1/200\)

\(1.597311\)

One can find the decay order of \(e_{\ell S} (\delta )\) with \(\delta = 2^{-p}/100\) is over \(1.0\) in the above cases. We refer the readers to the forthcoming paper [27] for the more details and extensive study of the evolution of the surface.

3.3 Co-rotating Spirals

Consider the case of \(N\) screw dislocations with the same rotational orientations. We say such a case simply co-rotating spirals. To describe this situation we consider (6)–(7) with

$$\begin{aligned} \theta (x) = m \sum _{i=1}^N m_i \arg (x - a_i), \end{aligned}$$

where \(m_i \in \mathbb {N}\) is the number of spirals associated with \(a_i\), and \(m \in \{ \pm 1 \}\) is the constant chosen by the rotational orientations, i.e., \(m=1\) if the orientations all spirals are counter-clockwise, and \(m=-1\) if those are clockwise.

Note that there are no connecting spirals for co-rotating case. Then, if \(\varGamma _0\) is the union of lines, \(\varGamma _0\) is given as

$$\begin{aligned} \varGamma _0&= \bigcup _{i=1}^N \bigcup _{j=1}^{m_i} L_{i,j}, \end{aligned}$$
(21)
$$\begin{aligned} L_{i,j}&= \{ a_i + r (\cos \alpha _{i,j}, \sin \alpha _{i,j}) \in \overline{W} ; \ r > 0 \}, \end{aligned}$$
(22)

where \(\alpha _{i,j} \in \mathbb {R}\) is a constant.

A simplest but nontrivial situation is the case of \(N=2\), \(m_1 = m_2 = 1\) and \(\varGamma _0 = L_{1,1} \cup L_{2,1}\) is given by

$$\begin{aligned} L_{1,1} = \{ a_1 + r (a_1 - a_2) \in \overline{W} ; \ r>0 \}, \quad L_{2,1} = \{ a_2 + r (a_2 - a_1) \in \overline{W} ; \ r>0 \} \end{aligned}$$

with counter-clockwise orientation. In this case \(\theta \) and \(u_0\) are of the form

$$\begin{aligned} \begin{aligned}&\theta (x) = \arg (x-a_1) + \arg (x-a_2), \\&u_0 (x) \equiv 0. \end{aligned} \end{aligned}$$
(23)

Note that we set \(\theta (x) = - \arg (x - a_1) - \arg (x - a_2)\) instead of the above if the rotational orientations of the curve are clockwise. Figure 12 is the simulation with

$$\begin{aligned} \left\{ \begin{aligned}&a_1 = (- 0.35, 0), \ a_2 = (0.35, 0), \\&V = 5 (1 - 0.02 \kappa ) \quad (v_\infty = 5, \ \rho _c = 0.02). \end{aligned} \right. \end{aligned}$$
(24)

We also obtain the surface height function from a solution of the level set equation with the method in Sect. 2.6 (see Fig. 13).

Fig. 12
figure 12

The simulation of co-rotating spirals by (24) and (23) at time \(t=0\), \(t=0.05\), \(t=0.1\), \(t=0.5\) from top left to bottom right

Fig. 13
figure 13

The profile of the surface at \(t=0.5\) from Fig. 12, which is reconstructed from the numerical solution of the level set equation

One of advantages of our method is that our method enables us to set different numbers of spirals for several centers, i.e., describing the situations for more general cases of \(m\) and \(m_i\). Such situation seems to be impossible to treat by Smereka’s approach. We now assume that an initial curve is given by (21) and (22) with counter-clockwise orientation. Then, from the additive construction we first choose \(u_{i,j} \in C(\overline{W})\) satisfying

$$\begin{aligned} L_{i,j} = \{ x \in \overline{W} ; \ u_{i,j} (x) - \arg (x - a_i) = 0 \mod 2 \pi \mathbb {Z} \}, \end{aligned}$$

and one observe that \(u_{i,j} (x) \equiv \alpha _{i,j}\) from the initialization of a line step in Sect. 2.5. Next, we modify \(u_{i,j}\) as

$$\begin{aligned} v_{i,j} (x) = \varTheta _i (x) + 2 \pi k_{i,j} (x) + \pi H_1 ( \lambda _{i,j} \left\{ u_{i,j} (x) - (\varTheta _i (x) + 2 \pi k_{i,j} (x)) \right\} ), \end{aligned}$$
(25)

with constants \(\lambda _{i,j} > 1 / \pi \), where \(H_1\) is a function defined as (15), \(\varTheta _i :\overline{W} \rightarrow [0, 2 \pi )\) is a principal value of \(\arg (x - a_i)\), and \(k_{i,j} :\overline{W} \rightarrow \mathbb {Z}\) is a function satisfying

$$\begin{aligned} - \pi \le u_{i,j} (x) - (\varTheta _i (x) + 2 \pi k_{i,j} (x)) < \pi \quad \text{ for } \ x \in \overline{W}. \end{aligned}$$
(26)

Here we choose \(\lambda _{i,j}\) as

$$\begin{aligned} \Lambda _{i_1, j_1} \cap \Lambda _{i_2, j_2} = \emptyset \quad \text{ whenever } \ (i_1, j_1) \ne (i_2, j_2), \end{aligned}$$
(27)

where

$$\begin{aligned} \Lambda _{i,j} = \{ x \in \overline{W} ; \ |v_{i,j} (x) - (\varTheta _i (x) + 2 \pi k_{i,j} (x))| < \pi \}. \end{aligned}$$
(28)

Then, we set

$$\begin{aligned} u_0 (x) = \sum _{i=1}^N \sum _{j=1}^{m_i} (v_{i,j} (x) + \pi ) - \pi . \end{aligned}$$
(29)

Note that \(v_{i,j} \in C(\overline{W})\) and satisfies

$$\begin{aligned} L_{i,j} = \{ x \in \overline{W} ; \ v_{i,j} (x) - \arg (x - a_i) \equiv 0 \mod 2 \pi \mathbb {Z} \} \end{aligned}$$

if \(\lambda _{i,j} > 1/\pi \). The condition (27) is a sufficient condition to give an initial curve by \(u_0\). Here is an example of simulation of general situation in Fig. 14 and its reconstructed surface in Fig. 15 with (24) and

$$\begin{aligned} \begin{aligned} \theta (x) =&\arg (x-a_1) + 2 \arg (x-a_2), \\ L_{1,1} =&\{ a_1 + r(\cos \pi , \sin \pi ) ; \ r > 0 \}, \\ L_{2,1} =&\{ a_2 + r (\cos (-\pi /3), \sin (-\pi /3) ) ; \ r>0 \}, \\ L_{2,2} =&\{ a_2 + r (\cos (\pi /3), \sin (\pi /3) ); \ r> 0 \}. \end{aligned} \end{aligned}$$

To give an initial datum \(u_0\) for \(\varGamma _0 = \bigcup _{i=1}^2 \bigcup _{j=1}^{m_i} L_{i,j}\) we set

$$\begin{aligned} \alpha _{1,1} = \pi , \ \alpha _{2,1} = - \frac{\pi }{3}, \ \alpha _{2,2} = \frac{\pi }{3}, \quad \lambda _{1,1} = \lambda _{2,1}=\lambda _{2,2} = \frac{3}{\pi }. \end{aligned}$$
Fig. 14
figure 14

Co-rotating spirals with different numbers of spiral steps for each screw dislocations at \(t=0\) on top left, \(t=0.08\), \(t=0.16\), \(t=0.24\) on bottom right

Remark 7

When the curves have clockwise orientations, we set \(\tilde{u}_{i,j} = - u_{i,j}\) to obtain \(L_{i,j} = \{ x \in \overline{W} ; \ \tilde{u}_{i,j} (x) - \theta _i^- (x) \equiv 0 \mod 2 \pi \mathbb {Z} \}\) with \(\theta _i^- = - \arg (x - a_i)\) and set \(\tilde{u}_{i,j}\) and the principal value \(\Theta _i^- (x)\) of \(\theta _i^- (x)\) instead of \(u_{i,j}\) and \(\Theta _i\) in (25)–(28) to obtain \(u_0\) as (29).

One advantage of our method over the Smereka’s method [34] is that our method is able to verify activity of group of screw dislocations and compare it with a single screw dislocation with multiple steps.

Burton et al. [1, §9] pointed out that the activity of co-rotating spirals depends on the distance of the centers. They first consider the case of a pair of co-rotating spirals, and pointed out that the activity of a co-rotating pair is indistinguishable from that of one screw dislocation if the centers are far apart, and, however, should be twice of one screw dislocation if the distance of the centers is much less than \(\rho _c\), i.e., \(|a_1 - a_2| \ll \rho _c\) for the pair of centers \(a_1\) and \(a_2\). They also pointed out that the profile of co-rotating spirals would be effectively two symmetric branches of the complete Archimedean spirals, \(r = 2 \rho _c \theta \) and \(r = 2 \rho _c (\theta + \pi )\) in the limiting case as \(|a_1 - a_2| \rightarrow 0\) where \(r, \theta \) are the variables in the polar coordinates. By considering the spirals associated with \(a_1\) and \(a_2\) defined by the Archimedeans \(r = 2 \rho _c \theta \) and \(2\rho _c (\theta +\pi )\), they observed that the spirals did not collide with each other if and only if \(|a_1 - a_2| < 2 \pi \rho _c\) (see Fig. 16). Thus they discuss the activities and the profiles of spirals according to the centers being “close” (\(|a_1 - a_2| < 2 \pi \rho _c\)) or “far apart” (\(|a_1 - a_2| \ge 2 \pi \rho _c\)). The authors [27] investigate and revise the estimate of activity by [1]. It turns out that more accurate critical distance of the “close” pair seems to be \(\pi \rho _c / \omega _1\) with the coefficient \(\omega _1 = 0.330958061...\) which is the angular velocity \(\omega = \omega _1 v_\infty / \rho _c\) of a rotating spiral calculated by Ohara and Reid [24]. Note that Burton et al. [1] obtained \(\omega _1 = 1/2\) from the approximation of a rotating spiral with the Archimedean spiral \(r = 2 \rho _c \theta \).

Fig. 15
figure 15

Reconstructed surface at \(t=0.24\) from the numerical solution in Fig. 14

Fig. 16
figure 16

Two archimedeans: \(r = 2 \rho _c \theta \) centering at \(a_1= (- \alpha , 0)\) and its half turn \(r = 2 \rho _c (\theta +\pi )\) centering at \(a_2=(\alpha , 0)\). In these figures \(\rho _c = 1/2\), \(\alpha =1\) in the top figure, and \(\alpha =5\) in the bottom figure, respectively

Here we present a few simulations that verify the two cases discussed in [1]. In Fig. 17 we show three simulations involving respectively two spirals associated with a single center at \((0,0)\), two spirals each associated with one of the two centers at \((\pm 0.02, 0)\), and to \((\pm 0.2,0)\). The evolution equation is

$$\begin{aligned} V=5(1 - 0.02 \kappa ), \end{aligned}$$
(30)

i.e., \(\rho _c = 0.02\). We choose

$$\begin{aligned} u_0 (x) = 0 \end{aligned}$$

for all the case. Figure 12 shows a simulation for the farthest case with the same equation as the simulations in Fig. 17.

Fig. 17
figure 17

Comparison of co-rotating spirals by distances of pairs, and single center with two branches. The pictures are a single center with two branches, at \((\pm 0.02, 0)\) and \((\pm 0.2, 0)\) from left to right, and \(t=0\), \(0.08\), \(0.16\) and \(0.24\) from top to bottom

The simulation presented in the middle column corresponds to the case \(|a_1 - a_2| = 0.04 < \pi \rho _c / \omega _1\). In the setup of the simulation we take \(a_1\) and \(a_2\) as close as possible, so that there are three grid points between the pair to see the performance of the proposed method for spirals with centers that are closely positioned on the grid level. Even though we cannot say that this pair falls into the regime \(|a_1 - a_2| \ll \rho _c\), our simulations show that the corresponding profile is significantly different from the case in which the pair consists of centers at \((\pm 0.2, 0)\). A crucial difference is that the curve includes some concave points. One observes that the line tracking points where the curve is concave almost agrees with the locus of intersections and forms an S-shape.

Remark 8

In [27] we shall discuss the growth rate of the surface for the case of centers \((\pm 0.02, 0)\) is very close to the case of a single center with double spirals, and the case \((\pm 0.2,0)\) is caught up by a single spiral case.

Burton et al. [1] observed by a heuristic argument that a set of centers on one line plays a role of a single center with multiple activity when the distances between two neighboring centers on the line is less than \(\pi \rho _c / \omega _1\). Such a set is called a group (or system) of centers (or co-rotating spirals). They also presented formulae predicting the activities between a group of co-rotating spirals and a single one (see Remark 9).

We verify the difference of profiles between some cases of systems by \(N\) (\(\ge 2\)) co-rotating spirals. Figure 18 is a results of simulations on \(4\) centers \((\pm a, 0)\), \((\pm b,0)\)(\(a>b>0\)) with counter-clockwise orientations. The evolution equation is (30). The first examination is with \(a=0.06\) and \(b=0.02\) the second one is \(a=0.15\), \(b=0.11\). According to [1, §9] the first one should be regarded as one group of four centers, and the second one should be two pairs.

Fig. 18
figure 18

Comparison of profiles of spirals at time \(t=0\) (top) and \(t=0.5\) (bottom) by four co-rotating centers. The normal velocity is described in (30). The left one is with \((\pm 0.06)\), \((0.02, 0)\), and the right one is \((\pm 0.15, 0.11)\)

In these tests we define the initial curve \(\varGamma _0 = L_1 \cup L_2 \cup L_3 \cup L_4\) to be

$$\begin{aligned} \begin{aligned} L_1 =&\{ a_1 + (-r, 0) ; \ r>0 \},&a_1 = (-a,0), \\ L_2 =&\{ a_2 + (0, -r) ; \ r>0 \},&a_2 = (-b,0), \\ L_3 =&\{ a_3 + (0, r) ; \ r>0 \},&a_3 = (b,0), \\ L_4 =&\{ a_4 + (r,0) ; \ r>0 \},&a_4 = (a,0). \end{aligned} \end{aligned}$$

Here we have used the simple notations \(L_i\) instead of \(L_{i,1}\) since each center has a single line. Here and hereafter we will use similar notations \(\alpha _i\), \(\lambda _i\) instead of \(\alpha _{i,1}\), \(\lambda _{i,1}\) if \(\varGamma _0\) is given by (21) and (22), and each the center has a single line. In these numerical experiments we choose \( \theta = \sum _{i=1}^4 \arg (x - a_i)\), and

$$\begin{aligned} \alpha _1 = \pi , \ \alpha _2 = -\pi /2, \ \alpha _3 = \pi /2, \ \alpha _4 = 0, \quad \text{ and } \ \lambda _i = 4 / \pi \quad \text{ for } \ i=1,2,3,4 \end{aligned}$$

to construct \(u_0\) as (29). The normal velocity of the evolution is (30).

Remark 9

  1. 1.

    The growth height and rate in Sect. 2.6 enables us to find the essential difference between the case \((\pm 0.06,0)\), \((\pm 0.02, 0)\) and \((\pm 0.15, 0)\), \((\pm 0.11, 0)\). According to [1, §9], the resultant activity of a group of \(N\) co-rotating spirals is \(N/(1+l(2 \pi \rho _c)^{-1})\) times that of a single spiral if the group is on a line whose length is \(l\). The above multiplicity formula is revised by [27] as \(N/(1+l(\pi \rho _c / \omega _1)^{-1})\) times that of a single spiral. The growth rate obtained by our examination implies that the numerical growth rate by co-rotating screw dislocations at \((\pm 0.15, 0), (\pm 0.11, 0)\) is closer to the case of two pairs of dislocations with line length \(0.04\) than that by the group of 4 screw dislocations with line length \(0.30\). We shall discuss this subject in one of our forthcoming paper [27].

  2. 2.

    There is no explicit definition of activity of a group of screw dislocations in [1]. A reasonable definition of the activity of a group is the growth rate of the surface around the group.

  3. 3.

    There is a quantity which is called the “strength” of a group in [1]. The strength should be defined as the sum of the all signed numbers of spirals associated with centers joined in the group.

We conclude this section by examining a more general group of co-rotating spirals, for which Burton et al. [1] discussed heuristically. As we mentioned above, if the distance of a co-rotating pair is less than \(\pi \rho _c / \omega _1\), then the pair is effectively a single center which has two branches of spirals. We call such a situation as a group of two centers. Moreover, if a third center in the domain is also less than \(\pi \rho _c / \omega _1\) distance to the closest center in the pair, then these three centers, which are not assumed to be on one line, are also regarded as a single center with three branches of spirals. Similarly we call them as a group of three centers. When a center is located sufficiently closely to a group of \(N-1\) centers such that the distance of the center and the group is less than \(\pi \rho _c / \omega _1\), then we call these centers as a group of \(N\) centers. For example, centers in the left figures of Fig. 18 generate a group of 4 centers, and those in the right figures generate two pairs (not a group of 4 centers).

In general, however, the group of centers may develop a pit in the surface of the crystal. We consider a group of centers which are at \(a_1 = (0.16, 0)\), \(a_2 = (0.08, 0.15)\), \(a_3 = (-0.08, 0.15)\), \(a_4 = (-0.16, 0)\), \(a_5 = (-0.08, -0.15)\), and \(a_6 = (0.08, -0.15)\). Set the initial lines as

$$\begin{aligned} L_i = \{ a_i + r (\cos \pi (i-1)/3, \sin \pi (i-1)/3 ) ; \ r > 0 \} \quad \text{ for } \ i=1,2,3,4,5,6, \end{aligned}$$

and evolve \(\varGamma _0 = \cup _{i=1}^6 L_i\) with

$$\begin{aligned} V = 5(1-0.05 \kappa ). \end{aligned}$$

Figure 19 shows the profile of the spirals at \(t=0, 0.5, 0.505, 0.510, 0.515, 0.520\), and Fig. 20 shows the surface at \(t=0.520\). In this case we choose \(\alpha _i = \pi (i-1)/3\) and \(\lambda _i = 6 / \pi \) for \(i=1,2,3,4,5,6\) to construct \(u_0\) as (29). Note that

$$\begin{aligned} |a_{i+1} - a_i| = \left\{ \begin{array}{ll} 0.16 &{} \text{ for } \ i=2,5, \\ 0.17 &{} \text{ otherwise } \end{array} \right. \end{aligned}$$
Fig. 19
figure 19

Evolution of surface by a general group of 6 centers at \(t=0\), \(0.5\), \(0.505\), \(0.510\), \(0.515\), \(0.520\)

Fig. 20
figure 20

The surface at \(t=0.520\) in Fig. 19

and thus these centers form a group of \(N\) centers in the setting prescribed above. Therefore these centers are regarded as an effective single center. Actually the profile of spirals in Fig. 19 is very close to that of single center with six branches. However, one finds a closed curve inside of the group at \(t=0.520\). This curve is generated by rotating spirals which touch the centers of their neighboring spirals at some time during the evolution. Thus this curve describes the boundary of a pit in the surface. Because of the driving force and the curvature of the boundary, the pit disappears in a short time. However, the height of the surface at where the pit used to be remains lower than the surrounding.

3.4 Pair of Screw Dislocations with Opposite Rotational Orientations

Consider a pair of spirals with opposite rotational orientations. For simplicity we say that such a pair an opposite pair. This case is described by our formulation with

$$\begin{aligned} \theta (x) = m (m_1 \arg (x - a_1) - m_2 \arg (x - a_2)), \end{aligned}$$

where \(m_1, m_2 \in \mathbb {N}\) are numbers of spirals associated with \(a_1\) and \(a_2\), respectively, and \(m \in \{ \pm 1 \}\) is a constant defining the rotational orientations, i.e., \(m=1\) (resp. \(m=-1\)) if the spirals associated with \(a_1\) are counter-clockwise (resp. clockwise) and thus those associated with \(a_2\) are clockwise (resp. counter-clockwise) orientations.

A simple nontrivial example is

$$\begin{aligned} \theta (x) = \arg (x - a_1) - \arg (x - a_2) \end{aligned}$$
(31)

with \(\varGamma _0\) as follows

  1. (A)

    \(\varGamma _0 = \{ \sigma a_1 + (1-\sigma ) a_2 \in \overline{W} ; \ \sigma \in (0,1) \}\),

  2. (B)

    \(\varGamma _0 = L_1 \cup L_2\), \(L_i = \{ a_i + r (\cos \alpha _i, \sin \alpha _i) \in \overline{W} ; \ r > 0 \}\) for given constants \(\alpha _1, \alpha _2 \in \mathbb {R}\).

Case (A) is already mentioned in Sect. 2.4 and thus we set

$$\begin{aligned} u_0 (x) = \pi . \end{aligned}$$
(32)

Case (B) is similar to the situation discussed in Sect. 3.3. If \(\alpha _1 = \arg (a_1 - a_2)\) and \(\alpha _2 = \arg (a_2 - a_1)\) then we set

$$\begin{aligned} u_0 (x) = 0. \end{aligned}$$

Figure 21 shows a simulation involving an opposite pair belonging to Case (A), and Fig. 22 shows the profile of the surface at time \(t=0.5\), which is reconstructed from the solution \(u\). In the simulation, we set \(\theta \) and \(u_0\) as (31) and (32), respectively. In Fig. 21, one sees that the spiral curve changes from an open curve to a closed one, and then to an open curve again; it also splits into different connected pieces when the curve intersects itself. All of these phenomena are computed effortlessly by the proposed method.

Fig. 21
figure 21

The evolution of an opposite pair by (24) with initial line (A) at time \(t=0\), \(t=0.05\), \(t=0.1\), \(t=0.5\) from top left to bottom right

Fig. 22
figure 22

The profile of the surface at \(t=0.5\) from Fig. 21, which is reconstructed from the numerical solution of the level set equation

To set up a configuration belonging to Case (B), we first set \(u_1 = \alpha _1\) and \(u_2 = -\alpha _2\) to obtain

$$\begin{aligned} \begin{aligned} L_1 =&\{ x \in \overline{W} ; \ u_1 (x) - \theta _1^+ (x) \equiv 0 \mod 2 \pi \mathbb {Z} \}, \\ L_2 =&\{ x \in \overline{W} ; \ u_2 (x) - \theta _2^- (x) \equiv 0 \mod 2 \pi \mathbb {Z} \} \end{aligned} \end{aligned}$$

with \(\theta ^{\pm }_i (x) = \pm \arg (x - a_i)\) for \(i=1,2\). We next set

$$\begin{aligned} \begin{aligned} u_0 (x) =&v_1 (x) + v_2 (x) + \pi , \\ v_1 (x) =&\Theta _1^+ (x) + 2 \pi k_1 (x) + \pi H_1 (\lambda _1 \{ u_1 - (\Theta _1^+ (x) + 2 \pi k_1 (x)) \} ),\\ v_2 (x) =&\Theta _2^- (x) + 2 \pi k_2 (x) + \pi H_1 (\lambda _2 \{ u_2 - (\Theta _2^- (x) + 2 \pi k_2 (x)) \} ) \end{aligned} \end{aligned}$$

as in (25), where \(\Theta ^\pm _i\) is the principal value of \(\theta ^{\pm }_i\), i.e., \(\pm \arg (x - a_i)\) for \(i=1,2\). Here \(k_i :\overline{W} \rightarrow \mathbb {Z}\) is a function satisfying (26) with \(u_{i,j} = u_i\), \(v_{i,j} = v_i\), \(k_{i,j} = k_i\) for \(i=1,2.\) The coefficients \(\lambda _i\) are constants satisfying (27) with \(\Lambda _{i,j} = \Lambda _i\) for \(i=1,2\), i.e., \(\Lambda _1 \cap \Lambda _2 = \emptyset \).

If an opposite pair \(a_1\) and \(a_2\) have \(m_1\) and \(m_2\) spirals, respectively, then it is convenient for construction of \(u_0\) to make groups of simple and connecting spirals for an initial curve. Hence we define \(\varGamma _0\) by

$$\begin{aligned} \begin{aligned} \varGamma _0 =&\left( \bigcup _{j=1}^{\tilde{m}_1} L_{1,j} \right) \cup \left( \bigcup _{j=1}^{\tilde{m}_2} L_{2,j} \right) \cup \left( \bigcup _{n=1}^{n_c} L_{c,n} \right) , \\ L_{1,j}=&\{ x \in \overline{W} ; \ u_{1,j} (x) - \theta _1^+ (x) \equiv 0 \mod 2 \pi \mathbb {Z} \}, \\ L_{2,j}=&\{ x \in \overline{W} ; \ u_{2,j} (x) - \theta _2^- (x) \equiv 0 \mod 2 \pi \mathbb {Z} \}, \\ L_{c,n} =&\{ x \in \overline{W} ; \ u_{c,n} (x) - (\theta _1^+ (x) + \theta _2^- (x)) \equiv 0 \mod 2 \pi \mathbb {Z} \} \end{aligned} \end{aligned}$$

with \(u_{c,n}, u_{1,j}, u_{2,j} \in C(\overline{W})\). Here \(L_{1,j}\) and \(L_{2,j}\) denote simple spirals associated with \(a_1\) and \(a_2\), respectively, and \(L_{c,n}\) denotes connecting spirals, so the numbers \(n_c\), \(\tilde{m}_1\), and \(\tilde{m}_2 \in \mathbb {N}\) of each spirals satisfy \(\tilde{m}_1 + n_c = m_1\) and \(\tilde{m}_2 + n_c = m_2\). For connecting spirals \(L_{c,n}\) we also introduce modified initial data \(v_{c,n}\) and slope sets \(\Lambda _{c,n}\), which is similar as (25) and (28) respectively, of the form

$$\begin{aligned} \begin{aligned} v_{c,n} (x) =&\varTheta _1^+ (x) + \varTheta _2^- (x) + 2 \pi k_{c,n} (x) \\&\quad \quad + \pi H_1 (\lambda _{c,n} \{ u_{c,n} - (\varTheta _1^+ (x) + \Theta _2^- (x) + 2 \pi k_{c,n} (x)) \} ), \\ \Lambda _{c,n} =&\{ x \in \overline{W} ; \ | v_{c,n} (x) - (\varTheta _1^+ (x) + \varTheta _2^- (x) + 2 \pi k_{c,n} (x))| < \pi \}, \end{aligned} \end{aligned}$$
(33)

where \(\lambda _{c,n} > 1/\pi \) is a constant and \(k_{c,n} :\overline{W} \rightarrow \mathbb {Z}\) is such that

$$\begin{aligned} -\pi \le u_{c,n} (x) - (\varTheta _1^+ (x) + \varTheta _2^- (x) + 2 \pi k_{c,n} (x)) < \pi \quad \text{ for } \ x \in \overline{W}. \end{aligned}$$

For construction of initial data \(u_0 \in C(\overline{W})\) similarly as (29) we choose \(\lambda _{1,j}\), \(\lambda _{2,j}\) and \(\lambda _{c,n}\) such that

$$\begin{aligned} \Lambda _{c,n} \cap \Lambda _{i,j} = \emptyset , \quad \Lambda _{c,n_1} \cap \Lambda _{c,n_2} = \emptyset \quad \text{ if } \ n_1 \ne n_2, \ \end{aligned}$$

in addition to (27) for \(n, n_1, n_2\) and \((i,j)\). Then, we set

$$\begin{aligned} u_0 (x) = \sum _{n=1}^{n_c} v_{c,n} (x) + \sum _{j=1}^{\tilde{m}_1} v_{1,j} (x) + \sum _{j=1}^{\tilde{m}_2} \tilde{v}_{2,j} (x) + (n_c + \tilde{m}_1 + \tilde{m}_2 - 1) \pi \end{aligned}$$

and obtain

$$\begin{aligned} \varGamma _0 = \{ x \in \overline{W} ; \ u_0 (x) - \theta (x) \equiv 0 \mod 2 \pi \mathbb {Z} \} \end{aligned}$$

with \(\theta (x) = m_1 \arg (x - a_1) - m_2 \arg (x - a_2)\). If we consider the opposite rotational orientations of the above, then we change \(a_1\) and \(a_2\) and do above.

Fig. 23
figure 23

Simulation of a single spiral associated with \(a_1=(-0.35,0)\) with the counter-clockwise orientations, and two spirals associated with \(a_2=(0.35,0)\) with clockwise orientations. The evolution equation is (24), i.e., \(v_\infty = 5\) and \(\rho _c = 0.02\). The above figures are profiles of spirals at \(t=0, 0.05, 0.1\) and \(0.2\) from top left to bottom right

We have two examples of simulations. The first one is for the same initial curve as Fig. 12, but \(L_{2,1}, L_{2,2}\) have the clockwise orientations (see Fig. 23). In this case we set

$$\begin{aligned} u_{1,1} \equiv \pi , \quad u_{2,1} \equiv - \frac{\pi }{3}, \quad u_{2,2} \equiv \frac{\pi }{3}, \quad \lambda _{1,1} = \lambda _{2,1} = \lambda _{2,2} = \frac{3}{\pi } \end{aligned}$$

and set

$$\begin{aligned} u_0 (x) = v_{1,1} (x) + v_{2,1} (x) + v_{2,2} (x) + 2 \pi . \end{aligned}$$

The second one is by a connecting lines and a simple spiral line associated with \(a_2\), i.e.,

$$\begin{aligned} \begin{aligned} \varGamma _0 =&L_c \cup L_2, \\ L_c =&\{ \sigma a_1 + (1 - \sigma ) a_2 \in \overline{W} ; \ \sigma \in (0,1)\}, \\ L_2 =&\{ a_2 + (r,0) \in \overline{W} ; \ r > 0\}. \end{aligned} \end{aligned}$$

(See Fig. 24.) In this case we set \(u_c \equiv \pi \) and \(u_2 \equiv 0\) to obtain

$$\begin{aligned} \begin{aligned} L_c&= \{ x \in \overline{W} ; \ u_c (x) - (\theta _1^+ (x) + \theta _2^- (x)) \equiv 0 \mod 2\pi \mathbb {Z} \}, \\ L_2&= \{ x \in \overline{W} ; \ u_2 (x) - \theta _2^- (x) \equiv 0 \mod 2 \pi \mathbb {Z} \}, \end{aligned} \end{aligned}$$

and set

$$\begin{aligned} u_0 (x) = v_c (x) + v_2 (x) + \pi \end{aligned}$$

with \(\lambda _c = \lambda _{c,1} = \pi /2\) and \(\lambda _2 = \lambda _{2,1} = \pi /2\).

Fig. 24
figure 24

Simulation of similar case as Fig. 23 started from single connecting line and single simple line associated with \(a_2\). The equation, and times of each profiles are same as Fig. 23

3.4.1 Inactive Pair of Screw Dislocations

Burton et al. [1] pointed out that, when a pair of screw dislocations \(a_1\) and \(a_2\) with opposite rotational orientations satisfies \(|a_1 - a_2| < 2 \rho _c\), then no growth occurs. They call such a pair inactive pair. Figures 25 show two profiles of an evolving spiral by

$$\begin{aligned} V = 6 (1 - 0.25 \kappa ), \end{aligned}$$
(34)

i.e., (18) with \(v_\infty = 6\), \(\kappa = 0.25\), \(a_1 = (-0.20, 0)\), and \(a_2 = (0.20, 0)\) at \(t= 0\) (left figure) and \(t=1\) (right one). Since \(|a_1 - a_2| = 0.40 < 0.50 = 2 \rho _c\) the situation is the evolution under an inactive pair.

Fig. 25
figure 25

Evolution of a step attached to an inactive pair of screw dislocations. In the subfigures, the solid curves correspond to the evolving spiral at \(t=0\) (left) and \(t=1\) (right). The dashed arc is a part of the stationary circle. The simulated spiral curve becomes stationary around the dashed arc

One observes that the circle \(\{ |x| = \rho _c \}\) is a stationary curve under (18). Thus, a part of the circle through \(a_1\) and \(a_2\) should be a stationary spiral for our case if spirals are always pinned the screw dislocations and the Neumann boundary conditions are compatible. The first author proves the existence of two stationary spirals connected to the inactive pair with our level set formulation in [26]. For the centers \(a_1 =(-a,0)\), \(a_2 = (a,0)\) with \(a>0\), and the domain \(W = \varOmega {\setminus } (\overline{B_{r} (a_1)} \cup \overline{B_{r} (a_2)})\), the curves

$$\begin{aligned}&\widetilde{S}_1 := \{ (0, - b) + \rho _c (\cos \sigma , \sin \sigma ) ; \sigma \in [\pi /2 - \tilde{\sigma }_1, \pi /2 + \tilde{\sigma }_1]\}, \\&\widetilde{S}_2 := \{ (0, b) + \rho _c (\cos \sigma , \sin \sigma ) ; \sigma \in [\pi /2 - \tilde{\sigma }_2, \pi /2 + \tilde{\sigma }_2]\}, \end{aligned}$$

should be stationary under (18) for \(b = \sqrt{\rho _c^2 + r^2 - a^2}\) and \(\tilde{\sigma }_1, \tilde{\sigma }_2 > 0\) are constants depending on \(a, \rho _c\) and \(r\) so that \(\widetilde{S}_j \perp \partial W\) holds for \(j=1,2\). Formally, if \(r \rightarrow 0\) then \(\widetilde{S}_1\) and \(\widetilde{S}_2\) converge to

$$\begin{aligned}&S_1 := \{ (0, - \sqrt{\rho _c^2 - a^2}) + \rho _c (\cos \sigma , \sin \sigma ) ; \sigma \in [\pi /2 - \sigma _1, \pi /2 + \sigma _1]\}, \\&S_2 := \{ (0, \sqrt{\rho _c^2 - a^2}) + \rho _c (\cos \sigma , \sin \sigma ) ; \sigma \in [\pi /2 - \sigma _2, \pi /2 + \sigma _2]\}, \end{aligned}$$

where \(\sigma _1, \sigma _2 > 0\) are constants depending on \(a\) and \(\rho _c\).

We now present two kinds of examination on the performance of our numerical method for evolving spirals attached to an inactive pair of centers with velocity as defined in (34). In our simulations, we set the initial configuration to

$$\begin{aligned} \varGamma _0 = \{ \sigma a_1 + (1 - \sigma ) a_2 ; \ \sigma \in (0,1) \}, \end{aligned}$$
(35)

where the centers are fixed to \(a_1 = (-0.20, 0)\) and \(a_2 = (0.20, 0)\) with opposite rotational orientations, and thus the pair is an inactive pair. In these simulations we set

$$\begin{aligned} \theta = \arg (x - a_1) - \arg (x - a_2) \end{aligned}$$

and compare the numerical solutions to \(S_1\) or \(\widetilde{S}_1\).

We shall use the height functions, defined in Sect. 2.6, corresponding to \(\widetilde{S}_1\) (resp. \(S_1\)) to quantify the accuracy of our method. We denote the height functions \(\tilde{h}_1\) (resp. \(h_1\)) whose discontinuities are only on \(\widetilde{S}_1\) (resp. \(S_1\)) with the constant for step height \(h_0=1\). Let \(u(t,x)\) be a viscosity solution of (19) and (7) with \(u(0,x) = u_0 (x) = - \pi \); i.e. \(\{ x \in \overline{W} ; \ u_0 (x) - \theta (x) \equiv 0 \mod 2 \pi \mathbb {Z} \} = \varGamma _0\), with \(\varGamma _0\) defined in (35). We shall use \(h\) for the height function defined by \(u\) and \(\theta \) with the constant \(h_0 = 1\). Then by a suitable translation of \(\tilde{h}_1\) to \(\tilde{h}_1 + K\) with some constant \(K\), we consider the function

$$\begin{aligned} \widetilde{E} (t) = \frac{1}{|W|} \int _{\overline{W}} |h(t,x) - \tilde{h}_1 (x)| d x. \end{aligned}$$

Here \(K\) is chosen so that \(\widetilde{E}(0)\) is approximately the measure of the enclosed domain by \(\varGamma _0\) and \(\widetilde{S}_1\). We define \(E(t)\) using \(h_1\) in the same manner.

We present some results on the numerical accuracy of our method for such setting. In the first examination, we set \(r = \delta /2\), where \(\delta \) is the size of the grid spacing. In this case, the center disc \(B_{r} (a_j)\) (\(j=1,2\)) vanishes as \(\delta \rightarrow 0\), and correspndingly \(\widetilde{S}_1 \rightarrow S_1\). Then spirals should be stopped around \(S_1\). Thus in this case we examine the error function \(E\) between \(S_1\) and the computed stationary spiral.

Figure 26 is the graph of \(E(t)\) with \(\delta = 1/100, 1/200\) and \(1/400\). One finds that \(E(t)\) is under \(0.2\,\%\) and become smaller as \(\delta \) decreases.

Fig. 26
figure 26

The graphs of \(E(t)\) for \(\delta = 1/100 (\square ), 1/200 (\circ )\) and \(1/400 (\triangle )\). The holizontal and vertical axis are time \(t\) and error ratio \(E(t)\), respectively

We also tabulate the value of \(E(1; \delta )\) and its decay ratio \(\log _2 (E(1; \delta ) / E(1; \delta /2))\) below:

\(\delta \)

\(E(1; \delta )\)

\(\log _2 (E(1; \delta ) / E(1; \delta / 2))\)

0.04

0.0020064205

0.518042545140238

0.02

0.0014011209

0.253632181543363

0.01

0.0011752350

0.612290793919637

0.005

0.0007687884

0.474963020936055

0.0025

0.0005531319

Although \(\theta \) has very strong singularity at \(a_1\) and \(a_2\), one can find that the difference between numerical solutions and \(S_1\) decreases when we choose smaller \(\delta \).

We next choose fixed \(r = 0.12\) independent of \(\delta \). The stationary curve is \(\widetilde{S}_1\) in this case, and we compare our numerical results with \(\widetilde{S}_1\). In Fig. 27 one can find \(0.028 \delta ^{0.8} \le E(1; \delta ) \le 0.036 \delta ^{0.8}\) for \(1/400 \le \delta \le 1/50\).

Fig. 27
figure 27

The graph of \(E(1; \delta )\) for \(\delta x = 1/400, 1/200, 1/100, 1/50\) and \(1/25\) on a log-logscale. The parallel dashed and dotted lines mean \(y = 0.028x^{0.8}\) and \(y = 0.036x^{0.8}\), respectively . The holizontal and vertical axis are \(\delta \) and error ratio \(E(1;\delta )\), respectively

Remark 10

Burton et al. [1, §9, Appendix B] give an interesting observation on the growth of a crystal surface by an opposite pair \(a_1\) and \(a_2\):

  1. 1.

    \(|a_1 - a_2| < 2 \rho _c\): the pair have no influence on the growth of the surface (they call the two centers an inactive pair);

  2. 2.

    \(|a_1 - a_2| < 3 \rho _c\): the growth rate of the surface is monotonically increasing with respect to the distance of the pair, and become larger than the case of single spirals;

  3. 3.

    \(|a_1 - a_2|\) is sufficiently large: the growth rate of the surface decreases with respect to \(|a_1 - a_2|\), and converges to the single one exponentially fast as \(|a_1 - a_2| \rightarrow \infty \).

The proposed method may be used to discover the existence of an inactive pair, the relation between the distance of the pair and the growth rate. From the second results on the above we observe that the growth rate attains its maximum when the distance of the pair is around \(4 \rho _c\). In [26] we prove rigorously the existence of an inactive pair and of curves which play the role of upper bound on the evolution of steps.

3.5 Coarsening

According to Remark 10, if there exist several opposite pairs on a surface, then the growth resulting from the closest pair would dominate so that the surface forms one large mountain that peaks around the closest pair. Schulze and Kohn [31] approximate this phenomenon by proposing a Hamilton–Jacobi equation with discontinuous source terms at points of dislocations. For a rigorous treatment of such Hamilton–Jacobi equation see a recent work by Hamamuki and the third author [11].

Figure 28 shows the evolution of two opposite pairs and the emergence of a mountain peaking near the pair on the upper left corner of the domain. The parameters in the evolution equation, the center locations, and \(\theta \) used in the simulation are given by

Fig. 28
figure 28

Evolution of spirals by close and far opposite pairs. The figures are profiles of spirals at \(t=0, 0.25, 0.5, 0.75, 1.0\) and \(1.5\)

$$\begin{aligned} \begin{aligned}&V=20( 1-0.01 \kappa ) \quad (v_\infty =20, \rho _c = 0.01), \\&a_1 = (-0.65, 0.6), a_2 = (-0.6, 0.65), a_3 = (-0.1, -0.7), a_4=(0.7, 0.1), \\&\theta (x) = - \arg (x - a_1) + \arg (x - a_2) + \arg (x - a_3) - \arg (x - a_4). \end{aligned} \end{aligned}$$

In constructing the initial data we first set

$$\begin{aligned} \begin{aligned}&u_1 = u_2 = \pi , \\&\theta _1 (x) = - \arg (x - a_1) + \arg (x - a_2), \ \theta _2 (x) = \arg (x - a_3) - \arg (x - a_4) \end{aligned} \end{aligned}$$

to obtain

$$\begin{aligned} \begin{aligned} L_1 =&\{ \sigma a_1 + (1-\sigma ) a_2 \in \overline{W}; \ \sigma \in (0,1) \} \\ =&\{ x \in \overline{W} ; \ u_1 (x) - \theta _1 (x) \equiv 0 \mod 2 \pi \mathbb {Z} \}, \\ L_2 =&\{ \sigma a_3 + (1-\sigma ) a_4 \in \overline{W}; \ \sigma \in (0,1) \} \\ =&\{ x \in \overline{W} ; \ u_2 (x) - \theta _2 (x) \equiv 0 \mod 2 \pi \mathbb {Z} \}. \end{aligned} \end{aligned}$$

We next modify \(u_1\) and \(u_2\) to obtain \(u_0\) in a similar fashion as in (33). We set

$$\begin{aligned} v_i (x) = \varTheta _i (x) + 2 \pi k_i (x) + \pi H_1 (\lambda _i [u_i (x) - (\varTheta _i (x) + 2 \pi k_i (x))]), \end{aligned}$$

where \(\varTheta _i\) is a smooth branch of \(\theta _i\), and \(k_i :\overline{W} \rightarrow \mathbb {Z}\) is similar as in (33). In this simulation we choose \(\lambda _i = 3 / (2 \pi )\) to obtain

$$\begin{aligned} \bigcap _{i=1}^2 \{ x \in \overline{W} ; \ |v_i (x) - (\varTheta _i (x) + 2 \pi k_i (x))| < \pi \} = \emptyset , \end{aligned}$$

and set \(u_0 (x) = v_1 (x) + v_2 (x) + \pi \). In the simulation, we find annual ring around \(a_1\) and \(a_2\), and spirals around \(a_3\) and \(a_4\) at \(t=0.25\) in Fig. 28. We observe that the annual rings dominate the surface as the time evolves (see the profile at \(t=1.5\) Fig. 28).

3.6 More General Situation

In this subsection, we examine a more complex situation in which the number and the rotational orientation of the spirals connecting to each screw dislocation are independently given. Figure 29 shows the evolution of a set of spirals connecting to six screw dislocations. The evolution equation, location of centers, and \(\theta \) are as follows;

$$\begin{aligned} \begin{aligned}&V = 5(1-0.03 \kappa ) \quad (v_\infty = 5, \ \rho _c = 0.03), \\&a_1 = (-0.6, -0.5), \ a_2 = (-0.4, 0.2), \ a_3 = (-0.2, 0.5), \\&a_4 = (0, -0.4), \ a_5 = (0.2, 0), \ a_6 = (0.4, 0.5), \\&\theta (x) = - \arg (x - a_1) + 3 \arg (x - a_2) + 2 \arg (x - a_3) \\&\quad \quad \quad \quad + \arg (x - a_4) - 3 \arg (x - a_5) - 2 \arg (x - a_6). \end{aligned} \end{aligned}$$

In this case all spirals associated with \(a_2\), \(a_3\) and \(a_4\) have the counter-clockwise orientations, those of \(a_1\), \(a_5\) and \(a_6\) have the clockwise orientations, and \(a_1\), \(a_2\), \(\ldots \), \(a_6\) have \(1, 3, 2, 1, 3\), and \(2\) spirals, respectively. The initial curve is given as \(\varGamma _0 = \bigcup _{j=1}^7 L_j\), and

$$\begin{aligned} \begin{aligned} L_1 =&\{ ta_1 + (1-t) a_2 ; \ t \in (0,1) \}, \\ L_2 =&\{ a_2 + t (-1,0) ; \ t > 0 \}, \\ L_3 =&\{ ta_2 + (1-t) a_5 ; \ t \in (0,1) \}, \\ L_4 =&\{ ta_3 + (1-t) a_5 ; \ t \in (0,1) \}, \\ L_5 =&\{ ta_4 + (1-t) a_5 ; \ t \in (0,1) \}, \\ L_6 =&\{ ta_3 + (1-t) a_6 ; \ t \in (0,1) \}, \\ L_7 =&\{ a_6 + t(1,0) ; \ t >0 \}. \end{aligned} \end{aligned}$$
Fig. 29
figure 29

Evolution of multiple spirals connecting to six centers with multiple spirals by \(V=5(1-0.03 \kappa )\). Top left, top right, bottom left and bottom right figures are level sets at time \(t=0\), \(0.05\), \(0.2\), and \(0.5\), respectively

To construct \(u_0 \in C(\overline{W})\) satisfying \(\varGamma _0 = \{ x ; \ u_0 (x) - \theta (x) \equiv 0 \mod 2 \pi \mathbb {Z} \}\) we describe \(L_j = \{ x \in \overline{W} ; \ u_j (x) - \theta _j (x) \equiv 0 \mod 2 \pi \mathbb {Z} \}\) with

$$\begin{aligned} \begin{aligned}&u_1 = u_2 = u_3 = u_4 = u_5 = u_6 \equiv \pi , \ u_7 \equiv 0, \\&\theta _1 (x) = -\arg (x - a_1) + \arg (x - a_2), \\&\theta _2 (x) = \arg (x - a_2), \\&\theta _3 (x) = \arg (x - a_2) - \arg (x - a_5), \\&\theta _4 (x) = \arg (x - a_3) - \arg (x - a_5), \\&\theta _5 (x) = \arg (x - a_4) - \arg (x - a_5), \\&\theta _6 (x) = \arg (x - a_3) - \arg (x - a_6), \\&\theta _7 (x) = -\arg (x - a_6). \end{aligned} \end{aligned}$$

We next construct a modified initial data \(v_i\) from \(u_i\) and introduce a slope set \(\Lambda _i\) similarly as in previous sections, i.e., set

$$\begin{aligned} \begin{aligned} v_i (x) =&\Theta _i (x) + 2 \pi k_i (x) + \pi H_1 (\lambda _i \{ u_i (x) - (\Theta _i (x) + 2 \pi k_i (x)) \} ) \\ \Lambda _i =&\{ x \in \overline{W} ; \ |v_i (x) - (\Theta _i (x) + 2 \pi k_i (x))| < \pi \}, \end{aligned} \end{aligned}$$

where \(\varTheta _i\) is a smooth branch of \(\theta _i\), \(k_i :\overline{W} \rightarrow \mathbb {Z}\) is such that

$$\begin{aligned} - \pi \le u_i (x) - (\Theta _i (x) + 2 \pi k_i (x)) < \pi \quad \text{ for } \ x \in \overline{W}, \end{aligned}$$

and \(\lambda _i > 1/\pi \) is a constant satisfying \(\Lambda _i \cap \Lambda _j = \emptyset \) for \(i,j\) provided that \(i \ne j\). For calculation in Fig. 29 we choose

$$\begin{aligned} \lambda _1 = \lambda _2 = \frac{5}{\pi }, \ \lambda _3 = \lambda _4 = \frac{10}{\pi }, \ \lambda _5 = \lambda _6 = \lambda _7 = \frac{3}{\pi }. \end{aligned}$$

We set the initial data as

$$\begin{aligned} u_0 (x) = \sum _{i=1}^7 v_i (x) + 6 \pi . \end{aligned}$$

In this simulation, the surface around \(a_2\) and \(a_4\) grows the fastest. It is due to the fact that the surface near a screw dislocation with \(m\) spirals evolves (grows) with \(m\) times the rate of that near a screw dislocation with a single spiral.

As one anticipates, if the pair is close, then it looks like a closed loop or island formation. Recently, there is an interesting experimental work on anisotropic evolution with bunching [33] which points out that there is a situation that a close pair generates a single spiral while a single spiral becomes a loop due to anisotropy and bunching. Our present formulation does not include bunching so their experimental result does not contradict to our results. Although it is very likely to explain their phenomenon in our framework with bunching, further study is necessary.

4 Conclusion

We have introduced a flexible level set formulation for modeling multiple spirals that possibly have different rotational orientations. Our formulation embeds a set of spirals as the zero level set of the difference of an explicitly defined sheet structure function and an auxiliary function, which is computed numerically. As the first author [25] or Goto et al. [13] studied, our model has the potential to verify the dynamical behavior of spirals rigorously.

The crucial idea of our formulation comes from a sheet structure function due to Kobayashi [20]. The sheet structure function is a linear combination of arguments with respect to the centers of screw dislocations in the domain. Our formulation had been studied in [25] or [13], however there were no explanations on the coefficients from physical view points in those papers. In this paper, we clarify how the coefficients in the linear combination are determined from a given physical configuration. We also give a simple and practical way to construct initial auxiliary functions.

Our formulation requires only a single equation model for evolution of spirals by (1)–(2). In this regard, our formulation is more computationally tractable. We have verified the results in Burton et al. [1] as well as in [34]. Furthermore, we presented our simulations involving multi-centers and multi-spirals configurations and non-trivial merging. Such situations seem to pose computational challenges for other approaches, including the one proposed in [34]. We point out here that in a forthcoming paper [26], we shall discuss the existence of what we called inactive pairs (pairs of stationary spirals).

Our model can easily be generalized to describe anisotropic evolution of spirals, and thus it can describe the evolution with interlacing patterns. Finally, our formulation has the potential to be generalized to model moving or nucleation of spiral centers. From the view point of physical experiments it is required to construct a system which implies an evolution or a flow of the concentration of atoms on the surface or in environment phase. To know the exact mechanism of generation of hollow cores we have to construct a formulation of spirals with tip motion. To adjoin our method to the above situations, we need additional modelings. (See [35] for an interlacing pattern or a hollow core.)