Finite element method for solving problems in physics
This course is an introduction to the finite element method as it applies to a range of problems in physics and engineering. The course covers the mathematical methods, but only to clarify the formulations. The emphasis is on coding the formulas in a modern open source environment that can then be extended to other applications. The course includes about 45 hours of lectures, covering the material I would typically teach in an introductory graduate class at the University of Michigan. The presentation is mathematical, as is natural for a topic with deep roots in functional analysis and the calculus of variations. However, it is not formal, since the primary goal of these lectures is to turn the student into a competent finite element code developer. We do spend time on elementary functional analysis and the calculus of variations, but this is only to emphasize the mathematical basis of the methods, which in turn explains why they work so well. Much of the success of the finite element method as a computational scheme lies in the rigor of its mathematical foundation, and this needs to be appreciated, even in the elementary form in which it is presented here. A knowledge of FDEs and, more importantly, of linear algebra is assumed, although the reader will find that we develop all the necessary ideas. The development itself focuses on the classical forms of partial differential equations (FDEs): elliptic, parabolic, and hyperbolic. However, at each stage we make numerous connections with the physical phenomena represented by FDEs. For clarity, we begin with elliptic FDEs in one dimension (linearized elasticity, steady-state thermal conductivity, and mass diffusion). We then move on to three-dimensional elliptic FDEs with scalar unknowns (thermal conductivity and mass diffusion), and conclude our consideration of elliptic FDEs with three-dimensional problems with vector unknowns (linearized elasticity). The lectures then progress to parabolic EDFs in three dimensions (transient heat conduction and mass diffusion), and conclude with hyperbolic EDFs in three dimensions (linear elastodynamics). The lectures include questions and answers from a small group of graduate and postdoctoral students who followed the lectures live. At appropriate points in the lectures, we interrupt the mathematical development to present the code scheme, which is completely open source and based on C++. Books: There are many books on finite element methods. There is no required textbook for this course. However, we recommend the following books for a more detailed and broad coverage than can be provided in any classroom setting: The Finite Element Method: Linear Static and Dynamic Finite Element Analysis, T. J. R. Hughes, Dover Publications, 2000. The Finite Element Method: Its Basis and Fundamentals, OCZienkiewicz, R. L. Taylor and J. Z. Zhu, Butterworth-Heinemann, 2005. A First Course in Finite Elements, J. Fish and T. Belytschko, Wiley, 2007. Resources: You can download the deal.ii library from dealii.org. The lectures include coding tutorials, where we list other resources you can use if you cannot install deal.ii on your computer. You will need cmake to run deal.ii. It is available from cmake.org.