{
  "aliases": null,
  "backlinks": [
    {
      "field": "defines",
      "target": "9PTJWSCFS5"
    },
    {
      "field": "uses",
      "target": "J332CQ8SPB"
    },
    {
      "field": "uses",
      "target": "SB1TM11S5Q"
    },
    {
      "field": "uses",
      "target": "TNM5CFSZM6"
    },
    {
      "field": "about",
      "target": "TNM5CFSZM6"
    }
  ],
  "body": "\n## Summary\n\nA Riemann solver is a procedure that computes, exactly or approximately, the solution of a [[Riemann problem|GJWKX22VVE]] for a [[hyperbolic conservation law|XN081NCPF5]].\nIn numerical schemes it computes the flux between two neighbouring cells from the two cell values.\nIt is the main ingredient of [[Godunov's scheme|43HZJ7DRT0]] and of the higher-order schemes built on it.\nExact solvers are expensive for systems such as the Euler equations, so approximate solvers such as the [[Roe solver|TNM5CFSZM6]] and the HLL solver are common.\nSee the [[definition|9PTJWSCFS5]].\n\n## Explanations\n\n### L1 human\n\nAt each wall between two cells of a grid, the state on the left differs from the state on the right.\nA Riemann solver answers one question: if these two constant states meet at time zero, what flows through the wall just after?\nDoing this at every wall tells the scheme how much of each conserved quantity moves from cell to cell.\nFor the transport equation $u_t + a u_x = 0$ with $a \u003e 0$, the answer is simple: the left state moves through the wall, and the flux is $a u_l$.\n",
  "commit": "ff8a40749dc16545e3d2fc637f6b0196e81d0bfa",
  "front": {
    "kind": "concept",
    "msc": [
      "65M08",
      "35L65"
    ],
    "name": "Riemann solver",
    "same_as": {
      "wikidata": "Q6153788",
      "wikipedia": "Riemann solver"
    },
    "sources": [
      {
        "url": "https://en.wikipedia.org/wiki/Riemann_solver"
      }
    ],
    "tag": "ZY4GY93C4B"
  },
  "kind": "concept",
  "link": "https://tamnd.github.io/math2/node/ZY4GY93C4B/",
  "links": null,
  "markdown": "https://tamnd.github.io/math2/node/ZY4GY93C4B.md",
  "msc": [
    "65M08",
    "35L65"
  ],
  "name": "Riemann solver",
  "prov": null,
  "role": "",
  "source": "https://github.com/tamnd/math2/blob/main/nodes/ZY4/ZY4GY93C4B.md",
  "status": null,
  "tag": "ZY4GY93C4B",
  "uri": "m2://ZY4GY93C4B",
  "url": "https://tamnd.github.io/math2/wiki/riemann-solver/",
  "writing": {
    "tag": "ZY4GY93C4B",
    "kind": "concept",
    "level": "W0",
    "next": [
      {
        "what": "an inventory row",
        "note": "the row of the inventory that the node accounts for",
        "have": 0,
        "want": 1
      },
      {
        "what": "a source with a locator",
        "have": 0,
        "want": 1
      }
    ]
  }
}
