Kurzbeschreibung | The course gives an introduction to the numerical methods for the solution of ordinary and partial differential equations that play a central role in engineering applications. Both basic theoretical concepts and implementation techniques necessary to understand and master the methods will be addressed. |
Lernziel | At the end of the course the students should be able to:
- implement numerical methods for the solution of ODEs (= ordinary differential equations); - identify features of a PDE (= partial differential equation) based model that are relevant for the selection and performance of a numerical algorithm; - implement the finite difference, finite element and finite volume method for the solution of simple PDEs using C++; - read engineering research papers on numerical methods for ODEs or PDEs. |
Inhalt | Initial value problems for ODE: review of basic theory for ODEs, Forward and Backward Euler methods, Taylor series methods, Runge-Kutta methods, basic stability and consistency analysis, numerical solution of stiff ODEs.
Two-point boundary value problems: Green's function representation of solutions, Maximum principle, finite difference schemes, stability analysis.
Elliptic equations: Laplace's equation in one and two space dimensions, finite element methods, implementation of finite elements, error analysis.
Parabolic equations: Heat equation, Fourier series representation, maximum principles, Finite difference schemes, Forward (backward) Euler, Crank-Nicolson method, stability analysis.
Hyperbolic equations: Linear advection equation, method of characteristics, upwind schemes and their stability. |
Skript | Script will be provided. |
Literatur | Chapters of the following book provide supplementary reading and are not meant as course material:
- A. Tveito and R. Winther, Introduction to Partial Differential Equations. A Computational Approach, Springer, 2005. |
Voraussetzungen / Besonderes | (Suggested) Prerequisites: Analysis I-III (for D-MAVT), Linear Algebra, Models, Algorithms and Data: Introduction to Computing, basic familiarity with programming in C++. |