Giter VIP home page Giter VIP logo

riemann_book's Introduction

Build Status

Riemann_book

The Riemann Problem for Hyperbolic PDEs: Theory and Approximate Solvers

by David I. Ketcheson, Randall J. LeVeque, and Mauricio del Razo Sarmina

This repository contains work on a book in progress to illustrate Riemann solvers in Jupyter notebooks. Contributors: @ketch, @rjleveque, and @maojrs.

View static webpages

The notebooks are saved in Github with the output stripped out. You can view the html rendered notebooks with output intact on this webpage. These are static views (no execution or interactive widgets), but some notebooks include animations that will play. These may not be up to date with the versions in this repository during the development phase of this project.

Installation

To install the dependencies for the book, see https://github.com/clawpack/riemann_book/wiki/Installation. Then clone this repository to get all the notebooks. You might start with Index.ipynb.

Docker

Rather than installing all the dependencies, if you have Docker installed you can use the Dockerfile in this repository. See Docker.md for instructions.

[Add instructions for Dockerhub]

Execute in the cloud

Windows Azure

Rather than installing software, you can execute the notebooks on the cloud using the Microsoft Azure Notebooks cloud service: Create a free account and then clone the riemann_book library. These may not be up to date with the versions in this repository during the development phase of this project.

Binder

This is still under development using the latest version of binder. You can try it out for these notebooks at this link: https://beta.mybinder.org/v2/gh/clawpack/riemann_book/master

This should start up a notebook server on a Jupyterhub that lets you execute all the notebooks with no installation required.

Outline

Parentheticals indicate concepts introduced for the first time.

Part I: Exact Riemann solutions

  1. Advection
  2. Acoustics (eigenvalue analysis, characteristics, similarity solutions)
  3. Traffic flow (shocks, rarefactions, conservation, jump conditions)
  4. Burgers' (weak solutions)
  5. Shallow water (jump conditions for a nonlinear system; Riemann invariants, integral curves, Hugoniot Loci) (see also this and this)
  6. How to solve the Riemann problem exactly -- go in depth into SW solver, including Newton iteration to find root of piecewise function
  7. Shallow water with a tracer (contact waves)
  8. Euler equations

Part II: Approximate solvers

  1. Motivation and approaches to approximate solvers (waves vs fluxes)
  2. Transonic rarefactions and entropy fixes
  3. Linearized solvers (Roe) (non-physical solutions)
  4. LLF and HLL and extensions (smearing of contacts)
  5. Comparison of solvers for shallow water
  6. Comparison of solvers for Euler
  7. Comparison of full numerical solutions for Woodward-Colella blast wave problem

Part III: Riemann problems in heterogeneous media

  1. Advection (conservative vs color)
  2. Acoustics (conservative vs non-conservative)
  3. Variable speed-limit traffic
  4. Nonlinear elasticity (forward reference to nonconservative nonlinear problems)
  5. Shock tube with different ratio of specific heats
  6. Euler with Tamman EOS

Part IV: Source terms

  1. Approaches: source at interface vs other approaches (not covered here), well-balancing? stiffness?
  2. Scalar example(s) (advection-reaction, traffic with on-ramps, burgers-reaction) (well-balancing)
  3. Shallow water with bathymetry
  4. Euler with gravity
  5. Reactive Euler?
  6. Discuss viscous source terms?

Part V: Non-classical problems

  1. Nonconvex fluxes (Buckley-Leverett, Osher solution)
  2. Pressureless gas (non-diagonalizable)
  3. (nonconvex flux systems -- MHD?)
  4. Nonconservative, nonlinear systems (path-conservative solvers)

Part VI: Multidimensional systems

  1. Planar Riemann problem for a multi-D system (e.g. Acoustics, SW, Euler) (shear waves)
  2. Elasticity
  3. Quadrants problem (2D Euler Riemann-like problem)
  4. Cylindrical shallow water

Chapters

Chapters with a complete draft have the box checked. Chapters that are required are in bold. The remaining chapters are optional and will depend on the authors finding time to complete them.

One-dimensional

  • Advection - conservative and color equation
  • Acoustics - constant coefficient and arbitrary rho, K on each side - Mauricio
  • Traffic flow - scalar - David
  • Traffic flow with variable speed limit - David
  • Burgers' - with/without entropy fix - Mauricio
  • Buckley-Leverett - Randy
  • Shallow water - Exact, Roe, HLLE (and with tracer)
  • Shallow water with topography, Augmented solver - Randy
  • Shallow water in cylindrical coordinates - David
  • p-system / nonlinear elasticity - David
  • Euler - Exact, Roe, HLL, HLLE, HLLC
  • Euler with general EOS - Mauricio
  • Reactive Euler - Luiz Faria wrote some solvers here: https://github.com/ketch/pyclaw-detonation
  • Traffic - systems
  • LLF and HLL solvers for arbitrary equations
  • Layered shallow water - David
  • MHD
  • Relativistic Euler
  • Dusty gas
  • Two-phase flow

Two-dimensional

  • Elasticity - Mauricio
  • Acoustics + mapped grids - Mauricio
  • Shallow water
  • Euler
  • Maxwell's equations
  • Arbitrary normal direction on mapped grid
  • Poro-elasticity

What each chapter should contain (optional things in italics)

  • Description of the equations
  • physical derivation
  • Analysis of the hyperbolic structure:
    • Jacobian; eigenvalues and eigenvectors
    • Rankine-Hugoniot jump conditions
    • Riemann invariants
    • structure of centered rarefaction waves
  • Riemann solvers
    • Exact Riemann solver
    • Approximate Riemann solvers
    • Solvers for mapped grids
    • Well-balanced solvers incorporating source terms
    • Solvers with and without entropy fix
    • Discussion and solvers for the transverse problem
    • Comparisons
  • Results using Clawpack with different solvers

Notebooks already written that should be adapted as chapters in the book

Inserting citations

See https://github.com/clawpack/riemann_book/wiki/Citations

riemann_book's People

Contributors

ketch avatar maojrs avatar rjleveque avatar yuvipanda avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.