Variational integrator

Variational integrators are numerical integrators for Hamiltonian systems derived from the Euler–Lagrange equations of a discretized Hamilton's principle. Variational integrators are momentum-preserving and symplectic.

Derivation of a simple variational integrator

Consider a mechanical system with a single particle degree of freedom described by the Lagrangian

where is the mass of the particle, and is a potential. To construct a variational integrator for this system, we begin by forming the discrete Lagrangian. The discrete Lagrangian approximates the action for the system over a short time interval:

Here we have chosen to approximate the time integral using the trapezoid method, and we use a linear approximation to the trajectory,

between and , resulting in a constant velocity . Different choices for the approximation to the trajectory and the time integral give different variational integrators. The order of accuracy of the integrator is controlled by the accuracy of our approximation to the action; since

our integrator will be second-order accurate.

Evolution equations for the discrete system can be derived from a stationary-action principle. The discrete action over an extended time interval is a sum of discrete Lagrangians over many sub-intervals:

The principle of stationary action states that the action is stationary with respect to variations of coordinates that leave the endpoints of the trajectory fixed. So, varying the coordinate , we have

Given an initial condition , and a sequence of times this provides a relation that can be solved for . The solution is

We can write this in a simpler form if we define the discrete momenta,

and

Given an initial condition , the stationary action condition is equivalent to solving the first of these equations for , and then determining using the second equation. This evolution scheme gives

and

This is a leapfrog integration scheme for the system; two steps of this evolution are equivalent to the formula above for

gollark: FORTRAN would probably be faster if decades of processors had been optimized to run FORTRANy code.
gollark: You can pick either high-level, high speed, ~~or Rust~~.
gollark: I mean, Haskell is compiled and is slow...
gollark: Also, compiled languages need not be fast (I made an esolang to demonstrate this).
gollark: It's JITed, usually.

See also

References

  • E. Hairer, C. Lubich, and G. Wanner. Geometric Numerical Integration. Springer, 2002.
  • J. Marsden and M. West. Discrete mechanics and variational integrators. Acta Numerica, 2001, pp. 357–514.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.