By Gong Chen, Brandon Cloutier, Ning Li, Benson Muite and Paul Rigge
with contributions from Sudarshan Balakrishnan, Andre Souza and Jeremy West
University of Michigan, Ann Arbor, Michigan
This module teaches the principals of Fourier spectral methods, their utility in solving partial differential equation and how to implement them in code. Performance considerations for several Fourier spectral implementations are discussed and methods for effective scaling on parallel computers are explained.
Upon completion of this module students should be able to understand finite precision arithmetic and how it relates to the accuracy of numerical calculations, solve ordinary differential equations and partial differential equations using separation of variables, use numerical time-stepping methods to solve ordinary and partial differential equations, use pseudo spectral methods like Fourier Transform and Fast Fourier Transform to solve partial differential equations, and use these methods to solve partial differential equations in a serial setting and a parallel setting using Matlab and Fortran.
The documents can be downloaded below.
This module is also available in wikibook form at this link: http://en.wikibooks.org/w/index.php?title=Parallel_Spectral_Numerical_Methods&stable=0&redirect=no
Parallelization Area : An example of parallel Monte Carlo integration.
Parallel Numerical Methods : The module document in PDF format.
Parallel Spectral Intro SVN Programs : Example programs part I.
Parallel Spectral Intro SVN Programs Part 2 : Example programs part II.
Parallel Spectral Programs : Parallel Spectral Programs source code.