This comprehensive book not only introduces the C and C++ programming languages but also shows how to use them in the numerical solution of partial differential equations (PDEs). It leads the reader through the entire solution process, from the original PDE, through the discretization stage, to the numerical solution of the resulting algebraic system. The well-debugged and tested code segments implement the numerical methods efficiently and transparently. Basic and advanced numerical methods are introduced and implemented easily and efficiently in a unified object-oriented approach. The high level of abstraction available in C++ is particularly useful in the implementation of complex mathematical objects, such as unstructured mesh, sparse matrix, and multigrid hierarchy, often used in numerical modeling. This book introduces a unified approach for the implementation of these objects. The code segments and their detailed explanations clearly show how easy it is to implement advanced algorithms in C++. Solving PDEs in C++ contains all the required background in programming, PDEs, and numerical methods; only an elementary background in linear algebra and calculus is required. Useful exercises and solutions conclude each chapter. For the more advanced reader, there is also material on stability analysis and weak formulation. The final parts of the book demonstrate the object-oriented approach in advanced applications. The book is written for researchers, engineers, and advanced students who wish to increase their familiarity with numerical methods and to implement them in modern programming tools. Solving PDEs in C++ can be used as a textbook in courses in C++ with applications, C++ in engineering, numerical analysis, and numerical PDEs at the advanced undergraduate and graduate levels. Because it is self-contained, the book is also suitable for self-study by researchers and students in applied and computational science and engineering. List of Figures; List of Tables; Preface; Part I: Programming.
This comprehensive book not only introduces the C and C++ programming languages but also shows how to use them in the numerical solution of partial differential equations (PDEs). Included is all the required background in programming, PDEs, numerical methods, linear algebra and calculus. Useful exercises and solutions conclude each chapter.
About the Author
Yair Shapira is in the Computer Science Department, Technion, Israel Institute of Technology, Haifa, Israel. His main interests are in multigrid, preconditioning, and numerical methods. He is author of the book Matrix-Based Multigrid (Kluwer, 2003).