There are several different expressions of velocity autocorrelation function. One is :

velocity is a function of time v = v(t)

My understanding is that lammps calculate it as :

So, If I want to achieve the first definition, I should do several compute vacf starting at different time step and then average them.
Is this understanding correct?

Does lammps output the veloctiy autocorrelation function at time 0 ? That is , is the first output of compute vacf with 1 time step
.

There are several different expressions of velocity autocorrelation
function. One is :

velocity is a function of time v = v(t)

My understanding is that lammps calculate it as :

So, If I want to achieve the first definition, I should do several
compute vacf starting at different time step and then average them.
Is this understanding correct?

Does lammps output the veloctiy autocorrelation function at time 0 ? That
is , is the first output of compute vacf with 1 time step

please note that you'd be averaging over individual time origins as well,
you'll averaging over *very* highly correlated data and thus will gain very
little additional information at the expense of a log of additional
computation. the fact that you'd need to buffer the velocity history for
all atoms, makes this quite demanding in terms of memory use.