- 追加された行はこの色です。
- 削除された行はこの色です。
* Graphene [#l124157c]
In this tutorial, the converge the Fermi level with respect to the number of k-points is discussed.
** Structural optimization [#qd7ae76d]
First of all, cell relaxation is performed by using "vc-relax" using the following input file
&control
calculation = 'vc-relax'
restart_mode = 'from_scratch',
pseudo_dir = '/home/ikutaro/QE/pseudo',
outdir = './tmp'
prefix = 'gr'
tstress = .true.
tprnfor = .true.
/
&system
ibrav = 4
A = 2.46
C = 10.00
nat = 2
ntyp = 1
ecutwfc = 40.0
ecutrho = 400.0
occupations = 'smearing'
smearing = 'mp'
degauss = 0.02
/
&electrons
diagonalization = 'david'
conv_thr = 1.0e-12
mixing_beta = 0.5
/
&ions
/
&cell
press = 0.0d0
press_conv_thr = 0.5d0
cell_dofree = 2Dxy
/
ATOMIC_SPECIES
C 12.01070 c_pbe_v1.2.uspp.F.UPF
ATOMIC_POSITIONS (crystal)
C 0.0000000000000000 0.0000000000000000 0.0000000000000000
C 0.3333333333333333 0.6666666666666667 0.0000000000000000
K_POINTS (automatic)
12 12 01 0 0 0
In this example, GBRV ultrasoft pseudopotential, cutoff energies of 40 and 400 Ry, and nonshifted 12 x 12 uniform k-point mesh is used. The vacuum of 10 Angstrom is inserted to separate periodic images. For the cell relaxation in two dimension, 'cell_dofree=2Dxy' is used.
** SCF and band structure calculations [#ee4c6c7d]
Having relaxed the cell parameters, let us start the band structure calculation.
In this tutorial, band structure calculations are performed by varying the k-point mesh in the SCF calculation to learn how the number of k-points or k-point density is crucial to determine the position of Fermi level and thereby the location of the Dirac point at the K point.
- SCF calculation
&control
calculation = 'scf'
restart_mode = 'from_scratch',
pseudo_dir = '/home/ikutaro/QE/pseudo',
outdir = './tmp'
prefix = 'gr'
tstress = .true.
tprnfor = .true.
/
&system
ibrav = 4
A = 2.46575870
C = 10.00
nat = 2
ntyp = 1
ecutwfc = 40.0
ecutrho = 400.0
occupations = 'smearing'
smearing = 'mp'
degauss = 0.02
nbnd = 8
/
&electrons
diagonalization = 'david'
conv_thr = 1.0e-12
mixing_beta = 0.5
/
&ions
/
&cell
press = 0.0d0
press_conv_thr = 0.5d0
cell_dofree = 2Dxy
/
ATOMIC_SPECIES
C 12.01070 c_pbe_v1.2.uspp.F.UPF
ATOMIC_POSITIONS (crystal)
C 0.0000000000000000 0.0000000000000000 0.0000000000000000
C 0.3333333333333333 0.6666666666666667 0.0000000000000000
K_POINTS (automatic)
12 12 01 0 0 0
- Band structure
&control
calculation = 'bands'
restart_mode = 'from_scratch',
pseudo_dir = '/home/ikutaro/QE/pseudo',
outdir = './tmp'
prefix = 'gr'
tstress = .true.
tprnfor = .true.
/
&system
ibrav = 4
A = 2.46575870
C = 10.00
nat = 2
ntyp = 1
ecutwfc = 40.0
ecutrho = 400.0
occupations = 'smearing'
smearing = 'mp'
degauss = 0.02
nbnd = 8
/
&electrons
diagonalization = 'david'
conv_thr = 1.0e-12
mixing_beta = 0.5
/
&ions
/
&cell
press = 0.0d0
press_conv_thr = 0.5d0
cell_dofree = 2Dxy
/
ATOMIC_SPECIES
C 12.01070 c_pbe_v1.2.uspp.F.UPF
ATOMIC_POSITIONS (crystal)
C 0.0000000000000000 0.0000000000000000 0.0000000000000000
C 0.3333333333333333 0.6666666666666667 0.0000000000000000
K_POINTS (crystal_b)
4
0.00000000 0.00000000 0.00000000 20.0
0.66666667 -0.33333333 0.00000000 20.0
0.50000000 0.00000000 0.00000000 20.0
0.00000000 0.00000000 0.00000000 0.0
In this example, the energy band is draw along the Gamma-K-M-Gamma line.
- Post-processing
To plot the band structure with gnuplot or alike, "bands.x" is used. Here's an example of the input file:
&bands
outdir = './tmp'
prefix = 'gr'
filband = 'gr.bands'
lsym = .true
/
With this input, "gr.bands.gnu" and "gr.bands.rap" are generated. For use with gnuplot, "gr.bands.gnu" can be used. One can use the following script ("band_plot.sh") to generate the band plot with gnuplot
#!/bin/sh
ef=`grep Fermi gr.scf.out | awk '{print $5}'`
echo $ef
ef=`grep Fermi gr.scf.out | awk '{print $5}'`
echo $ef
gnuplot <<EOF
ef=${ef}
xmin=0.0
xmax=1.5784
ymin=-21.0
ymax=4.0
g1=0.0
k=0.6671
m=1.0007
g2=1.5784
offset=0.5
set arrow from k,ymin to k,ymax nohead lt 0
set arrow from m,ymin to m,ymax nohead lt 0
unset xtics
set xlabel 'E - E_F (eV)'
set label '{/Symbol G}' at g1,ymin-offset center
set label 'K' at k,ymin-offset center
set label 'M' at m,ymin-offset center
set label '{/Symbol G}' at g2,ymin-offset center
set xrange [xmin:xmax]
set yrange [ymin:ymax]
set xzeroaxis lt 0
plot 'gr.bands.gnu' using (\$1):(\$2-ef)
pause -1
and type
sh band_plot.sh
Here the output file for the corresponding SCF calculation is assumed to be "gr.scf.out."