# A Domain Decomposition Method for Time Fractional Reaction-Diffusion Equation

Authors: Chunye Gong; Weimin Bao; Guojian Tang; Yuewen Jiang; Jie Liu
Journal: The Scientific World Journal
 (2014)

---

## Abstract

The computational complexity of one-dimensional time fractional reaction-diffusion equation isO
(
N
2
M
) compared with O
(
N
M
) for classical integer reaction-diffusion equation. Parallel computing is used to overcome this challenge. Domain decomposition method (DDM) embodies large potential for parallelization of the numerical solution for fractional equations and serves as a basis for distributed, parallel computations. A domain decomposition algorithm for time fractional reaction-diffusion equation with implicit finite difference method is proposed. The domain decomposition algorithm keeps the same parallelism but needs much fewer iterations, compared with Jacobi iteration in each time step. Numerical experiments are used to verify the efficiency of the obtained algorithm.


---

## Body

## 1. Introduction

Fractional equations can be used to describe some physical phenomenon more accurately than the classical integer order differential equation. The reaction-diffusion equations play an important role in dynamical systems of mathematics, physics, chemistry, bioinformatics, finance, and other research areas. There has been a wide variety of analytical and numerical methods proposed for fractional equations [1–7], for example, finite difference method [8], finite element method [9], Adomian decomposition method [10], and spectral technique [11]. Interest in fractional reaction-diffusion equations has increased [12].Domain decomposition methods (DDM) solve a boundary value problem by splitting it into smaller boundary value problems on subdomains and iterating it to coordinate the solution between adjacent subdomains [13]. A coarse problem with one or few unknowns per subdomain is used to further coordinate the solution between the subdomains globally. The DDM can be divided into two categories: the overlapping and nonoverlapping [14]. Chan and Mathew [15] gave a survey on iterative domain decomposition techniques that had been developed for solving several kinds of partial differential equations, including elliptic, parabolic, and differential systems such as the Stokes problem and mixed formulations of elliptic problems. The problems on the subdomains are almost independent, which makes domain decomposition methods suitable for parallel computing. Parallel computing is used to solve intensive computation applications simultaneously [16], such as particle transport [17, 18] and fast multipole methods [19]. It is time consuming to numerically solve fractional differential equations for long time tail. Parallel computing [20–22] can be used to overcome the computational challenge of fractional approximation. DDM will embody large potential for a parallelization of the numerical solution for fractional equations. Until today the power of DDM for approximating fractional derivatives and solving fractional differential equations has not been recognized.This paper focuses on the Caputo fractional reaction-diffusion equation:(1)
0
C
D
t
α
u
(
x
,
t
)
+
μ
u
(
x
,
t
)
u
(
x
,
0
)
=
∂
2
u
(
x
,
t
)
∂
x
2
+
K
f
(
x
,
t
)
,
(
0
<
α
<
1
)
,
u
(
x
,
0
)
=
g
(
x
)
,
x
∈
[
0
,
x
R
]
,
u
(
0
,
t
)
=
u
(
x
R
,
t
)
=
0
,
t
∈
[
0
,
T
]
on a finite domain 0
≤
x
≤
x
R and 0
≤
t
≤
T. The μ
>
0 and K are constants. If α equals 1, (1) is the classical reaction-diffusion equation. The fractional derivative is in the Caputo form.


## 2. Background

### 2.1. Numerical Solution

The fractional derivative off
(
t
) in the Caputo sense is defined as [23]
(2)
0
C
D
t
α
f
(
t
)
=
1
Γ
(
1
-
α
)
∫
0
t
‍
f
′
(
ξ
)
(
t
-
ξ
)
α
d
ξ
,
(
0
<
α
<
1
)
.Iff
′
(
t
) is continuous bounded derivatives in [
0
,
T
] for every T
>
a, we can get
(3)
0
D
t
α
f
(
t
)
=
lim
⁡
ξ
→
0
,
n
ξ
=
t
ξ
α
∑
i
=
0
n
‍
(
-
1
)
i
(
α
i
)
0
D
t
α
f
(
t
)
=
f
(
0
)
t
-
α
Γ
(
1
-
α
)
+
1
Γ
(
1
-
α
)
∫
0
t
‍
f
′
(
ξ
)
(
t
-
ξ
)
α
d
ξ
.Defineτ
=
T
/
N, h
=
x
R
/
(
M
+
1
), t
n
=
n
τ, and x
i
=
0
+
i
h for 0
≤
n
≤
N, 0
≤
i
≤
M
+
1. Define u
i
n, f
i
n, and g
i as the numerical approximation to u
(
x
i
,
t
n
), f
(
x
i
,
t
n
), and g
(
x
i
). We can get [12]
(4)
0
C
D
t
α
u
(
x
,
t
)
|
x
i
t
n
=
1
τ
Γ
(
1
-
α
)
0
C
D
t
α
u
(
x
,
t
)
|
x
i
t
n
=
×
[
b
0
u
i
n
-
∑
k
=
1
n
-
1
(
b
n
-
k
-
1
-
b
n
-
k
)
u
i
k
-
b
n
-
1
u
i
0
]
0
C
D
t
α
u
(
x
,
t
)
|
x
i
t
n
=
+
◯
(
τ
2
-
α
)
,
where 1
≤
i
≤
M, n
≥
1, and
(5)
b
l
=
τ
1
-
α
1
-
α
[
(
l
+
1
)
1
-
α
-
l
1
-
α
]
,
l
≥
0
.By using center difference scheme for∂
2
u
(
x
,
t
)
/
∂
x
2, we can get
(6)
∂
2
u
(
x
,
t
)
∂
x
2
|
x
i
t
n
=
1
h
2
(
u
i
+
1
n
-
2
u
i
n
+
u
i
-
1
n
)
+
◯
(
h
2
)
.The implicit finite difference approximation for (1) is
(7)
1
τ
Γ
(
1
-
α
)
[
b
0
u
i
n
-
∑
k
=
1
n
-
1
‍
(
b
n
-
k
-
1
-
b
n
-
k
)
u
i
k
-
b
n
-
1
u
i
0
]
+
μ
u
i
n
=
u
i
+
1
n
-
2
u
i
n
+
u
i
-
1
n
h
2
+
K
f
i
n
.Defines
=
2
/
h
2
+
b
0
τ
-
1
/
Γ
(
1
-
α
)
+
μ, U
n
=
(
u
1
n
,
u
2
n
,
…
,
u
M
n
)
T, F
n
=
(
f
1
n
,
f
2
n
,
…
,
f
M
n
)
T, and r
l as
(8)
r
l
=
b
l
-
b
l
+
1
s
.Equation (7) evolves as
(9)
A
U
n
=
∑
k
=
1
n
-
1
‍
r
n
-
1
-
k
U
k
+
b
n
-
1
U
0
+
K
F
n
,
where matrix A is a tridiagonal matrix, defined by
(10)
A
M
×
M
=
(
s
-
1
h
2
-
1
h
2
s
-
1
h
2
·
·
·
·
·
-
1
h
2
-
1
h
2
s
)Becauseμ
>
0, b
0
>
0, the elements of matrix A satisfy |
s
|
>
|
-
1
/
h
2
|
+
|
-
1
/
h
2
|. This means that matrix A is strictly diagonally dominant.


### 2.2. Computational Challenge

In order to getU
n, the right-sided computation of (9) should be performed and tridiagonal linear system should be solved. There are mainly many constant vector multiplications and many vector vector additions in the right-sided computation.(1)
The constant vector multiplications areV
′
=
b
n
-
1
U
0, V
k
=
r
n
-
1
-
k
U
k, and V
′′
=
K
F
n.
(2)
The vector vector additions areV
=
V
′
+
∑
k
=
1
n
-
1
V
k
+
V
′′.
(3)
After solving tridiagonal linear systemA
U
n
+
1
=
V, we get U
n
+
1.The Thomas algorithm for tridiagonal systems needs5
M multiplications and 3
M additions. The computational complexity of A
U
n
=
V is O
(
M
). The total computation of (9) is determined by ∑
k
=
1
n
-
1
r
n
-
1
-
k
U
k, which means (
n
-
1
)
M multiplications and (
n
-
2
)
M additions for each time step;
(11)
∑
n
=
1
N
‍
(
2
n
M
-
3
M
)
=
O
(
N
2
M
)
.
The computational complexity of (1) is O
(
N
2
M
), while the computational complexity of classical one-dimensional reaction-diffusion equation is only O
(
N
M
). The computational cost of (11) varies linearly along the number of grid points but squares with the number of time steps.


## 2.1. Numerical Solution

The fractional derivative off
(
t
) in the Caputo sense is defined as [23]
(2)
0
C
D
t
α
f
(
t
)
=
1
Γ
(
1
-
α
)
∫
0
t
‍
f
′
(
ξ
)
(
t
-
ξ
)
α
d
ξ
,
(
0
<
α
<
1
)
.Iff
′
(
t
) is continuous bounded derivatives in [
0
,
T
] for every T
>
a, we can get
(3)
0
D
t
α
f
(
t
)
=
lim
⁡
ξ
→
0
,
n
ξ
=
t
ξ
α
∑
i
=
0
n
‍
(
-
1
)
i
(
α
i
)
0
D
t
α
f
(
t
)
=
f
(
0
)
t
-
α
Γ
(
1
-
α
)
+
1
Γ
(
1
-
α
)
∫
0
t
‍
f
′
(
ξ
)
(
t
-
ξ
)
α
d
ξ
.Defineτ
=
T
/
N, h
=
x
R
/
(
M
+
1
), t
n
=
n
τ, and x
i
=
0
+
i
h for 0
≤
n
≤
N, 0
≤
i
≤
M
+
1. Define u
i
n, f
i
n, and g
i as the numerical approximation to u
(
x
i
,
t
n
), f
(
x
i
,
t
n
), and g
(
x
i
). We can get [12]
(4)
0
C
D
t
α
u
(
x
,
t
)
|
x
i
t
n
=
1
τ
Γ
(
1
-
α
)
0
C
D
t
α
u
(
x
,
t
)
|
x
i
t
n
=
×
[
b
0
u
i
n
-
∑
k
=
1
n
-
1
(
b
n
-
k
-
1
-
b
n
-
k
)
u
i
k
-
b
n
-
1
u
i
0
]
0
C
D
t
α
u
(
x
,
t
)
|
x
i
t
n
=
+
◯
(
τ
2
-
α
)
,
where 1
≤
i
≤
M, n
≥
1, and
(5)
b
l
=
τ
1
-
α
1
-
α
[
(
l
+
1
)
1
-
α
-
l
1
-
α
]
,
l
≥
0
.By using center difference scheme for∂
2
u
(
x
,
t
)
/
∂
x
2, we can get
(6)
∂
2
u
(
x
,
t
)
∂
x
2
|
x
i
t
n
=
1
h
2
(
u
i
+
1
n
-
2
u
i
n
+
u
i
-
1
n
)
+
◯
(
h
2
)
.The implicit finite difference approximation for (1) is
(7)
1
τ
Γ
(
1
-
α
)
[
b
0
u
i
n
-
∑
k
=
1
n
-
1
‍
(
b
n
-
k
-
1
-
b
n
-
k
)
u
i
k
-
b
n
-
1
u
i
0
]
+
μ
u
i
n
=
u
i
+
1
n
-
2
u
i
n
+
u
i
-
1
n
h
2
+
K
f
i
n
.Defines
=
2
/
h
2
+
b
0
τ
-
1
/
Γ
(
1
-
α
)
+
μ, U
n
=
(
u
1
n
,
u
2
n
,
…
,
u
M
n
)
T, F
n
=
(
f
1
n
,
f
2
n
,
…
,
f
M
n
)
T, and r
l as
(8)
r
l
=
b
l
-
b
l
+
1
s
.Equation (7) evolves as
(9)
A
U
n
=
∑
k
=
1
n
-
1
‍
r
n
-
1
-
k
U
k
+
b
n
-
1
U
0
+
K
F
n
,
where matrix A is a tridiagonal matrix, defined by
(10)
A
M
×
M
=
(
s
-
1
h
2
-
1
h
2
s
-
1
h
2
·
·
·
·
·
-
1
h
2
-
1
h
2
s
)Becauseμ
>
0, b
0
>
0, the elements of matrix A satisfy |
s
|
>
|
-
1
/
h
2
|
+
|
-
1
/
h
2
|. This means that matrix A is strictly diagonally dominant.


## 2.2. Computational Challenge

In order to getU
n, the right-sided computation of (9) should be performed and tridiagonal linear system should be solved. There are mainly many constant vector multiplications and many vector vector additions in the right-sided computation.(1)
The constant vector multiplications areV
′
=
b
n
-
1
U
0, V
k
=
r
n
-
1
-
k
U
k, and V
′′
=
K
F
n.
(2)
The vector vector additions areV
=
V
′
+
∑
k
=
1
n
-
1
V
k
+
V
′′.
(3)
After solving tridiagonal linear systemA
U
n
+
1
=
V, we get U
n
+
1.The Thomas algorithm for tridiagonal systems needs5
M multiplications and 3
M additions. The computational complexity of A
U
n
=
V is O
(
M
). The total computation of (9) is determined by ∑
k
=
1
n
-
1
r
n
-
1
-
k
U
k, which means (
n
-
1
)
M multiplications and (
n
-
2
)
M additions for each time step;
(11)
∑
n
=
1
N
‍
(
2
n
M
-
3
M
)
=
O
(
N
2
M
)
.
The computational complexity of (1) is O
(
N
2
M
), while the computational complexity of classical one-dimensional reaction-diffusion equation is only O
(
N
M
). The computational cost of (11) varies linearly along the number of grid points but squares with the number of time steps.


## 3. Domain Decomposition Method

### 3.1. DDM with Two Subdomains

Similar to the classical alternating Schwarz method [13, 24], the domain Ω
=
[
0
,
x
R
]
=
p
0
,
p
1
,
…
,
p
M can be divided into two subdomains Ω
a and Ω
b. There are M
+
1 grid points for Ω. Ω
a
=
{
p
0
,
p
1
,
…
,
p
m
,
p
m
+
1
} and Ω
b
=
{
p
m
,
p
m
+
1
,
…
,
p
M
}, where 0
<
m
<
M. The global physical boundary is defined in (1). ∂
Ω
a (the right boundary of Ω
a) and ∂
Ω
b (the left boundary of Ω
b) are called artificial internal boundary.In order to approximate the time fractional equation on the two subdomains separately, the following iterative procedure can be performed. For each time step, the right hand side of (9) is calculated at first and the U
Ω
i
n is given as initial guess U
Ω
i
n
-
1, where i
=
a
,
b. The better approximation of U
Ω
i
n can be obtained iteratively. During each iteration, which is inside of a time step, the time fractional equation is solved in the subdomain Ω
a, using the approximation of the previous iteration from Ω
b on ∂
Ω
a as follows:
(12)
0
C
D
t
α
u
(
x
,
t
)
+
μ
u
(
x
,
t
)
u
(
x
,
0
)
=
∂
2
u
(
x
,
t
)
∂
x
2
+
K
f
(
x
,
t
)
,
(
0
<
α
<
1
)
,
u
(
x
,
0
)
=
g
(
x
)
,
x
∈
[
0
,
x
R
]
,
u
(
x
,
0
)
=
u
b
,
m
+
1
,
previous
n
,
x
on
⁡
∂
Ω
a
,
u
(
0
,
t
n
)
=
0
,
where u
b
,
m
+
1
,
previous
n stands for the previous solution of grid point p
m
+
1 in subdomain Ω
b. The better approximation U
a
,
new
n is obtained. U
a
,
new
n is defined as {
u
a
,
1
,
new
n
,
…
,
u
a
,
m
,
new
n
}. U
a
,
previous
n is defined as {
u
a
,
1
,
previous
n
,
…
,
u
a
,
m
,
previous
n
}. The definitions for U
b
,
previous
n and U
a
,
new
n are similar.Then, we solve the time fractional equation within the subdomain ofΩ
b, using the approximation of the previous iteration from Ω
a on ∂
Ω
b as follows:
(13)
0
C
D
t
α
u
(
x
,
t
)
+
μ
u
(
x
,
t
)
u
(
x
R
,
t
n
)
=
∂
2
u
(
x
,
t
)
∂
x
2
+
K
f
(
x
,
t
)
,
(
0
<
α
<
1
)
,
u
(
x
,
0
)
=
g
(
x
)
,
x
=
x
R
u
(
x
,
0
)
=
u
a
,
m
,
previous
n
,
x
on
⁡
∂
Ω
b
u
(
x
R
,
t
n
)
=
0
,
where u
a
,
m
,
previous
n stands for the previous solution of grid point p
m in subdomain Ω
a.The two local time fractional equations inΩ
a and Ω
b are connected by the artificial boundary condition. The artificial boundary condition on the internal boundary ∂
Ω
a of subdomain Ω
a is provided by u
b
,
m
+
1
,
previous
n from subdomain Ω
b, and vice versa. The approximation u
a
,
m
,
previous
n and u
b
,
m
+
1
,
previous
n may change until converged to the true solution. So, in an inner iteration of each time step, the two time fractional equations need to exchange two sets of data (send one and receive one) to update the artificial boundary conditions.


### 3.2. A Domain Decomposition Algorithm

Section3.1 shows the procedure of DDM for time fractional equation with two subdomains. It is not hard to extend the method of Section 3.1 to more than two subdomains. The domain Ω can be decomposed into a set of P subdomains {
Ω
p
}
p
=
1
P with Ω
=
∪
p
=
1
P
Ω
p. For time step n, Ω
1 has one global boundary x
=
0 and one artificial inner boundary ∂
Ω
1
,
b. Ω
P has one global boundary x
=
x
R and one artificial inner boundary ∂
Ω
P
,
a. The Ω
p (1
<
p
<
P) has two artificial inner boundaries ∂
Ω
P
,
a and ∂
Ω
p
,
b. Ω
p
∩
Ω
p
+
1
≠
Φ means that the neighboring subdomains have explicit overlap.The iterative procedure for the time stepn
+
1 is similar to Section 3.1. The current iteration of Ω
p uses the data of previous iteration of its neighboring subdomains. Assuming M is divisible with P, the domain decomposition algorithm is shown in Algorithm 1.Algorithm 1:Domain decomposition algorithm for time fractional reaction-diffusion equation.
(1) [h!]   input: M
,
P
,
x
R
,
T
,
μ
,
K
,
ϵ et al.
Output: U
(2)I
←
M
/
P
(3) Allocate memory spaceU
I
,
P
N
,
A
I
,
3
,
P
,
F
I
,
P
N
,
V
I
,
P
3 et al.
(4) Init matricesU
,
A
,
F
,
b
,
r et al.
(5) Declare local variablesδ
P
,
δ
(6)V
1
→
I
,
1
→
P
1
→
3
←
0
(7) GetU
1
→
I
,
1
→
P
0 with initial boundary.
(8)t
o
t
a
l
I
t
e
r
a
t
i
o
n
←
0
(9)for   n
=
0  to  N
-
1
step by 1 do
(10)for p
=
1  to  P
step by 1 do
(11)
U
1
→
I
,
p
n
+
1
←
b
n
U
1
→
I
,
p
0
+
K
F
1
→
I
,
p
n
+
1
(12)
for   k
=
1  to  n
step by 1 do
(13)U
1
→
I
,
p
n
+
1
←
U
1
→
I
,
p
n
+
U
1
→
I
,
p
k
r
n
-
k
(14)
δ
←
1.0
(15)
l
o
c
a
l
I
t
e
r
a
t
i
o
n
←
0
(16)
while δ
>
ϵ do
(17)for p
=
1  to  P
step by 1 do
(18)
V
1
→
I
,
p
2
←
U
1
→
I
,
p
n
+
1
(19)
if p
>
1 then
(20) V
1
,
p
2
←
V
1
,
p
2
+
V
I
,
p
-
1
1
/
h
2
(21)
if p
<
P then
(22) V
I
,
p
2
←
V
I
,
p
2
+
V
I
,
p
+
1
1
/
h
2
(23)for  p
=
1  to  P
step by 1 do
(24)        solveA
1
→
I
,
3
,
p
V
1
→
I
,
p
3
=
V
1
→
I
,
p
2
(25)δ
p
=
max
⁡
{
|
V
i
,
p
1
-
V
i
,
p
3
|
i
=
1
I
}
(26)δ
=
max
⁡
{
δ
,
δ
p
}
(27)l
o
c
a
l
I
t
e
r
a
t
i
o
n
←
l
o
c
a
l
I
t
e
r
a
t
i
o
n
+
1
(28)
t
o
t
a
l
I
t
e
r
a
t
i
o
n
←
t
o
t
a
l
I
t
e
r
a
t
i
o
n
+
c
o
u
n
t
(29)
for p
=
1  to P
step by 1 do
(30)U
1
→
I
,
p
n
+
1
←
V
1
→
I
,
p
3
(31) Output the information
(32) Free memory spaceIn Algorithm1, there are some fast algorithms to solve the tridiagonal matrix A
1
→
I
,
3
,
p
V
1
→
I
,
p
3
=
V
1
→
I
,
p
2, such as Thomas algorithm. ϵ is a threshold, such as 1
0
-
6. The signal l
o
c
a
l
I
t
e
r
a
t
i
o
n is used to count how many iterations are needed in each time step. The data exchange between neighboring iterations is shown in lines 19–22. From the view of computer science, lines 2–6, lines 7–30, and lines 31-32 are preprocessing procedure, numerical solver, and postprocessing procedure.


### 3.3. Analysis

The presented DD algorithm updates the artificial boundary condition in a Jacobi fashion, using approximation from all the relevant neighboring subdomains from the previous iteration for each time step. A subdomain only exchanges two sets of data for one artificial boundary with its neighbor. Therefore, the subdomain solved in Algorithm1 can be carried out almost completely independently, thus making the method inherently as parallel as the Jacobi iteration. The DD algorithm keeps the good parallelism of Jacobi iteration but needs fewer inner iterations in each time step; see Section 4. Equation (9) can be regarded as approximation of a special integer order reaction-diffusion equation. The stability and convergence analysis of integer order reaction-diffusion equation can refer to Mathew’s book [25].


## 3.1. DDM with Two Subdomains

Similar to the classical alternating Schwarz method [13, 24], the domain Ω
=
[
0
,
x
R
]
=
p
0
,
p
1
,
…
,
p
M can be divided into two subdomains Ω
a and Ω
b. There are M
+
1 grid points for Ω. Ω
a
=
{
p
0
,
p
1
,
…
,
p
m
,
p
m
+
1
} and Ω
b
=
{
p
m
,
p
m
+
1
,
…
,
p
M
}, where 0
<
m
<
M. The global physical boundary is defined in (1). ∂
Ω
a (the right boundary of Ω
a) and ∂
Ω
b (the left boundary of Ω
b) are called artificial internal boundary.In order to approximate the time fractional equation on the two subdomains separately, the following iterative procedure can be performed. For each time step, the right hand side of (9) is calculated at first and the U
Ω
i
n is given as initial guess U
Ω
i
n
-
1, where i
=
a
,
b. The better approximation of U
Ω
i
n can be obtained iteratively. During each iteration, which is inside of a time step, the time fractional equation is solved in the subdomain Ω
a, using the approximation of the previous iteration from Ω
b on ∂
Ω
a as follows:
(12)
0
C
D
t
α
u
(
x
,
t
)
+
μ
u
(
x
,
t
)
u
(
x
,
0
)
=
∂
2
u
(
x
,
t
)
∂
x
2
+
K
f
(
x
,
t
)
,
(
0
<
α
<
1
)
,
u
(
x
,
0
)
=
g
(
x
)
,
x
∈
[
0
,
x
R
]
,
u
(
x
,
0
)
=
u
b
,
m
+
1
,
previous
n
,
x
on
⁡
∂
Ω
a
,
u
(
0
,
t
n
)
=
0
,
where u
b
,
m
+
1
,
previous
n stands for the previous solution of grid point p
m
+
1 in subdomain Ω
b. The better approximation U
a
,
new
n is obtained. U
a
,
new
n is defined as {
u
a
,
1
,
new
n
,
…
,
u
a
,
m
,
new
n
}. U
a
,
previous
n is defined as {
u
a
,
1
,
previous
n
,
…
,
u
a
,
m
,
previous
n
}. The definitions for U
b
,
previous
n and U
a
,
new
n are similar.Then, we solve the time fractional equation within the subdomain ofΩ
b, using the approximation of the previous iteration from Ω
a on ∂
Ω
b as follows:
(13)
0
C
D
t
α
u
(
x
,
t
)
+
μ
u
(
x
,
t
)
u
(
x
R
,
t
n
)
=
∂
2
u
(
x
,
t
)
∂
x
2
+
K
f
(
x
,
t
)
,
(
0
<
α
<
1
)
,
u
(
x
,
0
)
=
g
(
x
)
,
x
=
x
R
u
(
x
,
0
)
=
u
a
,
m
,
previous
n
,
x
on
⁡
∂
Ω
b
u
(
x
R
,
t
n
)
=
0
,
where u
a
,
m
,
previous
n stands for the previous solution of grid point p
m in subdomain Ω
a.The two local time fractional equations inΩ
a and Ω
b are connected by the artificial boundary condition. The artificial boundary condition on the internal boundary ∂
Ω
a of subdomain Ω
a is provided by u
b
,
m
+
1
,
previous
n from subdomain Ω
b, and vice versa. The approximation u
a
,
m
,
previous
n and u
b
,
m
+
1
,
previous
n may change until converged to the true solution. So, in an inner iteration of each time step, the two time fractional equations need to exchange two sets of data (send one and receive one) to update the artificial boundary conditions.


## 3.2. A Domain Decomposition Algorithm

Section3.1 shows the procedure of DDM for time fractional equation with two subdomains. It is not hard to extend the method of Section 3.1 to more than two subdomains. The domain Ω can be decomposed into a set of P subdomains {
Ω
p
}
p
=
1
P with Ω
=
∪
p
=
1
P
Ω
p. For time step n, Ω
1 has one global boundary x
=
0 and one artificial inner boundary ∂
Ω
1
,
b. Ω
P has one global boundary x
=
x
R and one artificial inner boundary ∂
Ω
P
,
a. The Ω
p (1
<
p
<
P) has two artificial inner boundaries ∂
Ω
P
,
a and ∂
Ω
p
,
b. Ω
p
∩
Ω
p
+
1
≠
Φ means that the neighboring subdomains have explicit overlap.The iterative procedure for the time stepn
+
1 is similar to Section 3.1. The current iteration of Ω
p uses the data of previous iteration of its neighboring subdomains. Assuming M is divisible with P, the domain decomposition algorithm is shown in Algorithm 1.Algorithm 1:Domain decomposition algorithm for time fractional reaction-diffusion equation.
(1) [h!]   input: M
,
P
,
x
R
,
T
,
μ
,
K
,
ϵ et al.
Output: U
(2)I
←
M
/
P
(3) Allocate memory spaceU
I
,
P
N
,
A
I
,
3
,
P
,
F
I
,
P
N
,
V
I
,
P
3 et al.
(4) Init matricesU
,
A
,
F
,
b
,
r et al.
(5) Declare local variablesδ
P
,
δ
(6)V
1
→
I
,
1
→
P
1
→
3
←
0
(7) GetU
1
→
I
,
1
→
P
0 with initial boundary.
(8)t
o
t
a
l
I
t
e
r
a
t
i
o
n
←
0
(9)for   n
=
0  to  N
-
1
step by 1 do
(10)for p
=
1  to  P
step by 1 do
(11)
U
1
→
I
,
p
n
+
1
←
b
n
U
1
→
I
,
p
0
+
K
F
1
→
I
,
p
n
+
1
(12)
for   k
=
1  to  n
step by 1 do
(13)U
1
→
I
,
p
n
+
1
←
U
1
→
I
,
p
n
+
U
1
→
I
,
p
k
r
n
-
k
(14)
δ
←
1.0
(15)
l
o
c
a
l
I
t
e
r
a
t
i
o
n
←
0
(16)
while δ
>
ϵ do
(17)for p
=
1  to  P
step by 1 do
(18)
V
1
→
I
,
p
2
←
U
1
→
I
,
p
n
+
1
(19)
if p
>
1 then
(20) V
1
,
p
2
←
V
1
,
p
2
+
V
I
,
p
-
1
1
/
h
2
(21)
if p
<
P then
(22) V
I
,
p
2
←
V
I
,
p
2
+
V
I
,
p
+
1
1
/
h
2
(23)for  p
=
1  to  P
step by 1 do
(24)        solveA
1
→
I
,
3
,
p
V
1
→
I
,
p
3
=
V
1
→
I
,
p
2
(25)δ
p
=
max
⁡
{
|
V
i
,
p
1
-
V
i
,
p
3
|
i
=
1
I
}
(26)δ
=
max
⁡
{
δ
,
δ
p
}
(27)l
o
c
a
l
I
t
e
r
a
t
i
o
n
←
l
o
c
a
l
I
t
e
r
a
t
i
o
n
+
1
(28)
t
o
t
a
l
I
t
e
r
a
t
i
o
n
←
t
o
t
a
l
I
t
e
r
a
t
i
o
n
+
c
o
u
n
t
(29)
for p
=
1  to P
step by 1 do
(30)U
1
→
I
,
p
n
+
1
←
V
1
→
I
,
p
3
(31) Output the information
(32) Free memory spaceIn Algorithm1, there are some fast algorithms to solve the tridiagonal matrix A
1
→
I
,
3
,
p
V
1
→
I
,
p
3
=
V
1
→
I
,
p
2, such as Thomas algorithm. ϵ is a threshold, such as 1
0
-
6. The signal l
o
c
a
l
I
t
e
r
a
t
i
o
n is used to count how many iterations are needed in each time step. The data exchange between neighboring iterations is shown in lines 19–22. From the view of computer science, lines 2–6, lines 7–30, and lines 31-32 are preprocessing procedure, numerical solver, and postprocessing procedure.


## 3.3. Analysis

The presented DD algorithm updates the artificial boundary condition in a Jacobi fashion, using approximation from all the relevant neighboring subdomains from the previous iteration for each time step. A subdomain only exchanges two sets of data for one artificial boundary with its neighbor. Therefore, the subdomain solved in Algorithm1 can be carried out almost completely independently, thus making the method inherently as parallel as the Jacobi iteration. The DD algorithm keeps the good parallelism of Jacobi iteration but needs fewer inner iterations in each time step; see Section 4. Equation (9) can be regarded as approximation of a special integer order reaction-diffusion equation. The stability and convergence analysis of integer order reaction-diffusion equation can refer to Mathew’s book [25].


## 4. Numerical Example

The following Caputo fractional reaction-diffusion equation [12] was considered, as shown in (14):
(14)
0
C
D
t
α
u
(
x
,
t
)
+
μ
u
(
x
,
t
)
u
(
x
,
0
)
=
∂
2
u
(
x
,
t
)
∂
x
2
+
K
f
(
x
,
t
)
,
(
0
<
α
<
1
)
,
u
(
x
,
0
)
=
0
,
x
∈
(
0,2
)
,
u
(
0
,
t
)
=
u
(
2
,
t
)
=
0
with μ
=
1, K
=
1, and
(15)
f
(
x
,
t
)
=
2
Γ
(
2.3
)
x
(
2
-
x
)
t
1.3
+
x
(
2
-
x
)
t
2
+
2
t
2
.The exact solution of (14) is
(16)
u
(
x
,
t
)
=
x
(
2
-
x
)
t
2
.Withϵ
=
1
0
-
6, T
=
1.0, x
R
=
2.0, and P
=
3, the comparison between exact solution and the presented DD algorithm is shown in Table 1. We can find that the DD algorithm compares well with the exact solution.Table 1
Comparing exact solution and DD algorithm.
h
τ
Δ
2/10
1/10
8.36
×
1
0
-
3
2/10
1/20
3.44
×
1
0
-
3
2/61
1/61
7.84
×
1
0
-
4
2/61
1/100
4.02
×
1
0
-
4
2/100
1/300
6.10
×
1
0
-
5We can replace the DDM (lines 16–27 of Algorithm1) with Jacobi method. The Jacobi method for a time step has the same parallelism with the DD algorithm. But the Jacobi method needs more iterations. With ϵ
=
1
0
-
6 and P
=
3, the comparison between Jacobi method and the presented DD algorithm is shown in Table 2. The sum of “count” (total iterations) for all time steps is recorded. We can see that the DDM needs much less iterations than Jacobi method.Table 2
Comparing Jacobi method and DDM.
h
τ
Jacobi method
DDM
2/10
1/10
741
250
2/10
1/20
1147
378
2/61
1/61
52423
3155
2/61
1/100
67164
4138
2/100
1/300
276243
11373As a part of the future work, we would like to implement an efficient DDM for time fractional equations on parallel computer systems, for example, Tianhe-1A supercomputer [26].



---

*Source: 681707-2014-03-19.xml*