# 1.3. Density of states calculation

In this section, I show how to calculate the density of states (DOS) of bulk silicon. In principle, all I have to do is set the keyword dos.status to true and perform a self-consistent calculation. In practice, the DOS is calculated non-self-consistently as the number of k-point required to converge the DOS is much higher than the number of k-point required to converge the ground state density. To perform a DOS calculation, copy the following input file and save it to a text file named si_dos.txt.

info.calculationType = 'dos'
info.savepath = 'results/si_dos'
atom.element = [1 1]
atom.xyz = 10.25*[0 0 0;0.25 0.25 0.25]
domain.latvec = 10.25*[0.0 0.5 0.5;0.5 0.0 0.5;0.5 0.5 0.0]
domain.lowres = 0.5
element.species = 'si'
element.path = './Si_TM_LDA.mat'
kpoint.gridn = [10,10,10]
rho.in = 'results/si_scf'


Then pass it to RESCU and execute the program as follows

rescu -i si_dos.txt;


The DOS calculation input file is similar to the self-consistent calculation input file. The differences are highlighted in blue. info.calculationType is set to ’dos’ and rho.in points to the results of the self-consistent calculation so that RESCU reads the ground state electronic density. info.savepath is modified not to overwrite the self-consistent results and the k-sampling is increased. In the present case, a 10$$\times$$10$$\times$$10 grid is sufficient since the default sampling method is the linear tetrahedron method and the bands of silicon are relatively smooth.

# 1.4. Plot results

RESCU automatically plots certain results (e.g. band structures, DOS, projected DOS). It create a MATLAB figure that can be modified (title, axis, etc.) subsequently. To plot the density of states, use the plot flag to point RESCU to the data.

rescu -p results/si_dos.mat results/si_dos.png;


The second input (results/si_dos.png) is optional and it determines the name and the file format of the figure. The DOS obtained from the example in section 3 is found in Fig. 1.4.1.