wannier_tools icon indicating copy to clipboard operation
wannier_tools copied to clipboard

Surface state of Bi2Se3

Open mj299792 opened this issue 6 years ago • 11 comments

Hi Dr. Wu, I used rhombohedral primitive unit cell for calculating Bi2Se3. The Wannier bands fit well with DFT by Wien2K and the spread is only 68 A^2. However, the surface state looks weird. I am not sure if it is because of KPATH_SLAB card. I just copied from the example. Thank you.

LATTICE Angstrom 1.183568 -2.050000 9.535333 1.183568 2.050000 9.535333 -2.367136 0.000000 9.535333

ATOM_POSITIONS 5 ! number of atoms for projectors Direct ! Direct or Cartisen coordinate Se 0.20970 0.20970 0.20970 Se 0.79030 0.79030 0.79030 Bi 0.40046 0.40046 0.40046 Bi 0.59954 0.59954 0.59954 Se 0.00000 0.00000 0.00000

PROJECTORS 3 3 3 3 3 ! number of projectors Se px py pz ! projectors Se px py pz Bi px py pz Bi px py pz Se px py pz

SURFACE ! Specify surface with two vectors, see doc -1 1 0 -1 0 1

KPATH_SLAB 2 ! numker of k line for 2D case K 0.33 0.67 G 0.0 0.0 ! k path for 2D case G 0.0 0.0 M 0.5 0.5

KPLANE_SLAB -0.1 -0.1 ! Original point for 2D k plane 0.2 0.0 ! The first vector to define 2D k plane 0.0 0.2 ! The second vector to define 2D k plane for arc plots surfdos_l arc_l

mj299792 avatar May 23 '18 23:05 mj299792

Hi, @mj299792

WannierTools only take the unit cell as a point when cleaving the surface. So there are a lot of dangling bonds on the surface if you don't choose the unit cell properly.

I suggest you set your POSCAR like this: the (001) surface of the POSCAR is the surface you want to study. And generate the wannier90_hr.dat again.

In order to get such POSCAR, the latest version of WannierTools generate a new POSCAR-rotated. You can shift the third value of the atomic position of the POSCAR-rotated in order to get the termination you want.

For Wien2k, I am not quite sure whether it is possible to fix the primitive cell. I am sorry to tell you that it's not possible to rotate the wannier90_hr.dat after it is generated.

Best, QuanSheng

quanshengwu avatar May 24 '18 13:05 quanshengwu

Hi Dr. Wu, Thanks for answering. I used the same parameters as in your Bi2Se3 example. The same primitive cell, same frozen and outer windows in wannier90 and tried to reproduce by Wien2K. However I can't get the correct surface state and the two surface states are different. The wannier function spread is 119. Please tell me if you need more details. Thank you very much. unitcell comp surfdos_r surfdos_l

mj299792 avatar May 31 '18 16:05 mj299792

@mj299792 The wannier90.win example is only for VASP, not for Wien2k.

you have to choose proper frozen window and disentanglement window in wannier90.win when you use wien2k since the absolute energy value is different. The energy window you chose is fine if you chose the correct Fermi energy.

I am sorry that I can't help you much about how to construct WFs with Wien2k. The only way is to try to construct it many times with different parameters until you get a well localized WFs.

Good luck!

quanshengwu avatar May 31 '18 17:05 quanshengwu

Hi Dr. Wu, Thanks for your help. Now I have the correct result for Bi2Se3. It needs some trick for building a shifted unit cell by using Wien2K.

I tried another known compound PbPd3. I choose different kmesh in Wannier90. The bulk states of Wannier bands agree with DFT bands well. However the surface state looks very different. I choose Pb:s,p Pd:d and number of Bloch bands= Wannier bands=38. And the bands didn't change for NP=1 and 2 (number of principle layers).

The correct surface state of Pb-Pd termination should be like this in a paper picturepaper

Here is my unit cell pbpd3_s If I use kmesh=8x8x8 in Wannier90 8compare 8surface

And 10x10x10 in Wannier90 1000compare 1000surface

Can you give me some suggestions that where I may have mistakes? and is there a way to know whether I have a correct surface state since the bulk bands are the same? Thanks.

mj299792 avatar Jun 26 '18 16:06 mj299792

Hi Mj, I have the same problem, did you fixed your issue? Thanks.

Huta2018 avatar Oct 03 '19 17:10 Huta2018

Hi Hemmnepal,

I still only have correct results of Bi2Se3. For other structure like PbPd3, I didn't figure it out.

mj299792 avatar Oct 06 '19 01:10 mj299792

Could you please help with the trick to shift the third coordinate of the POSCAR-rotated. I got the same band structure from wannier 90 and VASP. When I try to generate the surface states and fermi arc, they look completely different than the one mentioned in papers. I am having a hard time to set SURFACE, KPATH_Slab and Kplabe_slab cards as well. Thanks a lot.

Huta2018 avatar Oct 06 '19 18:10 Huta2018

Hi Hemnepal, In Wien2K, we can't just shift the lattice for calculation, because it will find the symmetry by itself and asked to shift back. What I did is build a shifted unit cell with p1 symmetry and move one of the atom away from the position a little. Then do the initial. After initialing, then you move that atom back to the right position and run the self consistency cycle. But I didn't have a correct surface state other than Bi2Se3. If you have progress, I would also like to know. Thanks

mj299792 avatar Oct 06 '19 19:10 mj299792

Thank you so much. Could you please share the input tags you used? Especially for the (001) surface tags.

On Sun, Oct 6, 2019 at 3:50 PM mj299792 [email protected] wrote:

Hi Hemnepal, In Wien2K, we can't just shift the lattice for calculation, because it will find the symmetry by itself and asked to shift back. What I did is build a shifted unit cell with p1 symmetry and move one of the atom away from the position a little. Then do the initial. After initialing, then you move that atom back to the right position and run the self consistency cycle. But I didn't have a correct surface state other than Bi2Se3. If you have progress, I would also like to know. Thanks

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/quanshengwu/wannier_tools/issues/31?email_source=notifications&email_token=AE5R6HECUVE33DAGAJON53TQNI6Q7A5CNFSM4FBNMRV2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEAOSOBI#issuecomment-538781445, or mute the thread https://github.com/notifications/unsubscribe-auth/AE5R6HC3FV37DFDO7WECXA3QNI6Q7ANCNFSM4FBNMRVQ .

Huta2018 avatar Oct 07 '19 01:10 Huta2018

@mj299792

I think the problem could come from the quality of your WFs. Please use more Num_bands than Num_wann when you construct WFs. The criterion to select num_bands is as following. Num_bands should be large enough such that most of the weight of the projectors are included in the energy bands. By checking this, you have to plot the fat-band which means projecting the atomic orbitals onto the Bloch bands.

quanshengwu avatar Oct 10 '19 19:10 quanshengwu

Hi Quanshengwu,

Thank you so much for your comment. When I generate the wannier functions, I got the warning saying "Maximum number of disentanglement iterations reached" << Disentanglement convergence criteria not satisfied>>. How serious is it? Could you please suggest to solve this issue? I was thinking this might be one reason why I did not get the correct surface state. Screen Shot 2019-10-09 at 12 03 34 PM

In my case, I have enough bands as you explained. By saying projecting the atomic orbitals onto the Bloch bands, do you mean use tag "use_bloch_phases = T"?

Huta2018 avatar Oct 10 '19 21:10 Huta2018