The book outlines the shortest possible path from no previous experience with programming to a set of skills that allows the students to write simple programs for solving common mathematical problems with numerical methods in engineering and science courses. The emphasis is on generic algorithms, clean design of programs, use of functions, and automatic tests for verification.
This easy-to-read book introduces the basics of solving partial differential equations by means of finite difference methods. Unlike many of the traditional academic works on the topic, this book was written for practitioners. Accordingly, it especially addresses: the construction of finite difference schemes, formulation and implementation of algorithms, verification of implementations, analyses of physical behavior as implied by the numerical solutions, and how to apply the methods and software to solve problems in the fields of physics and biology.
Scaling (or non-dimensionalization) is a mathematical technique that greatly simplifies the setting of input parameters in numerical simulations. Moreover, scaling enhances the understanding of how different physical processes interact in a differential equation model. Compared to the existing literature, where the topic of scaling is frequently encountered, but very often in only a brief and shallow setting, the present book gives much more thorough explanations of how to reason about finding the right scales. This process is highly problem dependent, and therefore the book features a lot of worked examples, from very simple ODEs to systems of PDEs, especially from fluid mechanics.
The text is easily accessible and example-driven. The first part on ODEs fits even a lower undergraduate level, while the most advanced multiphysics fluid mechanics examples target the graduate level. The scientific literature is full of scaled models, but in most of the cases, the scales are just stated without thorough mathematical reasoning. This book explains how the scales are found mathematically.
This book will be a valuable read for anyone doing numerical simulations based on ordinary or partial differential equations.