SUMMER SCHOOL ON COMPUTATIONAL MATERIALS SCIENCE

Hands-on introduction to Electronic Structure and Thermodynamics Calculations of Real Materials

University of Illinois, Urbana-Champaign
June, 2005

Laboratory associated with lecture of R. Martin

Electron bands in crystals: calculations in a plane wave basis with empirical potentials, and using empirical tight-binding
Purpose of exercises:
These exercises are designed to illustrate the features of electronic bands in materials. They show features that are common to all independent-electron calculations. They can be viewed as approximate Kohn-Sham calculations and thus are appropriate as an introduction to more complete methods that carry out full self-consistent Kohn-Sham calculations. The examples considered here are semiconductor materials and nanotubes and several of the results can be compared with the calculations done later with ABINIT and SIESTA. The codes illustrate the use of modular programming (in F90) with features common to band structure codes in the Common directory and features specialized to plane waves and tight-binding in the PW and TB directories. The Doc directory contains a full manual. The source codes for TBPW are available for public download at the MCC site. For this school, we will use a version compiled for the workstations. Instructions for running the codes is o the web page.

Credit:
The programs were written primarily by Todd Beaudet and Nichols Romero.

Solutions
Representative solutions are posted at
Lab Solutions

Use of TBPW code
Follow instructions in the lab to access the programs. More detailed information on running the codes can be found in tbpw.pdf in the Doc directory.

  1. The planewave and tightbinding codes are already compliled and can be run from any directory in your account by typing
    > pw inputfilename
    or
    > tb inputfilename
    (If you want to use the code on a different computer in the future, you can compile the code by executing the make command. Run make ONLY in the main TBPW directory. This automatically compiles the files in the Common/, PW/, and TB/ directories. The arch.make file muy need to be changed for the architecture of the particular computer.)
  2. Example input and output files are in the Example/ directories in PW/ and TB/. You can run the code in the Example directory or (preferred) by creating a new directory and copying an example input file to the that directory. For example:
    > pwd
    ../TBPW/PW/
    > mkdir MyCalcs
    > cp Examples/GaAs-Zhang.in MyCalcs/.
    > cd MyCalcs/
    > ls
    GaAs-Zhang.in
    > pw GaAs-Zhang.in
  3. The output is in plot.dat
    To plot the bands type at the command prompt:
    >gnuplot gnuplot.dat
    This also produces a postscript file of the graph called bands.ps
  4. You can view the ps file with the command
    >ggv band.ps
  5. The output files plot.dat, gnuplot.dat are overwritten each time the code is run in the given directory. The file bands.ps is overwritten when gnuplot gnuplot.dat is executed.

Exercises with TBPW code

Plane wave empirical pseudopotential

  1. Carry out calculation for GaAs following instructions above.

    Check to see if your result matches the one given in the sample output given in the lecture.

    Repeat the calculations for Si using the data file Si-Zhang.in

    Compare the bands of Si and GaAs. Note similarities and differences.
    Note that the lowest state at the k=0 (Gamma or Ga) point is non-degenerate. It is the bonding state formed from s-like orbitals of each Si atom. What do you think is the nature of the lowest band in GaAs?
    The next higher state at Gamma is 3-fold-degenerate (the bonding state formed from p-like orbitals of each Si atom. This is the highest occupied state since Si has 8 valence electrons/cell which fills 4 bands. The highest occupied state in GaAs is also 3-fold-degenerate. Is this state mainly on the As or Ga atom (you cannot tell this from the eigenvalues, but you can guess the answer from chemical reasoning.).
    The fundamental band gap for both Si and GaAs is the smallest energy difference between the lowest empty band (#5) and the highest filled band (#4).

  2. The next two problems require editing the input file. Save the edited file with a different name in your directory. You can view plots of the full bands by editing the file GaAs-Zhang.in. You can find the values of the band energies printed out only at the Gamma point if you use the file GaAs-Zhang-gamma.in

  3. For GaAs, change the lattice constant (a change of 1% is reasonable) and determine if the band gap increases or decreases with pressure. Before you do the calculation, make a prediction: Wlll the fundamental gap increase or decrease with pressure (i.e. with decreased lattice constant)?
  4. Distort the lattice in two ways as listed below. In each case you should find that bands shift and certain degenerate states split.
    [Note that these exercises are closely related to the ABINIT tutorials. The potentials here are fitted "empirical" matrix elements, whereas ABINIT calculates all the matrix elements using the Kohn-Sham equations. The results should be qualitatively similar. The change in electronic bands with strain and atomic displacements are examples of "deformation potentials" and "electron-phonon interactions" to linear order in the strain of displacement. The change in total total energy is second order in the strain or displacements and can be calculated by response functions. See ABINIT tutorials.]
  5. You can explore many possibilities with the empirical potentials given: "Si", "Ga", "As", "El" (no potential). This could include Si in the fcc structure that exists at high pressure, elemental As, etc.
  6. Conjugate gradient minimization using an FFT to compute H*psi respectively in reciprocal and real spaces for the kinetic and potential terms. An example can be run by comparing the energies at the gamma point using GaAs-Zhang-gamma.in and GaAs-Zhang-gamma-CGFFT.in. The energies should be the same to the specified accuracy. The purpose of this exercise is that this is the method used in ABINIT. Here the algorithm is apparent in the layout of the present f90 code. You can explore the role of preconditioning, etc. Note: The code is MUCH slower than diagonalization for this problem! This is because it is a small problem (the cross over point is for much larger problems) and because we have taken a very bad starting point - random input guess for the eigenvectors - in order to test the code.

Tight-binding calculations for various problems
Tight-binding calculations for Si, GaAs and carbon nanotubes can be done using the example files in TB/Examples
[Note that these exercises are closely related to the SIESTA calculations. The tight-binding parameters are fitted "empirical" matrix elements, whereas SIESTA calculates all the matrix elements using the Kohn-Sham equations. Qualitatively the results are similar. See SIESTA labs.]

  1. Carry out calculations for Si using the file Si-Vogl.in using the same procedures as for plane waves. Note that the calculations are MUCH faster than for plane waves!
    > pwd
    ../TBPW/TB/
    > mkdir MyCalcs
    > cp Examples/Si-Vogl.in MyCalcs/.
    > cd MyCalcs/
    > ls
    Si-Vogl.in
    > tb Si-Vogl.in

    This is an accurate model and compares closely to experiment and to the empirical planewave calculations.
  2. Calculate the bands with the simpler Harrison model (Si-Harrison-1.in) which uses the "universal parameters" (W. A. Harrison, Elementary Electronic Structure, World Publishing, Singapore, 1999). These parameters are meant describe approximately a range of materials; as you will find, the Si bands are not very accurate.
  3. Calculate the bands for Ni using the simple Harrison model (Ni-Harrison-1.in) which uses the "universal parameters" (W. A. Harrison, Elementary Electronic Structure, World Publishing, Singapore, 1999). Although the bands are not very accurate, they illustrate clearly a wide s band cross 5 narrower d bands.
  4. Carry out calculations for graphene and for selected nanotubes using the example files. There are two types of tight-binding parameters considered: a simple near-neighbor model that only includes one pi state per carbon atom (the energies are in units of the hopping matrix element set equal to 1), and a calculation with the Harrison parameters including 4 states per atom and with energies in eV units. You can reproduce bands close to those shown in the figure in the lecture notes for zig-zag and armchair tubes.
    1. Graphene: Show that the bands indeed have zero gap at the K point with bands just touching with finite slope. The analytic equation for the bands is given in Martin, Eqs. (14.15) and (14.16). [To be consistent with figure 14.9, kx and ky must be interchanged in the equation. Also the K point given below the equations is incorrect; it should be kx=4pi/3a, ky=0.] Are the bands symmetry about energy zero as they must be from the nalytic equations?
    2. Carry out calculations for the (12,0) and (13,0) tubes. These illustrate the rules for nanotubes to be metallic only if the graphene K point is included in the finite set of k-points for the nanotube. Outside of the lab, show this for yourself by mapped the k-points onto the graphene BZ. metallic and semiconduction tubes are observed:
    3. Additional if there is time: Do the calculations for the (5,5) "armchair" tube and analyze the results. Carry out calculations for your choice of nanotubes using the Applet code at Nanotube construction site . See Prof. Martin for further information if you are interested. Other information can be found at ElectronicStructure.org

Sample input files:
These are given here for information purposes. For the lab exercises, there are already input files in the PW/Examples and TB/Examples directories that include each of the cases shown here, plus many others. Below are given several example input files. At the first of each file is the title describing the calculation:
1. Si input that will work for both plane waves or tight binding.
Also give are data for a GaAs calculations and tightbinding calculations for the pi bands of graphene and a nanotube example. The GaAs, graphene, or nanotube calculations will be run if their data are moved to the first of the file. The atomic coordinates for the nanotube were cut-and-paste from output generated on-line using the Applet for nanotube construction at http://jcrystal.com/steffenweber/JAVA/jnano/jnano.html See other useful sites at http://electronicstructure.org/


***  Calculation for Si
***  Pseudopotential for Si taken from
***  Zhang, Yeh, and Zunger, Phys. Rev. B 48 11204 (1993)

*** Tight binding Parameters taken from
*** Vogl et al. J. Phys. Chem. Solids Vol. 44, pp 365 (1983).

*** See Martin, Fig, 14.6 for bands calculated with these the tight-binding
*** parameters of Vogl uesed here. The empirical pseudopotential bands are similar.
***  The fcc BZ with k-point labels is give in Martin, Fig. 14.10

***  Information for lattice
NumberOfDimensions 3
LatticeConstant 10.2612170
LatticeVectors
0.0 0.5 0.5
0.5 0.0 0.5
0.5 0.5 0.0

*** Information for atomic positions
NumberOfAtoms 2
NumberOfSpecies 1
ChemicalSpeciesLabel
1 14 Si
(Chemical Species label (first number) assumed to be in sequential order)

AtomicCoordinatesFormat ScaledByLatticeVectors
AtomicCoordinatesAndAtomicSpecies
-0.125 -0.125 -0.125 1
 0.125  0.125  0.125 1

*** Information for k-points and number of bands to plot
NumberOfBands 8
NumberOfLines 5
NumberOfDivisions 15
KPointsScale ReciprocalLatticeVectors
KPointsAndLabels
0.0   0.0   0.0      Ga
0.375 0.375 0.75     K
0.5   0.5   0.5      L
0.0   0.0   0.0      Ga
0.0   0.5   0.5      X
0.25  0.625 0.625    U

*** Information for Plane Wave Calculation (atomic units assumed)
EnergyCutOff 6.0

*** Information for the Diagonalization Routines used only in PW
DiagonalizationSwitch 0


*** Information for Tight Binding Calculation
MaximumDistance 5.5
TightBindingModelType  0
NumChannelsPerSpecie
1 2
InputEnergiesInEV
OrbitsAndEnergies
1 1 4
0  0  -4.2
1  1   1.715
1  2   1.715
1  3   1.715
1 2 1
0  0   6.68
numSKparams 5
SKMatrices
0 0 0 1 1 1 1  0.0 -2.075
0 1 0 1 1 1 1  0.0  2.480816372
1 1 0 1 1 1 1  0.0  2.71625
1 1 1 1 1 1 1  0.0 -0.715
1 0 0 1 2 1 1  0.0 -2.327399971


*************************************************************************

***  Calculation for GaAs
***  Pseudopotential for GaAs taken from
***  Zhang, Yeh, and Zunger, Phys. Rev. B 48 11204 (1993)

***  Tightbinding Model taken from
***  Vogl et al. J. Phys. Chem. Solids Vol. 44, pp 365 (1983).

***  The fcc BZ with k-point labels is give in Martin, Fig. 14.10
*** The bands are similar to those given in Figs 12.2 and 17.7 for GaAs bands
***  except that the gap with the empirical potential should be close to the experimental
*** gap of ~ 2eV instead of the LDA gap < 1eV as shown in Fig. 17.1.

***  Information for lattice
NumberOfDimensions 3
LatticeConstant 10.6769569
LatticeVectors
0.0 0.5 0.5
0.5 0.0 0.5
0.5 0.5 0.0

*** Information for atomic positions
NumberOfAtoms 2
NumberOfSpecies 2
ChemicalSpeciesLabel
1 31 Ga
2 33 As
(Chemical Species label (first number) assumed to be in sequential order)

AtomicCoordinatesFormat ScaledByLatticeVectors
AtomicCoordinatesAndAtomicSpecies
-0.125 -0.125 -0.125 1
 0.125  0.125  0.125 2

*** Information for k-points and number of bands to plot
NumberOfBands 8
NumberOfLines 5
NumberOfDivisions 15
KPointsScale ReciprocalLatticeVectors
KPointsAndLabels
0.0   0.0   0.0      Ga
0.375 0.375 0.75     K
0.5   0.5   0.5      L
0.0   0.0   0.0      Ga
0.0   0.5   0.5      X
0.25  0.625 0.625    U

*** Information for Plane Wave Calculation (atomic units assumed)
EnergyCutOff 6.0

*** Information for the Diagonalization Routines used only in PW
DiagonalizationSwitch 0

*** Information for Tight Binding Calculation
***  General Rotation Method
TightBindingModelType  0
MaximumDistance 5.5
NumChannelsPerSpecie
1 2
2 2
InputEnergiesInEV
OrbitsAndEnergies
1 1 4
0  0   -8.341
1  1   -1.0414
1  2   -1.0414
1  3   -1.0414
1 2 1
0  0    8.5914
2 1 4
0  0   -2.6569
1  1    3.6686
1  2    3.6686
1  3    3.6686
2 2 1
0  0    6.7386
numSKparams 7
SKMatrices
0 0 0 1 1 1 2 0.0 -1.612825
0 1 0 1 1 1 2 0.0  1.939896904
1 0 0 1 1 1 2 0.0 -2.504502166
1 1 0 1 1 1 2 0.0  3.0276
1 1 1 1 1 1 2 0.0 -0.780825
0 1 0 2 1 1 2 0.0  1.21055
1 0 0 1 2 1 2 0.0 -1.201925

******************************************************************

*** Graphene - calculation for pi band with n.n. t = -1
***  Output energies are in units of the n.n. hopping
***  parameter t - set equal to 1 in the input file

*** See Martin, Fig. 4.5 for defintion of lattice; SEc. 4.2 for the Recip. Lattice
*** The BZ with nottaion for k-points is given in Fig. 14.9
*** See Martin, Sec. 14.7 for description of pi bands in tightbinding formalism

*** TB requires 3 dimensions in the definitions of the orbitals and direction cosines
*** A 1d or 2d calculation is done by setting the lattice spacing in the other
*** dimensions larger than to cutoff distance, so they are effectively 1d or 2d

***  Information for lattice
***  Lattice constant = sqrt(3) * NN distance
***  NN distance ~ 1.42 A
NumberOfDimensions 3
LatticeConstant 2.4595
LatticeVectors
1.0 0.0 0.0
0.5 0.866025 0.0
0.0 0.0 10.0

*** Information for atomic positions
NumberOfAtoms 2
NumberOfSpecies 1
ChemicalSpeciesLabel
1 8 C
(Chemical Species label (first number) assumed to be in sequential order)

AtomicCoordinatesFormat ScaledCartesian
AtomicCoordinatesAndAtomicSpecies
0     0        0         1
0     0.57735  0         1

*** Information for k-points and number of bands to plot
NumberOfBands 2
NumberOfLines 3
NumberOfDivisions 20
KPointsScale TwoPi/a
KPointsAndLabels
0.0   0.0       0.0      Ga
0.5   0.28868   0.0      M
0.66667   0.0   0.0      K
0.0   0.0       0.0      Ga

*** Information for Tight Binding Calculation
***  Model with only pi bands with nearest-neigh. interactions
TightBindingModelType  10
MaximumDistance 2.0
OrbitsAndEnergies
1  1    1
0  0  0.0
TightBindingParameters
2
-1.0
1.5

*********************************************************************
*** Calculation for a (12,0) C nanotube - pi bands only with n.n. hopping t=-1

*** See Martin, Sec. 14.7 for dscription of nanotubes with bands given in Fig. 14.9
*** Useful site with Applet for nanotube construction http://jcrystal.com/steffenweber/JAVA/jnano/jnano.html
*** See other useful sites at http://electronicstructure.org/


***  Information for lattice
***  Carbon nanotube that repeats in z direction
***  Bond length = 1.42 A
***  (12,0) Tube
NumberOfDimensions 3
LatticeConstant 1.0
LatticeVectors
0.0 25.0 0.0
25.0 0.0 0.0
0.0 0.0 4.26

*** Information for atomic positions
NumberOfAtoms 48
NumberOfSpecies 1
ChemicalSpeciesLabel
1 8 C
(Chemical Species label (first number) assumed to be in sequential order)

AtomicCoordinatesFormat ScaledCartesian
AtomicCoordinatesAndAtomicSpecies
4.697     0         0         1
4.537     1.216     2.13      1
4.697     0         1.42      1
4.537     1.216     3.55      1
4.068     2.349     0         1
3.322     3.322     2.13      1
4.068     2.349     1.42      1
3.322     3.322     3.55      1
2.349     4.068     0         1
1.216     4.537     2.13      1
2.349     4.068     1.42      1
1.216     4.537     3.55      1
0         4.697     0         1
-1.216    4.537     2.13      1
0         4.697     1.42      1
-1.216    4.537     3.55      1
-2.349    4.068     0         1
-3.322    3.322     2.13      1
-2.349    4.068     1.42      1
-3.322    3.322     3.55      1
-4.068    2.349     0         1
-4.537    1.216     2.13      1
-4.068    2.349     1.42      1
-4.537    1.216     3.55      1
-4.697    0         0         1
-4.537    -1.216    2.13      1
-4.697    0         1.42      1
-4.537    -1.216    3.55      1
-4.068    -2.349    0         1
-3.322    -3.322    2.13      1
-4.068    -2.349    1.42      1
-3.322    -3.322    3.55      1
-2.349    -4.068    0         1
-1.216    -4.537    2.13      1
-2.349    -4.068    1.42      1
-1.216    -4.537    3.55      1
0         -4.697    0         1
1.216     -4.537    2.13      1
0         -4.697    1.42      1
1.216     -4.537    3.55      1
2.349     -4.068    0         1
3.322     -3.322    2.13      1
2.349     -4.068    1.42      1
3.322     -3.322    3.55      1
4.068     -2.349    0         1
4.537     -1.216    2.13      1
4.068     -2.349    1.42      1
4.537     -1.216    3.55      1


*** Information for k-points and number of bands to plot
NumberOfBands 48
NumberOfLines 1
NumberOfDivisions 20
KPointsScale ReciprocalLatticeVectors
KPointsAndLabels
0.0   0.0   0.0      Ga
0.0   0.0   0.5      X

*** Information for Tight Binding Calculation
***  Model with only pi bands
TightBindingModelType  10
MaximumDistance 2.0
OrbitsAndEnergies
1  1    1
0  0  0.0
TightBindingParameters
2
-1.0
1.5

*********************************************************************
*** Calculation for a (13,0) C nanotube - pi bands only with n.n. hopping t=-1

*** Calculation for C nanotube - pi bands only with n.n. hopping t=-1

*** See Martin, Sec. 14.7 for dscription of nanotubes with bands given in Fig. 14.9
*** Useful site with Applet for nanotube construction http://jcrystal.com/steffenweber/JAVA/jnano/jnano.html
*** See other useful sites at http://electronicstructure.org/


***  Information for lattice
***  Carbon nanotube that repeats in z direction
***  Bond length = 1.42 A
***  (13,0) Tube
NumberOfDimensions 3
LatticeConstant 1.0
LatticeVectors
0.0 25.0 0.0
25.0 0.0 0.0
0.0 0.0 4.26

*** Information for atomic positions
NumberOfAtoms 52
NumberOfSpecies 1
ChemicalSpeciesLabel
1 8 C
(Chemical Species label (first number) assumed to be in sequential order)

AtomicCoordinatesFormat ScaledCartesian
AtomicCoordinatesAndAtomicSpecies
5.089     0         0         1
4.941     1.218     2.13      1
5.089     0         1.42      1
4.941     1.218     3.55      1
4.506     2.365     0         1
3.809     3.374     2.13      1
4.506     2.365     1.42      1
3.809     3.374     3.55      1
2.891     4.188     0         1
1.805     4.758     2.13      1
2.891     4.188     1.42      1
1.805     4.758     3.55      1
0.613     5.052     0         1
-0.613    5.052     2.13      1
0.613     5.052     1.42      1
-0.613    5.052     3.55      1
-1.805    4.758     0         1
-2.891    4.188     2.13      1
-1.805    4.758     1.42      1
-2.891    4.188     3.55      1
-3.809    3.374     0         1
-4.506    2.365     2.13      1
-3.809    3.374     1.42      1
-4.506    2.365     3.55      1
-4.941    1.218     0         1
-5.089    -0        2.13      1
-4.941    1.218     1.42      1
-5.089    -0        3.55      1
-4.941    -1.218    0         1
-4.506    -2.365    2.13      1
-4.941    -1.218    1.42      1
-4.506    -2.365    3.55      1
-3.809    -3.374    0         1
-2.891    -4.188    2.13      1
-3.809    -3.374    1.42      1
-2.891    -4.188    3.55      1
-1.804    -4.758    0         1
-0.613    -5.052    2.13      1
-1.804    -4.758    1.42      1
-0.613    -5.052    3.55      1
0.613     -5.052    0         1
1.805     -4.758    2.13      1
0.613     -5.052    1.42      1
1.805     -4.758    3.55      1
2.891     -4.188    0         1
3.809     -3.374    2.13      1
2.891     -4.188    1.42      1
3.809     -3.374    3.55      1
4.506     -2.365    0         1
4.941     -1.218    2.13      1
4.506     -2.365    1.42      1
4.941     -1.218    3.55      1

*** Information for k-points and number of bands to plot
NumberOfBands 52
NumberOfLines 1
NumberOfDivisions 20
KPointsScale ReciprocalLatticeVectors
KPointsAndLabels
0.0   0.0   0.0      Ga
0.0   0.0   0.5      X

*** Information for Tight Binding Calculation
***  Model with only pi bands
TightBindingModelType  10
MaximumDistance 2.0
OrbitsAndEnergies
1  1    1
0  0  0.0
TightBindingParameters
2
-1.0
1.5


R. M. Martin (rmartin@uiuc.edu)