analytical tetrahedron dos with imaginary part of the self-energy

Lambin and Vigneron , PRB 29 , 3430. eq.7
r_i(z) = (z-Ei)**2/ /Pi_{k!=i} (E_k-E_i ) +
Sum_{j!=i} (z-E_j)**3 / Pi_{k!=j} (E_k-E_j) * Ln ( (z-E_j)(z-E_i) )/ (E_i-E_j)

Subroutine

source, use cpp and extend_column options to compile it.

Usage


call cgwdos(volwgt,ec ,emin,emax,dos,nr)


where

double precision,intent(in):: volwgt,emin,emax
complex(8),intent(in) :: ec(4,nr) ! eig(E)+self(E), E= emin+(ie-1)*(emax-emin), ie=1,...,nr
double precision,intent(out):: dos(nr) ! DOS at E=emin+(ie-1)*(emax-emin), ie=1,...,nr

volwgt is the weight of the tetrahedron. Summation of the volume of all the tetrahedron is 1.
ec(1:4,nr), 1:4 is the indeces of the corners of the tetrahedron, (kx,ky,kz).

You may cut a rectangular parallelepiped to tetrahedrons.
--->

Note

The simplest method to use this formula in 2D is to regard E_2D(kx,ky,E) as E(kx,ky,kz=1,E)=E_2D(kx,ky,E) and E(kx,ky,kz=2,E)=E_2D(kx,ky,E).