WAVEDER with and without PEAD

Queries about input and output files, running specific calculations, etc.


Moderators: Global Moderator, Moderator

Post Reply
Message
Author
xiaoming_wang
Jr. Member
Jr. Member
Posts: 71
Joined: Tue Nov 12, 2019 4:34 am

WAVEDER with and without PEAD

#1 Post by xiaoming_wang » Sun Jan 19, 2025 6:52 am

Hello,

As WAVEDER (off-diagonal matrix elements of position operator) can be obtained by setting LOPTICS=True both with and without LPEAD for insulators, the norms of the matrix elements between conduction bands and valence bands are quite similar for the two methods. However, there is significant difference for the matrix elements between degenerate bands, e.g., two degenerate valence bands. I was wondering which method (with or without LPEAD) is more accurate for degenerate bands.

Best,
Xiaoming Wang


ahampel
Global Moderator
Global Moderator
Posts: 53
Joined: Tue Feb 16, 2016 11:41 am

Re: WAVEDER with and without PEAD

#2 Post by ahampel » Mon Jan 20, 2025 2:19 pm

Dear Xiaoming,

could you maybe clarify if you mean that with LPEAD=True you receive very different matrix elements for the two degenerate bands, or between LPEAD=True and LPEAD=False the results are very different? Assuming you mean with LPEAD=True you find very different matrix elements for the two deg bands, could you please provide an outputfile and point me to the relevant part?

In general calculating the WAVEDER for degenerate bands is tricky and inside of VASP, as far as I understand, it cannot be guaranteed that for degenerate bands you find symmetry correct matrix elements, since the state from which the derivate is formed is not pure, it is whatever KS orbital VASP found. But we can have a look at your specific example.

Best,
Alex


xiaoming_wang
Jr. Member
Jr. Member
Posts: 71
Joined: Tue Nov 12, 2019 4:34 am

Re: WAVEDER with and without PEAD

#3 Post by xiaoming_wang » Mon Jan 20, 2025 3:11 pm

Thanks Alex for your information.

I mean the matrix elements between degenerate bands for LPEAD=True and LPEAD=False are different.

For LPEAD=False, as in the first equation here https://www.vasp.at/wiki/index.php/LPEAD, how does vasp deal with the degenerate case (I mean <n'k | d_k nk> where n' and n are degenerate)? In this case, the denominator is zero.

For LPEAD=True as in the third equation, there seems to be no need of special treatment for degenerate bands.

Best,
Xiaoming


xiaoming_wang
Jr. Member
Jr. Member
Posts: 71
Joined: Tue Nov 12, 2019 4:34 am

Re: WAVEDER with and without PEAD

#4 Post by xiaoming_wang » Tue Jan 21, 2025 1:19 am

Hello,

After carefully examining the matrix elements for LPEAD=True and LPEAD=False, it seems that for the matrix elements between the conduction bands and valence bands ( i.e., <c|r|v>), the two methods give consistent results. But for the matrix elements within the valence bands (<v'|r|v>), the results are quite different. Any hint on what's going on?

Best,
Xiaoming


ahampel
Global Moderator
Global Moderator
Posts: 53
Joined: Tue Feb 16, 2016 11:41 am

Re: WAVEDER with and without PEAD

#5 Post by ahampel » Tue Jan 21, 2025 1:18 pm

Hi Xiaoming,

I discussed with the other developer team members and the empiric finding is that usually the dielectric response usually convergences faster (with respect to kpoints) with LPEAD=True. However, convergences can be rather slow. Now, regarding your question. Let me first stress that the equation on the https://www.vasp.at/wiki/index.php/WAVEDER page is wrong in the sense that what is stored is only the derivative. There is no division by e_n - e_m done for the output. This is for the simple reason you already said. We will update the wiki page to reflect this.

For LPEAD=True the matrix elements are inherently differently calculated than for LPEAD=False. When LPEAD is turned on finite differences are used, compared to an analytic expression, to find the derivative as explained on the wiki page. For metallic systems the PEAD routines do not work. It is not directly clear to me why the difference is especially pronounced between valence states, but it is clear that they will only agree for very converged calculations. Note, these methods are very sensitive with respect to the number of empty states you included in the calculation. Did you manually increased NBANDS to include many unoccupied states and converged them appropriately before calling the optics routines? Maybe this explains the stark differences.


xiaoming_wang
Jr. Member
Jr. Member
Posts: 71
Joined: Tue Nov 12, 2019 4:34 am

Re: WAVEDER with and without PEAD

#6 Post by xiaoming_wang » Tue Jan 21, 2025 2:59 pm

Yes, I included four times the number of valence bands and the matrix elements are converged.
I think I figured out the issue. For PEAD=True, by construction the derivative is orthogonal to the occupied states, so the matrix elements between valence bands are almost zero. In this method, only the matrix elements between valence and conduction bands are correct.


Post Reply