Page 1 of 1
G=0 term in BSE kernel
Posted: Wed May 12, 2021 2:17 am
by xiaoming_wang
Hello,
At vanishing momentum, the G=0 term in the electron-hole exchange integral is removed for the BSE calculations as implemented in VASP [PRB 92, 045209 (2015)]. However, this term is important to investigate the longitudinal-transverse splitting. I'm wondering if it is possible to add the G=0 term?
Best,
Xiaoming Wang
Re: G=0 term in BSE kernel
Posted: Mon May 17, 2021 12:26 pm
by kresse_georg
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 Hartree-energy.
) For the second derivatives of the Fock-exchange like interactions (electron-hole ladder diagrams), VASP always accounts for the G=0 term.
Sincerely,
Georg Kresse
Re: G=0 term in BSE kernel
Posted: Wed Jul 07, 2021 3:22 pm
by xiaoming_wang
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
Code: Select all
IF (GSQU<KPOINTS_FULL%VKPTMINDIST2/40) THEN
in the subroutine SET_GFAC_VKPT of fock.F to
Code: Select all
IF (ABS(GX**2+GY**2+GZ**2)<1.0e-12_q) THEN
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
Re: G=0 term in BSE kernel
Posted: Mon Aug 02, 2021 2:48 pm
by kresse_georg
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