Judging insulating when using HSE06 functional
Posted: Thu Aug 12, 2010 9:23 pm
Hello, all,
I am trying to do berry phase calculation (LCALCPOL=.TRUE.) combined with HSE06 functional. I got a gap in DOS and a gap, but the program complains it is not insulating.
In source code, the way it judges if the system is insulating or not is checking the order number of highest occupied eigenvalue. But if we do hybrid functional calculation, the eigenvalues are not listed in the order of from lower energy to high energy. For example,
97 5.6463 1.00000
98 5.9726 1.00000
99 7.2118 1.00000
100 9.6729 0.00000
101 7.4302 1.00000
102 9.3828 0.00000
103 10.4377 0.00000
highest occupied eigenvalue is supposed to be 100, however, VASP will take 99 because 100th eigenvalue is not occupied. I think it will work if we sort the order of eigenvalues, but I do not know how to do it right now. Any suggestions? Thanks.
I am trying to do berry phase calculation (LCALCPOL=.TRUE.) combined with HSE06 functional. I got a gap in DOS and a gap, but the program complains it is not insulating.
In source code, the way it judges if the system is insulating or not is checking the order number of highest occupied eigenvalue. But if we do hybrid functional calculation, the eigenvalues are not listed in the order of from lower energy to high energy. For example,
97 5.6463 1.00000
98 5.9726 1.00000
99 7.2118 1.00000
100 9.6729 0.00000
101 7.4302 1.00000
102 9.3828 0.00000
103 10.4377 0.00000
highest occupied eigenvalue is supposed to be 100, however, VASP will take 99 because 100th eigenvalue is not occupied. I think it will work if we sort the order of eigenvalues, but I do not know how to do it right now. Any suggestions? Thanks.