{
  "aliases": null,
  "backlinks": null,
  "body": "\n## Statement\n\nLet $F \\colon \\R^m \\to \\R^m$ be a $C^1$ function and consider the system of [[conservation laws|8RA7AMWSAF]] $u_t + F(u)_x = 0$ in one space dimension.\nLet $V \\subseteq \\R \\times (0, \\infty)$ be open, and let $C = \\set{(s(t), t) : t \\in I} \\subseteq V$ be a curve with $s$ of class $C^1$.\nAssume that $C$ splits $V$ into a left part $V_l$ and a right part $V_r$.\nLet $u \\colon V \\to \\R^m$ be bounded and of class $C^1$ on $V_l$ and on $V_r$.\nAssume that $u$ has one-sided limits $u_l(t)$ from $V_l$ and $u_r(t)$ from $V_r$ at $(s(t), t)$, continuous in $t$.\nThen $u$ is a [[weak solution|SJZX81A783]] in $V$ if and only if $u$ solves the equation classically in $V_l$ and in $V_r$, and\n$$F(u_l(t)) - F(u_r(t)) = s'(t)\\, \\big( u_l(t) - u_r(t) \\big) \\qquad \\text{for all } t \\in I.$$\n\n## Remarks\n\nWrite $[\\,\\cdot\\,]$ for the jump across the curve; then the condition is $[F(u)] = \\sigma [u]$ with shock speed $\\sigma = s'$.\nThe proof tests the weak formulation with a test function supported near a point of $C$.\nOn each side $u$ is a classical solution, so integrating by parts on $V_l$ and on $V_r$ leaves only boundary integrals over $C$.\nThese combine to $\\int_C \\big( [F(u)] - s' [u] \\big) \\varphi \\, dt = 0$ for all test functions, which gives the jump condition.\n\nExample: for the scalar [[Burgers' equation|NEGHXN8RE1]], $F(u) = u^2/2$, the condition gives $s' = \\dfrac{u_l^2/2 - u_r^2/2}{u_l - u_r} = \\dfrac{u_l + u_r}{2}$.\nSo a jump from $u_l = 2$ to $u_r = 0$ moves at speed $1$.\n\nThe conditions are necessary but do not select a unique solution.\nA jump from $0$ to $1$ for Burgers' equation also satisfies them and gives a weak solution, but not the physical one.\nAn entropy condition is needed in addition.\nIn several space dimensions the same argument gives $\\sum_j [F_j(u)]\\, \\nu_{x_j} = - \\nu_t [u]$, where $(\\nu_x, \\nu_t)$ is a normal to the surface of discontinuity.\n\n## Explanations\n\n### L1 human\n\nWhen a conserved quantity jumps across a moving front, the front cannot move at any speed it likes.\nThe amount that piles up at the front per unit time must match the difference of the fluxes on the two sides.\nThis balance fixes the speed of the front: it equals the jump of the flux divided by the jump of the quantity.\nIn gas dynamics these are the jump relations for mass, momentum and energy across a shock.\n\n### L2 human\n\nThe theorem shows that piecewise smooth weak solutions are exactly the piecewise classical solutions whose jumps obey the Rankine–Hugoniot relations.\nIt is used to construct explicit solutions, for example of the [[Riemann problem|GJWKX22VVE]], and to check proposed shock solutions.\nSince it allows non-physical jumps, it is always combined with an entropy condition such as the Lax condition, which leads to the notion of [[entropy solution|1A01A3EJRX]].\nFor a system, the set of states $u_r$ that can be joined to a given $u_l$ is the Hugoniot locus.\nFor a strictly hyperbolic system, near $u_l$ it consists of $m$ curves through $u_l$.\n",
  "commit": "ff8a40749dc16545e3d2fc637f6b0196e81d0bfa",
  "front": {
    "about": [
      "8RA7AMWSAF"
    ],
    "kind": "statement",
    "msc": [
      "35L67",
      "35L65",
      "76L05"
    ],
    "name": "Rankine–Hugoniot conditions",
    "role": "theorem",
    "same_as": {
      "wikidata": "Q1192131",
      "wikipedia": "Rankine–Hugoniot conditions"
    },
    "sources": [
      {
        "url": "https://en.wikipedia.org/wiki/Rankine–Hugoniot_conditions"
      }
    ],
    "tag": "S4XMYJ3V42",
    "uses": [
      "8RA7AMWSAF",
      "SJZX81A783"
    ]
  },
  "kind": "statement",
  "link": "https://tamnd.github.io/math2/node/S4XMYJ3V42/",
  "links": [
    {
      "field": "about",
      "target": "8RA7AMWSAF"
    },
    {
      "field": "uses",
      "target": "8RA7AMWSAF"
    },
    {
      "field": "uses",
      "target": "SJZX81A783"
    }
  ],
  "markdown": "https://tamnd.github.io/math2/node/S4XMYJ3V42.md",
  "msc": [
    "35L67",
    "35L65",
    "76L05"
  ],
  "name": "Rankine–Hugoniot conditions",
  "prov": null,
  "role": "theorem",
  "source": "https://github.com/tamnd/math2/blob/main/nodes/S4X/S4XMYJ3V42.md",
  "status": null,
  "tag": "S4XMYJ3V42",
  "uri": "m2://S4XMYJ3V42",
  "url": "https://tamnd.github.io/math2/wiki/rankine-hugoniot-conditions/",
  "writing": {
    "tag": "S4XMYJ3V42",
    "kind": "statement",
    "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
      }
    ]
  }
}
