{
  "aliases": null,
  "backlinks": [
    {
      "field": "defines",
      "target": "M8DEV2YM2S"
    }
  ],
  "body": "\n## Summary\n\nEnergy drift is the gradual, systematic change of the total energy of a [[Hamiltonian system|0EDKGA2FAK]] in a numerical simulation.\nThe exact solution keeps the energy constant.\nIt comes from the accumulation of the small errors of the integrator over many steps.\nIts size and growth are a basic test of the quality of a long simulation, for example in molecular dynamics.\nIts absence is one of the main benefits of [[symplectic integrators|B4C25SXFRE]].\n\n## Explanations\n\n### L1 human\n\nA frictionless pendulum keeps its energy forever.\nA computer simulation of it makes a small error at each step, and with many methods these errors push the energy steadily up or down.\nAfter a long run, the simulated pendulum swings much higher or lower than it should: this is energy drift.\nWith the explicit Euler method on the oscillator $q' = p$, $p' = -q$, the energy is multiplied by $1 + h^2$ at every step, so it grows without bound.\nGood methods for long runs let the energy wobble a little around its true value, without a trend.\n",
  "commit": "ff8a40749dc16545e3d2fc637f6b0196e81d0bfa",
  "front": {
    "kind": "concept",
    "msc": [
      "65P10",
      "65L20"
    ],
    "name": "Energy drift",
    "same_as": {
      "wikidata": "Q5377040",
      "wikipedia": "Energy drift"
    },
    "sources": [
      {
        "url": "https://en.wikipedia.org/wiki/Energy_drift"
      }
    ],
    "tag": "BDVF3BPJEB"
  },
  "kind": "concept",
  "link": "https://tamnd.github.io/math2/node/BDVF3BPJEB/",
  "links": null,
  "markdown": "https://tamnd.github.io/math2/node/BDVF3BPJEB.md",
  "msc": [
    "65P10",
    "65L20"
  ],
  "name": "Energy drift",
  "prov": null,
  "role": "",
  "source": "https://github.com/tamnd/math2/blob/main/nodes/BDV/BDVF3BPJEB.md",
  "status": null,
  "tag": "BDVF3BPJEB",
  "uri": "m2://BDVF3BPJEB",
  "url": "https://tamnd.github.io/math2/wiki/energy-drift/",
  "writing": {
    "tag": "BDVF3BPJEB",
    "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
      }
    ]
  }
}
