Coursera
Coursera Logo

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

  • Offered byCoursera
  • Public/Government Institute

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

Duration

35 hours

Total fee

Free

Mode of learning

Online

Difficulty level

Intermediate

Official Website

Explore Free Course External Link Icon

Credential

Certificate

Computers, Waves, Simulations: A Practical Introduction to Numerical Methods using Python
Table of content
Accordion Icon V3
  • Overview
  • Highlights
  • Course Details
  • Curriculum

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

  • Shareable Certificate Earn a Certificate upon completion
  • 100% online Start instantly and learn at your own schedule.
  • Flexible deadlines Reset deadlines in accordance to your schedule.
  • Intermediate Level Basic knowledge of calculus and analysis, series, partial differential equations, and linear algebra.
  • Approx. 35 hours to complete
  • English Subtitles: French, Portuguese (European), Russian, English, Spanish
Read more
Details Icon

Computers, Waves, Simulations: A Practical Introduction to Numerical Methods using Python
 at 
Coursera 
Course details

More about this course
  • 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.
Read more

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

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

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

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

Other courses offered by Coursera

– / –
3 months
Beginner
– / –
20 hours
Beginner
– / –
2 months
Beginner
– / –
3 months
Beginner
View Other 6726 CoursesRight Arrow Icon
qna

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

Student Forum

chatAnything you would want to ask experts?
Write here...