Numerical Simulation Methods in Geophysics

Author

Prof. Dr. Thomas Günther (TU Bergakademie Freiberg)

Published

January 29, 2026

Prerequisites

Here are the lecture notes for the module Numerical Simulation methods in Geophysics., tailored for Master’s students of Geophysics or Geoinformatics at the Institute of Geophysics and Geoinformatics, TU Bergakademie Freiberg. You can access all the materials on the GitHub repository https://github.com/halbmy/NumericalGeophysics.

Enjoy studying!

Background

While this course was around already since 2000 in Freiberg (when I did my PhD), it did never meet the general title before my comeback. Striving to do so, I found no text book about learning the background of the simulation methods being increasingly used in geophysics, particularly solving partial differential equations by own codes and understanding the physics by doing so. We aim at learning to solve all common PDE types from elliptic, parabolic to hyperbolic, going from 1D to 2D and 3D, from Finite Differences to Finite Elements and Finite Volumes.

Code

The website’s course material includes sections with embedded Python code. You can easily copy the code and execute it in a compatible Python runtime environment. For an optimal experience, we recommend installing Python via miniforge. You mainly need the numerical base library NumPy for doing the computations, and Matplotlib for visualization purposes. For higher-dimensional problems, we use the pyGIMLi package to generate meshes and matrices, but stay with its core and equation levels for didactic reasons.

Moreover, you have the freedom to explore your own concepts and delve deeper into the course content by creating your personalized Jupyter notebooks. You can utilize use either Visual Studio Code or Jupyterlab Working with Jupyter Notebooks in Visual Studio Code is exceptionally straightforward.

The material was created by Quarto.

Self study

There are individual small tasks for self-study that are scattered throughout the lecture.

Self study

You can easily identify these callouts.

License

This material is licensed under the Creative Commons License CC-by 2.0.

Current lecture

Current lecture