Advanced numerical modelling

05 61 33 30 55

numerical modelling programming process studies using evolution equations

Learning objectives

The objective of the module is to deepen the knowledge taught in master 1 courses (SUTS, STPE and SOAC in particular) on numerical modelling of evolution equations (heat diffusion or advection equations).

The students will learn how to build a program to represent the evolution of a specific physical process. Different processes can be chosen, and a list will be proposed to students at the beginning of the course.

For instance, the student will build a program to represent convection (in the Earth mantle, in stars or in ocean or atmospheric boundary layers).

The students will also learn how to read the data calculated by the program and plot them graphically so as to analyze the physical process.


  • Basic knowledge of functional analysis and evolution equation (spatial and temporal derivatives, Taylor expansion of a function in terms of derivatives)
  • Basic knowledge of numerical schemes: basic schemes for temporal and spatial discretization; advection/diffusion equation (1 variable, linear equation)
  • Basic knowledge in programming: for/while loops, if/else, basic calculus
  • Some basic knowledge of following languages is better (but not required): Linux (to manage directories and files), FORTRAN/C++ (programming numerical schemes), Matlab/Python (reading data and making plots)

Brief description of the course

The course will be constructed as a tutorial during which each student (grouped in pairs) develops his own programs.

The programs will be developed on laptops provided by the University and equipped with adequate softwares: Linux; FORTRAN/C++; Matlab/Python. So students will also learn some basics of these programming languages. The course will be a mix of presentations and tutorials on computing sciences where the students develop their codes to address a specific physical problem they have chosen. A tentative list of numerical modelling concepts that will be addressed is given below, but it will be adapted to students depending on their level of initial knowledge.

We will start the module with some reminders of basic concepts on numerical modelling and programming languages, but the students following this course will really benefit from it if they have already addressed some aspects of numerical modelling or programming (see prerequisites for students opposite).

Each student pair will chose a specific process study from a list and use the results of their simulations to understand it. The possible process studies are:

  • Convection (in the Earth mantle, in stars or in ocean/atmosphere);
  • Acoustic/Sismic waves
  • Internal gravity waves
  • Solitons (solitary waves)
  • Kelvin-Helmholtz instability (growth of perturbation)
  • Geostrophic adjustment
  • Upwelling development

Each process will be briefly described at the beginning of the course to help students choosing their specific process.