Professional Documents
Culture Documents
Mathematics 06 00072
Mathematics 06 00072
Article
Numerical Methods for a Two-Species
Competition-Diffusion Model with Free Boundaries
Shuang Liu † and Xinfeng Liu ∗,†
Department of Mathematics, University of South Carolina, Columbia, SC 29208, USA; shuang@math.sc.edu
* Correspondence: xfliu@math.sc.edu; Tel.: +1-803-576-5849; Fax: +1-803-777-3783
† These authors contributed equally to this work.
Received: 31 March 2018; Accepted: 28 April 2018; Published: 3 May 2018
Abstract: The systems of reaction-diffusion equations coupled with moving boundaries defined by
Stefan condition have been widely used to describe the dynamics of spreading population and with
competition of two species. To solve these systems numerically, new numerical challenges arise
from the competition of two species due to the interaction of their free boundaries. On the one
hand, extremely small time steps are usually needed due to the stiffness of the system. On the other
hand, it is always difficult to efficiently and accurately handle the moving boundaries especially with
competition of two species. To overcome these numerical difficulties, we introduce a front tracking
method coupled with an implicit solver for the 1D model. For the general 2D model, we use a level
set approach to handle the moving boundaries to efficiently treat complicated topological changes.
Several numerical examples are examined to illustrate the efficiency, accuracy and consistency for
different approaches.
Keywords: competition-diffusion model; stefan problems; level set method; front-tracking method;
front-fixing method
1. Introduction
The reaction-diffusion equations over a changing domain to describe the dynamics of a
two-species competition-diffusion model usually take the following form,
∂U
− D1 ∆U = f 1 (U, V ) for x ∈ Ω1 (t), t > 0; U = 0 for x ∈ ∂Ω1 (t), t > 0. (1)
∂t
∂V
− D2 ∆V = f 2 (U, V ) for x ∈ Ω2 (t), t > 0; U = 0 for x ∈ ∂Ω2 (t), t > 0. (2)
∂t
The nonlinear functions f 1 (U, V ) and f 2 (U, V ) are assumed to be C1 functions satisfying
f i (0) = 0 , i = 1,2, and in the literature they are often taken to be two-species Lotka-Volterra type
competition functions. In the rest of this paper, we will take two-species Lotka-Volterra type
competition functions as an example to demonstrate the numerical methods.
The evolution of the moving domains Ωi (t) ⊂ R N , i = 1, 2, or rather their boundaries
∂Ωi (t), i = 1,2 is determined by the one phase Stefan condition which, in the case ∂Ωi (t), i = 1, 2 are
C1 manifolds in R N . For example, the evolution of species U can be described as follows:
For any point x ∈ ∂Ω1 (t), it moves with velocity µ1 |∇x U (t, x)|n(x), where n(x)
is the unit outward normal of Ω1 (t) at x, and µ is a given positive constant.
The moving boundaries ∂Ω1 (t), i = 1, 2 is generally called the “free boundary”, and it is well
known that, in general, their smoothness is not guaranteed, even if the initial function U (0, x), V (0, x)
and initial domain Ωi (0), i = 1, 2 are both smooth.
Mathematically, the two-species competition-diffusion model with two free boundaries has been
intensively studied for 1D [1–4] and for high dimensions with radial symmetry [5,6] through profound
mathematical analysis. For instance, the existence of the positive traveling wave solutions connecting
different constant equilibria has been addressed in [7–9]. The asymptotic spreading speed associated
with the Cauchy problem has been studied in [10–12]. Many other theoretical results for general
models have been achieved in [13–17] and references cited therein.
In contrast, very few numerical methods have been developed to solve such free boundary
problems. Most recently, some efficient numerical methods have been introduced to solve the single
species model [18]. In general, extremely small time steps are required due to the stiffness of the system.
On the other hand, it is always difficult to efficiently and accurately handle the moving boundaries
especially for two species. To efficiently handle the moving boundaries, level set methods [19–24] and
front tracking methods [25–28] are two popular numerical approaches. One distinct feature of front
tracking [29–34] is using a pure Lagrangian approach to explicitly track locations of interfaces, but it is
difficult to handle topological bifurcations in high dimensions with interaction of two free boundaries,
while the level set method can efficiently overcome such difficulties. In this paper, we will introduce a
front tracking framework to solve the system for the one-dimensional case, and a level set approach is
employed for two dimensions.
The rest of paper is organized as follows. In Section 2, we introduce two approaches for
one-dimensional two-species competition system , i.e., a front tracking approach and a front
fixing approach. In Section 3, a level set method is discussed for a more general two-dimensional case.
In Section 4, numerical examples are performed to show the efficiency, accuracy and consistency for
these different approaches. Finally, a brief conclusion is drawn in Section 5.
where U ( x, t) and V ( x, t) represent the population densities of the two species at the position x and
time t. D1 and D2 are the diffusion rates of species U and V. γ1 and γ2 are net birth rates of species
U and V. K1 and K2 are the competition coefficients of species U and V. The parameters µ1 and µ2
measure the intention to spread into the new territories of u and v. Here, the two free boundaries S1 (t)
and S2 (t) describe the spreading fronts of two competing species U (t, x ) and V (t, x ). We envision that
the two species initially occupy the interval [0, S1 (0)] and [0, S2 (t)], respectively, at time t.
tn = kn, n ≥ 0, x j = jh, 0 ≤ j ≤ M and M positive integer. Let us denote the approximate value
U (tnn ,≥
tn =ofkn, x j )0,and
x j the approximate
= jh, 0 ≤ j ≤ Mvalue tn , x j ) at the
andofMV (positive mesh point
integer. (tn ,denote
Let us xj ) , the approximate value
of U (tn , x j ) and the approximate value n
n of V (nt , x j ) atn the mesh
n point (tn , x j ) ,
u j ≈ U ( t , x j ), v j ≈ V (t , x j )
unj ≈ Ufront
Step1: Track the position of the moving (tn , Sx j )(,t). vnj ≈ V (tn , x j )
1
According
Step1: Track thetoposition
the Stefan condition
of the moving front S1 (t).
S − xi n
we consider
1 Whenusing
xi ≤ the
S1n central
< xi+1 ,approximation
i = 2, 3...M − 1ofasthe spatialinderivatives
depicted d = 1 h ∂U
to approximate
Figure 1, denoting t, S1 (t)),
∂x. (Let
n
which can
us be divided
first considerinto
thethe following
symmetric fourofcases.
point xi−1 respect to the position S1 , which is denoted by
x̃i−1 . In particular, when S1n = xi , x̃i−1 = xi+1 . We use the Lagrange interpolation to construct
polynomial P L from the value of d, h, uin−2 , uin−1 , uin and S1nn , thus at x̃i−1 , we use the value of P L at
n S − xi
1 When
x̃i−1xinstead
i ≤ S1 < x̃i1−,1 )i ,= 2, 3...M − 1, denoting d = 1 h . Let us first consider the symmetric
of ux(i+
point of xi−1 respect to the position S1n , which is denoted by x̃i−1 . In particular, when S1n = xi ,
x̃i−1 = xi+1 . We use the ∂U Lagrange P L ( x̃i−1 ) − uto
interpolation
n
i −construct polynomial L
(tn , S1n ) ≈ 1
, i = 2, 3, . . . , M − 1. P from the value of d, h,
∂x at x̃ , we use
uin−2 , uin−1 , uin and S1n , thus 2(1the
+ dvalue
)h of P L at x̃i−1 instead of u( x̃i−1 ),
i −1
∂U n n P L ( x̃i−1 ) − uin−1
( t , S1 ) ≈ , i = 2, 3, . . . , M − 1.
∂x 2(1 + d ) h
x0 x i −2 x i −1 xi S1n x̃i−1 xM
0 | {z } | {z } L
(1+ d ) h (1+ d ) h
Figure 1.
Figure case1:1:xxi i≤≤S1nS1n< <
1. case . 1
xi+x1i+
2When
When 0 = n
2 0 = 0< <S nS1≤≤ xx,1 , the
x0 x∂U the central
central scheme
schemeapproximation
approximation of of
thethe
spatial derivatives
spatial to
derivatives to
1 1 n n n
approximate
∂U ∂x (t, S1 (t)) involves the fictitious value u−1n at the point (t , −nh). The value u−1 can
approximate ∂x (t, S1 (t)) involves the fictitious value u−1 at the point (t , −h). The value un−1 can
be estimated from the second-order discretization of the boundary condition (10),
be estimated from the second-order discretization of the boundary condition (10),
u1n − un−1
u1n 2h
− un−1= 0 (11)
=0 (11)
2h
which implies that un−1 = u1n = 0. It is obvious that all the values of uin on the grid points are
which implies
equal that u0nn−.1Numerically,
to 0 except = u1n = 0. It weistakeobvious that
S10 (t) = all the
0, and thisvalues of uin on the
can be explained grid
by the points
fact the are
equal to 0 except
species n
u0 . Numerically,
is only located we take
inside one grid 0
mesh.S1The = 0, and itshould
(t) simulation can bestop
explained that thethat
here indicating species
a is
onlymore refined
located mesh
inside oneis needed.
grid mesh. The simulation should n
stop here indicating that a more refined
3meshWhen x S n < x as shown in Figure 2, denoting d = S1 − x1 . Let us first consider the symmetric
is needed.
1 < 1 2 h
point of x 0 with
n respect to the S1n − xS1n , which is denoted by x̃0 . Then we consider the value of
position
3 When x1 < S1 < x2 , denoting d = h . Let us first consider the symmetric
1 point of x0 respect
un−1 = u1n , and use the Lagrange interpolation to construct polynomial P L from then value of h, d,
to the position S , which is denoted by x̃0 . Then we consider the value of u−1 = u1n , and use
n
un−1 , u0n , u1n and1 S1n . Then at x̃0 , we use the value of P L at x̃
L 0 instead of u ( x̃ 0 ) . n n n n
the Lagrange interpolation to construct polynomial P from the value of h, d, u−1 , u0 , u1 and S1 .
Then at x̃0 , we use the value of P L at x̃0 instead of u( x̃0 ).
x −1 x0 x1 S1n x2 x̃0 xM
0| {z } | {z } L
(1+ d ) h (1+ d ) h
x −1 x0 x1 S1n x2 x̃0 xM
0| {z } | {z } L
(1+ d ) h (1+ d ) h
n
Figure 2.
Figure 2. case 3: xx11<<SS1 1n<<x2x. 2
case 3:
4 When S1n = x M , it implies that the spreading of the populations already goes out of the
computational domain [0, L], and the simulation should stop here.
1 When xi = S1n+1 and x j = S2n+1 , then we know that U (tn+1 , xi ) = 0. Let uin+1 = 0, unl +1 = 0,
for l = i + 1, i + 2...M and vnj +1 = 0, vnm+1 = 0, for m = j + 1, j + 2...M. We consider the
central approximation of the spatial derivatives Uxx at xl , for l = 0, 1, 2, ..., i − 1, and the central
approximation of the spatial derivatives Vxx at xm , for m = 0, 1, 2, ..., j − 1, where U and V are
updated by the backward Euler
un+l − unl un+1 − 2unl +1 + unl ++11
l
= D1 l −1 + γ1 unl +1 (1 − uln+1 − K1 vnl +1 ), l = 0, 1, ...i − 1.
k h2 (12)
vnm+l − vnm vnm+−11 − 2vnm+1 + vnm++11 n + 1 n + 1 n + 1
= D2 + γ2 vm (1 − vm − K2 um ), m = 0, 1, ...j − 1.
k h2
Then use the Picard Iteration (or Newton Iteration) to solve the nonlinear system (12).
S n +1 − x S n +1 − x
2 When xi < S1n+1 < xi+1 and x j < S2n+1 < x j+1 , denoting R1 = 1 h i and R2 = 2 h i , we use
the Lagrange interpolation to construct polynomial P1L from the value of h, R1 , uin−+21 , uin−+11 , uin+1
and S1n+1 and polynomial P2L from the value of h, R2 , vnj−+21 , vnj−+11 , vnj +1 and S2n+1 . Then at xi+1 and
x j+1 , we use the value of P1L at xi+1 instead of uin++11 and the value of P2L at x j+1 instead of vnj++11 .
For the solution u at xl , for l = 0, 1, 2, ..., i − 1, a standard central approximation in space with
backward Euler in time will be employed. unl +1 = 0, for l = i + 1, ...M. For the solution v at xl , for
l = 0, 1, 2, ..., j − 1, a standard central approximation in space with backward Euler in time will be
employed. vnl +1 = 0, for l = j + 1, ...M. U and V is updated by the backward Euler in time
n+l
ul − unl unl −+11 − 2unl +1 + unl ++11
= D1 + γ1 unl +1 (1 − uln+1 − K1 vnl +1 ), l = 0, 1, ...i − 1.
k h2
u n +1
− uin un+1 − 2uin+1 + P1L ( xi+1 )
i
= D1 i−1 + γ1 uin+1 (1 − uin+1 − K1 vin+1 ).
k h2
(13)
vm − vnm
n + l vnm+−11 − 2vnm+1 + vnm++11 n +1 n +1 n +1
= D2 + γ2 vm (1 − vm − K2 um ), m = 0, 1, ...j − 1.
k h2
n +1
v − vnj vnj−+11 − 2vnj +1 + P2L ( x j+1 )
j = D2 + γ2 vnj +1 (1 − vnj +1 − K2 unj +1 ).
k h2
Picard Iteration (or Newton Iteration) will be applied to solve the nonlinear system (13).
3 When xi = S1n+1 and x j < S2n+1 < x j+1 , then we know that U (tn+1 , xi ) = 0. Let uin+1 = 0,
unl +1 = 0, for l = i + 1, ...M. We consider the central approximation of the spatial derivatives
S n +1 − x
Uxx at xl , for l = 0, 1, 2, ..., i − 1. Denoting R2 = 2 h i , we use the Lagrange interpolation to
construct polynomial P2L from the value of h, R2 , vnj−+21 , vnj−+11 , vnj +1 and S2n+1 . Then at x j+1 , we use
the value of P2L at x j+1 instead of vnj++11 , where U and V is updated by the backward Euler in time
Mathematics 2018, 6, 72 5 of 24
uln+l − unl unl −+11 − 2unl +1 + unl ++11
= D1 2
+ γ1 unl +1 (1 − uln+1 − K1 vnl +1 ), l = 0, 1, ...i − 1.
k h
n+l
vm − vnm vnm+−11 − 2vnm+1 + vnm++11
= D2 + γ2 vnm+1 (1 − vnm+1 − K2 unm+1 ), m = 0, 1, ...j − 1. (14)
k h2
vn+1 − vnj vnj−+11 − 2vnj +1 + P2L ( x j+1 )
j
= D2 + γ2 vnj +1 (1 − vnj +1 − K2 unj +1 ).
k h2
Then use the Picard Iteration (or Newton Iteration) to solve the nonlinear system (14).
S n +1 − x
4 When xi < S1n+1 < xi+1 and x j = S2n+1 , denoting R1 = 1 h i , we use the Lagrange interpolation
to construct polynomial P1L from the value of h, R1 , uin−+21 , uin−+11 , uin+1 Then at xi+1 , we use the
value of P1L at xi+1 instead of uin++11 . For the solution u at xl , for l = 0, 1, 2, ..., i − 1, a standard
central approximation in space with backward Euler in time will be employed. unl +1 = 0, for
l = i + 1, ...M. For the solution v at xl , for l = 0, 1, 2, ..., j − 1, a standard central approximation in
space with backward Euler in time will be employed. vnl +1 = 0, for l = j + 1, ...M, where U and V
is updated by the backward Euler in time
n+l
ul − unl un+1 − 2unl +1 + unl ++11
= D1 l −1 2
+ γ1 unl +1 (1 − uln+1 − K1 vnl +1 ), l = 0, 1, ...i − 1.
k h
n +1
ui − uin uin−+11 − 2uin+1 + P1L ( xi+1 )
= D1 + γ1 uin+1 (1 − uin+1 − K1 vin+1 ). (15)
k h2
n+l n n +1 n +1 n +1
vm − vm = D vm−1 − 2vm + vm+1 + γ vn+1 (1 − vn+1 − K un+1 ), m = 0, 1, ...j − 1.
2 2 m m 2 m
k h2
Picard Iteration (or Newton Iteration) will be applied to solve the nonlinear system (15).
Step1. Update the front of S1 (t) and the value of U by front fixing method.
Let us transform Equation (3) into a problem with a fixed domain [0, 1] using the Landau
transformation [35,36]
x
y(t, x ) = , M(t, y) = U (t, x ), WtoM (t, y) = V (t, x ). (16)
S1 ( t )
∂M y ∂M ∂2 M
H (t) − H 0 (t) − D1 2 = H (t)γ1 M(1 − M − K1 WtoM), t > 0, 0 < y < 1, (17)
∂t 2 ∂y ∂y
where:
H (t) = S12 (t), t ≥ 0. (18)
Boundary conditions (5) and Stefan condition (6) take the form:
∂M
(t, 0) = 0, M (t, 1) = 0, t > 0, (19)
∂y
Mathematics 2018, 6, 72 6 of 24
and
∂M
H 0 (t) = −2µ1 (t, 1), t > 0, (20)
∂y
respectively, while the initial conditions (9) become:
Conditions (8) for the initial function U0 ( x ) are translated to W0 (z) as follows:
M0 (y) ∈ C2 ([0, 1]), M00 (0) = M0 (1) = 0, M0 (y) > 0, 0 ≤ y < 1. (22)
After the transformation, the new problem has been changed to solve the nonlinear parabolic
partial differential equations (17) in the unbounded fixed domain (0, ∞) × (0, 1) for the variables (t, y).
Let us consider the step size discretization k = 4t, h = 4y = 1/M, and the mesh points (tn , y j ),
with tn = kn, n ≥ 0, y j = jh, 0 ≤ j ≤ M and M positive integer. Let us denote the approximate value
of M(tn , y j ) at the mesh point (tn , y j ),
and let H n be the approximation of H (tn ). Let us consider the forward approximation of the
time derivatives,
mnj +1 − mnj ∂M n H n +1 − H n
≈ ( t , y j ), ≈ H 0 ( t n ), (24)
k ∂t k
and the central approximation of the spatial derivatives,
mnj +1 − mnj n n
y j m j +1 − m j −1 H n +1 − H n mnj−1 − 2mnj + mnj+1
Hn − ( ) − D1 (26)
k 2 2h k h2
m1n − mn−1
= 0, mnM = 0, n ≥ 0. (27)
2h
Transformed Stefan condition (20) is discretized using first order forward approximation for H 0 (t)
and three points backward spatial approximation of ∂M ∂y ( t, 1):
H n +1 − H n µ
= − 1 (3mnM − 4mnM−1 + mnM−2 ), n ≥ 0. (28)
k h
µ1 k
H n +1 = H n − (3mnM − 4mnM−1 + mnM−2 ), n ≥ 0.
h
to preserve accuracy of order O(k) + O(h2 ).
Finally, we have
Mathematics 2018, 6, 72 7 of 24
2D k D k
mn+1 = (1 − n 1 2 + kγ1 (1 − m0n − K1 w0n ))m0n + 2 n1 2 m1n .
0 H h H h
n +1
= anj mnj−1 + bnj mnj + cnj mnj+1 , n ≥ 0, 0 < j ≤ M − 1. (29)
m j
n +1
m M = 0.
where the coefficients are given by:
D1 k y j µ1 k (4mnM−1 − mnM−2 )
anj = − ,
H n h2 4h2 H n
2D k
bnj = 1 − n 1 2 + kγ1 (1 − mnj − K1 wtoMnj ),
H h
D k y j µ1 k(4mnM−1 − mnM−2 )
cnj = n1 2 + .
H h 4h2 H n
Step2. Update the front S2 (t) and the value of V by front fixing method.
Let us transform Equation (4) into a problem with a fixed domain [0, 1] using the Landau
transformation [35,36]
x
z(t, x ) = , W (t, z) = V (t, x ), MtoW (t, z) = U (t, x ). (30)
S2 ( t )
∂W z ∂W ∂2 W
G (t) − G 0 (t) − D2 2 = G (t)γ2 W (1 − W − K2 MtoW ), t > 0, 0 < z < 1, (31)
∂t 2 ∂z ∂z
where:
G (t) = S22 (t), t ≥ 0. (32)
Boundary conditions (5) and Stefan condition (6) take the form:
∂W
(t, 0) = 0, W (t, 1) = 0, t > 0, (33)
∂z
and
∂W
G 0 (t) = −2µ2 (t, 1), t > 0, (34)
∂z
respectively, while the initial conditions (9) become:
Conditions (8) for the initial function U0 ( x ) are translated to W0 (z) as follows:
W0 (z) ∈ C2 ([0, 1]), W00 (0) = W0 (1) = 0, W0 (z) > 0, 0 ≤ z < 1. (36)
After the transformation, the new problem lies in solving the nonlinear parabolic partial
differential equations (31) in the unbounded fixed domain (0, ∞) × (0, 1) for the variables (t, z).
Let us consider the step size discretization k = 4t, h = 4z = 1/M, and the mesh points (tn , z j ),
with tn = kn, n ≥ 0, z j = jh, 0 ≤ j ≤ M and M positive integer. Let us denote the approximate value
of W (tn , z j ) at the mesh point (tn , z j ),
and let G n be the approximation of G (tn ). Let us consider the forward approximation of the
time derivatives,
wnj +1 − wnj ∂W n G n +1 − G n
≈ ( t , z j ), ≈ G 0 ( t n ), (38)
k ∂t k
and the central approximation of the spatial derivatives,
wnj +1 − wnj n n
z j w j +1 − w j −1 G n +1 − G n wnj−1 − 2wnj + wnj+1
Gn − ( ) − D2 (40)
k 2 2h k h2
w1n − w−
n
1
= 0, wnM = 0, n ≥ 0. (41)
2h
Transformed Stefan condition (34) is discretized using first order forward approximation for G 0 (t)
and three points backward spatial approximation of ∂W ∂z ( t, 1):
G n +1 − G n µ
= − 2 (3wnM − 4wnM−1 + wnM−2 ), n ≥ 0. (42)
k h
µ2 k
G n +1 = G n − (3wnM − 4wnM−1 + wnM−2 ), n ≥ 0.
h
to preserve accuracy of order O(k) + O(h2 ).
Finally, we have
2D2 k D2 k
wn+1 = (1 − n 2 + kγ2 (1 − w0n − K2 mtoW0n ))w0n + 2 n 2 w1n .
0 G h G h
n +1
= Anj wnj−1 + Bnj wnj + Cjn wnj+1 , n ≥ 0, 0 < j ≤ M − 1. (43)
w j
n +1
w M = 0.
Step3. Update the value of WtoM (tn , yi ) with the front information G n+1 and H n+1 .
Mathematics 2018, xx, 1 9 of 26
D2 k z j µ2 k(4wnM−1 − wnM−2 )
Mathematics 2018, 6, 72 Anj = − , 9 of 24
G n h2 4h2 G n
2D2 k
q Bnj = 1 − n 2 + kγ2 (1 − wnj − K2 wtoMnj ),
G h
G n +1
1 When yi = H n +1
, then we know D2that
k zWtoM
j µ2 k (4w(M
1 yn) =
nt n +−
−1 , w iM−2 ) 0. Let wtoMin+1 = 0, wtoMln+1 = 0,
Cjn = n 2 + 2 n
.
G h 4h G ∂2 WtoM
for l = i + 1, ...M. We consider the central approximation of the spatial derivatives ∂y2
at yj,
for j = 0, 1, 2, ..., i − 1, where WtoM is updated by the backward Euler
n
Step3. Update the value of WtoM(t , yi ) with the front information G n +1
and H . n +1
2D k D1 k
wtoM0n+q 1
= (1 − n 1 2 + kγ1 (1 − wtoM n n
0 − K1 m0 )) wtoM
n
01 + 2 n 2 wtoM
n
1.
1
When yi = G
H
n +1
n + 1 , thenHweh know that WtoM ( t n + 1 , y i ) = 0. Let wtoM n
i
+
= H
0, h
wtoM n +1
l = 0,
n +1 n n n n n n (44)
forwtoM = aWe j wtoM + bcentral
j wtoM j + c j wtoM 1 , spatial 0, 0 < j∂2≤
n ≥derivatives i −at1.
WtoM
l = i +j 1, ...M. consider
j−1 the approximation ofj+
the 2 yj,
∂y
for j = 0, 1, 2, ..., i − 1, where
wtoMn+1 = 0, j = i, i + 1, ...M. WtoM is updated by the backward Euler
j
wtoMn+1 = (1 − 2D1 k + kγ1 (1 − wtoMn − K1 mn ))wtoMn + 2 D1 k wtoMn .
q
0 H n h2 √ 0 0 0
H n h2 1
n+1 /H n+1 − y
2 When yi < G n +1
< ny+1 , denoting
n n R n= nG n n i , we use the Lagrange interpolation (44)
H n wtoM
+1 =
j i +1 j a wtoM j −1 + b j wtoM j + c wtoM
j h j +1 , n ≥ 0, 0 < j ≤ i − 1.
q
wtoM n 1 G n +1
to construct polynomial
+
j P= 0,
L from j =the 1, ...M.of h, R, wtoM n+1 , wtoM n+1 , wtoM n+1 and
i, i +value ,
i −2 i −1 i H n +1
L √ n +1
We consider to use theGnvalue
q of P at yi+1 instead n+1of nwtoM
+1 − y j+1use .
< yi+1 , denoting R = G /H
+1
2 When yi < H n +1 h
i
, we the Lagrange interpolation
q
to construct polynomial2D L
P from the value of h, R, wtoMi−2 , wtoMin−+11 , wtoMin+D
n +1 1
and G n +1
,
n +1 1 k n n n 1 k H n+1n
WewtoM
0 to=
consider use(1the −value
H h n of
+ kγ (1 − wtoM − K1+m
2 P L at y1i+1 instead of 0wtoMnj+ 1
1 0 )) wtoM0 + 2
. n 2
wtoM1 .
H h
n +1 n n n n n n
wtoM
j
= a j wtoM 2D
j−
n +1 k b j wtoM j + c j wtoM j+1 ,
1 1+ n n
n ≥ 0,D1 k 0 < j ≤ i − 1.
n n (45)
wtoM0 = (1 − n 2 + kγ1 (1 − wtoM0 − K1 m0 ))wtoM0 + 2 n 2 wtoM1 .
n +1 nH h n H h
wtoM
= na+in1wtoM i −1 n+ b+i bwtoM
n
+ c n P L ( y i +1 ).
i wtoM
j = anj wtoM j 1
n
j wtoMi nj + cnjiwtoMnj+1 , n ≥ 0, 0 < j ≤ i − 1.
n +1
− (45)
wtoM
= n0,
j wtoM
+1 j = i + 1, ...M.
= an wtoMn + bn wtoMn + cn P L (y ).
i i i −1 i i i i +1
q wtoMnj +1 = 0, j = i + 1, ...M.
G n +1
3 When ≥ 1
H n +1 q n +1
as shown in Figure 3, we consider the central approximation of the
G 2
3 When ≥2 1, we consider the central approximation of the spatial derivatives ∂ nWtoM +21 at y j , for
spatial derivatives ∂ WtoM H n +1
∂y2
at y j , for j = 0, 1, 2, ..., M − 1, for q WtoM (t ∂y , y M ), we know
q
j = 0, 1, 2,n..., M − 1, for WtoM(t n + 1 , y M ), we know that W (t n + 1 , H n +1 q n +1
n+1 ) = WtoM ( t n +1 , y M ),
that W (tn+1 , H
+1
) = WtoM ( t n+q 1 , y ), let us approximate GW ( tn+1 , H
) instead of
G n +1 M
n 1
W ( t n +1 , H (tnn++11 , y M ).
+
let’s approximate G n +1
) insteadq of approximating WtoMG
q H n +1
nn++11
approximating
Suppose WtoM zi < (tH ,≤yzMi+)1., Suppose
we use the z i <
Lagrange n+1 ≤ zi +1 ,towe
Ginterpolation
use the
construct Lagrange
polynomial interpolation
P from
G n +1
to construct polynomial from the value of , , , n , W n ,qand n
P z z z W 1 (tn+i1 , Hn+1 ) W ≈ i+1 , then
n 1
n n i WtoMi −1 (tn+i +
1 ,1y ) = +
the value of zi , zi−1 , ziq
q
+1 , Wi −1 , Wi , and q Win+1 , then M i −W
G
H n 1 n 1
) ≈ P( H
+ +
WtoM (tn+P1( , yHMnn++)11 )=
. W (t
n +1 ,
G n +1 G n +1
).
G
q
G n +1
y0 y1 y i −1 yi y i +1 yM H n +1
0 1
q
H n +1
z0 z1 z i −1 zi G n +1 z i +1 zM
0 1
q q
q
Figure 3. when G n +1
n+1 ≥ 1, WtoM ( t
n +1 , y ) = W ( t n +1 ,
M
q
H n+ 1
).
G n + 1H n+1 , y ) = W ( tn+1G,n+1 H n+1 ).
Figure 3. when H n +1 ≥ 1, WtoM ( t M G n +1
Step4. Update the value of MtoW (tn , zi ) with the front information G n+1 and H n+1 .
q
H n +1
1 When zi = G n +1
, then we know that MtoW (tn+1 , zi ) = 0. Let mtoWin+1 = 0, mtoWln+1 = 0,
∂2 MtoW
for l = i + 1, ...M. We consider the central approximation of the spatial derivatives ∂z2
at z j ,
for j = 0, 1, 2, ..., i − 1, where M is updated by the backward Euler
2D2 k D2 k
mtoW0n+1 = (1 − n 2 + kγ2 (1 − mtoW0n − K2 w0n ))mtoW0n + 2 n 2 mtoW1n .
G h G h
mtoWjn+1 = Anj mtoWjn−1 + Bnj mtoWjn + Cjn mtoWjn+1 , n ≥ 0, 0 < j ≤ i − 1. (46)
mtoW n+1 = 0.j = i, i + 1, ..M.
j
2D2 k D2 k
mtoW0n+1 = (1 − n 2 + kγ2 (1 − mtoW0n − K2 w0n ))mtoW0n + 2 n 2 mtoW1n .
G h G h
mtoWjn+1 = Anj mtoWjn−1 + Bnj mtoWjn + Cjn mtoWjn+1 , n ≥ 0, 0 < j ≤ i − 1. (46)
n +1
= 0.j = i, i + 1, ..M.
Mathematics 2018, 6, mtoW
72 j 10 of 24
q √
n +1 n +1 − x
< zi+1 , denoting R = √ H /G
n +1
2 When zi < q H Gnn++11 h n +1
i
, we use the Lagrange interpolation
H H n + 1 /G − xi q
2 When zi < < z i 1 , denoting R = ,
n we1 use then+1Lagrange n+interpolation
1 n +1
G n +1
to construct polynomial +
P L from the value of h, R, h mtoW +
i −2 , mtoWi −1 , mtoWi and q HGnn++11
,
to construct polynomial P L fromLthe value of h, R, mtoW n n+ +11, mtoW n+1 , mtoW n+1 and H
,
We consider to use the value of P at z instead of mtoWi−2 .
i +1 i −1 i +1 i G n + 1
q
G n +1
y0 y1 y i −1 yi H n+1y yM
i +1
0 1
q
H n +1
z0 z1 z i −1 zi z i +1 zM G n +1
0 1
q
q qq
H n +1 n +1 , Z ) = M ( t n +1 , G n +1
Figure 4. when
4. when H n +1 ≥ 1, MtoW ( t
n + 1 M
≥ 1, MtoW (t , Z M ) = M(t , H n + 1 GHnn++11 ).
Figure G n +1
G n +1 n +1 ) .
3. Level
3. Level Set
Set Method
Method for
for 2D
2D Two-Species
Two-Species Competition-Diffusion
Competition-Diffusion Model
Model
A general
A general 2D 2D two-species
two-species competition-diffusive
competition-diffusive model
model for
for the
the densities
densities of of population
population of of the
the
species U
species U((t,t,x, and V
x,yy)) and V((t,t,x, depending on
x,yy)) depending on time
time tt and
and spatial
spatial variable
variable ((x, states as
x,yy)) states as follows:
follows:
∂U ∂22 U ∂∂22UU
∂U −DD1((∂ U2 + + 2 )) = U ( 1 − U − K1 V ) ,
= γγ1U tt > 0,
> 0, x,yy)) ∈
((x, ∈ΩΩ1((tt)\
)\ττ1((tt)),, (48)
∂t − 1 ∂x2 ∂y 1 ( 1 − U − K1 V ) , 1 1 (48)
∂t ∂x ∂y2
∂V 2V 2V
∂V D ∂∂2 V ∂∂2 V ) = γ2 V (1 − V − K2 U ), 0, Ω2((tt)\
)\ττ2((tt)),, (49)
− (
∂t − D2 ( ∂x
2 +
∂y22 ) = γ2 V (1 − V − K2 U ),
∂x22 + ∂y tt >
> 0, x,yy)) ∈
((x, ∈Ω
2 2 (49)
∂t
v1 (t, x, y) = µ1 |∇U (t, x, y)| n1 (t, x, y) = −µ∇U (t, x, y), t > 0, ( x, y) ∈ ∂Ω1 (t), (51)
v2 (t, x, y) = µ2 |∇V (t, x, y)| n2 (t, x, y) = −µ∇V (t, x, y), t > 0, ( x, y) ∈ ∂Ω2 (t), (52)
where v1 (t, x, y) and n1 (t, x, y) are, respectively, the velocity vector of the boundary point
( x, y) ∈ ∂Ω1 (t), and the unit outward normal of Ω1 (t) at ( x, y) ∈ ∂Ω1 (t), v2 (t, x, y) and n2 (t, x, y)
Mathematics 2018, 6, 72 11 of 24
are, respectively, the velocity vector of the boundary point ( x, y) ∈ ∂Ω2 (t), and the unit outward
normal of Ω2 (t) at ( x, y) ∈ ∂Ω2 (t), and the initial conditions
Here τ1 (t) and τ2 (t) are the unknown moving boundaries of two species U (t, x, y) and V (t, x, y)
such that the population are distributed in the domain Ω1 (t) and Ω2 (t) separately. D1 > 0 and
D2 > 0 are the dispersal rates. The parameters µ1 > 0 and µ2 > 0 involved in the Stefan
conditions (51) and (52) are the proportionality constant between the population gradient at the
front and the speed of the moving boundary of two species U (t, x, y) and V (t, x, y) respectively.
Following the ideas of [19], here we use a level set approach to effectively capture the front at each
new time step and a finite difference scheme to solve the heat equation everywhere away from
the front. The idea behind the level set method is to construct a level set function φ, then move
φ with the correct speed v at the front and followed by updating u(t, x, y). The new position of
the front is stored implicitly in φ. With this approach, we avoid the difficulties that arise from
explicitly tracking the front and thus increase the efficiency to deal with complex interfacial geometries.
We construct a level set function φ1 , such that at any time t, the front τ1 (t) is equal to the zero
level set of φ1 , i.e.,
τ1 (t) = {( x, y) ∈ Ω1 : φ1 (t, x, y) = 0}
Initially, U (0, x, y) = U0 ( x, y) and φ1 is set equal to the signed distance function from the front of
species U such that φ1 is negative in Ω1 (0) and positive in Ω1c (0),
+d,
x ∈ Ω1c (0),
φ1 (0, x, y) = 0, x ∈ τ1 (0), (57)
−d x ∈ Ω1 (0).
∂φ1
+ F1 |∇φ1 | = 0. (58)
∂t
This equation will move φ1 with the correct speed at the front by assuring that τ1 (t) will always
coincide with the zero level set of φ1 at time t.
We also use φ1 to define the outward normal vector n1 corresponding to τ1 by
From Equations (51) and (59), we can rewrite the expression for τ10 (t) as
∇φ1
v1 (t) = −µ1 |∇U |n1 = −µ1 |∇U | . (60)
|∇φ1 |
Since F1 is equal to |v1 (t)| along the interface, we can combine Equations (58) and (60) to get the
following equation, which of course is only valid on the zero level set of φ1 :
∂φ1
= µ1 |∇U ||∇φ1 |, ( x, y) ∈ τ1 (t). (61)
∂t
By introducing F1 defined as an extension of |v1 (t, x, y)| = µ1 |∇U (t, x, y)| from ( x, y) ∈ τ1 (t),
we can avoid unnecessary numerical difficulties when we solve Equations (60) and (61).
According to (58), (59) and (62), the level set equation turns into
∂φ1
= − F1 |∇φ1 |
∂t
= −µ1 |∇U (t, x, y)||∇φ1 | (63)
= −µ1 |∇U (t, x, y)|n1 · ∇φ1
= µ1 ∇U (t, x, y) · ∇φ1
One issue in computing ∇U arises from the fact that its approximation is usually in the order
O(1) at points close to or on the front.
The approximation to ∇U at τ1 (t) is based upon approximations to the derivatives of U in four
coordinate directions to cut down on grid orientation effects (please see Figure 5 for illustration).
Each approximation to a derivative of U can be continuously extended away from the front by the
advection equations
∂φ
u1t + S(φ1 1 )u1x = 0, (64)
∂x
∂φ1 2
u2t + S(φ1 )u = 0, (65)
∂y y
∂φ1 3
u3t + S(φ1 )u = 0, (66)
∂η η
∂φ1 4
u4t + S(φ1 )u = 0, (67)
∂ζ ζ
where u1 = ∂U/∂x, u2 = ∂U/∂y, u3 = ∂U/∂η and u4 = ∂U/∂ζ on τ1 (t). Here S is equal to the
sign function. Equation (64) through Equation (67) have the effect of continuously extending
u1 , u2 , u3 , u4 away from the front by advecting these fields in the proper upwind direction. Note that
these equations will not degrade the value of V1 on the front because φ1 is zero on τ1 (t), hence, so are
∂φ ∂φ ∂φ ∂φ
S(φ1 ∂x1 ), S(φ1 ∂y1 ), S(φ1 ∂η1 ) and S(φ1 ∂ζ1 ).
Mathematics 2018, 6, 72 13 of 24
Mathematics 2018, xx, 1 13 of 26
y
η
From (63), we end up solving for the right hand ∂φ side of the equation
u1t + S(φ1 1 )u1x = 0, (64)
∂x
∂φ1 µ
= 1 (u1i,j (φ1x )i,j 2+ u2i,j (φ1y∂φ
)i,j1 + 2u3i,j (φ1η )i,j + u4i,j (φ1ζ )i,j ) (68)
∂t 2 ut + S(φ1 )uy = 0, (65)
∂y
The spatial first derivatives of φ1 are approximated by a second-order ENO scheme. We update
∂φ1 3
u3t + S(φ1 scheme.
φ1 by solving (68) with a third-order Runge-Kutta )u = 0, (66)
∂η η
∂φ1 µ ∂φ1 0
+ Su(2i,jφ(1φ)(1y1)−
= 1 (u1i,j (φ1x∂t)i,j = |∇φ31 |), 4
i,j + ui,j ( φ1η )i,j + ui,j ( φ1ζ )i,j )
(69)
(68)
∂t 2
whereTheφ1 (0,spatial φ10 derivatives
x, y) =first and S again of denotes
φ1 arethe sign function.
approximated byAs in [37], the sign
a second-order function
ENO S is smoothed
scheme. We update
byφ1the
by equation.
solving (68) with a third-order Runge-Kutta scheme.
The basic idea behind this method is that given a function φ0 that is not a distance function,
one can evolve
Step3: it into
Update a function
φ1 to that is an
be a signedφ distance exact for
function signed distance
one time step. function from the zero level set
of φ0 . This can be accomplished by iterating (69) to a steady state. As in [37], the sign function S is
smoothedFrombyEquation
the equation
(58) and (59), it is clear that the computation of the normal velocity, and normal
vector at the front are all dependent upon φ10 function φ . However, by Equation (58), the
Sε (φ10the
) = level
q set 1 (70)
level set function will cease to be an exact distance(function φ10 )2 + ε2even after one time step. In order to keep
the accuracy of n1 , and F1 , we need to avoid having steep or flat gradients developed in φ1 . One way to
toavoid
avoidthese
numerical
numerical difficulties while
difficulties implemented.
is to reinitialize φ1 to be an exact distance function from the evolving
By using this approach,
front τ1 (t) at each time step. we avoid having to explicitly find the contour φ10 = 0 and then resetting
valuesIn oforder
the front 0
φ1 at grid points. From Equationwe (69), it is clear that the original position of the front
to reinitialize the level set function, use the reinitialization scheme of Sussman [37]
will not change, but at points away from τ1 (t), φ1 will be evolved into a distance function.
∂φ1
= S(φ10 )(1 − |∇φ1 |), (69)
∂t
where φ1 (0, x, y) = φ10 and S again denotes the sign function. As in [37], the sign function S is smoothed
by the equation.
to avoid numerical difficulties while implemented.
By using this approach, we avoid having to explicitly find the contour φ10 = 0 and then resetting
values of the front φ10 at grid points. From Equation (69), it is clear that the original position of the
front will not change, but at points away from τ1 (t), φ1 will be evolved into a distance function.
Mathematics 2018, 6, 72 14 of 24
Step4: Update U (t, x, y).
After moving φ by the correct velocity at the front and then reinitializing φ1 to be an exact signed
Step4: Update U (t, x,1 y).
distance function from τ1 (t) in Step 3, next we update U (t, x, y). Updating U (t, x, y) essentially boils
down to solving the nonlinear parabolic partial difference equation (48) over the whole computational
After moving
domain 1 by the correct
in the φfollowing velocity at the front and then reinitializing φ1 to be an exact signed
three cases:.
distance function from τ1 (t) in Step 3, next we update U (t, x, y). Updating U (t, x, y) essentially boils
At points
down •to solving theaway from the
nonlinear front, which
parabolic means
partial the nearby
difference four grid
equation points
(48) overare allwhole
the inside computational
the domain
Ω ( t ) , we solve the
domain in the following three cases:
1 nonlinear parabolic partial difference equation (53) by combining forward
Euler method and five-point stencil scheme.
• At points away from the front, which means the nearby four grid points are all inside the domain
For example, we use the scheme (71) to update U (t, x, y) at the grid point (i + 1, j) in Figure 6.
Ω1 (t), we solve the nonlinear parabolic partial difference equation (53) by combining the forward
Euler method and 1then five-point
uin++1,j −ui+1,j n + ustencil
ui,j n n scheme. n n
i +2,j −4ui +1,j + ui +1,j−1 + ui +1,j+1
4t − D1 h2
= γ1 uin+1,j (1 − uin+1,j − K1 vin+1,j ) (71)
For example, we use the scheme (71) to update U (t, x, y) at the grid point (i + 1, j) in Figure 6.
1
uin++1,j −uin+1,j n +un
ui,j n n n
i +2,j −4ui +1,j + ui +1,j−1 + ui +1,j+1
4t − D1 h2
= γ1 uin+1,j (1 − uin+1,j − K1 vin+1,j ) (71)
φ1 > 0
i,j+1 i+1,j+1
Yf
φ1 < 0
i,j-1 i+1,j-1
• For points near the front τ1 (t), some special care should be taken. We effectively capture the
• For points
front near
usingthe
thefront ), some special
1 ( tfunction
level τset careuse
φ1 . We can should be taken.
one-sided We effectively
different capture
sign of φ1 to the front
incorporate
usingthethedistances
level setbetween
function φ
a point . We can use the one-sided different sign of φ 1 the vertical or the
1 on the front and grid points neighboring it in eitherto incorporate
distances between a point on the front and grid points neighboring it in either the vertical or
horizontal direction. For example, Y f = (− L2 + (i − 1)h, y f ) ∈ τ1 (t), we consider two grid points
(i, j + 1) and (i, j) which border Yf . In y-direction, we have y j ≤ y f ≤ y j+1 . We introduce
φ1 ij
y f − y j = rh = − h
φ1 i,j+1 − φ1 i,j
n , un n L
and use ui,j i,j−1 , ui,j−2 , r and U ( n 4 t, − 2 + (i − 1) h, y f ) = 0 to construct interpolating
n +1
polynomial P. When updating ui,j , we use a standard five-point stencil combing forward
Euler method by employing P(− L2 + jh) instead of ui,j
n
+1 , i.e.,
n +1 n L
ui,j − ui,j uin−1,j + ui,j
n n n
−1 − 4ui,j + P (− 2 + jh ) + ui +1,j n n n
− D1 = γ1 ui,j (1 − ui,j − K1 vi,j ) (72)
4t h2
For the case when front interacts with x-axis, we use the same process in x-direction. In the
special case where we cannot find enough grid points inside the domain to construct interpolating
polynomial P, we employ the nearby grid points and intersect points of the front and x and y-axis
to construct quadratic polynomial or straight line as the interpolating polynomial P to update U.
For the extreme configuration, where there are only intersect points of the front and x and y-axis
near the grid point, we update U = 0 at the grid point.
Mathematics 2018, 6, 72 15 of 24
• If a grid point lies on the front, we set the value U = 0 at that point (in view of (53)). For example,
1
we set Uin−+1,j =0 for the grid point (i − 1, j).
4. Numerical Experiments
Table 1. Convergence analysis of the value of U and the front of U using the front-fixing method.
Table 2. Convergence analysis of the value of V and the front of V using the front-fixing method.
Table 2. Cont.
Table 3. Convergence analysis of the value of U and the front of U using the front-tracking method.
Table 4. Convergence analysis of the value of V and the front of V using the front-tracking method.
Table 4. Cont.
u(x,t) of front−tracking method V.S. u(x,t) with front−fixing method uH(t) of front−tracking method V.S. uH(t) of front−fixing method
1.8 0.5
front−tracking front−tracking
front−fixing 0.49 front−fixing
1.6
0.48
1.4
0.47
1.2
0.46
u(x,t=0.01)
1
uH(t)
0.45
0.8
0.44
0.6
0.43
0.4
0.42
0.2 0.41
0 0.4
0 0.2 0.4 0.6 0.8 1 1.2 1.4 0 0.002 0.004 0.006 0.008 0.01
x t
Figure 7. u(x,t=0.01) and uH(t):Front-tracking method vs. front-fixing method for 1D model.
v(x,t) with front−tracking method V.S. v(x,t) with front−fixing method vH(t) with front−tracking method V.S. vH(t) with front−fixing method
4 1.14
front−tracking front−tracking
front−fixing front−fixing
3.5
1.12
3
1.1
2.5
v(x,t=0.01)
1.08
vH(t)
1.06
1.5
1.04
1
1.02
0.5
0 1
0 0.2 0.4 0.6 0.8 1 1.2 1.4 0 0.002 0.004 0.006 0.008 0.01
x t
Figure 8. v(x,t=0.01) and vH(t):Front-tracking method vs. front-fixing method for 1D model.
4.2. Numerical Tests of Level Set Methods for 2D Model With Different Initial Configuration
Example 1. In the 2D two-species competition-diffusion model (48)–(56) with parameters
values( D1 , µ1 , γ1 , K1 ) = (4, 10, 1, 0.6), ( D2 , µ2 , γ2 , K2 ) = (0.4, 5, 3, 0.5), the initial boundary of species U
is set to be an equilateral triangle which centers at the origin point (0, 0) with side length 1, while the initial
Mathematics 2018, 6, 72 18 of 24
boundary of species V is set to be a circle which centers at the origin point (0, 0) with radius = 1.5. The initial
values U0 ( x, y), V0 (x,y) and the initial level set functions φ10 ( x, y), φ20 (x,y) are set as follows
( √ √ √
40( 23 − √1 + y)( 3x − y + √1 )(− 3x − y + √1 ), ( x, y) ∈ Ω1 (0),
U0 ( x, y) = 3 3 3 (73)
0 ( x, y) ∈ Ω1c (0).
( √
x 2 + y2 π
V0 ( x, y) = 45cos( 2 ), ( x, y) ∈ Ω2 (0), (74)
0 ( x, y) ∈ Ω2c (0).
√ √ √
3 √1 √1 √1
−min( 2 − 3 + y, ( 3x − y + 3 )/2, (− 3x − y + 3 )/2),
( x, y) ∈ Ω1 (0),
φ10 ( x, y) = 0 √
( x, y) ∈ ∂Ω1 (0), (75)
√ √ c
min(| 3 − √1 + y|, | 3x − y + √1 |/2, |− 3x − y + √1 |/2), ( x, y) ∈ Ω1 (0).
2 3 3 3
q
φ20 ( x, y) = −(1.5 − x 2 + y2 ). (76)
Figure 9 shows the simulation of the evolvement of two species and their moving boundaries
along time with an equilateral triangle as the initial boundary of U and a circle as the initial boundary
of V. In the figure of boundary line, the red curves represent the initial boundaries, and the blue curves
simulate the evolvement of free boundaries.
From Figure 9, we can see that the triangle evolves into a circle during the simulation.
Example 2. In the 2D two-species competition-diffusion model (48)–(56) with parameters
values( D1 , µ1 , γ1 , K1 ) = (4, 20, 1, 0.6), ( D2 , µ2 , γ2 , K2 ) = (1, 5, 2, 0.5), the initial boundary of species U is set
to be a square with side length = 1, centered at (0,0), while the initial boundary of species V is set to be a circle
which centers at the origin point (0, 0) with radius = 2. The initial values U0 ( x, y), V0 (x,y) and the initial level
set functions φ10 ( x, y), φ20 (x,y)are set as following
(
10(1 − x )(1 + x )(1 − y)(1 + y), ( x, y) ∈ Ω1 (0),
U0 ( x, y) = (77)
0 ( x, y) ∈ Ω1c (0).
( √
x 2 + y2 π
V0 ( x, y) = 50cos( 4 ), ( x, y) ∈ Ω2 (0), (78)
0 ( x, y) ∈ Ω2c (0).
−min(1 − | x |, 1 − |y|), ( x, y) ∈ Ω1 (0),
φ10 ( x, y) = 0 ( x, y) ∈ ∂Ω1 (0), (79)
min(|1 − | x ||, |1 − |y||) ( x, y) ∈ Ωc (0),
1
q
φ20 ( x, y) = −(2 − x2 + y2 ). (80)
Figure 10 shows the simulation of the evolvement of two species and their moving boundaries
along time with a square as the initial boundary of U and a circle as the initial boundary of V. In the
figure of boundary line, the red curves represent the initial boundaries, and the blue curves simulate
the evolvement of free boundaries.
From Figure 10, we can see that the square evolves into a circle during the simulation.
Mathematics 2018, 6, 72 19 of 24
1 1
0 0
y
y
-1 -1
-2 -2
-2 -1 0 1 2 -2 -1 0 1 2
x x
1 1
0 0
y
-1 -1
-2 -2
-2 -1 0 1 2 -2 -1 0 1 2
x x
1 1
0 0
y
-1 -1
-2 -2
-2 -1 0 1 2 -2 -1 0 1 2
x x
Figure 9. The simulated dynamics where initial boundary of U is an equilateral triangle and initial
boundary of V is a circle. The snapshots are taken at the times t = 0, 0.01, 0.04, respectively.
Mathematics 2018, 6, 72 20 of 24
2 2
1 1
0 0
y
y
-1 -1
-2 -2
-3 -3
-3 -2 -1 0 1 2 3 -3 -2 -1 0 1 2 3
x x
2 2
1 1
0 0
y
-1 -1
-2 -2
-3 -3
-3 -2 -1 0 1 2 3 -3 -2 -1 0 1 2 3
x x
2 2
1 1
0 0
y
-1 -1
-2 -2
-3 -3
-3 -2 -1 0 1 2 3 -3 -2 -1 0 1 2 3
x x
Figure 10. The simulated dynamics where initial boundary of U is a square and initial boundary of V
is a circle. The snapshots are taken at the times t = 0, 0.05, 0.1, respectively.
Mathematics 2018, 6, 72 21 of 24
q
φ20 ( x, y) = −(3.2 − x 2 + y2 ). (84)
Figure 11 shows the simulation of the evolvement of two species and their moving boundaries
along time with circles as the initial boundary of U and V. In the figure of boundary line, the red curves
represent the initial boundaries, and the blue curves simulate the evolvement of free boundaries.
From Figure 11, we can see that the circles propagate as circles during the simulation.
2 2
0 0
y
-2 -2
-4 -4
-4 -2 0 2 4 -4 -2 0 2 4
x x
2 2
0 0
y
-2 -2
-4 -4
-4 -2 0 2 4 -4 -2 0 2 4
x x
2 2
0 0
y
-2 -2
-4 -4
-4 -2 0 2 4 -4 -2 0 2 4
x x
Figure 11. The simulated dynamics where initial boundaries of U and V are circles. The snapshots are
taken at the times t = 0, 0.01, 0.05, respectively.
5. Conclusions
The system of reaction-diffusion equations with moving boundaries has been intensively studied
analytically in recent years, however, very little numerical work has been done in this field due to
numerical challenges in tracking free boundaries. In this paper, we first introduce a front tracking
framework for 1D model, and compare it with a front-fixing method. Numerical experiments
demonstrate that these two methods are consistent with each other. For 2D models, to overcome the
difficulty of handling complicated topologically changes, we apply a level set approach to handle the
moving boundaries. Numerical examples with different initial configurations demonstrate that the
level set approach is able to robustly and efficiently capture different complicated geometries.
Although the level set method is very robust in handling topological changes, sometimes it is
very hard to achieve high order accuracy, especially near the fronts. Currently we are extending the
front tracking method to more accurately deal with topological changes for general 2D models, and to
the systems of two competing species in which each species has its own moving boundary. The front
will become more complicated and more challenging once two moving fronts are tangled together,
and we would apply the reconstruction strategy to overcome these difficulties.
Author Contributions: X.L. and S.L. proposed and designed the numerical methods and S.L. performed the
numerical experiments. X.L. and S.L. together wrote the paper.
Conflicts of Interest: The authors declare no conflict of interest.
Mathematics 2018, 6, 72 23 of 24
References
1. Wang, M.; Zhang, Y. Note on a two-species competition-diffusion model with two free boundaries.
Nonlinear Anal. Theory Methods Appl. 2017, 159, 458–467. [CrossRef]
2. Guo, J.S.; Wu, C.H. Dynamics for a two-species competition—Diffusion model with two free boundaries.
Nonlinearity 2014, 28, 1. [CrossRef]
3. Guo, J.S.; Wu, C.H. On a free boundary problem for a two-species weak competition system. J. Dyn.
Differ. Equ. 2012, 24, 873–895. [CrossRef]
4. Wu, C.H. The minimal habitat size for spreading in a weak competition system with two free boundaries.
J. Differ. Equ. 2015, 259, 873–897. [CrossRef]
5. Hilhorst, D.; Iida, M.; Mimura, M.; Ninomiya, H. A competition-diffusion system approximation to the
classical two-phase Stefan problem. Jpn. J. Ind. Appl. Math. 2001, 18, 161. [CrossRef]
6. Wang, M.; Zhao, J. Free boundary problems for a Lotka-Volterra competition system. J. Dyn. Differ. Equ.
2014, 26, 655–672. [CrossRef]
7. Hosono, Y. The minimal speed of traveling fronts for a diffusive Lotka-Volterra competition model.
Bull. Math. Biol. 1998, 60, 435–448. [CrossRef]
8. Conley, C.; Gardner, R. An Application of the Generalized Morse Index to Travelling Wave Solutions of a Competitive
Reaction-Diffusion Model; Technical Report; Wisconsin Univ-Madison Mathematics Research Center: Madison,
WI, USA, 1980.
9. Gardner, R.A. Existence and stability of travelling wave solutions of competition models: A degree theoretic
approach. J. Differ. Equ. 1982, 44, 343–364. [CrossRef]
10. Lewis, M.A.; Li, B.; Weinberger, H.F. Spreading speed and linear determinacy for two-species competition
models. J. Math. Biol. 2002, 45, 219–233. [CrossRef] [PubMed]
11. Li, B.; Weinberger, H.F.; Lewis, M.A. Spreading speeds as slowest wave speeds for cooperative systems.
Math. Biosci. 2005, 196, 82–98. [CrossRef] [PubMed]
12. Weinberger, H.F.; Lewis, M.A.; Li, B. Analysis of linear determinacy for spread in cooperative models.
J. Math. Biol. 2002, 45, 183–218. [CrossRef] [PubMed]
13. Du, Y.; Guo, Z. The Stefan problem for the Fisher–KPP equation. J. Differ. Equ. 2012, 253, 996–1035.
[CrossRef]
14. Dong, X.; Li, H.; Derdowski, A.; Ding, L.; Burnett, A.; Chen, X.; Peters, T.; Dermody, T.; Woodruff, E.;
Wang, J.; et al. AP-3 directs the intracellular trafficking of HIV-1 Gag and plays a key role in particle
assembly. Cell 2005, 120, 663–674. [CrossRef] [PubMed]
15. Du, Y.; Lou, B. Spreading and vanishing in nonlinear diffusion problems with free boundaries. J. Eur.
Math. Soc. 2015, 17, 2673–2724. [CrossRef]
16. Du, Y.; Lou, B.; Zhou, M. Nonlinear diffusion problems with free boundaries: convergence, transition speed,
and zero number arguments. SIAM J. Math. Anal. 2015, 47, 3555–3584. [CrossRef]
17. Du, Y.; Matano, H.; Wang, K. Regularity and asymptotic behavior of nonlinear Stefan problems. Arch. Ration.
Mech. Anal. 2014, 212, 957–1010. [CrossRef]
18. Liu, S.; Du, Y.; Liu, X. Numerical methods for a class of reaction-diffusion equations with free boundaries.
2018, preprint.
19. Osher, S.; Fedkiw, R. Level Set Methods and Dynamic Implicit Surfaces; Springer Verlag: Berlin, Germany, 2002.
20. Osher, S.; Sethian, J. Fronts propagating with curvature-dependent speed: Algorithms based on
Hamilton-Jacobi formulations. J. Comput. Phys. 1988, 79, 12–49. [CrossRef]
21. Sethian, J. A fast marching level set method for monotonically advancing fronts. Proc. Natl. Acad. Sci. USA
1996, 93, 1591–1595. [CrossRef] [PubMed]
22. Sethian, J.A. Level Set Methods and Fast Marching Methods; Cambridge University Press: Cambridge, UK, 1999.
23. Xu, J.; Li, Z.; Lowengrub, J.; Zhao, H. A level-set method for interfacial flows with surfactant. J. Comput. Phys.
2006, 212, 590–616. [CrossRef]
24. Zhao, H.; Chan, T.; Merriman, B.; Osher, S. A variational level set approach to multiphase motion.
J. Comput. Phys. 1996, 127, 179–195. [CrossRef]
25. Leveque, R.; Li, Z. The immersed interface method for elliptic equations with discontinuous coefficients and
singular sources. SIAM J. Numer. Anal. 1994, 31, 1019–1044. [CrossRef]
26. Peskin, C. The immersed boundary method. Acta Numer. 2003, 11, 479–517.
Mathematics 2018, 6, 72 24 of 24
27. Wiegmann, A.; Bube, K. The immersed interface method for nonlinear differential equations with
discontinuous coefficients and singular sources. SIAM J. Numer. Anal. 1998, 35, 177–200. [CrossRef]
28. Zhu, L.; Peskin, C. Simulation of a flapping flexible filament in a flowing soap film by the immersed
boundary method. J. Comput. Phys. 2002, 179, 452–468. [CrossRef]
29. Chern, I.; Glimm, J.; McBryan, O.; Plohr, B.; Yaniv, S. Front tracking for gas dynamics. J. Comput. Phys. 1986,
62, 83–110. [CrossRef]
30. Glimm, J.; Li, X.; Liu, Y.; Zhao, N. Conservative front tracking and level set algorithms. Proc. Natl. Acad.
Sci. USA 2001, 98, 14198–14201. [CrossRef] [PubMed]
31. Hilditch, J.; Colella, P. A front tracking method for compressible flames in one dimension. SIAM J.
Sci. Comput. 1995, 16, 755–772. [CrossRef]
32. Hua, J.; Stene, J.; Lin, P. Numerical simulation of 3D bubbles rising in viscous liquids using a front tracking
method. J. Comput. Phys. 2007, 227, 3358–3382. [CrossRef]
33. LeVeque, R.; Shyue, K. Two-dimensional front tracking based on high resolution wave propagation methods.
J. Comput. Phys. 1996, 123, 354–368. [CrossRef]
34. Unverdi, S.; Tryggvason, G. A front-tracking method for viscous, incompressible, multi-fluid flows.
J. Comput. Phys. 1992, 100, 25–37. [CrossRef]
35. Crank, J. Free and Moving Boundary Problems; Oxford Science Publications: Oxford, UK, 1984.
36. Landau, H.G. Heat conduction in a melting solid. Q. Appl. Math. 1950, 8, 81–94. [CrossRef]
37. Sussman, M.; Smereka, P.; Osher, S. A level set approach for computing solutions to incompressible
two-phase flow. J. Comput. Phys. 1994, 114, 146–159. [CrossRef]
c 2018 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access
article distributed under the terms and conditions of the Creative Commons Attribution
(CC BY) license (http://creativecommons.org/licenses/by/4.0/).