Advanced Finite Element Methods
Lecture Notes
Preface
These lecture notes accompany the Fall 2026 course ME/BME 736: Advanced Finite Element Methods. Finite element methods play a fundamental role in engineering modeling, analysis, and design. The course develops a rigorous and computationally useful understanding of the subject, using solid mechanics and heat conduction as recurring model problems. FEniCSx—an open-source, Python-based finite element library—is used throughout for implementation and numerical investigation.
The book is written in Quarto and can be rendered as both HTML and PDF, allowing mathematical developments, Python code, and computational results to be integrated in a common source. The accompanying repository collects the examples developed in the course and the book.
The book is organized into four parts:
- Review and Foundations
- Error Analysis and Adaptivity
- Nonlinear and Transient Finite Element Methods
- PDE-Constrained Optimization
The first part reviews the mathematical, variational, continuum-mechanics, and finite element foundations needed for the topics that follow. The second part develops a priori and a posteriori error estimation, convergence analysis, and adaptive mesh refinement. The third part develops nonlinear finite element methods using hyperelasticity, followed by time discretization for transient problems. The fourth part introduces PDE-constrained optimization: formulating an objective and a PDE constraint, computing direct and adjoint sensitivities, verifying gradients, and solving the resulting optimization problem. Heat conduction and solid mechanics provide recurring examples throughout the book.
Chapters 1–8 have been developed for the course. The chapters on nonlinear methods, transient methods, and PDE-constrained optimization are forthcoming; the development status records their progress.
The perspective of this book draws on the author’s experience applying finite element methods to deformation and fracture mechanics (Jha and Lipton 2021), multiphysics modeling (Fritz, Jha, Köppl, Oden, Wagner, et al. 2021; Fritz, Jha, Köppl, Oden, and Wohlmuth 2021), neural networks (Prashant K. Jha 2026b; Jha 2024), Bayesian inference (Jha and Oden 2022; Jha et al. 2020), and topology optimization (Galloway and Jha 2026b). The author first studied finite element methods during his master’s program at the Indian Institute of Science, Bangalore, where C. S. Jog’s lecture notes (Jog 2011) served as an excellent first-level introduction to the finite element method. The author further developed understanding of fine details of the method during his doctoral studies at Carnegie Mellon University, where he served for several semesters as a teaching assistant for Jacobo Bielak’s graduate introductory course on finite element methods.
The lecture notes by Douglas Arnold (Arnold 2018) and Endre Süli (Süli 2012) provide concise and accessible treatments of the mathematical foundations of finite element methods and error analysis. More detailed discussions can be found in the books by Oden and Reddy and by Becker, Carey, and Oden (Oden and Reddy 1976; Becker et al. 1981). The late J. Tinsley Oden, with whom the author worked from 2019 to 2023 as a postdoctoral fellow and research associate, was an important influence on the perspective adopted here.
The book’s emphasis on practical implementation also reflects the author’s experience developing finite element tutorials in CEADpx/fenics-demo and contributing to open-source scientific software (Prashant K. Jha 2026a; Galloway and Jha 2026a; Jha 2025; Jha and Diehl 2021). The aim is to make the mathematical formulation complete in the text while using executable code to make its numerical realization transparent and reproducible.