Your browser is ancient!
Upgrade to a different browser to experience this site.

The Finite Element Method for Problems in Physics

What You'll Learn

  • Become familiar with the finite element method as applicable to a range of problems in physics and engineering.
  • Create simple C++ code.
13 Modules
65 Hours
5 hrs per module (approx.)
Rating

About The Finite Element Method for Problems in Physics

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.

Skills You'll Gain

  • Finite Element Methods
  • Generalized Finite Element Methods

What You'll Earn

Certificate of Completion
Certificates of completion acknowledge knowledge acquired upon completion of a non-credit course or program.
Experience Type
100% Online
Format
Self-Paced
Subject
  • Information Technology
  • Physical Science and Engineering
Platform
Coursera
Welcome Message

Welcome to The Finite Element Method for Problems in Physics, an advanced course introducing finite element formulations for physics and engineering applications. Learners focus on translating mathematical formulations into working code using modern, open-source tools, while developing conceptual understanding of partial differential equations and linear algebra.
This abbreviated syllabus description was created with the help of AI tools and reviewed by staff. The full syllabus is available to those who enroll in the course.

Course Schedule

Modules 1–2

  • Unit Quizzes on FEM Foundations

Module 3

  • Unit Quiz
  • Coding Assignment 1

Modules 4–7

  • Unit Quizzes

Module 8

  • Unit Quiz
  • Coding Assignment 2

Modules 9–10

  • Unit Quizzes
  • Coding Assignment 3

Module 11

  • Unit Quiz
  • Coding Assignment 4

Modules 12–13

  • Unit Quiz
  • Course Wrap-Up
Grading Policy

Learners must complete all required quizzes and coding assignments. Course materials remain open for self-paced learning.

Course content developed by U-M faculty and managed by the university. Faculty titles and affiliations are updated periodically.

Intermediate Level

Some related experience required

Enrollment Options

Individuals

This experience is available to individual learners on the following platforms:

U-M Community

Free access is only available to current U-M students, alumni, faculty, and staff.

Organizations

Special pricing and tailored programming bundles available for organizational partners.

What are Coursera and edX?

Michigan Online learning experiences may be hosted on one or more learning platforms. Platform features may vary, including payment models, social communities, and learner support.

Coursera

  • Hosts online courses, series, and Teach-Outs from Michigan Online
  • Enroll and preview courses anytime
  • May earn a non-credit certificate from Coursera

edX

  • Hosts online courses and series from Michigan Online
  • Many offer a free (limited) audit option
  • May earn a non-credit certificate from edX

For more information visit the What are Coursera and edX? FAQ section

Reviews and Ratings

4.6

514 Ratings from Coursera

Most Recent Reviews

Read all reviews
This is an excellent course for anyone who wants to learn finite element methods outside the classroom setting. Prof. Garikipati, is one of the best instructor I have seen. Very excellent. I am certain what I have learnt here will be a great career advantage for me.
I learned a lot from this course - both about the theory of differential equations, the method of FEM and what characterizes it, and some application of the theory in the C++ assignments given. I give this 5 stars because I believe the teacher and the TA done a great job explaining everything, in a calm and step-by-step method, as well as giving the material needed to further study on our own. However, the course is more than 10 years old and it is problematic to get some of the assignments working correctly. If an updated version could come out, or at least having an update for the assignments to be compatible with newer deal.II versions this would be fantastic. Overall, great course.
This course has an excellent content, however, you can't finish it beacause the software to perfome excersive is updated and you wouldn't completed the tasks.
The course is excellent, but when it comes to the programmation with C++, specially people like have no background in it, dealii doesn't download in 2025, that was a challenge for me. It needs updates with dealii.
There could be better support. I know this course is old, but since it's still up and running, some form of support or help from the staff would be very nice. When we run into problems, there is no one to get help from. Perhaps, it's about time Coursera updates this course or introduces another course in FEM. Otherwise, it's an interesting. Review math before starting this course.
The instructor way of teaching is very disengaging and random, the course illustration is very poor. I hardly push myself to keep going and listen the rest of the course.
Great course. However, the materials for the asssignments needs some maintainance.
Unfortunately i had to drop from the course during week 3 because in order to follow the coding assignments one needs to download the virtual machine. However this software is not compatible with current Mac computers (or at least I have not been able to install it). I strongly recommend the organizers to add in the description all the requirements in order to prevent people the waste of time.
the video lectures are very bad quality
Sorry, but I do not understand how anyone gives this course 5 stars. Today, after much deliberation, I fnially made a decision to unenroll the course. Fortunately, I did not pay for the certificate yet. The course can be roughly divided into two parallel parts: 1) FEM theory and 2) some related C ++ programming. As for the theoretical part, I don’t like it, but it more or less satisfies my needs in FEM. But the lectures are delivered very slowly, the written text is really chicken tracks and it is almost impossible to reread it. A separate disadvantage is that the authors do not provide slides of lectures, therefore, it is problematic to skim the text of the lecture on your own after listening. It is also very problematic to refresh the lecture in memory because of no readable text. Also, I have a habit of making Anki flashcards based on lecture notes to reinforce lecture-based material, and this is completely impossible here by the same reason. But the really awful part is the programming part. Starting from the complexities associated with the deal.II library settings, and ending with the general indistinctness in the formulation of programming problems. Added to all of this is the fact that the virtual image for dealing with deal.ii is very slow on my (not taht old) laptop, which makes the solving of assignments really a big problem. I may add that I have C++ programming background for over 5 years and a PhD in mathematics. With all this, I still find the course extremely difficult to follow for the reasons listed above. I do not recommend this course to anyone in the form in which it is now. The course requires significant improvement of both theoretical and practical parts. In my opinion, the programming part should be completely redone. I think you can still learn the basics of FEM with this course if you enjoy suffering.

Michigan Online
For You

Sign up for a Michigan Online account to customize your experience!