Quantcast
Viewing latest article 1
Browse Latest Browse All 137

Question about VACF from MD simulation

I have several LAMMPS NVT MD simulations at several different constant temperatures, for some crystals and amorphous materials, all of them are 3D periodic bulk system. All of them have 10k iterations. My goal is to get VACF and then VDOS.

I get time vs VACF curve using my code. I used the equation:$$c(t)=\frac{1}{N+1}\sum_{t_{0}=0}^{N}v(t+t_{0})\cdot v(t_{0})$$where N = total number of XYZ trajectory frames - t/dt, from following referenecs:
https://physics.stackexchange.com/questions/566473/how-to-calculate-the-velocity-autocorrelation-function-in-a-molecular-dynamics-sandCalculating Velocity autocorrelation function for Binary Diffusion Coefficient

From there, I can get normalized VACF by c(t)/c(0).

But I found that other references for different c(t) description. Wang et al., 2021, omput Phys Commun. used:
$$ c(t)=\frac{\sum_{i=1}^{N}\left<v_{i}(t)\cdot v_{i}(0) \right>}{\sum_{i=1}^{N}(v_{i}(0))^2}$$This is normalized c(t) description, but I think this expression is little strange.

And also I find following from Haberlandt et al., Chapter 10. Simulation of Microporous Systems: Confined Fluids in Equilibrium and Diffusion in Zeolites, Handbook of Surfaces and Interfaces of Materials$$c(t)=\frac{1}{M}\sum_{M}^{\nu =1}\frac{1}{N}\sum_{i=1}^{N}v_{i}(t_{\nu })\cdot v_{i}(t_{\nu }-\triangle t)$$I normalized this by c(t)/c(0)

I tried them all, and compared normalized VACF, then I found all VACF vs. time curves are different... I thought they all should be the same, but I couldn't figure out why they are different. Am I doing something wrong with my script?

==============

Also, @dwhswenson commented from Calculating Velocity autocorrelation function for Binary Diffusion Coefficient

Frequently, an ACF is only calculated for a very small fraction of thetotal trajectory length.

I also find my VACF become noisy as time increases.

I have 10k+ frames of xyz trajectories, and I will apply Fourier TF to VACF to get VDOS. So I thought it would be better to use all VACF-time data. But if these noises bring error to VDOS, then I may need to cut.

So, I wonder, typically what fraction of trajectory should be used for VACF from which part of the MD? First 30% from 0 iteration (very first iteration) would be a good choice?

Thanks


Viewing latest article 1
Browse Latest Browse All 137

Trending Articles