The finite element method is the most powerful general-purpose technique for computing accurate solutions to
partial differential equations. Understanding and Implementing the Finite Element Method is essential reading for
those interested in understanding both the theory and the implementation of the finite element method for equilibrium
problems. This book contains a thorough derivation of the finite element equations as well as sections on programming
the necessary calculations, solving the finite element equations, and using a posteriori error estimates to produce
validated solutions. Accessible introductions to advanced topics, such as multigrid solvers, the hierarchical basis
conjugate gradient method, and adaptive mesh generation, are provided. Each chapter ends with exercises to help
readers master these topics. Understanding and Implementing the Finite Element Method includes a carefully documented
collection of MATLAB programs implementing the ideas presented in the book. Readers will benefit from a careful
explanation of data structures and specific coding strategies and will learn how to write a finite element code
from scratch. Students can use the MATLAB codes to experiment with the method and extend them in various ways to
learn more about programming finite elements. This practical book should provide an excellent foundation for those
who wish to delve into advanced texts on the subject, including advanced undergraduates and beginning graduate
students in mathematics, engineering, and the physical sciences.
Table of Contents
Part I. The Basic Framework for Stationary Problems
1. Some Model PDEs
2. The weak form of a BVP
3. The Galerkin method
4. Piecewise polynomials and the finite element method
5. Convergence of the finite element method
Part II. Data Structures and Implementation
6. The mesh data structure
7. Programming the finite element method: Linear Lagrange triangles
8. Lagrange triangles of arbitrary degree
9. The finite element method for general BVPs
Part III. Solving the Finite Element Equations
10. Direct solution of sparse linear systems
11. Iterative methods: Conjugate gradients
12. The classical stationary iterations
13. The multigrid method
Part IV. Adaptive Methods
14. Adaptive mesh generation
15. Error estimators and indicators
Bibliography
Index