PROGRESS  master
prg_dos_mod Module Reference

A module to compute the Density of state (DOS) and lDOS. More...

Functions/Subroutines

subroutine, public prg_write_tdos (eigenvals, gamma, npts, emin, emax, filename)
 Writes the total DOS into a file. \( DOS(\epsilon) = \sum_k L(\epsilon - \epsilon_k) \) Where \( \int_{-\infty}^{\infty} DOS(\epsilon) = Nstates \). More...
 
real(dp) function lorentz (energy, eigenvals, loads, Gamma)
 Lorentzian Function. More...
 

Variables

integer, parameter dp = kind(1.0d0)
 

Detailed Description

A module to compute the Density of state (DOS) and lDOS.

This module will be used to compute DOS and lDOS.

Todo:
Add LDOS.

Function/Subroutine Documentation

◆ lorentz()

real(dp) function prg_dos_mod::lorentz ( real(dp), intent(in)  energy,
real(dp), dimension(:), intent(in)  eigenvals,
real(dp), dimension(:), intent(in)  loads,
real(dp), intent(in)  Gamma 
)
private

Lorentzian Function.

Computes: \( L(\epsilon) = \sum_{k} \frac{\omega(k)\Gamma}{2 \pi}\frac{1}{(\epsilon - \epsilon_k)^2 + (\Gamma/2)^2} \)

Parameters
energyEnergy point.
eigenvalsEigenvalues of the system.
GammaLorentz function broadening.

Definition at line 76 of file prg_dos_mod.F90.

◆ prg_write_tdos()

subroutine, public prg_dos_mod::prg_write_tdos ( real(dp), dimension(:), intent(in)  eigenvals,
real(dp), intent(in)  gamma,
integer, intent(in)  npts,
real(dp), intent(in)  emin,
real(dp), intent(in)  emax,
character(len=*), intent(in)  filename 
)

Writes the total DOS into a file. \( DOS(\epsilon) = \sum_k L(\epsilon - \epsilon_k) \) Where \( \int_{-\infty}^{\infty} DOS(\epsilon) = Nstates \).

Note
DOS is NOT shifted respect to Ef.
Parameters
eigenvalsEigenvalues of the system. \para gamma Lorentzian width.
nptsNumber of energy points.
eminMinimum energy value.
emaxMaximum energy value.
filenameFilename to write the DOS.

Definition at line 34 of file prg_dos_mod.F90.

Variable Documentation

◆ dp

integer, parameter prg_dos_mod::dp = kind(1.0d0)
private

Definition at line 17 of file prg_dos_mod.F90.