! ! Copyright (C) 2001-2003 PWSCF group ! This file is distributed under the terms of the ! GNU General Public License. See the file `License' ! in the root directory of the present distribution, ! or http://www.gnu.org/copyleft/gpl.txt . ! !---------------------------------------------------------------------------- ! MODULE el_phon USE kinds, ONLY : DP ! SAVE ! COMPLEX(KIND=DP), ALLOCATABLE :: & el_ph_mat (:,:,:,:), &! e-p matrix (nbnd, nbnd, nks, 3*nat) cu(:,:,:), &! rot matrix for wannier interpolation, coarse mesh (nbnd*nbnd*nkstot) umat(:,:,:), &! the rotation matrix for the unique setting of the wfs gauge dynq (:,:,:), &! dynamical matrix for every q (nmode, nmodes, nqtot) epmatq (:,:,:,:,:) ! e-p matrix for every q (nbnd, nbnd, nks, nmodes, nqtot) REAL(KIND=DP), ALLOCATABLE :: & xk_all(:,:), &! full k point grid, coarse (3, nkstot) et_all(:,:), &! full eigenvalue list, coarse (nbnd, nkstot) xkf(:,:), &! fine k point grid (3, nksf) wkf(:), &! weights on the fine grid (nksf) xqf(:,:), &! fine q point grid wqf(:), &! weights on the fine q grid etf(:,:), &! interpolated eigenvalues (nbnd, nksf) wf(:,:), &! interpolated eigenfrequencies wslen(:) ! length of the wigner seitz points in units of alat INTEGER :: & nkbl, &! number of k points blocks ( = nkstot at gamma, = nkstot/2 for q /= 0) nksf, &! number of k points in the pool (fine grid) nksqf, &! number of k blocks in the pool (fine grid) nkstotf, &! total number of k points (fine grid) nxqf, &! total number of q points (fine grid) nrr, &! number of wigner-seitz points (elec interp only) nrr_k, &! number of wigner-seitz points for electrons nrr_q, &! number of wigner-seitz points for phonons ibndmin, &! band bounds for slimming down electron-phonon matrix ibndmax ! INTEGER, ALLOCATABLE :: & irvec(:,:), &! crys coordinates of wigner-seitz vectors (both elec and phon) ndegen(:), &! corresponding degeneragy, electrons (old version) ndegen_k(:), &! corresponding degeneragy, electrons ndegen_q(:) ! corresponding degeneragy, phonons INTEGER, allocatable :: & shift (:), &! for every k+q, index of the G0 which folds k+q into k+q+G0 of the first BZ gmap(:) ! the map G -> G-G_0 in the large (density) G vectors set, for every G_0 END MODULE el_phon