The ﬁnite 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 ﬁnite 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 beneﬁt from a careful explanation of data structures and speciﬁc coding strategies and will learn how to write a ﬁnite 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 ﬁnite 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. Preface; Part I: The Basic Framework for Stationary Problems. Chapter 1: Some Model PDEs; Chapter 2: The weak form of a BVP; Chapter 3: The Galerkin method; Chapter 4: Piecewise polynomials and the finite element method; Chapter 5: Convergence of the finite element method; Part II Data Structures and Implementation. Chapter 6: The mesh data structure; Chapter 7: Programming the finite element method: Linear Lagrange triangles; Chapter 8: Lagrange triangles of arbitrary degree; Chapter 9: The finite element method for general BVPs; Part III: Solving the Finite Element Equations. Chapter 10: Direct solution of sparse linear systems; Chapter 11: Iterative methods: Conjugate gradients; Chapter 12: The classical stationary iterations; Chapter 13: The multigrid method; Part IV: Adaptive Methods. Chapter 14: Adaptive mesh generation; Chapter 15: Error estimators and indicators; Bibliography; Index. “Upon completion of this book a student or researcher would be well prepared to employ finite elements for an application problem or proceed to the cutting edge of research in finite element methods. The accuracy and the thoroughness of the book are excellent.” — Anthony Kearsley, research mathematician, National Institute of Standards and Technology.