ExpHP / rsp2

phonons in rust
Apache License 2.0
2 stars 1 forks source link

Incorrect handling of masses in eigenvectors (eigenvectors != displacements!!) #62

Closed ExpHP closed 6 years ago

ExpHP commented 6 years ago

The entirety of rsp2 was written assuming that the eigenvectors of the dynamical matrix are the same as their displacement directions, but this is not actually true; it turns out that the mass normalization in the dynamical matrix is also reflected in the eigenvectors.

To obtain the true mode displacement directions, one must divide each 3-vector by its corresponding sqrt(mass).

https://atztogo.github.io/phonopy/formulation.html#id7

This went unnoticed as all structures I work with are pure carbon.

ExpHP commented 6 years ago

Working it out on paper it seems there is no guarantee that the displacements are orthogonal. I am confused/worried because I think my code may rely on this assumption.

ExpHP commented 6 years ago

Fixed on mpi branch