Math 676: Finite Element Methods in Scientific Computing

Spring 2023 — Section 601

TR 3:55pm - 5:10pm in Blocker 163

Lecturer: Matthias Maier

Google Drive

Google Group

Catalogue Description:

Basic finite element methods; structure of finite element codes; assembling linear systems of equations and algorithmic aspects; linear iterative solvers; adaptive mesh refinement; vector-valued and mixed problems; nonlinear problems; visualization; parallelization aspects. Additional topics may be chosen by instructor.

Target audience:

The course is designed for students involved in research in numerical methods, or students who want to use the finite element method for simulations in their graduate research.

Course overview and learning outcomes:

This course is intended to highlight some practical aspects of the finite element method, and more generally scientific software development. We will discuss in particular how typical finite element software is structured, how algorithmic details are efficiently implemented, and how necessary pre- and postprocessing steps are executed in the scientific computing workflow. The course will use the deal.II library (website), a large open source finite element library that has been developed over the last 25 years by an international team of researchers.
My goal for this course is that you (a) develop a solid understanding of modern scientific software development and the tools used for this, and (b) to develop a program based on deal.II that helps you in your graduate research. In particular, we will cover the following topics:

Course format: