Author: Stefan Birner, Reinhard Scholz
Tight-binding band structure of graphene¶
The input file used is:
1D_TightBinding_graphene.in
Nearest-neighbor tight-binding approximation¶
In this tutorial we calculate the bulk band structure of graphene which is a two-dimensional crystal (i.e. a monolayer of graphite) using a standard tight-binding approach. For more details, see for example the article [SaitoS2001]
The following figure shows the conduction band pi* (upper part) and valence band pi (lower part) of graphene along special high-symmetry directions in the two-dimensional hexagonal Brillouin zone (k space).
The high symmetry points that are used in this graph (from left to right) are:
K: \(\space \space \textbf{k} = (k_x, k_y) = (0, \frac{2}{3}) \times \frac{2 \pi}{a}\)
Gamma: \(\space \space \textbf{k} = (k_x, k_y) = (0, 0)\)
M: \(\space \space \textbf{k} = (k_x, k_y) = (\frac{1}{3}^{1/2}, 0) \times \frac{2 \pi}{a}\)
K’: \(\space \space \textbf{k} = (k_x, k_y) = (\frac{1}{3}^{1/2}, \frac{1}{3}) \times \frac{2 \pi}{a}\)
Two lines correspond to the case where the s0 parameter is set to zero, i.e. in that case the dispersion of both pi* and pi is the same (apart from the sign, i.e. they are symmetric with respect to the Fermi level EF = 0 eV). In this case the splitting energy at Gamma is three times as large as at the M point:
splitting at Gamma: 6 gamma0 (for s0 = 0)
splitting at M: 2 gamma0 (for s0 = 0)
Two lines correspond to the case where s0 = 0.129. pi* and pi are then nonsymmetric and are close to calculations from first principles and experimental data.
The data points are contained in the following file: TightBinding/BandStructureGraphene.dat
The first column contains integers which refer to the x axis (i.e. numbering of k points), the second column contains the eigenvalue of pi* in units of [eV] (conduction band), the third column contains the eigenvalue of pi in units of [eV] (valence band).
The file TightBinding/k_vectors.dat
contains information about which integer corresponds to which \(k_x\) and \(k_y\) value.
The general formula for these lines read:
The parameters can be specified in the input file:
$numeric-control
...
(nearest-neighbor approximation, i.e. 3 parameters)
tight-binding-parameters = 0d0 ! [eV] E2p: site energy of the 2pz atomic orbital (orbital energy)
-3.013d0 ! [eV] gamma0: C-C transfer energy (usually it holds: -3 eV < gamma0 < -2.5 eV)
0.129d0 ! [] s0 = 0.129: denotes the overlap of the electronic wave function on adjacent sites
! 0d0 ! [] s0 = 0: denotes the overlap of the electronic wave function on adjacent sites
! (usually it holds: s0 < 0.1. Since this value is small, very often, it is neglected.)
Then there are two lines that are linear around the K point (\(\mathbf{k} \cdot \mathbf{p}\) approximation or linear expansion). Their linear dispersion is independent of the parameter s0. Thus for small values of k (i.e. with respect to the K point), the energy dispersion can be approximated by a linear dispersion relation.
where
a is the latticer constant of graphene (a = 0.24612 nm)
the Fermi velocity of the charge varriers is given by \(V_F = 3^{1/2} |\Gamma_ | \frac{a}{2 \hbar} ~= 0.98 \times 106 \space \text{m s}^{-1} \simeq 0.003 c\)
\(c\) is the velocity of light
These data points are contained in this file: TightBinding/BandStructureGraphene_kp.dat
At the K point, the band gap is zero.
The following figure shows the energy dispersion E(\(k_x\), \(k_y\)) of graphene for s0 = 0.129. At the K points, the band gap is zero. The point in the middle is the Gamma point. \(k_x\) is from \([-\frac{2}{3},\frac{2}{3}] \frac{2 \pi}{a}\), the same holds for \(k_y\).
These data points are contained in the files:
TightBinding/BandStructureGraphene_cb.vtr
TightBinding/BandStructureGraphene_vb.vtr
The figure has been generated using the AVS/Express software.
The following figure shows the contour plot of the energy dispersion E(\(k_x\), \(k_y\)) of graphene for s0 = 0 for the conduction band.
(Note that the valence band dispersion is identical, apart from the sign, for s0 = 0.)
These data points are contained in the file: TightBinding/BandStructureGraphene_cb.vtr
The following figure shows the contour plot of the energy dispersion E(\(k_x\), \(k_y\)) of graphene for s0 = 0.129 for the conduction band.
These data points are contained in the file: TightBinding/BandStructureGraphene_cb.vtr
The following figure shows the contour plot of the energy dispersion E(\(k_x\), \(k_y\)) of graphene for s0 = 0.129 for the valence band.
These data points are contained in the file: TightBinding/BandStructureGraphene_vb.vtr
The following figure is the nextnanomat screenshot for the conduction band dispersion E(\(k_x\), \(k_y\)). The six dark areas correspong to the Dirac points in graphene.
Output Options¶
!---------------------------------------------------------------------------!
$output-kp-data
...
bulk-kp-dispersion-3D = yes ! In this case, this refers to the bulk 2D tight-binding energy dispersion E(kx,ky).
! If yes, then the two-dimensional energy dispersion E(kx,ky) is written out.
$tighten
destination-directory = TightBinding/
!---------------------------------------------------------------------------!
! This parameter defines the resolution of the E(kx,ky) energy dispersion.
! E.g. if 'number-of-k-points = 100' then the kx gridding has a total of
! [-100,...,0,...,100] grid points,
! i.e. a total of 2 * 100 + 1 = 201 grid points along the kx direction.
! The same applies for ky direction.
!---------------------------------------------------------------------------!
number-of-k-points = 100 ! ==> 2 * n + 1
Third-nearest-neighbor tight-binding approximation¶
The following figure shows the band structure of graphene. All lines are identical to the ones shown already above with the exception of the blue lines which is the third-nearest-neighbor tight-binding approximation.
The third-nearest-neighbor tight-binding approximation is described in ReichPR2002
The following parameters have been used for the third-nearest neighbor approximation, i.e. 7 parameters:
tight-binding-parameters = -0.28d0 ! [eV] E2p: site energy of the 2pz atomic orbital (orbital energy)
-2.97d0 ! [eV] gamma0: C-C transfer energy (nearest-neighbor, nn)
0.073d0 ! [] s0: denotes the overlap of the electronic wave function on adjacent sites (nn)
-0.073d0 ! [eV] gamma1: (2nd-nn)
0.018d0 ! [] s1: (2nd-nn)
-0.33d0 ! [eV] gamma2: (3rd-nn)
0.026d0 ! [] s2: (3rd-nn)
The parameters are taken from Reich et al. Note that the band gap at the K point is not exactly zero when using these parameters.)
More Options¶
Inside the code several options, i.e. several algorihms, exist to setup the tight-binding Hamiltonian:
tight-binding-method = bulk-graphene-Saito-nn ! nn = nearest-neighbor
= bulk-graphene-Scholz-nn ! nn = nearest-neighbor
= bulk-graphene-Scholz-3rd-nn ! 3rd-nn = third-nearest-neighbor
= bulk-graphene-Reich-3rd-nn ! 3rd-nn = third-nearest-neighbor
Special option for third-nearest-neighbor tight-binding approximation in graphene:
tight-binding-calculate-parameter = no ! (default) use 7 parameters (E2p, gamma0, gamma1, gamma2, s0, s1, s2)
= E2p ! use 6 parameters (gamma0, gamma1, gamma2, s0, s1, s2)
= gamma1 ! use 6 parameters (E2p, gamma0, gamma2, s0, s1, s2)
\(E_{2p}\) or gamma1 can be calculated internally in order to force \(E(K)\) = 0 eV where K is the K point in the Brillouin zone. In that case, only 6 parameters are used (although 7 parameters have to be present in the input file). The parameter to be calculated is simply ignored inside the code.
The k space resolution, i.e. the number of grid points on the axis of these plots can be adjusted.
$tighten
calculate-tight-binding-tighten = no !
destination-directory = TightBinding/
number-of-k-points = 50 ! This corresponds to 50 k points between the Gamma point and the M point.
! The number of k points along the other directions are scaled correspondingly.