ABSTRACT

Standard numerical methods are initially designed to solve a class of general problems without considering the structure of any individual problems. Hence, they seldom produce reliable numerical solutions to problems with complex structures such as nonlinearity, stiffness, singular perturbations and high oscillations. While the explicit difference schemes can solve such problems with low computational cost, they suffer the problems of small stability regions and hence they suffer severe restrictions on step sizes to achieve convenient results. On the other-hand, the implicit finite difference schemes enjoy wide stability regions but suffer high associated computational costs and their convergence orders cannot exceed one order above the explicit methods for the same number of stages [1].

This chapter highlights some of the cases in which the standard finite difference schemes fail to find reliable solutions, then it discusses the rules upon which the nonstandard schemes stand with several examples to explain the idea. MATLAB® and Python are used to implement the solution algorithms in all the sections.

The chapter is organized as follows. The first section discusses some numerical cases in which the standard finite difference methods give inappropriate solutions. In the second section, the construction rules of nonstandard finite difference methods are introduced. Exact finite difference schemes based on nonstandard methods are presented in Section 3, for solving some given initial value problems. Finally, in the fourth section, design of nonstandard finite difference schemes -for the case when exact finite differences are hard to find- is presented.