Math 292C (Applied Mathematics)

Course Topics: Finite Element Methods for PDEs III
Instructor: Prof. Michael Holst
Term: Spring 1998

One-page course announcement.

MATLAB FEM PACKAGE: Get this package from here. We will use this package to explore the finite element method in some homeworks. The package is mostly complete; part of your homework will be to finish a few missing pieces.

The package is a piecewise-linear Galerkin finite element code, for general second-order nonlinear elliptic equations on arbitrary polygonal domains in 2D. You provide the initial triangles representing the domain (which you can get from MATLAB's "delaunay" function if you like), and then you also specify the weak form of your problem (possibly nonlinear), as well as a linearization bilinear form. In the case of a linear problem like the Poisson equation, you simply specify the weak form of the Poisson equation in residual form, and then specify its linearization (just the weak form of the Laplace operator) as the associatied bilinear linearization form. (Refer to my class notes for the details.) The code then generates a sequence of Galerkin solutions to linearizations of the problem, and constructs the solution to the nonlinear problem with a Newton iteration. If your problem is linear, the Newton iteration terminates in one step.

Our homeworks this quarter will involve implementing some extensions, and proving some things about the extensions.

HOMEWORK #1 can be found here (4-20-98).

DUE DATE: Homework #1 is do at 4pm on 6-12-98.

The final project can be found here (6-3-98).

DUE DATE: The final project is do at 4pm on 6-12-98.

The latest version of the package can be found here.

This version includes completely working versions of adaptive bisection and quadrasection (supplemented by bisection). Everyone should be able to complete the final project within an hour or two, now that you can all start with a working HOMEWORK #1 solution. By the way, I don't seem to have encountered the bizarre "boundary" bug that a few of you have run into.

Reward: \$1 goes to whoever finds the first three unrelated bugs in this version...yes, you can earn up to \$3!