# DOS and Bandstructure of Graphene

I am following this example from the ICTP online school 2021.

Graphene is single layer of carbon atoms. First perform the self consistent field calculation to obtain the Kohn-Sham orbitals. Please check the input files in GitHub repository. Run pw.x:

pw.x -i graphene_scf.in > graphene_scf.out

Next increase the k-grid, and perform the non-self-consistent field calculation.

pw.x -i graphene_nscf.in > graphene_nscf.out

## DOS calculation​

dos.x -i graphene_dos.in > graphene_dos.out

## Bandstructure calculation​

First run the bands calculation for given k-path:

pw.x -i graphene_bands.in > graphene_bands.out

Followed by the postprocessing to collect the bands:

bands.x -i graphene_bands_pp.in > graphene_bands_pp.out

Make plots:

notebooks/graphene.ipynb
import numpy as npimport matplotlib.pyplot as pltdata = np.loadtxt('../src/graphene/graphene_bands.dat.gnu')k = np.unique(data[:, 0])bands = np.reshape(data[:, 1], (-1, len(k)))for band in range(len(bands)):    plt.plot(k, bands[band, :], linewidth=1, alpha=0.5, color='k')plt.xlim(min(k), max(k))# Fermi energyplt.axhline(0.921, linestyle=(0, (8, 10)), linewidth=0.75, color='k', alpha=0.5)# High symmetry k-points (check bands_pp.out)plt.axvline(0.6667, linewidth=0.75, color='k', alpha=0.5)plt.axvline(1, linewidth=0.75, color='k', alpha=0.5)# text labelsplt.xticks(ticks= [0, 0.6667, 1, 1.5774], labels=['$\Gamma$', 'K', 'M', '$\Gamma$'])plt.ylabel("Energy (eV)")plt.show()