Semester project

This project aims at developing experience in implementing and experimenting with finite difference discretizations of PDEs. This is a very important goal of this course.

The students can work in groups with maximum three persons per group.

You can look at the list of PDEs from which you will choose your favorite (allowing for no more than a few groups per PDE). Your task is to find out as much as you can about the problem, to propose a finite difference discretization of the equation (motivated by an analysis), and to implement the discretization method as efficiently as possible using MATLAB (or Octave).

The official starting week for the project is week 9. This means that all the groups must have chosen a PDE from the list and sent a message to Geir before 28.02.2011.

However, you are welcome to choose your test problem and work on the project before week 9. The deadline for handing in the project is April 15th. This means you have to send your code and your project description of maximum four pages per group member in pdf format to Geir. They should not be sent to Elena. You must write the group number and candidate numbers of the members on the front page of the report. You must not write your names or student numbers.

Supervision for the semester project will be given at Nullrommet (Sentralbygg II, rom 380A) Wednesdays 14:15-15:00 at the following dates:

  • 23.02
  • 16.03
  • 23.03
  • 30.03
  • 06.04
  • 13.04

or by appointment.

The 5th of April at 1400 we will arrange a poster presentation of your projects in the lunchroom 1329, 13th floor of central building II. All the members of the department will be invited, your projects and your presentation will be evaluated, and the three best projects/posters will be selected. All the group participants will have the opportunity to present their work and your individual mark might depend on your performance in this presentation.

How to make posters

Check this out (in Norwegian).

How to print posters

The institute for architecture can print A0-size for a small fee (I believe). The link above describes how to split an A0-file, but there are some errors. You need to change the brukposter script (it should read "./poster" instead of "poster"), and you need to give yourself execution rights for the brukposter script by running "chmod +x brukposter". Then you can run the script using "./brukposter input.ps output.ps" (note the "./"). It runs for a while and generates a lot of output. See also this page and in particular this quote:

I had a lot of trouble with included EPS graphics, which largely went away when I normalised the EPS files with the eps2eps utility which is part of the Ghostscript distribution.

Knut Erik wrote a small how-to about converting an A0-poster into sixteen A4-sheets so that we can print them at our computer labs. You can find information at this link: A0-to-A4.


You are welcome to use Google and other sources for understanding more about the PDE problem you are going to solve. Use for example the databases MathSciNet and Zentralblatt Math.

Evaluation

You can get a total of 40 points.

  • Correctness. The main goal of the project is to gain ability in using finite difference methods in practice. You should show your ability of producing a correct simulation of the problem. Evidence that the code is correct must be given in the report. This can be achieved by computing the error relative to a known solution of the problem or to a reference solution produced by running the programs with very small space and time step-sizes. In particular numerical results showing the correct order in time and space of the implemented numerical discretization should be provided. Max score for this task is 20 points.
  • Analysis. You should provide an analysis of the problem motivating the choice of the finite difference discretization and the convergence of the numerical scheme. Max score for this part is 11 points.
  • Efficiency. Finally the last 9 points will be concerned with the efficiency of the implementation. We hope you will be able to exploit the facilities offered by MATLAB and produce code which requires as little memory as possible and runs quickly. The code will be handed in and tested, so please make a minimum of documentation for your code.

The poster presentation will be an important step in the evaluation process. You will be asked to present your project in general and to explain how you handled these three different tasks (correctness, analysis, and efficiency).

Examples of old reports and codes

Anders Hoff's project from last spring: report code for the wave equation

A poster on the nonlinear Schrödinger equation: poster and report, code.

2011-03-18, Elena Celledoni