User Guide For Calculation
User Guide For Calculation
BoltzTraP
1
1.1.2 Compiling
The distribution includes a makefile for the intel fortran compiler and the mkl libraries. Once
you have succesfully compiled the program you should have an executable named BoltzTrap.
Furthermore the script x trans can be found in the directory.
CoSb3
Once you are in the CoSb3 directory you can run BoltzTrap by the following command (Re-
member the capital letters)
"path to BoltzTrap"/src/x trans BoltzTraP
The x trans script will make a file called BoltzTrap.def and executes BoltzTrap. The
BoltzTrap.def file names the input and output files (described below)
Bi2 Te3
The Bi2Te3 example includes spin-orbit coupling in the Hamiltonian. Therefore the example
should by the following command:
"path to BoltzTrap"/src/x trans BoltzTraP -so
Notice the -so option. This will tell the program to read the eigenvalues from the file
case.energyso (see Boltztrap.def) and the program will then automatically know the each state
contains only one electron.
LiZnSb
This example can be found in ref. [2] and documents the use of the momentum matrix elements
directly.[3] The option was added Lasse Bjerg
2
1.2 Using the program
1.2.1 Input files
To run the program you must have a file describing the parameters for BoltzTraP named
case.intrans (where case is the name of the directory). Furthermore you need a file with the
band-structure and the crystal structure, case.energy(so) and case.struct, where case is the
name of the directory. Presently case.energy(so) and case.struct have to be in the format of
the WIEN2k code.
WIEN Format of DOS. Either WIEN for to use WIEN like case.struct and case.energ
0 0 0 0.0 isetfermi idebug setgap gapchange
isetfermi>0 set fermilevel to middle of gap
idebug sets the level of output
setgap=1 will force the gap to be gapchange (in Ry)
0.55475 0.0005 0.4 240. Fermilevel (Ry), deltae, ecut, number of valence electrons
deltae determines the stepsize of the DOS grid
ecut gives the range around efermi in which the bands are included
CALC CALC (calculate expansion coeff, Eq.(p1), NOCALC (read from file)
5 lpfac, number of latt-points per k-point
lpfac=5: five times as many R points are used as k points were input
BOLTZ run mode (only BOLTZ is supported)
.15 efcut. energy range of chemical potential around efermi that is used
for integrals (Eqs.(p12-p15))
800. 50. Tmax, temperature grid
-1 Energyrange of bands given individual DOS output sig xxx
and dos xxx (xxx is band number). Negative: no individual DOS.
HISTO scheme to obtain DOS. HISTO/TETRA: histogram/thetrahedron[4]
sampling
00000 τ -model. Not documented
2 number of fixed dopings
1E20 -1E20 fixed doping levels in cm−3
Table 1.1: Input file for CoSb3 . The Equations refer to the paper[1].
3
1.2.2 Output files. BOLTZ option
The traces of the conductivity tensors are written as a function of µ and T in the file called
case.trace. You must write your own program/script to extract the information you need. The
column 1 2 3 4 5 6 7 8 9 10
0
quantity µ T N n(µ) S σ/τ RH κ c χ
unit Ry K e/uc e/uc V/K 1/(Ω m s) m3 /C W/(m K s) J/(mol K) m3 /mol
Table 1.2: Output in case.trace
last columns were added after the paper was accepted and are the electronic specific heat c
Z h ∂f (T ; ε) i
µ
c(T ; µ) = n(ε)(ε − µ) dε (1.1)
∂T
and the Pauli magnetic susceptibility
Z h ∂f (T ; ε) i
µ
χ(T ; µ) = µ0 µ2B n(ε) − dε (1.2)
∂ε
The program outputs the individual components of the conductivity tensors (files case.condtens
and case.halltens). The first three colums are like in the case.trace file.
In case.condtens next nine colums are the σ/τ components (3x3 tensor). These are followed
by the nine Seebeck components and finally the nine κ0 components.
In case.halltens 27 columns follow (The Hall tensor is 3x3x3 tensor)
The coordinate-system used is defined so that the x axis is parallel to the crystallographic a-
axis (of the conventional cell). The y-axis lies in the crystallographic ab plane and is orthogonal
to the x-axis and the z-axis is orthogonal to the x and y axes. If you want a different coordinate
system you must work out the appropriate transformation yourself (a good reference is ”J.F.
Nye, Physical Properties of Crystals”). The axes setup is done in the subroutine latgen2.f.
4
1.3 Frequently Asked Question
How many k-points should I use for a transport calculation.
This of-course depends on your system, but generally “a lot”. A rule of thumb is that your
convergence tests should start at 16 × 106 /Vpuc , where Vpuc is the volume of the primitive unit
cell. Please note that you do not need to redo the full scf cycle with the dense k-mesh
5
1.3.1 File format description for the GENE file format
This is version 1.0 of the specification, which is implemented in BoltzTraP 1.2.0, abinit 6.6,
and current siesta release (v x.y.z).
2 files should be input to BT - one for crystal structure and symmetry operations and
another for electronic eigenvalues. This document describes the alternative format produced
by siesta, abinit, pwsic, and vasp. Both files are read in generic_band.F90
STRUCTURE FILE:
EIGENVALUE FILE:
6
Bibliography
[1] Madsen, G. K. H.; Singh, D. J. Comput. Phys. Commun. 2006, 175, 67-71.
[3] Scheidemantel, T. J.; Ambrosch-Draxl, C.; Thonhauser, T.; Badding, J. V.; Sofo, J. O.
Phys. Rev. B 2003, 68, 125210.
[4] Blöchl, P.; Jepsen, O.; Andersen, O. K. Phys. Rev. B 1994, 49, 16223-16233.
[5] Ashcroft, N. W.; Mermin, N. D. Solid State Physics. Saunders College Publishing, Orlando,
Florida, 1976.