Euler–Cromer algorithm
From Wikipedia, the free encyclopedia
In mathematics, the Euler–Cromer algorithm or symplectic Euler method is a modification of the Euler method for solving Hamilton's equations, a system of ordinary differential equations that arises in classical mechanics. It is a symplectic integrator and hence it yields better results than the standard Euler method.
Contents |
[edit] Setting
The Euler–Cromer algorithm can be applied to a pair of differential equations of the form
where f and g are given functions. Here, x and v may be either scalars or vectors. The equations of motion in Hamiltonian mechanics take this form if the Hamiltonian is of the form
The differential equations are to be solved with the initial condition
[edit] The method
The Euler–Cromer algorithm produces an approximate discrete solution by iterating
where Δt is the time step and tn = t0 + nΔt is the time after n steps.
The difference with the standard Euler method is that the Euler–Cromer method uses vn + 1 in the equation for xn + 1, while the Euler method uses vn.
The Euler–Cromer method is a first-order integrator, just as the standard Euler method. This means that it commits a global error of the order of Δt. However, the Euler–Cromer method is a symplectic integrator, unlike the standard method. As a consequence, the Euler–Cromer method almost conserves the energy (when the Hamiltonian is time-independent). Often, the energy increases steadily when the standard Euler method is applied, making it far less accurate.
[edit] Example
The motion of a spring satisfying Hooke's law is given by
The Euler–Cromer algorithm for this equation is
[edit] References
- Giordano, Nicholas J.; Hisao Nakanishi (July 2005). Computational Physics, 2nd edition, Benjamin Cummings. ISBN 0-1314-6990-8.
- MacDonald, James. The Euler-Cromer method. University of Delaware. Retrieved on 2007-03-03.
- Vesely, Franz J. (2001). Computational Physics: An Introduction, 2nd edition, Springer, page 117. ISBN 978-0-306-46631-1.