# dos keywords

Density of states calculator

## dos.ldos

Determines whether to compute the local density of states. The smearing
width and sampling method is the same as the one use in the dos. It can
thus be controlled using the keywords kpoint.sigma and qpoint.sampling.
The energy at which the local density of states is computed may be
controlled using dos.ldosEnergy, or dos.ldosEnergyi and dos.ldosEnergyk.
The local density of states can be computed for an energy range using
the keyword dos.ldosERange. If the last are not specified, the local
density of states is calculated at the Fermi energy. Note that the
energies are absolute and in Hartree units as always. One can shift the
value of the LDOS energies using dos.ldosShiftEf. The energy units can
be controlled using units.energy. If dos.pdos = true, i.e. you are
performing some projected DOS calculation, then the corresponding
projected LDOS is calculated and saved.

**type**: `scalar`

**default**: `false`

**allowed**: `true,false`

**example**: `dos.ldos = true`

## dos.ldosEnergy

Energies at which the local density of states is calculated. If
dos.ldosEnergy (or alternate keywords) is not specified, the LDOS is
calculated at the Fermi energy. Note that this will typically lead to a
zero LDOS in semiconductors. The energies are relative to the Fermi
energy if dos.ldosShiftEf = true. The Fermi energy is recalculated
during the DOS calculation, and hence it may differ from the result of
the self-consistent calculation. This keyword has precedence over
dos.ldosEnergyi and dos.ldosEnergyk.

**type**: `scalar`

**example**: `dos.ldosEnergy = -0.23`

## dos.ldosEnergyi

Energy band and spin indices used to determine the local density of
states energy. The first column indicates the band indices and the
second column the spin indices. Since bands generally have a width, more
information is required to uniquely determine the LDOS energy from
dos.ldosEnergyi. k-points may be specified using dos.ldosEnergyk. If a
k-point given by dos.ldosEnergyk is not part of the Monkhorst-Pack grid,
the value of the energy at the k-point is linearly interpolated from the
available data. If dos.ldosEnergyk is not defined, RESCU calculates the
LDOS at the energies corresponding to the top of the energy bands
specified by dos.ldosEnergyi. The second entry is optional and it allows
to specify the spin indices. The default spin index is 1.

**type**: `array`

**example**: `dos.ldosEnergyi = [4 1; 4 2]`

## dos.ldosEnergyk

K-points used to determine the local density of states energies. Since
bands generally have a width, RESCU calculates the LDOS at the energies
corresponding to energy bands specified by dos.ldosEnergyi and the
k-points specified by dos.ldosEnergyk. If a k-point given by
dos.ldosEnergyk is not part of the Monkhorst-Pack grid, the value of the
energy at the k-point is linearly interpolated from the available data.

**type**: `array`

**example**: `dos.ldosEnergyk = [0 0 0.5;0 0.5 0.5]`

## dos.ldosERange

The ldos is integrated over the energy range given by dos.ldosERange.
This is also refered to as the partial charge. The range is relative to
the energy given by the keyword dos.ldosEnergy, whose default value is
the Fermi energy. Note that dos.ldosEnergy is itself relative to the
Fermi energy if dos.ldosShiftEf = true.

**type**: `array`

**size**: `[1,2]`

**example**: `dos.ldosERange = [-1,1]`

## dos.ldosShiftEf

If dos.ldosShiftEf = true, then the values given in dos.ldosEnergy are
relative to the Fermi energy.

**type**: `scalar`

**default**: `false`

**example**: `dos.ldosShiftEf = true`

## dos.projL

Calculate the density of states projected on atomic orbitals with a
specific orbital angular momentum. For example, setting dos.projL =
\[0,2\] will project the DOS on atomic orbitals with orbital angular
momentum 0 and 2. It can be combined with other conditions such as
dos.projAtom. The default is \[\] which sums up all orbital angular
momentum contributions in the PDOS. An atomic orbital basis must be
found in the pseudopotential files.

**type**: `array`

**default**: `[]`

**example**: `dos.projL = [0,1,2]`

## dos.projM

Calculate the density of states projected on atomic orbitals with a
specific z-orbital angular momentum. For example, setting dos.projM =
\[-1,1\] will project the DOS on atomic orbitals with z-orbital angular
momentum -1 and 1. It can be combined with other conditions such as
dos.projAtom. The default is \[\] which sums up all z-orbital angular
momentum contributions in the PDOS. An atomic orbital basis must be
found in the pseudopotential files.

**type**: `array`

**default**: `[]`

**example**: `dos.projM = -2:2`

## dos.projZ

Calculate the density of states projected on atomic orbitals with a
specific zeta-number. For example, setting dos.projZ = 1 will project
the DOS on atomic orbitals which are first zeta. It can be combined with
other conditions such as dos.projAtom. The default is \[\] which sums up
the contributions of different-zeta orbitals. An atomic orbital basis
must be found in the pseudopotential files.

**type**: `array`

**default**: `[]`

**example**: `dos.projZ = [1,2]`

## dos.projAtom

Calculate the density of states projected on the atomic orbitals of
specific atoms. For example, setting dos.projAtom = \[221,223\] will
project the DOS on the atomic orbitals of atoms 221 and 223. It can be
combined with other conditions such as dos.projL. The default is \[\]
which sums up the contributions of all atoms. An atomic orbital basis
must be found in the pseudopotential files.

**type**: `array`

**default**: `[]`

**example**: `dos.projAtom = 501:520`

## dos.projSpecies

Calculate the density of states projected on the atomic orbitals of
specific species. For example, setting dos.projSpecies = 2 will project
the DOS on the atomic orbitals of element 2. It can be combined with
other conditions such as dos.projL. The default is \[\] which sums up
the contributions of all species. An atomic orbital basis must be found
in the pseudopotential files.

**type**: `array`

**default**: `[]`

**example**: `dos.projSpecies = [5,6]`

## dos.range

1 x 2 array giving the energy range, relative to the Fermi energy, in
Hartree, for which the DOS is calculated.

**type**: `array`

**example**: `dos.range = [-0.5,0.5]`

## dos.resolution

Determines the resolution of the DOS energy axis; in Hartree by default.

**type**: `scalar`

**default**: `0.001`

**example**: `dos.resolution = 0.01`

## dos.status

Determines whether to compute the density of states.

**type**: `scalar`

**allowed**: `true,false`

**example**: `dos.status = true`
