A computational technique based on asymptotic analysis for solving singularly perturbed ODE systems involving a small parameter šœ– is considered. The focus is on second-order systems, but the procedure is also applicable for first-order systems. Both initial value and boundary value problems will be solved. The application of the method is considered over the entire time domain for a wide range of šœ– and the resulting approximation is compared with the direct numerical solution. The convection-diffusion problem from fluid mechanics and the telegraph equation from electrical engineering are considered.

1. Introduction

Singularly perturbed problems involving a small parameter are ubiquitous in the field of engineering and present a formidable challenge in their numerical solution. For example, in the field of fluid mechanics such problems appear in the form of convection-diffusion partial differential equations and are used, in the computation of temperature in compressible flows, to describe the model equations for concentration of pollutants in fluids and to describe the momentum relation of the Navier-Stokes equations. In the field of electrical engineering an important application is the telegraph equation describing the voltage or the current as a function of time and position along a cable. The discretization of such systems usually leads to stiff systems of ordinary differential equations (ODEs) containing a small parameter. Such equations are usually stiff and require special care in their numerical solution. On the other hand, such systems can be treated by methods based on asymptotic analysis which renders a reasonable approximate decomposition of the original system into two new systems, for the slow mode and fast modes, respectively, which are no longer stiff. Of special interest are asymptotic methods based on the Chapman-Enskog procedure (CEP) in which the bulk part of the slow mode is left unexpanded. This technique is especially popular amongst mathematical physicists interested in obtaining the diffusion approximation for a wide range of evolution equations, for example, the Boltzmann equation, telegraph equation, and Fokker-Plank equation [1]. On the other hand, obtaining diffusion approximations is rather complicated and involved and is confined to specialists in the field. In the 1990s Mika and coworkers [2, 3] considered the application of the CEP for solving ODEs. The mathematical theory was put on a sound footing, but subsequently, no attempts were made to promote the numerical application of the method, despite very promising initial results. One reason for this can be attributed to the requirement that their method based on the CEP require the initial conditions for the unexpanded slow part of the solution which have to be recovered from additional algebraic relations. This combined with the initial layer functions guarantee a uniformly smooth solution over the entire domain. For such a solution to be comparable to a direct numerical solution of the original system this step is crucial. In [3] the authors focused on obtaining uniformly convergent š‘‚(šœ–2) approximations in the bulk region. In this paper we propose a method for finding an š‘‚(šœ–3) correction to the approximate data. Further, we examine the method for obtaining a solution over the entire domain that is comparable to a direct numerical solution. The method is suitable for a larger range of the small parameter šœ– than that considered previously. An adaptation of the CEP was also considered in [4, 5] for solving problems in chemical kinetics and nuclear engineering, respectively.

Consider the initial value problem

šœ€š‘‘2š‘„š‘‘š‘”2+š“š‘‘š‘„š‘‘š‘”+š‘“(š‘„)=0,š‘„(0)=š›¼,š‘‘š‘„š‘‘š‘”(0)=š‘ ,(1.1) where š‘”āˆˆ[0,š‘”1], š‘”1>0,š‘„(š‘”),š‘“(š‘„),š›¼,š‘ āˆˆā„š‘›,š‘›ā‰„1, and šœ€ is a small positive parameter. The eigenvalues of the matrix š“ have all positive real parts; hence š“ is invertible. By letting š‘§=š‘‘š‘„/š‘‘š‘”, the second-order system (1.1) is converted to the first-order system:

šœ€š‘‘š‘§š‘‘š‘”=āˆ’š“š‘§āˆ’š‘“(š‘„),š‘‘š‘„š‘‘š‘”=š‘§,š‘„(0)=š›¼,š‘§(0)=š‘ .(1.2) The stiff differential equation (1.1) can be solved directly by using numerical methods, for example the finite difference or finite element method. With a finite difference scheme one could use a standard method on a special mesh or a standard mesh and a special method [6]. This is to guarantee uniformly convergent schemes for all values of šœ€. These techniques, involving discretization on standard meshes and layer-adapted meshes, are well established when š‘“ is a linear function of š‘„ [7]. However, in our case š‘“ is a nonlinear function of the dependent variable š‘„ and hence is much more difficult to analyse and solve using these methods. On the other hand, an alternative approach commonly adopted, is to convert to the first-order system (1.2) and then solve by using an implicit method, applicable for stiff systems, since the solution of such systems is well established. It is well known that the solution obtained in this way is usually costly. Alternatively, one could use approximation methods from singular perturbation theory [8, 9] for solving (1.1) or (1.2). The drawback of methods in this category is that they are based on heuristic derivations such as matching of the inner solution in the initial layer with the outer solution in the outer layer. The idea is to create an approximate solution by using the inner solution and then switching to an outer solution ensuring that the inner and outer solutions coincide as nearly as possible at the switch point. The problem is finding a suitable place to make the switch from one solution to the other.

The method proposed in this paper aims to avoid the difficulties presented by the preceding two approaches. Here, we follow the algorithm of the asymptotic expansion first proposed by Mika and Palczewski [2] for solving resonance type equations in kinetic theory and subsequently applied to solving singularly perturbed systems of second-order ODEs by Mika and Kozakiewicz [3]. As already mentioned, in this case the method is based on the CEP in which the bulk solution for the slow variable š‘„ remains unexpanded. The expansions are truncated to first-order in šœ€ in order to derive the first-order version of the steady state approximation. Here we derive new initial conditions satisfied by the differential equations by using a Neumann expansion. The main point of the present exposition is that there is no additional cost involved in deriving the new initial condition whilst at the same time the numerical results are much improved for a larger range of the small parameter šœ€. The application of the method is also considered for solving boundary value problems. In performing a numerical investigation we apply the new algorithm to systems of initial value problems (IVPs) and boundary value problems (BVPs). The numerical results for IVPs show a significant improvement in the error and reaffirm the first-order rate of convergence which is consistent with the theory [3] whilst the numerical results for BVPs demonstrate fast convergence of the bulk solution.

2. Derivation of the Asymptotic Procedure

In order to keep the present exposition self-contained, we consider some aspects of the derivation of the asymptotic method presented in [3] together with the procedure for obtaining new initial conditions. The functions š‘„ and š‘§ in (1.2) are each decomposed into a bulk solution depending on š‘” and an initial layer solution depending on šœ=š‘”/šœ€. Hence

š‘§(š‘”)=ī€·šœ€š‘§(š‘”)+Ģƒš‘§(šœ)+š‘‚2ī€øī€·šœ€,š‘„(š‘”)=š‘¤(š‘”)+Ģƒš‘„(šœ)+š‘‚2ī€ø,(2.1) where

š‘§(š‘”)=š‘§0(š‘”)+šœ€š‘§1(š‘”),Ģƒš‘§(šœ)=Ģƒš‘§0(šœ)+šœ€Ģƒš‘§1(šœ),Ģƒš‘„(šœ)=Ģƒš‘„0(šœ)+šœ€Ģƒš‘„1(šœ).(2.2) The characteristic feature of the algorithm is that the bulk solution š‘¤ for the slow variable š‘„ remains unexpanded. Substituting (2.1) into (1.2) we obtain upon equating functions of š‘” and šœ separately

šœ€š‘‘š‘§š‘‘š‘”=āˆ’š“š‘§āˆ’š‘“(š‘¤),(2.3)š‘‘š‘¤=š‘‘š‘”š‘§,(2.4)š‘‘Ģƒš‘„š‘‘šœ=šœ€š‘§,(2.5)š‘‘Ģƒš‘§š‘‘šœ=āˆ’š“Ģƒš‘§+š‘“(š‘¤(šœ€šœ))āˆ’š‘“(š‘¤(šœ€šœ)+Ģƒš‘„).(2.6) Now a postulate of the asymptotic method is that the bulk solution for the fast variable, namely, š‘§(š‘”), depends on š‘” through its functional dependence on š‘¤. To this end, we let šœ™0(š‘¤(š‘”)), šœ™1(š‘¤(š‘”))āˆˆā„š‘› be two functions and write

š‘§0(š‘”)=šœ™0(š‘¤(š‘”)),š‘§1(š‘”)=šœ™1(š‘¤(š‘”)).(2.7) Hence

š‘§(š‘”)=šœ™0(š‘¤)+šœ€šœ™1(š‘¤).(2.8) Substituting (2.8) into (2.3) and (2.4) we obtain

šœ€ī‚øš‘‘šœ™0š‘‘š‘¤š‘‘š‘¤š‘‘š‘”+šœ€š‘‘šœ™1š‘‘š‘¤š‘‘š‘¤ī‚¹ī€·šœ™š‘‘š‘”=āˆ’š“0+šœ€šœ™1ī€øāˆ’š‘“(š‘¤),(2.9)š‘‘š‘¤š‘‘š‘”=šœ™0(š‘¤)+šœ€šœ™1(š‘¤).(2.10) Substituting (2.10) into (2.9) and equating coefficients of powers of šœ€ we obtain

šœ™0(š‘¤)=āˆ’š“āˆ’1š‘“(š‘¤),(2.11)š‘‘šœ™0šœ™š‘‘š‘¤0(š‘¤)=āˆ’š“šœ™1(š‘¤).(2.12) and solving the above for šœ™1(š‘¤) gives

šœ™1(š‘¤)=āˆ’š“āˆ’2š‘‘š‘“(š‘¤)š“š‘‘š‘¤āˆ’1š‘“(š‘¤).(2.13) Hence, from (2.4) we obtain š‘¤(š‘”) as the solution of the first-order system:

š‘‘š‘¤š‘‘š‘”=āˆ’š“āˆ’1ī‚øš¼+šœ€š“āˆ’1š‘‘š‘“(š‘¤)š“š‘‘š‘¤āˆ’1ī‚¹š‘“(š‘¤).(2.14) The initial condition š‘¤(0) is found by considering the initial conditions in (1.2). For this we require the initial layer solutions. These are obtained by substituting (2.2) into (2.5) and equating powers of šœ€ yielding ī‚š‘‘š‘„0š‘‘šœ=0,š‘‘Ģƒš‘„1š‘‘šœ=Ģƒš‘§0.(2.15) Clearly Ģƒš‘„0(šœ)ā‰”0 since limšœā†’āˆžĢƒš‘„0(šœ)=0 for the initial layer function. Upon substituting (2.2) into (2.6) and using Ģƒš‘„0(šœ)ā‰”0 we further obtain

š‘‘Ģƒš‘§0š‘‘šœ=āˆ’š“Ģƒš‘§0.(2.16) Hence


Using the initial conditions š‘„(0)=š›¼ and š‘§(0)=š‘  in (2.1) we obtain to first-order in šœ€ that

š›¼=š‘¤(0)+šœ€Ģƒš‘„1(0),(2.19)š‘ =šœ™0(š‘¤(0))+šœ€šœ™1(š‘¤(0))+Ģƒš‘§0(0)+šœ€Ģƒš‘§1(0).(2.20) Mika and Kozakiewicz [3] now expand š‘¤(0) into powers of šœ€, namely, š‘¤(0)=š‘¤(0)|0+šœ€š‘¤(0)|1. Upon equating coefficients of šœ€ in (2.19)-(2.20) and using the initial layer functions just derived, they obtained the expression š‘¤(0)=š›¼+šœ€š“āˆ’1ī€·š‘ +š“āˆ’1ī€ø.š‘“(š›¼)(2.21) Here š‘¤(0) is solved in a different manner. From (2.20) and (2.11) to zeroth order in šœ€ we obtain Ģƒš‘§0(0)=š‘ āˆ’šœ™0(š‘¤(0))=š‘ +š“āˆ’1š‘“(š‘¤(0)).(2.22) Using (2.19) and (2.18) we have š‘¤(0)=š›¼āˆ’šœ€Ģƒš‘„1(0)=š›¼+šœ€š“āˆ’1ī€ŗš‘ +š“āˆ’1ī€».š‘“(š‘¤(0))(2.23) Hence š‘¤(0) is the root of the, in general, nonlinear vector equation (2.23). It is noted that the solution of (2.23) maybe accomplished using the standard Newton method. However, this is in general an expensive process. In order to avoid this we derive an explicit expression for š‘¤(0) by letting š‘¤(0)=š›¼+š›æ(šœ€), where š›æ(šœ€) is a function of šœ€ and ||š›æ(šœ€)||ā‰Ŗ||š›¼||. Upon substitution into (2.23), using Taylor's theorem and ignoring terms of order ā€–š›æ(šœ€)ā€–2 we obtain the new initial condition

ī€ŗš‘¤(0)=š›¼+š¼āˆ’šœ€š“āˆ’2š‘“ī…žī€»(š›¼)āˆ’1šœ€š“āˆ’1ī€ŗš‘ +š“āˆ’1ī€».š‘“(š›¼)(2.24) To simplify the evaluation of (2.24) we use the first-order Neumann expansion for [š¼āˆ’šœ€š“āˆ’2š‘“ā€²(š›¼)]āˆ’1, assuming that šœ€||š“āˆ’2š‘“ā€²(š›¼)||<1 for any compatible matrix norm. Hence, (2.24) simplifies to š‘¤(0)=š›¼+šœ€š“āˆ’1ī€ŗš‘ +š“āˆ’1ī€»š‘“(š›¼)+šœ€2š“āˆ’2š‘“ī…ž(š›¼)š“āˆ’1ī€ŗš‘ +š“āˆ’1ī€».š‘“(š›¼)(2.25) It is clear that no additional cost is borne in forming the Jacobian matrix terms representing the derivative š‘“ī…ž(š›¼) in (2.25) since the derivative is already used in (2.14). We note that (2.25) reduces to (2.21) when the šœ€2 term is ignored.

The asymptotic convergence of the approximate solutions derived above is proved in [2]. The condition concerning the nonlinear function in (1.2) is that š‘“(š‘„)āˆˆš¶4(ā„š‘›), which supplements the conditions necessary for the system to possess a unique solution on [0,š‘”1]. Furthermore, the matrix š“ has all positive eigenvalues so that the initial layer solutions decay exponentially.

3. Standard Approach

In the standard first-order approach described, for example, in [3] to solving (1.2), š‘¤(š‘”) in (2.1) is replaced by

š‘„(š‘”)=š‘„0(š‘”)+šœ€š‘„1(š‘”).(3.1) With this substitution in (2.3)ā€“(2.6) one obtains the system

šœ€š‘‘ī€·š‘§š‘‘š‘”0+šœ€š‘§1ī€øī€·š‘§=āˆ’š“0+šœ€š‘§1ī€øī€·š‘„āˆ’š‘“0+šœ€š‘„1ī€øī€·š‘§=āˆ’š“0+šœ€š‘§1ī€øī€·š‘„āˆ’š‘“0ī€øāˆ’š‘“ī…žī€·š‘„0ī€øšœ€š‘„1ī€·šœ€+š‘‚2ī€ø,š‘‘ī€·š‘„š‘‘š‘”0+šœ€š‘„1ī€ø=š‘§0+šœ€š‘§1,š‘‘ī€·š‘‘šœĢƒš‘„0+šœ€Ģƒš‘„1ī€øī€·=šœ€Ģƒš‘§0+šœ€Ģƒš‘§1ī€ø,š‘‘ī€·š‘‘šœĢƒš‘§0+šœ€Ģƒš‘§1ī€øī€·=āˆ’š“Ģƒš‘§0+šœ€Ģƒš‘§1ī€øī€·š‘„+š‘“0+šœ€š‘„1ī€øī€·š‘„āˆ’š‘“0+šœ€š‘„1+Ģƒš‘„0+šœ€Ģƒš‘„1ī€øī€·=āˆ’š“Ģƒš‘§0+šœ€Ģƒš‘§1ī€øī€·š‘„+š‘“0ī€øī€·š‘„+š‘“ā€²0ī€øšœ€š‘„1ī€·š‘„āˆ’š‘“0+Ģƒš‘„0ī€øī€·š‘„āˆ’š‘“ā€²0+Ģƒš‘„0ī€øšœ€ī€·š‘„1+Ģƒš‘„1ī€øī€·šœ€+š‘‚2ī€ø.(3.2) Upon equating coefficients of šœ€ and using the initial conditions, we obtain the following systems of ODEs to be solved for the bulk solution for the slow variable š‘„(š‘”):

š‘‘š‘„0š‘‘š‘”=āˆ’š“āˆ’1š‘“ī€·š‘„0ī€ø,š‘„0(0)=š›¼,(3.3)š‘‘š‘„1š‘‘š‘”=āˆ’š“āˆ’2š‘“ī…žī€·š‘„0ī€øš“āˆ’1š‘“ī€·š‘„0ī€øāˆ’š“āˆ’1š‘“ī…žī€·š‘„0ī€øš‘„1š‘„,(3.4)1(0)=š“āˆ’1ī€ŗš‘ +š“āˆ’1ī€».š‘“(š›¼)(3.5) As before Ģƒš‘„0ā‰”0 and Ģƒš‘„1(šœ)=āˆ’š“āˆ’1š‘’āˆ’š“šœĢƒš‘§0(0)=āˆ’š“āˆ’1š‘’āˆ’š“šœī€ŗš‘ +š“āˆ’1š‘“ī€»,(š›¼)Ģƒš‘§0(šœ)=š‘’āˆ’š“šœĢƒš‘§0(0).(3.6)

4. Boundary Value Problems

Consider the boundary value problem:


The boundary value problem (4.1) can be converted to the initial value problem (1.1) by dropping the second boundary condition š‘„(1)=š›½ and replacing it by the initial condition š‘„ā€²(0)=š‘ . Hence, š‘“(š‘„) and š“ are assumed to have similar conditions to that considered in Section 2 on [0,1].

The initial-value problem has a uniquely determined solution š‘„(š‘”)=š‘„(š‘”,š‘ ) which depends on the choice of the initial value š‘  for š‘„ī…ž(0). To determine the value of š‘  consistent with the right-hand boundary condition we must find a zero š‘ =š‘  of the function š¹(š‘ )=š‘„(1,š‘ )āˆ’š›½. Assuming that š¹(š‘ )āˆˆš¶2(0,1), one can use Newton's method to determine š‘ . Starting with an initial approximation š‘ 0, one then has to iteratively compute values š‘ š‘– according to

š‘ š‘–+1=š‘ š‘–āˆ’ī€ŗš¹ī…žī€·š‘ š‘–ī€øī€»āˆ’1š¹ī€·š‘ š‘–ī€ø,(4.2) where for š‘›=1, š¹ī…ž(š‘ š‘–) is approximated by the forward difference formula:

š¹ī€·š‘ š‘–ī€øī€·š‘ +ā„Žāˆ’š¹š‘–ī€øā„Ž,(4.3) with ā„Žā‰Ŗ|š‘ š‘–|. For the case š‘›>1, the matrix š¹ī…ž(š‘ š‘–) is determined by the following useful technique. The š‘˜th column of š¹ī…ž(š‘ š‘–) is approximated by

š¹ī€·š‘ š‘–+ā„Žš‘’š‘˜ī€øī€·š‘ āˆ’š¹š‘–ī€øā„Ž,(4.4) where š‘’š‘˜ is the standard unit vector in ā„š‘› with unity in the š‘˜th position. Then, š‘„(1,š‘ š‘–) is determined by solving an initial-value problem:

šœ€š‘‘2š‘„š‘‘š‘”2+š“š‘‘š‘„š‘‘š‘”+š‘“(š‘„)=0,š‘„(0)=š›¼,š‘„ā€²(0)=š‘ š‘–(4.5) up to š‘”=1.

In this paper instead of applying the shooting method to the stiff second-order system of equations (4.1) we first apply the first-order asymptotic procedure to the system and then adapt the shooting method to the resulting nonstiff first-order system. Now taking š‘”=1 in (2.1) and (2.18) it can be shown that

š‘¤(1)āˆ¶=š‘¤(1,š‘ )=š›½+šœ€š“āˆ’1š‘’āˆ’š“/šœ€ī€ŗš‘ +š“āˆ’1ī€».š‘“(š‘¤(0,š‘ ))(4.6) Solve the first-order system (2.14) with estimate (2.25) for š‘¤(0)=š‘¤(0,š‘ ) numerically and denote the solution at š‘”=1 by īš‘¤(1,š‘ ). It remains to determine š‘  so that īš‘¤(1,š‘ ) agrees with š‘¤(1,š‘ ) from (4.6). Thus we define īš¹(š‘ )=š‘¤(1,š‘ )āˆ’š‘¤(1,š‘ ) and iteratively obtain a zero of š¹(š‘ ) using (4.2). A convenient starting value for the iteration is obtained by setting šœ€=0 and š‘”=0 in (4.1) to yield š‘ 0=āˆ’š“āˆ’1š‘“(š›¼). Essentially, we are trying to find an optimal š‘  such that both š‘¤(0,š‘ ) and š‘¤(1,š‘ ) lie on the solution curve š‘¤(š‘”) of (2.14).

5. Numerical Examples

Example 5.1. Here we choose š‘›=1, š“=1, š‘“(š‘„)=š‘„2 with š›¼=š‘ =2 in (1.1). Hence, (3.3)ā€“(3.5) reduce to the ODEs: š‘‘š‘„0š‘‘š‘”=āˆ’š‘„20,š‘„(0)=2,š‘‘š‘„1š‘‘š‘”=āˆ’2š‘„0š‘„1āˆ’2š‘„30,š‘„1(0)=6,(5.1) to be solved for the bulk approximation š‘„(š‘”)=š‘„0(š‘”)+šœ€š‘„1(š‘”) according to the standard approach. The first-order asymptotic solution to (1.1) using the standard approach is given by š›½š‘„(š‘”)=ī‚ø1+š›½š‘”+šœ€āˆ’2š›½2(1+š›½š‘”)2ln(1+š›½š‘”)+š›½+š›¼2(1+š›½š‘”)2ī‚¹.(5.2)
According to the new approach we solve (2.14) which reduces to
š‘‘š‘¤š‘‘š‘”=āˆ’(1+šœ€2š‘¤)š‘¤2.(5.3) From (2.21) we obtain š‘¤(0)=2+6šœ€,(5.4) and using (2.25) we obtain the improved initial condition: š‘¤(0)=2+6šœ€+24šœ€2.(5.5)
The graphical solutions depicted in Figure 1 are for šœ€=0.1. The direct numerical solution of (1.1) is denoted by š‘„ and the first-order solution corresponding to (5.2) with the initial layer incorporated is denoted by š‘„(0). When (5.3) is solved using the initial condition (5.4), the solution from (2.1) is denoted by š‘„(1); likewise when (5.3) is solved using the initial condition (5.5) the solution from (2.1) is denoted by š‘„(2).
Figure 2 shows how the error varies as a function of šœ– for š‘”=0.175. It is clear that the present algorithm, incorporating the new initial condition (2.25), gives superior results, even for large šœ–.

Example 5.2. Since this paper is concerned with systems of ODEs, the following example is directed to such a case. The technique is illustrated for a system of coupled ODEs by choosing š‘›=21 and š“=š¼: š‘“š‘–(š‘„)=š‘„3š‘–+š‘„3š‘–+1š‘“,š‘–=1,2,ā€¦,š‘›āˆ’1,š‘›(š‘„)=š‘„3š‘›+š‘„31,š›¼š‘–ī‚µ=sinšœ‹(š‘–āˆ’1)ī‚¶š‘›āˆ’1,š›½š‘–ī‚µ=šœ‹cosšœ‹(š‘–āˆ’1)ī‚¶š‘›āˆ’1,š‘–=1,2,ā€¦,š‘›(5.6) in (1.1). Solve (2.14) using an explicit Runge-Kutta method of order 2 (RK2) with fixed step size equal to 0.01 subject to the initial conditions (2.21) and (2.25) and designate the solutions by š‘¤(1) and š‘¤(2), respectively. The corresponding solutions in (2.1) are denoted by š‘„(1) and š‘„(2) respectively. Let š‘„ denote a highly accurate solution of (1.1) obtained using Mathematica 6.0 which will be treated as an exact solution for comparison purposes. Equation (1.1) is solved using the implicit Euler method with fixed step size equal to 0.01 and the solution is denoted by š‘„(0). Table 1 shows the errors ā€–š‘„āˆ’š‘¤(1)ā€–āˆž and ā€–š‘„āˆ’š‘¤(2)ā€–āˆž, respectively. The CPU time for computing š‘„(0) was 0.17 second as compared to 0.02 second for computing both š‘„(1) and š‘„(2) which amounts to a significant saving in computational effort.

Example 5.3. One has šœ€š‘‘2š‘„š‘‘š‘”2+2š‘‘š‘„š‘‘š‘”āˆ’š‘’š‘„š‘„=0,š‘„(0)=0,(1)=0.(5.7)
Choose šœ€=0.01. Figures 3, 4, and 5 show a plot of the solution profiles š‘„(š‘”) (numerical solution) and š‘¤(š‘”) (asymptotic bulk solution), corresponding to š‘ 0, š‘ 1, and š‘ 2 used in (4.3) respectively. It is seen that the solution profiles are almost identical (in the bulk region) after the second iteration.

Example 5.4. We consider the following boundary layer problem from fluid mechanics: šœ€Ī”š‘¢+š›¾ā‹…āˆ‡š‘¢=1onĪ©,š‘¢=0onšœ•Ī©,(5.8) where š‘¢=š‘¢(š‘„,š‘¦), š›¾ is a constant, and šœ•Ī© is the boundary of the square Ī©=(0,1)Ɨ(0,1). To apply the present algorithm we replace the variable š‘¦ by š‘” and divide the spatial domain (š‘„āˆˆ(0,1)) into š‘›+2 equally spaced points with spacing ā„Ž=1/(š‘›+1). Letting š‘‹š‘–=š‘¢(š‘„š‘–,š‘”) and using the method of lines to discretize the above equation result in the system of ODEs: šœ€š‘‘2š‘‹š‘–š‘‘š‘”2+š›¾š‘‘š‘‹š‘–ī‚øš‘‹š‘‘š‘”+š›¾š‘–+1āˆ’š‘‹š‘–āˆ’1ī‚¹+šœ€2ā„Žā„Ž2ī€ŗš‘‹š‘–+1āˆ’2š‘‹š‘–+š‘‹š‘–āˆ’1ī€»āˆ’1=0,(5.9)š‘–=1,2,ā€¦,š‘›. If we let š‘‹=[š‘‹1,š‘‹2,ā€¦,š‘‹š‘›]š‘” and š‘“(š‘‹)=[š‘“1,š‘“2,ā€¦,š‘“š‘›]š‘”, where š‘“š‘–ī‚øš‘‹=š›¾š‘–+1āˆ’š‘‹š‘–āˆ’1ī‚¹+šœ€2ā„Žā„Ž2ī€ŗš‘‹š‘–+1āˆ’2š‘‹š‘–+š‘‹š‘–āˆ’1ī€»āˆ’1,(5.10) then the system of ODEs can be written as šœ€š‘‘2š‘‹š‘‘š‘”2+š›¾š‘‘š‘‹š‘‘š‘”+š‘“(š‘‹)=0,(5.11)š‘‹(0)=0,š‘‹(1)=0, and š‘›=10.
Choose šœ€=0.01 and š›¾=1. Figure 6 shows a plot of the solution profiles š‘‹5(š‘”) and š‘¤5(š‘”) (asymptotic solution) after the first iteration in š‘ . It is seen that the solution profiles are almost identical (in the bulk region).

Example 5.5. Consider the singularly perturbed telegraph equation: šœ–šœ•2š‘¢šœ•š‘”2+š›¾šœ•š‘¢šœ•šœ•š‘”=šœ‡2š‘¢šœ•š‘„2āˆ’šœŽ(š‘”),(5.12) where š‘¢=š‘¢(š‘„,š‘”), š›¾ and šœ‡ are constants, and šœŽ is an arbitrary function of š‘”. Consider normal boundary conditions: šœ•š‘¢šœ•š‘„(0,š‘”)=šœ•š‘¢šœ•š‘„(1,š‘”)=0(5.13) with initial conditions š‘¢(š‘„,0)=sinšœ‹š‘„,šœ•š‘¢šœ•š‘”(š‘„,0)=šœ‹cosšœ‹š‘„.(5.14)
As in the previous example we used the method of lines to obtain the discretized system of ODEs:
šœ–š‘‘2š‘‹š‘‘š‘”2+š›¾š‘‘š‘‹š‘‘š‘”+š‘“(š‘‹)=0,(5.15) where š‘‹=[š‘‹0,š‘‹1,ā€¦,š‘‹š‘+1]š‘”, š‘“(š‘‹)=[š‘“0,š‘“1,ā€¦,š‘“š‘+1]š‘”, š‘“š‘–=(āˆ’š‘¢/ā„Ž2)[š‘‹š‘–+1āˆ’2š‘‹š‘–+š‘‹š‘–āˆ’1]+šœŽš‘‹š‘–, š‘–=0,1,ā€¦,š‘›+1, with š‘‹āˆ’1=š‘‹1 and š‘‹š‘+2=š‘‹š‘. The initial conditions are š‘‹š‘–(0)=sinšœ‹š‘„š‘–, š‘‹ā€²š‘–(0)=šœ‹cosšœ‹š‘„š‘–, š‘–=0,1,ā€¦,š‘›+1, and š‘›=51. Choose šœ–=0.01, š›¾=1 and šœŽ=1. Figure 7 shows the error in the various solution components. For example, š‘’6(1) corresponds to the error in the sixth solution component using (2.21) and š‘’6(2) corresponds to the error in the sixth solution component using (2.25), respectively. It is evident that using the new algorithm proposed in this paper gives superior numerical results.

6. Conclusion

The numerical solution of singularly perturbed second-order ODEs of the form (1.1) involving a single variable and a linear function š‘“(š‘„) is well established. On the other hand, the solution of the system (1.1) with a nonlinear function presents a formidable numerical challenge. The procedure presented in this paper gives an efficient algorithm for solving such systems. The improved algorithm is capable of handling a wider class of problems and at the same time produces a uniform solution over the entire time domain of interest. Furthermore, the numerical examples selected are representative of typical application areas including problems exhibiting multiple boundary layers.


The authors would like to thank Professor Janusz Mika for providing them with useful suggestions during the preparation of this manuscript. Also, the authors would like to extend their appreciation to the anonymous referees, whose feedback contributed in improving the manuscript.