Effective Hamiltonian Operations. Condensing Physics to Conserve Over Time. Joseph Knips. First a little backstory.
Effective Hamiltonian Operations
Condensing Physics to Conserve Over Time
When we think of physics simulation, more often than not we wish to think of the position of some object in some space. With one dimensional motion, it's simple enough, as the position (x) of some object a is:
We would use Euler's method, which uses a series of steps, to graph the change in position. However this is flaw. What if the step size is too great? What if the motion of some object changes drastically that the step 'misses' it?
Let's take an example. Let us say a simple harmonic oscillator.
This looks fine... until we do it over time...
We can see why when we graph the energy
These are called Hamiltonian functions. Instead of conserving momentum, position, or what have you, we instead preserve energy in a condensed equation. Since energy is conserved, we can, with the use of partial derivatives, pull out any information needed. For example, our harmonic oscillator has the Hamiltonian:
It's obvious that Euler's method begins to lose some of its accuracy after so many iterations. We need something not dependant on 'step sizes' (such as time), but more of the property of energy.
Note this is similar to Newton's Energy formula:
Total Energy = Potential Energy + Kinetic Energy
Uses the integration of the Hamiltonian to discover the
function of its momentum and position. Depending on
the order of integration used adds 'calibration' constants through the method of taylor expansion. For example, the second order Symplectic of the Oscillator Hamiltonian gives us:
But how do we use the Hamiltonians? There are two major ways: Symplectic and Runge-Kutta.
As we can see, Energy is conserved for both 2nd and 4th order integrands of our Oscillator.
Using our Harmonic Oscillator, our integrand results of the Hamiltonian is:
And as a result:
And as a result:
It is not true on closer inspection
Comparing to the Runge-Kutta method, we find initially that they seem to be equivalent...
When we try to use a non-linear, non-separable equation, such as the Henon-Heiles Hamiltonian:
Where epsilon one and two stood for some random value between 0-1. By manipulating this value, we could see which term distinguished the difference between the two method.
By comparing the two data sets of both Runge-Kutta and Symplectic, we attempted to see what is the primary cause of the difference. We manipulated the equation in the following ways:
By manipulating epsilon 1, we got the following:
By manipulating epsilon 1 and 2 to be equal to zero, we see an interesting trend: