| New Reply |
Velocity verlet versus other integration techniques |
Share Thread |
| Jul12-11, 12:20 PM | #1 |
|
|
Velocity verlet versus other integration techniques
Mentor comments:
This thread was split from an OLD thread that was inadvertently resurrected from the dead. The original thread is http://www.physicsforums.com/showthread.php?t=182831. I've been doing something like the OP's simulation using the velocity Verlet, and yes, it seems to preserve energy pretty nicely...but I've noticed that elliptical orbits tend to show "apsidal precession" (like Mercury's orbit tracing out a rosette) ... which they shouldn't in a purely classical simulation, right? Are there any common errors that lead to this, or corrections to deal with it? Or is it an unavoidable artifact of using discrete timesteps? Thanks! |
| Jul12-11, 12:39 PM | #2 |
|
|
|
| Jul12-11, 01:03 PM | #3 |
|
|
Oh, I do give initial position and velocity to all bodies involved, for sure.
About the orbit - sorry, I wasn't meaning that you can watch it trace out a rosette with its orbit. For any given single orbit, it's elliptic. It's just that if you walked away for five minutes and came back, the major axis would be pointing in a slighty, but visibly, different direction. Over hours the major axis will do full rotations around the 'sun'. Maybe I should check how many orders of magnitude of timesteps it takes to do one rotation; that would give a better idea of the level of the issue... |
| Jul12-11, 01:10 PM | #4 |
|
|
Velocity verlet versus other integration techniques |
| Jul12-11, 01:51 PM | #5 |
|
|
I haven't tried an actual, unit-correct earth-sun system yet (I actually just got the simulator working last night, tbh). But I have played around with realistic units in this kinda thing before. I'll see if I can give it a shot and post some interesting info tomorrow.
|
| Jul12-11, 02:26 PM | #6 |
|
Mentor
|
|
| Jul12-11, 11:41 PM | #7 |
|
|
Ok - so, is Velocity Verlet, like, the top one of its class (in computational expense), and to do better requires a higher class of integrator (ie. more computationally expensive)?
My instinct would have been to look at RK4 next, but there seem to be some concerns circulating the nets that it loses energy... http://www.gamedev.net/topic/387065-...me-situations/ (I also noted: this person's experiments also found that Velocity Verlet orbits tend to precess) If one were assuming the goals of (1) maintaining energy and stability, and (2) improving accuracy over Velocity Verlet, what integrators might be next in line? How much more computationally expensive are they? I'm interested in any input.(and to the original poster, let me know if you consider this to be hijacking your thread beyond your purposes; I'll apologize and start a new one...) |
| Jul13-11, 11:27 AM | #8 |
|
|
This page on wiki talks about these types of simulations and at the bottom, gives links to some simulation methods.
I am not sure what you are trying to simulate, but if we stick to the sun/earth system for the moment, there is a very important comment to make when dealing with descrete timesteps. Do NOT use the tangent to the line as shown in the Euler example. DO use the proper prior position of your objects from the previous timestep that you MUST calculate by hand. To illustrate this, assuming you choose the mass of the earth and sun to say 6 digits accuracy, you then choose the distance between the earth and sun on some particular day to start at say 6 digits accuracy. Using the tangent to calculate the momentum will result in an orbit that is days out from a proper 365 day orbit (ie, it will not even be within 2 digits accurate even if you did a calculation for every second of the year) and the wiki page illustrates how that error is propagated. If you calculate by hand where the earth and sun would be prior to the first timestep to the same accuracy (6 digits) to get the proper momentum rather then using the tangent value, you will be able to get the orbit to within minutes of being correct, even if you only use hours or days as calculation timesteps. Also note that if you switch from daily calculation timesteps to hourly calculation timesteps, you cannot divide your momentum by 24 and use the same direction, you must recalculate your first prior position (and hence the direction of the momentum of the earth) based on the new timesteps. In summary, the direction of the momentum of the Earth to start is dependent on the timeframe you choose to do your calculations. Using the tangent, does not take this into account. Switching to this method causes the opposite problem compared to what you are seeing. You will not be able to simulate a precessing orbit as all orbits, no matter how you start them or what masses you use, will turn into perfect ellipses (samples here). Hope this post is of some help. |
| Jul13-11, 10:44 PM | #9 |
|
|
Thanks, edguy, for the explanation. I think I follow what you're talking about.
I also came across D_H's post in another thread, which gives a lot of helpful info: http://www.physicsforums.com/showthread.php?t=380098 |
| New Reply |
Similar discussions for: Velocity verlet versus other integration techniques
|
||||
| Thread | Forum | Replies | ||
| Simulating relativity in a velocity verlet algorithm | Special & General Relativity | 4 | ||
| Integration techniques | Calculus & Beyond Homework | 6 | ||
| Velocity Verlet Integration | Classical Physics | 2 | ||