Calculation of the bandstructure of Si and of a graphene nanoribbon by means of DFT with different settings
Download the tar file exercise_9.tar here and move it to the directory where you would like to have the exercise_9 Execute the command
tar -cvf exercise_9.tar
enter the directory exercise_9
You will find a different directory for each TASK
Please have a look at this web page
where pseudopotentials for different elements of the periodic table can be found. For each pseudopotential several convergence test have been made, the use of the data contained in this webpage can be in general trusted, but additional tests are always a good praxis
Please also have a look at the webpage of quantum-espresso to find a detailed description of input parameters
The script run contains the instruction to run a quantum-espresso DFT calculation for a conventional cell of Si (ibrav=1 for simple cubic cell). As you can see in the file, 8 atoms are included in the cell of parameter a=5.43A. The primitive cell (ibrav=2 for fcc) would contain only 2 atoms and would not be cubic. The script is meant to run a calculation to optimize the wavefunction of the system and to compute the total energy. A single k point, Gamma (0,0,0), is used for the summation over the Brillouin Zone.
- the lattice parameter is specified
- the type of lattice (ibrav) is specified
- the coordinates of the atoms are provided in crystal coordinates
- the Monkhorst-Pack grid (in this case only Gamma point) is specified for the BZ sums
- how many electrons do we have in the system?
- how many occupied eigenvector do we have for each k-point (the occupation is printed in the output for each k-point after the energies of the eigenvalues belonging to the k-point
run the calculation (you can find output examples in the directory ./done)
Have a look to the output generated: si.out
- identify where the symmetry operations used by the code are listed
- identify the k-points used during the calculations
- find where the eigenvalues (provided in eV) for each k-point are printed
- find the total energy of the system
to find the total energy of the system you can also type:
grep "\!" si.out
to find the Fermi energy of the system you can also type:
grep "Fermi" si.out
TASK_0b, TASK_0c, TASK_1
The three tasks repeat the calculation of TASK_0 with a different sampling of the BZ in 0b a non shifted grid of 2x2x2 k-points is used, thus containing high symmetry points (so not ideal to have a accurate integration) in 0c the 2x2x2 grid is shifted and in TASK_1 a non shifted 3x3x3 grid is used.
TASK_2 DO NOT EXECUTE THE SCRIPT RUN it requires too much memory si.out is already present
Here the run script contains the data to run a calculation for a large Si cell There are 216 atoms corresponding to 3x3x3 of the conventional cell (8 atoms per cell in the conventional cell thus 3*3*3*8 atoms in total) used in the previous calculations
- why the total energy obtained in TASK_1 is closer to E27/27 compared to the energies obtained in TASKS 0,0b,0c?
- Compare the eigenvalues that you have now at the Gamma k-point with the eigenvalues you had on the different k-points for the calculation of TASK_1. All the eigenvalues obtained in TASK_1, that are subdivided in different k-points are now grouped in a single k-point.
- How many k-points are used in the calculation of TASK_1 as listed in si.out? why not 27?
The script run performs an accurate calculation (Monkhorst-Pack grid 8x8x8) to obtain a accurate estimate of the charge density (thus the hamiltonian) of the system (si.out). We use here for the simulation the primitive cell with two atoms per cell. The data obtained are used to compute the bandstructure of Si along the symmetry lines L-G and G-X. (the output is written in the file sibands.out, where you will find all the eigenvalues for the 100 k-points specified to sample the symmetry lines) In the input I specified in “crystal coordinates” (but units of the reciprocal lattice vectors not units of the unit cell vectors) the 100 k-points used to sample the L-G and G-X symmetry lines. The k-points in sibands.out are given in cartesian coordinates in units of 2pi/a.(as will be used in TASK_5)
once THE CALCULATION IS COMPLETED plot the bands providing the value of the fermi level that you obtain with the command:
grep "Fermi" si.out
you will obtain the png file bands.png
The aim of tasks 4 and 5 is to get familiar with what happens to the representation of bandsturctures if we change the simulation cell. In task 4 I assign to the conventional cell of Si a large lattice parameter, the 8 Si atoms of the cell will then be quite far one each other and will almost not interact This is of course not a correct representation of Bulk Si, it is instructive to see that the bands will reduce to flat lines corresponding to the s and p orbitals of the isolated Si atoms
wait for all calculations to be cmpleted and
grep "Fermi" si.out python bands.py
In TASK_5, instead, we use a correct conventional cell (8 atoms in fcc positions with a=5.43A) to compute the bandstructure. In order to be able to compare the bandstructure of TASK_5 with the one obtained in TASK_3 (where the primitive cell with only two atoms per cell was used) here i specify in the input the k-points of the path in BZ directly in cartesian coordinates.(in units of 1*pi/a) This is the simplest way to be sure that, despite the shape of the BZ in TASK_3 will be different from the one in TASK_5 we are computing the bandstructure in an equivalent region of the reciprocal space.
Compare the vectors of the simulation cell and the vectors of the reciprocal cell as printed in the output (si.out) with the same quantities present in the output of TASK_3
TASK_6 and TASK_7 In TASK_6 and TASK_7 you will find scf.in and bands.in to compute the bandstructure of a 7AGNR nanoribbon from it's primitive cell (TASK_6) and in a double cell (TASK_7 containing two units)
to plot the bands in TASK_6 and
to plot teh bands in TASK_7.
Additionally in the TASK_6 directory execution of:
./plot_qe_bands.py 7agnr_1uc.save --add_dir ../TASK_7/7agnr_2uc.save --fold 2
will create a superposition of the two plots
the accuracy of the calculations is poor to allow execution of the PC