You are previewing Finite Volume Methods for Hyperbolic Problems.
O'Reilly logo
Finite Volume Methods for Hyperbolic Problems

Book Description

This book contains an introduction to hyperbolic partial differential equations and a powerful class of numerical methods for approximating their solution, including both linear problems and nonlinear conservation laws. These equations describe a wide range of wave propagation and transport phenomena arising in nearly every scientific and engineering discipline. Several applications are described in a self-contained manner, along with much of the mathematical theory of hyperbolic problems. High-resolution versions of Godunov's method are developed, in which Riemann problems are solved to determine the local wave structure and limiters are then applied to eliminate numerical oscillations. These methods were originally designed to capture shock waves accurately, but are also useful tools for studying linear wave-propagation problems, particularly in heterogenous material. The methods studied are implemented in the CLAWPACK software package and source code for all the examples presented can be found on the web, along with animations of many of the simulations. This provides an excellent learning environment for understanding wave propagation phenomena and finite volume methods.

Table of Contents

  1. Cover
  2. Half Title
  3. Title Page
  4. Copyright
  5. Dedication
  6. Contents
  7. Preface
  8. 1. Introduction
    1. 1.1 Conservation Laws
    2. 1.2 Finite Volume Methods
    3. 1.3 Multidimensional Problems
    4. 1.4 Linear Waves and Discontinuous Media
    5. 1.5 CLAWPACK Software
    6. 1.6 References
    7. 1.7 Notation
  9. Part I: Linear Equations
    1. 2. Conservation Laws and Differential Equations
      1. 2.1 The Advection Equation
      2. 2.2 Diffusion and the Advection–Diffusion Equation
      3. 2.3 The Heat Equation
      4. 2.4 Capacity Functions
      5. 2.5 Source Terms
      6. 2.6 Nonlinear Equations in Fluid Dynamics
      7. 2.7 Linear Acoustics
      8. 2.8 Sound Waves
      9. 2.9 Hyperbolicity of Linear Systems
      10. 2.10 Variable-Coefficient Hyperbolic Systems
      11. 2.11 Hyperbolicity of Quasilinear and Nonlinear Systems
      12. 2.12 Solid Mechanics and Elastic Waves
      13. 2.13 Lagrangian Gas Dynamics and the p-System
      14. 2.14 Electromagnetic Waves
      15. Exercises
    2. 3. Characteristics and Riemann Problems for Linear Hyperbolic Equations
      1. 3.1 Solution to the Cauchy Problem
      2. 3.2 Superposition of Waves and Characteristic Variables
      3. 3.3 Left Eigenvectors
      4. 3.4 Simple Waves
      5. 3.5 Acoustics
      6. 3.6 Domain of Dependence and Range of Influence
      7. 3.7 Discontinuous Solutions
      8. 3.8 The Riemann Problem for a Linear System
      9. 3.9 The Phase Plane for Systems of Two Equations
      10. 3.10 Coupled Acoustics and Advection
      11. 3.11 Initial–Boundary-Value Problems
      12. Exercises
    3. 4. Finite Volume Methods
      1. 4.1 General Formulation for Conservation Laws
      2. 4.2 A Numerical Flux for the Diffusion Equation
      3. 4.3 Necessary Components for Convergence
      4. 4.4 The CFL Condition
      5. 4.5 An Unstable Flux
      6. 4.6 The Lax–Friedrichs Method
      7. 4.7 The Richtmyer Two-Step Lax–Wendroff Method
      8. 4.8 Upwind Methods
      9. 4.9 The Upwind Method for Advection
      10. 4.10 Godunov’s Method for Linear Systems
      11. 4.11 The Numerical Flux Function for Godunov’s Method
      12. 4.12 The Wave-Propagation Form of Godunov’s Method
      13. 4.13 Flux-Difference vs. Flux-Vector Splitting
      14. 4.14 Roe’s Method
      15. Exercises
    4. 5. Introduction to the CLAWPACK Software
      1. 5.1 Basic Framework
      2. 5.2 Obtaining CLAWPACK
      3. 5.3 Getting Started
      4. 5.4 Using CLAWPACK – a Guide through example1
      5. 5.5 Other User-Supplied Routines and Files
      6. 5.6 Auxiliary Arrays and setaux.f
      7. 5.7 An Acoustics Example
      8. Exercises
    5. 6. High-Resolution Methods
      1. 6.1 The Lax–Wendroff Method
      2. 6.2 The Beam–Warming Method
      3. 6.3 Preview of Limiters
      4. 6.4 The REA Algorithm with Piecewise Linear Reconstruction
      5. 6.5 Choice of Slopes
      6. 6.6 Oscillations
      7. 6.7 Total Variation
      8. 6.8 TVD Methods Based on the REA Algorithm
      9. 6.9 Slope-Limiter Methods
      10. 6.10 Flux Formulation with Piecewise Linear Reconstruction
      11. 6.11 Flux Limiters
      12. 6.12 TVD Limiters
      13. 6.13 High-Resolution Methods for Systems
      14. 6.14 Implementation
      15. 6.15 Extension to Nonlinear Systems
      16. 6.16 Capacity-Form Differencing
      17. 6.17 Nonuniform Grids
      18. Exercises
    6. 7. Boundary Conditions and Ghost Cells
      1. 7.1 Periodic Boundary Conditions
      2. 7.2 Advection
      3. 7.3 Acoustics
      4. Exercises
    7. 8. Convergence, Accuracy, and Stability
      1. 8.1 Convergence
      2. 8.2 One-Step and Local Truncation Errors
      3. 8.3 Stability Theory
      4. 8.4 Accuracy at Extrema
      5. 8.5 Order of Accuracy Isn’t Everything
      6. 8.6 Modified Equations
      7. 8.7 Accuracy Near Discontinuities
      8. Exercises
    8. 9. Variable-Coefficient Linear Equations
      1. 9.1 Advection in a Pipe
      2. 9.2 Finite Volume Methods
      3. 9.3 The Color Equation
      4. 9.4 The Conservative Advection Equation
      5. 9.5 Edge Velocities
      6. 9.6 Variable-Coefficient Acoustics Equations
      7. 9.7 Constant-Impedance Media
      8. 9.8 Variable Impedance
      9. 9.9 Solving the Riemann Problem for Acoustics
      10. 9.10 Transmission and Reflection Coefficients
      11. 9.11 Godunov’s Method
      12. 9.12 High-Resolution Methods
      13. 9.13 Wave Limiters
      14. 9.14 Homogenization of Rapidly Varying Coefficients
      15. Exercises
    9. 10. Other Approaches to High Resolution
      1. 10.1 Centered-in-Time Fluxes
      2. 10.2 Higher-Order High-Resolution Methods
      3. 10.3 Limitations of the Lax–Wendroff (Taylor Series) Approach
      4. 10.4 Semidiscrete Methods plus Time Stepping
      5. 10.5 Staggered Grids and Central Schemes
      6. Exercises
  10. Part II: Nonlinear Equations
    1. 11. Nonlinear Scalar Conservation Laws
      1. 11.1 Traffic Flow
      2. 11.2 Quasilinear Form and Characteristics
      3. 11.3 Burgers’ Equation
      4. 11.4 Rarefaction Waves
      5. 11.5 Compression Waves
      6. 11.6 Vanishing Viscosity
      7. 11.7 Equal-Area Rule
      8. 11.8 Shock Speed
      9. 11.9 The Rankine–Hugoniot Conditions for Systems
      10. 11.10 Similarity Solutions and Centered Rarefactions
      11. 11.11 Weak Solutions
      12. 11.12 Manipulating Conservation Laws
      13. 11.13 Nonuniqueness, Admissibility, and Entropy Conditions
      14. 11.14 Entropy Functions
      15. 11.15 Long-Time Behavior and N-Wave Decay
      16. Exercises
    2. 12. Finite Volume Methods for Nonlinear Scalar Conservation Laws
      1. 12.1 Godunov’s Method
      2. 12.2 Fluctuations, Waves, and Speeds
      3. 12.3 Transonic Rarefactions and an Entropy Fix
      4. 12.4 Numerical Viscosity
      5. 12.5 The Lax–Friedrichs and Local Lax–Friedrichs Methods
      6. 12.6 The Engquist–Osher Method
      7. 12.7 E-schemes
      8. 12.8 High-Resolution TVD Methods
      9. 12.9 The Importance of Conservation Form
      10. 12.10 The Lax–Wendroff Theorem
      11. 12.11 The Entropy Condition
      12. 12.12 Nonlinear Stability
      13. Exercises
    3. 13. Nonlinear Systems of Conservation Laws
      1. 13.1 The Shallow Water Equations
      2. 13.2 Dam-Break and Riemann Problems
      3. 13.3 Characteristic Structure
      4. 13.4 A Two-Shock Riemann Solution
      5. 13.5 Weak Waves and the Linearized Problem
      6. 13.6 Strategy for Solving the Riemann Problem
      7. 13.7 Shock Waves and Hugoniot Loci
      8. 13.8 Simple Waves and Rarefactions
      9. 13.9 Solving the Dam-Break Problem
      10. 13.10 The General Riemann Solver for Shallow Water Equations
      11. 13.11 Shock Collision Problems
      12. 13.12 Linear Degeneracy and Contact Discontinuities
      13. Exercises
    4. 14. Gas Dynamics and the Euler Equations
      1. 14.1 Pressure
      2. 14.2 Energy
      3. 14.3 The Euler Equations
      4. 14.4 Polytropic Ideal Gas
      5. 14.5 Entropy
      6. 14.6 Isothermal Flow
      7. 14.7 The Euler Equations in Primitive Variables
      8. 14.8 The Riemann Problem for the Euler Equations
      9. 14.9 Contact Discontinuities
      10. 14.10 Riemann Invariants
      11. 14.11 Solution to the Riemann Problem
      12. 14.12 The Structure of Rarefaction Waves
      13. 14.13 Shock Tubes and Riemann Problems
      14. 14.14 Multifluid Problems
      15. 14.15 Other Equations of State and Incompressible Flow
    5. 15. Finite Volume Methods for Nonlinear Systems
      1. 15.1 Godunov’s Method
      2. 15.2 Convergence of Godunov’s Method
      3. 15.3 Approximate Riemann Solvers
      4. 15.4 High-Resolution Methods for Nonlinear Systems
      5. 15.5 An Alternative Wave-Propagation Implementation of Approximate Riemann Solvers
      6. 15.6 Second-Order Accuracy
      7. 15.7 Flux-Vector Splitting
      8. 15.8 Total Variation for Systems of Equations
      9. Exercises
    6. 16. Some Nonclassical Hyperbolic Problems
      1. 16.1 Nonconvex Flux Functions
      2. 16.2 Nonstrictly Hyperbolic Problems
      3. 16.3 Loss of Hyperbolicity
      4. 16.4 Spatially Varying Flux Functions
      5. 16.5 Nonconservative Nonlinear Hyperbolic Equations
      6. 16.6 Nonconservative Transport Equations
      7. Exercises
    7. 17. Source Terms and Balance Laws
      1. 17.1 Fractional-Step Methods
      2. 17.2 An Advection–Reaction Equation
      3. 17.3 General Formulation of Fractional-Step Methods for Linear Problems
      4. 17.4 Strang Splitting
      5. 17.5 Accuracy of Godunov and Strang Splittings
      6. 17.6 Choice of ODE Solver
      7. 17.7 Implicit Methods, Viscous Terms, and Higher-Order Derivatives
      8. 17.8 Steady-State Solutions
      9. 17.9 Boundary Conditions for Fractional-Step Methods
      10. 17.10 Stiff and Singular Source Terms
      11. 17.11 Linear Traffic Flow with On-Ramps or Exits
      12. 17.12 Rankine–Hugoniot Jump Conditions at a Singular Source
      13. 17.13 Nonlinear Traffic Flow with On-Ramps or Exits
      14. 17.14 Accurate Solution of Quasisteady Problems
      15. 17.15 Burgers Equation with a Stiff Source Term
      16. 17.16 Numerical Difficulties with Stiff Source Terms
      17. 17.17 Relaxation Systems
      18. 17.18 Relaxation Schemes
      19. Exercises
  11. Part III: Multidimensional Problems
    1. 18. Multidimensional Hyperbolic Problems
      1. 18.1 Derivation of Conservation Laws
      2. 18.2 Advection
      3. 18.3 Compressible Flow
      4. 18.4 Acoustics
      5. 18.5 Hyperbolicity
      6. 18.6 Three-Dimensional Systems
      7. 18.7 Shallow Water Equations
      8. 18.8 Euler Equations
      9. 18.9 Symmetry and Reduction of Dimension
      10. Exercises
    2. 19. Multidimensional Numerical Methods
      1. 19.1 Finite Difference Methods
      2. 19.2 Finite Volume Methods and Approaches to Discretization
      3. 19.3 Fully Discrete Flux-Differencing Methods
      4. 19.4 Semidiscrete Methods with Runge–Kutta Time Stepping
      5. 19.5 Dimensional Splitting
      6. Exercise
    3. 20. Multidimensional Scalar Equations
      1. 20.1 The Donor-Cell Upwind Method for Advection
      2. 20.2 The Corner-Transport Upwind Method for Advection
      3. 20.3 Wave-Propagation Implementation of the CTU Method
      4. 20.4 von Neumann Stability Analysis
      5. 20.5 The CTU Method for Variable-Coefficient Advection
      6. 20.6 High-Resolution Correction Terms
      7. 20.7 Relation to the Lax–Wendroff Method
      8. 20.8 Divergence-Free Velocity Fields
      9. 20.9 Nonlinear Scalar Conservation Laws
      10. 20.10 Convergence
      11. Exercises
    4. 21. Multidimensional Systems
      1. 21.1 Constant-Coefficient Linear Systems
      2. 21.2 The Wave-Propagation Approach to Accumulating Fluxes
      3. 21.3 CLAWPACK Implementation
      4. 21.4 Acoustics
      5. 21.5 Acoustics in Heterogeneous Media
      6. 21.6 Transverse Riemann Solvers for Nonlinear Systems
      7. 21.7 Shallow Water Equations
      8. 21.8 Boundary Conditions
    5. 22. Elastic Waves
      1. 22.1 Derivation of the Elasticity Equations
      2. 22.2 The Plane-Strain Equations of Two-Dimensional Elasticity
      3. 22.3 One-Dimensional Slices
      4. 22.4 Boundary Conditions
      5. 22.5 The Plane-Stress Equations and Two-Dimensional Plates
      6. 22.6 A One-Dimensional Rod
      7. 22.7 Two-Dimensional Elasticity in Heterogeneous Media
    6. 23. Finite Volume Methods on Quadrilateral Grids
      1. 23.1 Cell Averages and Interface Fluxes
      2. 23.2 Logically Rectangular Grids
      3. 23.3 Godunov’s Method
      4. 23.4 Fluctuation Form
      5. 23.5 Advection Equations
      6. 23.6 Acoustics
      7. 23.7 Shallow Water and Euler Equations
      8. 23.8 Using CLAWPACK on Quadrilateral Grids
      9. 23.9 Boundary Conditions
  12. Bibliography
  13. Index