Next Article in Journal
Upper Bound Design for the Lipschitz Constant of the FG(ν,q)-Entropy Operator
Next Article in Special Issue
The Finite Volume WENO with Lax–Wendroff Scheme for Nonlinear System of Euler Equations
Previous Article in Journal
Two-Level Finite Element Approximation for Oseen Viscoelastic Fluid Flow
Previous Article in Special Issue
Krylov Implicit Integration Factor Methods for Semilinear Fourth-Order Equations
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Numerical Methods for a Two-Species Competition-Diffusion Model with Free Boundaries

Department of Mathematics, University of South Carolina, Columbia, SC 29208, USA
*
Author to whom correspondence should be addressed.
These authors contributed equally to this work.
Mathematics 2018, 6(5), 72; https://doi.org/10.3390/math6050072
Submission received: 31 March 2018 / Revised: 27 April 2018 / Accepted: 28 April 2018 / Published: 3 May 2018
(This article belongs to the Special Issue Numerical Methods for Partial Differential Equations)

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.

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 t D 1 Δ U = f 1 ( U , V ) for x Ω 1 ( t ) , t > 0 ; U = 0 for x Ω 1 ( t ) , t > 0 .
V t D 2 Δ V = f 2 ( U , V ) for x Ω 2 ( t ) , t > 0 ; U = 0 for x Ω 2 ( t ) , t > 0 .
The nonlinear functions f 1 ( U , V ) and f 2 ( U , V ) are assumed to be C 1 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 C 1 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,2,3,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,8,9]. The asymptotic spreading speed associated with the Cauchy problem has been studied in [10,11,12]. Many other theoretical results for general models have been achieved in [13,14,15,16,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,20,21,22,23,24] and front tracking methods [25,26,27,28] are two popular numerical approaches. One distinct feature of front tracking [29,30,31,32,33,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.

2. Numerical Methods for 1D Two-Species Competition-Diffusion Model

A two-species competition-diffusion model with two free boundaries for the density of population of the competing species U and V depending on time t and spatial variable x states as follows:
U t D 1 U x x = γ 1 U ( 1 U K 1 V ) , t > 0 , 0 < x < S 1 ( t ) ,
V t D 2 V x x = γ 2 V ( 1 V K 2 U ) , t > 0 , 0 < x < S 2 ( t ) ,
U x ( t , 0 ) = V x ( t , 0 ) = 0 , t 0 ,
S 1 ( t ) = μ 1 U x ( t , S 1 ( t ) ) , S 2 ( t ) = μ 2 V x ( t , S 2 ( t ) ) , t 0 ,
U ( x , t ) = 0 f o r x S 1 ( t ) , V ( x , t ) = 0 f o r x S 2 ( t ) , t 0 ,
U ( x , 0 ) = U 0 ( x ) , V ( x , 0 ) = V 0 ( x ) , f o r x [ 0 , ) ,
S 1 ( 0 ) = S 1 0 > 0 , S 2 ( 0 ) = S 2 0 > 0 .
where U ( x , t ) and V ( x , t ) represent the population densities of the two species at the position x and time t. D 1 and D 2 are the diffusion rates of species U and V. γ 1 and γ 2 are net birth rates of species U and V. K 1 and K 2 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 S 1 ( t ) and S 2 ( 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 , S 1 ( 0 ) ] and [ 0 , S 2 ( t ) ] , respectively, at time t.

2.1. Method 1: Front-Tracking Method for 1D Two-Species Competition-Diffusion Model

The problem lies in solving the nonlinear parabolic partial differential Equations (3)–(9) in the unbounded fixed domain ( 0 , ) × ( 0 , L ) for the variables ( t , x ) . Let us consider the step size discretization k = t , h = x = L / M , and the mesh points ( t n , x j ) , with t n = k n , n 0 , x j = j h , 0 j M and M positive integer. Let us denote the approximate value of U ( t n , x j ) and the approximate value of V ( t n , x j ) at the mesh point ( t n , x j ) ,
u j n U ( t n , x j ) , v j n V ( t n , x j )
Step1: Track the position of the moving front S 1 ( t ) .
According to the Stefan condition
S 1 ( t ) = μ 1 U x ( t , S 1 ( t ) ) , t 0 ,
we consider using the central approximation of the spatial derivatives to approximate U x ( t , S 1 ( t ) ) , which can be divided into the following four cases.
1
When x i S 1 n < x i + 1 , i = 2 , 3 M 1 as depicted in Figure 1, denoting d = S 1 n x i h . Let us first consider the symmetric point of x i 1 respect to the position S 1 n , which is denoted by x ˜ i 1 . In particular, when S 1 n = x i , x ˜ i 1 = x i + 1 . We use the Lagrange interpolation to construct polynomial P L from the value of d, h, u i 2 n , u i 1 n , u i n and S 1 n , thus at x ˜ i 1 , we use the value of P L at x ˜ i 1 instead of u ( x ˜ i 1 ) ,
2
When 0 = x 0 < S 1 n x 1 , the central scheme approximation of the spatial derivatives to approximate U x ( t , S 1 ( t ) ) involves the fictitious value u 1 n at the point ( t n , h ) . The value u 1 n can be estimated from the second-order discretization of the boundary condition (10),
u 1 n u 1 n 2 h = 0
which implies that u 1 n = u 1 n = 0 . It is obvious that all the values of u i n on the grid points are equal to 0 except u 0 n . Numerically, we take S 1 ( t ) = 0 , and this can be explained by the fact the species is only located inside one grid mesh. The simulation should stop here indicating that a more refined mesh is needed.
3
When x 1 < S 1 n < x 2 as shown in Figure 2, denoting d = S 1 n x 1 h . Let us first consider the symmetric point of x 0 with respect to the position S 1 n , which is denoted by x ˜ 0 . Then we consider the value of u 1 n = u 1 n , and use the Lagrange interpolation to construct polynomial P L from the value of h, d, u 1 n , u 0 n , u 1 n and S 1 n . Then at x ˜ 0 , we use the value of P L at x ˜ 0 instead of u ( x ˜ 0 ) .
4
When S 1 n = 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.
Step2: Track the position of the moving front of S 2 ( t ) .
Repeat step1 to S 2 ( t ) .
Step3: Update the value of U ( t n + 1 , x i ) and V ( t n + 1 , x i ) .
1
When x i = S 1 n + 1 and x j = S 2 n + 1 , then we know that U ( t n + 1 , x i ) = 0 . Let u i n + 1 = 0 , u l n + 1 = 0 , for l = i + 1 , i + 2 M and v j n + 1 = 0 , v m n + 1 = 0 , for m = j + 1 , j + 2 M . We consider the central approximation of the spatial derivatives U x x at x l , for l = 0 , 1 , 2 , , i 1 , and the central approximation of the spatial derivatives V x x at x m , for m = 0 , 1 , 2 , , j 1 , where U and V are updated by the backward Euler
u l n + l u l n k = D 1 u l 1 n + 1 2 u l n + 1 + u l + 1 n + 1 h 2 + γ 1 u l n + 1 ( 1 u l n + 1 K 1 v l n + 1 ) , l = 0 , 1 , i 1 . v m n + l v m n k = D 2 v m 1 n + 1 2 v m n + 1 + v m + 1 n + 1 h 2 + γ 2 v m n + 1 ( 1 v m n + 1 K 2 u m n + 1 ) , m = 0 , 1 , j 1 .
Then use the P i c a r d Iteration (or Newton Iteration) to solve the nonlinear system (12).
2
When x i < S 1 n + 1 < x i + 1 and x j < S 2 n + 1 < x j + 1 , denoting R 1 = S 1 n + 1 x i h and R 2 = S 2 n + 1 x i h , we use the Lagrange interpolation to construct polynomial P 1 L from the value of h, R 1 , u i 2 n + 1 , u i 1 n + 1 , u i n + 1 and S 1 n + 1 and polynomial P 2 L from the value of h, R 2 , v j 2 n + 1 , v j 1 n + 1 , v j n + 1 and S 2 n + 1 . Then at x i + 1 and x j + 1 , we use the value of P 1 L at x i + 1 instead of u i + 1 n + 1 and the value of P 2 L at x j + 1 instead of v j + 1 n + 1 . For the solution u at x l , for l = 0 , 1 , 2 , , , i 1 , a standard central approximation in space with backward Euler in time will be employed. u l n + 1 = 0 , for l = i + 1 , M . For the solution v at x l , for l = 0 , 1 , 2 , , j 1 , a standard central approximation in space with backward Euler in time will be employed. v l n + 1 = 0 , for l = j + 1 , M . U and V is updated by the backward Euler in time
u l n + l u l n k = D 1 u l 1 n + 1 2 u l n + 1 + u l + 1 n + 1 h 2 + γ 1 u l n + 1 ( 1 u l n + 1 K 1 v l n + 1 ) , l = 0 , 1 , i 1 . u i n + 1 u i n k = D 1 u i 1 n + 1 2 u i n + 1 + P 1 L ( x i + 1 ) h 2 + γ 1 u i n + 1 ( 1 u i n + 1 K 1 v i n + 1 ) . v m n + l v m n k = D 2 v m 1 n + 1 2 v m n + 1 + v m + 1 n + 1 h 2 + γ 2 v m n + 1 ( 1 v m n + 1 K 2 u m n + 1 ) , m = 0 , 1 , j 1 . v j n + 1 v j n k = D 2 v j 1 n + 1 2 v j n + 1 + P 2 L ( x j + 1 ) h 2 + γ 2 v j n + 1 ( 1 v j n + 1 K 2 u j n + 1 ) .
P i c a r d Iteration (or Newton Iteration) will be applied to solve the nonlinear system (13).
3
When x i = S 1 n + 1 and x j < S 2 n + 1 < x j + 1 , then we know that U ( t n + 1 , x i ) = 0 . Let u i n + 1 = 0 , u l n + 1 = 0 , for l = i + 1 , M . We consider the central approximation of the spatial derivatives U x x at x l , for l = 0 , 1 , 2 , , i 1 . Denoting R 2 = S 2 n + 1 x i h , we use the Lagrange interpolation to construct polynomial P 2 L from the value of h, R 2 , v j 2 n + 1 , v j 1 n + 1 , v j n + 1 and S 2 n + 1 . Then at x j + 1 , we use the value of P 2 L at x j + 1 instead of v j + 1 n + 1 , where U and V is updated by the backward Euler in time
u l n + l u l n k = D 1 u l 1 n + 1 2 u l n + 1 + u l + 1 n + 1 h 2 + γ 1 u l n + 1 ( 1 u l n + 1 K 1 v l n + 1 ) , l = 0 , 1 , i 1 . v m n + l v m n k = D 2 v m 1 n + 1 2 v m n + 1 + v m + 1 n + 1 h 2 + γ 2 v m n + 1 ( 1 v m n + 1 K 2 u m n + 1 ) , m = 0 , 1 , j 1 . v j n + 1 v j n k = D 2 v j 1 n + 1 2 v j n + 1 + P 2 L ( x j + 1 ) h 2 + γ 2 v j n + 1 ( 1 v j n + 1 K 2 u j n + 1 ) .
Then use the P i c a r d Iteration (or Newton Iteration) to solve the nonlinear system (14).
4
When x i < S 1 n + 1 < x i + 1 and x j = S 2 n + 1 , denoting R 1 = S 1 n + 1 x i h , we use the Lagrange interpolation to construct polynomial P 1 L from the value of h, R 1 , u i 2 n + 1 , u i 1 n + 1 , u i n + 1 Then at x i + 1 , we use the value of P 1 L at x i + 1 instead of u i + 1 n + 1 . For the solution u at x l , for l = 0 , 1 , 2 , , i 1 , a standard central approximation in space with backward Euler in time will be employed. u l n + 1 = 0 , for l = i + 1 , M . For the solution v at x l , for l = 0 , 1 , 2 , , j 1 , a standard central approximation in space with backward Euler in time will be employed. v l n + 1 = 0 , for l = j + 1 , M , where U and V is updated by the backward Euler in time
u l n + l u l n k = D 1 u l 1 n + 1 2 u l n + 1 + u l + 1 n + 1 h 2 + γ 1 u l n + 1 ( 1 u l n + 1 K 1 v l n + 1 ) , l = 0 , 1 , i 1 . u i n + 1 u i n k = D 1 u i 1 n + 1 2 u i n + 1 + P 1 L ( x i + 1 ) h 2 + γ 1 u i n + 1 ( 1 u i n + 1 K 1 v i n + 1 ) . v m n + l v m n k = D 2 v m 1 n + 1 2 v m n + 1 + v m + 1 n + 1 h 2 + γ 2 v m n + 1 ( 1 v m n + 1 K 2 u m n + 1 ) , m = 0 , 1 , j 1 .
P i c a r d Iteration (or Newton Iteration) will be applied to solve the nonlinear system (15).

2.2. Method 2: Front-Fixing Method for 1D Two-Species Competition-Diffusion Model

Here we consider transforming Equation (3) and Equation (4) into problems with a fixed domain [ 0 , 1 ] separately.
Step1. Update the front of S 1 ( 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]
y ( t , x ) = x S 1 ( t ) , M ( t , y ) = U ( t , x ) , W t o M ( t , y ) = V ( t , x ) .
Then Equation (3) turns into the form:
H ( t ) M t H ( t ) y 2 M y D 1 2 M y 2 = H ( t ) γ 1 M ( 1 M K 1 W t o M ) , t > 0 , 0 < y < 1 ,
where:
H ( t ) = S 1 2 ( t ) , t 0 .
Boundary conditions (5) and Stefan condition (6) take the form:
M y ( t , 0 ) = 0 , M ( t , 1 ) = 0 , t > 0 ,
and
H ( t ) = 2 μ 1 M y ( t , 1 ) , t > 0 ,
respectively, while the initial conditions (9) become:
H ( 0 ) = ( S 1 0 ) 2 , M ( 0 , y ) = M 0 ( y ) = U 0 ( y S 1 0 ) , 0 y 1 .
Conditions (8) for the initial function U 0 ( x ) are translated to W 0 ( z ) as follows:
M 0 ( y ) C 2 ( [ 0 , 1 ] ) , M 0 ( 0 ) = M 0 ( 1 ) = 0 , M 0 ( y ) > 0 , 0 y < 1 .
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 = t , h = y = 1 / M , and the mesh points ( t n , y j ) , with t n = k n , n 0 , y j = j h , 0 j M and M positive integer. Let us denote the approximate value of M ( t n , y j ) at the mesh point ( t n , y j ) ,
m j n M ( t n , y j ) , w t o M j n W t o M ( t n , y j ) .
and let H n be the approximation of H ( t n ) . Let us consider the forward approximation of the time derivatives,
m j n + 1 m j n k M t ( t n , y j ) , H n + 1 H n k H ( t n ) ,
and the central approximation of the spatial derivatives,
m j + 1 n m j 1 n 2 h M y ( t n , y j ) , m j 1 n 2 m j n + m j + 1 n h 2 2 M y 2 ( t n , y j ) .
From (24) and (25), Equation (17) is approximated by:
H n m j n + 1 m j n k y j 2 m j + 1 n m j 1 n 2 h ( H n + 1 H n k ) D 1 m j 1 n 2 m j n + m j + 1 n h 2
= H n γ 1 m j n ( 1 m j n w t o M j n ) , n 0 , 0 j M 1 .
As usual, we assume that the Equation (26) can be also approximated at j = 0 . Equation (26) written for j = 0 involves the fictitious value m 1 n at the point ( t n , h ) . The value m 1 n is eliminated from the discretization of the boundary and initial condition (21) and (22),
m 1 n m 1 n 2 h = 0 , m M n = 0 , n 0 .
Transformed Stefan condition (20) is discretized using first order forward approximation for H ( t ) and three points backward spatial approximation of M y ( t , 1 ) :
H n + 1 H n k = μ 1 h ( 3 m M n 4 m M 1 n + m M 2 n ) , n 0 .
H n + 1 = H n μ 1 k h ( 3 m M n 4 m M 1 n + m M 2 n ) , n 0 .
to preserve accuracy of order O ( k ) + O ( h 2 ) .
Finally, we have
m 0 n + 1 = ( 1 2 D 1 k H n h 2 + k γ 1 ( 1 m 0 n K 1 w 0 n ) ) m 0 n + 2 D 1 k H n h 2 m 1 n . m j n + 1 = a j n m j 1 n + b j n m j n + c j n m j + 1 n , n 0 , 0 < j M 1 . m M n + 1 = 0 .
where the coefficients are given by:
a j n = D 1 k H n h 2 y j μ 1 k ( 4 m M 1 n m M 2 n ) 4 h 2 H n , b j n = 1 2 D 1 k H n h 2 + k γ 1 ( 1 m j n K 1 w t o M j n ) , c j n = D 1 k H n h 2 + y j μ 1 k ( 4 m M 1 n m M 2 n ) 4 h 2 H n .
Step2. Update the front S 2 ( 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]
z ( t , x ) = x S 2 ( t ) , W ( t , z ) = V ( t , x ) , M t o W ( t , z ) = U ( t , x ) .
Then Equation (4) turns into the form:
G ( t ) W t G ( t ) z 2 W z D 2 2 W z 2 = G ( t ) γ 2 W ( 1 W K 2 M t o W ) , t > 0 , 0 < z < 1 ,
where:
G ( t ) = S 2 2 ( t ) , t 0 .
Boundary conditions (5) and Stefan condition (6) take the form:
W z ( t , 0 ) = 0 , W ( t , 1 ) = 0 , t > 0 ,
and
G ( t ) = 2 μ 2 W z ( t , 1 ) , t > 0 ,
respectively, while the initial conditions (9) become:
G ( 0 ) = ( S 2 0 ) 2 , W ( 0 , z ) = W 0 ( z ) = V 0 ( z S 2 0 ) , 0 z 1 .
Conditions (8) for the initial function U 0 ( x ) are translated to W 0 ( z ) as follows:
W 0 ( z ) C 2 ( [ 0 , 1 ] ) , W 0 ( 0 ) = W 0 ( 1 ) = 0 , W 0 ( z ) > 0 , 0 z < 1 .
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 = t , h = z = 1 / M , and the mesh points ( t n , z j ) , with t n = k n , n 0 , z j = j h , 0 j M and M positive integer. Let us denote the approximate value of W ( t n , z j ) at the mesh point ( t n , z j ) ,
w j n W ( t n , z j ) , m t o W j n M t o W ( t n , z j ) .
and let G n be the approximation of G ( t n ) . Let us consider the forward approximation of the time derivatives,
w j n + 1 w j n k W t ( t n , z j ) , G n + 1 G n k G ( t n ) ,
and the central approximation of the spatial derivatives,
w j + 1 n w j 1 n 2 h W z ( t n , z j ) , w j 1 n 2 w j n + w j + 1 n h 2 2 W z 2 ( t n , z j ) .
From (38) and (39), Equation (31) is approximated by:
G n w j n + 1 w j n k z j 2 w j + 1 n w j 1 n 2 h ( G n + 1 G n k ) D 2 w j 1 n 2 w j n + w j + 1 n h 2
= G n γ 2 w j n ( 1 w j n K 2 m t o W j n ) , n 0 , 0 j M 1 .
As usual, we again assume that Equation (40) can be also approximated at j = 0 . Equation (40) written for j = 0 involves the fictitious value w 1 n at the point ( t n , h ) . The value w 1 n is eliminated from the discretization of the boundary and initial condition (35) and (36),
w 1 n w 1 n 2 h = 0 , w M n = 0 , n 0 .
Transformed Stefan condition (34) is discretized using first order forward approximation for G ( t ) and three points backward spatial approximation of W z ( t , 1 ) :
G n + 1 G n k = μ 2 h ( 3 w M n 4 w M 1 n + w M 2 n ) , n 0 .
G n + 1 = G n μ 2 k h ( 3 w M n 4 w M 1 n + w M 2 n ) , n 0 .
to preserve accuracy of order O ( k ) + O ( h 2 ) .
Finally, we have
w 0 n + 1 = ( 1 2 D 2 k G n h 2 + k γ 2 ( 1 w 0 n K 2 m t o W 0 n ) ) w 0 n + 2 D 2 k G n h 2 w 1 n . w j n + 1 = A j n w j 1 n + B j n w j n + C j n w j + 1 n , n 0 , 0 < j M 1 . w M n + 1 = 0 .
where the coefficients are given by:
A j n = D 2 k G n h 2 z j μ 2 k ( 4 w M 1 n w M 2 n ) 4 h 2 G n , B j n = 1 2 D 2 k G n h 2 + k γ 2 ( 1 w j n K 2 w t o M j n ) , C j n = D 2 k G n h 2 + z j μ 2 k ( 4 w M 1 n w M 2 n ) 4 h 2 G n .
Step3. Update the value of W t o M ( t n , y i ) with the front information G n + 1 and H n + 1 .
1
When y i = G n + 1 H n + 1 , then we know that W t o M ( t n + 1 , y i ) = 0 . Let w t o M i n + 1 = 0 , w t o M l n + 1 = 0 , for l = i + 1 , M . We consider the central approximation of the spatial derivatives 2 W t o M y 2 at y j , for j = 0 , 1 , 2 , , i 1 , where W t o M is updated by the backward Euler
w t o M 0 n + 1 = ( 1 2 D 1 k H n h 2 + k γ 1 ( 1 w t o M 0 n K 1 m 0 n ) ) w t o M 0 n + 2 D 1 k H n h 2 w t o M 1 n . w t o M j n + 1 = a j n w t o M j 1 n + b j n w t o M j n + c j n w t o M j + 1 n , n 0 , 0 < j i 1 . w t o M j n + 1 = 0 , j = i , i + 1 , M .
2
When y i < G n + 1 H n + 1 < y i + 1 , denoting R = G n + 1 / H n + 1 y i h , we use the Lagrange interpolation to construct polynomial P L from the value of h, R, w t o M i 2 n + 1 , w t o M i 1 n + 1 , w t o M i n + 1 and G n + 1 H n + 1 , We consider to use the value of P L at y i + 1 instead of w t o M j + 1 n + 1 .
w t o M 0 n + 1 = ( 1 2 D 1 k H n h 2 + k γ 1 ( 1 w t o M 0 n K 1 m 0 n ) ) w t o M 0 n + 2 D 1 k H n h 2 w t o M 1 n . w t o M j n + 1 = a j n w t o M j 1 n + b j n w t o M j n + c j n w t o M j + 1 n , n 0 , 0 < j i 1 . w t o M i n + 1 = a i n w t o M i 1 n + b i n w t o M i n + c i n P L ( y i + 1 ) . w t o M j n + 1 = 0 , j = i + 1 , M .
3
When G n + 1 H n + 1 1 as shown in Figure 3, we consider the central approximation of the spatial derivatives 2 W t o M y 2 at y j , for j = 0 , 1 , 2 , , M 1 , for W t o M ( t n + 1 , y M ) , we know that W ( t n + 1 , H n + 1 G n + 1 ) = W t o M ( t n + 1 , y M ) , let us approximate W ( t n + 1 , H n + 1 G n + 1 ) instead of approximating W t o M ( t n + 1 , y M ) . Suppose z i < H n + 1 G n + 1 z i + 1 , we use the Lagrange interpolation to construct polynomial P from the value of z i , z i 1 , z i + 1 , W i 1 n , W i n , and W i + 1 n , then W t o M ( t n + 1 , y M ) = W ( t n + 1 , H n + 1 G n + 1 ) P ( H n + 1 G n + 1 ) .
Step4. Update the value of M t o W ( t n , z i ) with the front information G n + 1 and H n + 1 .
1
When z i = H n + 1 G n + 1 , then we know that M t o W ( t n + 1 , z i ) = 0 . Let m t o W i n + 1 = 0 , m t o W l n + 1 = 0 , for l = i + 1 , M . We consider the central approximation of the spatial derivatives 2 M t o W z 2 at z j , for j = 0 , 1 , 2 , , i 1 , where M is updated by the backward Euler
m t o W 0 n + 1 = ( 1 2 D 2 k G n h 2 + k γ 2 ( 1 m t o W 0 n K 2 w 0 n ) ) m t o W 0 n + 2 D 2 k G n h 2 m t o W 1 n . m t o W j n + 1 = A j n m t o W j 1 n + B j n m t o W j n + C j n m t o W j + 1 n , n 0 , 0 < j i 1 . m t o W j n + 1 = 0 . j = i , i + 1 , . . M .
2
When z i < H n + 1 G n + 1 < z i + 1 , denoting R = H n + 1 / G n + 1 x i h , we use the Lagrange interpolation to construct polynomial P L from the value of h, R, m t o W i 2 n + 1 , m t o W i 1 n + 1 , m t o W i n + 1 and H n + 1 G n + 1 , We consider to use the value of P L at z i + 1 instead of m t o W i + 1 n + 1 .
m t o W 0 n + 1 = ( 1 2 D 2 k G n h 2 + k γ 2 ( 1 m t o W 0 n K 2 w 0 n ) ) m t o W 0 n + 2 D 2 k G n h 2 m t o W 1 n . m t o W j n + 1 = A j n m t o W j 1 n + B j n m t o W j n + C j n m t o W j + 1 n , n 0 , 0 < j i 1 . m t o W i n + 1 = A i n m t o W i 1 n + B i n m t o W i n + C i n P L ( z i + 1 ) . m t o W j n + 1 = 0 . j = i + 1 , . . M .
3
When H n + 1 G n + 1 1 as illustrated in Figure 4, we consider the central approximation of the spatial derivatives 2 M t o W z 2 at z j , for j = 0 , 1 , 2 , , M 1 , for M t o W ( t n + 1 , z M ) , we know that M ( t n + 1 , G n + 1 H n + 1 ) = M t o W ( t n + 1 , z M ) , let us approximate M ( t n + 1 , G n + 1 H n + 1 ) instead of approximating M t o W ( t n + 1 , z M ) . Suppose y i < G n + 1 H n + 1 y i + 1 , we use the Lagrange interpolation to construct polynomial P from the value of y i , y i 1 , y i + 1 , M i 1 n , M i n , and M i + 1 n , then M t o W ( t n + 1 , z M ) = M ( t n + 1 , G n + 1 H n + 1 ) P ( G n + 1 H n + 1 ) .

3. Level Set Method for 2D Two-Species Competition-Diffusion Model

A general 2D two-species competition-diffusive model for the densities of population of the species U ( t , x , y ) and V ( t , x , y ) depending on time t and spatial variable ( x , y ) states as follows:
U t D 1 ( 2 U x 2 + 2 U y 2 ) = γ 1 U ( 1 U K 1 V ) , t > 0 , ( x , y ) Ω 1 ( t ) \ τ 1 ( t ) ,
V t D 2 ( 2 V x 2 + 2 V y 2 ) = γ 2 V ( 1 V K 2 U ) , t > 0 , ( x , y ) Ω 2 ( t ) \ τ 2 ( t ) ,
together with the boundary conditions
U ( t , τ 1 ( t ) ) = 0 , V ( t , τ 2 ( t ) ) = 0 , t > 0 ,
the Stefan conditions
v 1 ( t , x , y ) = μ 1 | U ( t , x , y ) | n 1 ( t , x , y ) = μ U ( t , x , y ) , t > 0 , ( x , y ) Ω 1 ( t ) ,
v 2 ( t , x , y ) = μ 2 | V ( t , x , y ) | n 2 ( t , x , y ) = μ V ( t , x , y ) , t > 0 , ( x , y ) Ω 2 ( t ) ,
where v 1 ( t , x , y ) and n 1 ( 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 ) , v 2 ( t , x , y ) and n 2 ( t , x , y ) 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
U ( 0 , x , y ) = U 0 ( x , y ) , ( x , y ) Ω 1 ( 0 ) ,
V ( 0 , x , y ) = V 0 ( x , y ) , ( x , y ) Ω 2 ( 0 ) ,
The initial functions U 0 ( x , y ) and V 0 ( x , y ) satisfies the following properties:
U 0 ( x , y ) C 2 ( Ω 1 ( 0 ) ) , U 0 ( 0 ) = U 0 ( τ 1 ( 0 ) ) = 0 , U 0 ( x , y ) > 0 , ( x , y ) Ω 1 ¯ ( 0 ) .
V 0 ( x , y ) C 2 ( Ω 2 ( 0 ) ) , U 0 ( 0 ) = V 0 ( τ 2 ( 0 ) ) = 0 , V 0 ( x , y ) > 0 , ( x , y ) Ω 2 ¯ ( 0 ) .
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. D 1 > 0 and D 2 > 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.
Step1. Initialize U ( t , x , y ) and ϕ 1 ( t , x , y ) .
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 ) = U 0 ( 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 Ω 1 c ( 0 ) ,
ϕ 1 ( 0 , x , y ) = + d , x Ω 1 c ( 0 ) , 0 , x τ 1 ( 0 ) , d x Ω 1 ( 0 ) .
where d is the distance from the front τ 1 ( t ) .
Given the normal speed, v 1 , at which the front τ 1 ( t ) moves, we would construct a speed function, F 1 ( t , x , y ) , which is a continuous extension of | v 1 ( t , x , y ) | from the front τ 1 ( t ) over the whole computational domain. The governing equation of ϕ 1 is then given by
ϕ 1 t + F 1 | ϕ 1 | = 0 .
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 n 1 corresponding to τ 1 by
n 1 = ϕ 1 / | ϕ 1 | .
From Equations (51) and (59), we can rewrite the expression for τ 1 ( t ) as
v 1 ( t ) = μ 1 | U | n 1 = μ 1 | U | ϕ 1 | ϕ 1 | .
Since F 1 is equal to | v 1 ( 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 t = μ 1 | U | | ϕ 1 | , ( x , y ) τ 1 ( t ) .
Next, we need to extend the velocity function V 1 to a neighborhood of τ 1 ( t ) .
Therefore, we get the velocity function over the computational domain
F 1 ( t , x , y ) = μ 1 | U ( t , x , y ) | .
which is of course only valid on the zero level set of ϕ .
Step2. Compute the velocity filed F 1 ( x , y , t ) of U .
By introducing F 1 defined as an extension of | v 1 ( 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 t = F 1 | ϕ 1 | = μ 1 | U ( t , x , y ) | | ϕ 1 | = μ 1 | U ( t , x , y ) | n 1 · ϕ 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
u t 1 + S ( ϕ 1 ϕ 1 x ) u x 1 = 0 ,
u t 2 + S ( ϕ 1 ϕ 1 y ) u y 2 = 0 ,
u t 3 + S ( ϕ 1 ϕ 1 η ) u η 3 = 0 ,
u t 4 + S ( ϕ 1 ϕ 1 ζ ) u ζ 4 = 0 ,
where u 1 = U / x , u 2 = U / y , u 3 = U / η and u 4 = U / ζ on τ 1 ( t ) . Here S is equal to the sign function. Equation (64) through Equation (67) have the effect of continuously extending u 1 , u 2 , u 3 , u 4 away from the front by advecting these fields in the proper upwind direction. Note that these equations will not degrade the value of V 1 on the front because ϕ 1 is zero on τ 1 ( t ) , hence, so are S ( ϕ 1 ϕ 1 x ) , S ( ϕ 1 ϕ 1 y ) , S ( ϕ 1 ϕ 1 η ) and S ( ϕ 1 ϕ 1 ζ ) .
From (63), we end up solving for the right hand side of the equation
ϕ 1 t = μ 1 2 ( u i , j 1 ( ϕ 1 x ) i , j + u i , j 2 ( ϕ 1 y ) i , j + u i , j 3 ( ϕ 1 η ) i , j + u i , j 4 ( ϕ 1 ζ ) i , j )
The spatial first derivatives of ϕ 1 are approximated by a second-order ENO scheme. We update ϕ 1 by solving (68) with a third-order Runge-Kutta scheme.
Step3: Update ϕ 1 to be a signed distance function for one time step.
From Equation (58) and (59), it is clear that the computation of the normal velocity, and normal vector at the front are all dependent upon the level set function ϕ 1 . However, by Equation (58), the level set function will cease to be an exact distance function even after one time step. In order to keep the accuracy of n 1 , and F 1 , we need to avoid having steep or flat gradients developed in ϕ 1 . One way to avoid these numerical difficulties is to reinitialize ϕ 1 to be an exact distance function from the evolving front τ 1 ( t ) at each time step.
In order to reinitialize the level set function, we use the reinitialization scheme of Sussman [37]
ϕ 1 t = S ( ϕ 1 0 ) ( 1 | ϕ 1 | ) ,
where ϕ 1 ( 0 , x , y ) = ϕ 1 0 and S again denotes the sign function. As in [37], the sign function S is smoothed by the equation.
The basic idea behind this method is that given a function ϕ 0 that is not a distance function, one can evolve it into a function ϕ that is an exact signed distance 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 smoothed by the equation
S ε ( ϕ 1 0 ) = ϕ 1 0 ( ϕ 1 0 ) 2 + ε 2
to avoid numerical difficulties while implemented.
By using this approach, we avoid having to explicitly find the contour ϕ 1 0 = 0 and then resetting values of the front ϕ 1 0 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.
Step4: Update U ( t , x , y ) .
After moving ϕ 1 by the correct velocity at the front and then reinitializing ϕ 1 to be an exact signed 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 domain in the following three cases:
  • At points away from the front, which means the nearby four grid points are all inside the domain Ω 1 ( t ) , we solve the nonlinear parabolic partial difference equation (53) by combining the forward Euler method and the five-point stencil scheme.
    For example, we use the scheme (71) to update U ( t , x , y ) at the grid point ( i + 1 , j ) in Figure 6.
    u i + 1 , j n + 1 u i + 1 , j n t D 1 u i , j n + u i + 2 , j n 4 u i + 1 , j n + u i + 1 , j 1 n + u i + 1 , j + 1 n h 2 = γ 1 u i + 1 , j n ( 1 u i + 1 , j n K 1 v i + 1 , j n )
  • For points near the front τ 1 ( t ) , some special care should be taken. We effectively capture the front using the level set function ϕ 1 . We can use the one-sided different sign of ϕ 1 to incorporate the distances between a point on the front and grid points neighboring it in either the vertical or horizontal direction. For example, Y f = ( L 2 + ( i 1 ) h , y f ) τ 1 ( t ) , we consider two grid points ( i , j + 1 ) and ( i , j ) which border Y f . In y-direction, we have y j y f y j + 1 . We introduce
    y f y j = r h = ϕ 1 i j ϕ 1 i , j + 1 ϕ 1 i , j h
    and use u i , j n , u i , j 1 n , u i , j 2 n , r and U ( n t , L 2 + ( i 1 ) h , y f ) = 0 to construct interpolating polynomial P. When updating u i , j n + 1 , we use a standard five-point stencil combing forward Euler method by employing P ( L 2 + j h ) instead of u i , j + 1 n , i.e.,
    u i , j n + 1 u i , j n t D 1 u i 1 , j n + u i , j 1 n 4 u i , j n + P ( L 2 + j h ) + u i + 1 , j n h 2 = γ 1 u i , j n ( 1 u i , j n K 1 v i , j n )
    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.
  • If a grid point lies on the front, we set the value U = 0 at that point (in view of (53)). For example, we set U i 1 , j n + 1 =0 for the grid point ( i 1 , j ) .
Step5. Repeat Step 2 through Step 4 to ϕ 2 and F 2 .
Step6. Repeat Step 2 through Step 6 to update ϕ 1 , ϕ 2 , U and V for the next time step.

4. Numerical Experiments

4.1. Numerical Tests of 1D Problem: Front-Fixing Method and Front-Tracking Method

Convergence test of front-fixing method
In the 1D two-species competition-diffusion model (3)–(9) with parameters values ( D 1 , μ 1 , γ 1 , K 1 , S 1 0 ) = ( 0.4 , 5 , 2 , 1 , 0.4 ) , ( D 2 , μ 2 , γ 2 , K 2 , S 2 0 ) = ( 0.4 , 10 , 1 , 2 , 1 ) , U 0 = 2 c o s ( π x 2 ) , and V 0 = 4 c o s ( π x 2 ) . Here we test the order of convergence in space with very refined temporal step size.
In Table 1 and Table 2 the error (both L 2 and L ) and the convergence to the solution of front-fixing method is examined, with final time t e n d = 0.01 . The error is computed by the difference of the numerical solution with the exact solution. For all the examples below when the exact solution is not given, the solution with a very fine resolution will be considered as reference or “exact" solution. As expected, a second-order convergence in space for both u and v can be observed.
Convergence test of front-tracking method
In the 1D two-species competition-diffusion model (3)–(9) with parameters values ( D 1 , μ 1 , γ 1 , K 1 , S 1 0 ) = ( 0.4 , 5 , 2 , 1 , 0.4 ) , ( D 2 , μ 2 , γ 2 , K 2 , S 2 0 ) = ( 0.4 , 10 , 1 , 2 , 1 ) , L = 1.2 , U 0 = 2 c o s ( π x 2 ) , and V 0 = 4 c o s ( π x 2 ) . Here we test the order of convergence in space with very refined temporal step size.
In Table 3 and Table 4 the error (both L 2 and L ) and the convergence to the solution of front-tracking method is examined, with final time t e n d = 0.01 . The error is computed by the difference of the numerical solution with the exact solution. For all the examples below, when the exact solution is not given, the solution with a fine resolution will be considered as reference or “exact” solution. As expected, a second-order convergence in space for both u and v can be observed.
The Comparison of Front-fixing with Front-tracking for 1D model
In Figure 7 and Figure 8, we use the front-fixing method and front-tracking method to simulate the 1D two-species competition-diffusion model (3)–(9) with parameters values ( D 1 , μ 1 , γ 1 , K 1 , S 1 0 ) = ( 0.4 , 5 , 2 , 1 , 0.4 ) , ( D 2 , μ 2 , γ 2 , K 2 , S 2 0 ) = ( 0.4 , 10 , 1 , 2 , 1 ) , U 0 = 2 c o s ( π x 2 ) , and V 0 = 4 c o s ( π x 2 ) and spatial size h = 0.00125 . It shows that the results of front-tracking method and the results of front-fixing method are consistent with each other.

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 ( D 1 , μ 1 , γ 1 , K 1 ) = ( 4 , 10 , 1 , 0.6 ) , ( D 2 , μ 2 , γ 2 , K 2 ) = ( 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 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 U 0 ( x , y ) , V 0 (x,y) and the initial level set functions ϕ 1 0 ( x , y ) , ϕ 2 0 (x,y) are set as follows
U 0 ( x , y ) = 40 ( 3 2 1 3 + y ) ( 3 x y + 1 3 ) ( 3 x y + 1 3 ) , ( x , y ) Ω 1 ( 0 ) , 0 ( x , y ) Ω 1 c ( 0 ) .
V 0 ( x , y ) = 45 c o s ( x 2 + y 2 π 2 ) , ( x , y ) Ω 2 ( 0 ) , 0 ( x , y ) Ω 2 c ( 0 ) .
ϕ 1 0 ( x , y ) = m i n ( 3 2 1 3 + y , ( 3 x y + 1 3 ) / 2 , ( 3 x y + 1 3 ) / 2 ) , ( x , y ) Ω 1 ( 0 ) , 0 ( x , y ) Ω 1 ( 0 ) , m i n ( | 3 2 1 3 + y | , | 3 x y + 1 3 | / 2 , | 3 x y + 1 3 | / 2 ) , ( x , y ) Ω ¯ 1 c ( 0 ) .
ϕ 2 0 ( x , y ) = ( 1.5 x 2 + y 2 ) .
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 ( D 1 , μ 1 , γ 1 , K 1 ) = ( 4 , 20 , 1 , 0.6 ) , ( D 2 , μ 2 , γ 2 , K 2 ) = ( 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 U 0 ( x , y ) , V 0 (x,y) and the initial level set functions ϕ 1 0 ( x , y ) , ϕ 2 0 (x,y)are set as following
U 0 ( x , y ) = 10 ( 1 x ) ( 1 + x ) ( 1 y ) ( 1 + y ) , ( x , y ) Ω 1 ( 0 ) , 0 ( x , y ) Ω 1 c ( 0 ) .
V 0 ( x , y ) = 50 c o s ( x 2 + y 2 π 4 ) , ( x , y ) Ω 2 ( 0 ) , 0 ( x , y ) Ω 2 c ( 0 ) .
ϕ 1 0 ( x , y ) = m i n ( 1 | x | , 1 | y | ) , ( x , y ) Ω 1 ( 0 ) , 0 ( x , y ) Ω 1 ( 0 ) , m i n ( | 1 | x | | , | 1 | y | | ) ( x , y ) Ω ¯ 1 c ( 0 ) ,
ϕ 2 0 ( x , y ) = ( 2 x 2 + y 2 ) .
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.
Example 3.
In the 2D two-species competition-diffusion model (48)–(56) with parameters values ( D 1 , μ 1 , γ 1 , K 1 ) = ( 1 , 15 , 1 , 0.4 ) , ( D 2 , μ 2 , γ 2 , K 2 ) = ( 2 , 5 , 1 , 0.5 ) , the initial boundary of species U is set to be a circle which centers at ( 0 , 0 ) with radius = 2.5, while the initial boundary of species V is set to be a circle which centers at the origin point ( 0 , 0 ) with radius = 3.2. The initial values U 0 ( x , y ) , V 0 (x,y) and the initial level set functions ϕ 1 0 ( x , y ) , ϕ 2 0 (x,y)are set as follows
U 0 ( x , y ) = 40 c o s ( x 2 + y 2 π 5 ) , ( x , y ) Ω 1 ( 0 ) , 0 ( x , y ) Ω 1 c ( 0 ) .
V 0 ( x , y ) = 20 c o s ( x 2 + y 2 π 6.4 ) , ( x , y ) Ω 2 ( 0 ) , 0 ( x , y ) Ω 2 c ( 0 ) .
ϕ 1 0 ( x , y ) = ( 2.5 x 2 + y 2 ) .
ϕ 2 0 ( x , y ) = ( 3.2 x 2 + y 2 ) .
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.

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.

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. [Google Scholar] [CrossRef]
  2. Guo, J.S.; Wu, C.H. Dynamics for a two-species competition—Diffusion model with two free boundaries. Nonlinearity 2014, 28, 1. [Google Scholar] [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. [Google Scholar] [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. [Google Scholar] [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. [Google Scholar] [CrossRef]
  6. Wang, M.; Zhao, J. Free boundary problems for a Lotka-Volterra competition system. J. Dyn. Differ. Equ. 2014, 26, 655–672. [Google Scholar] [CrossRef]
  7. Hosono, Y. The minimal speed of traveling fronts for a diffusive Lotka-Volterra competition model. Bull. Math. Biol. 1998, 60, 435–448. [Google Scholar] [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. [Google Scholar]
  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. [Google Scholar] [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. [Google Scholar] [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. [Google Scholar] [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. [Google Scholar] [CrossRef] [PubMed]
  13. Du, Y.; Guo, Z. The Stefan problem for the Fisher–KPP equation. J. Differ. Equ. 2012, 253, 996–1035. [Google Scholar] [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. [Google Scholar] [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. [Google Scholar] [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. [Google Scholar] [CrossRef]
  17. Du, Y.; Matano, H.; Wang, K. Regularity and asymptotic behavior of nonlinear Stefan problems. Arch. Ration. Mech. Anal. 2014, 212, 957–1010. [Google Scholar] [CrossRef]
  18. Liu, S.; Du, Y.; Liu, X. Numerical methods for a class of reaction-diffusion equations with free boundaries. 2018; preprint. [Google Scholar]
  19. Osher, S.; Fedkiw, R. Level Set Methods and Dynamic Implicit Surfaces; Springer Verlag: Berlin, Germany, 2002. [Google Scholar]
  20. Osher, S.; Sethian, J. Fronts propagating with curvature-dependent speed: Algorithms based on Hamilton-Jacobi formulations. J. Comput. Phys. 1988, 79, 12–49. [Google Scholar] [CrossRef]
  21. Sethian, J. A fast marching level set method for monotonically advancing fronts. Proc. Natl. Acad. Sci. USA 1996, 93, 1591–1595. [Google Scholar] [CrossRef] [PubMed]
  22. Sethian, J.A. Level Set Methods and Fast Marching Methods; Cambridge University Press: Cambridge, UK, 1999. [Google Scholar]
  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. [Google Scholar] [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. [Google Scholar] [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. [Google Scholar] [CrossRef]
  26. Peskin, C. The immersed boundary method. Acta Numer. 2003, 11, 479–517. [Google Scholar]
  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. [Google Scholar] [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. [Google Scholar] [CrossRef]
  29. Chern, I.; Glimm, J.; McBryan, O.; Plohr, B.; Yaniv, S. Front tracking for gas dynamics. J. Comput. Phys. 1986, 62, 83–110. [Google Scholar] [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. [Google Scholar] [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. [Google Scholar] [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. [Google Scholar] [CrossRef]
  33. LeVeque, R.; Shyue, K. Two-dimensional front tracking based on high resolution wave propagation methods. J. Comput. Phys. 1996, 123, 354–368. [Google Scholar] [CrossRef]
  34. Unverdi, S.; Tryggvason, G. A front-tracking method for viscous, incompressible, multi-fluid flows. J. Comput. Phys. 1992, 100, 25–37. [Google Scholar] [CrossRef]
  35. Crank, J. Free and Moving Boundary Problems; Oxford Science Publications: Oxford, UK, 1984. [Google Scholar]
  36. Landau, H.G. Heat conduction in a melting solid. Q. Appl. Math. 1950, 8, 81–94. [Google Scholar] [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. [Google Scholar] [CrossRef]
Figure 1. case 1: x i S 1 n < x i + 1 .
Figure 1. case 1: x i S 1 n < x i + 1 .
Mathematics 06 00072 g001
Figure 2. case 3: x 1 < S 1 n < x 2 .
Figure 2. case 3: x 1 < S 1 n < x 2 .
Mathematics 06 00072 g002
Figure 3. when G n + 1 H n + 1 1 , W t o M ( t n + 1 , y M ) = W ( t n + 1 , H n + 1 G n + 1 ) .
Figure 3. when G n + 1 H n + 1 1 , W t o M ( t n + 1 , y M ) = W ( t n + 1 , H n + 1 G n + 1 ) .
Mathematics 06 00072 g003
Figure 4. when H n + 1 G n + 1 1 , M t o W ( t n + 1 , Z M ) = M ( t n + 1 , G n + 1 H n + 1 ) .
Figure 4. when H n + 1 G n + 1 1 , M t o W ( t n + 1 , Z M ) = M ( t n + 1 , G n + 1 H n + 1 ) .
Mathematics 06 00072 g004
Figure 5. Four coordinate directions used to compute the normal velocity.
Figure 5. Four coordinate directions used to compute the normal velocity.
Mathematics 06 00072 g005
Figure 6. Illustration of updating U.
Figure 6. Illustration of updating U.
Mathematics 06 00072 g006
Figure 7. u(x,t=0.01) and uH(t):Front-tracking method vs. front-fixing method for 1D model.
Figure 7. u(x,t=0.01) and uH(t):Front-tracking method vs. front-fixing method for 1D model.
Mathematics 06 00072 g007
Figure 8. v(x,t=0.01) and vH(t):Front-tracking method vs. front-fixing method for 1D model.
Figure 8. v(x,t=0.01) and vH(t):Front-tracking method vs. front-fixing method for 1D model.
Mathematics 06 00072 g008
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.
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 06 00072 g009
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.
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 06 00072 g010
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.
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.
Mathematics 06 00072 g011aMathematics 06 00072 g011b
Table 1. Convergence analysis of the value of U and the front of U using the front-fixing method.
Table 1. Convergence analysis of the value of U and the front of U using the front-fixing method.
N x × N t L 2 Error Order L Error Order
Accuracy test of U of front-fixing method
101 × 10 6 1.195× 10 4 2.119× 10 4
201 × 10 6 3.142 × 10 5 1.935.424 × 10 5 1.97
401 × 10 6 8.233 × 10 6 1.931.314 × 10 5 2.05
801 × 10 6 1.956 × 10 6 2.073.983 × 10 6 1.72
1601 × 10 6 Reference
Accuracy test of the front of U of front-fixing method
101 × 10 6 3.178 × 10 6 9.366 × 10 5
201 × 10 6 7.880 × 10 7 2.012.424 × 10 5 1.95
401 × 10 6 1.880 × 10 7 2.075.927 × 10 6 2.03
801 × 10 6 3.800 × 10 8 2.321.202 × 10 6 2.30
1601 × 10 6 Reference
Table 2. Convergence analysis of the value of V and the front of V using the front-fixing method.
Table 2. Convergence analysis of the value of V and the front of V using the front-fixing method.
N x × N t L 2 Error Order L Error Order
Accuracy test of V of front-fixing method
101 × 10 6 1.038 × 10 3 2.115 × 10 3
201 × 10 6 2.776 × 10 4 1.905.609 × 10 4 1.91
401 × 10 6 6.861 × 10 5 2.021.381 × 10 4 2.02
801 × 10 6 1.398 × 10 5 2.302.807 × 10 5 2.30
1601 × 10 6 Reference
Accuracy test of the front of V of front-fixing method
101 × 10 6 2.890 × 10 5 7.595 × 10 4
201 × 10 6 7.700 × 10 6 1.912.123 × 10 4 1.84
401 × 10 6 1.910 × 10 6 2.015.454 × 10 5 1.96
801 × 10 6 3.900 × 10 7 2.291.141 × 10 5 2.26
1601 × 10 6 Reference
Table 3. Convergence analysis of the value of U and the front of U using the front-tracking method.
Table 3. Convergence analysis of the value of U and the front of U using the front-tracking method.
N x × N t L 2 Error Order L Error Order
Accuracy test of U of front-tracking method
61 × 10 5 5.637 × 10 4 1.699 × 10 3
121 × 10 5 1.035 × 10 4 2.453.260 × 10 4 2.38
241 × 10 5 1.850 × 10 5 2.486.019 × 10 5 2.44
481 × 10 5 2.987 × 10 6 2.639.833 × 10 6 2.61
961 × 10 5 Reference
Accuracy test of the front of U of front-tracking method
61 × 10 5 1.222 × 10 4 2.233 × 10 3
121 × 10 5 2.280 × 10 5 2.425.672 × 10 4 1.98
241 × 10 5 4.300 × 10 6 2.391.296 × 10 4 2.13
481 × 10 5 8.000 × 10 7 2.502.494 × 10 5 2.38
961 × 10 5 Reference
Table 4. Convergence analysis of the value of V and the front of V using the front-tracking method.
Table 4. Convergence analysis of the value of V and the front of V using the front-tracking method.
N x × N t L 2 Error Order L Error Order
Accuracy test of V of front-tracking method
61 × 10 5 4.443 × 10 4 1.373 × 10 3
121 × 10 5 7.882 × 10 5 2.492.493 × 10 4 2.46
241 × 10 5 1.396 × 10 5 2.504.254 × 10 5 2.55
481 × 10 5 2.378 × 10 6 2.559.871 × 10 6 2.11
961 × 10 5 Reference
Accuracy test of the front of V of front-tracking method
61 × 10 5 1.385 × 10 4 3.268 × 10 3
121 × 10 5 2.721 × 10 5 2.358.504 × 10 4 1.94
241 × 10 5 6.000 × 10 6 2.191.922 × 10 4 2.15
481 × 10 5 1.200 × 10 6 2.303.788 × 10 5 2.34
961 × 10 5 Reference

Share and Cite

MDPI and ACS Style

Liu, S.; Liu, X. Numerical Methods for a Two-Species Competition-Diffusion Model with Free Boundaries. Mathematics 2018, 6, 72. https://doi.org/10.3390/math6050072

AMA Style

Liu S, Liu X. Numerical Methods for a Two-Species Competition-Diffusion Model with Free Boundaries. Mathematics. 2018; 6(5):72. https://doi.org/10.3390/math6050072

Chicago/Turabian Style

Liu, Shuang, and Xinfeng Liu. 2018. "Numerical Methods for a Two-Species Competition-Diffusion Model with Free Boundaries" Mathematics 6, no. 5: 72. https://doi.org/10.3390/math6050072

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop