Obtain optical spectrum from SBE using BSE kernel

Deals with issues related to computation of optical spectra in reciprocal space: RPA, TDDFT, local field effects.

Moderators: Davide Sangalli, andrea.ferretti, myrta gruning, andrea marini, Daniele Varsano, Conor Hogan

Post Reply
Nhat Minh Pham
Posts: 14
Joined: Tue Feb 15, 2022 12:07 am
Location: 01 Mac Dinh Chi, Ben Nghe, District 1, Ho Chi Minh City, Viet Nam

Obtain optical spectrum from SBE using BSE kernel

Post by Nhat Minh Pham » Fri Dec 09, 2022 5:19 am

Dear users and developers,

I'm trying to solve Semiconductor Bloch Equation (SBE) to obtain the optical spectrum for TMD materials.
My scheme is to use Yambo to generate Coulomb matrixes input for the SBE and Wannier90 for velocity and other matrixes required for solving SBE in velocity gauge.
I've got a good agreement for the independent particle absorption spectrum (without including Coulomb matrixes), compared with results from Wannier90.
But when I include Coulomb matrixes in my calculation, I can't get it right compared with Yambo BSE result.
I output the Coulomb potential follow from the forum link: viewtopic.php?p=6693&sid=44332c65502e15 ... b688#p6693

Yambo grid differs from Wannier90, so I modified subroutine k_ibz2bz.F to get the grid. The Coulomb potential from Yambo seems to exclude the symmetrical part (k<->k'), so I expand it by W_{vcv'c'kk'}=conjg(W_{v'c'vck'k}).
Wannier90 uses different gauges for the wave function, so I take the Wannier definition matrix and multiply it with the diagonalization matrix to get the additional phase, and then multiply it with the states in the Coulomb matrixes.
Yambo-BSE results in a sharp peak with a binding energy of about 0.5 eV, my result also shows a peak at this position but is really small, and other peaks are in the wrong positions. I've checked to rule out the causes of the broadening factor, the number of kpoints sampling dependence and the number of bands to include the excitonic effect.
I don't know if I handle the Coulomb matrixes correctly, especially in the unit of the potential is Ha (I see from the thread) and the division by volume in the potential, which causes me to believe I only have to sum up all kpoints to get Coulomb contribution to the SBE and don't have to divide it by any factor. I also use Yambo grid as an input for Wannier90, which should result in the same spectrum as Wannier90 kmesh.pl because I think the wave function is the same for kpoints different by a K unit vector, but the spectrum is somewhat different.
I hope you can help me.

Best regards,

Minh
You do not have the required permissions to view the files attached to this post.
Pham Nhat Minh
MS student, Ho Chi Minh University of Science,
Ho Chi Minh City Institute of Physics
https://www.hcmus.edu.vn/

User avatar
Daniele Varsano
Posts: 3773
Joined: Tue Mar 17, 2009 2:23 pm
Contact:

Re: Obtain optical spectrum from SBE using BSE kernel

Post by Daniele Varsano » Fri Dec 09, 2022 10:24 am

Dear Pham,

your question is a bit out of topic in the sense that it is not strictly related to the Yambo usage and it is not at all straightforward for user and developers to understand what you are doing and advise if you are doing something not correct.

We will be very happy to help you if you have specific questions related to yambo quantities you want to extract. I can confirm that the units are Ha.
Best,
Daniele
Dr. Daniele Varsano
S3-CNR Institute of Nanoscience and MaX Center, Italy
MaX - Materials design at the Exascale
http://www.nano.cnr.it
http://www.max-centre.eu/

Nhat Minh Pham
Posts: 14
Joined: Tue Feb 15, 2022 12:07 am
Location: 01 Mac Dinh Chi, Ben Nghe, District 1, Ho Chi Minh City, Viet Nam

Re: Obtain optical spectrum from SBE using BSE kernel

Post by Nhat Minh Pham » Fri Dec 30, 2022 11:47 am

Dear Daniele,

The divergent part in the BSE Kernel seems to be the main contribution to the spectrum. Is there any special treatment for this term in the BSE ?
Because I think it only shifts the spectrum but looking at the Jdos file it seems half of the divergent part contributes to the shift.

Best,
Minh
Pham Nhat Minh
MS student, Ho Chi Minh University of Science,
Ho Chi Minh City Institute of Physics
https://www.hcmus.edu.vn/

User avatar
Davide Sangalli
Posts: 610
Joined: Tue May 29, 2012 4:49 pm
Location: Via Salaria Km 29.3, CP 10, 00016, Monterotondo Stazione, Italy
Contact:

Re: Obtain optical spectrum from SBE using BSE kernel

Post by Davide Sangalli » Wed Jan 04, 2023 4:56 pm

Dear Minh,
few comments.

1) since you "gauge" the wave-functions I'd worry about gauge consistency with the dipoles as well.
However, this would not explain the shifted poles you obtain.
About the WFs phases. You can impose that the periodic part u_k(r)=u_k+G(r), but when defining the matrix elements you need to pay attention to the different non periodic factor e^{ikr} vs e^{i(k+G)r}
In my experience correctly gauging the wave-functions is always very tricky.

2) I confirm that yambo only computes the triangular part of the BSE excitonic matrix and then imposes that it is (pseudo)-hermitian.
For the divergent part, if you mean in the screened coulomb interaction there should not be issues, since there is the screening
For the unscreened eh exchange interaction, we remove the G=0 term as commonly done in the literature to get "Lbar"
Then, if your systems has reduced dimensionality, you can check the effect of the Coulomb cutoff.

3) yambo_rt solves an EOM for the density matrix which is very similar to a SBE.
See this https://journals.aps.org/prb/abstract/1 ... .84.245110
You could even specify the velocity gauge, although it is not tested.
There are issues to address, related to (i) the gauging of the non local part of the pseudo, (ii) the breaking of the conductivity sum rule, and (iii) three might be issues also related to the use of the self-energy. See this manuscript and references contained: https://journals.aps.org/prb/abstract/1 ... .95.155203
My suggestion is to stay within the length gauge. If you need to go beyond the linear response you need the yambo_nl executable which handles the length gauge via a Beryy-phase formulation
Also notice that, if you use a real field in the SBE, then this would correspond to BSE with coupling. Not sure how much coupling is important for your system

4) in the yambo_rt implementation, the HSEX self-energy is constructred by computing the BSE kernel, although via a different formulation which stores it inside a file called "COLLISIONS"
See again here: https://journals.aps.org/prb/abstract/1 ... .84.245110
Side note. In cases with SOC there are some differences in the HSEX kernel comparing COLLISOINS and BSE, we are still investigating this point.

Hope it helps.
Best,
D.
Davide Sangalli, PhD
CNR-ISM, Division of Ultrafast Processes in Materials (FLASHit) and MaX Centre
https://sites.google.com/view/davidesangalli
http://www.max-centre.eu/

Nhat Minh Pham
Posts: 14
Joined: Tue Feb 15, 2022 12:07 am
Location: 01 Mac Dinh Chi, Ben Nghe, District 1, Ho Chi Minh City, Viet Nam

Re: Obtain optical spectrum from SBE using BSE kernel

Post by Nhat Minh Pham » Thu Jan 05, 2023 11:25 am

Dear Davide,

Thank you very much.
I use the dipole matrix from Wannier90 so I want to change the Coulomb matrix to W90 gauge.
I'm not sure I understand correctly but the Coulomb matrix is <vc|W|v'c'> and e^{i(k+G)r} is just in some plane-wave expansion of but the Coulomb matrix.
So I only have to update <vc|-DFT gauge to <vc|-Wannier gauge and not do anything to the e^{i(k+G)r} part.

Best,
Minh
Pham Nhat Minh
MS student, Ho Chi Minh University of Science,
Ho Chi Minh City Institute of Physics
https://www.hcmus.edu.vn/

User avatar
Davide Sangalli
Posts: 610
Joined: Tue May 29, 2012 4:49 pm
Location: Via Salaria Km 29.3, CP 10, 00016, Monterotondo Stazione, Italy
Contact:

Re: Obtain optical spectrum from SBE using BSE kernel

Post by Davide Sangalli » Thu Jan 05, 2023 4:47 pm

The matrix elements are (for the zero momentum BSE) <ck c'k+q|W(q)|vk v'k+q> and the momenta needs to be correctly matched, also including the e^iqr factors.

D.
Davide Sangalli, PhD
CNR-ISM, Division of Ultrafast Processes in Materials (FLASHit) and MaX Centre
https://sites.google.com/view/davidesangalli
http://www.max-centre.eu/

Nhat Minh Pham
Posts: 14
Joined: Tue Feb 15, 2022 12:07 am
Location: 01 Mac Dinh Chi, Ben Nghe, District 1, Ho Chi Minh City, Viet Nam

Re: Obtain optical spectrum from SBE using BSE kernel

Post by Nhat Minh Pham » Tue Jan 10, 2023 5:00 pm

Dear developers,

I've solved my problem by using Yambo dipole matrixes in my calculation, but I don't know why the dipole from Wannier90 after rotating back to the DFT gauge differs from Yambo (by a phase factor).
Can you help me?

Best,
Minh
Pham Nhat Minh
MS student, Ho Chi Minh University of Science,
Ho Chi Minh City Institute of Physics
https://www.hcmus.edu.vn/

User avatar
Davide Sangalli
Posts: 610
Joined: Tue May 29, 2012 4:49 pm
Location: Via Salaria Km 29.3, CP 10, 00016, Monterotondo Stazione, Italy
Contact:

Re: Obtain optical spectrum from SBE using BSE kernel

Post by Davide Sangalli » Tue Jan 10, 2023 5:36 pm

Dear Minh,
I've no idea...

I can point you to the subroutines which compute the dipole matrix elements in yambo.
There are different approaches, including the "shifted grids" approach and the "Transverse Dipoles" approach. It is all described in the last yambo paper.
All the subroutines are in the src/dipoles folder.

The shifted grids approach, for example is quite tricky as far as phases are concerned, since one has to deal with different sets of wave-functions.
There is a procedure, based on computing overlaps in between WFs at k and at k+q, which is used to remove these random phases.

Best,
D.
Davide Sangalli, PhD
CNR-ISM, Division of Ultrafast Processes in Materials (FLASHit) and MaX Centre
https://sites.google.com/view/davidesangalli
http://www.max-centre.eu/

Post Reply