Removal of unused dyndia_epw subroutine.

git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12677 c92efa57-630b-4861-b058-cf58834340f0
This commit is contained in:
sponce 2016-08-07 17:06:34 +00:00
parent be93a2b5ab
commit af1b2ed448
1 changed files with 0 additions and 78 deletions

View File

@ -342,84 +342,6 @@ SUBROUTINE rgd_blk_epw2(nr1,nr2,nr3,q,uq,epmat,nmodes,epsil,zeu,bmat,sign)
!
END SUBROUTINE rgd_blk_epw2
!
!
!-----------------------------------------------------------------------------
SUBROUTINE dyndia_epw (nmodes, dyn, uq, wq)
!-----------------------------------------------------------------------------
!!
!! diagonalize dyn mat --> uq, wq
!!
USE kinds, ONLY : DP
USE ions_base, ONLY : amass, nat, ityp
USE constants_epw, ONLY : twopi, ci, czero, rydcm1
!
implicit none
!
! input variables
integer :: nmodes
! number of branches
complex(kind=DP) :: dyn (nmodes, nmodes)
! dynamical matrix in bloch representation (Cartesian coordinates)
!
! output variables
complex(kind=DP) uq(nmodes,nmodes)
real(kind=DP) wq(nmodes)
!
! work variables
complex(kind=DP) dyn1(nmodes, nmodes), dynp( nmodes*(nmodes+1)/2 )
complex(kind=DP) :: cwork( 2*nmodes ), u1(nmodes,nmodes)
integer :: neig, info, ifail( nmodes ), iwork( 5*nmodes )
real(kind=DP) :: w1(nmodes), rwork( 7*nmodes ), massfac
integer :: imode, jmode, na, nb, mu, nu
!
! divide by the square root of masses
!
DO na = 1, nat
DO nb = 1, nat
massfac = 1.d0 / sqrt ( amass(ityp(na)) * amass(ityp(nb)) )
dyn1(3*(na-1)+1:3*na, 3*(nb-1)+1:3*nb) = &
dyn (3*(na-1)+1:3*na, 3*(nb-1)+1:3*nb) * massfac
END DO
END DO
!
DO jmode = 1, nmodes
DO imode = 1, jmode
dynp (imode + (jmode - 1) * jmode/2 ) = &
( dyn1 ( imode, jmode) + conjg ( dyn1 ( jmode, imode) ) ) / 2.d0
ENDDO
ENDDO
!
! diagonalize
!
CALL zhpevx ('V', 'A', 'U', nmodes, dynp , 0.0, 0.0, &
0, 0,-1.0, neig, w1, u1, nmodes, cwork, &
rwork, iwork, ifail, info)
!
! frequencies and mass-scaled eigenvectors
!
DO nu = 1, nmodes
IF ( w1 (nu) .gt. 0.d0 ) then
wq(nu) = sqrt(abs( w1 (nu) ))
ELSE
wq(nu) = -sqrt(abs( w1 (nu) ))
ENDIF
DO mu = 1, nmodes
na = (mu - 1) / 3 + 1
uq (mu, nu) = u1 (mu, nu) / sqrt(amass(ityp(na)))
ENDDO
ENDDO
!WRITE ( stdout, '(5x,a,3f10.6)') "Frequencies, q = ", (xq(i),i=1,3)
!WRITE ( stdout, '(6(2x,f10.5))' ) (wq(nu)*rydcm1, nu = 1, nmodes)
!WRITE(6,'("uq")')
!DO nu=1,nmodes
!WRITE(6,'(2f12.8)') (u1(mu,nu), mu=1,nmodes)
!WRITE(6,'(/,5X)')
!ENDDO
!
!
END SUBROUTINE dyndia_epw
!
!
!-----------------------------------------------------------------------
SUBROUTINE compute_bmn_para2 (nbnd, cufkk, cufkq, bmatf)
!-----------------------------------------------------------------------