Login Logout Register Discuss Discuss Edit Edit
Jump to: navigation, search

Electronic band structure of AlAs using ELK test

In this project we demonstrate use of Elk to calculate the electronic band structure of AlAs. AlAs is a popular III-V semiconducting material with direct bandgap. AlAs bandgap is wider than the GaAs bandgap but their lattice dimensions are almost exactly same. This means one can easily deposit them in layers without inducing any lattice strain. For this reason, AlAs is very common material in optoelectronic semiconductor devices.

AlAs crystal structure is what is called the zincblende structure. Zincblende structure is exactly same as the diamond lattice of Si except that zincblende has two atomic species. Diamond lattice can be visualized as a FCC cubic lattice with 4 additional atoms quarter way along the 4 body diagonals. In zincblende lattice, these 4 additional atoms are of difference species. These 4 additional atoms can actually be seen as part of another FCC cubic lattice. Therefore, both diamond lattice as well as zincblende lattice can also be visualized as two interpenetrating FCC lattices.

Model File Tree

Software Used



Elk is an all-electron full-potential linearized augmented-plane-wave (FP-LAPW) code for determining the properties of crystalline solids. It was developed originally at the Karl-Franzens-Universit¨at Graz as part of the EXCITING EU Research and Training Network project. The guiding philosophy during the implementation of the code was to keep it as simple as possible for both users and developers without compromising on its capabilities.

Using Elk on Kogence

To see detailed step-by-step instructions on how to use Elk on Kogence free cloud supercomputing platform [click here].

For more details see Elk FP-LAPW .



GNU Octave is software featuring a high-level programming language, primarily intended for numerical computations. Octave helps in solving linear and nonlinear problems numerically, and for performing other numerical experiments using a language that is mostly compatible with Matlab. It may also be used as a batch-oriented language. Since it is part of the GNU Project, it is free software under the terms of the GNU General Public License.

For more details see Octave .



VESTA is a 3D visualization program for structural models, volumetric data such as electron/nuclear densities, and crystal morphologies. VESTA is a successor to two 3D visualization programs, VICS and VEND, in the VENUS (Visualization of Electron/NUclear and Structures) software package.

For more details see VESTA .


Xmgrace For more details see Xmgrace .


Execute This Model on Kogence

Following are the list of model files in this project. In order to execute this model or fork and modify this model, click on any of the file links below. After logging-in (you can self register for a free account), you will be able to see the code listing. Follow the instructions in Elk FP-LAPW to navigate the platform and execute the code.

Main Input and Output Files

Elk does not come with any GUI. The code requires a single user input file, elk.in. elk.in for this project can be reviewed by clicking on the file link in the "Model File Tree" Section. Elk outputs data in standard formats and can easily be plotted with several common charting and data analysis utilities such as VESTA , ParaView, Matlab and Octave, all of which are available on Kogence. In this project we used xmgrace to chart the band structures (see Fig 1).

elk.inis written as a set of input blocks. Some important input blocks in this project are described below. atomsinput block defines the atomic species as well as their positions in the unit cell.
  2                                 : nspecies
  'Al.in'                           : spfname
  1                                 : natoms; atposl below
  0.0   0.0   0.0
  0.25  0.25  0.25
nspecies defines the number of atomic species in a unit cell (2 in this example: Al and As). Line following is the name of the first species. Line following that defines the number of atoms of that species in a unit cell. Line following that defines the position of those atoms in lattice coordinates. This pattern then repeats for the next species. avecinput block defines the lattice vectors of the crystal in atomic units (Bohr).
  0.5  0.5  0.0
  0.5  0.0  0.5
  0.0  0.5  0.5
tasks input block defines a list of tasks for the code to perform sequentially.
In this example, we are telling Elk to calculate the ground state (i.e. task 0) as well as band structure plot that includes the s, p, d, f character (i.e. task 21). About a dozen of *.OUTfiles will be created among them INFO.OUT (information on self-consistent loop), TOTENERGY.OUT (total energy in Hartree (Ha) for every self-consistent loop), DTOTENERGY.OUT (energy difference between two consecutive self-consistent loops), and STATE.OUT (density and potential data). After the calculations are finished the quality of the calculations should be improved by increasing the k-point mesh size. To do this change the tasks value from 0 to 1 (to resume the ground-state calculations using density from STATE.OUT) and increase the ngridk from 4 4 4 to 10 10 10 (to get more precise total energy value). plot1d input block defines the path in reciprocal space (in this project) along which data for a 1D plot is to be produced. The user should provide nvp1d vertices in lattice coordinates (i.e. coordinates for 3 vertices in the example below). npp1ddefines the number of data points in the plot.
  3  200                                : nvp1d, npp1d
  0.5  0.0  0.0                         : vlvp1d
  0.0  0.0  0.0
  0.5  0.5  0.0


As specified by the plot1d input block in the elk.in file, bandstructure of AlAs is calculated along (0.5 0.0 0.0)->(0.0 0.0 0.0)->(0.5 0.5 0.0) in the reciprocal lattice. The bandstructure is outputted in the file BAND_S02_A0001.OUT. This is plotted using xmgrace as

xmgrace -settype xydy BAND_S02_A0001.OUT -settype xy BANDLINES.OUT -param AlAs.par

The resulting chart is shown below.

Fig.1: Bandstructure of AlAs along (0.5 0.0 0.0)->(0.0 0.0 0.0)->(0.5 0.5 0.0) plotted in xmgrace utility.
One can also chart the first two columns of the file BAND_S02_A0001.OUT in Octave or Matlab.
Fig.2: Bandstructure of AlAs along (0.5 0.0 0.0)->(0.0 0.0 0.0)->(0.5 0.5 0.0) plotted in Octave.

After refining the results with task 1 we replot the bands as following

Related Models

Following are some related models available for cloning/copying by anyone:

Click on the category links at the bottom of this page to navigate to a full list of simulation models in similar subject area or similar computational methodology.