Skip to content

Velocity autocorrelation and its power spectrum

In order to get the power spectrum of velocity autocorrelation from the MD simulation result, firstly we have to think how long the MD simulation has to be run. In case of Si, its phonon DOS exists up to about 20 THz which is the inverse of time interval of sampling data. And the frequency resolution is the inverse of simulation time. So the time interval between successive sampling data should be about 20 fs (which corresponds to 25 THz since the half of data will be omitted because of the symmetry.) And the simulation time should be 10,000 fs which corresponds to the frequency resolution 0.1 THz. Thus, one has to make about 500 atomic configuration (pmd or dump format) files for the power spectrum calculation.

To get the velocity autocorrelation and power specturm, you can use vel_auto_corr.py in nappy directory.

python /path/to/nap/nappy/vel_auto_corr.py -t 20.0 -m 5 -s 50 pmd_*
  • -t --- the time interval between successive files.
  • -m 5 -s 50 --- the number of staggered shifts and amount of shits of initial time for sampling.

Then you get dat.autocorr and dat.power files. dat.autocorr includes velocity autocorrelation functions of all the species and sum of them dat.power also includes power spectrums of all the species and sum of them.

If this power spectrum graph seems too spiky, you can smear it by using gaussian_smear.py as,

python /path/to/nap/nappy/gaussian_smear.py -x 1 -y 5 -s 2.0 dat.power

Then you get dat.power.smeared file which contains only 2 columns of blurred data of 1st and 5th columns of dat.power. The vel_auto_corr.py can also do the Gaussian smoothing by giving a option such as, --sigma 2.

The figure below is an example of power spectrum of diamond Si that is comparable to phonon-DOS computed from the phonon calculation.

image