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

instructor Instructor: Heiner Igel instructor-icon
duration Duration: 35.00 duration-icon

This course provides a practical introduction to numerical methods for solving partial differential equations, with an emphasis on transforming mathematical equations into python codes and visualizing the results. It covers topics such as Taylor series, Fourier series, differentiation, function interpolation, numerical integration, wave physics, discretization, meshes, parallel programming, and computing models. Strategies for ensuring correct solutions are also discussed.

ADVERTISEMENT

Course Feature Course Overview Pros & Cons Course Provider Discussion and Reviews
Go to class

Course Feature

costCost:

Free

providerProvider:

Coursera

certificateCertificate:

Paid Certification

languageLanguage:

English

start dateStart Date:

17th Jul, 2023

Course Overview

❗The content presented here is sourced directly from Coursera platform. For comprehensive course details, including enrollment information, simply click on the 'Go to class' link on our website.

Updated in [March 06th, 2023]

Course Overview:
This course provides a practical introduction to numerical methods for solving partial differential equations using Python. It covers the mathematical derivation of computational algorithms, strategies for ensuring solutions are correct, and basic introductions to wave physics, discretization, meshes, parallel programming, and computing models. It also covers the finite-difference method, the pseudospectral method, the linear and spectral element method, Taylor series, Fourier series, differentiation, function interpolation, and numerical integration.

Possible Development Directions:
This course provides a basic introduction to numerical methods for solving partial differential equations. It is suitable for anyone who is interested in developing or using numerical methods applied to partial differential equations. It can be used as a starting point for further development in natural sciences, engineering, economics, and other fields.

Related Learning Suggestions:
To get the most out of this course, it is recommended to have a basic understanding of Python and partial differential equations. It is also recommended to have a basic understanding of wave physics, discretization, meshes, parallel programming, and computing models. Additionally, it is beneficial to have a basic understanding of Taylor series, Fourier series, differentiation, function interpolation, and numerical integration.

[Applications]
The application of this course is to provide a practical introduction to numerical methods using Python for solving partial differential equations. After completing this course, participants will have a better understanding of the mathematical ingredients of various numerical methods, such as Taylor series, Fourier series, differentiation, function interpolation, and numerical integration. They will also be able to develop and use numerical methods to solve partial differential equations, as well as understand the basics of wave physics, discretization, meshes, parallel programming, and computing models. Furthermore, participants will be able to ensure their solutions are correct by using strategies such as benchmarking with analytical solutions or convergence tests.

[Career Paths]
1. Computational Scientist: Computational scientists use numerical methods to solve complex problems in a variety of fields, such as physics, engineering, and economics. They develop and implement algorithms to solve problems, analyze data, and create simulations. They also use high-performance computing to optimize the performance of their algorithms. This field is rapidly growing, as more and more organizations are turning to computational scientists to solve their most complex problems.

2. Data Scientist: Data scientists use a variety of techniques to analyze large datasets and uncover patterns and insights. They use machine learning algorithms to build predictive models, and use data visualization to communicate their findings. Data scientists are in high demand, as organizations are increasingly relying on data-driven decision making.

3. Software Engineer: Software engineers use programming languages to develop software applications. They design, develop, and test software applications, and use numerical methods to optimize the performance of their applications. Software engineering is a rapidly growing field, as more and more organizations are turning to software engineers to develop their applications.

4. Machine Learning Engineer: Machine learning engineers use machine learning algorithms to build predictive models. They use numerical methods to optimize the performance of their models, and use data visualization to communicate their findings. Machine learning engineers are in high demand, as organizations are increasingly relying on machine learning to make decisions.

[Education Paths]
1. Bachelor of Science in Computer Science: This degree path provides students with a comprehensive understanding of computer science fundamentals, including programming, software engineering, computer architecture, and algorithms. Students will also learn about the latest developments in computer science, such as artificial intelligence, machine learning, and data science. This degree path is ideal for those interested in developing and applying numerical methods to partial differential equations.

2. Master of Science in Applied Mathematics: This degree path provides students with a deep understanding of mathematical principles and their application to real-world problems. Students will learn about numerical methods, optimization, and probability and statistics, as well as their application to partial differential equations. This degree path is ideal for those interested in developing and applying numerical methods to partial differential equations.

3. Doctor of Philosophy in Computational Science: This degree path provides students with a comprehensive understanding of computational science, including numerical methods, computer simulation, and data analysis. Students will learn about the latest developments in computational science, such as artificial intelligence, machine learning, and data science. This degree path is ideal for those interested in developing and applying numerical methods to partial differential equations.

4. Master of Science in Data Science: This degree path provides students with a comprehensive understanding of data science fundamentals, including programming, software engineering, machine learning, and data analysis. Students will also learn about the latest developments in data science, such as artificial intelligence, natural language processing, and deep learning. This degree path is ideal for those interested in developing and applying numerical methods to partial differential equations.

Course Syllabus

Week 01 - Discrete World, Wave Physics, Computers

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.

Week 02 The Finite-Difference Method - Taylor Operators

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.

Week 03 The Finite-Difference Method - 1D Wave Equation - von Neumann Analysis

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.

Week 04 The Finite-Difference Method in 2D - Numerical Anisotropy, Heterogeneous Media

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.

Week 05 The Pseudospectral Method, Function Interpolation

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.

Week 06 The Linear Finite-Element Method - Static Elasticity

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.

Week 07 The Linear Finite-Element Method - Dynamic Elasticity

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.

Week 08 The Spectral-Element Method - Lagrange Interpolation, Numerical Integration

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.

Week 09 The Spectral Element Method - 1D Elastic Wave Equation, Convergence Test

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.

Pros & Cons

Pros Cons
  • pros

    Clear explanation of concepts

  • pros

    Good foundation for more advanced study

  • pros

    Excellent supplementary materials

  • pros

    Detailed codes and explanations

  • pros

    Well thought quizzes system

  • cons

    Complications quickly arise

  • cons

    Not mathematically derived

  • cons

    No followup course

  • cons

    No advanced material covered

Course Provider

Provider Coursera's Stats at AZClass

Discussion and Reviews

0.0   (Based on 0 reviews)

Start your review of Computers Waves Simulations: A Practical Introduction to Numerical Methods using Python

Quiz

submit successSubmitted Sucessfully

1. What is the main focus of this course?

2. What type of numerical methods are discussed in this course?

3. What type of programming language is used in this course?

4. Which of the following is NOT a topic covered in the course?

5. What is the target audience of this course?

Correct Answer: Anyone who aims at developing or using numerical methods applied to partial differential equations.

close
part

faq FAQ for Physics Courses

Q1: Does the course offer certificates upon completion?

Yes, this course offers a free certificate. AZ Class have already checked the course certification options for you. Access the class for more details.

Q2: How do I contact your customer support team for more information?

If you have questions about the course content or need help, you can contact us through "Contact Us" at the bottom of the page.

Q3: Can I take this course for free?

Yes, this is a free course offered by Coursera, please click the "go to class" button to access more details.

Q4: How many people have enrolled in this course?

So far, a total of 0 people have participated in this course. The duration of this course is 35.00 hour(s). Please arrange it according to your own time.

Q5: How Do I Enroll in This Course?

Click the"Go to class" button, then you will arrive at the course detail page.
Watch the video preview to understand the course content.
(Please note that the following steps should be performed on Coursera's official site.)
Find the course description and syllabus for detailed information.
Explore teacher profiles and student reviews.
Add your desired course to your cart.
If you don't have an account yet, sign up while in the cart, and you can start the course immediately.
Once in the cart, select the course you want and click "Enroll."
Coursera may offer a Personal Plan subscription option as well. If the course is part of a subscription, you'll find the option to enroll in the subscription on the course landing page.
If you're looking for additional Physics courses and certifications, our extensive collection at azclass.net will help you.

close

To provide you with the best possible user experience, we use cookies. By clicking 'accept', you consent to the use of cookies in accordance with our Privacy Policy.