on the implementation of spin-orbit coupling in Yambo

Deals with issues related to computation of optical spectra, solving the Bethe-Salpeter equation.

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

Post Reply
hlee
Posts: 29
Joined: Mon Jul 15, 2013 2:09 pm

on the implementation of spin-orbit coupling in Yambo

Post by hlee » Mon Jun 16, 2014 2:58 pm

Dear developers:

I have a question about the implementation of spin-orbit coupling (SOC) in Yambo.
I have already known that Yambo can take as an input two-component spinor wave functions.
Then, how are these spinor wave functions treated in calculating the Green function G and the screened interaction W?

Is the implementation of SOC in Yambo the same as that described in the following paper, Phys. Rev. B 84, 085144 (http://journals.aps.org/prb/abstract/10 ... .84.085144)?
Dr. Hyungjun Lee
Institute of Theoretical Physics, EPFL

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: on the implementation of spin-orbit coupling in Yambo

Post by Davide Sangalli » Tue Jun 17, 2014 3:40 pm

Yes. For the QP corrections yambo solves equation (8) of the paper.

Best,
Davide
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/

hlee
Posts: 29
Joined: Mon Jul 15, 2013 2:09 pm

Re: on the implementation of spin-orbit coupling in Yambo

Post by hlee » Fri Jan 22, 2016 10:13 am

Dear Davide:

After checking the source code of Yambo, I found that Yambo currently treat spinor differently from the formalism proposed in the paper mentioned in my previous post (http://journals.aps.org/prb/abstract/10 ... .84.085144).

For example, Yambo doesn't seem to construct Green function in 2x2 spinor form like Eq. (4) in the above paper.
Additionally, Yambo seem to construct the polarisation function differently from Eq. (6) in the above paper, since Yambo doesn't use the 2x2 form of Green function.

In your reply, you told me that Yambo use Eq. (8) in the above paper, but I can't understand that this is possible because I think that Yambo doesn't use the 2x2 form of Green function and therefore Yambo doesn't construct the 2x2 form of self energy operator like Eq. (5) in the above paper.

Do I misunderstand what is going in Yambo subroutines?

I need to describe in my paper accurately the approach adopted in Yambo.

Sincerely,
Dr. Hyungjun Lee
Institute of Theoretical Physics, EPFL

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: on the implementation of spin-orbit coupling in Yambo

Post by Davide Sangalli » Fri Jan 22, 2016 10:34 am

Dear Hyungjun Lee,

Yambo construct the spinorial Green's function in the spinor basis set G_k\mu.
This is, I would say, the denominator of eq. (4) in the PRB of your link.
To obtain eq.(4) one would just need to change basis set k\mu --> r,\sigma, i.e. doing the sum of eq. 4 with the WFs.

Similarly for the polarization, although the latter is constructed in G-space.
And again I would say it is equivalent to eq.(6), just one would need to change basis set G --> r

Can you explain more in details which are the differences you see ?

Best,
D.

EDIT/P.S.: You are right, it would be nice to have some reference around about the details of the implementation.
Unfortunately at the moment we do not have anything. I'll let you know in case we will publish anything on the yambo website
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/

hlee
Posts: 29
Joined: Mon Jul 15, 2013 2:09 pm

Re: on the implementation of spin-orbit coupling in Yambo

Post by hlee » Fri Jan 22, 2016 11:13 am

Thank you very much for your kindly reply.

I think that one of the relevant routines for calculation of the independent-particle polarisability matrix is scatter_Bamp.F in wf_and_fft directory. (I refer to yambo-4.0.1-rev89)
Additionally, in mod_collision.F in modules directory, WF_symm_i(o) is defined as WF_symm_i(o)(fft_size,n_spinor)
Looking at the subroutine scatterBamp, Yambo seems to only consider up-up and down-down components in calculation of the polarisability matrix, that is, 1-1 and 2-2, in 2-spinor wave function. I marked these parts with the symbol, "<---".

Code: Select all

#if defined _FFTQE && !defined _USE_3D_FFT                                                                                                                                           
 !                                                                                                                                                                                   
 ! add one extra conjg since FFTQE cannot account for the conjg in one go                                                                                                            
 !                                                                                                                                                                                   
 !$omp parallel default(shared), private(ir)                                                                                                                                         
 !$omp do                                                                                                                                                                            
 do ir = 1, fft_size
   isc%rho_tw_rs(ir) = isc%WF_symm_i(ir,1)*conjg(isc%WF_symm_o(ir,1)) <---
 enddo
 !$omp end do                                                                                                                                                                        
 !                                                                                                                                                                                   
 if (n_spinor==2) then
 !$omp do                                                                                                                                                                            
   do ir = 1, fft_size
     isc%rho_tw_rs(ir) = isc%rho_tw_rs(ir)+isc%WF_symm_i(ir,2)*conjg(isc%WF_symm_o(ir,2)) <---
   enddo
 !$omp end do                                                                                                                                                                        
 endif
 !$omp end parallel          
As can be seen in the PRB paper, they consider off-diagonal components of 2-spinor wave function as well. That is, in Eq. (4) in PRB paper, the pairs of alpha and beta (spinor indices) include up-up, down-down, up-down, down-up. That is, Green function is in the spin basis 2x2 matrix as proposed in the earlier paper (http://journals.aps.org/prl/abstract/10 ... 100.116402).

This is what I think the difference is.

Sincerely,
Dr. Hyungjun Lee
Institute of Theoretical Physics, EPFL

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: on the implementation of spin-orbit coupling in Yambo

Post by Davide Sangalli » Fri Jan 22, 2016 11:54 am

These are two different things.

What is computed in Scatter bamp is: "rhotw(G)=<ib ik_is i_sp| e^[I(RsG-G0).r] | ob ok_os o_sp>"
This is diagonal both in space and in spin indexes since "e^[I(RsG-G0).r]" is local both in space and in spin.
In the line you marked there are the same spin and same r indexes for both WFs. This is what is used in the screening.
The "off-diagonal indexes" you speak about between the up and the down component is considered when two different rhotw are multiplied.

You can have a look here: http://www.yambo-code.org/theory/docs/doc_Xd.php
Basically you have to extend the equations replacing the n / n' indexes with a spinorial index. Then the meaning of the Dirac notation, bra and ket is that you have to sum over the spin components. The operators [ e^{i(q+G)r} ] are space and spin diagonal, thus you get two spatial index and two spin indexes only out of four as in Eq. 6 of the PRB.

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/

hlee
Posts: 29
Joined: Mon Jul 15, 2013 2:09 pm

Re: on the implementation of spin-orbit coupling in Yambo

Post by hlee » Fri Jan 22, 2016 12:21 pm

Thank you very much for your kindly reply.

It solved completely my questions. Now, everything is clear.
I missed the important point, "The operators [ e^{i(q+G)r} ] are space and spin diagonal".

Sincerely,
Dr. Hyungjun Lee
Institute of Theoretical Physics, EPFL

Post Reply