{
  "aliases": null,
  "backlinks": [
    {
      "field": "uses",
      "target": "2Z7NASDQB6"
    },
    {
      "field": "uses",
      "target": "D5M7TRD3MY"
    },
    {
      "field": "uses",
      "target": "G5RB8T2WKD"
    }
  ],
  "body": "\n## Statement\n\nLet $a \\in \\R$ and consider the [[transport equation|PVD7VZJZ9B]] $u_t + a u_x = 0$ with initial values $u(x, 0) = u_0(x)$.\nFix integers $p, q \\ge 0$, real numbers $c_{-p}, \\dots, c_q$ and a ratio $\\lambda \u003e 0$.\nConsider the explicit [[finite difference scheme|X7HYEBA5SA]]\n$$u_j^{n+1} = \\sum_{k=-p}^{q} c_k\\, u_{j+k}^n, \\qquad u_j^0 = u_0(j \\Delta x),$$\nwith time step $\\Delta t = \\lambda \\Delta x$.\nSuppose that for every smooth $u_0$ with compact support, $u_j^n \\to u(x, t)$ whenever $\\Delta x \\to 0$, $j \\Delta x \\to x$ and $n \\Delta t \\to t$.\nThen\n$$-q \\le a \\lambda \\le p.$$\nIn particular, for a three-point scheme ($p = q = 1$) convergence requires $\\abs{a} \\Delta t / \\Delta x \\le 1$.\n\n## Remarks\n\nProof idea: $u_j^n$ depends only on the values $u_0(x_i)$ with $x_{j - pn} \\le x_i \\le x_{j + qn}$.\nIn the limit this is the interval $[x - p t/\\lambda,\\ x + q t/\\lambda]$, the numerical domain of dependence of $(x, t)$.\nThe exact solution $u(x, t) = u_0(x - a t)$ depends only on the point $x - at$.\nIf $x - at$ lies outside the interval, change $u_0$ near $x - at$ only: the limit of the scheme stays the same, but $u(x, t)$ changes.\n\nThe condition is necessary but not sufficient.\nThe forward-time centred-space scheme has $p = q = 1$ and violates no CFL bound when $\\abs{a}\\lambda \\le 1$, yet it diverges for every $\\lambda \u003e 0$.\nThe [[Lax–Friedrichs method|VY3J2NKGKW]] converges exactly when $\\abs{a} \\lambda \\le 1$.\nFor $a \\ge 0$, the upwind scheme $u_j^{n+1} = u_j^n - a\\lambda(u_j^n - u_{j-1}^n)$ has $p = 1$ and $q = 0$, and it converges exactly when $a \\lambda \\le 1$.\nFor systems, the same argument gives $\\Lambda \\Delta t \\le \\Delta x$ for three-point schemes, where $\\Lambda$ is the largest characteristic speed.\n\n## Explanations\n\n### L1 human\n\nInformation in a wave equation travels at a fixed speed.\nAn explicit scheme can only pass information one grid cell per time step.\nIf the time step is too large, the true information has moved further than the scheme can see, and the scheme cannot be right.\nSo the time step must be small compared with the space step divided by the wave speed.\n\n### L2 human\n\nThe condition was found by Courant, Friedrichs and Lewy in 1928, in work on difference equations of mathematical physics.\nIn practice it sets the largest stable time step of explicit methods, such as $\\Delta t \\le \\Delta x / \\Lambda$.\nImplicit schemes have a numerical domain of dependence equal to the whole grid, so the argument places no restriction on them.\nSufficient conditions come from stability analysis, and the [[Lax equivalence theorem|D5M7TRD3MY]] links stability with convergence for consistent linear schemes.\nIn the [[Glimm scheme|Y70AC2X30T]] and [[Godunov's scheme|43HZJ7DRT0]], a CFL bound also keeps neighbouring Riemann problems from interacting.\n",
  "commit": "ff8a40749dc16545e3d2fc637f6b0196e81d0bfa",
  "front": {
    "about": [
      "X7HYEBA5SA"
    ],
    "kind": "statement",
    "msc": [
      "65M12",
      "65M06",
      "35L03"
    ],
    "name": "Courant–Friedrichs–Lewy condition",
    "role": "theorem",
    "same_as": {
      "wikidata": "Q1023483",
      "wikipedia": "Courant–Friedrichs–Lewy condition"
    },
    "sources": [
      {
        "url": "https://en.wikipedia.org/wiki/Courant%E2%80%93Friedrichs%E2%80%93Lewy_condition"
      }
    ],
    "tag": "FQVVNYV6N8",
    "uses": [
      "PVD7VZJZ9B",
      "X7HYEBA5SA"
    ]
  },
  "kind": "statement",
  "link": "https://tamnd.github.io/math2/node/FQVVNYV6N8/",
  "links": [
    {
      "field": "about",
      "target": "X7HYEBA5SA"
    },
    {
      "field": "uses",
      "target": "PVD7VZJZ9B"
    },
    {
      "field": "uses",
      "target": "X7HYEBA5SA"
    }
  ],
  "markdown": "https://tamnd.github.io/math2/node/FQVVNYV6N8.md",
  "msc": [
    "65M12",
    "65M06",
    "35L03"
  ],
  "name": "Courant–Friedrichs–Lewy condition",
  "prov": null,
  "role": "theorem",
  "source": "https://github.com/tamnd/math2/blob/main/nodes/FQV/FQVVNYV6N8.md",
  "status": null,
  "tag": "FQVVNYV6N8",
  "uri": "m2://FQVVNYV6N8",
  "url": "https://tamnd.github.io/math2/wiki/courant-friedrichs-lewy-condition/",
  "writing": {
    "tag": "FQVVNYV6N8",
    "kind": "statement",
    "level": "W0",
    "next": [
      {
        "what": "a source with a locator",
        "have": 0,
        "want": 1
      }
    ]
  }
}
