Topics in Scientific Computing

MATH 3040 is a graduate level introduction to finite element simulations using open-source tools such as FEniCS and FreeFem++.

Dr. Mike Sussman will be conducting the course, from 12:30 to 2:15, Monday through Thursday, in Thackeray 524. Office (Thackeray 622) hours are 11:10 to 12:10 Monday through Thursday, or by appointment.

There is no required textbook for the course.


The course objective is to introduce students to formulating, debugging and solving finite element simulations of practical applications, with a focus on the equations of fluid flow. Two popular freely-available computer packages will be presented: FEniCS and FreeFem++. One interface to FEniCS uses the Python programming language, and the course will use Python. FreeFem++ uses a limited version of C++. The basics of the languages plus those features necessary for this course will be presented during the lectures. Previous experience with Python, C++ and with finite element methods will be valuable, but is not required because the languages and theory will be summarized during the lectures. Applications for which FreeFem++ or FEniCS will be used include steady and transient heat conduction as well as the Stokes and Navier-Stokes equations. Various boundary conditions and finite elements will be presented, as well as the effect of these choices on solution methods.

Course materials:

Course materials, including copies of the lecture slides are available:


Course grades will depend on homework and a course project. There will be no final exam.


Students with disabilities

If you have a disability for which you are or may be requesting an accommodation, you are encouraged to contact both your instructor and Disability Resources and Services, 140 William Pitt Union, 412-648-7890 or 412-383-7355 (TTY) as early as possible in the term. DRS will verify your disability and determine reasonable accommodations for this course.

Back to the home page.

Last revised on $Date: 2014/5/12 $.