TB density of states - bertdupe/Matjes GitHub Wiki
The tight-binding module allows to calculate the density of states (DOS) either calculating in real-space do_dos_r
or in reciprocal space do_dos_k
.
Since the DOS in principle is a way do visualize the distribution of all energy-values of a system in real-space this only makes sense for large super-cells and/or in the case of many orbitals. Otherwise, one will only resolve a few discrete energy states in which case it might be more instructive to directly look at the energy spectrum. Furthermore the calculation in the real-space only makes sense if a spatial inhomogeneity (eg. magnetic texture) is present.
Alternatively, one can meaningfully calculate the DOS is reciprocal space, still including the supercell effect or just considering one unit-cell. The k-grid on which the DOS is calculated is specified by the dos_kgrid
keyword, which effectively samples the states which extend over multiples of the supercell. Consequently, the k-space calculation with dos_kgrid 1 1 1
in principle corresponds to the real-space calculation. As the periodic images are considered, this setup only makes sense for periodic boundaries in the considered dimensions.
The huge advantage of the k-space DOS-calculation is that higher accuracy can be achieved by including more k-points, which scales much better than increasing matrix sizes as in the real-space case. Also parallelization over the different k-points is much simpler than parallelization of the diagonalization of one large matrix.
The input parameters of the DOS part can be found here.
The most important parameters for tuning the DOS output are dos_E_ext
and dos_dE
which specify the energy range and resolution, as well as dos_sigma
, which specifies the Gauss-smearing applied to each found energy value.
Real-space DOS
The following input is a simple example to get the DOS in analogy to the first band-structure example.
simulation tight-binding
do_TB_r T
TB_hopping
1 1 1 1 0 0 1 -0.50
do_dos_r T
dos_E_ext -3.0 3.0
dos_dE 0.05
dos_sigma 0.05
# parameters of the lattice
Periodic_log T T F
Nsize 60 60 1
alat 1.0 1.0 1.0
#Simple cubic lattice
lattice
1.0 0.0 0.0
0.0 1.0 0.0
0.0 0.0 1.0
atomtypes 1
at1 0.0 0.0 0.0 F 1
atoms 1
at1 0.0 0.0 0.0
Executing this input creates a file called dos_r_nc.dat
which consists of 2 columns, the energy and the associated DOS.
Notice that the smearing is quite large which results in a rather inaccurate DOS especially noticeable at the edges of the non-vanishing DOS which in ideal conditions should vanish directly at 2.0.
Reciprocal-space DOS
Analogously to the real-space example the DOS can be calculated in k-space with this input:
simulation tight-binding
do_TB_k T
TB_hopping
1 1 1 1 0 0 1 -0.50
do_dos_k T
dos_E_ext -3.0 3.0
dos_kgrid 300 300 1
dos_dE 0.02
dos_sigma 0.01
# parameters of the lattice
Periodic_log T T F
Nsize 1 1 1
alat 1.0 1.0 1.0
#Simple cubic lattice
lattice
1.0 0.0 0.0
0.0 1.0 0.0
0.0 0.0 1.0
atomtypes 1
at1 0.0 0.0 0.0 F 1
atoms 1
at1 0.0 0.0 0.0
The DOS is now provided in the dos_k.dat
analogous to the real-space case.
Notice that the homogeneous supercell has been removed though Nsize 1 1 1
, however significantly more periodic repetitions are taken into account through dos_kgrid 300 300 1
. Nevertheless, the calculation is much faster than in real-space. The increased accuracy allows for an decrease of the smearing so that the edges of the DOS get steeper as expected.
It is still possible to consider a super-cell and using the k-space DOS, the only requirement is periodicity along the respective edge with more than one cell-repetition.
Superconductivity
Both the r-space and k-space DOS calculations are also available when including superconductivity. The naming scheme of the DOS_files changes to dos_r_sc.dat
and dos_k_sc.dat
while the content stays the same. Since the superconducting energy gap is much smaller than the usual width of bands it is difficult to resolve. This example still has a too large gap, but allows to see the effect in reasonable time.
simulation tight-binding
do_TB_k T
TB_hopping
1 1 1 1 0 0 1 -0.50
TB_Efermi 0.5
TB_delta
1 1 1 1 0 0.01 0.0
do_dos_k T
dos_E_ext -0.1 0.1
dos_kgrid 1000 1000 1
dos_dE 0.002
dos_sigma 0.002
# parameters of the lattice
Periodic_log T T F
Nsize 1 1 1
alat 1.0 1.0 1.0
#Simple cubic lattice
lattice
1.0 0.0 0.0
0.0 1.0 0.0
0.0 0.0 1.0
atomtypes 1
at1 0.0 0.0 0.0 F 1
atoms 1
at1 0.0 0.0 0.0
Especially for supercells it is sensible to use a diagonalization scheme which only calculates the eigenvalues in a certain range of energies such as zheevr or the sparse diagonalization. It is especially helpful to only calculate the positive energy branch since the negative energies are deduced using the partice-hole relation.