{
  "aliases": null,
  "backlinks": [
    {
      "field": "uses",
      "target": "1RGPVZXVD9"
    },
    {
      "field": "uses",
      "target": "2Z7NASDQB6"
    },
    {
      "field": "uses",
      "target": "559N53ZTMV"
    },
    {
      "field": "uses",
      "target": "MM0YNN1MJA"
    },
    {
      "field": "uses",
      "target": "ZR1DPX6VAN"
    },
    {
      "field": "defines",
      "target": "G5RB8T2WKD"
    }
  ],
  "body": "\n## Summary\n\nAn upwind scheme is a [[finite difference|X7HYEBA5SA]] or finite volume scheme for advection problems.\nIts spatial differences are taken on the side from which the information comes.\nFor the [[transport equation|PVD7VZJZ9B]] $u_t + a u_x = 0$ with $a \u003e 0$, waves move to the right.\nSo the scheme uses the values at the point and at its left neighbour.\nFollowing the direction of propagation gives stable schemes under the [[Courant–Friedrichs–Lewy condition|FQVVNYV6N8]], while the centred or the opposite choice leads to instability.\nThe first-order upwind scheme is the basic building block of Godunov-type methods for conservation laws.\n\n## Explanations\n\n### L1 human\n\nThink of smoke carried by the wind: what happens here next depends on what is upwind now, not downwind.\nAn upwind scheme updates each grid value using its neighbour on the upwind side.\nFor $u_t + u_x = 0$ with time step equal to half the grid spacing, the new value is the average of the old value and its left neighbour.\nThis makes the scheme stable and free of wiggles, though it smears sharp fronts a little.\n",
  "commit": "ff8a40749dc16545e3d2fc637f6b0196e81d0bfa",
  "front": {
    "kind": "concept",
    "msc": [
      "65M06",
      "65M08"
    ],
    "name": "Upwind scheme",
    "same_as": {
      "wikidata": "Q7899499",
      "wikipedia": "Upwind scheme"
    },
    "sources": [
      {
        "url": "https://en.wikipedia.org/wiki/Upwind_scheme"
      }
    ],
    "specializes": [
      "X7HYEBA5SA"
    ],
    "tag": "MTCRZC5QKT"
  },
  "kind": "concept",
  "link": "https://tamnd.github.io/math2/node/MTCRZC5QKT/",
  "links": [
    {
      "field": "specializes",
      "target": "X7HYEBA5SA"
    }
  ],
  "markdown": "https://tamnd.github.io/math2/node/MTCRZC5QKT.md",
  "msc": [
    "65M06",
    "65M08"
  ],
  "name": "Upwind scheme",
  "prov": null,
  "role": "",
  "source": "https://github.com/tamnd/math2/blob/main/nodes/MTC/MTCRZC5QKT.md",
  "status": null,
  "tag": "MTCRZC5QKT",
  "uri": "m2://MTCRZC5QKT",
  "url": "https://tamnd.github.io/math2/wiki/upwind-scheme/",
  "writing": {
    "tag": "MTCRZC5QKT",
    "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
      }
    ]
  }
}
