mirror of https://gitlab.com/QEF/q-e.git
Several bad INTENT's fixed (courtesy of Vittorio Zecca)
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@6620 c92efa57-630b-4861-b058-cf58834340f0
This commit is contained in:
parent
0fe34d206a
commit
9b560923a6
|
@ -35,7 +35,7 @@ SUBROUTINE add_vuspsi( lda, n, m, hpsi )
|
|||
! ... I/O variables
|
||||
!
|
||||
INTEGER, INTENT(IN) :: lda, n, m
|
||||
COMPLEX(DP), INTENT(OUT) :: hpsi(lda*npol,m)
|
||||
COMPLEX(DP), INTENT(INOUT) :: hpsi(lda*npol,m)
|
||||
!
|
||||
! ... here the local variables
|
||||
!
|
||||
|
|
|
@ -109,6 +109,8 @@ SUBROUTINE atomic_wfc (ik, wfcatom)
|
|||
eigts3 (ig3 (iig), na)
|
||||
enddo
|
||||
!
|
||||
wfcatom(:,:,:) = (0.0_dp, 0.0_dp)
|
||||
!
|
||||
nt = ityp (na)
|
||||
do nb = 1, upf(nt)%nwfc
|
||||
if (upf(nt)%oc(nb) >= 0.d0) then
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
!
|
||||
! Copyright (C) 2001-2004 Quantum ESPRESSO group
|
||||
! Copyright (C) 2001-2010 Quantum ESPRESSO 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,
|
||||
|
@ -10,7 +10,7 @@ SUBROUTINE gk_sort( k, ngm, g, ecut, ngk, igk, gk )
|
|||
!----------------------------------------------------------------------------
|
||||
!
|
||||
! ... sorts k+g in order of increasing magnitude, up to ecut
|
||||
! ... NB: this version will yield the same ordering for different ecut
|
||||
! ... NB: this version should yield the same ordering for different ecut
|
||||
! ... and the same ordering in all machines
|
||||
!
|
||||
USE kinds, ONLY : DP
|
||||
|
@ -37,6 +37,8 @@ SUBROUTINE gk_sort( k, ngm, g, ecut, ngk, igk, gk )
|
|||
q2x = ( sqrt( sum(k(:)**2) ) + sqrt( ecut ) )**2
|
||||
!
|
||||
ngk = 0
|
||||
igk(:) = 0
|
||||
gk (:) = 0.0_dp
|
||||
!
|
||||
DO ng = 1, ngm
|
||||
q = sum( ( k(:) + g(:,ng) )**2 )
|
||||
|
@ -49,7 +51,6 @@ SUBROUTINE gk_sort( k, ngm, g, ecut, ngk, igk, gk )
|
|||
IF ( ngk > npwx ) &
|
||||
CALL errore( 'gk_sort', 'array gk out-of-bounds', 1 )
|
||||
!
|
||||
! gk is a fake quantity giving the same ordering on all machines
|
||||
gk(ngk) = q
|
||||
!
|
||||
! set the initial value of index array
|
||||
|
|
|
@ -26,7 +26,7 @@ SUBROUTINE gradcorr( rho, rhog, rho_core, rhog_core, etxc, vtxc, v )
|
|||
!
|
||||
REAL(DP), INTENT(IN) :: rho(nrxx,nspin), rho_core(nrxx)
|
||||
COMPLEX(DP), INTENT(IN) :: rhog(ngm,nspin), rhog_core(ngm)
|
||||
REAL(DP), INTENT(OUT) :: v(nrxx,nspin)
|
||||
REAL(DP), INTENT(INOUT) :: v(nrxx,nspin)
|
||||
REAL(DP), INTENT(INOUT) :: vtxc, etxc
|
||||
!
|
||||
INTEGER :: k, ipol, is, nspin0, ir, jpol
|
||||
|
|
|
@ -55,11 +55,11 @@ SUBROUTINE h_psi( lda, n, m, psi, hpsi )
|
|||
! ... Here we apply the kinetic energy (k+G)^2 psi
|
||||
!
|
||||
DO ibnd = 1, m
|
||||
hpsi (1:n, ibnd) = g2kin (1:n) * psi (1:n, ibnd)
|
||||
hpsi (n+1:lda,ibnd) = (0.0_dp, 0.0_dp)
|
||||
IF ( noncolin ) THEN
|
||||
hpsi (1:n, ibnd) = g2kin (1:n) * psi (1:n, ibnd)
|
||||
hpsi (lda+1:lda+n, ibnd) = g2kin (1:n) * psi (lda+1:lda+n, ibnd)
|
||||
ELSE
|
||||
hpsi(1:n,ibnd) = g2kin(1:n) * psi(1:n,ibnd)
|
||||
hpsi (lda+n+1:lda*npol, ibnd) = (0.0_dp, 0.0_dp)
|
||||
END IF
|
||||
END DO
|
||||
!
|
||||
|
|
|
@ -56,8 +56,6 @@ SUBROUTINE rotate_wfc_k( npwx, npw, nstart, nbnd, npol, psi, overlap, evc, e )
|
|||
ALLOCATE( sc( nstart, nstart) )
|
||||
ALLOCATE( vc( nstart, nstart) )
|
||||
ALLOCATE( en( nstart ) )
|
||||
|
||||
aux=(0.0_DP,0.0_DP)
|
||||
!
|
||||
! ... Set up the Hamiltonian and Overlap matrix on the subspace :
|
||||
!
|
||||
|
|
|
@ -191,8 +191,6 @@ SUBROUTINE init_wfc ( ik )
|
|||
!
|
||||
ALLOCATE( wfcatom( npwx, npol, n_starting_wfc ) )
|
||||
!
|
||||
wfcatom (:,:,:) = (0.d0, 0.d0)
|
||||
!
|
||||
IF ( starting_wfc(1:6) == 'atomic' ) THEN
|
||||
!
|
||||
CALL atomic_wfc( ik, wfcatom )
|
||||
|
|
Loading…
Reference in New Issue