Ludwig-Maximilians-Universität München (LMU)
Computers, Waves, Simulations: A Practical Introduction to Numerical Methods using Python
Ludwig-Maximilians-Universität München (LMU)

Computers, Waves, Simulations: A Practical Introduction to Numerical Methods using Python

Heiner Igel

Instructor: Heiner Igel

25,290 already enrolled

Gain insight into a topic and learn the fundamentals.
4.8

(373 reviews)

Intermediate level

Recommended experience

Flexible schedule
Approx. 35 hours
Learn at your own pace
97%
Most learners liked this course
Gain insight into a topic and learn the fundamentals.
4.8

(373 reviews)

Intermediate level

Recommended experience

Flexible schedule
Approx. 35 hours
Learn at your own pace
97%
Most learners liked this course

What you'll learn

  • 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.

Details to know

Earn a career certificate

Add to your LinkedIn profile

Assessments

9 assignments

Taught in English

See how employees at top companies are mastering in-demand skills

Placeholder
Placeholder

Earn a career certificate

Add this credential to your LinkedIn profile, resume, or CV

Share it on social media and in your performance review

Placeholder

There are 9 modules in this course

The 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.

What's included

6 videos1 reading1 assignment1 ungraded lab

In 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.

What's included

8 videos1 assignment3 ungraded labs

We 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.

What's included

9 videos1 assignment2 ungraded labs

We 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.

What's included

10 videos1 assignment5 ungraded labs

We 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.

What's included

9 videos1 assignment4 ungraded labs

We 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.

What's included

5 videos1 assignment1 ungraded lab

We 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.

What's included

7 videos1 assignment1 ungraded lab

We 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.

What's included

7 videos1 assignment2 ungraded labs

We 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.

What's included

7 videos1 assignment2 ungraded labs

Instructor

Instructor ratings
4.9 (131 ratings)
Heiner Igel
Ludwig-Maximilians-Universität München (LMU)
1 Course25,290 learners

Offered by

Recommended if you're interested in Research Methods

Why people choose Coursera for their career

Felipe M.
Learner since 2018
"To be able to take courses at my own pace and rhythm has been an amazing experience. I can learn whenever it fits my schedule and mood."
Jennifer J.
Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."
Larry W.
Learner since 2021
"When I need courses on topics that my university doesn't offer, Coursera is one of the best places to go."
Chaitanya A.
"Learning isn't just about being better at your job: it's so much more than that. Coursera allows me to learn without limits."

Learner reviews

Showing 3 of 373

4.8

373 reviews

  • 5 stars

    82.08%

  • 4 stars

    14.17%

  • 3 stars

    1.87%

  • 2 stars

    1.60%

  • 1 star

    0.26%

AA
4

Reviewed on Dec 1, 2021

MI
5

Reviewed on Aug 6, 2022

EL
5

Reviewed on Dec 20, 2021

Placeholder

Open new doors with Coursera Plus

Unlimited access to 7,000+ world-class courses, hands-on projects, and job-ready certificate programs - all included in your subscription

Advance your career with an online degree

Earn a degree from world-class universities - 100% online

Join over 3,400 global companies that choose Coursera for Business

Upskill your employees to excel in the digital economy

Frequently asked questions