VACF

LAMMPS users,

I am trying to generate a VACF using the new compute added a few months ago. However, when I try referencing the compute in a thermo_style custom command, I just get 0 every timestep. Am I not implementing this correctly? I was expecting to see oscillations.

compute 10 all vacf
thermo 2000
thermo_style custom time temp c_10[1] c_10[4]
thermo_modify norm yes

fix 1 all npt temp 300 300 0.05 x 1.01325 1.01325 5.0 y 1.01325 1.01325 5.0 z 1.01325 1.01325 5.0
run 500000
unfix 1

Ben

Works for me when I add compute vacf to the in.melt example using the
current version.

Ray

Also, if you output the VACF once every 2000 timesteps
you won’t see oscillations, you’ll just see small noise
around 0.0. It typically decays much more rapidly than that.

Steve

Even when outputting it every timestep, I still get 0. I have tried running nve, nvt, and npt with Tersoff potential. I get 0 on every timestep.

Should you not try to debug this step-by-step by yourself? You are
not providing any useful information anyway.

Check your version and installation. Add compute vacf to the simplest
in.melt example and see if it works. If it does, play around with
steps, then change lj/cut to Tersoff, then play around with steps,
then apply it to your strcuture and script.

Ray

I have found the problem but do not fully understand why. I did not have the velocity command in my script. What is the optimal way to get a vacf? Use velocity command within random seed #, and run fix nve? If I run velocity command and then fix nvt or npt, will the results actually be credible?

Ben

I have found the problem but do not fully understand why.

carelessness? ignorance?

I did not have the velocity command in my script. What is the optimal way to get a vacf?

the *only* way to get a proper VACF is to take a well equilibrated
system and *then* measure/compute the VACF.
how is it possible to not notice that your system is far from the
target state and, in fact, not really moving? don't you check your log
files? don't you visualize your trajectories??

Use velocity command within random seed #, and run fix nve? If I run velocity
command and then fix nvt or npt, will the results actually be credible?

neither, if your system is not properly equilibrated. it all depends
on the state of the system, that you want to study. for any large
enough system, the differences will be small relative to the
statistical error in the VACF, anyway. the fact that you ask these
questions, indicate that you should spend more time on studying basic
MD methodology and understanding ensembles and computing properties
from trajectories correctly. there are multiple very good text books
around. perhaps the one you are using is not detailed/thorough enough
and you should try a different one.

axel.