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 should work in groups of three persons per group. As the number of students in this course is estimated to be quite large, we discourage you to propose groups of only one student.
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.
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 21.02.2013.
I want to meet all the groups and discuss their choices and work at least once in March and before the deadline for handing in the projects. I will arrange meeting days.
The deadline for handing in the project is April 26th. This means you have to send your code and your project description of maximum four pages per group member in pdf format to the teaching assistent. 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.
The 30th of April and the 3rd of May we will arrange a presentation of your projects. All the group participants will have the opportunity to present their work and your individual mark might depend on your performance in this presentation.
Here is an example poster (source). This uses LaTeX with beamerposter, which uses beamer. You may modify the layout as you see fit, or you may write your own poster from scratch using other methods.
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. We here want to make sure you have learned how to design numerical experiments to verify the correctness of your code. Evidence that the code is correct must be included in the report and poster. 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 20 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 11 points.
- Efficiency. Finally the last 9 points will be concerned with the efficiency of the implementation. You will have to use what you have learned in the numerical linear algebra part of the course (give a short description and justification of your choices in the report and the poster). 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 might be tested (at least if we are not convinced that your code is fine from the description you give of your numerical results), so please make a minimum of documentation for your code, and make sure it runs.
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). 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.
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.