{"id":33074275,"url":"https://github.com/clawpack/riemann_book","last_synced_at":"2026-02-20T02:32:06.984Z","repository":{"id":29021092,"uuid":"32548345","full_name":"clawpack/riemann_book","owner":"clawpack","description":"An interactive book about the Riemann problem for hyperbolic PDEs, using Jupyter notebooks.","archived":false,"fork":false,"pushed_at":"2025-11-30T13:46:21.000Z","size":64309,"stargazers_count":287,"open_issues_count":15,"forks_count":104,"subscribers_count":13,"default_branch":"master","last_synced_at":"2026-02-10T23:25:08.853Z","etag":null,"topics":["book","hyperbolic-equations","jupyter-notebook","mathematics","numerical-methods","partial-differential-equations","python","riemann-solver"],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/clawpack.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-CODE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-03-19T21:57:20.000Z","updated_at":"2026-01-18T06:53:00.000Z","dependencies_parsed_at":"2023-02-13T19:02:50.160Z","dependency_job_id":null,"html_url":"https://github.com/clawpack/riemann_book","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/clawpack/riemann_book","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clawpack%2Friemann_book","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clawpack%2Friemann_book/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clawpack%2Friemann_book/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clawpack%2Friemann_book/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/clawpack","download_url":"https://codeload.github.com/clawpack/riemann_book/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clawpack%2Friemann_book/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29639143,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-19T22:32:43.237Z","status":"online","status_checked_at":"2026-02-20T02:00:07.535Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["book","hyperbolic-equations","jupyter-notebook","mathematics","numerical-methods","partial-differential-equations","python","riemann-solver"],"created_at":"2025-11-14T10:00:30.886Z","updated_at":"2026-02-20T02:32:06.973Z","avatar_url":"https://github.com/clawpack.png","language":"HTML","funding_links":[],"categories":["Tutorials"],"sub_categories":["Books"],"readme":"[![Build Status](https://travis-ci.org/clawpack/riemann_book.svg?branch=master)](https://travis-ci.org/clawpack/riemann_book)\n\n# Riemann Problems and Jupyter Solutions\n\n#### by David I. Ketcheson, Randall J. LeVeque, and Mauricio del Razo Sarmina\n\nThis repository contains source files for a book that illustrates Riemann\nsolutions and approximate Riemann solvers in Jupyter notebooks.  The print version\nof the book is [available from SIAM](https://my.siam.org/Store/Product/viewproduct/?ProductId=31634540),\nand also as an [ebook](https://epubs.siam.org/doi/book/10.1137/1.9781611976212).  You can view a pdf \nversion of the [contents, preface, and index](https://archive.siam.org/books/fa16/fa16fmbm.pdf).\n\n    Riemann Problems and Jupyter Solutions\n        Theory and Approximate Solvers for Hyperbolic PDEs\n    by David I. Ketcheson, Randall J. LeVeque, and Mauricio J. del Razo\n    SIAM, 2020.   ISBN: 978-1-611976-20-5\n    ebook: DOI 10.1137/1.9781611976212\n\nSee [https://bookstore.siam.org/fa16/bonus](https://bookstore.siam.org/fa16/bonus) for additional \ninformation and links to the html rendered notebooks.\nThese are static views (no execution or interactive widgets), but some notebooks include animations that will play.\n\n\nThe recommended way to fully experience the book is by running the Jupyter notebooks:\n\n - [Locally, installed using Docker](#docker)\n - [Locally, installed manually](#installation)\n - [In the cloud with Binder](#binder)\n \n Start from the table of contents given in the notebook [Index.ipynb](Index.ipynb), which is also [shown below](#contents).\n The notebook [Index2.ipynb](Index2.ipynb) lists some notebooks that are not \n in the SIAM book, some of which are still under development.  Additional notebooks may appear in the future.\n\n## Branches\nThe [**FA16** branch](https://github.com/clawpack/riemann_book/tree/FA16) of this repository corresponds\nto notebooks as converted into the SIAM book.  The **master** branch may be updated in the future.\n\n## Installation\nTo install the [dependencies](#installation), first install a Fortran compiler.\nThen do the following in a terminal:\n\n```\npip install clawpack\ngit clone https://github.com/clawpack/riemann_book\ncd riemann_book\npip install -r requirements.txt\njupyter nbextension enable --py widgetsnbextension\npip install jupyter_contrib_nbextensions\njupyter contrib nbextension install --user\njupyter nbextension enable equation-numbering/main\n```\n\nYou can test your installation by running\n\n```\npython test.py\n```\n\nA table of contents and suggested order for reading the notebooks is given in [Index.ipynb](Index.ipynb).\n\nIf you want to compile the PDF locally, you must also install the package [bookbook](https://github.com/takluyver/bookbook).\n\n## Docker\n\nRather than installing all the dependencies, if you have\n[Docker](https://www.docker.com/) installed you can use\n\n    $ docker pull clawpack/rbook\n\nto obtain a docker image that has all the notebooks and dependencies\ninstalled.  This was built using the [Dockerfile](Dockerfile) in\nthis repository, which could be modified to build a new image also\ncontaining other material, if desired.  See [Docker.md](Docker.md) for further\ninstructions.\n\n## Execute in the cloud\n\n### Binder\n\nRather than installing anything on your own computer, you can run the\nnotebooks on the cloud using the free\n[binder](https://mybinder.org/) service.  \nSimply navigate to this link in a browser:\n\nhttps://mybinder.org/v2/gh/clawpack/riemann_book/FA16\n\nThis may take a few minutes to start up a notebook server on a\n[Jupyterhub](https://jupyterhub.readthedocs.io/en/latest/). Then navigate to\n`riemann_book` and open `Index.ipynb` to get started.\n\n\n## License\n\n### Code\n\nThe code in this repository, including all code samples in the notebooks,\nis released under the 3-Clause BSD License.  See\n[LICENSE-CODE](https://github.com/clawpack/riemann_book/blob/master/LICENSE-CODE)\nfor the license and read more at the \n[Open Source Initiative](https://opensource.org/licenses/bsd-3-clause).\n\n### Text\n\nThe text content of the notebooks is released under the CC-BY-NC-ND License.\nSee\n[LICENSE-TEXT.md](https://github.com/clawpack/riemann_book/blob/master/LICENSE-TEXT.md)\nfor the license and read more at [Creative\nCommons](https://creativecommons.org/licenses/by-nc-nd/4.0/).\n\n## Contents\n\nTaken from the notebook [Index.ipynb](Index.ipynb), these are the notebooks that also appear in the printed book:\n\n- Preface -- Describes the aims and goals, and different ways to use the notebooks.\n- Part I: The Riemann problem and its solution\n  - `Introduction.ipynb` -- Introduces basic ideas with some sample solutions.\n  - `Advection.ipynb` -- The scalar advection equation is the simplest hyperbolic problem.\n  - `Acoustics.ipynb` -- This linear system of two equations illustrates how eigenstructure is used.\n  - `Burgers.ipynb` -- The classic nonlinear scalar problem with a convex flux.\n  - `Traffic_flow.ipynb` -- A nonlinear scalar problem with a nice physical interpretation.\n  - `Nonconvex_scalar.ipynb` -- More interesting Riemann solutions arise when the flux is not convex.\n  - `Shallow_water.ipynb` -- A classic nonlinear system of two equations.\n  - `Shallow_tracer.ipynb` -- Adding a passively advected tracer and a linearly degenerate field.\n  - `Euler.ipynb` -- The classic equations for an ideal gas.\n- Part II: Approximate solvers\n  - `Approximate_solvers.ipynb` -- Introduction to two basic types of approximations.\n  - `Burgers_approximate.ipynb` -- Approximate solvers for a scalar problem.\n  - `Shallow_water_approximate.ipynb` -- Roe solvers, the entropy fix, positivity, HLL, and HLLE.\n  - `Euler_approximate.ipynb` -- Extension of these solvers to gas dynamics.\n  - `FV_compare.ipynb` -- Comparing how different approximate solvers perform when used with PyClaw.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclawpack%2Friemann_book","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fclawpack%2Friemann_book","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclawpack%2Friemann_book/lists"}