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