D2O VACF question

Dear lammps users,

I hope to calculate a velocity autocorrelation function of D2O to get new phonon density.

And this is my input commends.

velocity all create 1.0 12345689 dist uniform
fix 2 all nve temp 298.0 298.0 100.0

compute RDF all rdf 500 1 1 1 2 2 2
fix 3 all ave/time 2 100 5000 c_RDF[] file d2o.rdf mode vector
compute vac all vacf
fix 4 all ave/time 1 10 100 c_vac[
] mode vector file vacf.dat

neighbor 2.0 bin
neigh_modify delay 0 every 10 check yes
thermo 100
thermo_style custom step temp press vol
thermo_modify norm no flush yes

dump waterdump all atom 5000 298K.1Bar.dump
dump 1 all xyz 100 movie.xyz
dump_modify 1 element H O

timestep 0.1
run 10000

I attached my VACF result.

but I think something is wrong.

I couldn’t find what is wrong with my commends.
I’m looking forward to your advice.

Best regards,


As its doc page states, compute vacf calculates

a single value (for each dimensions) at a point

in time, relative to a time origin. If you plotted

those values at a sequence of times, you should

get something like the VACF vs time curve you

are likely familiar with. But you are simply time-averaging

those values with fix ave/time. Since the VACF decays

pretty quickly, I think that will just give you noise,

esp at long times.