# 2.3. Density of states calculation

In the present section, I compute the density of states (DOS) of graphene. To do so, I set the keyword dos.status equal to true in the self-consistent calculation input file. I plot the density of states by calling RESCU with the plot option followed by the path to the results.

rescu -p results/c2_scf.mat


The DOS is shown in Fig. 2.3.1 as a pale red dashed line. RESCU computes the DOS in the interval [$$E_{Fermi}$$ -10, $$E_{Fermi}$$+10] eV using a resolution of 10$$^{-3}$$ Bohr (0.027 eV) by default. The DOS looks like a piecewise linear function. This is an artefact of the tetrahedron method arising because of insufficient k-point sampling. Obtaining an accurate DOS does not require additional k-sampling during the self-consistent cycle, but it does require additional k-sampling for the DOS calculation. I thus calculate non-self-consistently the spectrum of the Kohn-Sham Hamiltonian to obtain the DOS of graphene. Copy the following input file and save it to a text file named c2_dos.txt.

info.calculationType = 'dos'
info.savepath = 'results/c2_dos'
atom.element = [1 1]
la = 4.648725932
atom.xyz = [1 1/sqrt(3) 0;1 -1/sqrt(3) 0]/2*la
domain.latvec = [1/2 sqrt(3)/2 0; 1/2 -sqrt(3)/2 0; 0 0 4]*la
domain.lowres = 0.3
dos.range = [-0.70,0.20]
element.species = 'C'
element.path = './C_TM_LDA.mat'
kpoint.gridn = [60,60,1]
kpoint.shift = [0,0,0]
LCAO.status = 1
rho.in = 'results/c2_scf'


Then pass it to RESCU and execute the program as follows

rescu -i c2_dos.txt;


New keywords are highlighted in blue. I will briefly explain each of them.

• info.calculationType tells RESCU to perform a dos calculation;

• info.savepath was changed not to overwrite the self-consistent results;

• dos.range defines the energy interval for which the DOS is calculated. As mentioned earlier, the units are in Hartree. We concentrate on the interval [-20,5] eV relative to the Fermi level in the present example;

• kpoint.gridn the k-point grid was augmented to a $$60\times60$$ points grid;

• kpoint.shift use a $$\Gamma$$-centred grid. RESCU uses a MonkHorst-Pack grid by default such that the default shift is $$[1/2\;1/2\;1/2]$$ for an even-numbered grid. A $$\Gamma$$-centred grid is necessary because we need a k-point at $$K=[1/3\;1/3\;0]$$ and the number of irreducible k-points is much smaller this way.

I plot the DOS using the following command.

rescu -p results/c2_dos.mat


The result is shown in Fig. 2.3.1 as a solid red line. The overall shape is compatible with the self-consistent result, but specific features are now resolved much more accurately.