Hello,
At vanishing momentum, the G=0 term in the electronhole exchange integral is removed for the BSE calculations as implemented in VASP [PRB 92, 045209 (2015)]. However, this term is important to investigate the longitudinaltransverse splitting. I'm wondering if it is possible to add the G=0 term?
Best,
Xiaoming Wang
G=0 term in BSE kernel
Moderators: Global Moderator, Moderator

 Global Moderator
 Posts: 7
 Joined: Tue Nov 05, 2019 2:49 pm
Re: G=0 term in BSE kernel
Hello,
As alluded to in the quoted paper [PRB 92, 045209 (2015)], the G=0 is
) removed when solving the BSE (see around Equ (52) in the referenced paper). However, when calculating the dielectric function or calculating the binding energies, the G=0 term is added back in exactly [see Equ. (54) and (55)].
) To the best of my knowledge, all BSE codes use this approach. This is discussed in detail in G. Onida, L. Reining, and A. Rubio, Rev. Mod. Phys. 74, 601 (2002). This approach has the advantage to significantly reduce errors related to the TDA as discussed in our paper PRB 92, 045209 (2015).
) Side comment: This affects the RPA or bubble diagrams. Confusingly, literature sometimes refers to these terms as exchange integrals, although they are related to the second derivatives of the Hartreeenergy.
) For the second derivatives of the Fockexchange like interactions (electronhole ladder diagrams), VASP always accounts for the G=0 term.
Sincerely,
Georg Kresse
As alluded to in the quoted paper [PRB 92, 045209 (2015)], the G=0 is
) removed when solving the BSE (see around Equ (52) in the referenced paper). However, when calculating the dielectric function or calculating the binding energies, the G=0 term is added back in exactly [see Equ. (54) and (55)].
) To the best of my knowledge, all BSE codes use this approach. This is discussed in detail in G. Onida, L. Reining, and A. Rubio, Rev. Mod. Phys. 74, 601 (2002). This approach has the advantage to significantly reduce errors related to the TDA as discussed in our paper PRB 92, 045209 (2015).
) Side comment: This affects the RPA or bubble diagrams. Confusingly, literature sometimes refers to these terms as exchange integrals, although they are related to the second derivatives of the Hartreeenergy.
) For the second derivatives of the Fockexchange like interactions (electronhole ladder diagrams), VASP always accounts for the G=0 term.
Sincerely,
Georg Kresse

 Newbie
 Posts: 33
 Joined: Tue Nov 12, 2019 4:34 am
Re: G=0 term in BSE kernel
Thanks Prof. Kresse for your clarification.
Indeed, I'm interested in the exciton dispersion, i.e., the BSE itself. Anyway, I managed to add the G=0 term in BSE by activating the subroutine TWOELECTRON4O_ACC_HEAD. With this, the calculated exciton dispersion corresponds to Fig 2b of PRB 95, 035125 (2017). I compared the dispersion obtained from vasp and yambo. They agree with each other very well, i.e. almost exact match.
Also, I'd like to compare the dispersion with G=0 removed from all the finite Q BSE calculations, i.e., Fig 2a of the quoted paper. Since vasp remove the G=0 term only for Q=0 by default, I changed the condition
in the subroutine SET_GFAC_VKPT of fock.F to
which is supposed to remove the G=0 term in TWOELECTRON4O_ACC_HARTREE for all the BSE calculations. However, the calculated dispersion deviates from the one of yambo significantly for some Q points, although the overall line shape is still good. So, I'm wondering if my modification is correct to remove the G=0 term in finite Q BSE calculations?
Best,
Xiaoming
Indeed, I'm interested in the exciton dispersion, i.e., the BSE itself. Anyway, I managed to add the G=0 term in BSE by activating the subroutine TWOELECTRON4O_ACC_HEAD. With this, the calculated exciton dispersion corresponds to Fig 2b of PRB 95, 035125 (2017). I compared the dispersion obtained from vasp and yambo. They agree with each other very well, i.e. almost exact match.
Also, I'd like to compare the dispersion with G=0 removed from all the finite Q BSE calculations, i.e., Fig 2a of the quoted paper. Since vasp remove the G=0 term only for Q=0 by default, I changed the condition
Code: Select all
IF (GSQU<KPOINTS_FULL%VKPTMINDIST2/40) THEN
Code: Select all
IF (ABS(GX**2+GY**2+GZ**2)<1.0e12_q) THEN
Best,
Xiaoming

 Global Moderator
 Posts: 7
 Joined: Tue Nov 05, 2019 2:49 pm
Re: G=0 term in BSE kernel
Dear Xiaoming Wang,
To be very clear, when you say
"I managed to add the G=0 term in BSE by activating the subroutine TWOELECTRON4O_ACC_HEAD"
you mean that you reverted back to the standard VASP version, and then you obtained agreement between VASP and yambo. This is great, but not entirely unexpected!
Just keep in mind that you should use
ANTIRES = 2 ! go beyond TDA
when you calculate excitons at q /= 0, in order to get accurate results (as discussed in our PHYSICAL REVIEW B 92, 045209 (2015) page 7).
Concerning the q>0 term for the Coulomb kernel V(q), I can make the following comment. Simply removing the singularity at q=0 will not yield smooth results. I do not understand what they did in yambo. However, my guess is that one needs to multiply the Coulomb kernel with a smooth (exponential) cutoff function that goes faster to zero than 4 pi /q^2 diverges. Honestly, this is a somewhat useless exercise giving no real physical insight, since results will depend on the choice of the cutoff function! Please understand that we can not advise on this issue.
Sincerely,
Georg
To be very clear, when you say
"I managed to add the G=0 term in BSE by activating the subroutine TWOELECTRON4O_ACC_HEAD"
you mean that you reverted back to the standard VASP version, and then you obtained agreement between VASP and yambo. This is great, but not entirely unexpected!
Just keep in mind that you should use
ANTIRES = 2 ! go beyond TDA
when you calculate excitons at q /= 0, in order to get accurate results (as discussed in our PHYSICAL REVIEW B 92, 045209 (2015) page 7).
Concerning the q>0 term for the Coulomb kernel V(q), I can make the following comment. Simply removing the singularity at q=0 will not yield smooth results. I do not understand what they did in yambo. However, my guess is that one needs to multiply the Coulomb kernel with a smooth (exponential) cutoff function that goes faster to zero than 4 pi /q^2 diverges. Honestly, this is a somewhat useless exercise giving no real physical insight, since results will depend on the choice of the cutoff function! Please understand that we can not advise on this issue.
Sincerely,
Georg