MATH-459: Numerical Methods for Conservation Laws
When and where:
Lectures - Monday 17:15-19:00 in MA A1 12
Exercises - Friday 8:15-10:00 in MA A1 10
Dr Daniel Baffet (MA C2 585)
Mr Allan Nielsen (MA C2 585)
Office hours: Tuesdays 9:00-12:00 (MA C2 585)
Description: The modeling of many problems in the applied sciences and engineering is based on concepts of conservation of mass, momentum and energy, leading to systems of conservation laws. Prominent examples are the Maxwell equations of electromagnetics, the Euler and Navier-Stokes equations of fluid dynamics and equations of elasticity and the systems of magnetohydrodynamics of plasma physics.
In this course we shall develop, analyze and apply computational methods suitable for solving systems of conservation laws. We shall begin to discussing fundamental properties of conservation laws, including their ability to generate non-smooth solutions - shocks - from smooth initial conditions, leading to the introduction of weak solutions and entropy conditions.
After an initial discussion of finite difference methods for conservation laws, we introduce finite volume methods as the first major class of methods to study, including accuracy and stability of these methods. We discuss the importance of the numerical flux and approximate Riemann solvers and the extension of finite volume methods to general grids.
For larger and more complex problems, the ability to increase the order of the method is important and we discuss such extensions and the new challenges these introduce. This sets the stage for the development of nonlinear schemes, primarily of the type of essentially non-oscillatory (ENO) and weighted essentially non-oscillatory (WENO) methods. Higher order in time is achieved through the development of strongly stable Runge-Kutta methods (SSP-RK).
As an alternative but closely related techniques we use the last 1/3 of the class on the development and analysis of discontinuous Galerkin methods as a very general and robust high-order accurate extension of finite volume methods. We shall study these methods in some detail, including their mathematical properties and efficient implementation techniques. We emphasize a general approach that allows for the use of general unstructured grids to solve problems in complex geometries.
Time permitting, we extend the discussion to higher order problems such as advection-diffusion problems and, time permitting, to problems with global constraints such as the incompressible Navier-Stokes equations of fluid dynamics.
Throughout the course there will be an emphasis on mastering mathematical as well as computational aspects of the methods
An approximate outline of the lecture topics is
- Lecture 0: Logistics, introduction, motivation
- Lecture 1: Linear and nonlinear scalar conservation laws
- Lecture 2: Finite difference methods for conservation laws
- Lecture 3: Conservative methods, Godunov’s method, finite volume methods
- Lecture 4: Systems of conservation laws, linear hyperbolic problems, Riemann solvers
- Lecture 5: Overview of theoretical results for finite volume methods
- Lecture 6: Multi-dimensional problems and other extensions
- Lecture 7: Higher order accuracy and challenges
- Lecture 8: ENO/WENO methods
- Lecture 9: SSP-RK and other extensions
- Lecture 10: Discontinuous Galerkin methods
- Lecture 11: Nonlinear problems and limiters
- Lecture 12: Multi-dimensional problems
- Lecture 13: Higher order problems and other extensions
This schedule is subject to changes depending on progress and specific interests.
Lecture notes: A substantial part of the class will be based on the text
R.J. Leveque, Numerical Methods for Conservation Laws, Lectures in Mathematics, Birkhauser,1992.
Additional material will be made available through the course webpage.
Prerequisites: The class is taught as a Master level class and the expectations are that students are comfortable with analysis, differential equations and with some background in numerical methods for partial differential equations. Programming skills in C/Fortran/Matlab is assumed.
Exercises: There will be weekly exercises throughout the semester. The weekly exercises will primarily be theoretical but may also include computational problems.
Projects: There will be three projects during the class. These will included both theoretical and computational components and will require some programming. The projects have to be handed in and will be discussed as part of the oral examination.
Exams: The exam will be an oral examination with 30 min preparation and 30 min examination. Of this 20 min will focus on the prepared discussion of a given question and 10 min will be used to discuss the three project reports.
Grading: The grading of the oral examination will be based on a weighting of 50% of the three completed projects and 50% on the outcome of the discussion based on the prepared questions..