Informações sobre o curso
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.
Globe

cursos 100% online

Comece imediatamente e aprenda em seu próprio cronograma.
Intermediate Level

Nível intermediário

Clock

Approx. 19 hours to complete

Sugerido: 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.
Comment Dots

English

Legendas: English
Globe

cursos 100% online

Comece imediatamente e aprenda em seu próprio cronograma.
Intermediate Level

Nível intermediário

Clock

Approx. 19 hours to complete

Sugerido: 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.
Comment Dots

English

Legendas: English

Syllabus - What you will learn from this course

1

Section
Clock
6 hours to complete

1

This unit is an introduction to a simple one-dimensional problem that can be solved by the finite element method....
Reading
11 videos (Total 200 min), 2 readings, 1 quiz
Video11 videos
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
Reading2 readings
Help us learn more about you!10m
"Paper and pencil" practice assignment on strong and weak forms0m
Quiz1 practice exercises
Unit 1 Quiz8m

2

Section
Clock
3 hours to complete

2

In this unit you will be introduced to the approximate, or finite-dimensional, weak form for the one-dimensional problem....
Reading
14 videos (Total 202 min), 1 quiz
Video14 videos
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
Quiz1 practice exercises
Unit 2 Quiz6m

3

Section
Clock
7 hours to complete

3

In 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....
Reading
14 videos (Total 213 min), 2 quizzes
Video14 videos
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
Quiz1 practice exercises
Unit 3 Quiz6m

4

Section
Clock
5 hours to complete

4

This 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....
Reading
17 videos (Total 262 min), 1 quiz
Video17 videos
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 0m
04.03c1. In-Video Correction 0m
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
Quiz1 practice exercises
Unit 4 Quiz8m

5

Section
Clock
3 hours to complete

5

This unit outlines the mathematical analysis of the finite element method....
Reading
12 videos (Total 170 min), 1 quiz
Video12 videos
05.01c. In-Video Correction 0m
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
Quiz1 practice exercises
Unit 5 Quiz8m

6

Section
Clock
1 hour to complete

6

This unit develops an alternate derivation of the weak form, which is applicable to certain physical problems....
Reading
4 videos (Total 70 min), 1 quiz
Video4 videos
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
Quiz1 practice exercises
Unit 6 Quiz4m

7

Section
Clock
6 hours to complete

7

In this unit, we develop the finite element method for three-dimensional scalar problems, such as the heat conduction or mass diffusion problems....
Reading
24 videos (Total 322 min), 1 quiz
Video24 videos
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 0m
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 0m
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 0m
07.18. The matrix-vector weak form, continued further - II 20m
07.18c. In-Video Correction 3m
Quiz1 practice exercises
Unit 7 Quiz10m

8

Section
Clock
5 hours to complete

8

In 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....
Reading
9 videos (Total 108 min), 2 quizzes
Video9 videos
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
Quiz1 practice exercises
Unit 8 Quiz6m

9

Section
Clock
1 hour to complete

9

In this unit, we take a detour to study the two-dimensional formulation for scalar problems, such as the steady state heat or diffusion equations....
Reading
6 videos (Total 73 min), 1 quiz
Video6 videos
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 0m
09.04. The matrix-vector weak form - II 11m
09.04c. In-Video Correction 1m
Quiz1 practice exercises
Unit 9 Quiz4m

10

Section
Clock
8 hours to complete

10

This 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....
Reading
22 videos (Total 306 min), 2 quizzes
Video22 videos
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 0m
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
Quiz1 practice exercises
Unit 10 Quiz8m

11

Section
Clock
9 hours to complete

11

In this unit, we study the unsteady heat conduction, or mass diffusion, problem, as well as its finite element formulation....
Reading
27 videos (Total 378 min), 2 quizzes
Video27 videos
11.01c In-Video Correction 0m
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 0m
11.05. Basis functions, and the matrix-vector weak form - II 12m
11.05. Response to a question 0m
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
Quiz1 practice exercises
Unit 11 Quiz8m

12

Section
Clock
2 hours to complete

12

In this unit we study the problem of elastodynamics, and its finite element formulation....
Reading
9 videos (Total 141 min), 1 quiz
Video9 videos
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
Quiz1 practice exercises
Unit 12 Quiz4m

13

Section
Clock
19 minutes to complete

113

This is a wrap-up, with suggestions for future study....
Reading
1 video (Total 9 min), 1 reading
Reading1 readings
Post-course Survey10m
4.6

Top Reviews

By MSJul 11th 2017

Well-structured course with high quality lectures and slides in Galerkin FEM for problems in physics. A 'Must Take' to every professional in computer-aided design for research and concept development.

By MBMar 5th 2017

This was a great course, I can only recommend. The tutor really explains basically all that there is to linear PDEs. What I miss, maybe as a different course is the case of nonlinear equations.

Instructor

Avatar

Krishna Garikipati, Ph.D.

Professor of Mechanical Engineering, College of Engineering - Professor of Mathematics, College of Literature, Science and the Arts

About University of Michigan

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....

Frequently Asked Questions

  • 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.

  • If you pay for this course, you will have access to all of the features and content you need to earn a Course Certificate. If you complete the course successfully, your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile. Note that the Course Certificate does not represent official academic credit from the partner institution offering the course.

  • Yes! Coursera provides financial aid to learners who would like to complete a course but cannot afford the course fee. To apply for aid, select "Learn more and apply" in the Financial Aid section below the "Enroll" button. You'll be prompted to complete a simple application; no other paperwork is required.

  • 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.

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

  • 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).

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

More questions? Visit the Learner Help Center