PROGRESS  master
prg_densitymatrix_mod.F90 File Reference

Go to the source code of this file.

Modules

module  prg_densitymatrix_mod
 Module to obtain the density matrix by diagonalizing an orthogonalized Hamiltonian.
 

Functions/Subroutines

subroutine, public prg_densitymatrix_mod::prg_build_density_t0 (ham_bml, rho_bml, threshold, bndfil, eigenvalues_out)
 Builds the density matrix from \( H_0 \) for zero electronic temperature. \( \rho = C \Theta(\mu I - \epsilon) C^{\dagger} \) Where, \( C \) is the matrix eigenvector and \( \epsilon \) is the matrix eigenvalue. \( \Theta() \) is the Heaviside function. More...
 
subroutine, public prg_densitymatrix_mod::prg_build_density_t (ham_bml, rho_bml, threshold, bndfil, kbt, ef, eigenvalues_out)
 Builds the density matrix from \( H_0 \) for electronic temperature T. \( \rho = C f(\mu I - \epsilon) C^{\dagger} \) Where, \( C \) is the matrix eigenvector and \( \epsilon \) is the matrix eigenvalue. \( f \) is the Fermi function. More...
 
subroutine, public prg_densitymatrix_mod::prg_build_density_t_fulldata (ham_bml, rho_bml, threshold, bndfil, kbt, ef, eigenvalues_out, evects_bml, fvals)
 Builds the density matrix from \( H_0 \) for electronic temperature T. \( \rho = C f(\mu I - \epsilon) C^{\dagger} \) Where, \( C \) is the matrix eigenvector and \( \epsilon \) is the matrix eigenvalue. \( f \) is the Fermi function. More...
 
subroutine, public prg_densitymatrix_mod::prg_build_density_t_ed (ham_bml, rho_bml, evects_bml, threshold, bndfil, kbt, ef, evals, dvals, hindex, llsize, verbose)
 Builds the density matrix from \( H_0 \) for electronic temperature T. \( \rho = C f(\mu I - \epsilon) C^{\dagger} \) Where, \( C \) is the matrix eigenvector and \( \epsilon \) is the matrix eigenvalue. \( f \) is the Fermi function. More...
 
subroutine, public prg_densitymatrix_mod::prg_get_evalsdvalsevects (ham_bml, threshold, hindex, llsize, evals, dvals, evects_bml, verbose)
 Gets the eigenvalues and eigenvectors and the core contribution to each eigenvalue (dvals) . More...
 
subroutine, public prg_densitymatrix_mod::prg_build_density_fromevalsandevects (evects_bml, evals, rho_bml, threshold, bndfil, kbt, ef, verbose)
 Builds the density matrix from the evects and evals for electronic temperature T. More...
 
subroutine, public prg_densitymatrix_mod::prg_build_density_t_fermi (ham_bml, rho_bml, threshold, kbt, ef, verbose, drho)
 Builds the density matrix from \( H_0 \) for electronic temperature T. \( \rho = C f(\mu I - \epsilon) C^{\dagger} \) Where, \( C \) is the matrix eigenvector and \( \epsilon \) is the matrix eigenvalue. \( f \) is the Fermi function. In this routine the Fermi level is passed as an argument. More...
 
subroutine, public prg_densitymatrix_mod::prg_build_atomic_density (rhoat_bml, numel, hindex, spindex, norb, bml_type)
 Builds the atomic density matrix. \( \rho_{ii} = mathcal{Z}_{ii} \) Where, \( mathcal{Z}_{ii} \) is the number of electrons for orbital i. More...
 
subroutine, public prg_densitymatrix_mod::prg_get_flevel (eigenvalues, kbt, bndfil, tol, Ef, err)
 Routine to compute the Fermi level given a set of eigenvalues and a temperature. It applies the Bisection method over the function: \( g(\mu) = \sum_k 2 f(\epsilon_k - \mu) - N = 0 \) Where \( f(\epsilon_k - \mu) = \frac{1}{1+\exp{(\epsilon_k - \mu)/(k_bT)}}\). More...
 
subroutine, public prg_densitymatrix_mod::prg_get_flevel_nt (eigenvalues, kbt, bndfil, tol, ef, err, verbose)
 Routine to compute the Fermi level given a set of eigenvalues and a temperature. It applies the Newton-Raphson method over the function: \( g(\mu) = \sum_k 2 f(\epsilon_k - \mu) - N = 0 \) Where \( f(\epsilon_k - \mu) = \frac{1}{1+\exp{(\epsilon_k - \mu)/(k_bT)}}\). More...
 
subroutine, public prg_densitymatrix_mod::prg_get_eigenvalues (ham_bml, eigenvalues, verbose)
 Gets the eigenvalues of the Orthogonalized Hamiltonian. More...
 
subroutine, public prg_densitymatrix_mod::prg_check_idempotency (mat_bml, threshold, idempotency)
 To check the idempotency error of a matrix. This is calculated as the Frobenius norm of \( (A - A^2) \). More...
 
real(dp) function prg_densitymatrix_mod::fermi (e, ef, kbt)
 Gives the Fermi distribution value for energy e. More...
 
real(dp) function prg_densitymatrix_mod::dfermi (e, ef, kbt)
 Gives the gradient of Fermi distribution w.r.t. ef. More...
 
subroutine, public prg_densitymatrix_mod::prg_toeigenspace (mat_bml, matEig_bml, evects_bml, threshold, verbose)
 Change an operator into the eigenspace representation. More...
 
subroutine, public prg_densitymatrix_mod::prg_tocanonicalspace (mat_bml, matCan_bml, evects_bml, threshold, verbose)
 Change an operator into the eigenspace representation. More...
 
subroutine, public prg_densitymatrix_mod::canon_dm_prt (P1, H1, Nocc, T, Q, e, mu0, m, HDIM)
 
subroutine prg_densitymatrix_mod::eig (A, Q, ee, TYPE, HDIM)
 

Variables

integer, parameter prg_densitymatrix_mod::dp = kind(1.0d0)