mirror of https://github.com/abinit/abinit.git
87 lines
4.3 KiB
Markdown
87 lines
4.3 KiB
Markdown
---
|
||
description: How to unfold supercell band structures
|
||
authors: OR
|
||
---
|
||
<!--- This is the source file for this topics. Can be edited. -->
|
||
|
||
This page gives hints on how to unfold supercell band structures with the ABINIT package.
|
||
|
||
## Introduction
|
||
|
||
Supercells are often used in ab initio calculations to model compound alloys,
|
||
surfaces and defects. Band structure plots obtained from supercell
|
||
calculations are difficult to interpret and compare to the reference band
|
||
structure of a corresponding primitive crystallographic unit due to the zone
|
||
folding. The purpose of the executable file [[help:fold2bloch]] is to assist
|
||
with interpretation of supercell electronic structure calculations by
|
||
recovering the Bloch character of electronic eigenstates perturbed by
|
||
disorder. In general, there is no single wave-vector **k** associated with a
|
||
particular eigenvalue E, but rather a distribution of k's. This distribution
|
||
is also known as a Bloch spectral density or spectral weight. The spectral
|
||
weight w n( **k** ) amounts to a Bloch **k** -character of the n'th energy
|
||
eigenstates εn and fulfills the normalization ∑ **k** wn( **k** )=1. In the
|
||
case of a non-local basis set, such as plane waves, the spectral weight can be
|
||
constructed from the Fourier expansion coefficients by gathering them in
|
||
groups associated with a particular Bloch wave vector in the primitive cell
|
||
[[cite:Wang1998]], [[cite:Popescu2010]], [[cite:Popescu2012]],
|
||
[[cite:Allen2013]], [[cite:Medeiros2014]]
|
||
|
||
wn( **k** )= ∑ **G** |C n, **K** ( **G** )|2 for all **G** that fulfill **K**
|
||
+ **G** = **k** + **g** ,
|
||
|
||
where Cn, **K** ( **G** ) refers to plane wave coefficients for nth eigenstate
|
||
with the wave vector **K** within the first Brillouin zone (BZ) of the
|
||
supercell, **G** and **g** are the reciprocal lattice vectors of the supercell
|
||
and primitive cell, respectively. More technical details on this unfolding
|
||
procedure are available in [[cite:Rubel2014]]. It should be noted that the
|
||
primitive and supercell reciprocal lattices should be commensurate as required
|
||
by the above equation. This condition implies that a supercell needs to be
|
||
generated by translation of the primitive cell along its lattice vectors in
|
||
real space using a desired multiplicity N x×Ny×Nz . Care should be taken when
|
||
working with lattices whose conventional unit cell is different from the
|
||
primitive cell (e.g., zinc-blende or rock salt structures).
|
||
|
||
A prerequisite for unfolding is the presence of wave function files (e.g.,
|
||
abo_WFK) that can be generated in a way similar to standard band structure
|
||
calculations. The only difference from the conventional band structure
|
||
calculation is the k-path selection approach. For instance, when aiming for
|
||
the band structure plot with Γ(0,0,0)-Z(0,0,1/2) path in the primitive
|
||
Brillouin zone (BZ), the [[kptbounds]] in supercell BZ should include
|
||
Z-(0,0,-1/2)-Γ(0,0,0)-Z(0,0,1/2). At first, the part Z--Γ seems redundant
|
||
lying outside of the range of interest. However, it is easy to show that those
|
||
wave vectors contribute to the range Γ-Z after unfolding. For instance, let us
|
||
consider a k-point (0,0,-K) in the 1×1×3 supercell. This point ``unfolds" into
|
||
3 k-points in the primitive BZ: (0,0,(-K-1)/3), (0,0,-K/3), and
|
||
(0,0,(-K+1)/3). The first two points are irrelevant for the purpose of the
|
||
plot as they do not belong to the Γ-Z segment, but the last point falls into
|
||
the range of interest and needs to be included.
|
||
|
||
Once the wave function file is prepared, the unfolding proceeds by invoking
|
||
fold2Bloch abo_WFK Nx:Ny:Nz that generates an output file abo_WFK.f2b. The
|
||
output file contains 5 columns: the list of unfolded wave vectors (kx,ky,kz)
|
||
in the primitive BZ, the corresponding eigenvalue εn (Ha) and the Bloch
|
||
spectral weight wn.
|
||
|
||
A MATLAB script _ubs_dots.m_ is designed to assist with plotting the unfolded
|
||
band structure. The unfolded band structure plot is represented as a scatter
|
||
plot where the size and colour of the markers carry information about the
|
||
Bloch character of energy bands. Users are asked to provide details about the
|
||
k-path, name of the fold2Bloch output file abo_WFK.f2b, position of the Fermi
|
||
energy, and reciprocal lattice vectors that can be found in the main output
|
||
file ab_out.out.
|
||
|
||
|
||
|
||
## Related Input Variables
|
||
|
||
{{ related_variables }}
|
||
|
||
## Selected Input Files
|
||
|
||
{{ selected_input_files }}
|
||
|
||
## Tutorials
|
||
|
||
* [[tutorial:fold2bloch|The tutorial on unfolding supercell band structures]]
|
||
|