Offered By

Ludwig-Maximilians-Universität München (LMU)

About this Course

4.8

33 ratings

•

12 reviews

Interested in learning how to solve partial differential equations with numerical methods and how to turn them into python codes? This course provides you with a basic introduction how to apply methods like the finite-difference method, the pseudospectral method, the linear and spectral element method to the 1D (or 2D) scalar wave equation. The mathematical derivation of the computational algorithm is accompanied by python codes embedded in Jupyter notebooks. In a unique setup you can see how the mathematical equations are transformed to a computer code and the results visualized. The emphasis is on illustrating the fundamental mathematical ingredients of the various numerical methods (e.g., Taylor series, Fourier series, differentiation, function interpolation, numerical integration) and how they compare. You will be provided with strategies how to ensure your solutions are correct, for example benchmarking with analytical solutions or convergence tests. The mathematical aspects are complemented by a basic introduction to wave physics, discretization, meshes, parallel programming, computing models.
The course targets anyone who aims at developing or using numerical methods applied to partial differential equations and is seeking a practical introduction at a basic level. The methodologies discussed are widely used in natural sciences, engineering, as well as economics and other fields.

Start instantly and learn at your own schedule.

Reset deadlines in accordance to your schedule.

Basic knowledge of calculus and analysis, series, partial differential equations, and linear algebra.

Suggested: 9 hours/week...

Subtitles: English

How to solve a partial differential equation using the finite-difference, the pseudospectral, or the linear (spectral) finite-element method.

Understanding the limits of explicit space-time simulations due to the stability criterion and spatial and temporal sampling requirements.

Strategies how to plan and setup sophisticated simulation tasks.

Strategies how to avoid errors in simulation results.

Start instantly and learn at your own schedule.

Reset deadlines in accordance to your schedule.

Basic knowledge of calculus and analysis, series, partial differential equations, and linear algebra.

Suggested: 9 hours/week...

Subtitles: English

Week

1The use of numerical methods to solve partial differential equations is motivated giving examples form Earth sciences. Concepts of discretization in space and time are introduced and the necessity to sample fields with sufficient accuracy is motivated (i.e. number of grid points per wavelength). Computational meshes are discussed and their power and restrictions to model complex geometries illustrated. The basics of parallel computers and parallel programming are discussed and their impact on realistic simulations. The specific partial differential equation used in this course to illustrate various numerical methods is presented: the acoustic wave equation. Some physical aspects of this equation are illustrated that are relevant to understand its solutions. Finally Jupyter notebooks are introduced that are used with Python programs to illustrate the implementation of the numerical methods. ...

6 videos (Total 63 min), 1 reading, 1 quiz

W1V2 Spatial scales and meshing12m

W1V3 Waves in a discrete world6m

W1V4 Parallel Simulations10m

W1V5 A bit of wave physics16m

W1V6 Python and Jupyter notebooks10m

Jupiter Notebooks and Python10m

Discretization, Waves, Computers45m

Week

2In Week 2 we introduce the basic definitions of the finite-difference method. We learn how to use Taylor series to estimate the error of the finite-difference approximations to derivatives and how to increase the accuracy of the approximations using longer operators. We also learn how to implement numerical derivatives using Python....

8 videos (Total 41 min), 1 quiz

W2V2 Definitions3m

W2V3 Taylor Series5m

W2V4 Python: First Derivative10m

W2V5 Operators5m

W2V6 High Order3m

W2V7 Python: High Order7m

W2V8 Summary1m

Taylor Series and Finite Differences20m

Week

3We develop the finite-difference algorithm to the acoustic wave equation in 1D, discuss boundary conditions and how to initialize a simulation example. We look at solutions using the Python implementation and observe numerical artifacts. We analytically derive one of the most important results of numerical analysis – the CFL criterion which leads to a conditionally stable algorithm for explicit finite-difference schemes. ...

9 videos (Total 50 min), 1 quiz

W3V2 Algorithm4m

W3V3 Boundaries, Sources4m

W3V4 Initialization4m

W3V5 Python: Waves in 1D5m

W3V6 Analytical Solutions4m

W3V7 Python: Waves in 1D3m

W3V8 Von Neumann Analysis19m

W3V9 Summary1m

Acoustic Wave Equation with Finite Differences in 1D - CFL criterion

Week

4We develop the solution to the 2D acoustic wave equation, compare with analytical solutions and demonstrate the phenomenon of numerical (non-physical) anisotropy. We extend the von Neumann Analysis to 2D and derive numerical anisotropy analytically. We learn how to initialize a realistic physical problem and illustrate that 2D solution are already quite powerful to understand complex wave phenomena. We introduced the 1D elastic wave equation and show the concept of staggered-grid schemes with the coupled first-order velocity-stress formulation. ...

10 videos (Total 83 min), 1 quiz

W4V2 Acoustic Waves 2D – Finite-Difference Algorithm6m

W4V3 Python: Acoustic Waves 2D8m

W4V4 Acoustic Waves 2D – von Neumann Analysis5m

W4V5 Acoustic Waves 2D – Waves in a Fault Zone8m

W4V6 Python: Waves in a Fault Zone9m

W4V7 Elastic Wave Equation – Staggered Grids16m

W4V8 Python: Staggered Grids5m

W4V9 Improving numerical accuracy11m

W4V10 Wrap up3m

Acoustic Wave Equation in 2D - Numerical Anisotropy - Staggered Grids45m

Week

5We start with the problem of function interpolation leading to the concept of Fourier series. We move to the discrete Fourier series and highlight their exact interpolation properties on regular spatial grids. We introduce the derivative of functions using discrete Fourier transforms and use it to solve the 1D and 2D acoustic wave equation. The necessity to simulate waves in limited areas leads us to the definition of Chebyshev polynomials and their uses as basis functions for function interpolation. We develop the concept of differentiation matrices and discuss a solution scheme for the elastic wave equation using Chebyshev polynomials. ...

9 videos (Total 62 min), 1 quiz

W5V2 Fourier Series - Examples5m

W5V3 Discrete Fourier Series5m

W5V4 The Fourier Transform - Derivative6m

W5V5 Solving the 1D/2D Wave Equation with Python11m

W5V6 Convolutional Operators6m

W5V7 Chebyshev Polynomials - Derivatives8m

W5V8 Chebyshev Method – 1D Elastic Wave Equation7m

W5V9 Summary3m

Pseudospectral method45m

Week

6We introduce the concept of finite elements and develop the weak form of the wave equation. We discuss the Galerkin principle and derive a finite-element algorithm for the static elasticity problem based upon linear basis functions. We also discuss how to implement boundary conditions. The finite-difference based relaxation method is derived for the same equation and the solution compared to the finite-element algorithm. ...

5 videos (Total 42 min), 1 quiz

W6V2 Weak Form - Galerkin Principle7m

W6V3 Solution Scheme9m

W6V4 Boundary Conditions - System Matrices9m

W6V5 Relaxation Method - Python: Static Eleasticity7m

Finite-element method - Static problem45m

Week

7We extend the finite-element solution to the elastic wave equation and compare the solution scheme to the finite-difference method. To allow direct comparison we formulate the finite-difference solution in matrix-vector form and demonstrate the similarity of the linear finite-element method and the finite-difference approach. We introduce the concept of h-adaptivity, the space-dependence of the element size for heterogeneous media. ...

7 videos (Total 56 min), 1 quiz

W7V2 Solution Algorithm - 1D Elastic Case12m

W7V3 Differentiation Matrices8m

W7V4 Python: 1D Elastic Wave Equation11m

W7V5 h-adaptivity6m

W7V6 Shape Functions9m

W7V7 Dynamic Elasticity - Summary2m

Dynamic elasticity - Finite elements45m

Week

8We introduce the fundamentals of the spectral-element method developing a solution scheme for the 1D elastic wave equation. Lagrange polynomials are discussed as the basis functions of choice. The concept of Gauss-Lobatto-Legendre numerical integration is introduced and shown that it leads to a diagonal mass matrix making its inversion trivial. ...

7 videos (Total 51 min), 1 quiz

W8V2 Weak Form - Matrix Formulation9m

W8V3 Element Level5m

W8V4 Lagrange Interpolation12m

W8V5 Python:Lagrange Interpolation6m

W8V6 Numerical Integration7m

W8V7 Python Numerical Integration4m

Lagrange Interpolation - Numerical Integration45m

Week

9We finalize the derivation of the spectral-element solution to the elastic wave equation. We show how to calculate the required derivatives of the Lagrange polynomials making use of Legendre polynomials. We show how to perform the assembly step leading to the final solution system for the elastic wave equation. We demonstrate the numerical solution for homogenous and heterogeneous media. ...

7 videos (Total 50 min), 1 quiz

W9V2 System of Equations - Element Level6m

W9V3 Global Assembly8m

W9V4 Python: 1D Homogeneous Case13m

W9V5 Python: Heterogeneous Case in 1D8m

W9V6 Convergence Test4m

W9V7 Wrap Up2m

Spectral-element method - Convergence test45m

4.8

12 ReviewsBy NL•Mar 14th 2019

Well thought out. The material is ordered logically and easy to follow. This online course compliments the book from which it is based on.

By YH•Apr 9th 2019

This is a great course for intro to numerical course with additional bonus on python code, although a little bit too fast pace.

As one of Europe's leading research universities, LMU Munich is committed to the highest international standards of excellence in research and teaching. Building on its 500-year-tradition of scholarship, LMU covers a broad spectrum of disciplines, ranging from the humanities and cultural studies through law, economics and social studies to medicine and the sciences....

When will I have access to the lectures and assignments?

Once you enroll for a Certificate, you’ll have access to all videos, quizzes, and programming assignments (if applicable). Peer review assignments can only be submitted and reviewed once your session has begun. If you choose to explore the course without purchasing, you may not be able to access certain assignments.

What will I get if I purchase the Certificate?

When you purchase a Certificate you get access to all course materials, including graded assignments. Upon completing the course, your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile. If you only want to read and view the course content, you can audit the course for free.

What is the refund policy?

Is financial aid available?

More questions? Visit the Learner Help Center.

Coursera provides universal access to the world’s best education,
partnering with top universities and organizations to offer courses online.