# Course information¶

## Instructor¶

- Prof. Randall LeVeque
- Office: Lewis 328
- Office hours: Monday 2-3, Wendesday 11-12, Thursday 2:30-3:30
- netid for email: rjl

## Discussion board¶

Registered students should be able to access the Piazza discussion board.

## Canvas page¶

Registered students can view grades and other materials on the Canvas page.

## Grading¶

- Homework: 50%, midterm: 20%, final project: 25%, peer review activities: 5%
- See Homework and project for more information and due dates.

## Recommended Background¶

**Prerequisite:** Either AMATH 586 or permission of instructor.
Applied Math 585-6 or similar background is strongly recommended, i.e.
experience in numerical methods for differential equations, along with basic
understanding of partial differential equations.

Programming experience is also expected. Experience in Fortran and Python would be most valuable but not required.

Experience with using git and GitHub would also be useful, but not required.

## Textbook¶

[FVMHP] R. J. LeVeque Finite Volume Methods for Hyperbolic Problems, Cambridge University Press, 2002.

This is the primary text book for the class.

[ETH] R. J. LeVeque, Numerical Methods for Conservation Laws, ETH Lecture Notes, Birkhauser-Verlag, Basel, 1990. ISBN 3-7643-2464-3.

These notes contains a more concise summary of some topics. Registered students will have access to a pdf version.

The Clawpack Documentation available online. This will be useful since we will be using this software extensively.

Many other references are available on these topics. Some of these will be listed in the Some other references.

## Goals¶

- Master the basic theory of hyperbolic PDEs and nonlinear conservations laws,
- Understand the development of high-resolution shock-capturing finite volume methods for solving these equations,
- Learn about some applications of hyperbolic problems,
- Gain experience in using the Clawpack software for solving these equations, including how to set up a new problem,
- Learn the basics of Python programming and use of Jupyter notebooks (and a bit about Fortran),
- Become comfortable using Git and GitHub and learn about the development paradigm used for Clawpack and many other open source scientific codes.

## Topics¶

Some of the topics to be covered are listed below. See also Outline and reading assignments and Some examples.

Mathematical theory of linear and nonlinear systems of hyperbolic PDEs and conservation laws.

- Eigenstructure of Jacobian matrix.
- Shock and rarefaction waves, contact discontinuities.
- Phase plane analysis – Hugoniot loci and integral curves.
- Solution to the Riemann problem for linear and nonlinear systems of equations.
- Entropy functions and admissibility criteria.

- Theory of finite volume methods.
- Upwind method, Godunov’s method, use of true and approximate Riemann solvers.
- High-resolution methods with limiters, TVD methods.
- Review concepts from AMath 586 such as dissipation, dispersion, Lax-Wendroff method, stability, CFL condition, etc.
- Multi-dimensional finite volume methods on Cartesian and mapped grids
- Adaptive Mesh Refinement (AMR)

- Programming and use of Clawpack software
- Implementing some simple methods from scratch.
- Using Clawpack for more extensive experiments.
- Setting up a problem, defining a Riemann solver.
- Plotting solutions.
- Experimenting with different methods.

- Applications such as
- Linear advection, acoustics, and elasticity,
- Nonlinear Burgers’ equation, traffic flow,
- Shallow water equations,
- Euler equations of compressible gas dynamics.