- Level Professional
- Duration 62 hours
- Course by University of Michigan
-
Offered by
About
This course is an introduction to the finite element method as applicable to a range of problems in physics and engineering sciences. The treatment is mathematical, but only for the purpose of clarifying the formulation. The emphasis is on coding up the formulations in a modern, open-source environment that can be expanded to other applications, subsequently. The course includes about 45 hours of lectures covering the material I normally teach in an introductory graduate class at University of Michigan. The treatment is mathematical, which is natural for a topic whose roots lie deep in functional analysis and variational calculus. It is not formal, however, because the main goal of these lectures is to turn the viewer into a competent developer of finite element code. We do spend time in rudimentary functional analysis, and variational calculus, but this is only to highlight the mathematical basis for the methods, which in turn explains why they work so well. Much of the success of the Finite Element Method as a computational framework lies in the rigor of its mathematical foundation, and this needs to be appreciated, even if only in the elementary manner presented here. A background in PDEs and, more importantly, linear algebra, is assumed, although the viewer will find that we develop all the relevant ideas that are needed. The development itself focuses on the classical forms of partial differential equations (PDEs): elliptic, parabolic and hyperbolic. At each stage, however, we make numerous connections to the physical phenomena represented by the PDEs. For clarity we begin with elliptic PDEs in one dimension (linearized elasticity, steady state heat conduction and mass diffusion). We then move on to three dimensional elliptic PDEs in scalar unknowns (heat conduction and mass diffusion), before ending the treatment of elliptic PDEs with three dimensional problems in vector unknowns (linearized elasticity). Parabolic PDEs in three dimensions come next (unsteady heat conduction and mass diffusion), and the lectures end with hyperbolic PDEs in three dimensions (linear elastodynamics). Interspersed among the lectures are responses to questions that arose from a small group of graduate students and post-doctoral scholars who followed the lectures live. At suitable points in the lectures, we interrupt the mathematical development to lay out the code framework, which is entirely open source, and C++ based. Books: There are many books on finite element methods. This class does not have a required textbook. However, we do recommend the following books for more detailed and broader treatments than can be provided in any form of class: 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, O.C. Zienkiewicz, 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 at dealii.org. The lectures include coding tutorials where we list other resources that you can use if you are unable to install deal.ii on your own computer. You will need cmake to run deal.ii. It is available at cmake.org.Modules
Unit 1: Linear, elliptic partial differential equations in one dimension. Elasticity, heat conduction and mass diffusion.
1
Assignment
- Unit 1 Quiz
11
Videos
- 01.01. Introduction. Linear elliptic partial differential equations - I
- 01.02. Introduction. Linear elliptic partial differential equations - II
- 01.03. Boundary conditions
- 01.04. Constitutive relations
- 01.05. Strong form of the partial differential equation. Analytic solution
- 01.06. Weak form of the partial differential equation - I
- 01.07. Weak form of the partial differential equation - II
- 01.08. Equivalence between the strong and weak forms
- 01.08ct.1. Intro to C++ (running your code, basic structure, number types, vectors)
- 01.08ct.2. Intro to C++ (conditional statements, “for” loops, scope)
- 01.08ct.3. Intro to C++ (pointers, iterators)
3
Readings
- Syllabus
- Help us learn more about you!
- "Paper and pencil" practice assignment on strong and weak forms
Unit 2: Approximation. The finite-dimensional weak form.
1
Assignment
- Unit 2 Quiz
14
Videos
- 02.01. The Galerkin, or finite-dimensional weak form
- 02.01q. Response to a question
- 02.02. Basic Hilbert spaces - I
- 02.03. Basic Hilbert spaces - II
- 02.04. The finite element method for the one-dimensional, linear, elliptic partial differential equation
- 02.04q. Response to a question
- 02.05. Basis functions - I
- 02.06. Basis functions - II
- 02.07. The bi-unit domain - I
- 02.08. The bi-unit domain - II
- 02.09. The finite dimensional weak form as a sum over element subdomains - I
- 02.10. The finite dimensional weak form as a sum over element subdomains - II
- 02.10ct.1. Intro to C++ (functions)
- 02.10ct.2. Intro to C++ (C++ classes)
Unit 3: Linear algebra; the matrix-vector form.
- Coding Assignment 1
1
Assignment
- Unit 3 Quiz
14
Videos
- 03.01. The matrix-vector weak form - I - I
- 03.02. The matrix-vector weak form - I - II
- 03.03. The matrix-vector weak form - II - I
- 03.04. The matrix-vector weak form - II - II
- 03.05. The matrix-vector weak form - III - I
- 03.06. The matrix-vector weak form - III - II
- 03.06ct.1. Dealii.org, running deal.II on a virtual machine with Oracle VirtualBox
- 03.06ct.2. Intro to AWS, using AWS on Windows
- 03.06ct.2c. In-Video Correction
- 03.06ct.3. Using AWS on Linux and Mac OS
- 03.07. The final finite element equations in matrix-vector form - I
- 03.08. The final finite element equations in matrix-vector form - II
- 03.08q. Response to a question
- 03.08ct. Coding assignment 1 (main1.cc, overview of C++ class in FEM1.h)
Unit 4: More on boundary conditions; basis functions; numerics.
1
Assignment
- Unit 4 Quiz
17
Videos
- 04.01. The pure Dirichlet problem - I
- 04.02. The pure Dirichlet problem - II
- 04.02c. In-Video Correction
- 04.03. Higher polynomial order basis functions - I
- 04.03c0. In-Video Correction
- 04.03c1. In-Video Correction
- 04.04. Higher polynomial order basis functions - I - II
- 04.05. Higher polynomial order basis functions - II - I
- 04.06. Higher polynomial order basis functions - III
- 04.06ct. Coding assignment 1 (functions: class constructor to “basis_gradient”)
- 04.07. The matrix-vector equations for quadratic basis functions - I - I
- 04.08. The matrix-vector equations for quadratic basis functions - I - II
- 04.09. The matrix-vector equations for quadratic basis functions - II - I
- 04.10. The matrix-vector equations for quadratic basis functions - II - II
- 04.11. Numerical integration -- Gaussian quadrature
- 04.11ct.1. Coding assignment 1 (functions: “generate_mesh” to “setup_system”)
- 04.11ct.2. Coding assignment 1 (functions: “assemble_system”)
Unit 5: Analysis of the finite element method.
1
Assignment
- Unit 5 Quiz
12
Videos
- 05.01. Norms - I
- 05.01c. In-Video Correction
- 05.01ct.1. Coding assignment 1 (functions: “solve” to “l2norm_of_error”)
- 05.01ct.2. Visualization tools
- 05.02. Norms - II
- 05.02. Response to a question
- 05.03. Consistency of the finite element method
- 05.04. The best approximation property
- 05.05. The "Pythagorean Theorem"
- 05.05q. Response to a question
- 05.06. Sobolev estimates and convergence of the finite element method
- 05.07. Finite element error estimates
Unit 6: Variational principles.
1
Assignment
- Unit 6 Quiz
4
Videos
- 06.01. Functionals. Free energy - I
- 06.02. Functionals. Free energy - II
- 06.03. Extremization of functionals
- 06.04. Derivation of the weak form using a variational principle
Unit 7: Linear, elliptic partial differential equations for a scalar variable in three dimensions. Heat conduction and mass diffusion at steady state.
1
Assignment
- Unit 7 Quiz
24
Videos
- 07.01. The strong form of steady state heat conduction and mass diffusion - I
- 07.02. The strong form of steady state heat conduction and mass diffusion - II
- 07.02q. Response to a question
- 07.03. The strong form, continued
- 07.03c. In-Video Correction
- 07.04. The weak form
- 07.05. The finite-dimensional weak form - I
- 07.06. The finite-dimensional weak form - II
- 07.07. Three-dimensional hexahedral finite elements
- 07.08. Aside: Insight to the basis functions by considering the two-dimensional case
- 07.08c In-Video Correction
- 07.09. Field derivatives. The Jacobian - I
- 07.10. Field derivatives. The Jacobian - II
- 07.11. The integrals in terms of degrees of freedom
- 07.12. The integrals in terms of degrees of freedom - continued
- 07.13. The matrix-vector weak form - I
- 07.14. The matrix-vector weak form II
- 07.15.The matrix-vector weak form, continued - I
- 07.15c. In-Video Correction
- 07.16. The matrix-vector weak form, continued - II
- 07.17. The matrix vector weak form, continued further - I
- 07.17c. In-Video Correction
- 07.18. The matrix-vector weak form, continued further - II
- 07.18c. In-Video Correction
Unit 8: Lagrange basis functions and numerical quadrature in 1 through 3 dimensions
- Coding Assignment 2
1
Assignment
- Unit 8 Quiz
9
Videos
- 08.01. Lagrange basis functions in 1 through 3 dimensions - I
- 08.01c. In-Video Correction
- 08.02. Lagrange basis functions in 1 through 3 dimensions - II
- 08.02ct. Coding assignment 2 (2D problem) - I
- 08.03. Quadrature rules in 1 through 3 dimensions
- 08.03ct.1. Coding assignment 2 (2D problem) - II
- 08.03ct.2. Coding assignment 2 (3D problem)
- 08.04. Triangular and tetrahedral elements - Linears - I
- 08.05. Triangular and tetrahedral elements - Linears - II
Unit 9: Linear, elliptic, partial differential equations for a scalar variable in two dimensions
1
Assignment
- Unit 9 Quiz
6
Videos
- 09.01. The finite-dimensional weak form and basis functions - I
- 09.02. The finite-dimensional weak form and basis functions - II
- 09.03. The matrix-vector weak form
- 09.03c. In-Video Correction
- 09.04. The matrix-vector weak form - II
- 09.04c. In-Video Correction
Unit 10: Linear, elliptic partial differential equations for vector unknowns in three dimensions (Linearized elasticity)
- Coding Assignment 3
1
Assignment
- Unit 10 Quiz
22
Videos
- 10.01. The strong form of linearized elasticity in three dimensions - I
- 10.02. The strong form of linearized elasticity in three dimensions - II
- 10.02c. In-Video Correction
- 10.03. The strong form, continued
- 10.04. The constitutive relations of linearized elasticity
- 10.05. The weak form - I
- 10.05q. Response to a question
- 10.06. The weak form - II
- 10.07. The finite-dimensional weak form - Basis functions - I
- 10.08. The finite-dimensional weak form - Basis functions - II
- 10.09. Element integrals - I
- 10.09c. In-Video Correction
- 10.10. Element integrals - II
- 10.11. The matrix-vector weak form - I
- 10.12. The matrix-vector weak form - II
- 10.13. Assembly of the global matrix-vector equations - I
- 10.14. Assembly of the global matrix-vector equations - II
- 10.14c. In Video Correction
- 10.14ct.1. Coding assignment 3 - I
- 10.14ct.2. Coding assignment 3 - II
- 10.15. Dirichlet boundary conditions - I
- 10.16. Dirichlet boundary conditions - II
Unit 11: Linear, parabolic partial differential equations for a scalar unknown in three dimensions (Unsteady heat conduction and mass diffusion)
- Coding Assignment 4
1
Assignment
- Unit 11 Quiz
27
Videos
- 11.01. The strong form
- 11.01c In-Video Correction
- 11.02. The weak form, and finite-dimensional weak form - I
- 11.03. The weak form, and finite-dimensional weak form - II
- 11.04. Basis functions, and the matrix-vector weak form - I
- 11.04c In-Video Correction
- 11.05. Basis functions, and the matrix-vector weak form - II
- 11.05. Response to a question
- 11.06. Dirichlet boundary conditions; the final matrix-vector equations
- 11.07. Time discretization; the Euler family - I
- 11.08. Time discretization; the Euler family - II
- 11.09. The v-form and d-form
- 11.09ct.1. Coding assignment 4 - I
- 11.09ct.2. Coding assignment 4 - II
- 11.10. Analysis of the integration algorithms for first order, parabolic equations; modal decomposition - I
- 11.11. Analysis of the integration algorithms for first order, parabolic equations; modal decomposition - II
- 11.11c. In-Video Correction
- 11.12. Modal decomposition and modal equations - I
- 11.13. Modal decomposition and modal equations - II
- 11.14. Modal equations and stability of the time-exact single degree of freedom systems - I
- 11.15. Modal equations and stability of the time-exact single degree of freedom systems - II
- 11.15q. Response to a question
- 11.16. Stability of the time-discrete single degree of freedom systems
- 11.17. Behavior of higher-order modes; consistency - I
- 11.18. Behavior of higher-order modes; consistency - II
- 11.19. Convergence - I
- 11.20. Convergence - II
Unit 12: Linear, hyperbolic partial differential equations for a vector unknown in three dimensions (Linear elastodynamics)
1
Assignment
- Unit 12 Quiz
9
Videos
- 12.01. The strong and weak forms
- 12.02. The finite-dimensional and matrix-vector weak forms - I
- 12.03. The finite-dimensional and matrix-vector weak forms - II
- 12.04. The time-discretized equations
- 12.05. Stability - I
- 12.06. Stability - II
- 12.07. Behavior of higher-order modes
- 12.08. Convergence
- 12.08c. In-Video Correction
Conclusion, and the Road Ahead
1
Videos
- Conclusion, and the Road Ahead
2
Readings
- Post-course Survey
- Keep Learning with Michigan Online
Auto Summary
Explore the fundamentals of the Finite Element Method in this comprehensive course designed for science and engineering professionals. Taught by an experienced University of Michigan instructor, the course spans 45 hours of lectures, focusing on coding and applying mathematical formulations to solve physics and engineering problems. Dive into partial differential equations and learn to implement solutions using open-source C++ code. Ideal for those with a background in PDEs and linear algebra, the course offers flexible subscription options: Starter, Professional, and Paid. Join now to enhance your computational skills in a professional setting.

Krishna Garikipati, Ph.D.