Compute Density of States
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer, | private | :: | num_freq | Number of sampling points |
|||
real(kind=dp), | private | :: | d_omega | Step between energies |
Computes the electronic density of states. Can resolve into up-spin and down-spin parts, project onto selected Wannier orbitals, and use adaptive broadening, as in PRB 75, 195121 (2007) [YWVS07].
This subroutine calculates the contribution to the DOS of a single k point
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=dp), | intent(in), | dimension(3) | :: | kpt | ||
real(kind=dp), | intent(in), | dimension(:) | :: | EnergyArray | ||
real(kind=dp), | intent(in), | dimension(:) | :: | eig_k | ||
real(kind=dp), | intent(out), | dimension(:, :) | :: | dos_k | ||
integer, | intent(in) | :: | smr_index | |||
real(kind=dp), | intent(in), | optional | :: | smr_fixed_en_width | ||
real(kind=dp), | intent(in), | optional | :: | adpt_smr_fac | ||
real(kind=dp), | intent(in), | optional | :: | adpt_smr_max | ||
real(kind=dp), | intent(in), | optional | dimension(:) | :: | levelspacing_k | |
complex(kind=dp), | intent(in), | optional | dimension(:, :) | :: | UU |
This subroutine calculates the level spacing, i.e. how much the level changes near a given point of the interpolation mesh
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=dp), | intent(in), | dimension(num_wann, 3) | :: | del_eig | Band velocities, already corrected when degeneracies occur |
|
integer, | intent(in), | dimension(3) | :: | kmesh | array of three integers, giving the number of k points along each of the three directions defined by the reciprocal lattice vectors |
|
real(kind=dp), | intent(out), | dimension(num_wann) | :: | levelspacing | On output, the spacing for each of the bands (in eV) |