This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
band_structure [2009/11/25 22:01] jelen |
band_structure [2014/10/20 12:42] (current) |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ===== The band structure ===== | ===== The band structure ===== | ||
| - | + | To obtain the band structure of Si bulk of given lattice parameter we have to perform two steps. | |
| - | to calculate the band structure for given lattice parameter we need to achieve SCF solution. | + | First, we need to achieve SCF solution. Therefore, we run a standard bulk calculation as described in the previous [[bulk optimization|chapter]]. Let's calculate the band structure |
| - | Therefore we run a standard bulk calculation as described in previous [[bulk optimization|chapter]]. Let's calculate the band structure | + | for the lattice parameter ''alat = 5.5 Å'', than we have the **''fireball.in''** file containing: |
| - | for the lattice parameter ''alat = 5.5 Å'', than the **''fireball.in''** file contains: | + | |
| &OPTION | &OPTION | ||
| Line 15: | Line 13: | ||
| where **''Si.bas''**, **''Si.lvs''** and **''Si.kpts''** files are identical as those used in previous [[bulk optimization|chapter]]. | where **''Si.bas''**, **''Si.lvs''** and **''Si.kpts''** files are identical as those used in previous [[bulk optimization|chapter]]. | ||
| - | Once we obtain the SCF solution, we determine the Fermi level from output file | + | Once we obtain the SCF solution, we can determine the Fermi level from an output file: |
| mac135> grep "Fermi Level" $output_file | tail -1 | mac135> grep "Fermi Level" $output_file | tail -1 | ||
| Fermi Level = -4.33045968490834 | 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''** file in a working directory for a restart. In this particular case,we have chosen a direction ''L-Γ-X-Γ'' stored in a **''lgxg.kpts''** file. | + | 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''** file in a working directory for a restart. In this particular case,we have chosen a direction ''L-Γ-X-Γ'' stored in a **''{{:lgxg.kpts|lgxg.kpts}}''** file (see also fig. 1). |
| + | |||
| + | |||
| + | {{:si-bulk:fcc_brillouin.png?400|Brillouin zone FCC}} | ||
| + | |||
| + | |||
| In addition, we have to write out a list of eigenvalues at each k-point switching on **''iwrteigen''** variable. Our input file **''fireball.in''** has following form now: | In addition, we have to write out a list of eigenvalues at each k-point switching on **''iwrteigen''** variable. Our input file **''fireball.in''** has following form now: | ||
| Line 41: | Line 44: | ||
| gnuplot> set xrange [0:300] | gnuplot> set xrange [0:300] | ||
| gnuplot> set yrange [-17:0] | gnuplot> set yrange [-17:0] | ||
| + | gnuplot> set xlabel "k-points" | ||
| + | gnuplot> set ylabel "Energy [eV]" | ||
| gnuplot> set nokey | gnuplot> set nokey | ||
| gnuplot> set multiplot | gnuplot> set multiplot | ||
| - | multiplot> plot "ek.dat" using 1:2 with lines ; plot "ek.dat" using 1:3 with lines ; plot "ek.dat" using 1:4 with lines ; plot "ek.dat" using 1:5 with lines ;plot "ek.dat" using 1:6 with lines | + | 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 | ||
| + | |||
| + | {{:si-bulk:si-bulk.png?400|Si-bulk Band Structure}} | ||
| | | ||
| + | |||
| ===== DOS ===== | ===== DOS ===== | ||
| + | |||
| + | To plot Density of state, first, we have to achieve SCF solution in the same way as above (see previous [[band_structure|section]]). | ||
| + | Next we perform calculation with fixed SCF charges (switching on **''ifixcharge =1''**). The DOS calculation is initialized via variable **''iwrtdos''** in the section **''&OUTPUT''**. Hence, our **''fireball.in''** file looks like that: | ||
| + | |||
| + | &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''** including projected DOS on two Si atoms in the unit cell (including projected DOS onto individual shells of atoms). Additionally, there is a file **''dens_TOT.dat''** containing DOS. Here, a first column means energy and a second one DOS. | ||
| + | |||
| + | 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 | ||
| + | |||
| + | {{:si-bulk:pdos-si_bulk.png?400|DOS Si Bulk}} | ||
| + | |||
| + | |||
| + | |||