News for hackers. Stuff that matters.
Re:Newtonian Gravity with Velocity Verlet and OpenGL (2016) by mrspeaker on Thursday March 14, 2019 @05:26PM (#19393951)
What are the tiny details?!
Re:Newtonian Gravity with Velocity Verlet and OpenGL (2016) by jules on Thursday March 14, 2019 @06:22PM (#19394450)
In Leapfrog we iterate

   v <- v + a(x)dt
   x <- x + vdt
With Euler initialisation this is equivalent to:

   v <- v + a(x)dt/2
   x <- x + vdt
   v <- v + a(x)dt/2
(consider a sequence of steps: we'll have two v <- v + a(x)dt/2 updates next to each other, which gives v <- v + a(x)dt)

This is exactly the same as velocity verlet, if you substitute the value for v computed in the first update into the next two equations:

   x <- x + (v + a(x)dt/2)dt
   v <- (v + a(x_prev)dt/2) + a(x)dt/2
Re:Newtonian Gravity with Velocity Verlet and OpenGL (2016) by aroman_ro on Thursday March 14, 2019 @06:17PM (#19394405)
The biggest is that in real molecular dynamics simulation you need the position and velocity at the same time. If you want to calculate the total energy, for example, you need both positions and velocity at one time moment. It's not a big deal for a simple project to simply average the 'before' and 'after' velocities... but again, those are tiny details. There is the initial state issue, again, a tiny detail. You may find more...
Re:Newtonian Gravity with Velocity Verlet and OpenGL (2016) by jules on Thursday March 14, 2019 @06:54PM (#19394711)
With leapfrog you can use x + v dt/2 for the positions to calculate the energy. Or use this update rule:

    x += v*dt/2
    v += a(x)*dt
    x += v*dt/2
This gives you the x,v at the same time, yet still doesn't require storing the accelerations. The acceleration calculation can imperatively update v :)

In fact, if you call that update leapfrog(dt), then you can get a fourth order symplectic method like so:

    leapfrog(c1*dt)
    leapfrog(c2*dt)
    leapfrog(c1*dt)
Where c1,c2 are particular coefficients which you have to ask Yoshida.
Re:Newtonian Gravity with Velocity Verlet and OpenGL (2016) by aroman_ro on Thursday March 14, 2019 @07:42PM (#19395048)
As I said, tiny details :)