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.
Objective
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.
Content
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.
Lecture notes
Script will be provided.
Literature
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.
Prerequisites / Notice
(Suggested) Prerequisites: Analysis I-III (for D-MAVT), Linear Algebra, Models, Algorithms and Data: Introduction to Computing, basic familiarity with programming in C++.
Performance assessment
Performance assessment information (valid until the course unit is held again)