CME306 / CS205B
Mathematical Methods for Fluids, Solids and Interfaces (Spring 2009)

Course Announcements

Date                      Contents
2009-6-6All homework assignments have been graded.
2009-5-26Office hours have moved to the adjacent office Gates 210.
2009-5-19Homework 8 has received a few corrections.
2009-5-19Homework 8 is posted.
2009-5-19Homework 6 is graded, and grades for 4 and 5 were emailed out.
2009-5-12Homework 7 is posted.
2009-5-12Lecture 12 is posted.
2009-5-8The final project description is now available through a link below. It will be due at the end of the last day of finals week or two days before final grades are required, whichever is earlier.
2009-5-7Lectures 10 and 11 are posted.
2009-5-5Homework 6 is posted.
2009-5-3A short document for Homework 5 is posted. It basically just restates the email describing this assignment, so that it can be found on the website.
2009-4-28Homework 3 is graded.
2009-4-28Lecture 9 is posted.
2009-4-24Homework 4 test cases posted here.
2009-4-21Homework 4 is posted.
2009-4-20Lectures 7 and 8 are posted.
2009-4-17Homework 2 is graded.
2009-4-16Lecture 6 is posted.
2009-4-14Homework 3 is posted.
2009-4-14Lecture 5 is posted.
2009-4-9Homework 1 is graded.
2009-4-9Lecture 4 is posted.
2009-4-7Homework 2 is posted.
2009-4-7Lecture 3 is posted.
2009-4-2Lecture 2 is posted.
2009-3-31Lecture 1 is posted.
2009-3-31First homework is posted, due April 7.
2009-3-31Website is live.


Overview of numerical methods for the simulation of problems involving solid mechanics and fluid dynamics. The focus is on practical tools needed for simulation, as well as the necessary continuous mathematics involving nonlinear hyperbolic partial differential equations. Possible topics include the finite element method, highly deformable elastic bodies, plasticity, fracture, the level set method, Burgers' equation, compressible and incompressible Navier-Stokes equations, smoke, water and solid-fluid coupling.


Please refer all questions about course material and practices to the CAs before contacting Professor Fedkiw. If you have a question for the CAs, please make sure that it isn't answered on this webpage before contacting them. Also, please do not show up outside of scheduled office hours without first making an appointment. When emailing the CAs, make sure to include "CME306" or "CS205B" somewhere in the subject of your message.

Meeting Times

Useful Texts

Class Notes

Lecture 1 Introduction, Simulation of Materials
Lecture 2 Conservation of Mass, Smoothed Particle Hydrodynamics
Lecture 3 Smoothed Particle Hydrodynamics, Forces, Linearized System
Lecture 4 Ordinary Differential Equations, Stability, Newmark Methods
Lecture 5 Springs
Lecture 6 Springs
Lecture 7 Finite Element Method
Lecture 8 Finite Element Method, Rigid Bodies
Lecture 9 Advection, Runge-Kutta, Hamilton-Jacobi ENO, Semi-Lagrangian Advection
Lecture 10 Hyperbolic Conservation Laws, Shoks, Rarefactions
Lecture 11 Discrete Conservation Form, ENO-Roe, ENO-LLF
Lecture 12 Discrete Conservation Form, ENO-Roe, ENO-LLF
Lecture 13 Multiple Dimensions, Systems
Lecture 14 Systems, Discretization, Shallow Water
Lecture 15 Incompressible Flow Equations
Lecture 16 Incompressible Flow: Poisson Equation
Lecture 17 Incompressible Flow: Discretization, Semi-Lagrangian Advection
Lecture 18 Heat Equation
Lecture 19 Viscosity, Vorticity

The lecture notes are also available in the form of a single cumulative document.


There will be a problem set assigned each week, which will be posted on Tuesday at 11:00AM. Homework will be graded on a scale from 0 to 10 points. There are no examinations for this course.

There are two separate tracks of homework: theory (which involves more qualifying exam preparation), and application (which involves a mixture of theory and programming). If you are taking the iCME qualifying exams, you are strongly encouraged to take the theoretical track, which is described on the CME 306 page. The theoretical track is also recommended for those that are not comfortable programming in C++, as it will not include programming projects (extra credit Matlab assignments are possible, though).

This page covers the applied track. This homework track is also mostly theoretical, but it will include a final project and smaller programming tasks along the way.

The final project will consist of writing a simulator in C++ to simulate one of the main types of phenomena discussed in the course. The project will be due on the last day of finals. More details on the project will be posted later in the term.

You may collaborate on homework assignments provided each student writes up his or her own solutions and clearly lists the names of all the students in the group.

AppliedDue DateSolutions
Homework 1(tex) 2009-4-7 (solution)
Homework 2(tex) 2009-4-14 (solution)
Homework 3(tex) 2009-4-21 (solution)
Homework 4(tex) 2009-4-28 (solution)
Homework 5(tex) 2009-5-5 (solution)
Homework 6(tex) 2009-5-12 (solution)
Homework 7(tex) 2009-5-19 (solution)
Homework 8(tex) 2009-5-26 (solution)
Homework 9(tex) 2009-6-2 (solution)

Homework must be submitted physically either in class or in the bin outside Gates 210 by 11 AM. Graded homework will be available for pickup in the Gates 377 filing cabinets.

Final Project

Information about the project is available here.

Extra Credit

Depending on class performance on homework and exams, there will be a small number of optional extra credit assignments. These assignments will require you to implement some of the numerical schemes discussed during the course. Extra credit projects do not have a set point value; rather, they will be taken into account at the end of the quarter when determining your final letter grade.

Please note that you are free to do, as extra credit, the homework from the theory track.


The final grade will be calculated based on the highest score between your theoretical and applied homework. The lower of the two will be counted towards extra credit. You should complete either all of the theoretical or all of the applied homework, not a mix of the two.

Valid XHTML 1.1 Valid CSS!