how to include spin-orbit in PWSCF

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
Sheleon
Posts: 28
Joined: Tue Jun 12, 2012 9:02 am

how to include spin-orbit in PWSCF

Post by Sheleon » Sat May 03, 2014 11:48 am

Hi,everyone.
i want to perform the spin-orbit included calculation as listed in the tutorial but with pwscf interfaces. At the initial process, it appear that yambo read the file generated by pwscf correctly as the output print that "spin-orbit interaction :yes". however, after the optical properties calculations, there seems no difference with the without spin-orbit case. I'm wondering if i miss something?
the following is my pwscf input file for scf and nscf:

Code: Select all

Fe
Iron
 &control
    calculation='scf'
    restart_mode='from_scratch',
    pseudo_dir = '/home/sheleon/Cal/QE/espresso-5.0.2/pslibrary.1.0.0/rel-pz/PSEUDOPOTENTIALS/',
    outdir='./Fe_withSO/',
    prefix='Fe_withSO',
 /
 &system
    ibrav = 0, celldm(1) = 5.42, nat= 1, ntyp= 1,
    ecutwfc = 100.0, nbnd = 20,
    occupations='smearing', smearing='gauss', degauss=0.01
    noncolin = .true.,
    lspinorb = .true.,
    angle1(1) = 90,
    angle2(1) = 0,
    starting_magnetization(1) =  0.5
 /
 &electrons
    electron_maxstep = 10000
    mixing_beta = 0.4
 /
ATOMIC_SPECIES
 Fe 55.847 Fe.rel-pz-n-nc.UPF
ATOMIC_POSITIONS crystal
Fe 0.0 0.0 0.0
K_POINTS automatic
 8 8 8 1 1 1 
CELL_PARAMETERS
-0.5  0.5  0.5
 0.5 -0.5  0.5
 0.5  0.5 -0.5

Code: Select all

Fe
Iron
 &control
    calculation='nscf'
    wf_collect=.true.,
    pseudo_dir = '/home/sheleon/Cal/QE/espresso-5.0.2/pslibrary.1.0.0/rel-pz/PSEUDOPOTENTIALS/',
    outdir='./Fe_withSO/',
    prefix='Fe_withSO',
 /
 &system
    ibrav = 0, celldm(1) = 5.42, nat= 1, ntyp= 1, nosym=.false.
    ecutwfc = 100.0, nbnd = 20,
    occupations='smearing', smearing='gauss', degauss=0.01
    noncolin = .true.,
    lspinorb = .true.,
    angle1(1) = 90,
    angle2(1) = 0,
    starting_magnetization(1) =  0.5
 /
 &electrons
    diago_thr_init = 1.0e-6,
    diago_full_acc = .true.
 /
ATOMIC_SPECIES
 Fe 55.847 Fe.rel-pz-n-nc.UPF
ATOMIC_POSITIONS crystal
Fe 0.0 0.0 0.0
K_POINTS automatic
 8 8 8 1 1 1 
CELL_PARAMETERS
-0.5  0.5  0.5
 0.5 -0.5  0.5
 0.5  0.5 -0.5
and the psp file i used is generated by l1d code with the input of pslibrary project named Fe.rel-pz-n-nc.UPF

any advice will be appreciate.


Sheleon
Phd student
Phys Department
Shanghai JiaoTong university, Shanghai, China.

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: how to include spin-orbit in PWSCF

Post by Davide Sangalli » Sat May 03, 2014 11:58 am

Dear Sheleon,
the first thing to check is if you see any difference in the ground state calculation with and with-out spin-orbit.
You should be able to see the SO splitting in the KS eigenvalues.
Then you can check the r_setup files generated by "p2y + yambo". Is the SO splitting still there?

In this case you should be able to see also a small difference in the spectra, however you would need a very small smearing parameter, because SO effects in iron are quite small.

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

Sheleon
Posts: 28
Joined: Tue Jun 12, 2012 9:02 am

Re: how to include spin-orbit in PWSCF

Post by Sheleon » Sat May 03, 2014 1:31 pm

Hi, DAvide
Thanks for the quick reply and the hints.
Davide Sangalli wrote:Dear Sheleon,
the first thing to check is if you see any difference in the ground state calculation with and with-out spin-orbit.
You should be able to see the SO splitting in the KS eigenvalues.
as you adviced, i check the ground-state for both with/without calculation, there is indeed a SO splitting. I took the first degenerate state (marked as red) of first k point for example as following:
for noSO

Code: Select all

         
 ------ SPIN UP ------------


          k = 0.1250 0.1250 0.1250     band energies (ev):

     5.5238  [color=#FF0000]10.7983  10.7983[/color]  11.5757  12.2123  12.2123  35.7565  35.7565
    38.2936  39.9809  43.7680  43.7680  48.4253  48.4253  53.8736  55.7323
    55.7323  63.1437  74.0694  75.2561  75.2561  91.7783  92.3939  92.3939
    97.4531  97.4531 104.0378 105.5309 106.2506 106.2506
for with SO

Code: Select all


          k = 0.1250 0.1250 0.1250     band energies (ev):

     5.5238   5.8765  [color=#FF0000]10.7885  10.8059 [/color] 11.5745  12.1981  12.2216  12.6354
    12.6511  13.4857  14.5528  14.5684  35.7405  35.7722  36.1402  36.1709
    38.3025  39.1593  39.9805  40.0499  43.7455  43.8003  44.2778  44.3334
    48.4182  48.4355  48.8865  48.9011  53.8737  54.4966
Then you can check the r_setup files generated by "p2y + yambo". Is the SO splitting still there?
the r_step appear read the KS eigenstate correctly.
for with SO

Code: Select all

  Energy unit is electronVolt [eV]

  *X* K [1] : 0.144907  0.144907  0.144907 (cc ) * Comp.s 1355 * weight   0.01562
               0.06250   0.06250   0.06250 (iku)
  E -7.773474 -7.420835 [color=#FF0000]-2.508786 -2.491373[/color] -1.722786 -1.099163 -1.075716 -0.661894
  E  -0.64617   0.18836   1.25552   1.27112  22.44318  22.47488  22.84290  22.87358
  E  25.00520  25.86199  26.68321  26.75258  30.44822  30.50297  30.98046  31.03613
  E  35.12090  35.13823  35.58924  35.60383  40.57639  41.19936
In this case you should be able to see also a small difference in the spectra, however you would need a very small smearing parameter, because SO effects in iron are quite small.
I just want to duplicate the result of the tutorial, as the tutorial taught, when include the SO coupling, the Im part of off-diagonal component of the dielectric tensor will not be zero, but i still get a almost zero result for off-diagonal component just as without SO case.

PS: When i do the calculation using abinit, nothing is strange. However, i do not see any difference between this two code in GS calculation.

Best regards,
Phd student
Phys Department
Shanghai JiaoTong university, Shanghai, China.

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: how to include spin-orbit in PWSCF

Post by Davide Sangalli » Sun May 04, 2014 6:10 am

Dear Sheleon,
I think your problem is the "angle1" variable in the pwscf input.

Setting it as 90° the magnetization will lay in the xy plane. Thus epsilon_xy remains zero.
Try with angle1=0, i.e. magnetization along the z axis. You should find the correct result.

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

Sheleon
Posts: 28
Joined: Tue Jun 12, 2012 9:02 am

Re: how to include spin-orbit in PWSCF

Post by Sheleon » Sun May 04, 2014 9:30 am

Dear Davide,
Thanks for your careful correction and sorry for my stupid mistake. Now the SO case is indeed different with non-SO case. However, there is till something different with the tutorial and i will work out later.
One more question, i'm wondering if yambo can handle the calculation for the optical properties of bulk topological insulator. I mean, as we know, when the SO coupling is included, there is a symmetry inversion at the Gamma point, therefore, the dipole matrix will significant change naturally, is yambo capable of this type of calculation?
Thanks in advanced.

Best Regards
Sheleon
Phd student
Phys Department
Shanghai JiaoTong university, Shanghai, China.

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: how to include spin-orbit in PWSCF

Post by Davide Sangalli » Sun May 04, 2014 3:04 pm

One more question, i'm wondering if yambo can handle the calculation for the optical properties of bulk topological insulator. I mean, as we know, when the SO coupling is included, there is a symmetry inversion at the Gamma point, therefore, the dipole matrix will significant change naturally, is yambo capable of this type of calculation?
I have not studied about the problem yet. So I fear I cannot answer your question...

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

Sheleon
Posts: 28
Joined: Tue Jun 12, 2012 9:02 am

Re: how to include spin-orbit in PWSCF

Post by Sheleon » Mon May 05, 2014 3:08 am

Hi Davide,
Thanks any way, however, do you think is it technically possible? cause, it is just a special case of SO coupling calculation. If yes, i will have a try.

Best Regards,
Sheleon
Phd student
Phys Department
Shanghai JiaoTong university, Shanghai, China.

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: how to include spin-orbit in PWSCF

Post by Davide Sangalli » Mon Jan 31, 2022 1:18 pm

One more question, I'm wondering if yambo can handle the calculation for the optical properties of bulk topological insulator.
Yambo uses the so-called symmetric gauge to get the WFs out of the 1st BZ.
As far as I understand, in any system with Cern number different from zero (such as topological insulators) this is not allowed in principle.
So technically the simulation would go on, but in practice, one would introduce an error.
I've no feeling on how big the error would be.

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