-
Dear developers, These are my convergence plots: After each population I calculated the Hessian (3rd and 4th order). The following shows phonon dispersions interpolated with QE in the Hessian of the two last populations (3rd and 4th order are almost the same, harmonic starting point as dashed line): Now, I'm trying to interpolate the Hessians as described in the PbTe tutorial, but I encounter some problems there: In the first check with same k/q grid, which should return the same Hessians, I find these differences in the frequencies: So, my questions:
Thanks and all the best! P.S.: I updated my SSCHA and CC versions just this week, so I should have the latest release. |
Beta Was this translation helpful? Give feedback.
Replies: 3 comments 14 replies
-
Hi, I tag @rafbianco in the discussion, as he is the main developer of the interpolation part, and I believe he can have more insight than me on why the interpolation is not giving exactly the same result as the hessian method (you need to compare with the one without the 4th order, as up to now we can only interpolate the 3rd order) I can immediately answer why the code is not generating the full dynamical matrices. The reason is that you are computing the interpolation along a path, so the code is explicitly computing and saving only the q points you have expressed (if you use a longer path like the one in which you plotted the dispersion, it would occupy a lot of memory to save all the symmetry equivalent q points). There are two workarounds for that:
CC.Spectral.get_static_correction_interpolated(dyn, tensor3, T, new_supercell, k_grid) Instead of get_static_correction_along_path, where the new_supercell and k_grid are (2,2,2). new_supercell defines the q mesh of the output dynamical matrix, k_grid is the interpolation used to integrate the bubble diagram of the self-energy. This will automatically return a CC.Phonons.Phonons() object that you can save with save_qe("hessian"), and it will generate the full dynamical matrix, with all the q points commensurated. I hope to be of help, |
Beta Was this translation helpful? Give feedback.
-
Dear tveskaeg, thank you for the analysis. Lorenzo has already replied to many of your questions. Regarding the specific point of the mismatch, this should be due to the ASR imposition. This operation inevitably changes the FCs. To double check that, do the test without imposing the ASR. As long as you use the grid commensurate with the SSCHA calculation (2x2x2 in your case) you should obtain the same Hessian frequencies (regardless the centering is applied or not). |
Beta Was this translation helpful? Give feedback.
-
Dear Roman I saw your discussion on the SSCHA forum regarding the interpolation of the Hessian matrix, and it seems that you’ve made great progress, successfully interpolating the Hessian matrix to a higher precision grid. I am currently facing a similar issue, and I was wondering if you could share the script you successfully implemented? Best, |
Beta Was this translation helpful? Give feedback.
Dear tveskaeg,
thank you for the analysis. Lorenzo has already replied to many of your questions. Regarding the specific point of the mismatch, this should be due to the ASR imposition. This operation inevitably changes the FCs. To double check that, do the test without imposing the ASR. As long as you use the grid commensurate with the SSCHA calculation (2x2x2 in your case) you should obtain the same Hessian frequencies (regardless the centering is applied or not).