I would like to ask about the method of calculating phonon dispersion relation. Up to my knowledge, there are 2 methods to calculate the phonon dispersion:

 1. By diagonalizing the dynamics matrix. There are an open source
    code that implement this method in many molecular dynamics packages
    such as fix phonon in LAMMPS.

 2. By Fourier transforming the velocity correlation function such
    that the velocity is in the reciprocal space. I want to apply this
    method. I found some papers that list the equations of calculation,
    however, the method is not clear. **I wounder if some of you have
    experience about this topic** .

One of the papers is: "Non-local modeling of epoxy using an atomistically-informed kernel"

They use the following equation to convert the velocity to the reciprocal space:
![Velocity in reciprocal space][1]

My question is about the position $r$ value, we know that the position is vector and has three components $(x, y, z)$, in the equation it is written but not clear if it is converted to a scalar value, and how? or they took the position as the same component of velocity.
Another question is: as we will have three three correlation functions, one for each component $(x, y, z)$, Do they take their average or summation? So we will have one Fourier transform. If not we will have three three Fourier transforms and I don't know how to take the peaks from three Fouriers.

Please if any body have an idea about this topic, it is so helpful for me. Even if you know any code written for this purpose it will be helpful so I can compare it with my code to find the answers of my questions.  


  [1]: https://i.sstatic.net/o13VZ.png