Header Ads Widget

Ab initio Calculations Using QELK SUITE Package

Last Posts

10/recent/ticker-posts

How to calculate Band Structure of GaAs with Elk alone

Gallium arsenide's band structure, computed with Elk alone -- a type 1, independent calculation with the QELK suite (no Quantum ESPRESSO involved here; the QE-only counterpart is the GaAs_band_qe example). Unlike silicon, GaAs is a direct-gap semiconductor, and it has two different atoms and a Ga 3d semicore shell.

 

The input file

 

We need only the input file

GaAs_band_elk.qelk

version 1

cell bohr
  -5.3400  0.0000  5.3400
   0.0000  5.3400  5.3400
  -5.3400  5.3400  0.0000
end

atoms crystal
  Ga  0.00  0.00  0.00
  As  0.25  0.25  0.25
end

species Ga
  elk_file   Ga.in
  qe_pseudo  Ga.pbe-dn-kjpaw_psl.0.2.upf
  qe_mass    69.723
end

species As
  elk_file   As.in
  qe_pseudo  As.pbe-n-kjpaw_psl.0.2.upf
  qe_mass    74.922
end

step bands elk
  from initial
  task    0 20
  rgkmax  7.0
  ngridk  8 8 8
  xctype  20
  npp1d   200
  bandpath
    0.0 0.5 0.0   L
    0.0 0.0 0.0   G
    0.5 0.5 0.0   X
    0.5 0.75 0.25 W
    0.0 0.0 0.0   G
  end
end

Note: the cell is the zincblende primitive cell with a = 10.68 bohr (5.34 × 2), Ga at (0,0,0) and As at (1/4,1/4,1/4). xctype 20 (PBE) matches the two PBE pseudopotentials the QE examples use. task 0 20 is a LIST in the SAME step: Elk's task 20 (bands) does not run its own SCF, it reads the STATE.OUT that task 0 writes, and qelk gives every step its own clean directory.

Note: the k-path is the same L-G-X-W-G as the Si examples. Elk's bandpath is in LATTICE coordinates (fractions of the reciprocal primitive vectors), so for this cell L = 0 0.5 0, X = 0.5 0.5 0, W = 0.5 0.75 0.25 -- the familiar L = (.5 .5 .5), X = (0 0 1), W = (0 .5 1) in units of 2Ï€/a. GaAs has the same cell orientation as Si, so the numbers are the same. Typing the cubic numbers into bandpath would send Elk along a different line.

 

Calculation

 

algerien1970@linux-ml0a:~/abinitio/QELK/examples/GaAs_band_elk> qelk GaAs_band_elk.qelk

A first check with --dry-run writes elk.in without launching the binary:

algerien1970@linux-ml0a:~/abinitio/QELK/examples/GaAs_band_elk> qelk GaAs_band_elk.qelk --dry-run

The step's files land in run/00_bands/; the important ones are also copied next to the .qelk file with the step id as prefix (bands.BAND.OUT, bands.INFO.OUT, bands.elk.stdout, ...).

 

SCF result

 

grep -A1 "Convergence targets achieved" bands.INFO.OUT
grep " total energy" bands.INFO.OUT | tail -1
grep " Fermi " bands.INFO.OUT | tail -1
grep "Estimated" bands.INFO.OUT | tail -2
 total energy                :     -4205.24080405
 Fermi                       :     0.187148505774
 Estimated indirect band gap :   0.1910974046E-01  (from k-point 1 to k-point 1)
 Estimated direct band gap   :   0.1910974046E-01  (at k-point 1)

The SCF converged in 19 loops (a 20th is run after the targets are met) on an 8x8x8 mesh of 43 irreducible k-points, 24 crystal symmetries. Elk counts 28 valence electrons: Ga 13 (3d¹⁰4s²4p) and As 15 (3d¹⁰4s²4p³) -- both 3d shells are treated as valence, 36 core electrons stay frozen. The total energy is not comparable with QE's (different zero of energy).

 

Plot

 

plot_elk_bands.py bands.BAND.OUT --qelk GaAs_band_elk.qelk --step bands -o elk_bands.png

Note: Elk writes BAND.OUT energies already relative to the Fermi level, so 0 eV on the plot IS the Fermi level -- do not pass --efermi (that flag is for QE's absolute-scale output).





 

Analysis

 

Twenty-three bands, plotted along L - G - X - W - G. Energies in eV relative to E_Fermi, read from bands.BAND.OUT:

bands  1-5   : -35.4 eV, flat (width 0.02 eV)   -- five flat bands: the As 3d semicore shell
bands  6-10  : -15.1 to -14.9 eV, flat           -- the Ga 3d semicore shell
band   11    : -13.01 (G) to -10.45 eV           -- the lowest valence band, mostly As 4s
bands 12-14  : G = -0.275 eV, threefold          -- the p-derived valence bands
band   15    : G = +0.245 eV, rises to 1.21 (X)  -- the lowest conduction band
bands 16-18  : G = +3.446 eV, threefold
band   19    : G = +7.407 eV

Fourteen occupied bands (28 valence electrons / 2): five As 3d, five Ga 3d, one s-like and three p-like. The two groups of flat bands are the semicore 3d shells, which is why the plot spans more than 50 eV; the Ga 3d level at about -15 eV is the same large peak found in the GaAs partial-DOS tutorial. The valence bandwidth, from the bottom of the s-like band at G (-13.01 eV) to the valence top, is 12.74 eV.

At G the three p-like valence bands are exactly degenerate (all -0.275 eV) and the next conduction level, +0.245 eV, is single -- the 1 + 3 + 1 + 3 pattern of the zincblende Td point symmetry, the same threefold valence top found for silicon. Without spin-orbit coupling (not enabled here), the triple splits into heavy-hole and light-hole branches away from G, as the plot shows.

valence band maximum : -0.275 eV, at G
conduction band min  : +0.245 eV, at G
direct gap at G      :  0.520 eV
other conduction minima: L +0.734 eV, X +1.207 eV

The valence maximum and the conduction minimum are both at G, so GaAs is a direct-gap semiconductor -- the qualitative difference from silicon, whose conduction minimum is near X. The gap read off the bands, 0.520 eV, equals Elk's own estimate in INFO.OUT (0.01910974 Ha = 0.5200 eV, direct, at k-point 1 = G). Both are well below the experimental room-temperature gap of 1.42 eV: plain PBE underestimates semiconductor gaps, so 0.52 eV is the usual DFT result, not a sign that anything is wrong. The Fermi level sits inside the gap, 0.275 eV above the valence maximum and 0.245 eV below the conduction minimum, as expected for a semiconductor at an effective electronic temperature of about 316 K (Fermi-Dirac smearing 0.001 Hartree).

Note: the conduction minimum is at G, which the path contains, so unlike the silicon case the gap read off the path equals Elk's own whole-mesh estimate.

Post a Comment

0 Comments