Velocity Autocorrelation function C(t)

In this example, we show how to obtain the velocity autocorrelation function from the atoms trajectories. Consider sample with Cu and Zr atoms, whose positions and velocities are written in a file called myfile.dump , in LAMMPS format, for each time step of a simulation. We can obtain VACF with the following command:

FROM THE COMMAND LINE
lpmd-analyzer -i lammps:myfile.dump,species=Cu-Zr -r -u vacf:dt=1.0,output=vacf.dat -c minimumimage:cutoff=8.0
FROM CONTROL FILE
set replacecell true
input module=lammps file=myfile.dump species=Cu-Zr

use minimumimage
    cutoff 8.0
enduse
use vacf
    output vacf.dat
    dt 1.0
enduse

property vacf
    • -i = Determines the plugin to be used as an input. Possible input plugins are crystal3d (crystal strcuture generator) or file formats, such as xyz, lpmd, lammps, vasp, pdb, and any other available. It is the equivalent of module in the control file.
    • -r = Read the cell vectors from the input file. This option is the equivalent to set replacecell true in the control file, and replaces the previously discussed -L (see Create/modify samples).
    • vacf = This is the name of the plugin that calculates C(t). Check the parameters it receive using lpmd -p vacf.
      • dt = If velocities ARE NOT AVAILABLE in the input file, you can specify here the time differenence between consecutive configurations, in femto-seconds, to calculate an approximate instantaneous velocity.
      • output = File in which C(t) will be written (in this case, vacf.dat).
    • -c = Choose the cell manager method to handle atom neighbors. This  is mandatory when lpmd-analyzer is used, even if you don’t use periodic boundary conditions.
      • minimumimage = This is one of the most common ways to handle neighbors counting in molecular dynamics. You can read more about it in this link,. Another option is the linkedcell method.