mirror of https://gitlab.com/QEF/q-e.git
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:
parent
be93a2b5ab
commit
af1b2ed448
|
@ -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)
|
||||
!-----------------------------------------------------------------------
|
||||
|
|
Loading…
Reference in New Issue