Implementing Spectral Methods for Partial Differential Equations: Algorithms for Scientists and Engineers by David A. Kopriva
This book is aimed to be both a textbook for graduate students and a starting point for applicationsscientists. It is designedto show how to implementspectral methods to approximate the solutions of partial differential equations. It presents a syst- atic development of the fundamental algorithms needed to write spectral methods codes to solve basic problems of mathematical physics, including steady potentials, transport, and wave propagation. As such, it is meant to supplement, not replace, more general monographs on spectral methods like the recently updated "Spectral Methods: Fundamentals in Single Domains" and "Spectral Methods: Evolution to Complex Geometries and Applications to Fluid Dynamics" by Canuto, Hussaini, Quarteroni and Zang, which provide detailed surveys of the variety of methods, their performance and theory. I was motivated by comments that I have heard over the years that spectral me- ods are "too hard to implement." I hope to dispel this view-or at least to remove the "too". Although it is true that a spectral code is harder to hack together than a s- ple ?nite difference code (at least a low order ?nite difference method on a square domain), I show that only a few fundamental algorithms for interpolation, differen- ation, FFT and quadrature-the subjects of basic numerical methods courses-form the building blocks of any spectral code, even for problems in complex geometries. Ipresentthealgorithmsnotonlytosolveproblemsin1D,but2Daswell,toshowthe ?exibility of spectral methods and to make as straightforward as possible the tr- sition from simple, exploratory programs that illustrate the behavior of the methods to application programs.