I have been attempting for some time to evaluate the binary Diffusion coefficient of argon in a gas mixture with neon. From the literature, this property can be measured using the velocity autocorrelation function as stated from this equation.

enter image description here

From my understanding, this variation of the VACF uses the total velocity of the Argon atoms. In other words, the autocorrelation is done on the sum of all-atom velocities rather than evaluating the VACF for each individual atom. But so far I have not been able to compute an appropriate autocorrelation curve.

My method thus far has been to compute the sum of velocities for all argon atoms at each timestep and auto-correlate this data using the following algorithm:

enter image description here

The product of this method has been a quick descending curve, but rather than fluctuating around zero as t increases large fluctuations arise towards the end of the curve.

I would like to know if anyone has any resources or information on how to properly calculate this version of the VACF that would be kind to share.

Thank You!


  • $\begingroup$ Over what fraction of your total trajectory time are you reporting the VACF? That is, what is the maximum value of $t$ (in frames) where you're calculating $C_{VV}$, and how does it compare to $N$ (the total number of frames in your trajectory)? $\endgroup$
    – dwhswenson
    Commented Mar 22, 2021 at 11:48

1 Answer 1


It sounds like you're trying to calculate the autocorrelation function at all times from your trajectory. If you have a trajectory with $N$ frames, you won't have good statistics in an ACF for all frames.

The reason the ACF decays to zero is because nonzero values from many decorrelated (essentially random) contributions average to zero. Looking at your second equation, note that for $t=1$, you'll have $N-1$ contributions to calculate $C_{VV}(1)$: product of velocities at times $(0, 1)$, at times $(1, 2)$, etc. However, for $C_{VV}(N)$ there is only one contribution: $(0, N)$. This is probably the source of the noise, and this is expected. Frequently, an ACF is only calculated for a very small fraction of the total trajectory length.

Note that this is an aspect of correlation functions in general; this is not specific to the problem of binary diffusion.

By the way, the computational cost of the algorithm you're using scales as the number of frames times the number of points that you calculate the ACF for. If you're calculating the ACF for many points, this can be expensive, and you might be interested in the fast Fourier transform approach. Allen & Tildesley's book "Computer Simulation of Liquids" has a great description of it (in fact, I think the whole discussion of correlation functions in that book is excellent).


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .