Page 1 of 1

How to construct the BSE matrix for spin polarization calculation in Yambo

Posted: Thu Sep 15, 2022 5:29 am
by lyzhao
Dear all,
I use the yambo 4.5.3 (sorry for no upgrade because I have no authority in our cluster). As an example, I run a spin polarization calculation on two-dimensional CN system using the PW program. As shown in PW output (see attached file yb_pwscf.out), the system has 9 electrons with 5 up and 4 down. Then I run the BSE calculation and modify the code of ypp (excitons_driver.F) to print out the BSS_eh_table (see attached file YBBSEEHT.txt).

Code: Select all

   
do I = 1, BSS_n_eig
     if(n_sp_pol==1) write(200,'(1X,3I4,"  1 ")')  BSS_eh_table(I,:)
     if(n_sp_pol==2) write(200,'(1X,4I4)')  BSS_eh_table(I,:)
enddo
As showed in YBBSEEHT.txt, for k1 point, the valance(v)-conduction(c) transition pairs are constructed by

Code: Select all

  k   v   c   spin
  1   4   5   1
  1   4   5   2
  1   4   6   1
  1   4   6   2
  1   4   7   1
  1   4   7   2
In the BSE calculation, the following was set (see attached file bse.in)

Code: Select all

% BSEBands
  4 | 7 |                     # [BSK] Bands range
My question is why the 4->5 transition pair is constructed for both spins.
Could you give me some hints or references for constructing the BSE matrix in the spin polarization calculation?

Best regards.
Youzhao Lan

Re: How to construct the BSE matrix for spin polarization calculation in Yambo

Posted: Thu Sep 15, 2022 7:17 am
by Daniele Varsano
Dear Youzhao,

this happens because band "5" is seen by Yambo as metallic:

Code: Select all

 [X]States summary         : Full        Metallic    Empty
  [X]             [spin up]      0001-0004   0005-0005   0006-0010
  [X]                  [dn]      0001-0004   0005-0005   0006-0010
and this is due to previous QE calculation:
Please check also your QE output!

Code: Select all

highest occupied, lowest unoccupied level (ev):     0.3223   -1.9154
where you have the lowest unoccupied states lower than the highest occupied states. You can try to do a setup setting ElecTemp=0 eV, but I'm not sure that this will solve the problem. Check first the QE ground satate.
My suggestion is to use a smearing in the occupation.
Finally, my strong suggestion is to move to a more recent version of the code (ask your administrator) as the code has changed and improved a lot since the version you are using, in particular in the handling of spin polarized calculation.

Best,
Daniele

Re: How to construct the BSE matrix for spin polarization calculation in Yambo

Posted: Thu Sep 15, 2022 7:27 am
by lyzhao
Dear Dr. Daniele,
Thanks for your quick help.
Best,
Youzhao Lan