Dear all,
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
.
Thanks for help.
Lin
Dear all,
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
LAMMPS does what the documentation of the ave/correlate fix says it does.
http://lammps.sandia.gov/doc/fix_ave_correlate.html
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.
axel.
Compute vacf and fix ave/correlate are 2 different things. Compute vacf works
as you indicated, I believe it also computes the time 0 term, assuming
you output it.
Fix ave/correlate performs a formula like you outline, with a series of
different time origins. However it only works on scalar inputs. What
you are asking for with VACF is a vector input (one value per atom).
LAMMPS does not currently do this, partly b/c it could require carrying
along a huge amount of data with the atoms (big series of previous time
values). So it is better to post-process that kind of multi-time-window
averaging.
You can also look at the new fix ave/correlate/long command. Possibly
that could be extended to work with vectors with smaller memory
overhead.
Steve
1 Like