Course information¶
Instructor / Office Hours¶

Office: Lewis 328
Office hours on campus: MWF 121 or by appointment
Office hours on zoom: Th 1011 or by appointment, link on Canvas page.
netid for email: rjl
Class meeting times¶
MWF 10:30  11:20am in SMI 115
Canvas page¶
Registered students can view grades and other materials on the Canvas page.
Grading¶
Homework: 75%, midterm: 20%, quizzes 5%
See Homework and midterm for more information and due dates.
Recommended Background¶
Prerequisite: Either AMATH 586 or permission of instructor. Applied Math 5856 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¶
The primary text book for the class is
[FVMHP] R. J. LeVeque Finite Volume Methods for Hyperbolic Problems, Cambridge University Press, 2002.
Check the errata for some corrections!
We will also use
[RPJS] D. I. Ketcheson, R. J. LeVeque, and M. J. del Razo, Riemann Problems and Jupyter Solutions, SIAM 2020.
(Freely available as a set of Jupyter notebooks at the link above)
Some other resources:¶
[ETH] R. J. LeVeque, Numerical Methods for Conservation Laws, ETH Lecture Notes, BirkhauserVerlag, Basel, 1990. ISBN 3764324643.
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 highresolution shockcapturing 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 schedule 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.
Highresolution methods with limiters, TVD methods.
Review concepts from AMath 586 such as dissipation, dispersion, LaxWendroff method, stability, CFL condition, etc.
Multidimensional 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.