Math 273C (Scientific Computation)

Course Topics: Computational Mathematics
Instructor: Prof. Michael Holst (5739 AP&M,
Term: Spring 2002
Lecture: 9:05a-9:55a MWF, AP&M 5829
Textbook(s): D. Braess, Finite Elements: Theory, fast solvers, and applications in solid mechanics, 2nd edition, 2001.
Main class webpage:
Homework webpage:

CATALOG DESCRIPTION: 273A-B-C. Scientific Computation (4-4-4)
Continuum mechanics models of physical and biological systems, finite element methods and approximation theory, complexity of iterative methods for linear and nonlinear equations, continuation methods, adaptive methods, parallel computing, and scientific visualization. Project-oriented; theoretical and software development projects designed around problems of current interest in science and engineering. Prerequisite: experience with Matlab and C, some background in numerical analysis, or consent of instructor. (F,W,S)

COURSE INFORMATION: In Math 273A-B-C, we will study the approximation theory foundations of finite element modeling, and we will learn how to build realistic finite element models of physical objects, such as electrostatic and elasticity models of biological molecules and membranes for use in drug design, and elasticity models of clothing and human skin for use in computer animation. The course will be project-oriented and interdisciplinary; we will pick a couple of interesting but hard problems from an application area the first week of class, and then we will spend the rest of the quarter building up the tools (both theoretical and software) to solve the problem, in a provably good way.

The catalog description of the course is a little dated; the appropriate preparation for the course is some analysis background (Math 140 or Math 142), some numerical analysis background (Math 170 or 270), and some programming experience (C/C++, MATLAB). HOWEVER, the course will be self-contained in order to allow the participation of graduate students in science and engineering who may not have formal analysis and/or numerical analysis training. There will be flexibility in the design of the individual projects to allow for differences in preparation and interests of the students.

LECTURES AND HOMEWORKS: Our time in 273A-B-C will be split up each quarter rougly as follows:
  • Classical and finite element approximation theory: 273A
    (polynomials, wavelets, a priori and a posteriori error estimation, adaptivity)
  • Iterative methods for linear and nonlinear finite element equations: 273B
    (Newton, multilevel, and continuation methods, complexity and convergence)
  • Dynamical finite element modeling: 273C
    (numerical methods for ODEs, symplectic and other integrators for Hamiltonian systems)
  • Continuum mechanics modeling in biology and physics: 273A-B-C
    (primarily nonlinear elasticity models of solid objects)
  • Building software implementations in MATLAB and C/C++: 273A-B-C
    (visualization using OpenGL, parallel computing on workstation clusters)

GRADES, EXAMS, DATES: Your grade in the course is based on your project and your 20-minute project presentation during the time of the final.
  • Final: DAY/TIME TO BE ANNOUNCED. (20-minute project presentations.)
  • First lecture: Monday, April 1
  • Last lecture: Friday, June 7
  • Finals week: Mon-Fri, June 10-14
  • Holiday: Monday, May 27 (Memorial Day -- NO LECTURE)

MCLite Access: MCLite can be found here. Here is how to use it:
  • Unpack the file using the "help" directions at the top of my homepage.
  • cd into the mclite subdirectory, and then start MATLAB by typing "matlab".
  • From within MATLAB, type: "mclitego" (Do this each time you start MATLAB)
  • Now type: "go"