Offered By

University of Michigan

About this Course

4.7

266 ratings

•

57 reviews

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.

Start instantly and learn at your own schedule.

Reset deadlines in accordance to your schedule.

Suggested: You should expect to watch about 3 hours of video lectures a week. Apart from the lectures, expect to put in between 3 and 5 hours a week....

Subtitles: English

Finite DifferencesC++C Sharp (C#) (Programming Language)Matrices

Start instantly and learn at your own schedule.

Reset deadlines in accordance to your schedule.

Suggested: You should expect to watch about 3 hours of video lectures a week. Apart from the lectures, expect to put in between 3 and 5 hours a week....

Subtitles: English

Week

1This unit is an introduction to a simple one-dimensional problem that can be solved by the finite element method....

11 videos (Total 200 min), 2 readings, 1 quiz

01.02. Introduction. Linear elliptic partial differential equations - II 13m

01.03. Boundary conditions 22m

01.04. Constitutive relations 20m

01.05. Strong form of the partial differential equation. Analytic solution 22m

01.06. Weak form of the partial differential equation - I 12m

01.07. Weak form of the partial differential equation - II 15m

01.08. Equivalence between the strong and weak forms 24m

01.08ct.1. Intro to C++ (running your code, basic structure, number types, vectors) 21m

01.08ct.2. Intro to C++ (conditional statements, “for” loops, scope) 19m

01.08ct.3. Intro to C++ (pointers, iterators) 14m

Help us learn more about you!10m

"Paper and pencil" practice assignment on strong and weak formss

Unit 1 Quiz8m

Week

2In this unit you will be introduced to the approximate, or finite-dimensional, weak form for the one-dimensional problem....

14 videos (Total 202 min), 1 quiz

02.01q. Response to a question 7m

02.02. Basic Hilbert spaces - I 15m

02.03. Basic Hilbert spaces - II 9m

02.04. The finite element method for the one-dimensional, linear, elliptic partial differential equation 22m

02.04q. Response to a question 6m

02.05. Basis functions - I 14m

02.06. Basis functions - II 14m

02.07. The bi-unit domain - I 11m

02.08. The bi-unit domain - II 16m

02.09. The finite dimensional weak form as a sum over element subdomains - I 16m

02.10. The finite dimensional weak form as a sum over element subdomains - II 12m

02.10ct.1. Intro to C++ (functions) 13m

02.10ct.2. Intro to C++ (C++ classes) 16m

Unit 2 Quiz6m

Week

3In this unit, you will write the finite-dimensional weak form in a matrix-vector form. You also will be introduced to coding in the deal.ii framework....

14 videos (Total 213 min), 2 quizzes

03.02. The matrix-vector weak form - I - II 17m

03.03. The matrix-vector weak form - II - I 15m

03.04. The matrix-vector weak form - II - II 13m

03.05. The matrix-vector weak form - III - I 22m

03.06. The matrix-vector weak form - III - II 13m

03.06ct.1. Dealii.org, running deal.II on a virtual machine with Oracle VirtualBox12m

03.06ct.2. Intro to AWS, using AWS on Windows24m

03.06ct.2c. In-Video Correction3m

03.06ct.3. Using AWS on Linux and Mac OS7m

03.07. The final finite element equations in matrix-vector form - I 22m

03.08. The final finite element equations in matrix-vector form - II 18m

03.08q. Response to a question 4m

03.08ct. Coding assignment 1 (main1.cc, overview of C++ class in FEM1.h) 19m

Unit 3 Quiz6m

Week

4This unit develops further details on boundary conditions, higher-order basis functions, and numerical quadrature. You also will learn about the templates for the first coding assignment....

17 videos (Total 262 min), 1 quiz

04.02. The pure Dirichlet problem - II 17m

04.02c. In-Video Correction 1m

04.03. Higher polynomial order basis functions - I 23m

04.03c0. In-Video Correction 57s

04.03c1. In-Video Correction 34s

04.04. Higher polynomial order basis functions - I - II 16m

04.05. Higher polynomial order basis functions - II - I 13m

04.06. Higher polynomial order basis functions - III 23m

04.06ct. Coding assignment 1 (functions: class constructor to “basis_gradient”) 14m

04.07. The matrix-vector equations for quadratic basis functions - I - I 21m

04.08. The matrix-vector equations for quadratic basis functions - I - II 11m

04.09. The matrix-vector equations for quadratic basis functions - II - I 19m

04.10. The matrix-vector equations for quadratic basis functions - II - II 24m

04.11. Numerical integration -- Gaussian quadrature 13m

04.11ct.1. Coding assignment 1 (functions: “generate_mesh” to “setup_system”) 14m

04.11ct.2. Coding assignment 1 (functions: “assemble_system”) 26m

Unit 4 Quiz8m

Week

5This unit outlines the mathematical analysis of the finite element method....

12 videos (Total 170 min), 1 quiz

05.01. Norms - I 18m

05.01c. In-Video Correction 56s

05.01ct.1. Coding assignment 1 (functions: “solve” to “l2norm_of_error”) 10m

05.01ct.2. Visualization tools7m

05.02. Norms - II 18m

05.02. Response to a question 5m

05.03. Consistency of the finite element method 24m

05.04. The best approximation property 21m

05.05. The "Pythagorean Theorem" 13m

05.05q. Response to a question 3m

05.06. Sobolev estimates and convergence of the finite element method 23m

05.07. Finite element error estimates 22m

Unit 5 Quiz8m

Week

6This unit develops an alternate derivation of the weak form, which is applicable to certain physical problems....

4 videos (Total 70 min), 1 quiz

06.02. Functionals. Free energy - II 13m

06.03. Extremization of functionals 18m

06.04. Derivation of the weak form using a variational principle 20m

Unit 6 Quiz4m

Week

7In this unit, we develop the finite element method for three-dimensional scalar problems, such as the heat conduction or mass diffusion problems....

24 videos (Total 322 min), 1 quiz

07.02. The strong form of steady state heat conduction and mass diffusion - II 19m

07.02q. Response to a question 1m

07.03. The strong form, continued 19m

07.03c. In-Video Correction 42s

07.04. The weak form 24m

07.05. The finite-dimensional weak form - I 12m

07.06. The finite-dimensional weak form - II 15m

07.07. Three-dimensional hexahedral finite elements 21m

07.08. Aside: Insight to the basis functions by considering the two-dimensional case 17m

07.08c In-Video Correction 44s

07.09. Field derivatives. The Jacobian - I 12m

07.10. Field derivatives. The Jacobian - II 14m

07.11. The integrals in terms of degrees of freedom 16m

07.12. The integrals in terms of degrees of freedom - continued 20m

07.13. The matrix-vector weak form - I 17m

07.14. The matrix-vector weak form II 11m

07.15.The matrix-vector weak form, continued - I 17m

07.15c. In-Video Correction 1m

07.16. The matrix-vector weak form, continued - II 16m

07.17. The matrix vector weak form, continued further - I 17m

07.17c. In-Video Correction 47s

07.18. The matrix-vector weak form, continued further - II 20m

07.18c. In-Video Correction 3m

Unit 7 Quiz10m

Week

8In this unit, you will complete some details of the three-dimensional formulation that depend on the choice of basis functions, as well as be introduced to the second coding assignment....

9 videos (Total 108 min), 2 quizzes

08.01c. In-Video Correction 1m

08.02. Lagrange basis functions in 1 through 3 dimensions - II 12m

08.02ct. Coding assignment 2 (2D problem) - I 13m

08.03. Quadrature rules in 1 through 3 dimensions 17m

08.03ct.1. Coding assignment 2 (2D problem) - II 13m

08.03ct.2. Coding assignment 2 (3D problem) 6m

08.04. Triangular and tetrahedral elements - Linears - I 6m

08.05. Triangular and tetrahedral elements - Linears - II 16m

Unit 8 Quiz6m

Week

9In this unit, we take a detour to study the two-dimensional formulation for scalar problems, such as the steady state heat or diffusion equations....

6 videos (Total 73 min), 1 quiz

09.02. The finite-dimensional weak form and basis functions - II 19m

09.03. The matrix-vector weak form 19m

09.03c. In-Video Correction 38s

09.04. The matrix-vector weak form - II 11m

09.04c. In-Video Correction 1m

Unit 9 Quiz4m

Week

10This unit introduces the problem of three-dimensional, linearized elasticity at steady state, and also develops the finite element method for this problem. Aspects of the code templates are also examined....

22 videos (Total 306 min), 2 quizzes

10.02. The strong form of linearized elasticity in three dimensions - II 17m

10.02c. In-Video Correction 1m

10.03. The strong form, continued 23m

10.04. The constitutive relations of linearized elasticity 21m

10.05. The weak form - I 17m

10.05q. Response to a question 7m

10.06. The weak form - II 20m

10.07. The finite-dimensional weak form - Basis functions - I 18m

10.08. The finite-dimensional weak form - Basis functions - II 9m

10.09. Element integrals - I 20m

10.09c. In-Video Correction 53s

10.10. Element integrals - II 6m

10.11. The matrix-vector weak form - I 19m

10.12. The matrix-vector weak form - II 12m

10.13. Assembly of the global matrix-vector equations - I 20m

10.14. Assembly of the global matrix-vector equations - II 9m

10.14c. In Video Correction 2m

10.14ct.1. Coding assignment 3 - I 10m

10.14ct.2. Coding assignment 3 - II 19m

10.15. Dirichlet boundary conditions - I 21m

10.16. Dirichlet boundary conditions - II 13m

Unit 10 Quiz8m

Week

11In this unit, we study the unsteady heat conduction, or mass diffusion, problem, as well as its finite element formulation....

27 videos (Total 378 min), 2 quizzes

11.01c In-Video Correction 43s

11.02. The weak form, and finite-dimensional weak form - I 18m

11.03. The weak form, and finite-dimensional weak form - II 10m

11.04. Basis functions, and the matrix-vector weak form - I 19m

11.04c In-Video Correction 44s

11.05. Basis functions, and the matrix-vector weak form - II 12m

11.05. Response to a question 51s

11.06. Dirichlet boundary conditions; the final matrix-vector equations 16m

11.07. Time discretization; the Euler family - I 22m

11.08. Time discretization; the Euler family - II 9m

11.09. The v-form and d-form 20m

11.09ct.1. Coding assignment 4 - I 11m

11.09ct.2. Coding assignment 4 - II 13m

11.10. Analysis of the integration algorithms for first order, parabolic equations; modal decomposition - I 17m

11.11. Analysis of the integration algorithms for first order, parabolic equations; modal decomposition - II 14m

11.11c. In-Video Correction 1m

11.12. Modal decomposition and modal equations - I 16m

11.13. Modal decomposition and modal equations - II 16m

11.14. Modal equations and stability of the time-exact single degree of freedom systems - I 10m

11.15. Modal equations and stability of the time-exact single degree of freedom systems - II 17m

11.15q. Response to a question 10m

11.16. Stability of the time-discrete single degree of freedom systems 23m

11.17. Behavior of higher-order modes; consistency - I 18m

11.18. Behavior of higher-order modes; consistency - II 19m

11.19. Convergence - I 20m

11.20. Convergence - II 16m

Unit 11 Quiz8m

Week

12In this unit we study the problem of elastodynamics, and its finite element formulation....

9 videos (Total 141 min), 1 quiz

12.02. The finite-dimensional and matrix-vector weak forms - I 10m

12.03. The finite-dimensional and matrix-vector weak forms - II 16m

12.04. The time-discretized equations 23m

12.05. Stability - I12m

12.06. Stability - II 14m

12.07. Behavior of higher-order modes 19m

12.08. Convergence 24m

12.08c. In-Video Correction 3m

Unit 12 Quiz4m

Week

13This is a wrap-up, with suggestions for future study....

1 video (Total 9 min), 1 reading

Post-course Survey10m

4.7

57 Reviewsstarted a new career after completing these courses

got a tangible career benefit from this course

By SS•Mar 13th 2017

It is very well structured and Dr Krishna Garikipati helps me understand the course in very simple manner. I would like to thank coursera community for making this course available.

By YW•Jun 21st 2018

Great class! I truly hope that there are further materials on shell elements, non-linear analysis (geometric nonlinearity, plasticity and hyperelasticity).

The mission of the University of Michigan is to serve the people of Michigan and the world through preeminence in creating, communicating, preserving and applying knowledge, art, and academic values, and in developing leaders and citizens who will challenge the present and enrich the future....

When will I have access to the lectures and assignments?

Once you enroll for a Certificate, you’ll have access to all videos, quizzes, and programming assignments (if applicable). Peer review assignments can only be submitted and reviewed once your session has begun. If you choose to explore the course without purchasing, you may not be able to access certain assignments.

What will I get if I purchase the Certificate?

When you purchase a Certificate you get access to all course materials, including graded assignments. Upon completing the course, your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile. If you only want to read and view the course content, you can audit the course for free.

What is the refund policy?

Is financial aid available?

What resources will I need for this class?

You will need computing resources sufficient to install the code and run it. Depending on the type of installation this could be between a 13MB download of a tarred and gzipped file, to 45MB for a serial MacOSX binary and 192MB for a parallel MacOSX binary. Additionally, you will need a specific visualization program that we recommend. Altogether, if you have 1GB you should be fine. Alternately, you could download a Virtual Machine Interface.

What is the coolest thing I'll learn if I take this class?

You will be able to write code that simulates some of the most beautiful problems in physics, and visualize that physics.

What background is expected for learners in this class?

You will need to know about matrices and vectors. Having seen partial differential equations will be very helpful. The code is in C++, but you don't need to know C++ at the outset. We will point you to resources that will teach you enough C++ for this class. However, you will need to have done some programming (Matlab, Fortran, C, Python, C++ should all do).

How much work will this class involve?

Apart from the lectures, expect to put in between 5 and 10 hours a week.

More questions? Visit the Learner Help Center.

Coursera provides universal access to the world’s best education,
partnering with top universities and organizations to offer courses online.