Page 1 of 1

phonon dispersion projected on each atom

Posted: Tue Jan 26, 2021 2:25 am
by anyipeng
Dear Sir,

How to obtain the phonon dispersion weight of each atom by QE 6.6, to plot the phonon band projections on each atom?

Thanks.

Yipeng

HTU

Re: phonon dispersion projected on each atom

Posted: Tue Jan 26, 2021 3:52 am
by hlee
Dear Yipeng:

To the best of my knowledge, such functionality is not implemented in the phonon code of the Quantum ESPRESSO package (This is the same as in EPW).
You need to code it or modify the code by using, for instance, the projection method.

Sincerely,

H. Lee

Re: phonon dispersion projected on each atom

Posted: Tue Jan 26, 2021 12:11 pm
by anyipeng
Thank you Dr. Lee.

Would anybody like to share a script to achieve this functionality?

Thanks. :oops:

Re: phonon dispersion projected on each atom

Posted: Tue Feb 14, 2023 6:50 pm
by chendix
Hi Yipeng,

The phonon projections on each atom are the eigenvectors of dynamical matrix. These informations could be extracted from matdyn.modes, a normal output from matdyn.x as a result of diagonalization of the dynamical matrix. It reads like this:

Code: Select all

	diagonalizing the dynamical matrix ...
  q = 0.0000 0.0000 0.0000
****************************************************************
	freq (    1) = -0.000000 [THz] = -0.000011 [cm-1]
 ( 0.xxxxxx 0.000000    0.xxxxxx 0.000000    0.xxxxxx 0.000000)
 ...
In this format the frequency is the eigenvalues of dynamical matrix and the modes in brackets () are normalized eigenvectors on x, y and z directions. The first ones are real parts and the second ones are imaginary parts. Each bracket represents an eigenvector projected on an atom. Just square these values and add them up for each bracket would give you the projections on each atom for different branches under k-points.
Phonon fatbands.png
Phonon fatbands.png (155.4 KiB) Viewed 12624 times
Best,
Chendix