From 78860ea5de8da244c7ecb9363f82fcab27b2043e Mon Sep 17 00:00:00 2001
From: ferretti <ferretti@c92efa57-630b-4861-b058-cf58834340f0>
Date: Thu, 25 May 2017 09:13:02 +0000
Subject: [PATCH] bug fixed: variable U_projection_type was muted by a non-init
 use of npw. Removed, interface of ortho_swfc modified

git-svn-id: svn+ssh://qeforge.qe-forge.org/svnroot/q-e/trunk/espresso@13529 c92efa57-630b-4861-b058-cf58834340f0
---
 PW/src/orthoatwfc.f90          | 12 ++++++------
 XSpectra/src/orthoUatwfc_k.f90 |  2 +-
 2 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/PW/src/orthoatwfc.f90 b/PW/src/orthoatwfc.f90
index e495f13..41c3665 100644
--- a/PW/src/orthoatwfc.f90
+++ b/PW/src/orthoatwfc.f90
@@ -92,7 +92,7 @@ SUBROUTINE orthoUwfc
      CALL s_psi (npwx, npw, natomwfc, wfcatom, swfcatom)
 
      IF (orthogonalize_wfc) &
-        CALL ortho_swfc ( normalize_only, natomwfc, wfcatom, swfcatom )
+        CALL ortho_swfc ( npw, normalize_only, natomwfc, wfcatom, swfcatom )
      !
      ! copy atomic wavefunctions with Hubbard U term only in wfcU
      ! save to unit iunhub
@@ -162,7 +162,7 @@ SUBROUTINE orthoatwfc (orthogonalize_wfc)
      CALL s_psi (npwx, npw, natomwfc, wfcatom, swfcatom)
 
      IF (orthogonalize_wfc) &
-        CALL ortho_swfc ( normalize_only, natomwfc, wfcatom, swfcatom )
+        CALL ortho_swfc ( npw, normalize_only, natomwfc, wfcatom, swfcatom )
      !
      ! write S * atomic wfc to unit iunsat
      !
@@ -177,7 +177,7 @@ SUBROUTINE orthoatwfc (orthogonalize_wfc)
 END SUBROUTINE orthoatwfc
 !
 !-----------------------------------------------------------------------
-SUBROUTINE ortho_swfc ( normalize_only, m, wfc, swfc )
+SUBROUTINE ortho_swfc ( npw, normalize_only, m, wfc, swfc )
   !-----------------------------------------------------------------------
   !
   ! On input : wfc (npwx*npol,m) =  \psi = a set of "m" (atomic) wavefcts
@@ -188,13 +188,13 @@ SUBROUTINE ortho_swfc ( normalize_only, m, wfc, swfc )
   !             wfc = currently unchanged
   !
   USE kinds,      ONLY : DP
-  USE wvfct,      ONLY : npwx, npw
+  USE wvfct,      ONLY : npwx
   USE mp_bands,   ONLY : intra_bgrp_comm
   USE mp,         ONLY : mp_sum
   USE noncollin_module, ONLY : noncolin, npol
   IMPLICIT NONE
   !
-  INTEGER, INTENT(in) :: m
+  INTEGER, INTENT(in) :: m, npw
   LOGICAL, INTENT(in) :: normalize_only
   COMPLEX(dp), INTENT(IN   ) :: wfc (npwx*npol,m)
   COMPLEX(dp), INTENT(INOUT) :: swfc(npwx*npol,m)
@@ -267,7 +267,7 @@ SUBROUTINE ortho_swfc ( normalize_only, m, wfc, swfc )
         CALL zcopy (m, work, 1, swfc (i, 1), npwx)
      END IF
   ENDDO
-  
+
   DEALLOCATE (overlap)
   DEALLOCATE (work)
   DEALLOCATE (e)
diff --git a/XSpectra/src/orthoUatwfc_k.f90 b/XSpectra/src/orthoUatwfc_k.f90
index 3cbc59e..ebbdebe 100644
--- a/XSpectra/src/orthoUatwfc_k.f90
+++ b/XSpectra/src/orthoUatwfc_k.f90
@@ -89,7 +89,7 @@ SUBROUTINE orthoUwfc_k(ik)
   CALL s_psi (npwx, npw, natomwfc, wfcatom, swfcatom)
 
   IF (orthogonalize_wfc) &
-     CALL ortho_swfc ( normalize_only, natomwfc, wfcatom, swfcatom )
+     CALL ortho_swfc ( npw, normalize_only, natomwfc, wfcatom, swfcatom )
   !
   CALL copy_U_wfc (swfcatom)
   !
-- 
2.10.1

