band_structure

To obtain the band structure of Si bulk of given lattice parameter we have to perform two steps.
First, we need to achieve SCF solution. Therefore, we run a standard bulk calculation as described in the previous chapter. Let's calculate the band structure
for the lattice parameter `alat = 5.5 Å`

, than we have the ** fireball.in** file containing:

&OPTION basisfile = Si.bas lvsfile = Si.lvs kptpreference = Si.kpts nstepf = 1 rescal = 5.5 &END

where ** Si.bas**,

`Si.lvs`

`Si.kpts`

mac135> grep "Fermi Level" $output_file | tail -1 Fermi Level = -4.33045968490834

In next step, we run the `FIREBALL`

code again, but now with fixed charges (** ifixcharge = 1**) and with a new set of k-points in desired high-symmetry directions in the first Brillouin zone. Remember we need having

`CHARGES`

`L-Γ-X-Γ`

stored in a `lgxg.kpts`

In addition, we have to write out a list of eigenvalues at each k-point switching on ** iwrteigen** variable. Our input file

`fireball.in`

&OPTION basisfile = Si.bas lvsfile = Si.lvs kptpreference = lgxg.kpts nstepf = 1 ifixcharge = 1 rescal = 5.5 &END &OUTPUT iwrteigen = 1 &END

After the run, we obtain a file ** ek.dat** appears in a working directory. This file contains at each line set of eigenvalues for given k-points ordered in ascending form. The Fermi level can
Now we have all information to plot the band structure of the Si bulk.

mac135> gnuplot gnuplot> set xrange [0:300] gnuplot> set yrange [-17:0] gnuplot> set xlabel "k-points" gnuplot> set ylabel "Energy [eV]" gnuplot> set nokey gnuplot> set multiplot multiplot> plot "ek.dat" using 1:2 with lines multiplot> plot "ek.dat" using 1:3 with lines multiplot> plot "ek.dat" using 1:4 with lines multiplot> plot "ek.dat" using 1:5 with lines multiplot> plot "ek.dat" using 1:6 with lines multiplot> plot "ek.dat" using 1:7 with lines

To plot Density of state, first, we have to achieve SCF solution in the same way as above (see previous section).
Next we perform calculation with fixed SCF charges (switching on ** ifixcharge =1**). The DOS calculation is initialized via variable

`iwrtdos`

`&OUTPUT`

`fireball.in`

&OPTION basisfile = Si.bas lvsfile = Si.lvs kptpreference = Si.kpts nstepf = 1 ifixcharge = 1 rescal = 5.5 &END &OUTPUT iwrtdos = 1 &END

In addition, ** dos.optional** has to be presented in a working directory having following distance:

1.0 ! scale factor (leave 1.0) 1 2 ! list of atoms to analyze DOS 360 ! number of energy steps -18.0 0.05 ! initial energy, energy step 0 ! leave untouched 0.0 0.0 ! leave untouched 0.05 ! imaginary part of Green function (controls energy level smearing)

After finishing a run, we obtain ** dens_001.dat**,

`dens_002.dat`

`dens_TOT.dat`

mac135> gnuplot gnuplot> set xrange [0:1] gnuplot> set yrange [-17:0] gnuplot> set xlabel "DOS [arb. units]" gnuplot> set ylabel "Energy [eV]" gnuplot> plot "dens_TOT.dat" using 2:1 title 'Total DOS' with lines, \ "dens_001.dat" using 11:1 title 'PDOS Si atom ' with lines

band_structure.txt · Last modified: 2014/10/20 12:42 (external edit)