Hello everyone,

I know something similar to what I am about to ask has been asked before (http://lammps.sandia.gov/threads/msg24771.html for anyone who comes across this in the future), but I still can’t seem to figure out whats going on.

I understand that shake historically was used for the verlet algorithm where velocities aren’t calculated explicitly, and that rattle came about to deal with the velocity verlet algorithm. For velocity verlet algorithms, I have always read that integration goes something like.

calculate velocity at mid pt

calculate position at t + deltat

call shake

calculate force

calculate velocity at t + delta

call rattle

however, when I look at lammps, It seems to go

calculate velocity at mid pt

calculate position at t + deltat

calculate force

call shake

calculate velocity at t + delta

I am looking at the shake.f file (sorry I am looking at 2001 fortran version since I know fortran best), and seems to be only an updating of the force and not the velocity as would be done in a rattle. Could someone elaborate for me whats going on here? The fix shake command description doesn’t seem to be telling me what I am looking for.

conor