The project work is not compulsory, but strongly recommended, and will count for 35% of your final mark. The deadline to hand in the project work is the 6th of April. We plan a presentation of the project with feedback on the preliminary work done, on the 28th of March.

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 should work in groups of three to four persons per group. As the number of students in this course is estimated to be quite large, we ask you to avoid groups of only one student. Information about registration can be found below.

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.

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. Always remember to cite your sources in the report and presentation.

All the groups must have chosen a PDE from the list and sent a message to the teaching assistent as soon as possible and before 01.02.2017.

Important dates

  • Registration of groups and choose PDE: 1st of February
  • Oral presentation of preliminary work: 28th of March
  • Deadline for handing in the final report: 6th of April


  • To register a group, use this registration form. Read the instructions carefully!
  • Students without a group may join a group with only one or two students.
  • After you have registered a group, send a prioritized list of three PDEs to Sølve. We will then assign one PDE to each group.


Date Time Place Supervisor
Wednesday 15th February 16:15-18:00 Nullrommet Sølve
Wednesday 22nd February 16:15-18:00 Nullrommet Sølve
Wednesday 1st March 16:15-18:00 Nullrommet Jon Vegard
Friday 3rd March 10:15-12:00 Nullrommet Jon Vegard
Wednesday 8th March 16:15-18:00 Nullrommet Jon Vegard & Sølve
Wednesday 15th March 16:15-18:00 Nullrommet Jon Vegard & Sølve
Tuesday 21st March 10:15-12:00 Banachrommet Jon Vegard & Sølve
Wednesday 22nd March 16:15-18:00 Nullrommet Jon Vegard & Sølve
Friday 24th March 10:15-12:00 Nullrommet Elena
Tuesday 28th March 10:15-12:00 S3 Presentations!
14:15-15:00 1329, SB2
Wednesday 29th March 16:15-18:00 Nullrommet Jon Vegard & Sølve

Supervisions after Wednesday 29th are by appointment.


The groups will present in the following order, where the group number is as given in the registration form:

  • Group 2
  • Group 3
  • Group 5
  • Group 7
  • Group 10
  • Group 11
  • Group 12
  • Group 1
  • Group 4
  • Group 6
  • Group 8
  • Group 9
  • Group 13
  • Group 14

The last four or five groups should expect that their presentation could be in the second session.

General advice

  • Do the homework!
  • Start early.
  • Consider simplifications of your problem to begin with, and increase difficulty step by step.
  • While implementing, test regularly that your code runs correctly.

To be handed in

  1. Scientifically written report
    • Please write your candidate numbers on your report. Do NOT use your names or student numbers.
    • You should communicate clearly how you have solved the different tasks (see Evaluation below).
    • The maximum number of pages is 8.
    • Use an appendix if you have some extra material you absolutely need to attach to the report, for example extra pictures or pseudo-code (but be advised that we will probably not read through the appendix)
    • In the conclusion section it should be clearly stated what was done by who. It is important to note that all participants in a group share equal responsibility for everything the group hands in. Every participant of a group should know and understand everything the group has done. If the members of the group agree that the work has been distributed evenly, simply write that each of the group members has contributed equally to the project work.
  2. Matlab files
    • You can send multiple files BUT it should be easy enough for us to run the code (make a README file with the instructions of how to run the code).
    • The code will be used if we need to check parts of the report that we do not understand and in order to see how efficient your implementation is.
    • Nice code contributes positively to the final score.

Send your report (in pdf format) and matlab files by e-mail to Sølve within the deadline.


You can get a total of 35 points.

  • Implementation. 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. We here want to make sure you have learned how to design numerical experiments to verify the correctness of your code. Numerical evidence that the code is correct must be included in the report. For example, 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 25 points.
  • Analysis. You should motivate your choice of method and provide an analysis of the problem substantiating the choice of the finite difference discretization and possibly proving the convergence of the numerical scheme (at least for a simplified, but relevant test problem). Max score for this part is 10 points.

The evaluation will take into account the degree of difficulty of the problem you have considered.

The 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 two different tasks (correctness of the implementation, and analysis). This is mandatory. If you are unable to participate in the presentation we will be unable to test the achivement of learning goal L6 and this will have consequences on the final mark. If you are sick, you should provide a medical certificate to Stian at the office of our Department and inform us (Elena and Sølve). We will arrange for you an oral discussion of your project work at a different date.

2017-03-27, Sølve Eidnes