Original files are in https://gist.github.com/t-nissie/ad99810ddf1bceb602f6 .
- Clone files in the gist as
git clone https://gist.github.com/ad99810ddf1bceb602f6.git anatase08-k6x6x4-band-dos-gist
. cd anatase08-k6x6x4-band-dos-gist
.- Get
O.pw-mt_fhi.UPF
andTi.pw-mt_fhi.UPF
form http://www.quantum-espresso.org/pseudopotentials/ . - Make symlinks to
bands.x
,dos.x
,plotband.x
andpw.x
in the current directory, i.e.ln -s /SOMEWHERE/espresso-5.1.2/bin/bands.x
.
Using an input file of anatase.vc-relax.in, we perform optimization of cell parameters and atomic positions.
$ mpirun -np 12 ./pw.x -in anatase.vc-relax.in | tee anatase.vc-relax.out
$ grep -B13 'End final coordinates' anatase.vc-relax.out
CELL_PARAMETERS (alat= 7.14000000)
0.496771433 -0.496771433 1.216801080
0.496771433 0.496771433 1.216801080
-0.496771433 -0.496771433 1.216801080
ATOMIC_POSITIONS (crystal)
Ti -0.000000000 0.000000000 0.000000000
Ti 0.500000000 0.750000000 0.250000000
O 0.500000000 0.539268418 0.039268418
O 0.000000000 0.789268418 0.789268418
O 0.000000000 0.210731582 0.210731582
O 0.500000000 0.960731582 0.460731582
End final coordinates
Although the last calculation with
anatase.vc-relax.in gives
SCF results in its end, we perform an SCF calculation
with anatase.scf.in.
Optimized cell parameters and atom positions were copied from anatase.vc-relax.out
into anatase.scf.in.
$ mpirun -np 12 ./pw.x -in anatase.scf.in | tee anatase.scf.out
Confirm that stress and forces are small enough.
In anatase.bands.in, crystal_b is used. How to write input files of anatase.bands.in and bands.in is described around
- http://www.stat.phys.titech.ac.jp/SATL_qe_tutorial/graphene_banddos.html (in Japanese)
- http://www.quantum-espresso.org/wp-content/uploads/Doc/INPUT_PW.html#idm6080432
- http://www.quantum-espresso.org/wp-content/uploads/Doc/INPUT_BANDS.html .
Anyway, we do non-SCF calculations at each k-point along Z-Gamma-X-P with pw.x
,
and then we execute bands.x
with bands.sh as
$ ./bands.sh
$ gv anatase.bands.ps &
If you do not have gv(1), you can use evince(1) instead for preview of generated anatase.bands.ps
.
$ ./dos.sh
$ gnuplot
plot [0:12] [-6:10] 'anatase.dos' u 2:($1-5.0) w l
Plotted electronic dispersion and DOS of anatase TiO2.
Spikes in the band plot may be due to a bug in pw.x
.
6 6 4 1 1 1
or6 6 4 0 0 0
forK_POINTS AUTOMATIC
- To check convergence w.r.t. k-points
- To check convergence w.r.t. kinetic energy cutoff
- Two 5.0 in bands.sh should be
adjusted to the valence band maximum (VBM) according to the calculated KS-levels in
anatase.scf.out
.
- Adisak Boonchun, Naoto Umezawa, Takahisa Ohno, Shuxin Ouyanga and Jinhua Ye: J. Mater. Chem. A 1, 6664-6669 (2013).