The book is suitable for readers with a background in basic finite element and finite difference methods for partial differential equations who wants gentle introductions to advanced topics like parallel computing, multigrid methods, and special methods for systems of PDEs. The goal of all chapters is to 'compute' solutions to problems, hence algorithmic and software issues play a central role. All software examples use the Diffpack programming environment, so to take advantage of these examples some experience with Diffpack is required. There are also some chapters covering complete applications, i.e., the way from a model, expressed as systems of PDEs, through discretization methods, algorithms, software design, verification, and computational examples.
This book is about solving partial differential equations (PDEs). Such
equations are used to model a wide range of phenomena in virtually all
fields of science and technology. In the last decade, the general
availability of extremely powerful computers has shifted the focus in
computational mathematics from simplified model problems to much more
sophisticated models resembling intricate features of real life. This
change challenges our knowledge in computer science and in numerical
The main objective of the present book is to teach modern, advanced techniques for numerical PDE solution. The book also introduces several models arising in fields like finance, medicine, material technology, and geology. In order to read this book, you must have a basic knowledge of partial differential equations and numerical methods for solving such equations. Furthermore, some background in finite element methods is required. You do not need to know Diffpack, although this programming environment is used in examples throughout the text. Basically, this book is about models, methods, and how to implement the methods. For the implementation part it is natural for us to use Diffpack as the programming environment, because making a PDE solver in Diffpack requires little amount of programming and because Diffpack has support for the advanced numerical methods treated in this book. Most chapters have a part on models and methods, and a part on implementation and Diffpack programming. The exposition is designed such that readers can focus only on the first part, if desired. The prerequisites for the present book (PDEs and numerics) as well as an introduction to Diffpack programming can be found in "Computational Partial Differential Equations - Numerical Methods and Diffpack Programming" by H. P. Langtangen.