[sigle]

TETPACK Library


Density of states subroutines

DOSTET Computes a crystal density of states and integrated density of states by the analytical tetrahedron method.
The routine uses outputs from the SETK** routines, and band structure data provided by the user.

V is the volume of the irreducible part of the Brillouin zone, D(x) is the dirac delta function.

CALL DOSTET(ENER,IDIME,NBAND,IDEF,NTET,XE,NE,Y,Z)

ENER (REAL*8 two-dimensional array, input)
ENER(NU,IK) is the energy of band NU, computed for the k-point IK, defined by the SETK** routine
IDIME(INTEGER*4, input)
First dimension of the array ENER, as defined in the calling program. IDIME must be at least equal to NBAND
NBAND(INTEGER*4, input)
Number of energy bands included in the summation
IDEF(INTEGER*4 two-dimensional array,input)
Table defining the tetrahedron corners, as obtained from the SETK** routines. The first dimension is 5.
NTET(INTEGER*4, input)
Number of tetrahedra filling the volume V (provided by a SETK** routine)
XE(REAL*8 one-dimensional array, input)
Contains the values of the energies E where the density of states and integrated density of states are to be computed.
Dimension is at least NE.
NE(INTEGER*4, input)
Number of energy points where the density of states and integrated density of states are computed. Only the first NE locations of XE are used by DOSTET.
Y(REAL*8 one-dimensional array, output)
The NE first components of this vector contain, on return, the density of states evaluated at energy points corresponding to the NE first components of XE.
Z(REAL*8 one-dimensional array, output)
The NE first components of this vector contain, on return, the integrated density of states evaluated at energy points corresponding to the NE first components of XE.


PDSTET Computes partial densities of states and number of states in a crystal using the analytical tetrahedron method.
The routine uses outputs from the SETK** routines, and band structure data provided by the user.

V is the volume of the irreducible part of the Brillouin zone, D(x) is the Dirac delta function and F denotes an appropriate character for the lth partial density or number of states (i.e. the integral of n1(E)). When F identifies to one for all bands inside the volume V, the total density of states is obtained (see DOSTET).

CALL PDSTET(CHAR, IDIMC, JDIMC, NPDS, ENER, IDIME, NBAND, IDEF, NTET, XE, NE, YT, ZT, YP, ZP, IDIMP )

CHAR(REAL*8 three-dimensional array, input)
CHAR(L,NU,IK) is the character for the Lth partial DOS calculation of the band NU at the IKth k-point generated by the SETK** routine
CHAR contains the numerator functions F that appear in the above equation
IDIMC(INTEGER*4, input)
First dimension of the array CHAR, as defined in the calling program. IDIMC must be at least equal to NPDS
JDIMC(INTEGER*4, input)
Second dimension of the array CHAR, as defined in the calling program. JDIMC must be at least equal to NBAND
NPDS(INTEGER*4, input)
Number of characters defined in the array CHAR.
NPDS is also the number of partial densities of states and number of states returned by PDSTET
ENER(REAL*8 two-dimensional array, input)
ENER(NU,IK) is the energy of band NU, computed for the k-point IK, defined by the SETK** routine
IDIME(INTEGER*4, input)
First dimension of the array ENER, as defined in the calling program. IDIME must be at least equal to NBAND
NBAND(INTEGER*4, input)
Number of energy bands included in the summation
IDEF(INTEGER*4 two-dimensional array,input)
Table defining the tetrahedron corners, as obtained from the SETK** routines. The first dimension is 5.
NTET(INTEGER*4, input)
Number of tetrahedra filling the volume V (provided by a SETK** routine)
XE(REAL*8 one-dimensional array, input)
Contains the values of the energies E where the density of states and integrated density of states are to be computed.
Dimension is at least NE.
NE(INTEGER*4, input)
Number of energy points where the density of states and integrated density of states are computed. Only the first NE locations of XE are used by DOSTET.
YT(REAL*8 one-dimensional array, output)
The NE first components of this vector contain, on return, the TOTAL density of states evaluated at energy points corresponding to the NE first components of XE.
ZT(REAL*8 one-dimensional array, output)
The NE first components of this vector contain, on return, the TOTAL integrated density of states evaluated at energy points corresponding to the NE first components of XE.
YP(REAL*8 two-dimensional array, output)
YP(L,IE) is the Lth PARTIAL density of states computed by PDSTET at the energy XE(IE)
ZP(REAL*8 two-dimensional array, output)
ZP(L,IE) is the Lth PARTIAL number of states computed by PDSTET at the energy XE(IE)
IDIMP(INTEGER*4, input
First dimension of the arrays YP and ZP, as defined in the calling program. IDIMP must be at least equal to NPDS.


SUPDOS Compute the density of states of a superlattice, or any other systems with cylindrical brillouin zone.

CALL SUPDOS(ENER, IDIM1, IDIM2, N1, N2, NB, DK1, DK2, X, Y, Z, NX)

ENERband structure, function of k1 (= k perpendicular) and k2 (= modulus of k parallel to the interfaces)
k1 and k2 are discretized on a regular mesh, such that ENER(I1,I2,IB) = energy of band IB for
k1 = (I1-1)*DK1, I1 = 1,...,N1 , (N1-1)*DK1 = PI/period
k2 = (I2-1)*DK2 , I2 = 1,...,N2
IDIM1,IDIM2two first dimensions of ENER
NBnumber of bands
X(1),...,X(NX)tabulated energies for dos calculation
Y(1),...,Y(NX)computed dos (output)
Z(1),...,Z(NX) computed integrated dos (output)
Normalization
Znumber of states per cube of the reciprocal unit of DK1 and DK2
Ysame as Y, per unit of energy used for ENER and X


Go to : FUNDP / Faculty of Science / Physics Department
Jean-Pol Vigneron