I was just looking at the source code for fix_nve. In this file, there are actually integrating the acceleration and velocities twice for every timestep using names intial_integrate and final_integrate. I was wondering why it’s been done twice… Can you please explain this??

I was just looking at the source code for fix_nve. In
this file, there are actually integrating the acceleration and
velocities twice for every timestep using names intial_integrate and
final_integrate. I was wondering why it's been done twice.. Can you
please explain this??

this is how the velocity verlet algorithm works.
you have two "half" steps on the positions.