Numerical Methods 1


Learn how to program the finite difference method and apply it to equations relevant for geodynamics. The course is given in the form of MATLAB exercises, with an introduction of the relevant theory. The emphasis is on practical exercises, and students obtain knowledge on how to write their own codes.


It is assumed that you have a basic knowledge of MATLAB, that you know what a matrix-vector multiplication is, are somewhat familiar with partial differential equations and have some logical thinking skills. We will briefly repeat this material in the beginning of the class but you will find yourself lost pretty quickly if you are clueless on these topics.


If you want to read a book on this topic, we recommend

1. Introduction to Numerical Geodynamic Modelling. by Taras Gerya.

2. Computational Methods for Geodynamics by Ismail Zadek and Tackley.

If you don't want to spend money or the book is not available anymore in the library, have a look at these lecture notes:

3. Numerical Geodynamics: An introduction to computational methods with focus on solid Earth applications of continuum mechanics. by Thorsten Becker and Boris Kaus.

4. Myths and methods in modelling, by Marc Spiegelman.

Course program

1. Introduction to MATLAB.

2. 1D explicit finite differences: thermal diffusion.

3. Explicit vs. implicit finite differences.

4. Fun with boundary conditions.

5. 2D diffusion.

6. Nonlinearities.

7. Flexure and basin subsidence.

8. Advection

9. Project: Modelling of erosion.

10. Project: Seismic wave propagation and earthquakes

11. Project: 2D Stokes flow & mantle convection.

12. Project: Modelling of melt migration.


In order to pass the exam you will have to:

  • Hand in all exercises that you're asked to do, including Matlab codes and a short description during the week of the block-course.
  • Make a small research project in which you will finish a code on your own.