Hi again,
Sorry for the wait, but the situation is a bit more complicated than I originally thought. The WAVEDER file contains exactly what is written on the wiki. If that is what you want, meaning the derivative with respect to the Bloch vector, then you can use it. The derivative is already formulated in the PAW formalism, so it contains one-center terms. The only caveat is that the matrix elements corresponding to degenerate states, where \(\varepsilon{n \mathbf{k}} = \varepsilon{n' \mathbf{k}}\), are most likely meaningless. If they do contain values, those values should be ignored.
There are other ways to calculate this matrix in the code but none of them are currently accessible. If you have access to the code and are able to compile it, then you can perform a small modification that allows you to access a plane-text formatted version of the WAVEDER file called the WAVEDERF file, which should be easier to read. In linear_optics.F, there is a commented line
Code: Select all
! CALL WRT_CDER_BETWEEN_STATES_FORMATTED(WDES,W,IO%IU0,IU=55)
that can be uncommented and will then produce the WAVEDERF file.
If the matrix elements of the WAVEDER file is not what you are interested in, for example if you require the derivative with respect to the spatial coordinate, then there is currently no easy way to obtaining this matrix in VASP. We are working on making these matrices more accessible in future versions of the code.
I hope that this brings a bit more clarity to the situation.