Densityofstates

back to main page

DOS

The main task of this example is to calculate the density of states (DOS) of the system. At first, do a ground-state energy calculation with one additional keyword in the INPUT file:

out_chg              1

this will produce the converged charge density, which is contained in the file SPIN1_CHG. Copy the file along with the STRU file, the pseudopotential file and the atomic orbital file (and the local density matrix file onsite.dm if DFT+U is used) to the new working directory where we will do a non-self-consistent calculation. In this example, the potential is constructed from the ground-state charge density from the proceeding calculation. Now the INPUT file is like:

INPUT_PARAMETERS
#Parameters (General)
suffix Si2_diamond
ntype 1
nbands 8
calculation nscf
basis_type lcao
read_file_dir   ./

#Parameters (Accuracy)
ecutwfc 60
symmetry 1
scf_nmax 50
scf_thr 1.0e-9
pw_diag_thr 1.0e-7

#Parameters (File)
init_chg file
out_dos 1
dos_sigma 0.07

#Parameters (Smearing)
smearing_method gaussian
smearing_sigma 0.02

Some parameters in the INPUT file are explained:

To have an accurate DOS, one needs to have a denser k-point mesh. For example, the KPT file can be set as:

K_POINTS
0
Gamma
8 8 8 0 0 0

Run the program, and you will see a file named DOS1smearing.dat in the output directory. The first two columns in the file are the energy and DOS, respectively.Plot file DOS1smearing.dat with graphing software, and you’ll get the DOS.

PDOS

Along with the DOS1_smearing.dat file, we also produce the projected density of states (PDOS) in a file called PDOS.

The PDOS file starts with number of atomic orbitals in the system, then a list of energy values, such as:

<pdos>
<nspin>1</nspin>
<norbitals>26</norbitals>
<energy_values units="eV">
...

The rest of the fileis arranged in sections, each section with a header such as below:

<orbital
index="                                       1"
atom_index="                                       1"
species="Si"
l="                                       0"
m="                                       0"
z="                                       1"
>
<data>
...
</data>

which tells the atom and symmetry of the current atomic orbital, and followed by the PDOS values. The values can thus be plotted against the energies.

back to top