InAs band structure

External optional components of Abinit (BigDFT, Wannier90...) and codes using/providing data from/to Abinit (AtomPAW, ONCVPSP, EXC, DP, Yambo...)

Moderators: ebousquet, bxu

Locked
aaaa202
Posts: 20
Joined: Tue Oct 27, 2015 2:08 pm

InAs band structure

Post by aaaa202 » Tue Oct 27, 2015 2:13 pm

Hi all,

I am new to Abinit and have over the past few days been trying to simulate the band structure for bulk InAs. However it seems, that you have many choices for which Pseudopotentials to use. First I tried using the one that was used for bulk Si in the tutorial exercises, but that did not work, i.e. Abinit gave me an error (I am not sure why, since I find it hard to interpret the files specifying the Pseudopotentials).
My question is therefore: Which kind of Pseudopotential should I use for bulk InAs?
Also my end goal is actually not to calculate bulk band structure but rather band structure for finite InAs nanowires. I am however not sure how to do calculations on finite lattices. How is that done? I suppose you like, the H2 molecule, simply build up a system of finite building blocks, rather than assume an infinite lattice as in the case of the Si exercises.

raul_l
Posts: 74
Joined: Sun Jan 08, 2012 7:45 pm

Re: InAs band structure

Post by raul_l » Wed Oct 28, 2015 12:07 am

aaaa202 wrote:I tried using the one that was used for bulk Si in the tutorial exercises

You meant the same type, not literaly the same PP, right? In any case, for In and As you can find pseudopotentials at the Abinit website -> Atomic Data/Pseudopotentials -> Norm-conserving pseudopotentials.
aaaa202 wrote:I am however not sure how to do calculations on finite lattices. How is that done?

This question is too broad. I suspect the overall logic is similar to surface calculations (see lesson 4) but I've never done nanowire calculations myself.
Raul Laasner
Netherlands Institute for Space Research

Jordan
Posts: 282
Joined: Tue May 07, 2013 9:47 am

Re: InAs band structure

Post by Jordan » Wed Oct 28, 2015 9:02 am

Recent pseudo potential have been developed in Norm Conserving here : http://www.mat-simresearch.com/
Or PAW atomic data here : http://www.abinit.org/downloads/PAW2

In any case, you should test the pseudos you use and validate the results against literature before going to nanowire.

For nanowire, you can do as for the H2 molecule : a big empty box with a nano wire inside.
Note that for such a system the energy cutoff might considerably increase and thus PAW may be the best choice for you.

aaaa202
Posts: 20
Joined: Tue Oct 27, 2015 2:08 pm

Re: InAs band structure

Post by aaaa202 » Wed Oct 28, 2015 10:53 am

thanks for the answers, though I might need a little more help.
Say I download pseudopotentials for In and As from http://www.abinit.org/downloads/pseudodojo/pseudodojo. How do I tell my in file to use these for the calculation of the band structure? I remember in the tutorial for Si there was a line in the tbase3_x file, which specified ../../../Psps_for_tests/14si.pspnc, i.e. to use the file 14si.pspnc as pseudopotential. Should I replace this one line with the location of the Pseudopotential of In and As?
Also it seems that the pseudopotential files I can download from: http://www.pseudo-dojo.org/dojoauto.html?atom=In (or the PAW atomic datasets - do these contain information about the pseudopotential?) are not of the same type as 14si.pspnc. Will abinit understand these?

raul_l
Posts: 74
Joined: Sun Jan 08, 2012 7:45 pm

Re: InAs band structure

Post by raul_l » Wed Oct 28, 2015 12:09 pm

The structure of the 'files' file is described here: http://www.abinit.org/doc/helpfiles/for ... tml#intro1. Yes, you should replace 14si.pspnc with your own ones (either relative or full path). Each PP should be on a separate line. The PAW formalism is conceptually different, but from the user's point of view, analogous, to the pseudopotential approximation. In simple terms, it is usually better than PPs. You might start with norm-conserving PPs if you are new to DFT, and then proceed to the tutorials on PAW.
Raul Laasner
Netherlands Institute for Space Research

aaaa202
Posts: 20
Joined: Tue Oct 27, 2015 2:08 pm

Re: InAs band structure

Post by aaaa202 » Wed Oct 28, 2015 2:36 pm

It doesn't seem like abinit will recognize the Pseudopotential file generated by http://www.pseudo-dojo.org/dojoauto.html?atom=In. The format is .pspn8, which I can save as a text document. Am I doing it wrong?
I choose Indium in the list of element and select In-d.out and click download 'psp8' file.

raul_l
Posts: 74
Joined: Sun Jan 08, 2012 7:45 pm

Re: InAs band structure

Post by raul_l » Wed Oct 28, 2015 10:13 pm

What is the error message? Perhaps you should be using a newer version of Abinit? Just a guess.
Raul Laasner
Netherlands Institute for Space Research

aaaa202
Posts: 20
Joined: Tue Oct 27, 2015 2:08 pm

Re: InAs band structure

Post by aaaa202 » Mon Nov 02, 2015 12:10 pm

hmm i Think abinit does not recognize the file format for the generated pseudopotential file. If I generate it using your link the format is .psp8 ... is that a valid format? maybe Im failing to save it the right way.

raul_l
Posts: 74
Joined: Sun Jan 08, 2012 7:45 pm

Re: InAs band structure

Post by raul_l » Wed Nov 04, 2015 12:52 pm

Works for me. Make sure you use at least version 7.10.5. If there are still issues, find older pseudopotentials here http://www.abinit.org/downloads/psp-links/pseudopotentials.
Raul Laasner
Netherlands Institute for Space Research

aaaa202
Posts: 20
Joined: Tue Oct 27, 2015 2:08 pm

Re: InAs band structure

Post by aaaa202 » Sun Nov 08, 2015 1:11 pm

hmm I think my problem is that when I save the pseudopotential file it messes up the format. It saves it as a .txt document and when I open it I can see that the text format is completely messed up. How do you save it to your computer? Is it because I am using windows, and I should use linux instead to get the right format of the Pseudopotential files?

raul_l
Posts: 74
Joined: Sun Jan 08, 2012 7:45 pm

Re: InAs band structure

Post by raul_l » Sun Nov 08, 2015 5:08 pm

I save the PP with the psp8 extension. I suggest you try it on Linux. I'm not familiar with Windows and am thus unable to help in that regard.
Raul Laasner
Netherlands Institute for Space Research

aaaa202
Posts: 20
Joined: Tue Oct 27, 2015 2:08 pm

Re: InAs band structure

Post by aaaa202 » Sun Nov 15, 2015 11:38 pm

I have now managed to generate the band structure for InAs, which was the end goal. However it seems that the wavefunctions do not converge and I end up with the plot below with alot of fringes in the band structure.
I have made a convergence study with respect to the lattice parameter so I am not sure, what causes the problem not to converge? Which parameters can I change that will affect convergence?
Attachments
InAswurtzite.png
InAswurtzite.png (60.13 KiB) Viewed 21638 times

ilukacevic
Posts: 271
Joined: Sat Jan 16, 2010 12:05 pm
Location: Dept. of Physics, University J. J. Strossmayer, Osijek, Croatia
Contact:

Re: InAs band structure

Post by ilukacevic » Mon Nov 16, 2015 8:08 am

Hi!

1] What do you mean by converged the lattice parameters?

2] It looks like typical bands obtained with unconverged ecut and/or ngkpt. Did you converge the energy bands wrt these two parameters?

Best regards,

Igor

Jordan
Posts: 282
Joined: Tue May 07, 2013 9:47 am

Re: InAs band structure

Post by Jordan » Mon Nov 16, 2015 8:26 am


aaaa202
Posts: 20
Joined: Tue Oct 27, 2015 2:08 pm

Re: InAs band structure

Post by aaaa202 » Thu Nov 19, 2015 10:43 am

I have now achieved the following plot of the band structure. Unfortunately it does not look at all like in this article (http://arxiv.org/pdf/cond-mat/0609616.pdf), where they calculate InAs wurtzite band structure in the GW approach. Do you have any idea how that might be? Have I done something wrong in my program?

Code: Select all

#Bulk InAs wurtzite 
#
# Computation of the band structure.
# First, a SCF density computation, then a non-SCF band structure calculation.

ndtset 2

#Dataset 1 : usual self-consistent calculation
kptopt1 1          # Option for the automatic generation of k points,
                   # taking into account the symmetry
nshiftk1 1
shiftk1  0.0 0.0 0.0  # These shifts will be the same for all grids
        # 0.5 0.0 0.0
        # 0.0 0.5 0.0
        # 0.0 0.0 0.5
ngkpt1  12 12 12 
prtden1  1         # Print the density, for use by dataset 2
toldfe1  1.0d-10    # This value is way too large for most realistic studies of materials

#Dataset 2 : the band structure
iscf2    -2
getden2  -1
kptopt2  -3
nband2   8
ndivk2   30 36 51      # 10, 12 and 17 divisions of the 3 segments, delimited
                       # by 4 points.
kptbounds2  0.0  0.0  0.5 # A point
            0.0  0.0  0.0 # Gamma point
            2/3  1/3  0 # K point
            1.0  1.0  1.0 # Gamma point in another cell.
tolwfr2  1.0d-13
enunit2  1             # Will output the eigenenergies in eV


#Definition of the unit cell for InAs wurtzite
acell 7.8602817707 7.8602817707  12.835877418
angdeg 90. 90. 120.
#rprim  0.5    -0.86602540378      0.0   
#       0.5     0.86602540378      0.0   
#       0.0    0.0      1.0
spgroup 186


#Definition of the atom types
ntypat 2          # There is only one type of atom
znucl 49 33         
                         
#Definition of the atoms
natom 4           # There are four atoms in the unit cell
natrd 2
typat 1 2     
xred              # This keyword indicate that the location of the atoms
                  # will follow, one triplet of number for each atom
   2/3  1/3  3/8 
   #1/3  2/3  7/8 
   2/3  1/3  0.0
   #1/3  2/3  1/2

#Definition of the planewave basis set
ecut 50         # Maximal kinetic energy cut-off, in Hartree
prtvol 2

#Definition of the SCF procedure
nline 30
nnsclo 30
nstep 50          # Maximal number of SCF cycles
diemac 12.0       # Although this is not mandatory, it is worth to
                  # precondition the SCF cycle. The model dielectric
                  # function used as the standard preconditioner
                  # is described in the "dielng" input variable section.       
Attachments
InAswurtzite2.png
InAswurtzite2.png (34.98 KiB) Viewed 21605 times

Jordan
Posts: 282
Joined: Tue May 07, 2013 9:47 am

Re: InAs band structure

Post by Jordan » Mon Nov 23, 2015 8:13 am

I have not look at the reference but just to give you some hints, the band structure depends on the functional you use LDA/GGA and event the variant of functional (which LDA or GGA).
Then GW can be used for semiconductor to correct the band gap and more generally the eigen energies and thus the band structure.
Finally, the band structure also depends on the pseudo potential you use in case of norm conserving or atomic data in the cas of PAW calculation.

Jordan

aaaa202
Posts: 20
Joined: Tue Oct 27, 2015 2:08 pm

Re: InAs band structure

Post by aaaa202 » Wed Dec 02, 2015 12:07 pm

okay thanks, Im now trying to perform calculations using the gw method instead.
Actually can you help me understand something: As far as I know from litterature on DFT, it is a theory for calculating the ground state properties of the system. The Kohn sham energies and orbitals have no physical meaning themselves. So how is it that we are able to obtain the band structure in the first place?
Also can you explain to me how the nshiftk and shiftk work, I am not sure how the k-grid is assembled from them. I am now trying to simulate for wurtzite but I get the error that my k-grid does not respect the symmetries of the problem. How do I know what to choose?

Code: Select all

# Crystalline silicon
# Calculation of the GW correction to the direct band gap in Gamma
# Dataset 1: ground state calculation
# Dataset 2: calculation of the kss file
# Dataset 3: calculation of the screening (epsilon^-1 matrix for W)
# Dataset 4: calculation of the Self-Energy matrix elements (GW corrections)

ndtset      4

 ngkpt    2 2 2         # Density of k points used for the automatic tests of the tutorial
#ngkpt    4 4 4        # Density of k points needed for a converged calculation

nshiftk  4
shiftk   0.0 0.0 0.0  # This grid contains the Gamma point, which is the point at which
         0.0 0.5 0.5  # we will compute the (direct) band gap. There are 19 k points
         0.5 0.0 0.5  # in the irreducible Brillouin zone, if ngkpt 4 4 4 is used.
         0.5 0.5 0.0
istwfk  *1            # For the GW computations, do not take advantage of the
                      # specificities of k points to reduce the number of components of the
                      # wavefunction.

# Dataset1: usual self-consistent ground-state calculation
# Definition of the k-point grid
shiftk1  0.5 0.5 0.5  # This grid is the most economical, but does not contain the Gamma point.
         0.5 0.0 0.0
         0.0 0.5 0.0
         0.0 0.0 0.5
istwfk1 *0            # For the ground state, let the code use the time-reversal symmetry
prtden1  1            # Print out density

# Dataset2: calculation of kss file
# Definition of k-points
iscf2    -2             # Non self-consistent calculation
getden2  -1             # Read previous density file
kssform2 3
nband2   105
nbandkss2 100        # Number of bands to store in KSS file
nbdbuf2     5

# Dataset3: Calculation of the screening (epsilon^-1 matrix)
optdriver3  3        # Screening calculation
getkss3     -1       # Obtain KSS file from previous dataset
nband3      25       # Bands to be used in the screening calculation
ecutwfn3    3.6      # Planewaves to be used to represent the wavefunctions
ecuteps3    6.0      # Dimension of the screening matrix
ppmfrq3    16.7 eV  # Imaginary frequency where to calculate the screening


# Dataset4: Calculation of the Self-Energy matrix elements (GW corrections)
optdriver4  4        # Self-Energy calculation
getkss4     -2       # Obtain KSS file from dataset 1
getscr4     -1       # Obtain SCR file from previous dataset
nband4      100      # Bands to be used in the Self-Energy calculation
ecutwfn4    5.0      # Planewaves to be used to represent the wavefunctions
ecutsigx4    6.0      # Dimension of the G sum in Sigma_x
                     # (the dimension in Sigma_c is controlled by npweps)
nkptgw4      1                # number of k-point where to calculate the GW correction
kptgw4                       # k-points
  0.000    0.000    0.000    # (Gamma)
bdgw4       4  5             # calculate GW corrections for bands from 4 to 5
icutcoul4   3        # old deprecated value of icutcoul, only used for legacy

#Definition of the unit cell for InAs wurtzite
acell 7.8602817707 7.8602817707  12.835877418
angdeg 90. 90. 120.
#rprim  0.5    -0.86602540378      0.0   
#       0.5     0.86602540378      0.0   
#       0.0    0.0      1.0
spgroup 186


# Definition of the atom types
ntypat  2         # There are two types of atoms
znucl 49 33       # The keyword "znucl" refers to the atomic number of the
                  # possible type(s) of atom. The pseudopotential(s)
                  # mentioned in the "files" file must correspond
                  # to the type(s) of atom. Here they are In and As.
                         
# Definition of the atoms
natom 4           # There are four atoms
natrd 2
typat  1 2        # They both are of type 1, that is, Silicon.
xred              # This keyword indicate that the location of the atoms
                  # will follow, one triplet of number for each atom
   2/3  1/3  3/8 
   #1/3  2/3  7/8 
   2/3  1/3  0.0
   #1/3  2/3  1/2

# Definition of the planewave basis set (at convergence 16 Rydberg 8 Hartree)
ecut 8.0          # Maximal kinetic energy cut-off, in Hartree

# Definition of the SCF procedure
nstep   10        # Maximal number of SCF cycles
diemac  12.0      # Although this is not mandatory, it is worth to
                  # precondition the SCF cycle. The model dielectric
                  # function used as the standard preconditioner
                  # is described in the "dielng" input variable section.
                  # Here, we follow the prescription for bulk silicon.
tolwfr  1.0d-10   

# This line added when defaults were changed (v5.3) to keep the previous, old behaviour
  iscf 5


#%%<BEGIN TEST_INFO>
#%% [setup]
#%% executable = abinit
#%% [files]
#%% files_to_test =
#%%   tgw1_9.out, tolnlines= 70, tolabs=  7.000e-02, tolrel=  3.000e-02, fld_options= -ridiculous
#%% psp_files = 14si.pspnc
#%% [paral_info]
#%% max_nprocs = 4
#%% [extra_info]
#%% authors =
#%% keywords = GW
#%% description =
#%%<END TEST_INFO>

Edit: How exactly are my values for ecutsigx, npwsigx, or nshsigx related to my k-point grid? Because when I change to a grid that preserves the symmetry I get the error:
One of the three variables ecutsigx, npwsigx, or nshsigx
must be non-null. Returning.
src_file: m_gsphere.F90
src_line: 1906

Jordan
Posts: 282
Joined: Tue May 07, 2013 9:47 am

Re: InAs band structure

Post by Jordan » Fri Dec 04, 2015 8:31 am

I won't be able to help you with all your question but i'll give a try
1) Yes you are right, DFT is not able, in theory to produce the band structure of the system. Indeed, we just know that the density and only the density matches between the real system and the fake KS system. But, surprisingly, it appears that the band structure produced with the KS wavefunctions is usually very close to the real system one and thus we make the short cut and assumption saying the band structure calculated with DFT+KS is the one of the system. But, a priori, nothing allows us to do this.
2) the shiftk and nshiftk are simply a way of better sampling the BZ with a reduced number of kpt compared to non shift grid. Read e.g. H. J. Monkhorst and J. D. Pack, Phys. Rev. B 13, 5188 (1976).
Usually if there is a message telling you the k-mesh does not respect the symmetries of the problem, it means the Gamma point might have been shift and so removing the shifts should help.

Cheers

shalom
Posts: 12
Joined: Wed Mar 01, 2017 5:00 pm

Re: InAs band structure

Post by shalom » Wed Mar 01, 2017 5:11 pm

Hello aaaa2.
I have followed your whole discussion.
I am also a nurse in this work of Abinit.
I just want to know how you run the code,
with which .files file and with what command?

Locked