Next Article in Journal
An Investigation on Fractal Characteristics of the Superposition of Fractal Surfaces
Next Article in Special Issue
Modeling Long-Distance Forward and Backward Diffusion Processes in Tracer Transport Using the Fractional Laplacian on Bounded Domains
Previous Article in Journal
Existence of Solutions for Coupled System of Sequential Liouville–Caputo-Type Fractional Integrodifferential Equations
Previous Article in Special Issue
Hermite Finite Element Method for Time Fractional Order Damping Beam Vibration Problem
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Parallel Algorithm for Solving the Inverse Two-Dimensional Fractional Diffusion Problem of Identifying the Source Term

by
Elena N. Akimova
1,2,
Murat A. Sultanov
3,*,
Vladimir E. Misilov
1,4 and
Yerkebulan Nurlanuly
3
1
Ural Branch of RAS, Krasovskii Institute of Mathematics and Mechanics, S. Kovalevskaya Street 16, Ekaterinburg 620108, Russia
2
Department of Information Technologies and Control Systems, Institute of Radioelectronics and Information Technology, Ural Federal University, Mira Street 19, Ekaterinburg 620002, Russia
3
Department of Mathematics, Faculty of Natural Science, Khoja Akhmet Yassawi International Kazakh-Turkish University, Turkistan 160200, Kazakhstan
4
Department of High Performance Computing Technologies, Institute of Natural Sciences and Mathematics, Ural Federal University, Mira Street 19, Ekaterinburg 620002, Russia
*
Author to whom correspondence should be addressed.
Fractal Fract. 2023, 7(11), 801; https://doi.org/10.3390/fractalfract7110801
Submission received: 11 August 2023 / Revised: 14 October 2023 / Accepted: 30 October 2023 / Published: 2 November 2023

Abstract

:
This paper is devoted to the development of a parallel algorithm for solving the inverse problem of identifying the space-dependent source term in the two-dimensional fractional diffusion equation. For solving the inverse problem, the regularized iterative conjugate gradient method is used. At each iteration of the method, we need to solve the auxilliary direct initial-boundary value problem. By using the finite difference scheme, this problem is reduced to solving a large system of a linear algebraic equation with a block-tridiagonal matrix at each time step. Solving the system takes almost the entire computation time. To solve this system, we construct and implement the direct parallel matrix sweep algorithm. We establish stability and correctness for this algorithm. The parallel implementations are developed for the multicore CPU using the OpenMP technology. The numerical experiments are performed to study the performance of parallel implementations.

1. Introduction

Numerous physical phenomena exhibit the characteristics of memory retention and nonlocal effects [1]. The formulation of mathematical frameworks to describe these phenomena often involves the utilization of fractional calculus [2]. Various fractional derivative operators possess distinct definitions and inherent properties. The fractional differential equation may be applied to a wide range of fields such as anomalous diffusion [3,4,5], viscoelasticity [6], ferroelectric media [7], fractional multi-pole and neuron modelling [8], and fractional Lèvy motion [9]. The review paper [10] presents a comprehensive survey on real-world applications of fractional calculus in various fields, namely, physics; control, signal and image processing; mechanics and dynamic systems; biology; environmental science; material studies; economics; and engineering.
The solution to direct and inverse problems for differential equations with fractional derivatives typically incurs substantial computational costs due to their nonlocal characteristics. Different numerical techniques are available for solving approximate initial-boundary problems for fractional differential equations [11,12,13,14], for example, the finite difference method. An established approach to enhance computational efficiency involves the utilization of parallel computing [15,16,17]. The problems for fractional differential equations may be solved using various original parallel algorithms [18,19].
Additionally, while forward problems are usually well developed, the inverse problems may present significant challenges to achieve the stable solutions [20]. Here, by direct problems, we mean the classical initial boundary problem of finding the unknown function from equation and additional boundary and initial conditions. Inverse problems include identifying unknown coefficients of an equation or unknown boundary or initial conditions [21]. In this case, a priori information is used to ensure the uniqueness of the solution. Such tasks are often incorrect. Regularization methods are used to achieve correctness. Hence, the development and implementation of parallel algorithms aimed at solving inverse problems emerging from fractional differential equations is of great importance.
In [22], an algorithm for solving the inverse problem of identifying the space-dependent source is constructed on the base of regularized Landweber iterative method. An iterative algorithm on the basis of the conjugate gradient method is constructed in [23]. For smoothing the values, the authors used the Savitzky–Golay filter.
In [24], existence, uniqueness, and stability estimates are established for the inverse source problem of the recovery of a space-dependent source term for a generalized subdiffusion equation. The Tikhonov regularization method was proposed for solving the problem of reconstruction of a time-dependent source term in a time-fractional diffusion-wave equation [25]. Convergence estimates and parameted choice rules for Tikhonov regularization for the inverse source problem for a time fractional diffusion equation were proposed in [26].
In our previous works [27,28] parallel algorithms for solving direct and inverse problems for one-dimensional time-fractional diffusion equation are constructed on the basis of the parallel sweep method for solving the systems of linear algebraic equations with tridiagonal matrices.
The goal of our work is to construct and implement an efficient algorithm for solving the inverse problem of identifying the stationary source term for the two-dimensional time-fractional diffusion equation. To solve the inverse problem, we apply the regularized iterative conjugate gradient method. It requires solving the auxilliary direct subproblem at each iteration. By using the finite difference scheme, we reduce the direct problem to solving a series of systems of linear algebraic equations (SLAE) with block tridiagonal matrices. Note that solving these SLAEs for the two-dimensional fractional diffusion problem takes most of the computation time (up to 99% of the total computational time). We construct and establish the stability and correctness of the direct parallel matrix sweep method for solving such systems. We have developed a parallel algorithm and a parallel code for solving the inverse problem. The code is intended for multicore processors and is implemented using C++17 and OpenMP 4.0 extension. In order to evaluate the validity of developed numerical methods and the performance of parallel algorithms, numerical experiments are conducted. In the future, we plan to use our algorithm and code for solving applied problems.
Below is a breakdown of the article’s structure. In Section 2, we formulate the direct and inverse problems and introduce the discretization and difference scheme for solving the direct initial-boundary value problem. We demonstrate the block-tridiagonal structure of the coefficient matrix of the SLAE. In Section 3, we describe the direct methods for solving SLAEs with the block-tridiagonal matrix. We establish the stability and correctness of the parallel matrix sweep algorithm. In Section 4, we describe the conjugate gradient algorithm for solving the inverse problem. Section 5 describes the development of the parallel code that implements the numerical algorithms described above. Section 6 presents the results of the performed numerical experiments. In Section 7, we discuss these results. Section 8 concludes our work.

2. Problem

2.1. Statement of the Problem

Consider the basis time-fractional elliptic partial differential equation in the following form:
α U t α + L U = ψ ( x ) η ( x , t ) , x Ω , 0 < t T .
Here, x = ( x 1 , x 2 , , x d ) Ω ¯ = i = 1 d [ 0 , γ i ] , 0 < α < 1 , q ( x , t ) 0 and L is an elliptic operator
L U = i = 1 d x i k i ( x , t ) U x i , x i ( 0 , γ i ) , 0 < t T .
The boundary condition is
U ( x , t ) = 0 , x δ Ω .
The initial condition is
U ( x , 0 ) = g 0 ( x ) , x Ω .
where g 0 ( x ) is the given functions.
For simplicity, we have formulated our fractional diffusion equation with homogeneous Dirichlet boundary conditions. Note that the problem with inhomogeneous boundary conditions may be reduced to a problem with homogeneous conditions. To do this, we need to represent function U as the sum of a some function U 0 that satisfies the inhomogeneous boundary conditions (for example, found by solving the Dirichlet problem for the Laplace’s equation) plus a remainder function V that will satisfy the homogeneous conditions U ( x , t ) = U 0 ( x , t ) + V ( x , t ) . The algorithms and approaches presented below may be utilized for more general formulations with the Neumann or mixed boundary conditions.
For this study, we consider the Caputo fractional derivative with order α in the form [29]
D α f ( x ) = 1 Γ ( m α ) 0 x f ( m ) ( t ) ( x t ) α m + 1 d t ,
with α ( m 1 , m ) , m N , x > 0 .
Assuming that the solution U ( x , t ) exists and satisfies the Dirichlet boundary conditions, for the case of 0 < α < 1 ( m = 1 ) we can consider the following formula for the Caputo fractional partial derivative:
α U ( x , t ) t α = 1 Γ ( 1 α ) 0 t U ( x , s ) s ( t s ) α d s .
The direct initial boundary problem consists in finding the unknown function U ( x , t ) when all other components of Equation (1) are known.
In the present work, we study the inverse problem of restoring the space-dependent right-hand part ψ ( x ) . Thus, the problem consists in finding the pair of unknown functions [ U ( x , t ) , ψ ( x ) ] . Additional information for the inverse problem is given in the form of final overdetermination
U ( x , T ) = φ ( x ) , x Ω .
Conditions for the uniqueness of the solution of this inverse problem for a general multi-dimensional equation are formulated in [30].

2.2. Discretization of Equation and Difference Scheme

In this paper, for simplicity, we will consider the case of d = 2 and k 1 = k 2 = 1 . For an arbitrary elliptic operator, the general structure of the coefficient matrix of the SLAE remains the same, and the methods and algorithms presented below will be applicable.
Equation (1) will take the following form:
α U ( x 1 , x 2 , t ) t α = 2 U ( x 1 , x 2 , t ) x 1 2 + 2 U ( x 1 , x 2 , t ) x 2 2 + ψ ( x 1 , x 2 ) η ( x 1 , x 2 , t ) ,
where U ( x 1 , x 2 , t ) and ψ ( x 1 , x 2 ) are the sought functions; a ( x 1 , x 2 ) , b ( x 1 , x 2 ) , c ( x 1 , x 2 ) , η ( x 1 , x 2 , t ) are the given functions; and 0 < α < 1 is the the order of the fractional derivative.
The problem is considered for the area Ω : 0 x 1 γ 1 , 0 x 2 γ 2 and time interval 0 t T .
To discretize Equation (6), we construct the partitioning on the solution domain. On intervals [ 0 , γ 1 ] , [ 0 , γ 2 ] , we introduce the grid with n and N points. The steps are h 1 = Δ x 1 = γ 1 / n and h 2 = Δ x 2 = γ 2 / N . For the time interval [ 0 , T ] , we use the uniform grid of N ˜ points. The step is τ = Δ t = T / N ˜ . We denote the nodes as x 1 , i 1 = i 1 h 1 , x 2 , i 2 = i 2 h 2 , i 1 0 , 1 , , n , i 2 0 , 1 , , N , and t j = j τ , j 0 , 1 , , N ˜ . The values of discretized functions U and others are denoted as U i 1 , i 2 , j = U ( x 1 , i 1 , x 2 , i 2 , t j ) .
In this work, the Grunwald–Letnikov formula [2] is used for approximating the Caputo fractional derivative in Equation (6)
D t α U i 1 , i 2 , j σ α , τ = 1 j w ( α ) ( U i 1 , i 2 , j + 1 U i 1 , i 2 , j ) , σ α , τ = 1 Γ ( 1 α ) ( 1 α ) τ α , w ( α ) = 1 α ( 1 ) 1 α .
The implicit two-step finite difference scheme is used for approximating Equation (6). For the grid point ( x i 1 , x i 2 ) at time layer t j , the difference equation has the form
σ α , τ = 1 j w ( α ) ( U i 1 , i 2 , j + 1 U i 1 , i 2 , j ) = = U i 1 1 , i 2 , j 2 U i 1 , i 2 , j + U i 1 + 1 , i 2 , j h 1 2 + U i 1 , i 2 1 , j 2 U i 1 , i 2 , j + U i 1 , i 2 + 1 , j h 2 2 + ψ i 1 , i 2 η i 1 , i 2 , j .

2.3. Constructing the SLAE

Let us apply the following transformations:
σ α , τ ( U i 1 , i 2 , j U i 1 , i 2 , j 1 ) + σ α , τ = 2 j w ( α ) ( U i 1 , i 2 , j + 1 U i 1 , i 2 , j ) = = r i 1 , i 2 U i 1 , i 2 1 , j + p i 1 , i 2 U i 1 1 , i 2 , j + ( 2 p i 1 , i 2 2 q i 1 , i 2 ) U i 1 , i 2 , j + + p i 1 , i 2 U i 1 + 1 , i 2 , j + r i 1 , i 2 U i 1 , i 2 + 1 , j + ψ i 1 , i 2 η i 1 , i 2 , j ;
r i 1 , i 2 U i 1 , i 2 1 , j p i 1 , i 2 U i 1 1 , i 2 , j + q i 1 , i 2 U i 1 , i 2 , j p i 1 , i 2 U i 1 + 1 , i 2 , j r i 1 , i 2 U i 1 , i 2 + 1 , j = = σ α , τ U i 1 , i 2 , j = 2 j w ( α ) ( U i 1 , i 2 , j + 1 U i 1 , i 2 , j ) + ψ i 1 , i 2 η i 1 , i 2 , j ,
where
p i 1 , i 2 = 1 h 1 2 , r i 1 , i 2 = 1 h 2 2 , q i 1 , i 2 = σ α , τ + 2 p i 1 , i 2 + 2 q i 1 , i 2 .
Let us denote
f i 1 , i 2 , j = σ α , τ U i 1 , i 2 , j = 2 j w ( α ) ( U i 1 , i 2 , j + 1 U i 1 , i 2 , j ) + ψ i 1 , i 2 η i 1 , i 2 , j , j > 1 , f i 1 , i 2 , 1 = σ α , τ U i 1 , i 2 , 0 + ψ i 1 , i 2 η i 1 , i 2 , 0 .
The difference equation will take the form
r i 1 , i 2 U i 1 , i 2 1 , j p i 1 , i 2 U i 1 1 , i 2 , j + q i 1 , i 2 U i 1 , i 2 , j p i 1 , i 2 U i 1 + 1 , i 2 , j r i 1 , i 2 U i 1 , i 2 + 1 , j = f i 1 , i 2 , j .
Note that the values U 0 , i 2 , j , U n , i 2 , j , i 2 0 , 1 , , N and U i 1 , 0 , j , U i 1 , N , j , i 1 0 , 1 , , n at the boundaries are given. Then, for all inner points ( x i 1 , x i 2 ) , i 1 1 , 2 , , n 1 , i 2 1 , 2 , , N 1 , difference Equation (10) constitutes an SLAE
A Y = F ,
where A is the block-tridiagonal matrix of dimension ( n 2 ) ( N 2 ) × ( n 2 ) ( N 2 )
A = C 1 B 1 A 2 C 2 B 2 A i 2 C i 2 B i 2 A N 2 C N 2 B N 2 A N 1 C N 1 , i 2 1 , 2 , , N 1 .
Blocks A i 2 , B i 2 , C i 2 of dimension ( n 2 ) × ( n 2 ) are defined as
A i 2 = B i 2 = r 1 , i 2 r 2 , i 2 r i 1 , i 2 r n 2 , i 2 r n 1 , i 2 , i 1 1 , 2 , , n 1 ,
C i 2 = q 1 , i 2 p 1 , i 2 p 2 , i 2 q 2 , i 2 p 2 , i 2 p i 1 , i 2 q i 1 , i 2 p i 1 , i 2 p n 2 , i 2 q n 2 , i 2 p n 2 , i 2 p n 1 , i 2 q n 1 , i 2 , i 1 1 , 2 , , n 1 .
The sought vector consists of values U i 1 , i 2 , j collapsed in a row-major order
Y = Y 1 , Y 2 , . . . , Y N 1 , Y 1 = U 1 , 1 , j , U 2 , 1 , j , , U n 2 , 1 , j , U n 1 , 1 , j ; Y 2 = U 1 , 2 , j , U 2 , 2 , j , , U n 2 , 2 , j , U n 1 , 2 , j ; Y N 1 = U 1 , N 1 , j , U 2 , N 1 , j , , U n 1 , N 1 , j .
Right-hand vector is constructed similarly, taking into account the boundary points
F = [ F 1 , F 2 , , F N 1 ] ; F 1 = [ F 1 , 1 , j + r 1 , 1 U 1 , 0 , j + p 1 , 1 U 0 , 1 , j , F 2 , 1 , j + r 2 , 1 U 2 , 0 , j , , F n 2 , 1 , j + r n 2 , 1 U n 2 , 0 , j , F n 1 , 1 , j + r n 1 , 0 U n 2 , 0 , j + p n 1 , 1 U n , 1 , j ] ; F 2 = [ F 1 , 2 , j + p 1 , 2 U 0 , 2 , j , F 2 , 2 , j , , F n 1 , 2 , j , F n 1 , 2 , j + p n 1 , 2 U n , 2 , j ] ; F N 1 = [ F 1 , N 1 , j + r 1 , N 1 U 1 , N , j + p 1 , N 1 U 0 , N 1 , j , F 2 , N 1 , j + r 2 , N 1 U 2 , N , j , , F n 1 , N 1 , j + r n 1 , N 1 U n 1 , N , j + p n 1 , N 1 U n , N 1 , j ] .
To numerically solve the initial boundary problem, we need to solve system (11) at each subsequent time level j = 1 , . . . , N ˜ .

3. Numerical Methods for Solving the SLAE

To solve the SLAEs with various matrix structures, different numerical methods may be used. In this work, for solving the block-tridiagonal SLAE (11) we will use the block-elimination method [31] and parallel matrix sweep method [32].

3.1. Block-Elimination Method

Let us consider an SLAE with a block tridiagonal matrix in the following form:
C 0 Y ¯ 0 B 0 Y ¯ 1 = F ¯ 0 , i = 0 , A i Y ¯ i 1 + C i Y ¯ i B i Y ¯ i + 1 = F ¯ i , i = 1 , 2 , , N 1 , A N Y ¯ N 1 + C N Y ¯ N = F ¯ N , i = N ,
where Y ¯ i are the sought vectors of the n dimension; F ¯ i are the given right-hand vectors of the n dimension; and A i , B i , C i are the square matrices of the n × n dimension.
The direct block elimination (or matrix sweep) method is intended for solving the SLAE with block tridiagonal matrix. The auxilliary coefficients α i (matrices of n × n dimension) and β i (vectors of n dimension) are found by the reccurent formulae (the forward elimination phase)
α 0 = C 0 1 B 0 , α i = ( C i A i α i ) 1 B i , i = 1 , 2 , , N 1 , β 0 = C 0 1 F 0 , β i = ( C i A i α i ) 1 ( F i ¯ + A i β i 1 ) , i = 1 , 2 , , N .
Solution vectors Y i ¯ are found by formulae (the backward substitution phase)
Y N ¯ = β N , Y i ¯ = α i Y i + 1 ¯ + β i , i = N 1 , N 2 , , 1 , 0 .
Remark 1.
The algorithms (13) and (14) are correct if matrices C 0 and ( C i A i α i ) are nonsingular for i = 1 , 2 , . . . , N . The algorithm is stable if α i 1 for i = 1 , 2 , . . . , N .
The stability condition for this algorithm is the following.
Lemma 1.
If matrices C i , i = 0 , 1 , . . . , N are nonsingular, matrices A i , B i , i = 1 , . . . , N 1 are non-null, and conditions
C 0 1 B 0 1 , C N 1 A N 1 , C i 1 A i + C i 1 B i 1 , i = 1 , , N 1 ,
are satisfied where at least one of the inequalities is strict; then, the algorithms (13) and (14) are stable and correct.
Remark 2.
The coefficients α i , β i are dependent on the previous ones α i 1 , β i 1 . Thus, we cannot distribute these calculations to independent workers. Thus, the parallelization is limited to operations of matrix inversion and multiplication.

3.2. Parallel Matrix Sweep Method

To construct a direct parallel algorithm, let us split the interval i = 0 , 1 , . . . , N into L subintervals of length M such as N = L × M . Consider the unknown values Y ¯ K , K = 0 , M , . . . , N as parameters.
Now, let us construct the reduced SLAE for Y ¯ K . To do this, consider the following problems for the interval ( K , K + M )
A i U ¯ i 1 1 + C i U ¯ i 1 B i U ¯ i + 1 1 = 0 , U ¯ K 1 = ( 10 . . . 0 ) , U ¯ K + M 1 = ( 00 . . . 0 ) , . . A i U ¯ i 1 n + C i U ¯ i n B i U ¯ i + 1 n = 0 , U ¯ K n = ( 00 . . . 1 ) , U ¯ K + M n = ( 00 . . . 0 ) ,
A i V ¯ i 1 1 + C i V ¯ i 1 B i V ¯ i + 1 1 = 0 , V ¯ K 1 = ( 00 . . . 0 ) , V ¯ K + M 1 = ( 10 . . . 0 ) , . . A i V ¯ i 1 n + C i V ¯ i n B i V ¯ i + 1 n = 0 , V ¯ K n = ( 00 . . . 0 ) , V ¯ K + M n = ( 00 . . . 1 ) ,
A i W ¯ i 1 + C i W ¯ i B i W ¯ i + 1 = F ¯ i , W ¯ K = ( 00 . . . 0 ) , W ¯ K + M = ( 00 . . . 0 ) ,
where i = K + 1 , , K + M 1 .
Theorem 1.
If U ¯ i 1 , , U ¯ i n are solutions of auxilliary problem (16); V ¯ i 1 , , V ¯ i n are solutions of problem (17); W ¯ i are solutions of problem (18); and Y ¯ i are solutions of the basic problem (12) for interval ( K , K + M ) , then
Y ¯ i = ( U ¯ i 1 U ¯ i 2 U ¯ i n ) Y ¯ K + ( V ¯ i 1 V ¯ i 2 V ¯ i n ) Y ¯ K + M + W ¯ i .
Proof. 
Consider system (12) for the inner subinterval ( K , K + M ) :
A i Y ¯ i 1 + C i Y ¯ i B i Y ¯ i + 1 = F ¯ i , i = K + 1 , , K + M 1 .
This system contains the parameters Y ¯ K and Y ¯ K + M .
Let us rewrite (20) in the form
C K + 1 Y ¯ K + 1 B K + 1 Y ¯ K + 2 = A K + 1 Y ¯ K + F ¯ K + 1 , A i Y ¯ i 1 + C i Y ¯ i B i Y ¯ i + 1 = F ¯ i , i = K + 2 , , K + M 2 , A K + M 1 Y ¯ K + M 2 + C K + M 1 Y ¯ K + M 1 = B K + M 1 Y ¯ K + M + F ¯ K + M 1 .
In this system (21), A K + 1 Y ¯ K and B K + M 1 Y ¯ K + M have the following form:
A K + 1 Y ¯ K = A K + 1 11 . . . A K + 1 1 N . . . . . . . . . A K + 1 N 1 . . . A K + 1 N N Y K 1 . . . Y K N =
= A K + 1 11 . . . A K + 1 N 1 Y K 1 + + A K + 1 1 N . . . A K + 1 N N Y K N =
= A ¯ K + 1 1 Y K 1 + A ¯ K + 1 2 Y K 2 + + A ¯ K + 1 N Y K N ;
B K + M 1 Y ¯ K + M = B K + M 1 11 . . . B K + M 1 1 N . . . . . . . . . B K + M 1 N 1 . . . B K + M 1 N N Y K + M 1 . . . Y K + M N =
= B K + M 1 11 . . . B K + M 1 N 1 Y K + M 1 + + B K + M 1 1 N . . . B K + M 1 N N Y K + M N =
= B ¯ K + M 1 1 Y K + M 1 + B ¯ K + M 1 2 Y K + M 2 + + B ¯ K + M 1 N Y K + M N .
Here, the line over the symbol denotes the vector column of corresponding matrix.
Taking into account the formulae (22), SLAEs (21) have the following form:
C K + 1 B K + 1 A K + 2 C K + 2 B K + 2 A K + M 1 C K + M 1 Y ¯ K + 1 Y ¯ K + 2 Y ¯ K + M 1 =
= F ¯ K + 1 F ¯ K + 2 . . . F ¯ K + M 1 + A ¯ K + 1 1 0 . . . 0 Y K 1 + + A ¯ K + 1 N 0 . . . 0 Y K N +
+ 0 . . . 0 B ¯ K + M 1 1 Y K + M 1 + + 0 . . . 0 B ¯ K + M 1 N Y K + M N .
System (23) is equivalent to the following one:
Λ Y ¯ = F ¯ + A ¯ 1 Y K 1 + + A ¯ N Y K N + B ¯ 1 Y K + M 1 + + B ¯ N Y K + M N ,
where Λ is the submatrix of the basic block tridiagonal matrix of system (12) that corresponds to the interval ( K , K + M ) .
If matrix Λ is inversible, then
Y ¯ = Λ 1 F ¯ + Λ 1 A ¯ 1 Y K 1 + + Λ 1 A ¯ N Y K N + Λ 1 B ¯ 1 Y K + M 1 + + Λ 1 B ¯ N Y K + M N .
From this, it follows that
Y ¯ = U ¯ 1 Y K 1 + + U ¯ N Y K N + V ¯ 1 Y K + M 1 + + V ¯ N Y K + M N + W ¯ ,
where
U ¯ 1 is a solution of Λ U ¯ 1 = A ¯ 1 , ,
U ¯ N is a solution of Λ U ¯ N = A ¯ N ,
V ¯ 1 is a solution of Λ V ¯ 1 = B ¯ 1 , ,
V ¯ N is a solution of Λ V ¯ N = B ¯ N ,
W ¯ is a solution of Λ W ¯ = F ¯ .
Let us rewrite U ¯ 1 , , U ¯ N , V ¯ 1 , , V ¯ N , W ¯ in a more detailed manner.
U ¯ 1 = U ¯ K + 1 1 . . . U ¯ K + M 1 1 , , U ¯ N = U ¯ K + 1 N . . . U ¯ K + M 1 N , V ¯ 1 = V ¯ K + 1 1 . . . V ¯ K + M 1 1 , ,
V ¯ N = V ¯ K + 1 N . . . V ¯ K + M 1 N , W ¯ = W ¯ K + 1 . . . W ¯ K + M 1 .
Taking into account (23) and (27), problems (26) are equivalent to following:
C K + 1 U ¯ K + 1 1 B K + 1 U ¯ K + 2 1 = A ¯ K + 1 1 , . . . A K + M 1 U ¯ K + M 2 1 + C K + M 1 U ¯ K + M 1 1 = 0 .
.
C K + 1 U ¯ K + 1 N B K + 1 U ¯ K + 2 N = A ¯ K + 1 N ; . . . A K + M 1 U ¯ K + M 2 N + C K + M 1 U ¯ K + M 1 N = 0 ;
C K + 1 V ¯ K + 1 1 B K + 1 V ¯ K + 2 1 = 0 ; . . . A K + M 1 V ¯ K + M 2 1 + C K + M 1 V ¯ K + M 1 1 = B ¯ K + M 1 1 ;
.
C K + 1 V ¯ K + 1 N B K + 1 V ¯ K + 2 N = 0 ; . . . A K + M 1 V ¯ K + M 2 N + C K + M 1 V ¯ K + M 1 N = B ¯ K + M 1 1 ;
C K + 1 W ¯ K + 1 B K + 1 W ¯ K + 2 = F ¯ K + 1 ; . . . A K + M 1 W ¯ K + M 2 + C K + M 1 W ¯ K + M 1 = F ¯ K + M 1 .
Systems (28) for intervals ( K , K + M ) , K = 0 , M , , N are equivalent to problems (16)–(18).
Thus, the original solution (25) on interval ( K , K + M ) has the form
Y ¯ i = ( U ¯ i 1 U ¯ i 2 U ¯ i n ) Y ¯ K + ( V ¯ i 1 V ¯ i 2 V ¯ i n ) Y ¯ K + M + W ¯ i , i = K + 1 , , K + M 1 .
   □
Remark 3.
Matrices U i , V i and vector W ¯ i can be obtained by the block elimination methods (13) and (14). For arbitrary L block elimination formulae for intervals ( K , K + M ) , K = 0 , M , , N have the following form.
The forward phase for Equations (16)–(18) is as follows:
α K + 1 = C K + 1 1 B K + 1 , β K + 1 = C K + 1 1 A K + 1 , γ ¯ K + 1 = C K + 1 1 F ¯ K + 1 , α i = [ C i A i α i 1 ] 1 B i , β i = [ C i A i α i 1 ] 1 A i β i 1 , γ ¯ i = [ C i A i α i 1 ] 1 ( F ¯ i + A i γ ¯ i 1 ) , i = K + 2 , , K + M 1 .
The backward phase for Equations (16)–(18) is as follows:
U K + M 1 = β K + M 1 , V K + M 1 = α K + M 1 , W ¯ K + M 1 = γ ¯ K + M 1 , U i = α i U i + 1 + β i , V i = α i V i + 1 , W ¯ i = α i W ¯ i + 1 + γ ¯ i , i = K + M 2 , , K + 1 .
When we substitute expression (19) for indices K = 0 , M , , N into the basic system (12), we will obtain a reduced SLAE for the parametric unknown values (vectors Y ¯ K ). This system has a similar structure to (12) but has a smaller size.
[ C 0 B 0 U 1 ] Y ¯ 0 [ B 0 V 1 ] Y ¯ M = F ¯ 0 + B 0 W ¯ 1 , K = 0 , [ A K U K 1 ] Y ¯ K M + [ C K A K V K 1 B K U K + 1 ] Y ¯ K [ B K V K + 1 ] Y ¯ K + M = = F ¯ K + A K W ¯ K 1 + B K W ¯ K + 1 , K = M , , N M , [ A N U N 1 ] Y ¯ N M + [ C N A N V N 1 ] Y ¯ N = F ¯ N + A N W ¯ N 1 , K = N ,
where U K and V K are matrices of dimension n × n .
Problem (31) is solved by the block-elimination method (13) and (14) in the single-threaded mode or on a single node of a cluster. Auxilliary problems (16)–(18) are solved independently for each of the L intervals. Thus, this workload can be distributed between L threads or processes. After obtaining Y ¯ K , the rest of the unknown values are found by formula (19). This work also can be performed independently for each of the L intervals.
The parallel matrix sweep algorithm for solving system (12) is presented in Listing 1.
Listing 1. Parallel matrix sweep algorithm for solving SLAE.
1.
Find values U i , V i , W ¯ i from problems (16)–(18) for inner points i ( K , K + M ) of each subinterval K = 0 , M , 2 M , . . . , N . Methods (29) and (30) are used to solve the subproblems independently on each of the subintervals.
2.
Calculate the coefficients for reduced system (31). The coefficients may be calculated independently for each K, but to solve the resulting reduced system, we need to transfer these coefficients to a single process. This requires synchronization or gather-type communication.
3.
Find values Y K ¯ from the reduced system (31). Compared to the basic system (12), its dimension is much smaller. It is solved by the block elimination algorithms (13) and (14) in serial mode. The computed values Y ¯ K must be transmitted to processors. This step requires synchronization or communication.
4.
Use formula (19) to calculate the sought values Y ¯ i , i ( K , K + M ) . These computations may be performed independently for each subinterval K.
Thus, steps 1, 2, and 4 of this algorithm may be parallelized, while step 3 must be performed in serial mode.
To establish the stability (see Remark 1) of the parallel matrix sweep algorithm, let us prove the following theorems.
Theorem 2.
If original system (12) satisfies the condition
C i A i + B i + δ , δ > 0 ,
then reduced system (31) also satisfies this condition in the form
C K A K V K 1 B K U K + 1 A K U K 1 + B K V K + 1 + δ .
Proof. 
C K A K V K 1 B K U K + 1 C K A K V K 1 B K U K + 1 C K A K ( I U K 1 ) B K ( I V K + 1 ) C K A K + A K U K 1 B K + B K V K + 1 A K U K 1 + B K V K + 1 + C K A K B K A K U K 1 + B K V K + 1 + δ ,
since U K + V K 1 .    □
Theorem 3.
If basic system (12) satisfies the stability conditions of the matrix sweep method (Lemma 1), then these conditions are sufficient for the stability of the matrix sweep method for reduced system (31) for Y ¯ K .
Proof. 
Let us construct a proof by the mathematical induction method.
We will utilize the following statement [31]. If square matrix S satisfies S q 1 , then matrices ( E S ) 1 and ( E S ) 1 1 / ( 1 q ) must exist.
Let α ˜ 1 , , α ˜ K , , α ˜ N be the elimination coefficients for the matrix sweep method for system (31).
1. Let us demonstrate that α ˜ 1 1 .
C 0 1 B 0 U 1 C 0 1 B 0 · U 1 < 1 ,
therefore, there are ( E C 0 1 B 0 U 1 ) 1 and
α ˜ 1 = ( C 0 B 0 U 1 ) 1 B 0 V 1 C 0 1 ( E C 0 1 B 0 U 1 ) 1 B 0 V 1
( E C 0 1 B 0 U 1 ) 1 · C 0 1 B 0 · V 1 1 1 C 0 1 B 0 · U 1 · C 0 1 B 0 · V 1
V 1 1 U 1 V 1 V 1 = 1 , since U 1 + V 1 1 .
2. Assume α ˜ K 1 . Let us demonstrate that α ˜ K + 1 1 .
α ˜ K + 1 = ( C K A K V K 1 B K U K + 1 A K U K 1 α ˜ K ) 1 · B K V K + 1 .
Consider,
( C K 1 A K V K 1 + C K 1 B K U K + 1 + C K 1 A K U K 1 α ˜ K ) 1
C K 1 A K · V K 1 + C K 1 B K · U K + 1 + C K 1 A K · U K 1
C K 1 A K + C K 1 B K · U K + 1 1 C K 1 B K + C K 1 B K · U K + 1
1 C K 1 B K · ( 1 U K + 1 ) 1 C K 1 B K · V K + 1 < 1 ,
since
U K + 1 + V K + 1 1 .
Therefore, there are
( E C K 1 A K V K 1 + C K 1 B K U K + 1 + C K 1 A K U K 1 α ˜ K ) 1 and
α ˜ K + 1 ( E C K 1 A K V K 1 + C K 1 B K U K + 1 + C K 1 A K U K 1 α ˜ K ) 1 ×
× C K 1 B K V K + 1 1 C K 1 B K · V K + 1 · C K 1 B K · V K + 1 = 1 .
  3. Let us demonstrate that α ˜ N 1 .
C N 1 A N V N 1 C N 1 A N · V N 1 < 1 ,
therefore, there are
( E C N 1 A N V N 1 ) 1 .
Consider
α ˜ N = ( C A N V N 1 ) 1 A N U N 1
( E C N 1 A N V N 1 ) 1 · C N 1 A N · U N 1
1 C N 1 A N · V N 1 · C N 1 A N · U N 1 U N 1 1 V N 1 1 ,
since U N 1 + V N 1 1 .    □

4. Numerical Method for Solving the Inverse Problems

To solve the inverse problems (1)–(3) and (5), we use the iterative conjugate gradient method [23,33]. Consider that additional information φ may contain a random perturbation φ δ = φ · ( 1 + r a n d ( δ , δ ) ) . To overcome this, we will regularize the inverse problems using the Lavrentyev scheme [34].
The resulting algorithm for solving the inverse problems is presented in Listing 2, where ε > 0 is the regularization parameter.
Listing 2. Regularized conjugate gradient algorithm for solving the inverse problems.
Initialization:
1.
Set s = 0 as the iterative step.
2.
Set the initial approximation ψ 0 ( x ) , for example, ψ 0 ( x ) = 0 .
3.
Solve the initial boundary problems (1)–(3) by substituting the right-hand part ψ with ψ 0 ; obtain U T 0 = U ( x , T ) | ψ 0 .
4.
Calculate the initial residual r 0 ( x ) = φ ( x ) ( U T 0 + ε ψ 0 ) and initial estimation p 0 ( x ) = r 0 ( x ) , where ε > 0 is the regularization parameter.
Iterations:
5.
Set s = s + 1 .
6.
Solve the initial boundary problems by substituting the right-hand part with p s ( x ) ; obtain U T s = U ( x , T ) | p s .
7.
Calculate the coefficient α s = ( r s , r s ) / ( p s , ( U T s + ε p s ) ) .
8.
Calculate the estimation and residual for next step ψ s + 1 = ψ s + α s p s , r s + 1 = r s α s ( U T s + ε p s ) .
9.
Calculate the coefficient β s = ( r s + 1 , r s + 1 ) / ( r s , r s ) .
10.
Calculate p s + 1 = r s + 1 + β s p s .
11.
Check the stopping rule r s / φ < μ , 0 < μ < 1 . If not met, go to step 5.

5. Parallel Implementation of Algorithms for Solving the Inverse Problem

The numerical solution to the problems related to the fractional differential equation is an expensive task that requires a lot of computing time.
The most time-consuming subroutine of the regularized conjugate gradient algorithm (see Listing 2) is solving the auxiliary initial boundary problem at each iteration. In turn, this procedure consists in forming and solving SLAEs (11) at each subsequent time step.

5.1. Efficient Computation of the Right-Hand Parts

Forming SLAE requires the calculation of the right-hand parts using formula (9). In our earlier work [27], when solving one-dimensional problems, the fraction of time spent to calculate the right-hand part was up to 70% of the total time. To optimize this procedure, we implemented the logarithmic memory approach. It consists of using the non-uniform time grid when computing the approximation of the fractional derivative. The fine time step is used for the latest history part. For the more distant history, successively larger time steps are used. This approach allowed us to reduce the computing time for the one-dimensional case by up to 1.5 times.
This approach may also be utilized for the ctwo-dimensional problem. For solving system (11), a modified variant of formula (9) takes the form
f i 1 , i 2 , 1 = σ α , τ U i 1 , i 2 , 0 + ψ i 1 , i 2 η i 1 , i 2 , 0 , f i 1 , i 2 , j = σ α , τ U i 1 , i 2 , j 1 ( , k ) σ α , τ ( , k ) w , k ( α ) ( U i 1 , i 2 , j + 1 U i 1 , i 2 , j k ) + ψ i 1 , i 2 η i 1 , i 2 , j , j > 1 ,
( , k ) ( 2 , 2 + θ 0 ) , ( 2 + θ 0 , 2 + θ 1 ) , ( 2 + θ 1 , 2 + θ 2 ) , , ( 2 + θ log θ j , j ) , σ α , τ ( , k ) = 1 Γ ( 1 α ) ( 1 α ) θ k τ α , w , k ( α ) = ( k ) 1 α ( 1 ) 1 α , 0 < α < 1 ,
where θ N is the stretching coefficient and log θ n is the floor function (integer part). Note that approach has complexity O ( N ˜ · log N ˜ ) in contrast of O ( N ˜ 2 ) of the uniform time grid.
In the next section, we will explore the usefulness of this approach for the case of a two-dimensional problem.

5.2. Parallel Implementation of the SLAE Solver

To speed up SLAE solving, we implement the parallel matrix sweep Algorithm (see Listing 1). For comparison, we also implemented the serial block-elimination methods (13) and (14).
The parallel algorithm for solving the inverse problem of finding the source term of the time-fractional diffusion equation was implemented for the multicore processor using OpenMP technology [35] and the Intel MKL library [36]. The parallelization is performed as follows.
  • The workload of calculating the right-hand parts (9) and (32) is distributed to OpenMP threads utilizing to the same subinterval decomposition that is used for parallel matrix sweep algorithm.
  • The matrix operations and the inversion of the matrix blocks are performed with MKL routines (gemv, gemm, getrf, and getri).
  • In the parallel matrix sweep algorithm (Listing 1), steps 1, 2, and 4 are performed by the individual OpenMP threads on their corresponding subintervals. To perform step 3, thread synchronization is required. This is performed by the ‘#pragma omp barrier’ directive. Note that this synchronization requires additional time.

6. Numerical Experiments

In this section, we present the numerical experiments of solving the direct and inverse problems for the two-dimensional fractional diffusion equation. The experiments were performed using the developed code on the Intel i9-12900k CPU, which has 8 P-cores. The goal is to study the validity of the proposed numerical methods, as well as the efficiency of the parallel code.

6.1. Problem 1

Consider the two-dimensional equation
α U ( x 1 , x 2 , t ) t α = 2 U ( x 1 , x 2 , t ) x 1 2 + 2 U ( x 1 , x 2 , t ) x 2 2 + 2 Γ ( 3 α ) t 2 α + 2 t 2 sin ( x 1 ) sin ( x 2 )
with initial and boundary conditions
U ( x 1 , x 2 , 0 ) = 0 ,
U ( x 1 , 0 , 0 ) = 0 , U ( x 1 , π , 0 ) = 0 ,
U ( 0 , x 2 , 0 ) = 0 , U ( π , x 2 , 0 ) = 0 ,
and area
0 x 1 , x 2 γ 1 = γ 2 = π , 0 t T = 1 ,
for order
0 < α < 1 .
Paper [37] presents the exact solution for this equation
U ( x 1 , x 2 , t ) = t 2 sin ( x 1 ) sin ( x 2 ) .

6.1.1. Experiment 1

Experiment 1 consists of solving the forward (initial boundary) problem for Equation (33) on the various grids n = N = { 128 ; 256 ; 512 } , N ˜ = { 64 ; 128 ; 256 } and various parameters α = { 0.5 ; 0.8 ; 0.95 } . It was solved using the difference scheme described in Section 2.2. For solving the SLAE, two methods were applied, namely, the classical serial block-elimination method (13) and (14) and parallel matrix sweep method (see Listing 1).
Figure 1 shows the exact solution U ( x 1 , x 2 , 1 ) = t 2 sin ( x 1 ) sin ( x 2 ) and approximate solution U ˜ ( x 1 , x 2 , 1 ) for Problem 1 obtained by the parallel matrix sweep algorithm for grid size n = N = 512 , N ˜ = 256 , and the order of fractional derivative α = 0.5 . The approximate solutions obtained by the matrix sweep and parallel matrix sweep methods coincide with each other up to the machine precision ( 10 15 , as we used the double precision format).
Table 1 contains the relative error of the solutions U U ˜ / U for various grid sizes and parameters α . The experiments show that taking a finer grid either for space or time reduces the relative error of the resulting solution. For the time grid, the rate of convergence is close to linear (increasing the number of grid points twofold reduces the error approximately by two times). As parameter α approaches 1, the error of the solution increases. To achieve higher accuracy, we need to use a finer grid.
Table 2 presents the total computing time T L of solving the direct problem. For the parallel matrix sweep method, the computing time for various numbers L of OpenMP threads are presented. Total time T L consists of time T S L A E spent on solving the SLAEs plus time T R i g h t spent on computing the right-hand part for these SLAEs using formula (9). The table shows that for the case of two-dimensional problem solving SLAE with a more complex matrix structure (block-tridiagonal), the time spent on solving the SLAE is up to 600 times larger than the time spent on computing the right-hand part. Thus, utilizing the optimized approach for computing the fractional derivative is less relevant as it would bring a miniscule speedup.

6.1.2. Experiment 2

Experiment 2 consists of solving the inverse problem for Equation (33). We assume that η ( t ) = 2 Γ ( 3 α ) t 2 α + 2 t 2 and φ ( x 1 , x 2 ) = sin ( x 1 ) sin ( x 2 ) . Thus, we need to solve the inverse problem of finding unknown U ( x 1 , x 2 , T ) , ψ ( x 1 , x 2 ) . For this experiment, we introduce the varying level δ of random perturbation to the a priori data φ δ = φ · ( 1 + r a n d ( δ , δ ) ) .
Remark 4.
Note that this level corresponds to an error in the infinity norm, i.e., δ φ φ δ / φ . In the rest of the paper, the norm is implied to be L 2 -norm. In tables, we provide the corresponding δ 2 = φ φ δ / φ .
The inverse problem was solved by the regularized conjugate gradient method Algorithm (see Listing 2). For solving the SLAEs, the parallel matrix sweep method was used. The grid size was n = N = 256 , N ˜ = 256 .
Figure 2 shows the exact solution ψ ( x 1 , x 2 ) = sin ( x 1 ) sin ( x 2 ) and the approximate solution ψ ˜ ( x 1 , x 2 ) for Problem 1 for the noise level δ = 0.02 .
Table 3 presents the results of Experiment 2 for varying levels of noise δ , δ 2 . It contains the values of regularization parameter ε , the threshold μ for the stopping criterion (we used μ = δ 2 for experiments), number of iterations S, and the relative error of the resulting solution.

6.2. Problem 2

Consider the two-dimensional equation [22]
α U ( x 1 , x 2 , t ) t α = 2 U ( x 1 , x 2 , t ) x 1 2 + 2 U ( x 1 , x 2 , t ) x 2 2 + sin ( x 1 ) sin ( x 2 ) + sin ( 2 x 1 ) sin ( 2 x 2 )
with initial and boundary conditions
U ( x 1 , x 2 , 0 ) = 0 ,
U ( x 1 , 0 , 0 ) = 0 , U ( x 1 , π , 0 ) = 0 ,
U ( 0 , x 2 , 0 ) = 0 , U ( π , x 2 , 0 ) = 0 ,
and area
0 x 1 , x 2 π , 0 t 1 ,
for order
0 < α < 1 .
The numerical experiment consists of solving the inverse problem for Equation (34). We assume that η ( x 1 , x 2 , t ) = 1 . Additional data φ ( x 1 , x 2 ) = U ( x 1 , x 2 , 1 ) are obtained by solving the direct problem substituting exact ψ ( x 1 , x 2 ) = sin ( x 1 ) sin ( x 2 ) + sin ( 2 x 1 ) sin ( 2 x 2 ) . They are shown in Figure 3.
Table 4 presents the results of experiments for Problem 2 for varying levels of noise δ , δ 2 . It contains the values of the regularization parameter ε , the threshold μ for the stopping criterion (we used μ = δ 2 for experiments), the number of iterations S, and the relative error of the resulting solution. The grid size was n = N = 256 , N ˜ = 256 , and order α = 0.5 .
Figure 4 shows the approximate solutions ψ ˜ ( x 1 , x 2 ) for Problem 2 for various noise levels.

7. Discussion

According to the experiments, the relative error of the direct problem solution decreases with finer grid size. This indicates the experimental confirmation of convergence of the finite difference scheme.
In the case of two-dimensional problem solving, SLAE takes a significantly larger time (up to 600) than computing the right-hands part for SLAE. This makes the parallel implementation of the SLAE solver more important than the optimization of the procedures for computing the fractional derivative.
Experiments show that the parallel matrix sweep method for solving the SLAE has good parallel efficiency. The minimal computing time is achieved by using eight OpenMP threads on an eight-core processor.
The parallel code performance is mainly limited by memory bandwidth. Adding more than eight threads does not reduce the computing time. The largest speed up is only three-fold for 512 × 512 spatial grid. Figure 5 presents the roofline analysis performed by the Intel Advisor tool. Most subroutines of the parallel code lie primarily below and near the slanted line that represents DRAM bandwidth. This indicates that the code is memory-bound.
Several approaches can be used to overcome this limitation. Computing hardware with large memory bandwidth, such as graphics processors (GPU), can be used. Central processors with DDR4 or DDR5 RAM can achieve up to 100 GB/s, while modern GPUs have a bandwidth of 1000 GB/s or higher. Another option is to use massive distributed memory systems. Since each node works independently, the memory speed of individual node is effectively summed. Moreover, it enables larger problems to be solved with data that cannot be accommodated in the memory of a single computing node.
The experiments in Table 3 and Table 4 show that for the model problems, the regularized conjugate gradient method allows us to solve the inverse problem even with noised data. The results are comparable with other works in terms of accuracy (for example, see [23], Table 3).
We also note that while this work is devoted to the case of the two-dimensional equation, the results may be extended to three-dimensional elliptic equations. The structure of matrix A in Equation (11) will remain block tridiagonal, but the inner structure of the blocks will be more complex.

8. Conclusions

In this work, we construct the parallel algorithm for solving the inverse problem of finding the space-dependent component of a source term in a two-dimensional fractional diffusion equation. The considered inverse problem is solved by the iterative conjugate gradient method. At each iteration, it is necessary to solve an auxiliary direct initial-boundary value problem. Applying the finite difference scheme, we reduce the initial-boundary value problem to solving an SLAE with block tridiagonal matrices at each subsequent time level. For the efficient solution of such SLAEs, we construct and implement the direct parallel matrix sweep method. Stability and correctness for the parallel matrix sweep method are established. In the two-dimensional case, computing the fractional derivative (the right-hand part of the SLAE) takes little time in comparison with solving the SLAE.
The algorithm is implemented for the multicore processors using the OpenMP technology. In the numerical experiments, we investigated the validity of numerical methods and the efficiency and speedup of the parallel algorithm. The utilization of the parallel sweep algorithm reduces the computing time by up to three times on a eight-core processor. Using Lavrentyev regularization method allows us to solve the inverse problem with a disturbed data.
In future, the authors plan to implement a similar approach to solving the retrospective inverse problem (identifying the initial value) for a fractional differential equation. The developed algorithms may be utilized for real applications. The parallel algorithms will be implemented on graphics processors.

Author Contributions

Conceptualization, E.N.A., M.A.S. and V.E.M.; methodology, E.N.A., M.A.S. and V.E.M.; validation, E.N.A., M.A.S., V.E.M. and Y.N.; formal analysis, E.N.A., M.A.S., V.E.M. and Y.N.; investigation, E.N.A., V.E.M. and Y.N.; resources, E.N.A., M.A.S. and V.E.M.; writing—original draft preparation, E.N.A., M.A.S. and V.E.M.; writing—review and editing, E.N.A., M.A.S., V.E.M. and Y.N.; supervision, E.N.A. and M.A.S.; project administration, V.E.M.; and funding acquisition, M.A.S. All authors have read and agreed to the published version of the manuscript.

Funding

The second author (M.A.S.) and fourth author (Y.N.) were financially supported by the Ministry of Science and Higher Education of the Republic of Kazakhstan (project AP09258836). The first author (E.N.A.) and third author (V.E.M.) received no external funding.

Data Availability Statement

The data presented in this study are the model data. Data sharing is not applicable to this article.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Machado, J.T.; Galhano, A.; Trujillo, J. Science metrics on fractional calculus development since 1966. Fract. Calc. Appl. Anal. 2013, 16, 479–500. [Google Scholar] [CrossRef]
  2. Podlubny, I. Fractional differential equations. Math. Sci. Eng. 1999, 198, 41–119. [Google Scholar]
  3. Metzler, R.; Jeon, J.H.; Cherstvy, A.G.; Barkai, E. Anomalous diffusion models and their properties: Non-stationarity, non-ergodicity, and ageing at the centenary of single particle tracking. Phys. Chem. Chem. Phys. 2014, 16, 24128–24164. [Google Scholar] [CrossRef] [PubMed]
  4. Tateishi, A.A.; Ribeiro, H.V.; Lenzi, E.K. The Role of Fractional Time-Derivative Operators on Anomalous Diffusion. Front. Phys. 2017, 5, 52. [Google Scholar] [CrossRef]
  5. Yegenova, A.; Sultanov, M.; Brener, A. Nonlinear Wave Model for Transport Phenomena in Media with Non-local Effects. Chem. Eng. Trans. 2021, 86, 1201–1206. [Google Scholar] [CrossRef]
  6. Li, X.; Han, X.; Wang, X. Numerical modeling of viscoelastic flows using equal low-order finite elements. Comput. Methods Appl. Mech. Eng. 2010, 199, 570–581. [Google Scholar] [CrossRef]
  7. Maslovskaya, A.; Moroz, L. Time-fractional Landau–Khalatnikov model applied to numerical simulation of polarization switching in ferroelectrics. Nonlinear Dyn. 2023, 111, 4543–4557. [Google Scholar] [CrossRef]
  8. Benson, D.A.; Wheatcraft, S.W.; Meerschaert, M.M. Application of a fractional advection-dispersion equation. Water Resour. Res. 2000, 36, 1403–1412. [Google Scholar] [CrossRef]
  9. Laskin, N.; Lambadaris, I.; Harmantzis, F.; Devetsikiotis, M. Fractional Lévy motion and its application to network traffic modeling. Comput. Netw. 2002, 40, 363–375. [Google Scholar] [CrossRef]
  10. Sun, H.; Zhang, Y.; Baleanu, D.; Chen, W.; Chen, Y. A new collection of real world applications of fractional calculus in science and engineering. Commun. Nonlinear Sci. Numer. Simul. 2018, 64, 213–231. [Google Scholar] [CrossRef]
  11. Diethelm, K.; Ford, N.; Freed, A.; Luchko, Y. Algorithms for the fractional calculus: A selection of numerical methods. Comput. Methods Appl. Mech. Eng. 2005, 194, 743–773. [Google Scholar] [CrossRef]
  12. Baleanu, D.; Diethelm, K.; Scalas, E.; Trujillo, J.J. Fractional Calculus: Models and Numerical Methods; World Scientific: Singapore, 2012; Volume 3. [Google Scholar]
  13. Li, C.; Zeng, F. Numerical Methods for Fractional Calculus; Chapman and Hall/CRC: Boca Raton, FL, USA, 2019. [Google Scholar]
  14. Sultanov, M.A.; Durdiev, D.K.; Rahmonov, A.A. Construction of an Explicit Solution of a Time-Fractional Multidimensional Differential Equation. Mathematics 2021, 9, 2052. [Google Scholar] [CrossRef]
  15. Gong, C.; Bao, W.; Tang, G.; Jiang, Y.; Liu, J. A parallel algorithm for the two-dimensional time fractional diffusion equation with implicit difference method. Sci. World J. 2014, 2014, 219580. [Google Scholar] [CrossRef] [PubMed]
  16. Akimova, E.N.; Misilov, V.E.; Sultanov, M.A. Regularized gradient algorithms for solving the nonlinear gravimetry problem for the multilayered medium. Math. Methods Appl. Sci. 2022, 45, 8760–8768. [Google Scholar] [CrossRef]
  17. Li, X.; Su, Y. A parallel in time/spectral collocation combined with finite difference method for the time fractional differential equations. J. Algorithms Comput. Technol. 2021, 15, 17483026211008409. [Google Scholar] [CrossRef]
  18. De Luca, P.; Galletti, A.; Ghehsareh, H.; Marcellino, L.; Raei, M. A GPU-CUDA framework for solving a two-dimensional inverse anomalous diffusion problem. Parallel Comput. Technol. Trends 2020, 36, 311. [Google Scholar]
  19. Yang, X.; Wu, L. A New Kind of Parallel Natural Difference Method for Multi-Term Time Fractional Diffusion Model. Mathematics 2020, 8, 596. [Google Scholar] [CrossRef]
  20. Berdyshev, A.S.; Sultanov, M.A. On Stability of the Solution of Multidimensional Inverse Problem for the Schrödinger Equation. Math. Model. Nat. Phenom. 2017, 12, 119–133. [Google Scholar] [CrossRef]
  21. Samarskii, A.A.; Vabishchevich, P.N. Numerical Methods for Solving Inverse Problems of Mathematical Physics; Walter de Gruyter: Berlin, Germany, 2007; Volume 52. [Google Scholar]
  22. Yang, F.; Ren, Y.P.; Li, X.X.; Li, D.G. Landweber iterative method for identifying a space-dependent source for the time-fractional diffusion equation. Bound. Value Probl. 2017, 2017, 163. [Google Scholar] [CrossRef]
  23. Su, L.D.; Vasil’ev, V.I.; Jiang, T.S.; Wang, G. Identification of stationary source in the anomalous diffusion equation. Inverse Probl. Sci. Eng. 2021, 29, 3406–3422. [Google Scholar] [CrossRef]
  24. Bazhlekova, E. An Inverse Source Problem for the Generalized Subdiffusion Equation with Nonclassical Boundary Conditions. Fractal Fract. 2021, 5, 63. [Google Scholar] [CrossRef]
  25. Gong, X.; Wei, T. Reconstruction of a time-dependent source term in a time-fractional diffusion-wave equation. Inverse Probl. Sci. Eng. 2019, 27, 1577–1594. [Google Scholar] [CrossRef]
  26. Nguyen, H.T.; Le, D.L.; Nguyen, V.T. Regularized solution of an inverse source problem for a time fractional diffusion equation. Appl. Math. Model. 2016, 40, 8244–8264. [Google Scholar] [CrossRef]
  27. Sultanov, M.A.; Akimova, E.N.; Misilov, V.E.; Nurlanuly, Y. Parallel Direct and Iterative Methods for Solving the Time-Fractional Diffusion Equation on Multicore Processors. Mathematics 2022, 10, 323. [Google Scholar] [CrossRef]
  28. Akimova, E.N.; Sultanov, M.A.; Misilov, V.E.; Nurlanuly, Y. Parallel sweep algorithm for solving direct and inverse problems for time-fractional diffusion equation. Numer. Methods Program. 2022, 23, 275–287. (In Russian) [Google Scholar] [CrossRef]
  29. Zhang, Y. A finite difference method for fractional partial differential equation. Appl. Math. Comput. 2009, 215, 524–529. [Google Scholar] [CrossRef]
  30. Slodička, M.; Šišková, K.; Bockstal, K.V. Uniqueness for an inverse source problem of determining a space dependent source in a time-fractional diffusion equation. Appl. Math. Lett. 2019, 91, 15–21. [Google Scholar] [CrossRef]
  31. Samarskii, A.; Nikolaev, E. Numerical Methods for Grid Equations, Volume I: Direct Methods; Birkhäuser: Basel, Switzerland, 1989. [Google Scholar]
  32. Akimova, E.N. Parallel Algorithms for Solving the Gravimetry, Magnetometry, and Elastisity Problems on Multiprocessor Systems with Distributed Memory. Doctor of Physical and Mathematical Sciences, Institute of Mathematics and Mechanics, Ural Branch of Russian Academy of Sciences, Ekaterinburg, Russia, 2009. (In Russian). [Google Scholar]
  33. Saad, Y. Iterative Methods for Sparse Linear Systems; SIAM: Philadelphia, PA, USA, 2003. [Google Scholar]
  34. Vasin, V.V.; Eremin, I.I. Operators and Iterative Processes of Fejér Type: Theory and Applications; De Gruyter: Berlin, Germany; New York, NY, USA, 2009. [Google Scholar] [CrossRef]
  35. OpenMP Community. OpenMP Application Programming Interface Specification. Available online: https://www.openmp.org (accessed on 1 August 2023).
  36. Intel Corporation. Accelerate Fast Math with Intel oneAPI Math Kernel Library. Available online: https://www.intel.com/content/www/us/en/developer/tools/oneapi/onemkl.html (accessed on 1 August 2023).
  37. Zhang, Y.N.; Sun, Z.Z. Alternating direction implicit schemes for the two-dimensional fractional sub-diffusion equation. J. Comput. Phys. 2011, 230, 8713–8728. [Google Scholar] [CrossRef]
Figure 1. Results of Experiment 1 for Problem 1: (a) exact solution U ( x 1 , x 2 , T ) ; (b) approximate solution U ˜ ( x 1 , x 2 , T ) obtained by the parallel sweep algorithm.
Figure 1. Results of Experiment 1 for Problem 1: (a) exact solution U ( x 1 , x 2 , T ) ; (b) approximate solution U ˜ ( x 1 , x 2 , T ) obtained by the parallel sweep algorithm.
Fractalfract 07 00801 g001
Figure 2. Results of Experiment 2 for Problem 1: (a) exact solution ψ ( x 1 , x 2 ) ; (b) approximate solution ψ ˜ ( x 1 , x 2 ) obtained by the regularized conjugate gradient method with noise level δ = 0.02 .
Figure 2. Results of Experiment 2 for Problem 1: (a) exact solution ψ ( x 1 , x 2 ) ; (b) approximate solution ψ ˜ ( x 1 , x 2 ) obtained by the regularized conjugate gradient method with noise level δ = 0.02 .
Fractalfract 07 00801 g002
Figure 3. A priori data φ ( x 1 , x 2 ) for Problem 2.
Figure 3. A priori data φ ( x 1 , x 2 ) for Problem 2.
Fractalfract 07 00801 g003
Figure 4. Results of experiments for Problem 2: approximate solution ψ ˜ ( x 1 , x 2 ) obtained by the regularized conjugate gradient method with noise level (a) δ = 0.00 ; (b) δ = 0.01 ; (c) δ = 0.02 ; and (d) δ = 0.05 .
Figure 4. Results of experiments for Problem 2: approximate solution ψ ˜ ( x 1 , x 2 ) obtained by the regularized conjugate gradient method with noise level (a) δ = 0.00 ; (b) δ = 0.01 ; (c) δ = 0.02 ; and (d) δ = 0.05 .
Fractalfract 07 00801 g004
Figure 5. Roofline analysis for various subroutines (represented by dots) of parallel code for 16 OpenMP threads.
Figure 5. Roofline analysis for various subroutines (represented by dots) of parallel code for 16 OpenMP threads.
Fractalfract 07 00801 g005
Table 1. Results of Experiment 1 for Problem 1: relative error of solving the direct problem.
Table 1. Results of Experiment 1 for Problem 1: relative error of solving the direct problem.
Grid Size N ˜ = 64 N ˜ = 128 N ˜ = 256
α = 0.5 n = N = 128 3.64 × 10 4 1.48 × 10 4 7.07 × 10 5
n = N = 256 3.45 × 10 4 1.26 × 10 4 4.93 × 10 5
n = N = 512 3.40 × 10 4 1.21 × 10 4 1.98 × 10 5
α = 0.8 n = N = 128 2.25 × 10 3 9.44 × 10 4 4.23 × 10 4
n = N = 256 2.13 × 10 3 9.25 × 10 4 4.04 × 10 4
n = N = 512 2.12 × 10 3 9.20 × 10 4 4.02 × 10 4
α = 0.95 n = N = 128 5.14 × 10 3 2.48 × 10 3 1.20 × 10 3
n = N = 256 5.12 × 10 3 2.46 × 10 3 1.18 × 10 3
n = N = 512 5.11 × 10 3 2.45 × 10 3 1.18 × 10 3
Table 2. Results of Experiment 1 for Problem 1: computing time of solving the direct problem.
Table 2. Results of Experiment 1 for Problem 1: computing time of solving the direct problem.
MethodNumber L of OpenMP Threads T L (Minutes) T SLAE T Right
Matrix Sweep (13) and (14)Serial28.628.50.13
Parallel Matrix Sweep (Listing 1)230.730.630.06
Parallel Matrix Sweep416.316.260.03
Parallel Matrix Sweep810.110.080.016
Parallel Matrix Sweep1610.510.480.017
Table 3. Results of Experiment 2 for Problem 1: solving the inverse problem.
Table 3. Results of Experiment 2 for Problem 1: solving the inverse problem.
Noise Level δ Noise Level δ 2 Regularization Parameter ε Stopping Rule μ Number of Iterations SError of Solution ψ ψ ˜ / ψ
0000.00135 × 10 5
0.010.0060.10.00620.1
0.020.010.10.0120.14
0.050.030.20.0310.16
Table 4. Results of experiments for Problem 2: solving the inverse problem.
Table 4. Results of experiments for Problem 2: solving the inverse problem.
Noise Level δ Noise Level δ 2 Regularization Parameter ε Stopping Rule μ Number of Iterations SError of Solution ψ ψ ˜ / ψ
0000.00133.2 × 10 4
0.010.0060.020.00630.13
0.020.010.020.0130.19
0.050.030.050.0310.23
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Akimova, E.N.; Sultanov, M.A.; Misilov, V.E.; Nurlanuly, Y. Parallel Algorithm for Solving the Inverse Two-Dimensional Fractional Diffusion Problem of Identifying the Source Term. Fractal Fract. 2023, 7, 801. https://doi.org/10.3390/fractalfract7110801

AMA Style

Akimova EN, Sultanov MA, Misilov VE, Nurlanuly Y. Parallel Algorithm for Solving the Inverse Two-Dimensional Fractional Diffusion Problem of Identifying the Source Term. Fractal and Fractional. 2023; 7(11):801. https://doi.org/10.3390/fractalfract7110801

Chicago/Turabian Style

Akimova, Elena N., Murat A. Sultanov, Vladimir E. Misilov, and Yerkebulan Nurlanuly. 2023. "Parallel Algorithm for Solving the Inverse Two-Dimensional Fractional Diffusion Problem of Identifying the Source Term" Fractal and Fractional 7, no. 11: 801. https://doi.org/10.3390/fractalfract7110801

APA Style

Akimova, E. N., Sultanov, M. A., Misilov, V. E., & Nurlanuly, Y. (2023). Parallel Algorithm for Solving the Inverse Two-Dimensional Fractional Diffusion Problem of Identifying the Source Term. Fractal and Fractional, 7(11), 801. https://doi.org/10.3390/fractalfract7110801

Article Metrics

Back to TopTop