[Pw_forum] Non-orthogonal modes with dynmat.x at gamma point

Florian Altvater altvater at berkeley.edu
Thu Aug 28 10:50:57 CEST 2014


Thanks for your fast response. Even though I am not using matdyn.x,
which is well documented, but dynmat.x, which lacks this info about
eigenvectors vs. eigendisplacement, your answer revealed my mistake. I
had already tried to multiply the vectors with the masses, as I
suspected they might be eigendisplacements, but it still didn't give me
orthogonal eigenvectors. Simply because I forgot to take the square root
of the masses first. That fixed it.

Nevertheless it would be nice if the documentation could be a little
clearer for dynmat.x, to specify that it prints non-orthogonal phonon
displacements, like matdyn.x for flvec (in contrast to fleig). Currently
it just states that it diagonalizes the dynamical matrix (which I assume
results in orthogonal mode vectors), and prints out frequencies and
modes to filout (dynmat.out).

Thanks again, Sridhar!
Flo

On Wed, Aug 27, 2014 at 7:27 PM, Sridhar Sadasivam <sridhu88 at gmail.com>
wrote:
> If you are talking about the vectors printed in the matdyn.modes file, then
> yes they are not orthogonal as those are actually eigendisplacements and
> not the eigenvectors of the dynamical matrix. But if you multiply the
> eigendisplacements of each atom by the square root of the corresponding
> atomic mass, then the resulting eigenvectors will be orthogonal.
>
> Hope that helps.
> Sridhar
>
>
> On Wed, Aug 27, 2014 at 8:53 PM, Florian Altvater <altvater at berkeley.edu <http://pwscf.org/mailman/listinfo/pw_forum>>
> wrote:
>
> >/ Hi,
> />/ I calculated the phonons for an isolated naphthalene molecule as well as
> />/ naphthalene crystal at q = (0,0,0). After diagonalizing the dynamical
> />/ matrix with dynmat.x and enforcing the appropriate acoustic sum rule -
> />/ "zero-dim" and "crystal" respectively - I get 6 and 3 acoustic modes
> />/ with frequencies of 0 cm^-1. So far so good.
> />/
> />/ If I use the displacements printed to dynmat.out (filout) and calculate
> />/ the various scalar products of the modes, i.e. c_ij = m_i . m_j, I find
> />/ that they are normalized but not orthogonal (c_ij != 0 for some i != j).
> />/ Some of the overlaps c_ij are as high as 0.75, so it is not just
> />/ numerical noise. By trying to find more information in the source files,
> />/ I discovered that matdyn.x prints two files, flvec and fleig, where
> />/ flvec prints non-orthogonal normalized vectors. So I thought that this
> />/ could be the issue, as it is not clearly stated if dynmat prints
> />/ eigenvectors or normalized modes like flvec. However, multiplying with
> />/ the masses didn't help either.
> />/
> />/ Is dynmat.x not printing eigenvectors? If it is/should, what could be
> />/ the problem here? How would I debug the problem?
> />/
> />/ Thanks so much for you help!
> />/ Flo
> />/ _______________________________________________
> />/ Pw_forum mailing list
> />/ Pw_forum at pwscf.org <http://pwscf.org/mailman/listinfo/pw_forum>
> />/ http://pwscf.org/mailman/listinfo/pw_forum
> />

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quantum-espresso.org/pipermail/users/attachments/20140828/222c49d6/attachment.html>


More information about the users mailing list