-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathREADME.usage
123 lines (113 loc) · 7.5 KB
/
README.usage
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
1. bs_kpoints_gen
i)Input files:
syml (or KPOINTS in line-mode)
POSCAR
ii) Generate the k-points along specified paths of high symmetry sepcial k-points (defined by a input file: syml)
format of 'syml', if 'syml' exists but 'KPOINTS' is not given in the line mode.
-----------------
4 ! N, number of high symmetry special k-points, defining N-1 paths
20 10 20 ! intersections for each segment path (1st, 2nd, 3rd, ...N-1^th path)
X 0.5 0.0 0.5 ! Label(one character), fractional coordinate of 1st k-point
G 0.0 0.0 0.0 ! Label, ... 2nd ...
L 0.5 0.5 0.5
W 0.5 0.25 0.75
iii) If 'syml' exists or 'KPOINTS' is given in line mode, write out 'highk.dat', which can be used to draw the vertical
lines of every high symmetry special k-points in the band structure plot.
iv) Write out a template file of GNUPLOT for the band structure plot.
2. bandstructureplot
i) Input files:
POSCAR
PROCAR (or EIGENVAL)
ii) If PROCAR was generated by the 'LORBIT=11' in the band structure calculations, 'bandstructreplot' can extract the
site- and lm-projected orbital components from PROCAR and write them into different files for the fat-band structure
plot.
fatbnd-atom-'index_of_atom'-tot.dat: ('index_of_atom'-->1, 2, 3,...) all lm-projected orbital components of the
'index_of_atom'th atom are listed from the 3rd column
fatbnd-atom-'index_of_atom'-spd.dat: s, p, d, f orbital components of the 'index_of_atom'th atom
fatbnd-tot-atoms-'numbers'.dat: the site-projected components (i.e., the sum of s, p, d, or f), every 10 atoms are
written into one file.
iii) If the calculated system contains even electrons, a file named 'inp.em' will be written out for the effective mass
calculation in the subsequent step.
iv) Other output file:
bnd.dat: k-distances versus eigenvalues of each band, which can be used for plotting band structure by GNUplot
v) The command in GNUplot to show the weight of atom or lm-projected orbital components by the point size, e.g.,
------------------------------------------------------------------------------------------
plot "fatbnd-atom-1-spdf.dat" using 1:2 with lines lt 3 notitle,\
"fatbnd-atom-1-spdf.dat" using 1:2:($3*10) with points lt 3 pt 3 ps variable notitle,\
"fatbnd-atom-1-spdf.dat" using 1:2:($4*10) with points lt 4 pt 5 ps variable notitle,\
"fatbnd-atom-1-spdf.dat" using 1:2:($5*10) with points lt 5 pt 7 ps variable notitle,\
"highk.dat" using 1:2 with lines ls 8 notitle
3. fkpt_vbm_cbm
i) Input file:
EIGENVAL
ii) If the system contains even electrons, the k-points of maximum of the (NELECT/2)^th band (NELECT, the number of
electrons) and of minimum of the (NELECT/2+1)^th band will be picked out and written into a file named 'inp.em',
which can be used for the effective mass calculations of a semiconductor or insulator in the subsequent step.
The functionality of this post-processing tool is part of 'bandstructureplot'.
4. em_kpoints_gen
i) Input files:
POSCAR
inp.em (which can be generated by 'bandstructureplot' and 'fkpt_vbm_cbm' as mentioned above.)
ii) Format of 'inp.em':
0.00000 0.00000 0.00000 0.42500 0.00000 0.42500 !k points of VBM and CBM 5.6151 6.2261
F !Coordination type
0.0020 7 !delta_k, n (which gives 2*n+1 k-points along each direction)
The 1st line:
the first 3 numbers---> k-point of the valence band maximum (VBM);
the later 3 numbers --> k-point of the conduction band minmum (CBM).
The 2nd line: the coordination type of the k-points of VBM or CBM. Its value could be assigned to 'F' ('f', 'R', or 'r',
indicating the fractional coordinate) or 'C' (or 'c', indicating Cartesian coordinate).
The 3rd line:
the first number--> delta_k: the step width for generating a sequence (and a grid) of points k around the
k points in the 1st line.
the second number--> n: it will give 2 * n + 1 k-points along each direction
iii) Output files:
log.out---> list the unit cell lattice vectors, reciprocal lattice vectors, inverse of reciprocal lattice vectors
, the fractional and Cartesian coordinates of the k-points defined in 'inp.em'
KPOINTS.line--> the sequence of points k along 7 directions (100, 010, 001, 110, 101, 011, 111) around the k-points
defined in 'inp.em'.
KPOINTS.grid--> the grid of points k [i.e., (2*n+1)^3 k-points] around the k-points defined in 'inp.em'.
5. em_linefit
i) Input files:
POSCAR
EIGENVAL (which should be calculated by the k-points in the 'KPOINTS.line'.)
ii) Do the polynomal fitting (y = a * x^2 + b * x^2 + c) and calculate the effective masses of holes (the maximums of the top
three valence bands, i.e., VBM or highest valence band (HVB), HVB-1, HVB-2) and electron (the minimum of the conduction
band, i.e., CBM).
iii) Output file:
efftive-mass.out: print out the results of effective masses of holes and electrons.
fitted-coff.dat: print out the coefficients obtained by the polynomal fitting.
k-eig.dat: Cartesian of k-points versus the eigenvalues of the top three valence bands and of the lowest conduction band.
kd_eig4fit.dat: k-distances versus the eigenvalues of the top three valence bands and of the lowest conduction band.
This file can be used by other polynomal fitting tools (.i.e., GNUplot) for checking the results.
6. The suggested steps for effective masses calculations:
bs_kpoints_gen --> band structure calculations (VASP) --> bandstructureplot or fkpt_vbm_cbm --> em_kpoints_gen -->
--> cp KPOINTS.line KPOINTS --> band structure calculations (VASP) (Note, this is not the 2nd step) --> em_linefit
7. fs_bxsf
i) generate the k-points of a periodic grid of nx * ny * nz by typing commond:
fs_bxsf nx ny nz
(nx, ny ,nz are three integer numbers)
The running of this command will generate nx * ny * nz k points into the KPOINTS file, i.e.,
---------------------------------------------------
0.000 0.000 0.0000
.... ... ...
1/nx * (ix-1) 1/ny * (iy-1) 1/nz * (iz-1)
.... ... ...
1/nx * (nx-1) 1/ny * (ny-1) 1/nz * (ny-1)
---------------------------------------------------
ii) then perform the band strucutres calculations with the KPOINTS file generated in the above step.
iii) run one of the following commands to obtain a bxsf format file for the Fermi surface plot. The corresponding
POSCAR file should exist in the same directory, when the command is running.
fs_bxsf nx ny nz -ef=xxx.xxx
(xxx.xxx is the numerial number of the Fermi level, which can be extracted from the OUTCAR file
of the DOS or SCF calculations.)
or
fs_bxsf nx ny nz location_of_OUTCAR_obtained_by_the_DOS_or_SCF_calculations
(The Fermi level will be automatically extracted from the OUTCAR file of the DOS or SCF calculations.
For example,
fs_bxsf nx ny nz scf/OUTCAR
)
Note: The values of nx (ny and nz) in the i) and iii) steps should be exactly same.
The generated bxsf file contains the eigenvalues of (nx+1) * (ny+1) * (nz+1) k-points, which are
obtained by extending the nx * ny * nz k-points of a periodic grid to its corresponding general grid,
for those bands near or cross the Fermi level.