orthogonality of eigenstates evaluated with IALGO=38 and IALGO=48
Posted: Fri Aug 21, 2020 7:03 am
When I did a conventional LDA calculation on an FCC lattice composed of iron using IALGO=38, (SUBROUTINE EDDAV), I can verify that all the eigenstates are orthogonal to each other within an accuracy as high as 10^(-8). When I tried the same calculation using IALGO=48, (SUBROUTINE EDRMM), my test shows that these eigenstates are not as perfectly orthogonal to each other as coming out of IALGO=38. In some cases, they can be quite off.
More specifically, suppose E_NKS and |PSI_NKS> are the KS eigenvalue and eigenstates out of the LDA Hamiltonian, H, I did the following two checks,
(1) evaluate <PSI_N'K'S|H|PSI_NKS> and check whether it ~ delta_(N',N) delta_(K',K)
(2) compare E_NKS and <PSI_NKS|H|PSI_NKS>.
What I got are the following (TMP poses as a measure of how far off the expected agreements),
(A) If using IALGO=38, the calculation converges well to the expected EDIFF=1.e-6. Both checks pass the test within an error of 10^(-8) on a sequence of randomly selected K points
(B.1) If using IALGO=48, the calculation can converge well, but neither checks pass the test on a sequence of randomly selected K points, as shown below
WARNING: NK= 55 <PSI_N'K'S|H|PSI_NKS> not diagonal, TMP= 0.14162E-05
WARNING: NK= 126 <PSI_N'K'S|H|PSI_NKS> not diagonal, TMP= 0.19116E-04
WARNING: NK= 126 eigenvalue minus diagonal elements gives TMP= 0.10826E-04
WARNING: NK= 192 <PSI_N'K'S|H|PSI_NKS> not diagonal, TMP= 0.18584E-05
WARNING: NK= 264 <PSI_N'K'S|H|PSI_NKS> not diagonal, TMP= 0.15048E-05
WARNING: NK= 306 <PSI_N'K'S|H|PSI_NKS> not diagonal, TMP= 0.59638E-05
WARNING: NK= 306 eigenvalue minus diagonal elements gives TMP= 0.10375E-04
WARNING: NK= 354 <PSI_N'K'S|H|PSI_NKS> not diagonal, TMP= 0.24978E-05
WARNING: NK= 354 eigenvalue minus diagonal elements gives TMP= 0.94314E-06
WARNING: NK= 355 <PSI_N'K'S|H|PSI_NKS> not diagonal, TMP= 0.12503E-05
WARNING: NK= 394 <PSI_N'K'S|H|PSI_NKS> not diagonal, TMP= 0.21147E-05
WARNING: NK= 394 eigenvalue minus diagonal elements gives TMP= 0.37140E-04
WARNING: NK= 444 <PSI_N'K'S|H|PSI_NKS> not diagonal, TMP= 0.18498E-05
WARNING: NK= 444 eigenvalue minus diagonal elements gives TMP= 0.42648E-07
WARNING: NK= 458 <PSI_N'K'S|H|PSI_NKS> not diagonal, TMP= 0.21931E-05
WARNING: NK= 458 eigenvalue minus diagonal elements gives TMP= 0.98272E-07
(B.2) If using IALGO=48 but with RMM failed in some ZHEGV evaluations but still converging to the right energy, neither checks pass the test on a sequence of randomly selected K points with more severe violations of the expected relations, as shown below
WARNING: NK= 281 <PSI_N'K'S|H|PSI_NKS> not diagonal, TMP= 0.99259E-04
WARNING: NK= 281 eigenvalue minus diagonal elements gives TMP= 0.38873E-04
WARNING: NK= 419 <PSI_N'K'S|H|PSI_NKS> not diagonal, TMP= 0.23437E-05
WARNING: NK= 419 eigenvalue minus diagonal elements gives TMP= 0.18006E-05
WARNING: NK= 700 <PSI_N'K'S|H|PSI_NKS> not diagonal, TMP= 0.75541E-05
WARNING: NK= 700 eigenvalue minus diagonal elements gives TMP= 0.25216E-05
WARNING: NK= 721 <PSI_N'K'S|H|PSI_NKS> not diagonal, TMP= 0.56891E-03
WARNING: NK= 721 eigenvalue minus diagonal elements gives TMP= 0.55502E-03
WARNING: NK= 745 <PSI_N'K'S|H|PSI_NKS> not diagonal, TMP= 0.41127E-04
WARNING: NK= 745 eigenvalue minus diagonal elements gives TMP= 0.10832E-04
WARNING: NK= 872 <PSI_N'K'S|H|PSI_NKS> not diagonal, TMP= 0.11980E-04
WARNING: NK= 872 eigenvalue minus diagonal elements gives TMP= 0.38447E-04
WARNING: NK= 971 <PSI_N'K'S|H|PSI_NKS> not diagonal, TMP= 0.11135E-04
WARNING: NK= 971 eigenvalue minus diagonal elements gives TMP= 0.76651E-04
WARNING: NK= 1179 <PSI_N'K'S|H|PSI_NKS> not diagonal, TMP= 0.10313E-04
WARNING: NK= 1179 eigenvalue minus diagonal elements gives TMP= 0.11447E-03
WARNING: NK= 1229 <PSI_N'K'S|H|PSI_NKS> not diagonal, TMP= 0.14712E-04
WARNING: NK= 1229 eigenvalue minus diagonal elements gives TMP= 0.19513E-04
WARNING: NK= 1487 <PSI_N'K'S|H|PSI_NKS> not diagonal, TMP= 0.47975E-05
WARNING: NK= 1487 eigenvalue minus diagonal elements gives TMP= 0.81306E-06
Is my observation correct? Why would RMM converge worse than DAV? How should I trust the resulting eigenstates out of the RMM calculation given their poor orthogonalization, and deviation between the eigenvalues and the expectation value of H evaluated with the eigenstates?
A related question is, how might the error message of "WARNING in EDDRMM: call to ZHEGV failed, returncode = 6 3 12" affect the overall convergence of the iteration? In the case given here, it finally converges to the correct energy, but I met with cases which failed to converge to the correct energy. So, how should I trust the calculation if it brings up this error message?
The VASP version I am using is vasp.5.3.5. The POTCAR is from paw.5.2/lda/Fe
More specifically, suppose E_NKS and |PSI_NKS> are the KS eigenvalue and eigenstates out of the LDA Hamiltonian, H, I did the following two checks,
(1) evaluate <PSI_N'K'S|H|PSI_NKS> and check whether it ~ delta_(N',N) delta_(K',K)
(2) compare E_NKS and <PSI_NKS|H|PSI_NKS>.
What I got are the following (TMP poses as a measure of how far off the expected agreements),
(A) If using IALGO=38, the calculation converges well to the expected EDIFF=1.e-6. Both checks pass the test within an error of 10^(-8) on a sequence of randomly selected K points
(B.1) If using IALGO=48, the calculation can converge well, but neither checks pass the test on a sequence of randomly selected K points, as shown below
WARNING: NK= 55 <PSI_N'K'S|H|PSI_NKS> not diagonal, TMP= 0.14162E-05
WARNING: NK= 126 <PSI_N'K'S|H|PSI_NKS> not diagonal, TMP= 0.19116E-04
WARNING: NK= 126 eigenvalue minus diagonal elements gives TMP= 0.10826E-04
WARNING: NK= 192 <PSI_N'K'S|H|PSI_NKS> not diagonal, TMP= 0.18584E-05
WARNING: NK= 264 <PSI_N'K'S|H|PSI_NKS> not diagonal, TMP= 0.15048E-05
WARNING: NK= 306 <PSI_N'K'S|H|PSI_NKS> not diagonal, TMP= 0.59638E-05
WARNING: NK= 306 eigenvalue minus diagonal elements gives TMP= 0.10375E-04
WARNING: NK= 354 <PSI_N'K'S|H|PSI_NKS> not diagonal, TMP= 0.24978E-05
WARNING: NK= 354 eigenvalue minus diagonal elements gives TMP= 0.94314E-06
WARNING: NK= 355 <PSI_N'K'S|H|PSI_NKS> not diagonal, TMP= 0.12503E-05
WARNING: NK= 394 <PSI_N'K'S|H|PSI_NKS> not diagonal, TMP= 0.21147E-05
WARNING: NK= 394 eigenvalue minus diagonal elements gives TMP= 0.37140E-04
WARNING: NK= 444 <PSI_N'K'S|H|PSI_NKS> not diagonal, TMP= 0.18498E-05
WARNING: NK= 444 eigenvalue minus diagonal elements gives TMP= 0.42648E-07
WARNING: NK= 458 <PSI_N'K'S|H|PSI_NKS> not diagonal, TMP= 0.21931E-05
WARNING: NK= 458 eigenvalue minus diagonal elements gives TMP= 0.98272E-07
(B.2) If using IALGO=48 but with RMM failed in some ZHEGV evaluations but still converging to the right energy, neither checks pass the test on a sequence of randomly selected K points with more severe violations of the expected relations, as shown below
WARNING: NK= 281 <PSI_N'K'S|H|PSI_NKS> not diagonal, TMP= 0.99259E-04
WARNING: NK= 281 eigenvalue minus diagonal elements gives TMP= 0.38873E-04
WARNING: NK= 419 <PSI_N'K'S|H|PSI_NKS> not diagonal, TMP= 0.23437E-05
WARNING: NK= 419 eigenvalue minus diagonal elements gives TMP= 0.18006E-05
WARNING: NK= 700 <PSI_N'K'S|H|PSI_NKS> not diagonal, TMP= 0.75541E-05
WARNING: NK= 700 eigenvalue minus diagonal elements gives TMP= 0.25216E-05
WARNING: NK= 721 <PSI_N'K'S|H|PSI_NKS> not diagonal, TMP= 0.56891E-03
WARNING: NK= 721 eigenvalue minus diagonal elements gives TMP= 0.55502E-03
WARNING: NK= 745 <PSI_N'K'S|H|PSI_NKS> not diagonal, TMP= 0.41127E-04
WARNING: NK= 745 eigenvalue minus diagonal elements gives TMP= 0.10832E-04
WARNING: NK= 872 <PSI_N'K'S|H|PSI_NKS> not diagonal, TMP= 0.11980E-04
WARNING: NK= 872 eigenvalue minus diagonal elements gives TMP= 0.38447E-04
WARNING: NK= 971 <PSI_N'K'S|H|PSI_NKS> not diagonal, TMP= 0.11135E-04
WARNING: NK= 971 eigenvalue minus diagonal elements gives TMP= 0.76651E-04
WARNING: NK= 1179 <PSI_N'K'S|H|PSI_NKS> not diagonal, TMP= 0.10313E-04
WARNING: NK= 1179 eigenvalue minus diagonal elements gives TMP= 0.11447E-03
WARNING: NK= 1229 <PSI_N'K'S|H|PSI_NKS> not diagonal, TMP= 0.14712E-04
WARNING: NK= 1229 eigenvalue minus diagonal elements gives TMP= 0.19513E-04
WARNING: NK= 1487 <PSI_N'K'S|H|PSI_NKS> not diagonal, TMP= 0.47975E-05
WARNING: NK= 1487 eigenvalue minus diagonal elements gives TMP= 0.81306E-06
Is my observation correct? Why would RMM converge worse than DAV? How should I trust the resulting eigenstates out of the RMM calculation given their poor orthogonalization, and deviation between the eigenvalues and the expectation value of H evaluated with the eigenstates?
A related question is, how might the error message of "WARNING in EDDRMM: call to ZHEGV failed, returncode = 6 3 12" affect the overall convergence of the iteration? In the case given here, it finally converges to the correct energy, but I met with cases which failed to converge to the correct energy. So, how should I trust the calculation if it brings up this error message?
The VASP version I am using is vasp.5.3.5. The POTCAR is from paw.5.2/lda/Fe