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

  • 4.7
Approx. 35 hours to complete

Course Summary

Learn how to simulate waves using computers in this hands-on course. Gain an understanding of wave behavior and apply it to real-world scenarios, such as ocean waves and earthquakes.

Key Learning Points

  • Learn how to simulate waves using MATLAB and Python
  • Gain a deeper understanding of wave behavior
  • Apply your knowledge to real-world scenarios

Job Positions & Salaries of people who have taken this course might have

    • USA: $80,000
    • India: ₹5,00,000
    • Spain: €35,000
    • USA: $80,000
    • India: ₹5,00,000
    • Spain: €35,000

    • USA: $63,000
    • India: ₹4,50,000
    • Spain: €30,000
    • USA: $80,000
    • India: ₹5,00,000
    • Spain: €35,000

    • USA: $63,000
    • India: ₹4,50,000
    • Spain: €30,000

    • USA: $75,000
    • India: ₹6,00,000
    • Spain: €40,000

Related Topics for further study


Learning Outcomes

  • Understand wave behavior and how to simulate it
  • Gain practical skills in using MATLAB and Python
  • Apply your knowledge to real-world scenarios

Prerequisites or good to have knowledge before taking this course

  • Basic knowledge of programming
  • Basic understanding of physics

Course Difficulty Level

Intermediate

Course Format

  • Online
  • Self-paced
  • Hands-on

Similar Courses

  • Introduction to Computational Thinking and Data Science
  • Applied Data Science with Python

Related Education Paths


Notable People in This Field

  • Dr. Michio Kaku
  • Dr. Neil deGrasse Tyson

Related Books

Description

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.

Knowledge

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

Outline

  • Week 01 - Discrete World, Wave Physics, Computers
  • W1V1 General Introduction
  • W1V2 Spatial scales and meshing
  • W1V3 Waves in a discrete world
  • W1V4 Parallel Simulations
  • W1V5 A bit of wave physics
  • W1V6 Python and Jupyter notebooks
  • Jupiter Notebooks and Python
  • Discretization, Waves, Computers
  • Week 02 The Finite-Difference Method - Taylor Operators
  • W2V1 Introduction
  • W2V2 Definitions
  • W2V3 Taylor Series
  • W2V4 Python: First Derivative
  • W2V5 Operators
  • W2V6 High Order
  • W2V7 Python: High Order
  • W2V8 Summary
  • Taylor Series and Finite Differences
  • Week 03 The Finite-Difference Method - 1D Wave Equation - von Neumann Analysis
  • W3V1 Wave Equation
  • W3V2 Algorithm
  • W3V3 Boundaries, Sources
  • W3V4 Initialization
  • W3V5 Python: Waves in 1D
  • W3V6 Analytical Solutions
  • W3V7 Python: Waves in 1D
  • W3V8 Von Neumann Analysis
  • W3V9 Summary
  • Week 04 The Finite-Difference Method in 2D - Numerical Anisotropy, Heterogeneous Media
  • W4V1 Acoustic Waves 2D – Analytical Solutions
  • W4V2 Acoustic Waves 2D – Finite-Difference Algorithm
  • W4V3 Python: Acoustic Waves 2D
  • W4V4 Acoustic Waves 2D – von Neumann Analysis
  • W4V5 Acoustic Waves 2D – Waves in a Fault Zone
  • W4V6 Python: Waves in a Fault Zone
  • W4V7 Elastic Wave Equation – Staggered Grids
  • W4V8 Python: Staggered Grids
  • W4V9 Improving numerical accuracy
  • W4V10 Wrap up
  • Acoustic Wave Equation in 2D - Numerical Anisotropy - Staggered Grids
  • Week 05 The Pseudospectral Method, Function Interpolation
  • W5V1 Function Interpolation – Trigonometric basis functions
  • W5V2 Fourier Series - Examples
  • W5V3 Discrete Fourier Series
  • W5V4 The Fourier Transform - Derivative
  • W5V5 Solving the 1D/2D Wave Equation with Python
  • W5V6 Convolutional Operators
  • W5V7 Chebyshev Polynomials - Derivatives
  • W5V8 Chebyshev Method – 1D Elastic Wave Equation
  • W5V9 Summary
  • Pseudospectral method
  • Week 06 The Linear Finite-Element Method - Static Elasticity
  • W6V1 Introduction - Static Elasticity
  • W6V2 Weak Form - Galerkin Principle
  • W6V3 Solution Scheme
  • W6V4 Boundary Conditions - System Matrices
  • W6V5 Relaxation Method - Python: Static Eleasticity
  • Finite-element method - Static problem
  • Week 07 The Linear Finite-Element Method - Dynamic Elasticity
  • W7V1Introduction - Dynamic Elasticity
  • W7V2 Solution Algorithm - 1D Elastic Case
  • W7V3 Differentiation Matrices
  • W7V4 Python: 1D Elastic Wave Equation
  • W7V5 h-adaptivity
  • W7V6 Shape Functions
  • W7V7 Dynamic Elasticity - Summary
  • Dynamic elasticity - Finite elements
  • Week 08 The Spectral-Element Method - Lagrange Interpolation, Numerical Integration
  • W8V1 Introduction
  • W8V2 Weak Form - Matrix Formulation
  • W8V3 Element Level
  • W8V4 Lagrange Interpolation
  • W8V5 Python:Lagrange Interpolation
  • W8V6 Numerical Integration
  • W8V7 Python Numerical Integration
  • Lagrange Interpolation - Numerical Integration
  • Week 09 The Spectral Element Method - 1D Elastic Wave Equation, Convergence Test
  • W9V1 Lagrange Derivative - Legendre Polynomials
  • W9V2 System of Equations - Element Level
  • W9V3 Global Assembly
  • W9V4 Python: 1D Homogeneous Case
  • W9V5 Python: Heterogeneous Case in 1D
  • W9V6 Convergence Test
  • W9V7 Wrap Up
  • Spectral-element method - Convergence test

Summary of User Reviews

Learn about the principles of computer simulations and wave mechanics in this highly rated course on Coursera. Users found the course to be engaging and informative, with many praising the interactive simulation exercises that reinforced the concepts taught.

Key Aspect Users Liked About This Course

Interactive simulation exercises

Pros from User Reviews

  • Engaging and informative course material
  • In-depth coverage of computer simulations and wave mechanics
  • Expert instructors with real-world experience
  • Flexible scheduling and self-paced learning options

Cons from User Reviews

  • Some technical issues with the online platform
  • Assignments can be challenging for beginners
  • Limited interaction with instructors and other students
  • Requires a strong foundation in math and physics
English
Available now
Approx. 35 hours to complete
Heiner Igel
Ludwig-Maximilians-Universität München (LMU)
Coursera

Instructor

Heiner Igel

  • 4.7 Raiting
Share
Saved Course list
Cancel
Get Course Update
Computer Courses