Electronic band structure of AlAs using ELK
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.
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
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 .
Execute This Model on KogenceFollowing 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 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.
atoms 2 : nspecies 'Al.in' : spfname 1 : natoms; atposl below 0.0 0.0 0.0 'As.in' 1 0.25 0.25 0.25
nspeciesdefines 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).
avec 0.5 0.5 0.0 0.5 0.0 0.5 0.0 0.5 0.5
tasksinput block defines a list of tasks for the code to perform sequentially.
tasks 0 21
*.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
ngridkfrom 4 4 4 to 10 10 10 (to get more precise total energy value).
plot1dinput 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
nvp1dvertices in lattice coordinates (i.e. coordinates for 3 vertices in the example below).
npp1ddefines the number of data points in the plot.
plot1d 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.
After refining the results with
task 1 we replot the bands as following
Following are some related models available for cloning/copying by anyone:
- Fermi surface plot of aluminium (Al) - Copy
- Electronic band structure of AlAs using ELK test
- 3D plot of the charge density of diamond using ELK, Octave an VESTA
- Octave Charting Capability Demonstration (2)
- 3D plot of the charge density of diamond using ELK and OpenDX sdClone
- A 3D plot of the charge density of diamond using ELK and OpenDX sdClone
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.