Introduction

We consider the nonlinear Fisher's reaction–diffusion equation

u t = α 2 u x 2 + β u 1 u , a x b , t > 0 ,
(1.1)

with the initial and boundary conditions

u x , 0 = u 0 x , a x b
(1.2)
u a , t = g 0 t , u b , t = g 1 t , t 0 , t .
(1.3)

The properties of Fisher's equation have been contrived theoretically by many authors. The analysis of travelling wave solution of Fisher's equation has been studied by many computational approaches. Travelling wave fronts have important applications in various fields of science and engineering, for example, chemistry, biology, and medicine [1]. One of the first numerical solutions was described by Gazdag and Canosa [2] with a pseudo-spectral approach. Ablowitz and Zepetella [3] have established an explicit solution of Fisher's equation for a special wave speed. Twizell et al. [4] and Parekh and Puri [5] have demonstrated implicit and explicit finite-differences algorithms to discuss the numerical study of Fisher's equation. Tang and Weber [6] have proposed a Galerkin finite element method for solving Fisher's equation. Mickens [7] has introduced a best finite-difference scheme for Fisher's equation. Mavoungou and Cherruault [8] have depicted a numerical study of Fisher's equation by Adomian's method. Qiu and Sloan [9] have used a moving mesh method for numerical solution of Fisher's equation. Al-Khaled [10] has proposed the sinc collocation method for Fisher's equation. Zhao and Wei [11] have presented a comparison of the discrete singular convolution and three other numerical schemes for solving Fisher's equation. Wazwaz and Gorguis [12] have given the exact solutions to Fisher's equation and to a nonlinear diffusion equation of the Fisher type by employing the Adomian decomposition method. Olmos and Shizgal [13] have constructed the numerical solutions to Fisher's equation using a pseudo-spectral approach. Mittal and Kumar [14] and El-Azab [15] have contrived Fisher's equation by applying the wavelet Galerkin method. Recently, Sahin et al. [16] have applied the B-spline Galerkin approach to find numerical solution of Fisher's equation. Cattani and Kudreyko [17] have developed multiscale analysis of the Fisher equation. Mittal and Jiwari [18] have developed a numerical study of Fisher's equation by using differential quadrature method. Mittal and Arora [19] have presented efficient numerical solution of Fisher's equation by using B-spline collocation method.

In this paper, we have presented a simple numerical method that uses modified cubic B-spline for the spatial derivatives which produce a system of first-order ordinary differential equations. We solve this system by using SSP-RK54 scheme. This method needs less storage space that causes less accumulation of numerical errors. The approximate numerical solution to the nonlinear Fisher's reaction–diffusion equation has been computed without using any transformation and linearization process.

This paper is organized as follows: In the ‘Description of the methods’ section, description of cubic B-spline collocation method is explained. In the ‘Modified cubic B-spline collocation method’ section, procedure for implementation of present method is described for Equations 1.1 to 1.3. In the ‘The initial vector α0’ section, procedure to obtain an initial vector which is required to start our method is explained. We have discussed three test examples to authenticate the adaptability and accuracy of the presented method in the ‘Numerical experiments and discussion’ section, followed by the ‘Conclusions’ section that briefly summarizes the numeric approximate outcomes.

Description of the methods

In the cubic B-spline collocation method, the approximate solution can be written as a linear combination of cubic B-spline basis functions for the approximation space under consideration.

We consider a mesh a = x0 < x1, …, xN − 1 < x N  = b as a uniform partition of the solution domain a ≤ x ≤ b by the knots xj with h = x j x j 1 = b a N , j = 1 , , N .

Our numerical treatment for solving Equation 1.1 using the collocation method with cubic B-splines is to find an approximate solution UN(x,t) to the exact solution u(x,t) in the form

U N x , t = j = 1 N + 1 α j t B j x ,
(2.1)

where α j (t) are unknown time-dependent quantities to be determined from the boundary conditions and collocation from the differential equation.

The cubic B-spline B j (x) at the knots is given by

B j x = 1 h 3 x x j 2 3 x j 2 , x j 1 x x j 2 3 4 x x j 1 3 x j 1 , x j x j + 2 x 3 4 x j + 1 x 3 x j + 2 x 3 0 x j , x j + 1 x j + 1 , x j + 2 otherwise
(2.2)

where B1,B0,B1,…, BN − 1B N ,BN + 1 forms a basis over the region axb.

Each cubic B-spline covers four elements, so each element is covered by four cubic B-splines. The values of B j (x) and its derivative may be tabulated as in Table 1.

Table 1 Coefficient of cubic B-splines and its derivatives at knots x j

Using approximate function (2.1) and cubic B-spline function (2.2), the approximate values of UN(x) and its two derivatives at the knots/nodes are determined in terms of the time parameters αj as follows:

U j = α j 1 + 4 α j + α j + 1 h U j = 3 α j + 1 α j 1 h 2 U j = 6 α j 1 2 α j + α j + 1
(2.3)

Modified cubic B-spline collocation method

In this paper, we have used the following modification in cubic B-spline basis functions to solve Fisher's equation. In the proposed method, there is a necessity to modify the cubic B-spline basis functions into a new set of basis functions in such manner, so we obtained a diagonally dominant system of differential equations for handling with Dirichlet boundary conditions. The procedure for modifying the basis functions is given as follows:

B ˜ 0 x = B 0 x + 2 B 1 x
B ˜ 1 x = B 1 x B 1 x
B ˜ j x = B j x , j = 2 , , N 2
(3.1)
B ˜ N 1 x = B N 1 x B N + 1 x
B ˜ N x = B N x + 2 B N + 1 x

Now, we consider the approximate solution using the modified cubic B-spline basis functions in the form

U N x 0 , t = g 0 t , for j = 0 U N x j , t = j = 0 N α j B ˜ j x , for j = 1 , , N 1 U N x N , t = g 1 t , for j = N
(3.2)

To apply the proposed method with the modified set of cubic B-spline basis functions B ˜ j x , j = 0 , , N to Equations 1.1 to 1.3, we proceed as follows:

Our numerical treatment for solving Equation 1.1 using the collocation method with modified cubic B-splines is to find an approximate solution UN(x,t) to the exact solution u(x,t) which is given in (3.2), where α j (t) are time-dependent quantities to be determined from the boundary conditions and collocation from the differential equation.

Using approximate solution (3.2) and modified cubic B-spline function (3.1), the approximate values of U t N(x) at the knots/nodes are determined in terms of the time parameters α j as follows:

U t 0 = g ˙ 0 t , for j = 0 U t j = j = 0 N α ˙ j B ˜ j x , for j = 1 , , N 1 U t N = g ˙ 1 t , for j = N
(3.3)

Using (3.1) and Table 1 in (3.3), we obtained

U t 0 = 6 α ˙ 0 , for j = 0 U t j = α ˙ j 1 + 4 α ˙ j + α ˙ j + 1 , for j = 1 , , N 1 U t N = 6 α ˙ N , for j = N
(3.4)

Using (3.1) to (3.4) in (1.1) to (1.3), we have

6 α ˙ 0 = g ˙ 0 t , for j = 0
0 N + 1 α ˙ j B ˜ j x = α 0 N + 1 α j B ˜ j ' ' x + β 0 N + 1 α j B ˜ j x 1 0 N + 1 α j B ˜ j x ,
for j = 1 , , N 1
6 α ˙ N = g ˙ 1 t , for j = N
(3.5)

Using (3.2) to (3.4) in (3.5), we get a system of ordinary differential equations of the form

A α ˙ = φ
(3.6)
where A = 6 0 1 4 1 1 4 1 0 6 , α ˙ = α ˙ 0 α ˙ 1 α ˙ N 1 α ˙ N , φφ = φφ 0 φφ 1 φφ N 1 φφ N
φφ 0 = g ˙ 0 t , for j = 0
φφ j = α α j 1 2 α j + α j + 1 + β α j 1 + 4 α j + α j + 1 1 α j 1 + 4 α j + α j + 1
for j = 1 , , N 1
φφ N = g ˙ 1 t , for j = N

Here A is the (N + 1) × (N + 1) tridiagonal matrix and φφ is the (N + 1)-order vector which depends on the boundary conditions.

Now, we solve the first-order ordinary differential equation system (3.6) by using SSP-RK54 scheme [20]. Once the parameter α0 has been determined at a specified time level, we can compute the solution at the required knots. In (3.6), first we solve this system for vector α ˙ by using a variant of the Thomas algorithm only once at each time level t > 0, then we get a first-order system of ordinary differential equations which can be solved for vector α by using SSP-RK54 scheme, and consequently, the solution UN(x,t) is completely known.

The initial vector α0

The initial vector α0 can be obtained from the initial condition and boundary values of the derivatives of the initial condition as the following expressions:

U x j , 0 = g 0 0 , j = 0 ,
U x j , 0 = φφ x j , j = 1 , , N 1
U x j , 0 = g 1 0 , j = N .

This yields a (N + 1) × (N + 1) system of equations of the form

0 = b, (4.1)

where

A = 6 0 1 4 1 1 4 1 0 6 , α 0 = α 0 0 α 1 0 α N 1 0 α N 0 , and b = g 0 0 φφ x 1 φφ x N 1 g 1 0

The solution of (4.1) can be found using the Thomas algorithm.

Numerical experiments and discussion

In order to show the utility and adaptability of the method, it is tested on the following three test examples.

Example 1. We consider Equation 1.1 as given in [6] with initial condition

u 0 x = sech 2 10 x ,
(5.1)

and boundary conditions are

lim x u x , t = 0 and lim x u x , t = 0.
(5.2)

For all cases, we set α = 0.1, β = 1.0, h = 0.05, and ∆t = 0.005.

The space scale L is adjusted to ensure that there is sufficient space for waves to propagate.

The contour plots of u at different t are shown in Figures 1, 2, 3, and 4.

Figure 1
figure 1

Approximate solutions at t = 0 to 0.2 with step size h = 0. 05.

Figure 2
figure 2

Approximate solutions at t = 0 to 5 with step size h = 0.5.

Figure 3
figure 3

Approximate solutions at t = 0 to 40 with step size h = 2.

Figure 4
figure 4

Approximate solutions at t = 0 to 40 with step size h = 2.

Figure 1 is for a short period of time, showing the results or t = 0 to 0.2 with step size h = 0.05. At the very beginning, near x = 0, u xx < 0 with a large absolute value, but the reaction term u(1 − u) is quite small, that is, the effect of diffusion dominates over the effect of reaction, so the peak goes down rapidly and gets flatter.

Figure 2 is for the period of time for t = 0 to 5 with step size h = 0.5. It shows that after the peak of the contour arrives at the lowest level, the reaction term dominates the diffusion (gradually), so it begins to go up and flatten itself until at the top u = 1.

Figure 3 is for the period of time t = 0 to 40 with step size h = 2. It shows that after the peak has returned to its original position, the contour on the top becomes flatter and flatter. So, after a long time, the contour looks like a bell with a flat top and very steep lateral sides, which propagate to the left and right symmetrically. The wave fronts (i.e., the lateral sides) approach a fixed shape, and their propagating speed approaches a constant value c.

Finally, in Figure 4, we show the results for the initial condition

u 0 x = 0.1 sech 2 10 x

Example 2. We consider Equation 1.1 as given in [19] with α = 1 as

u t = 2 u x 2 + β u 1 u ,
(5.3)

and boundary conditions are

lim x u x , t = 1.0 and lim x u x , t = 0.
(5.4)

The exact solution of Equation 5.3 is taken as

u x , t = 1 1 + exp β 6 x 5 β 6 t 2
(5.5)

The numerical solution of Equation 5.3 with given boundary conditions by taking [a, b] = [−0.2, 0.8] has been computed at β = 2,000, 5,000, and 10,000 with ∆t = 0.0001. The number of partitions is taken 40 for β = 2,000, 5,000, and 120 for β = 10,000.

The computed results are presented graphically to compare results with other researchers. Results obtained are found in good agreement with the results obtained by Olmos and Shizgal [13] and Mittal and Arora [19].

Figures 5, 6, and 7 have depicted the exact and numerical solutions at different times.

Figure 5
figure 5

Time-dependent profiles versus x for ρ = 2, 000 and N = 200 at t = 0. 002, 0.003, 0.004, 0.005, 0.006, 0.007.

Figure 6
figure 6

Time-dependent profiles versus x for ρ = 5, 000 and N = 200 at t = 0. 001, 0.002, 0.003, 0.004, 0.005.

Figure 7
figure 7

Time-dependent profiles versus x for ρ = 10,000 and N = 200 at t = 0.001, 0.0015, 0.002, 0.0025, 0.003,0.0035.

For β = 10,000, results are also presented in a tabular form in Tables 2 and 3 to compare with the exact solutions.

Table 2 Comparison of numerical and exact solutions
Table 3 Comparison of numerical and exact solutions

Example 3. We consider Fisher's equation as given in [19]

u t = α 2 u x 2 b u 2 + au ,
(5.6)

where t ∈ [0,t], 0 < t < ∞, −∞ < x < ∞ with initial condition

u x , 0 = 1 4 a b sech 2 a 24 c x 2 tanh a 24 c x 2
(5.7)

and boundary conditions are

lim x u x , t = 0.5 and lim x u x , t = 0.
(5.8)

The exact solution of the problem is given as

u x , t = 1 4 a b [ sech 2 ± a 24 c x + 5 a 12 t 2 tanh ± a 24 c x + 5 a 12 t 2 ] .
(5.9)

The solution of the equation predicts a wave front of increasing allele frequency that propagates through the population. Only original alleles are present in front of the wave, and behind the wave is an area taken by over the mutant allele. In short, this equation states that the change of the density of labeled particles at a given time depends on the infection rate −bu2 + au and the diffusion in the neighboring area.

The term au measures the infection rate, which is proportional to the product of the density of the infected and uninfected particles. The term −bu2 shows how fast the infected particles are diffusing. Some authors have already found an analytical solution [12, 17] of Equation 5.6 for the initial condition (5.7). This solution presents a shock-like travelling wave. The amplitude of the wave is proportional to a b . It means that the amplitude increases as the coefficient a increases, but decreases as b increases. The support of the wave is defined by 24 c a . The rate of the wave propagation is 5 6 ac

The solution of Equation 5.6 is found out by using the B-spline collocation method for a = 0.5, b = c = 1.0.

The results obtained are shown in Tables 4 and 5 and compared with the solutions obtained in [17] and [19] with the exact solution. Figure 8 shows the time-dependent profile versus x with h = 0.25 and ∆t = 0.01, where [x L , x R ] = [−30, 30], at t = 1, 2, 3, 4, 5.

Table 4 Comparison of numerical and exact solutions at t = 2
Table 5 Comparisons of numerical and exact solutions at t = 4
Figure 8
figure 8

Approximate solutions at t = 1 to 5 with step 1.

Conclusions

In this paper, we have developed a collocation method for solving nonlinear Fisher's reaction–diffusion equation with Dirichlet's boundary conditions using modified cubic B-spline basis functions. In the present method, we apply modified cubic B-splines for spatial variable and derivatives, which produce a system of first-order ordinary differential equations. The resulting systems of ordinary differential equations are solved by using SSP-RK54 scheme. The numerical approximate solutions to nonlinear Fisher's reaction–diffusion equation have been computed without using any transformation and linearization process. This method is tested on three test examples, and the approximate numerical outcomes obtained are comparable with existing solutions found in the literature. Easy and economical implementation is the strength of this method. The computed results justify the advantage of this method.