Abstract

We introduce an adaptive numerical method for computing blow-up solutions for ODEs and well-known reaction-diffusion equations. The method is based on the implicit midpoint method and the implicit Euler method. We demonstrate that the method produces superior results to the adaptive PECE-implicit method and the MATLAB solver of comparable order.

1. Introduction

Reaction-diffusion equations model a wide range of problems in physics, biology, and chemistry. They explain how the concentration of one or more substances distributed in space changes under the influence of two processes: chemical reactions and diffusion. These substances can be basic particles in physics, bacteria, molecules, cells, and so forth. The substances reside in a region Ω𝑑,𝑑1.

The reaction-diffusion equation is a semilinear parabolic partial differential equation of the form 𝑢𝑡(𝑡,𝑥)Δ𝑢(𝑡,𝑥)=𝑓(𝑡,𝑥,𝑢),𝑡>0,𝑥Ω𝑑,𝑢(0,𝑥)=𝑢0(𝑥)0,𝑥Ω,𝑢(𝑡,𝑥)=0,𝑡>0,𝑥𝜕Ω(1.1)

Equation (1.1) can be viewed as a heat conduction problem, where 𝑢(𝑥,𝑡) is the temperature of a substance in a bounded domain Ω𝑑 and 𝑓(𝑡,𝑥,𝑢) represents a heat source. Δ𝑢(𝑡,𝑥) is referred to as the diffusion term and 𝑓(𝑡,𝑥,𝑢) as the reaction term. In this case, convection does not take place, so 𝑓 does not depend on 𝑢.

For sufficiently large initial function 𝑢0(𝑥) the solution of (1.1) will blowup in finite time. Blow-up occurs when the solution of the partial differential equation ceases to exist in finite time; that is, there is 𝑇𝑏< (blow-up time) so that lim𝑡𝑇𝑏𝑢(𝑡,)=+.(1.2)

Bebernes and Eberly [1] state that a necessary condition for blow-up in finite time is if 𝑢0𝑓1(𝑠)𝑑𝑠<.(1.3) Kaplan [2] showed that for convex source terms 𝑓=𝑓(𝑢) satisfying (1.3) diffusion cannot prevent blow-up if the initial state is large enough. In most papers, blow-up properties are discussed in the case where the nonlinear term in (1.1) is of the form 𝑓=𝑓(𝑢) where Ω𝑑 is bounded and 𝑡(0,𝑇), where 𝑇 is finite. In most of the work the case where 𝑑=1 has been studied. However, more recently, Brunner et al. [3] studied the numerical solution of blow-up problems within the context of unbounded domains.

Stuart and Floater [4] showed that fixed step methods, both explicit and implicit, fail to reproduce blow-up time for a scalar ODE. They also examined variable step methods. They used time stepping strategies which are based on a rescaling of the time variable in the underlying differential equation. They also apply these ideas to a PDE. Bandle and Brunner [5] present a survey of the theory and the numerical analysis of blow-up solutions for quasilinear reaction-diffusion equations. Budd et al. [6] proposed the use of moving mesh partial differential equation (MMPDE) methods for solving (1.1). In this method the function 𝑢(𝑥,𝑡) is discretized to give the solution values 𝑢𝑖(𝑡) defined on a moving mesh 𝑥𝑖(𝑡),𝑖=0,,𝑁. A more general study of the MMPDE is presented in [7] and the references therein. More recently Ma et al. [8, 9] have used the moving mesh methods to numerically study blow-up in nonlocal reaction diffusion equations and partial integrodifferential equations in general.

In this paper we will use the method of lines (MOLs) to solve (1.1). In this method the PDE is discretized in space, which leads to a system of ODEs with initial conditions. The numerical solution can then be obtained by solving the ODE initial value problems (see [10]). We introduce an adaptive method based on the implicit midpoint method and the implicit Euler method to solve the resulting system of ODEs. More work has been done on PsDEs with autonomous nonlinear reaction term. In this work we also give numerical results for PDEs with nonautonomous nonlinear term.

2. Description of Methods Used

In this work we use variable step methods to compute the blow-up time. We use one-point collocation methods and compare the results with MATLAB solvers ode45 and ode15s. In our procedures we specify the acceptable error per step, and if it is not met, the procedure adjusts the step size so that each step introduces an error that is not more than the acceptable error. At each step we solve the problem using two different algorithms, giving two different solutions, say 𝑆1 and 𝑆2. We adjust the stepsize in accordance with |𝑆1𝑆2|.

2.1. One-Point Collocation Methods

One-point collocation methods are a family of methods of the form 𝑦𝑛+1=𝑦𝑛+𝑛𝑓𝑡𝑛+𝑐1𝑛,1𝑐1𝑦𝑛+𝑐1𝑦𝑛+1,(2.1) where 𝑐1[0,1]. The specified cases are (i)𝑐1=0 corresponds to explicit Euler method; (ii)𝑐1=1/2 corresponds to implicit midpoint method; (iii)𝑐1=1 corresponds to implicit Euler method.

Note that all the one-point collocation methods are of order 1; however, the implicit midpoint method (𝑐1=1/2) achieves order 2 local superconvergence (see [11]).

2.2. Adaptive PECE-Implicit Euler Method

This method is based on the implicit Euler method. We compute 𝑆1 using a predictor-corrector method in which 𝑦𝑝 is obtained using explicit Euler's method so that we have𝑆1=𝑦𝑛+1=𝑦𝑛+𝑛𝑓𝑡𝑛+1,𝑦𝑝,(2.2)

To get 𝑆2, we use Newton's method as the solver to deal with the implicit nature of the implicit Euler method.

2.3. Adaptive Implicit Midpoint-Implicit Euler Method

We use the implicit Euler method with Newton's method as the solver to get 𝑆1. To get 𝑆2 we use midpoint Euler method given by𝑦𝑛+1=𝑦𝑛+𝑛𝑓𝑡𝑛+𝑛2,𝑦𝑛+𝑦𝑛+12.(2.3)

First we get 𝑦𝑛+1 using the implicit Euler method and substitute in (2.3) to get 𝑆2, that is,𝑦𝑝=𝑦𝑛+𝑛𝑓𝑡𝑛+1,𝑦𝑛+1,(2.4) then, 𝑆2=𝑦𝑛+1=𝑦𝑛+𝑛𝑓𝑡𝑛+𝑛2,𝑦𝑛+𝑦𝑝2.(2.5)

2.4. MATLAB Solvers (ode45 and ode15s)

ode45 is a one-step Matlab solver that is based on an explicit Runge-Kutta (4,5) scheme. It varies the size of the step of the independent variable in order to meet the accuracy specified. On the other hand, ode15s is a multistep Matlab variable order solver based on implicit methods. We use these solvers to compare with the adaptive implicit midpoint-implicit Euler method we are introducing.

3. Blow-up for ODEs

We will first consider this simple case 𝑦(𝑡)=𝜆𝑦(𝑡)+𝑏𝑦𝑝(𝑡),𝑡>0,𝑦(0)=𝑦0>0,(3.1) with 𝜆<0 and 𝑏>0.

3.1. Analytic Solution

Theorem 3.1. Given the system (3.1), its solution will blowup in finite time for 𝑦0>𝑏𝜆1/(1𝑝)(3.2) and at 𝑇𝑏=1𝜆𝑏(1𝑝)ln𝜆𝑦01𝑝+𝑏(3.3) (see Brunner [11]).

Proof. Note that (3.1) is a Bernoulli equation, whose solution is 𝑦(𝑡)=𝑏𝜆+𝑦0(1𝑝)+𝑏𝜆e𝜆(1𝑝)𝑡1/(1𝑝).(3.4) Then, 𝑦 when 𝑏𝜆+𝑦0(1𝑝)+𝑏𝜆e𝜆(1𝑝)𝑡=0.(3.5) Thus 𝑇𝑏=1𝜆𝑏(1𝑝)ln𝜆𝑦01𝑝+𝑏.(3.6)𝑇𝑏 is finite if 𝜆𝑦01𝑝+𝑏>0.(3.7) Thus 𝑦0>𝑏𝜆1/(1𝑝),(3.8) as required.

We compute the blow-up time for 𝜆=1,𝑏=1,𝑦0=2, and 𝑝=1.1,1.5,2,3. The results are shown in Table 1, and a graph showing the analytic solution of (3.1) is shown in Figure 1.

3.2. Numerical Computation

We solve (3.1) with 𝜆=1, 𝑏=1, 𝑦0=2, and 𝑝=1.1,1.5,2,3. Tables 2 and 3 show the blow-up times and the errors of each method, respectively, and Figure 2 shows the graphs of the solution of (3.1). The tolerance used for the computations is 1𝑒6.

3.3. Discussion

The blow-up results for the different methods are very close to the analytic value as shown in Table 2. From Table 3, we see that ode45, which is of higher order than the other three methods, gives the best results than the other three methods. The adaptive implicit midpoint-implicit Euler gives a better result than the other two methods of comparable order, that is, adaptive PECE-implicit Euler method and ode15s. The adaptive PECE-implicit Euler method gives a quite large error and requires a very small tolerance to get a result which is close to the exact value. From the results, we observe that as the value of 𝑝 in (3.1) is increased the blow-up time occurs earlier and is much later for values of 𝑝 much closer to 1.

We seek to determine whether the performance of the methods is the same in the case where we have a reaction-diffusion equation.

4. Reaction-Diffusion Equation: One Space Dimension

In this section we compute the blow-up time for a one space dimension reaction-diffusion equation with an autonomous reaction term and a nonautonomous reaction term.

4.1. Autonomous Reaction Term

We solve the system (1.1) with the autonomous reaction term 𝑓=𝑢𝑝(𝑡,𝑥), where 𝑝>1 and the domain Ω is just the real line, that is, 𝑑=1 and Ω=(0,1). The system becomes𝑢𝑡(𝑡,𝑥)𝑢𝑥𝑥(𝑡,𝑥)=𝑢𝑝(𝑡,𝑥),𝑡>0,𝑥(0,1),(𝑝>1),𝑢(0,𝑥)=𝑢0(𝑥)0,𝑥(0,1),𝑢(𝑡,𝑥)=0,𝑡>0,𝑥𝜕Ω.(4.1)

We use the method of lines (MOLs) to discretize (4.1) in space. For the spatial discretization, we choose a uniform mesh 𝐷={𝑥𝑚0=𝑥0<𝑥1<<𝑥𝑀+1=1} (with 𝑥𝑚=𝑚) on Ω and replace 𝑢𝑥𝑥(𝑡,𝑥𝑚)(1𝑚𝑀) by the standard central difference approximation. We use the function 𝐴sin(𝜋𝑥) as the initial function with different values of 𝐴>0. We get the following system of ODEs for 𝑈𝑚(𝑡)𝑢(𝑡,𝑥𝑚)(1𝑚𝑀):𝑈𝑚𝑈(𝑡)=𝑚+1(𝑡)2𝑈𝑚(𝑡)+𝑈𝑚1(𝑡)2+𝑈𝑝𝑚𝑈(𝑡),(1𝑚𝑀),0(𝑡)=𝑈𝑀+1𝑈(𝑡)=0,𝑚(0)=𝐴sin𝜋𝑥𝑚.(4.2)

We solve the system (4.2) with 𝑝=2 and =(10)/𝑀. Tables 4, 5, and 6 show the blow-up results obtained with 𝑀=50,100, and 200, respectively, and with different values of 𝐴 in the initial function 𝐴sin(𝜋𝑥). Figures 3, 4, 5, and 6 show the graphs of the solution of (4.1) for 𝐴=10 and 𝐴=12.

4.2. Nonautonomous Reaction Term

We now solve the system (1.1) with the non-autonomous reaction term 𝑓=𝑡𝑘𝑥𝑟𝑢𝑝(𝑡,𝑥), where 𝑝>1 and the domain Ω is just the real line, that is, 𝑑=1 and Ω=(0,1). The system becomes𝑢𝑡(𝑡,𝑥)𝑢𝑥𝑥(𝑡,𝑥)=𝑡𝑘𝑥𝑟𝑢𝑝(𝑡,𝑥),𝑡>0,𝑥(0,1),(𝑝>1),𝑢(0,𝑥)=𝑢0(𝑥)0,𝑥(0,1),𝑢(𝑡,𝑥)=0,𝑡>0,𝑥𝜕Ω.(4.3)

As in (4.1) we use the method of lines to discretize (4.3) to obtain the following system: 𝑈𝑚𝑈(𝑡)=𝑚+1(𝑡)2𝑈𝑚(𝑡)+𝑈𝑚1(𝑡)2+𝑡𝑘𝑥𝑟𝑚𝑈𝑝𝑚𝑈(𝑡),(1𝑚𝑀),0(𝑡)=𝑈𝑀+1𝑈(𝑡)=0,𝑚(0)=𝐴sin𝜋𝑥𝑚.(4.4)

We solve (4.4) for 𝑘=0,1 and 𝑟=1,2, Tables 7 and 8 show the blow-up times obtained from the different values of 𝑘 and 𝑟.

4.3. Discussion

We observe that as we increase the amplitude of the initial function, 𝐴, the blow-up time tends to occur earlier. We also observe that for smaller values of 𝐴, there is no blow-up.

Considering the reaction-diffusion equation, and comparing the autonomous against the non-autonomous reaction term cases, we observe that the introduction of the non-autonomous term ensures that a much larger amplitude, 𝐴, in the initial function, is required for blow-up to occur. We also note that increasing 𝑘 for fixed 𝑟 or increasing 𝑟 for fixed 𝑘 increases the minimum amplitude for blow-up to occur.

On the performance of the methods, we note a similar trend to what we observed in the ODE case. The adaptive implicit midpoint-implicit Euler method gives results that are significantly superior to the adaptive PECE-implicit Euler method and ode15s. In fact, its performance is comparable to ode45.

5. Reaction-Diffusion Equation: Two Space Dimensions

We solve the system (1.1) with the reaction term 𝑓=𝑢𝑝(𝑡,𝑥,𝑦), where 𝑝>1 with Ω=2. The system becomes 𝑢𝑡(𝑡,𝑥,𝑦)𝑢𝑥𝑥(𝑡,𝑥,𝑦)𝑢𝑦𝑦(𝑡,𝑥,𝑦)=𝑢𝑝(𝑡,𝑥,𝑦),𝑡>0,𝑥,𝑦(0,1),(𝑝>1),𝑢(0,𝑥,𝑦)=𝑢0(𝑥,𝑦)0,𝑥,𝑦(0,1),𝑢(𝑡,𝑥,𝑦)=0,𝑡>0,𝑥,𝑦𝜕Ω.(5.1)

We use the method of lines (MOLs) to discretize (5.1) in space. For the spatial discretization, we choose uniform meshes for 𝑥 and 𝑦, 𝐷={𝑥𝑚0=𝑥0<𝑥1<<𝑥𝑀+1=1} and 𝐼={𝑦𝑛0=𝑦0<𝑦1<<𝑦𝑁+1=1}, respectively, (with 𝑥𝑚=𝑚 and 𝑦𝑛=𝑛) on Ω. We replace 𝑢𝑥𝑥(𝑡,𝑥𝑚,𝑦𝑛) and 𝑢𝑦𝑦(𝑡,𝑥𝑚,𝑦𝑛) (1𝑚𝑀,1𝑛𝑁) by the standard central difference approximation. We use the function 𝐴sin(𝜋𝑥)sin(𝜋𝑦) as the initial function with different values of 𝐴>0. We get the following system of ODEs for 𝑈𝑚,𝑛(𝑡)𝑢(𝑡,𝑥𝑚,𝑦𝑛)(1𝑚𝑀,1𝑛𝑁): 𝑈𝑚,𝑛𝑈(𝑡)=𝑚+1,𝑛(𝑡)+𝑈𝑚1,𝑛(𝑡)4𝑈𝑚,𝑛+𝑈𝑚,𝑛+1(𝑡)+𝑈𝑚,𝑛1(𝑡)2+𝑈𝑝𝑚,𝑛𝑈(𝑡),0,𝑛(𝑡)=𝑈𝑀+1,𝑛(𝑡)=𝑈𝑚,0=𝑈𝑚,𝑁+1𝑈=0,𝑚,𝑛(0)=𝐴sin𝜋𝑥𝑚sin𝜋𝑦𝑛,1𝑚𝑀,1𝑛𝑁.(5.2)

We solve the system (5.2) with 𝑝=2 and =(10)/𝑀. Figure 7 shows the solution of (5.2), and Table 9 shows the blow-up times obtained using the four methods.

5.1. Discussion

We observe similar results for the two space dimensions reaction-diffusion equation to the one space dimension case; that is, the adaptive implicit midpoint-implicit Euler method gives significantly better results than the adaptive PECE-implicit Euler method and ode15s. Its results are comparable with the higher order, computationally costly ode45.

6. Future Work

We would like to extend the blow-up computations to the Volterra integrodifferential equations, that is, cases where the reaction term is nonlocal.

Given the relative simplicity of this new method, and cheaper computational expense, we conclude that it is much better than the higher-order RK-based solver, for implementation on problems of the nature studied in this paper. We would further like to test the new method on other problems in engineering and applied science, with the objective of proposing it for wider implementation.

Acknowledgment

The authors gratefully acknowledge the valuable discussions with Professor Hermann Brunner on finite-time blow-up problems.