Symplectic runge kutta for hamiltonian system

In summary: If you take a small step and the system starts to oscillate, the symplectic integrator will eventually bring the system back to equilibrium.
  • #1
Heimdall
42
0
Hi !


I'm trying to solve the restricted problem of three bodies, where a negligeable mass particule is moving in the gravitationnal field of two heavy objects which are in circular orbit around their common center of mass. this is a plane problem...

I describe the mouvment in the mobile referential in order to have an time independant hamiltonian, which is the following :



[tex]H = \frac{1}{2} ( P^2_1+P^2_2 ) + P_1Q_2-P_2Q_1 - (\frac{1-\mu}{R_1} + \frac{\mu}{R_2})[/tex]

where Q1,2 and P1,2 are the position and momenta of the object one and two respectively.

I found out that, since the energy is an invariant of this problem, there was a numerical algorithm which was better to use : symplectic method.

I don't know much about it, I just know it is better than classical RK4 (even with variable time step) because it preserves invariants and 'symplectic form' (I don't really know what it is...)


I'm french student in 2nd cycle physics studies, I learned hamiltonian formalism this year, but not the "symplectic" notion... therefore, I don't really know how to code a symplectic integrator.

I didn't see a lot of web sites which could help me, just things like "Candy-Rozmus algorithm" which I don't really understand.

I found an exemple of a symplectic runge kutta function on the web
"http://aristote.obspm.fr/phynum/libphynum/lib1.html"

the code is here in this package : http://aristote.obspm.fr/phynum/libphynum/libphn.tar.gz


I'm looking for some help to understand this...

Thank you
 
Last edited:
Physics news on Phys.org
  • #2
hum, sorry nobody knows something ?
 
  • #3
hi heimdall, as u rightly pointed out, symplecting algorithms respect the 'invariants' in the problem.
following the std RG methods will give you reasonable results unless u want to integrate for very long periods .
there are many symplecting integration toolboxes available for matlab.
one of them is
http://www.ii.uib.no/diffman.

it also comes with a decent tutorial(or try 'symplectinc integration' on google's scholar)

to see the difference...look at this image where i have shown the variation the jacobi constant with time(this ofcourse is an artifact of the integration)
I used the integrator available in matlab.
look at
http://www.ae.iitm.ac.in/~ae03b005/jacobi.png
 
Last edited by a moderator:
  • #4
oops..i forgot to add a point..the hill curve in the third curve is for cj=3.02 ..the max that is reached in the integration...the initial conditions actually corresspond to a cj=2.9998
 
  • #5
Heimdall said:
hum, sorry nobody knows something ?

I can tell you a little bit. A symplectic integrator will represent the exact solution of some Hamiltonian. It won't be YOUR Hamiltonian, however. As you take smaller and smaller time steps, the symplectic integrator will solve a problem that's closer and closer to the actual problem you are intersted in.

The fact that the solution will actually be the exact solution of some Hamiltonian is useful for avoiding some types of obnoxious behaviors.

Symplectic integrators are especially useful where one is interested in the stability of a system.
 

Related to Symplectic runge kutta for hamiltonian system

1. What is the purpose of using Symplectic Runge Kutta for Hamiltonian systems?

The purpose of using Symplectic Runge Kutta for Hamiltonian systems is to numerically solve differential equations that describe the dynamics of Hamiltonian systems while preserving the symplectic structure of the system. This ensures that the numerical solution accurately reflects the true behavior of the system and does not introduce artificial numerical errors.

2. What makes Symplectic Runge Kutta different from other numerical methods?

Symplectic Runge Kutta is different from other numerical methods because it preserves the symplectic structure of Hamiltonian systems, while other methods may introduce numerical errors that affect the accuracy of the solution. This is especially important for Hamiltonian systems, as preserving the symplectic structure is crucial for accurately representing the dynamics of the system.

3. Can Symplectic Runge Kutta be used for all types of Hamiltonian systems?

Yes, Symplectic Runge Kutta can be used for all types of Hamiltonian systems, regardless of the number of degrees of freedom or the complexity of the system. It is a general numerical method that is specifically designed for Hamiltonian systems.

4. How does Symplectic Runge Kutta ensure the preservation of the symplectic structure?

Symplectic Runge Kutta ensures the preservation of the symplectic structure by using a specific numerical algorithm that splits the Hamiltonian system into two parts: the potential energy and the kinetic energy. This allows for the conservation of the symplectic structure while numerically integrating the equations of motion.

5. Are there any limitations to using Symplectic Runge Kutta for Hamiltonian systems?

One limitation of using Symplectic Runge Kutta for Hamiltonian systems is that it can only be used for systems that can be described by Hamiltonian equations of motion. Additionally, it may not be as efficient as other numerical methods for certain types of Hamiltonian systems, such as those with highly oscillatory behavior.

Similar threads

Replies
61
Views
1K
  • Differential Equations
Replies
6
Views
3K
  • Differential Equations
Replies
4
Views
6K
Replies
2
Views
2K
  • Differential Equations
Replies
3
Views
3K
  • Advanced Physics Homework Help
Replies
9
Views
1K
Replies
14
Views
4K
  • Differential Equations
Replies
5
Views
4K
  • Differential Equations
Replies
1
Views
2K
  • Calculus and Beyond Homework Help
Replies
2
Views
1K
Back
Top