Spring 2021

Introduction to Finite Differences and
Finite Elements in the Geosciences

compgeo




Instructors: More Information:

Over the last several decades, computing has played an increasingly important role in the earth sciences. This trend has developed along with the rapid increase in computational power available to scientists, as well as the increasing availability of numerical codes that can be used to solve problems. However, to use these numerical codes effectively, scientists must have a basic understanding of how these codes work. This class will introduce students to basic numerical approaches to solving problems in the earth sciences. We will focus primarily on finite difference and finite element methods. Example problems will be insprired by the solid earth geopysics, but will be general enough that the understanding gained from this class can be used in broader fields of the earth sciences.

Required Texts:
  • Finite Differences: Finite Difference Computing with PDEs – A Modern Software Approach by Hans Petter Langtangen and Svein Linge (2017). This book is available for free from Springer. We will follow chapters 1-4 (pages 1-351).
  • Finite Elements: Introduction to Numerical Methods for Variational Problems by Hans Petter Langtangen and Kent-Andre Mardal (2019). This book is available from Springer. We will follow chapters 1-7 (pages 1-280).
Recommended Texts:
  • Python: Introduction to Scientific Programming with Python by Joakim Sundnes (2020). This book is available for free from Springer and is a useful reference for scientific programming using Python.
  • Python: Programming for Computations – Python. A Gentle Introduction to Numerical Simulations with Python 3.6 by Svein Linge and Hans Petter Langtangen (2020). This book is available for free from Springer and is a useful reference for scientific programming using Python.
  • Geoscience Applications: Introduction to Numerical Geodynamic Modelling by Taras Gerya (2019). This book is available from Cambridge University press and from the UiO library, and provides useful examples of geoscience problems solved using finite differences and finite elements.
Class Meetings:
  • Monday January 18, 14.15: Class Organization and Introduction
    Homework: To catch up to speed on programming in Python, we will read the first several chapters of Sundnes (2020) and/or Linge and Langtangen (2020). Please tell us which book you find more useful for this introduction.
  • Friday January 29, 10.15: Basics of Python Programming
  • Monday February 1, 14.15: Introduction to Finite Differences