Keywords

1 Introduction

Consider the following nonlinear fractional differential equation, with \(\alpha >0\),

$$\begin{aligned} \,_{0}^{C} D_{t}^{\alpha } y(t) = f(t, y(t)), \; t>0, \; y^{(k)} (0) = y_{0}^{(k)}, \; k=0, 1, \dots , \lceil \alpha \rceil -1, \end{aligned}$$
(1)

where \(\,_{0}^{C} D_{t}^{\alpha } y(t) \) denotes the Caputo fractional derivative and \( \lceil \alpha \rceil \) is the smallest integer \(\ge \alpha \). Here \(y_{0}^{(k)}\) are the initial values.

It is well-known that (1) is equivalent to, [4, Lemma 2.3]

$$\begin{aligned} y(t) = \sum _{\nu =0}^{ \lceil \alpha \rceil -1} y_{0}^{(\nu )} \frac{t^{\nu }}{\nu !} + \frac{1}{\varGamma (\alpha )} \int _{0}^{t} (t-s)^{\alpha -1} f(s, y(s)) \, ds. \end{aligned}$$
(2)

For the existence and uniqueness of the solution of (1) and the application of the Newton iteration method for solving the nonlinear equation of the proposed numerical method, we demand that the function f is continuous on a suitable set \((0, T) \times (c, d)\) and \(f(t, \cdot ) \in C^{2}[c, d]\) for some \(c, d \in \mathbb {R}^{+}\) and any fixed \( t \in [0, T]\). Under these assumptions, Diethelm et al. [4, Theorems 2.1, 2.2] showed that (1) has a unique solution y on some interval [0, T].

There are many works in the literature to consider the numerical methods for solving (1), see, e.g., [1, 2, 4, 8, 13, 15, 16]. Most numerical methods for solving (1) are designed and analyzed with the uniform meshes, see, e.g., [4,5,6, 8, 16]. Since the fractional differential equation is a nonlocal problem and the derivative of the solution of (1) has the singularity at \(t=0\), it is not possible to obtain the high order numerical methods with uniform meshes. Therefore it is natural to use the non-uniform meshes to capture the singularity near \(t=0\). Diethelm [3, Theorem 3.1] used the graded meshes to recover the optimal convergence order for the approximation of the Hadamard finite-part integral. Recently Stynes et al. [11, 12] applied the graded meshes to recover the convergence order of the finite difference method for solving time-fractional diffusion equation when the solution is not sufficiently smooth. Li et al. [7] considered the error estimates of the rectangle formula, trapezoid formula and the predictor-corrector scheme with non-uniform meshes for solving (1) under the assumption that the solution is sufficiently smooth. Other works for solving fractional differential equations with non-uniform meshes may be found in, for example, [7, 14, 17, 18].

Recently, Liu et al. [9] designed a predictor-corrector numerical method for solving (1) with graded meshes and the detailed error estimates are provided. Liu et al. [10] also introduced a numerical method with non-uniform meshes for solving (1) and the detailed error estimates are considered. This paper is the continuation of the works in [9, 10] and we will introduce a high order numerical method for solving (1) with non-uniform meshes. More precisely, we first approximate the integral in (2) with the piecewise quadratic interpolation polynomials with non-uniform meshes. We then use the Newton iteration for solving the nonlinear equation. Numerical examples show that this method has the high order convergence for solving nonlinear fractional differential equation with non-uniform meshes, where the solution of the fractional differential equation has the low regularity at \(t=0\).

The novelties of this work are as follows:

  1. 1.

    A new way to approximate the integral in the Volterra integral Eq. (2) by using the piecewise quadratic polynomials is introduced.

  2. 2.

    A high order numerical method for solving nonlinear fractional differential Eq. (1) with non-uniform meshes is obtained which is particular useful when f is not sufficiently smooth with respect to time t. The convergence order of the proposed numerical method is higher than the available numerical methods in [7, 9, 10] for solving (1) with non-uniform meshes.

The paper is organized as follows. In Sect. 2, we introduce a high-order numerical method for solving (1). In Sect. 3, we give a numerical example which shows that the numerical results are consistent with the theoretical results.

2 A High Order Numerical Method with Non-uniform Meshes

For simplicity, we only consider the case with \(\alpha \in (0, 1)\) below. Similarly one may consider the general case with \(\alpha >1\). More precisely, we shall consider the numerical algorithm for solving, with \(\alpha \in (0, 1)\),

$$\begin{aligned} y(t) - y(0) = \frac{1}{\varGamma (\alpha )}\int ^{t}_{0}(t-s)^{\alpha -1}f(s,y(s)) \; ds. \end{aligned}$$
(3)

Let N be a positive integer. Let \(0 = t_{0}< t_{1}< \dots< t_{n} < t_{n+1}=T, \, n=0, 1, 2, \dots , N-1\) be the time partition of [0, T]. We want to find the approximate value \(y_{n+1}\) of \(y(t_{n+1})\) at \(t = t_{n+1} \). We shall consider the approximation of the following integral, with \(n=0, 1, 2, \dots , N-1\),

$$ I_{n+1} = \int _{0}^{t_{n+1}} (t_{n+1} -s)^{\alpha -1} f(s, y(s)) \, ds = \sum _{j=0}^{n} \int _{t_{j}}^{t_{j+1}} (t_{n+1} - s)^{\alpha -1} f(s, y(s)) \, ds. $$

It can be approximated by the following approach

$$ I_{n+1} \approx \sum _{j=0}^{n} \int _{t_{j}}^{t_{j+1}} (t_{n+1}-s)^{\alpha -1} \tilde{f}_{j} (s, y(s)) \, ds, $$

where \(\tilde{f}_{j} (s, y(s)), j=0, 1, 2, \dots , n\) is the approximation of f(sy(s)) on the interval \([t_{j}, t_{j+1}]\).

It will lead to different scheme by choosing different \(\tilde{f}_{j}(s, y(s))\). In [7], Li et al. introduced the fractional rectangle, trapezoid, and predictor-corrector methods respectively. In this paper, we shall construct a high order numerical method for solving (2) by approximating the integral in (2) with the piecewise quadratic polynomials. Numerical examples in Sect. 3 show that the convergence order of the proposed numerical method is almost 3 for the sufficiently smooth function f(ty(t)) and the suitable chosen non-uniform meshes as expected.

Let \(P_2^{(j)} (s)\) denote the quadratic interpolation polynomial approximation of f(sy(s)) on the interval \([t_j,t_{j+1}], j=0, 1, 2, \dots , n\), where \(P_2^{(0)} (s)\) is the quadratic interpolation polynomial of f(ty(t)) on the nodes \(t_{0}, t_{1}, t_{2}\) and \(P_2^{(j)}(s), j=1, 2, \dots , n\) are the quadratic interpolation polynomial of f(ty(t)) on the nodes \(t_{j-1}, t_{j}, t_{j}\). More precisely, we have

$$\begin{aligned} P_2^{(0)} (s)&= \frac{(s-t_{1})(s-t_{2})}{(t_{0}-t_{1})(t_{0}-t_{2})}f(t_{0},y(t_{0})) +\frac{(s-t_{0})(s-t_{2})}{(t_{1}-t_{0})(t_{1}-t_{2})}f(t_{1},y(t_{1}) ) \\&+ \frac{(s-t_{0})(s-t_{1})}{(t_{2}-t_{0})(t_{2}-t_{1})}f(t_{2},y(t_{2})), \end{aligned}$$

and, with \(j=1, 2, \dots , n\),

$$\begin{aligned} P_2^{(j)} (s)&= \frac{(s-t_{j})(s-t_{j+1})}{(t_{j-1}-t_{j})(t_{j-1}-t_{j+1})}f(t_{j-1},y(t_{j-1}))+\frac{(s-t_{j-1})(s-t_{j+1})}{(t_{j}-t_{j-1})(t_{j}-t_{j+1})}f(t_{j},y(t_{j}) ) \\&+ \frac{(s-t_{j-1})(s-t_{j})}{(t_{j+1}-t_{j-1})(t_{j+1}-t_{j})}f(t_{j+1},y(t_{j+1})). \end{aligned}$$

We then get the following numerical approximate scheme for approximating (2),

$$\begin{aligned} y_{n+1} - y_0 = \sum ^{n+1}_{j=0}\tilde{\tilde{w}}_{j,n+1}f(t_{j},y_j), \end{aligned}$$
(4)

where, after some simple but tedious calculations,

(5)

Here

$$\begin{aligned} C_0 =&\alpha (\alpha +1)\big [(t_{n+1}-t_0)^{\alpha +2}- (t_{n+1}-t_{1})^{\alpha +2}\big ] \\&-\alpha (\alpha +2)(2t_{n+1}-t_{1}-t_{2})\big [(t_{n+1}-t_0)^{\alpha +1}- (t_{n+1}-t_{1})^{\alpha +1}\big ] \\&+(\alpha +1)(\alpha +2)(t_{n+1}-t_{1})(t_{n+1}-t_{2})\big [(t_{n+1}-t_0)^{\alpha }- (t_{n+1}-t_{1})^{\alpha }\big ], \end{aligned}$$
$$\begin{aligned} C_1 =&\alpha (\alpha +1)\big [(t_{n+1}-t_0)^{\alpha +2}- (t_{n+1}-t_{1})^{\alpha +2}\big ] \\&-\alpha (\alpha +2)(2t_{n+1}-t_{0}-t_{2})\big [(t_{n+1}-t_0)^{\alpha +1}- (t_{n+1}-t_{1})^{\alpha +1}\big ] \\&+(\alpha +1)(\alpha +2)(t_{n+1}-t_{0})(t_{n+1}-t_{2})\big [(t_{n+1}-t_0)^{\alpha }- (t_{n+1}-t_{1})^{\alpha }\big ] \end{aligned}$$
$$\begin{aligned} D_1 =&\alpha (\alpha +1)\big [(t_{n+1}-t_2)^{\alpha +2}- (t_{n+1}-t_{3})^{\alpha +2}\big ] \\&-\alpha (\alpha +2)(2t_{n+1}-t_{2}-t_{3})\big [(t_{n+1}-t_2)^{\alpha +1}- (t_{n+1}-t_{3})^{\alpha +1}\big ] \\&+(\alpha +1)(\alpha +2)(t_{n+1}-t_{2})(t_{n+1}-t_{3})\big [(t_{n+1}-t_2)^{\alpha }- (t_{n+1}-t_{3})^{\alpha }\big ], \end{aligned}$$
$$\begin{aligned} C_2 =&\alpha (\alpha +1)\big [(t_{n+1}-t_0)^{\alpha +2}- (t_{n+1}-t_{1})^{\alpha +2}\big ] \\&-\alpha (\alpha +2)(2t_{n+1}-t_{0}-t_{1})\big [(t_{n+1}-t_0)^{\alpha +1}- (t_{n+1}-t_{1})^{\alpha +1}\big ] \\&+(\alpha +1)(\alpha +2)(t_{n+1}-t_{0})(t_{n+1}-t_{1})\big [(t_{n+1}-t_0)^{\alpha }- (t_{n+1}-t_{1})^{\alpha }\big ], \end{aligned}$$
$$\begin{aligned} D_2 =&\alpha (\alpha +1)\big [(t_{n+1}-t_2)^{\alpha +2}- (t_{n+1}-t_{3})^{\alpha +2}\big ] \\&-\alpha (\alpha +2)(2t_{n+1}-t_{1}-t_{3})\big [(t_{n+1}-t_2)^{\alpha +1}- (t_{n+1}-t_{3})^{\alpha +1}\big ] \\&+(\alpha +1)(\alpha +2)(t_{n+1}-t_{1})(t_{n+1}-t_{3})\big [(t_{n+1}-t_2)^{\alpha }- (t_{n+1}-t_{3})^{\alpha }\big ], \end{aligned}$$
$$\begin{aligned} E_2 =&\alpha (\alpha +1)\big [(t_{n+1}-t_3)^{\alpha +2}- (t_{n+1}-t_{4})^{\alpha +2}\big ] \\&-\alpha (\alpha +2)(2t_{n+1}-t_{3}-t_{4})\big [(t_{n+1}-t_3)^{\alpha +1}- (t_{n+1}-t_{4})^{\alpha +1}\big ] \\&+(\alpha +1)(\alpha +2)(t_{n+1}-t_{3})(t_{n+1}-t_{4})\big [(t_{n+1}-t_3)^{\alpha } (t_{n+1}-t_{4})^{\alpha }\big ], \end{aligned}$$
$$\begin{aligned} C_j =&\alpha (\alpha +1)\big [(t_{n+1}-t_j)^{\alpha +2}- (t_{n+1}-t_{j+1})^{\alpha +2}\big ] \\&-\alpha (\alpha +2)(2t_{n+1}-t_{j-2}-t_{j-1})\big [(t_{n+1}-t_j)^{\alpha +1}-(t_{n+1}-t_{j+1})^{\alpha +1}\big ] \\&+(\alpha +1)(\alpha +2)(t_{n+1}-t_{j-2})(t_{n+1}-t_{j-1})\big [(t_{n+1}\!-t_j)^{\alpha }- (t_{n+1}\!-t_{j+1})^{\alpha }\big ], \end{aligned}$$
$$\begin{aligned} D_j =&\alpha (\alpha +1)\big [(t_{n+1}-t_j)^{\alpha +2}- (t_{n+1}-t_{j+1})^{\alpha +2}\big ] \\&-\alpha (\alpha +2)(2t_{n+1}-t_{j-1}-t_{j+1})\big [(t_{n+1}-t_j)^{\alpha +1}- (t_{n+1}-t_{j+1})^{\alpha +1}\big ] \\&+(\alpha +1)(\alpha +2)(t_{n+1}-t_{j-1})(t_{n+1}-t_{j+1})\big [(t_{n+1}\!-t_j)^{\alpha }- (t_{n+1}\!-t_{j+1})^{\alpha }\big ], \end{aligned}$$
$$\begin{aligned} E_j =&\alpha (\alpha +1)\big [(t_{n+1}-t_j)^{\alpha +2}- (t_{n+1}-t_{j+1})^{\alpha +2}\big ] \\&-\alpha (\alpha +2)(2t_{n+1}-t_{j+1}-t_{j+2})\big [(t_{n+1}-t_j)^{\alpha +1}- (t_{n+1}-t_{j+1})^{\alpha +1}\big ] \\&+(\alpha +1)(\alpha +2)(t_{n+1}-t_{j+1})(t_{n+1}-t_{j+2})\big [(t_{n+1}\!-t_j)^{\alpha }- (t_{n+1}\!-t_{j+1})^{\alpha }\big ], \end{aligned}$$
$$\begin{aligned} D_n =&\alpha (\alpha +1)\big [(t_{n+1}-t_{n-1})^{\alpha +2}- (t_{n+1}-t_{n})^{\alpha +2}\big ] \\&-\alpha (\alpha +2)(2t_{n+1}-t_{n-2}-t_{n-1})\big [(t_{n+1}-t_{n-1})^{\alpha +1}- (t_{n+1}-t_{n})^{\alpha +1}\big ] \\&+(\alpha +1)(\alpha +2)(t_{n+1}-t_{n-2})(t_{n+1}-t_{n-1})\big [(t_{n+1}-t_{n-1})^{\alpha }- (t_{n+1}-t_{n})^{\alpha }\big ], \end{aligned}$$
$$\begin{aligned} E_n =&\alpha (\alpha +1)(t_{n+1}-t_n)^{\alpha +2}-\alpha (\alpha +2)(t_{n+1}-t_{n-1})(t_{n+1}-t_n)^{\alpha +1} \\&+(\alpha +1) (\alpha +2) (t_{n+1}-t_{n-1})(t_{n+1}-t_n)^{\alpha }, \end{aligned}$$
$$\begin{aligned} E_{n+1} =&\alpha (\alpha +1)(t_{n+1}-t_n)^{\alpha +2}-\alpha (\alpha +2)(2t_{n+1}-t_{n-1}-t_{n})(t_{n+1}-t_n)^{\alpha +1} \\&+(\alpha +1)(\alpha +2)(t_{n+1}-t_{n-1})(t_{n+1}-t_{n})(t_{n+1}-t_n)^{\alpha }. \end{aligned}$$

Now we need to solve \(y_{n+1}\) in (4) with the weights defined in (5). Let us here only consider how to calculate \(y_{1}\). The calculation of \(y_{l}, l \ge 2\) is similar. Note that, by (4),

$$ y_{1} = y_0 + \tilde{\tilde{w}}_{0, 1}f(t_{0},y_0) + \tilde{\tilde{w}}_{1, 1}f(t_{1},y_1). $$

Denote

$$ g(y_1) = y_{1} - [ y_0 + \tilde{\tilde{w}}_{0, 1}f(t_{0},y_0) + \tilde{\tilde{w}}_{1, 1}f(t_{1},y_1)]. $$

We then need to solve \(g(y_1)=0\) which is a nonlinear equation with respect to the variable \(y_1\). Let \(z_0= y_0\) be the initial guess, then \(y_1\) can be approximated by \(z_{M} \approx y_1\) which is obtained by the following Newton iteration formula

$$ z_{l+1} = z_{l} - \frac{g (z_{l})}{g^{\prime }(z_{l})}, \; l=0, 1, 2, \dots , M. $$

Here \(g^{\prime }\) denotes the derivative of g and the positive integer \(M \in \mathbb {N}\) can be determined by using the error control quantity \(| z_{M} - z_{M-1}| < 10^{-10}\). The assumption for f in our paper guarantees that the sequence \(z_{l}, l=0, 1, 2, \dots \) is convergent.

Remark 1

The work in this paper is the extension of the work in [7] where the authors introduced the fractional rectangle, trapezoid and predictor-corrector methods with non-uniform meshes for solving (1). The stability and error estimates are discussed in [7]. One may use the similar approach to discuss the stability and error estimates of the proposed numerical method (4) in this work.

3 Numerical Results

We will now look at some numerical results for the numerical method defined in (4) with non-uniform mesh with the time step size

$$\begin{aligned} \tau _j = t_{j+1} - t_j = (j+1)\mu , \, j=0,1,2,\dots ,N-1, \end{aligned}$$
(6)

where \(\mu = \frac{2T}{N(N+1)}\).

Remark 2

Following the analysis in [7, Sect. 4], if f(ty(t)) is sufficiently smooth, the convergence orders of the proposed numerical methods in [7] for both uniform and non-uniform meshes are highly possible the same. But for non-smooth function f(ty(t)), non-uniform meshes are much suitable than uniform meshes. For the non-smooth function f(ty(t)), Li et al. [7] proved the error estimates for the fractional rectangle, trapezoid and predictor-corrector methods with the concrete non-uniform meshes (6). The mesh (6) is not the unique non-uniform meshes in literature. In general one may consider the graded meshes with \(t_{j}= T (j/N)^{r}, r>0\), see, e.g., [9, 10]. In fact, after a simple calculation, one may see that the mesh (6) is equivalent to the graded mesh with \(r=2\). In some cases, one may get better convergence order when choosing the graded mesh with \(r>2\) for some non-smooth function f(ty(t)).

In this section, we shall consider two examples. In the first example, we consider the case where the solution of (1) is very smooth and in the second example we consider the case where the solution is less regular.

Example 1

Consider, with \(\alpha \in (0, 1)\) and \(\beta >0\),

(7)

where \( f(t, y) = \frac{\varGamma (1+\beta )}{\varGamma (1+\beta -\alpha )}t^{\beta -\alpha } + t^{2 \beta } -y^2 \) and the exact solution is \( y(t)=t^{\beta }\). We choose \(\beta =2\) and the exact solution is now very smooth \(y(t) = t^2\).

In Table 1, we list the experimentally determined convergence orders for the quadratic method (4) with respect to the different \(\alpha =0.4, 0.6, 0.8\). We observe that the quadratic method with the non-uniform meshes has the convergence order almost 3 as we expected.

Table 1. Errors at T = 1 by using quadrature method (4) in Example 1

Example 2

We consider the same equation as in Example 1 with \(\beta = 0.9\). In this case the exact solution is \(y(t) = t^{0.9}\) which is not so regular. In Table 2, we observe that the convergence orders are much lower than the smooth case in Example 1 for both uniform and non-uniform meshes. This is because f(ty(t)) behaves as \(t^{\beta -\alpha }, \beta = 0.9\) in Example 2 which is less smoother than \(t^{2-\alpha }\) in Example 1. The convergence order depends on the smoothness of the regularity of f(ty(t)), see [7, 9, 10].

Table 2. Errors at T = 1 by using quadrature method (4) in Example 2